Make libgcc_s relocatable on Macos by adding @rpath to installname (#1671)

* Make libgcc_s relocatable

* spack specifies full path to lib64

* don't need trailing /

* setting rpath is different on macos

* add -headerpad_max_install_names linker options

* formatting fixes

* Add Adam's recommendation
This commit is contained in:
Patrick Gartung 2017-03-02 16:39:05 -06:00 committed by Adam J. Stewart
parent 7baefa83b9
commit 4afb7a729c

View File

@ -92,6 +92,10 @@ def configure_args(self):
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 @@ def write_rpath_specs(self):
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)