diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py index 3d4bfe8d53e..9e6bc0e2a66 100644 --- a/var/spack/repos/builtin/packages/llvm/package.py +++ b/var/spack/repos/builtin/packages/llvm/package.py @@ -107,6 +107,12 @@ class Llvm(CMakePackage, CudaPackage): description="Build all components as shared libraries, faster, " "less memory to build, less stable", ) + variant( + "llvm_dylib", + default=False, + description="Build LLVM shared library, containing all " + "components in a single shared library", + ) variant( "all_targets", default=False, @@ -161,6 +167,7 @@ class Llvm(CMakePackage, CudaPackage): depends_on("gmp", when="@:3.6.999 +polly") depends_on("isl", when="@:3.6.999 +polly") + conflicts("+llvm_dylib", when="+shared_libs") conflicts("+lldb", when="~clang") conflicts("+libcxx", when="~clang") conflicts("+internal_unwind", when="~clang") @@ -430,6 +437,8 @@ def cmake_args(self): if "+shared_libs" in spec: cmake_args.append("-DBUILD_SHARED_LIBS:Bool=ON") + if "+llvm_dylib" in spec: + cmake_args.append("-DLLVM_BUILD_LLVM_DYLIB:Bool=ON") if "+omp_debug" in spec: cmake_args.append("-DLIBOMPTARGET_ENABLE_DEBUG:Bool=ON")