diff --git a/pkgs/development/compilers/llvm/common/openmp/default.nix b/pkgs/development/compilers/llvm/common/openmp/default.nix index 68c50e06abd3..8b1218c1ba67 100644 --- a/pkgs/development/compilers/llvm/common/openmp/default.nix +++ b/pkgs/development/compilers/llvm/common/openmp/default.nix @@ -14,9 +14,15 @@ , clang-unwrapped , perl , pkg-config +, python3 , version , devExtraCmakeFlags ? [] +, ompdSupport ? true +, ompdGdbSupport ? ompdSupport }: + +assert lib.assertMsg (ompdGdbSupport -> ompdSupport) "OMPD GDB support requires OMPD support!"; + let pname = "openmp"; src' = @@ -53,9 +59,14 @@ stdenv.mkDerivation (rec { buildInputs = [ (if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm) + ] ++ lib.optionals (ompdSupport && ompdGdbSupport) [ + python3 ]; - cmakeFlags = lib.optionals (lib.versions.major release_version == "13") [ + cmakeFlags = [ + (lib.cmakeBool "LIBOMP_OMPD_SUPPORT" ompdSupport) + (lib.cmakeBool "LIBOMP_OMPD_GDB_SUPPORT" ompdGdbSupport) + ] ++ lib.optionals (lib.versions.major release_version == "13") [ "-DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF" # Building the AMDGCN device RTL fails ] ++ lib.optionals (lib.versionAtLeast release_version "14") [ "-DCLANG_TOOL=${clang-unwrapped}/bin/clang"