diff --git a/.github/workflows/main-stock-ubuntu.yml b/.github/workflows/main-stock-ubuntu.yml index c5f2665e..f3e74b5f 100644 --- a/.github/workflows/main-stock-ubuntu.yml +++ b/.github/workflows/main-stock-ubuntu.yml @@ -116,6 +116,9 @@ jobs: echo "::group::xo-reader build" cmake --build .build -- xo-reader + echo "::group::xo-jit build" + cmake --build .build -- xo-jit + ############## echo "::group::xo build (catch all)" diff --git a/CMakeLists.txt b/CMakeLists.txt index 7bc8c91d..e9a849a6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -83,7 +83,7 @@ add_subdirectory(xo-expression) add_subdirectory(xo-pyexpression) add_subdirectory(xo-tokenizer) add_subdirectory(xo-reader) -#add_subdirectory(xo-jit) +add_subdirectory(xo-jit) #add_subdirectory(xo-pyjit) #add_subdirectory(xo-callback) #add_subdirectory(xo-webutil) diff --git a/default.nix b/default.nix index 3e2ee09a..938e2d4a 100644 --- a/default.nix +++ b/default.nix @@ -57,9 +57,9 @@ let xo-tokenizer = self.callPackage pkgs/xo-tokenizer.nix {}; xo-reader = self.callPackage pkgs/xo-reader.nix {}; -# xo-jit = self.callPackage pkgs/xo-jit.nix { stdenv = customStdenv; -# clang = llvmPackages.clang; -# llvm = llvmPackages.llvm; }; + xo-jit = self.callPackage pkgs/xo-jit.nix { stdenv = customStdenv; + clang = llvmPackages.clang; + llvm = llvmPackages.llvm; }; # xo-pyjit = self.callPackage pkgs/xo-pyjit.nix {}; # xo-callback = self.callPackage pkgs/xo-callback.nix {}; # xo-webutil = self.callPackage pkgs/xo-webutil.nix {}; diff --git a/pkgs/xo-jit.nix b/pkgs/xo-jit.nix new file mode 100644 index 00000000..0c08bc41 --- /dev/null +++ b/pkgs/xo-jit.nix @@ -0,0 +1,37 @@ +{ + # dependencies + stdenv, cmake, catch2, + clang, llvm, + doxygen, + + python3Packages, + sphinx, + + xo-cmake, xo-tokenizer, xo-expression, +} : + +stdenv.mkDerivation (finalattrs: + { + name = "xo-jit"; + version = "1.0"; + + stdenv = stdenv; + + src = ../xo-jit; + + cmakeFlags = ["-DCMAKE_MODULE_PATH=${xo-cmake}/share/cmake"]; + doCheck = true; + nativeBuildInputs = [ + cmake + catch2 + clang + llvm.dev + doxygen + sphinx + xo-cmake + xo-tokenizer + ]; + propagatedBuildInputs = [ + xo-expression + ]; + }) diff --git a/pkgs/xo-userenv.nix b/pkgs/xo-userenv.nix index 7ecb7a90..bc3fb0fc 100644 --- a/pkgs/xo-userenv.nix +++ b/pkgs/xo-userenv.nix @@ -52,7 +52,7 @@ xo-pyexpression, xo-tokenizer, xo-reader, -# xo-jit, + xo-jit, # xo-pyjit # other args @@ -81,8 +81,8 @@ buildEnv { xo-pyexpression xo-tokenizer xo-reader + xo-jit -# xo-jit # xo-pyjit # xo-callback # xo-webutil