summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/pixman/package.py19
-rw-r--r--var/spack/repos/builtin/packages/r/package.py2
2 files changed, 20 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/pixman/package.py b/var/spack/repos/builtin/packages/pixman/package.py
index 7107148688..7714120049 100644
--- a/var/spack/repos/builtin/packages/pixman/package.py
+++ b/var/spack/repos/builtin/packages/pixman/package.py
@@ -47,6 +47,25 @@ class Pixman(AutotoolsPackage):
# Patch is obtained from above link.
patch('clang.patch', when='%clang@9.1.0-apple:')
+ @run_before('build')
+ def patch_config_h_for_intel(self):
+ config_h = join_path(self.stage.source_path, 'config.h')
+
+ # Intel disguises itself as GNU, but doesn't implement
+ # the same builtin functions. This causes in this case
+ # a positive detection of GCC vector extensions, which
+ # is bound to fail at compile time because Intel has no
+ # __builtin_shuffle. See also:
+ #
+ # https://software.intel.com/en-us/forums/intel-c-compiler/topic/758013
+ #
+ if '%intel' in self.spec:
+ filter_file(
+ '#define HAVE_GCC_VECTOR_EXTENSIONS /\*\*/',
+ '/* #undef HAVE_GCC_VECTOR_EXTENSIONS */',
+ config_h
+ )
+
def configure_args(self):
args = [
'--enable-libpng',
diff --git a/var/spack/repos/builtin/packages/r/package.py b/var/spack/repos/builtin/packages/r/package.py
index 46c56787aa..b1c9f49eb8 100644
--- a/var/spack/repos/builtin/packages/r/package.py
+++ b/var/spack/repos/builtin/packages/r/package.py
@@ -119,7 +119,7 @@ class R(AutotoolsPackage):
if '+external-lapack' in spec:
config_args.extend([
- '--with-blas',
+ '--with-blas={0}'.format(spec['blas'].libs),
'--with-lapack'
])