Restructured option passing
parent
6b60e8fb25
commit
17006132fb
15
default.nix
15
default.nix
|
@ -1,16 +1,3 @@
|
|||
{ pkgs ? import <nixpkgs> {} }:
|
||||
|
||||
pkgs.callPackage ./derivation.nix {
|
||||
extraCmakeFlags = [
|
||||
"-DGINKGO_BUILD_SHARED_LIBS=OFF"
|
||||
"-DGINKGO_BUILD_TESTING=OFF"
|
||||
"-DGINKGO_BUILD_TESTS=OFF"
|
||||
"-DGINKGO_BUILD_MPI=OFF"
|
||||
"-DGINKGO_BUILD_REFERENCE=ON"
|
||||
"-DGINKGO_BUILD_CUDA=OFF"
|
||||
"-DGINKGO_BUILD_BENCHMARKS=OFF"
|
||||
"-DGINKGO_BUILD_EXAMPLES=OFF"
|
||||
"-DGINKGO_BUILD_HWLOC=OFF"
|
||||
"-DGINKGO_BUILD_DOC=OFF"
|
||||
];
|
||||
}
|
||||
pkgs.callPackage ./derivation.nix {}
|
||||
|
|
|
@ -5,13 +5,17 @@
|
|||
, ninja
|
||||
, gtest
|
||||
, mold
|
||||
, clang_14
|
||||
, cppCompiler ? clang_14
|
||||
, clang
|
||||
, cppCompiler ? clang
|
||||
, hwloc
|
||||
, gflags
|
||||
, rapidjson
|
||||
, extraBuildInputs ? []
|
||||
, extraCmakeFlags ? []
|
||||
|
||||
## optional backends
|
||||
, hipSupport ? false, hip, rocthrust
|
||||
, cudaSupport ? false, cudatoolkit
|
||||
, ompSupport ? false
|
||||
, mpiSupport ? false
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -24,10 +28,12 @@ let
|
|||
rev = "234594c92b58e2384dfb43c2d08e7f43e2b58e7a";
|
||||
sha256 = "eKQfuXnTMGgEzuksXzZE4QR5ILfVbw+dK9IsRdmalQc=";
|
||||
};
|
||||
extra_build_inputs = extraBuildInputs;
|
||||
base_cmake_flags = [
|
||||
"-DGINKGO_BUILD_TESTS=OFF"
|
||||
"-DGINKGO_BUILD_BENCHMARKS=OFF"
|
||||
"-DGINKGO_BUILD_EXAMPLES=OFF"
|
||||
"-DGINKGO_BUILD_HWLOC=OFF"
|
||||
];
|
||||
extra_cmake_flags = extraCmakeFlags;
|
||||
native_build_inputs = [
|
||||
cmake
|
||||
ninja
|
||||
|
@ -38,7 +44,9 @@ let
|
|||
build_inputs = [
|
||||
gflags
|
||||
rapidjson
|
||||
];
|
||||
]
|
||||
++ lib.optional cudaSupport cudatoolkit
|
||||
++ lib.optional hipSupport [ hip, rocthrust ];
|
||||
in stdenvNoCC.mkDerivation {
|
||||
pname = "${basename}";
|
||||
version = version;
|
||||
|
@ -47,12 +55,38 @@ in stdenvNoCC.mkDerivation {
|
|||
|
||||
nativeBuildInputs = native_build_inputs;
|
||||
|
||||
buildInputs = build_inputs ++ extra_build_inputs;
|
||||
buildInputs = build_inputs;
|
||||
|
||||
cmakeFlags = base_cmake_flags
|
||||
++ lib.optional cudaSupport [
|
||||
"-DGINKGO_BUILD_CUDA=ON"
|
||||
]
|
||||
++ lib.optional (!cudaSupport) [
|
||||
"-DGINKGO_BUILD_CUDA=OFF"
|
||||
]
|
||||
++ lib.optional hipSupport [
|
||||
"-DGINKGO_BUILD_HIP=ON"
|
||||
]
|
||||
++ lib.optional (!hipSupport) [
|
||||
"-DGINKGO_BUILD_HIP=OFF"
|
||||
]
|
||||
++ lib.optional ompSupport [
|
||||
"-DGINKGO_BUILD_OMP=ON"
|
||||
]
|
||||
++ lib.optional (!ompSupport) [
|
||||
"-DGINKGO_BUILD_OMP=OFF"
|
||||
]
|
||||
++ lib.optional mpiSupport [
|
||||
"-DGINKGO_BUILD_MPI=ON"
|
||||
]
|
||||
++ lib.optional (!mpiSupport) [
|
||||
"-DGINKGO_BUILD_MPI=OFF"
|
||||
];
|
||||
|
||||
cmakeFlags = base_cmake_flags ++ extra_cmake_flags;
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
patches = [
|
||||
./ver_1_5_cmake.patch
|
||||
];
|
||||
|
|
53
release.nix
53
release.nix
|
@ -10,62 +10,17 @@ in
|
|||
ginkgo-project = {
|
||||
ginkgo = {
|
||||
reference = pkgs.callPackage ./derivation.nix {
|
||||
extraCmakeFlags = [
|
||||
"-DGINKGO_BUILD_CUDA=OFF"
|
||||
"-DGINKGO_BUILD_BENCHMARKS=OFF"
|
||||
"-DGINKGO_BUILD_EXAMPLES=OFF"
|
||||
"-DGINKGO_BUILD_HWLOC=OFF"
|
||||
"-DGINKGO_BUILD_HIP=OFF"
|
||||
"-DGINKGO_BUILD_OMP=OFF"
|
||||
"-DGINKGO_BUILD_MPI=OFF"
|
||||
];
|
||||
};
|
||||
cuda = pkgs.callPackage ./derivation.nix {
|
||||
extraCmakeFlags = [
|
||||
"-DGINKGO_BUILD_CUDA=ON"
|
||||
"-DGINKGO_BUILD_BENCHMARKS=OFF"
|
||||
"-DGINKGO_BUILD_EXAMPLES=OFF"
|
||||
"-DGINKGO_BUILD_HWLOC=OFF"
|
||||
"-DGINKGO_BUILD_HIP=OFF"
|
||||
"-DGINKGO_BUILD_OMP=OFF"
|
||||
"-DGINKGO_BUILD_MPI=OFF"
|
||||
];
|
||||
extraBuildInputs = [
|
||||
pkgs.cudatoolkit
|
||||
];
|
||||
cudaSupport = true;
|
||||
};
|
||||
hip = pkgs.callPackage ./derivation.nix {
|
||||
cppCompiler = pkgs.clang;
|
||||
extraCmakeFlags = [
|
||||
"-DGINKGO_BUILD_CUDA=OFF"
|
||||
"-DGINKGO_BUILD_BENCHMARKS=OFF"
|
||||
"-DGINKGO_BUILD_EXAMPLES=OFF"
|
||||
"-DGINKGO_BUILD_HWLOC=OFF"
|
||||
"-DGINKGO_BUILD_HIP=ON"
|
||||
"-DGINKGO_BUILD_OMP=OFF"
|
||||
"-DGINKGO_BUILD_MPI=OFF"
|
||||
];
|
||||
extraBuildInputs = [
|
||||
pkgs.hip
|
||||
pkgs.rocthrust
|
||||
pkgs.hipblas
|
||||
pkgs.hipsparse
|
||||
pkgs.rocrand
|
||||
];
|
||||
cppCompiler = pkgs.llvmPackages_rocm.clang;
|
||||
hipSupport = true;
|
||||
};
|
||||
omp = pkgs.callPackage ./derivation.nix {
|
||||
cppCompiler = pkgs.gcc12;
|
||||
extraCmakeFlags = [
|
||||
"-DGINKGO_BUILD_CUDA=OFF"
|
||||
"-DGINKGO_BUILD_BENCHMARKS=OFF"
|
||||
"-DGINKGO_BUILD_EXAMPLES=OFF"
|
||||
"-DGINKGO_BUILD_HWLOC=OFF"
|
||||
"-DGINKGO_BUILD_OMP=ON"
|
||||
"-DGINKGO_BUILD_HIP=OFF"
|
||||
"-DGINKGO_BUILD_MPI=OFF"
|
||||
];
|
||||
extraBuildInputs = [
|
||||
];
|
||||
ompSupport = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue