Mac OS X: Make bindist work with dynamic libraries
MERGE TO STABLE
+ifeq "$(darwin_TARGET_OS)" "1"
+BIN_DIST_TOP+=mk/fix_install_names.sh
+endif
+
#
# binary-dist creates a binary bundle, set BIN_DIST_NAME
# to package name and do `make binary-dist Project=<project-name>'
#
# binary-dist creates a binary bundle, set BIN_DIST_NAME
# to package name and do `make binary-dist Project=<project-name>'
$(SED) -e "s|\$$libdir|$(libdir)|g;s|\$$datadir|$(datadir)|g" <lib/$(platform)/$$i.bak >lib/$(platform)/$$i; \
fi; \
done
$(SED) -e "s|\$$libdir|$(libdir)|g;s|\$$datadir|$(datadir)|g" <lib/$(platform)/$$i.bak >lib/$(platform)/$$i; \
fi; \
done
+ @if test "$(platform)" == "powerpc-apple-darwin"; then \
+ echo "Configuring install names..."; \
+ for i in lib/$(platform)/*; do \
+ sh fix_install_names.sh "$(libdir)" "$$i"; \
+ done; \
+ echo "Done."; \
+ fi
in-place ::
$(MAKE) $(MFLAGS) config-pkgs bindir=`pwd`/bin/$(platform) libdir=`pwd`/lib/$(platform) datadir=`pwd`/share
in-place ::
$(MAKE) $(MFLAGS) config-pkgs bindir=`pwd`/bin/$(platform) libdir=`pwd`/lib/$(platform) datadir=`pwd`/share
+type=`file "$file"`
+
+if `test "${type/Mach-O}" == "$type"`
+then
+ exit
+fi
+
if `test x${prefix%/} != x"" `
then
prefix=${prefix%/}/
if `test x${prefix%/} != x"" `
then
prefix=${prefix%/}/
| grep 'libHS.*_dyn.dylib' \
| sed 's/.\(.*libHS.*_dyn.dylib\).*/\1/'`
do
| grep 'libHS.*_dyn.dylib' \
| sed 's/.\(.*libHS.*_dyn.dylib\).*/\1/'`
do
- install_name_tool -change $i $prefix`basename $i` $file
+ install_name_tool -change $i "$prefix`basename $i`" $file
+if `test "${file%.dylib}" != "${file}"`
+then
+ install_name_tool -id "$prefix`basename $file`" $file
+fi