diff options
author | wolfgang <unknown> | 2005-01-23 18:18:05 +0000 |
---|---|---|
committer | wolfgang <unknown> | 2005-01-23 18:18:05 +0000 |
commit | 3463d1d3725bd4ec70acb2656ff20571b9b59294 (patch) | |
tree | c28c5dd99915d0aa9bae7f9050509d3356a51613 /mk/fix_install_names.sh | |
parent | fa8246c79fa10ff6785888b95acdf1b3cfb59d9b (diff) | |
download | haskell-3463d1d3725bd4ec70acb2656ff20571b9b59294.tar.gz |
[project @ 2005-01-23 18:18:05 by wolfgang]
Darwin / Mac OS X:
For builds with dynamic libraries, fix up dynamic library paths
("install names") for binaries. Otherwise, a dynamically-linked stage2 ghc
would contain the path names of the build directories.
Diffstat (limited to 'mk/fix_install_names.sh')
-rw-r--r-- | mk/fix_install_names.sh | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/mk/fix_install_names.sh b/mk/fix_install_names.sh new file mode 100644 index 0000000000..7e51f23390 --- /dev/null +++ b/mk/fix_install_names.sh @@ -0,0 +1,21 @@ +# Darwin / Mac OS X only +# sh fix_install_names.sh directory binary +# +# Changes 'binary' to assume that all libHS*_dyn.dylib libraries +# are to be found in 'directory'. + +prefix=$1 +file=$2 + +if `test x${prefix%/} != x"" ` +then + prefix=${prefix%/}/ +fi + +for i in `otool -L $file \ + | grep 'libHS.*_dyn.dylib' \ + | sed 's/.\(.*libHS.*_dyn.dylib\).*/\1/'` +do + install_name_tool -change $i $prefix`basename $i` $file +done + |