diff options
-rw-r--r-- | var/spack/repos/builtin/packages/llvm/libomp-libflags-as-list.patch | 14 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/llvm/package.py | 3 |
2 files changed, 17 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/llvm/libomp-libflags-as-list.patch b/var/spack/repos/builtin/packages/llvm/libomp-libflags-as-list.patch new file mode 100644 index 0000000000..995f55a438 --- /dev/null +++ b/var/spack/repos/builtin/packages/llvm/libomp-libflags-as-list.patch @@ -0,0 +1,14 @@ +diff --git a/openmp/runtime/cmake/LibompHandleFlags.cmake b/openmp/runtime/cmake/LibompHandleFlags.cmake +index 9e19e59ba17d..f92fa12d851a 100644 +--- a/openmp/runtime/cmake/LibompHandleFlags.cmake ++++ b/openmp/runtime/cmake/LibompHandleFlags.cmake +@@ -144,7 +144,8 @@ function(libomp_get_libflags libflags) + endif() + set(libflags_local ${libflags_local} ${LIBOMP_LIBFLAGS}) + libomp_setup_flags(libflags_local) +- set(${libflags} ${libflags_local} PARENT_SCOPE) ++ libomp_string_to_list("${libflags_local}" libflags_local_list) ++ set(${libflags} ${libflags_local_list} PARENT_SCOPE) + endfunction() + + # Fortran flags diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py index d8e5d74a53..690987b61b 100644 --- a/var/spack/repos/builtin/packages/llvm/package.py +++ b/var/spack/repos/builtin/packages/llvm/package.py @@ -363,6 +363,9 @@ class Llvm(CMakePackage, CudaPackage): # patch for missing hwloc.h include for libompd patch('llvm14-hwloc-ompd.patch', when='@14') + # make libflags a list in openmp subproject when ~omp_as_runtime + patch('libomp-libflags-as-list.patch', when='@3.7:') + # The functions and attributes below implement external package # detection for LLVM. See: # |