summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/llvm/libomp-libflags-as-list.patch14
-rw-r--r--var/spack/repos/builtin/packages/llvm/package.py3
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:
#