summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2025-10-30 09:46:54 +0100
committerClaudius "keldu" Holeksa <mail@keldu.de>2025-10-30 09:46:54 +0100
commit733e2485878e22a5b585d41358e5ea680f3f7246 (patch)
tree4d0e68ea2fd8989e4e9c594d065df414f3954958
parent53b1bc01474a0612e8039485cd4e33fc441f673a (diff)
downloadforstio-forstio-733e2485878e22a5b585d41358e5ea680f3f7246.tar.gz
Added adaptive-cpp passthrough
-rw-r--r--.nix/adaptive-cpp.nix60
-rw-r--r--default.nix4
2 files changed, 64 insertions, 0 deletions
diff --git a/.nix/adaptive-cpp.nix b/.nix/adaptive-cpp.nix
new file mode 100644
index 0000000..a39d9b7
--- /dev/null
+++ b/.nix/adaptive-cpp.nix
@@ -0,0 +1,60 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, makeWrapper
+, boost
+, llvmPackages
+, lld
+, python3
+}:
+
+let
+ version = "25.02.0";
+in stdenv.mkDerivation {
+ pname = "adaptive-cpp-kel-custom";
+ inherit version;
+
+ src = fetchFromGitHub {
+ owner = "AdaptiveCpp";
+ repo = "AdaptiveCpp";
+ tag = "v${version}";
+ sha256 = "sha256-vXfw8+xn3/DYxUKp3QGdQ8sEbDwyk+8jDCyuvQOXigc=";
+ };
+
+ nativeBuildInputs = [
+ cmake
+ makeWrapper
+ ];
+
+ buildInputs = [
+ boost
+ llvmPackages.openmp
+ llvmPackages.libclang
+ llvmPackages.llvm
+ python3
+ ];
+
+ cmakeFlags = [
+ "-DCLANG_INCLUDE_PATH=${llvmPackages.libclang.dev}/include"
+ ];
+
+ postInstall = ''
+ if [ -d "$out/include/AdaptiveCpp" ]; then
+ mv $out/include/AdaptiveCpp .hidden-fake
+ mv .hidden-fake/* $out/include/
+ rmdir .hidden-fake
+ fi
+ '';
+
+ postFixup = ''
+ wrapProgram $out/bin/syclcc-clang \
+ --prefix PATH : ${lib.makeBinPath [ lld python3 ]} \
+ --add-flags "-L${llvmPackages.openmp}/lib" \
+ --add-flags "-I${llvmPackages.openmp.dev}/include" \
+ '';
+
+ postPatch = ''
+ patchShebangs .
+ '';
+}
diff --git a/default.nix b/default.nix
index ee3c963..ef0bc3d 100644
--- a/default.nix
+++ b/default.nix
@@ -6,6 +6,9 @@
ref = "master";
}).outPath + "/default.nix"){
}).gasp
+, adaptive-cpp ? (pkgs.callPackage ./.nix/adaptivecpp.nix {
+ inherit stdenv;
+ })
}:
let
@@ -126,6 +129,7 @@ in rec {
inherit forstio;
inherit stdenv;
inherit clang-tools;
+ inherit adaptive-cpp;
openmp = pkgs.llvmPackages_17.openmp;
build_examples = "false";