@@ -532,41 +532,32 @@ if(build_runtimes)
532
532
-DIMAGE_SUPPORT=OFF
533
533
-DLLVM_RUNTIME_OPENMP=ON )
534
534
set (HSA_DEP rocr-runtime )
535
+ endif ()
535
536
536
- # omptarget device RTL depends on device libs, leading to circular dependency in build scripts.
537
- # Providing path to the sources enables to build them as part of compiler build, which
538
- # removes the ciruclar dependency on the script-side.
539
- if (DEFINED LIBOMPTARGET_EXTERNAL_PROJECT_ROCM_DEVICE_LIBS_PATH )
540
- message (STATUS "Add external AMD device-libs: ${LIBOMPTARGET_EXTERNAL_PROJECT_ROCM_DEVICE_LIBS_PATH} " )
537
+ # omptarget device RTL depends on device libs, leading to circular dependency in build scripts.
538
+ # Providing path to the sources enables to build them as part of compiler build, which
539
+ # removes the ciruclar dependency on the script-side.
540
+ if (DEFINED LIBOMPTARGET_EXTERNAL_PROJECT_ROCM_DEVICE_LIBS_PATH )
541
+ message (STATUS "Add external AMD device-libs: ${LIBOMPTARGET_EXTERNAL_PROJECT_ROCM_DEVICE_LIBS_PATH} " )
542
+ if (NOT ${ROCM_DEVICE_LIBS_INSTALL_PREFIX_PATH} STREQUAL "" )
541
543
ExternalProject_Add (rocm-device-libs
542
544
SOURCE_DIR ${LIBOMPTARGET_EXTERNAL_PROJECT_ROCM_DEVICE_LIBS_PATH}
543
545
DEPENDS clang llvm-link lld opt llvm-objcopy
544
546
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${ROCM_DEVICE_LIBS_INSTALL_PREFIX_PATH}
545
547
-DCMAKE_PREFIX_PATH=${CMAKE_BINARY_DIR}/lib/cmake
546
548
-DROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC_NEW=${ROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC}
547
549
-DROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC_OLD=amdgcn )
550
+ else ()
551
+ ExternalProject_Add (rocm-device-libs
552
+ SOURCE_DIR ${LIBOMPTARGET_EXTERNAL_PROJECT_ROCM_DEVICE_LIBS_PATH}
553
+ DEPENDS clang llvm-link lld opt llvm-objcopy
554
+ INSTALL_COMMAND ""
555
+ CMAKE_ARGS -DCMAKE_PREFIX_PATH=${CMAKE_BINARY_DIR}/lib/cmake
556
+ -DROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC_NEW=${ROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC}
557
+ -DROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC_OLD=amdgcn )
548
558
endif ()
549
559
endif ()
550
560
551
- if (DEFINED LIBOMPTARGET_EXTERNAL_PROJECT_HSA_PATH AND
552
- DEFINED LIBOMPTARGET_EXTERNAL_PROJECT_THUNK_PATH AND
553
- DEFINED LIBOMPTARGET_EXTERNAL_PROJECT_ROCM_DEVICE_LIBS_PATH )
554
- ExternalProject_Add (roct
555
- SOURCE_DIR ${LIBOMPTARGET_EXTERNAL_PROJECT_THUNK_PATH}
556
- DEPENDS clang llvm-link lld opt llvm-objcopy
557
- INSTALL_COMMAND ""
558
- CMAKE_ARGS -DCMAKE_PREFIX_PATH=${CMAKE_BINARY_DIR}/lib/cmake )
559
- ExternalProject_Add (rocr-runtime
560
- SOURCE_DIR ${LIBOMPTARGET_EXTERNAL_PROJECT_HSA_PATH}
561
- DEPENDS clang llvm-link lld opt llvm-objcopy roct
562
- INSTALL_COMMAND ""
563
- CMAKE_ARGS -DBUILD_SHARED_LIBS=ON -DCMAKE_PREFIX_PATH=${CMAKE_BINARY_DIR}/lib/cmake -DIMAGE_SUPPORT=OFF -DLLVM_RUNTIME_OPENMP=ON -DHSAKMT_SRC_PATH=${LIBOMPTARGET_EXTERNAL_PROJECT_THUNK_PATH} )
564
- set (HSA_DEP rocr-runtime )
565
- ExternalProject_Add (rocm-device-libs
566
- SOURCE_DIR ${LIBOMPTARGET_EXTERNAL_PROJECT_ROCM_DEVICE_LIBS_PATH}
567
- DEPENDS clang llvm-link lld opt llvm-objcopy
568
- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${ROCM_DEVICE_LIBS_INSTALL_PREFIX_PATH} -DCMAKE_PREFIX_PATH=${CMAKE_BINARY_DIR}/lib/cmake -DROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC_NEW=${ROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC} -DROCM_DEVICE_LIBS_BITCODE_INSTALL_LOC_OLD=amdgcn )
569
- endif ()
570
561
if ("AMDGPU" IN_LIST LLVM_TARGETS_TO_BUILD )
571
562
set (AMDGPU_ARCH_DEP amdgpu-arch )
572
563
endif ()
0 commit comments