diff options
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/gcc/package.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/gcc/package.py b/var/spack/repos/builtin/packages/gcc/package.py index a9fed4d8dd..c005cd581a 100644 --- a/var/spack/repos/builtin/packages/gcc/package.py +++ b/var/spack/repos/builtin/packages/gcc/package.py @@ -92,6 +92,10 @@ class Gcc(AutotoolsPackage): filter_file(r"'@.*@'", "'@[[:alnum:]]*@'", 'libjava/configure', string=True) + # Make libgcc_s relocatable + filter_file(r"@shlib_slibdir@", "@rpath", + 'libgcc/config/t-slibgcc-darwin', string=True) + enabled_languages = set(('c', 'c++', 'fortran', 'java', 'objc')) if spec.satisfies("@4.7.1:") and sys.platform != 'darwin' and \ @@ -172,6 +176,11 @@ class Gcc(AutotoolsPackage): for line in lines: out.write(line + "\n") if line.startswith("*link:"): - out.write("-rpath %s/lib:%s/lib64 \\\n" % - (self.prefix, self.prefix)) + if sys.platform == 'darwin': + out.write("-rpath %s/lib -rpath %s/lib64 " + r"-headerpad_max_install_names \n" % + (self.prefix, self.prefix)) + else: + out.write(r"-rpath %s/lib:%s/lib64 \n" % + (self.prefix, self.prefix)) set_install_permissions(specs_file) |