@@ -1058,6 +1058,12 @@ impl Step for OmpOffload {
10581058 . define ( "OFFLOAD_INCLUDE_TESTS" , "OFF" )
10591059 . define ( "LLVM_ROOT" , builder. llvm_out ( target) . join ( "build" ) )
10601060 . define ( "LLVM_DIR" , llvm_cmake_dir. clone ( ) )
1061+ // Verify whether per-target-runtime-dir is needed
1062+ . define ( "LLVM_ENABLE_PER_TARGET_RUNTIME_DIR" , "ON" )
1063+ // Verify whether this one is needed.
1064+ . define ( "OPENMP_STANDALONE_BUILD" , "ON" )
1065+ . define ( "CMAKE_CXX_COMPILER_WORKS" , "TRUE" )
1066+ . define ( "CMAKE_C_COMPILER_WORKS" , "TRUE" )
10611067 . define ( "LLVM_DEFAULT_TARGET_TRIPLE" , omp_target) ;
10621068 if let Some ( p) = clang_dir. clone ( ) {
10631069 cfg. define ( "Clang_DIR" , p) ;
@@ -1067,11 +1073,14 @@ impl Step for OmpOffload {
10671073 // will still be a CPU target.
10681074 if * omp_target == * target. triple {
10691075 // The offload library provides functionality which only makes sense on the host.
1070- cfg. define ( "LLVM_ENABLE_RUNTIMES" , "openmp;offload" ) ;
1076+ // Verify whether libc is needed on the host
1077+ cfg. define ( "LLVM_ENABLE_RUNTIMES" , "openmp;offload;libc" ) ;
10711078 } else {
10721079 // OpenMP provides some device libraries, so we also compile it for all gpu targets.
1080+ cfg. define ( "LIBC_TARGET_TRIPLE" , omp_target) ;
10731081 cfg. define ( "LLVM_USE_LINKER" , "lld" ) ;
1074- cfg. define ( "LLVM_ENABLE_RUNTIMES" , "openmp" ) ;
1082+ cfg. define ( "LLVM_LIBC_FULL_BUILD" , "ON" ) ;
1083+ cfg. define ( "LLVM_ENABLE_RUNTIMES" , "openmp;libc" ) ;
10751084 cfg. define ( "CMAKE_C_COMPILER_TARGET" , omp_target) ;
10761085 cfg. define ( "CMAKE_CXX_COMPILER_TARGET" , omp_target) ;
10771086 }
0 commit comments