diff --git a/pkgs/development/rocm-modules/clr/default.nix b/pkgs/development/rocm-modules/clr/default.nix index 297d4f66cea4..cdbfacb21ae3 100644 --- a/pkgs/development/rocm-modules/clr/default.nix +++ b/pkgs/development/rocm-modules/clr/default.nix @@ -129,22 +129,22 @@ stdenv.mkDerivation (finalAttrs: { separateDebugInfo = true; cmakeFlags = [ - "-DCMAKE_POLICY_DEFAULT_CMP0072=NEW" # Prefer newer OpenGL libraries - "-DCLR_BUILD_HIP=ON" - "-DCLR_BUILD_OCL=ON" - "-DHIP_COMMON_DIR=${hip-common}" - "-DHIPCC_BIN_DIR=${hipcc}/bin" - "-DHIP_PLATFORM=amd" - "-DPROF_API_HEADER_PATH=${roctracer.src}/inc/ext" - "-DROCM_PATH=${rocminfo}" - "-DBUILD_ICD=ON" - "-DAMD_ICD_LIBRARY_DIR=${khronos-ocl-icd-loader}" + (lib.cmakeFeature "CMAKE_POLICY_DEFAULT_CMP0072" "NEW") # Prefer newer OpenGL libraries + (lib.cmakeBool "CLR_BUILD_HIP" true) + (lib.cmakeBool "CLR_BUILD_OCL" true) + (lib.cmakeFeature "HIP_COMMON_DIR" hip-common.outPath) + (lib.cmakeFeature "HIPCC_BIN_DIR" "${hipcc}/bin") + (lib.cmakeFeature "HIP_PLATFORM" "amd") + (lib.cmakeFeature "PROF_API_HEADER_PATH" "${roctracer.src}/inc/ext") + (lib.cmakeFeature "ROCM_PATH" rocminfo.outPath) + (lib.cmakeBool "BUILD_ICD" true) + (lib.cmakeFeature "AMD_ICD_LIBRARY_DIR" khronos-ocl-icd-loader.outPath) # Temporarily set variables to work around upstream CMakeLists issue # Can be removed once https://github.com/ROCm/rocm-cmake/issues/121 is fixed - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_INCLUDEDIR=include" - "-DCMAKE_INSTALL_LIBDIR=lib" + (lib.cmakeFeature "CMAKE_INSTALL_BINDIR" "bin") + (lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "include") + (lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib") ]; env.LLVM_DIR = ""; @@ -162,16 +162,19 @@ stdenv.mkDerivation (finalAttrs: { postPatch = '' patchShebangs hipamd/*.sh patchShebangs hipamd/src - - # We're not on Windows so these are never installed to hipcc... + '' + # We're not on Windows so these are never installed to hipcc... + + '' substituteInPlace hipamd/CMakeLists.txt \ --replace-fail "install(PROGRAMS \''${HIPCC_BIN_DIR}/hipcc.bat DESTINATION bin)" "" \ --replace-fail "install(PROGRAMS \''${HIPCC_BIN_DIR}/hipconfig.bat DESTINATION bin)" "" - + '' + + '' substituteInPlace hipamd/src/hip_embed_pch.sh \ --replace-fail "\''$LLVM_DIR/bin/clang" "${hipClangPath}/clang" \ --replace-fail "\''$LLVM_DIR/bin/llvm-mc" "${lib.getExe' llvm.bintools.bintools "llvm-mc"}" - + '' + + '' substituteInPlace opencl/khronos/icd/loader/icd_platform.h \ --replace-fail '#define ICD_VENDOR_PATH "/etc/OpenCL/vendors/";' \ '#define ICD_VENDOR_PATH "/run/opengl-driver/etc/OpenCL/vendors/";'