From ecd9d98879729b38bc3c347b9f2d2708f7027f5b Mon Sep 17 00:00:00 2001 From: hacker1024 Date: Sat, 8 Feb 2025 21:25:15 +1100 Subject: [PATCH] llvmPackages.openmp: Make OMPD customisable, add missing Python dependency --- .../compilers/llvm/common/openmp/default.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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"