From a2ea30aceb6b09d48d4a0c76bbadaf9bff1a5437 Mon Sep 17 00:00:00 2001 From: Robert Cohn Date: Wed, 10 May 2023 06:25:00 -0400 Subject: Create include/lib in prefix for oneapi packages (#37552) --- var/spack/repos/builtin/packages/elk/package.py | 7 +++++-- var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py | 5 +++++ var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py | 7 +++++++ var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py | 5 +++++ 4 files changed, 22 insertions(+), 2 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/elk/package.py b/var/spack/repos/builtin/packages/elk/package.py index 81f163f6dd..920c821e67 100644 --- a/var/spack/repos/builtin/packages/elk/package.py +++ b/var/spack/repos/builtin/packages/elk/package.py @@ -170,9 +170,12 @@ class Elk(MakefilePackage): config["LIB_FFT"] = spec["mkl"].libs.ld_flags config["SRC_FFT"] = "mkl_dfti.f90 zfftifc_mkl.f90" cp = which("cp") + mkl_prefix = spec["mkl"].prefix + if spec.satisfies("^intel-mkl"): + mkl_prefix = mkl_prefix.mkl cp( - "{}/mkl/include/mkl_dfti.f90".format(spec["mkl"].prefix), - self.build_directory + "/src", + join_path(mkl_prefix.include, "mkl_dfti.f90"), + join_path(self.build_directory, "src"), ) # Define targets diff --git a/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py b/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py index b6cb3c085a..f01631d3c6 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py @@ -170,3 +170,8 @@ class IntelOneapiMkl(IntelOneApiLibraryPackage): def _xlp64_lib(self, lib): return lib + ("_ilp64" if "+ilp64" in self.spec else "_lp64") + + @run_after("install") + def fixup_prefix(self): + self.symlink_dir(self.component_prefix.include, self.prefix.include) + self.symlink_dir(self.component_prefix.lib, self.prefix.lib) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py b/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py index 9fdc31832f..41a95ac213 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py @@ -176,3 +176,10 @@ class IntelOneapiMpi(IntelOneApiLibraryPackage): self.component_prefix.bin.join(wrapper), backup=False, ) + + @run_after("install") + def fixup_prefix(self): + self.symlink_dir(self.component_prefix.include, self.prefix.include) + self.symlink_dir(self.component_prefix.lib, self.prefix.lib) + self.symlink_dir(self.component_prefix.lib.release, self.prefix.lib) + self.symlink_dir(self.component_prefix.bin, self.prefix.bin) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py b/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py index b903fc1092..4b08a1b989 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py @@ -94,3 +94,8 @@ class IntelOneapiTbb(IntelOneApiLibraryPackage): @property def component_dir(self): return "tbb" + + @run_after("install") + def fixup_prefix(self): + self.symlink_dir(self.component_prefix.include, self.prefix.include) + self.symlink_dir(self.component_prefix.lib, self.prefix.lib) -- cgit v1.2.3-70-g09d2