diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/pixman/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/pixman/package.py | 19 |
1 files changed, 19 insertions, 0 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', |