From c866a5044644e278393a65fd6808537bb14e86b6 Mon Sep 17 00:00:00 2001 From: Mikael Simberg Date: Thu, 12 May 2022 13:49:39 +0200 Subject: Add patch for compiling llvm ~omp_as_runtime (#30583) --- .../builtin/packages/llvm/libomp-libflags-as-list.patch | 14 ++++++++++++++ var/spack/repos/builtin/packages/llvm/package.py | 3 +++ 2 files changed, 17 insertions(+) create mode 100644 var/spack/repos/builtin/packages/llvm/libomp-libflags-as-list.patch (limited to 'var') 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: # -- cgit v1.2.3-60-g2f50