summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorCyrus Harrison <cyrush@llnl.gov>2018-03-13 00:08:02 -0700
committerMassimiliano Culpo <massimiliano.culpo@gmail.com>2018-03-13 08:08:02 +0100
commitf8d3a0225f2c09494a778eedaf0bca3c3beb3af2 (patch)
tree0a19076ab41eefe3215735a457194c7b57e87e3e /var
parent1329f3bacafc2c6f1179566565d961fb97873fab (diff)
downloadspack-f8d3a0225f2c09494a778eedaf0bca3c3beb3af2.tar.gz
spack-f8d3a0225f2c09494a778eedaf0bca3c3beb3af2.tar.bz2
spack-f8d3a0225f2c09494a778eedaf0bca3c3beb3af2.tar.xz
spack-f8d3a0225f2c09494a778eedaf0bca3c3beb3af2.zip
add an option to build tbb statically (#7407)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/intel-tbb/package.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/intel-tbb/package.py b/var/spack/repos/builtin/packages/intel-tbb/package.py
index f4ed13f07f..053725fd22 100644
--- a/var/spack/repos/builtin/packages/intel-tbb/package.py
+++ b/var/spack/repos/builtin/packages/intel-tbb/package.py
@@ -56,6 +56,9 @@ class IntelTbb(Package):
provides('tbb')
+ variant('shared', default=True,
+ description='Builds a shared version of TBB libraries')
+
# include patch for gcc rtm options
patch("tbb_gcc_rtm_key.patch", level=0)
@@ -102,11 +105,20 @@ class IntelTbb(Package):
mkdirp(prefix)
mkdirp(prefix.lib)
+ make_opts = []
+
+ # Static builds of TBB are enabled by including 'big_iron.inc' file
+ # See caveats in 'big_iron.inc' for limits on using TBB statically
+ # Lore states this file must be handed to make before other options
+ if '+shared' not in self.spec:
+ make_opts.append("extra_inc=big_iron.inc")
+
#
# tbb does not have a configure script or make install target
# we simply call make, and try to put the pieces together
#
- make("compiler=%s" % (tbb_compiler))
+ make_opts.append("compiler={0}".format(tbb_compiler))
+ make(*make_opts)
# install headers to {prefix}/include
install_tree('include', prefix.include)