link relative to @rpath, instead of @rpath/lib.

This commit is contained in:
Alex Birch 2018-06-17 13:56:15 +01:00
parent dff4d13a1d
commit 113cf0f0bb
No known key found for this signature in database
GPG Key ID: 305EB1F98D44ACBA
13 changed files with 12 additions and 4 deletions

View File

@ -918,6 +918,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
LD_RUNPATH_SEARCH_PATHS = "@loader_path/../lib";
PRODUCT_NAME = juicysfplugin;
WARNING_CFLAGS = "-Wreorder";
ZERO_LINK = NO;
@ -1178,6 +1179,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
LD_RUNPATH_SEARCH_PATHS = "@loader_path/../lib";
ONLY_ACTIVE_ARCH = YES;
PRODUCT_NAME = juicysfplugin;
WARNING_CFLAGS = "-Wreorder";

Binary file not shown.

View File

@ -0,0 +1 @@
libfluidsynth.1.7.2.dylib

View File

@ -34,6 +34,7 @@ trap 'error ${LINENO}' ERR
####
FLUIDSYNTH="libfluidsynth.1.7.2.dylib"
FLUIDSYNTHNOVER="libfluidsynth.dylib"
GLIB="libglib-2.0.0.dylib"
GTHREAD="libgthread-2.0.0.dylib"
INTL="libintl.8.dylib"
@ -46,22 +47,27 @@ OGG="libogg.0.dylib"
VORBIS="libvorbis.0.dylib"
VORBISENC="libvorbisenc.2.dylib"
IDPREFIX="@rpath/lib"
IDPREFIX="@rpath"
FRAMEWORKLOAD="$IDPREFIX"
FRAMEWORKS="$MYDIR/lib_relinked"
cp "$MYDIR/lib"/*.dylib "$FRAMEWORKS/"
# we're gonna relink these frameworks also, so make them writeable
chmod +w "$FRAMEWORKS/"*
chmod +w "$FRAMEWORKS/"*.dylib
# changes to our libfluidsynth (depends on glib, gthread, intl):
# change our 1.7.2.dylib to identify itself as 1.dylib, to meet our targets' expectations
install_name_tool -id "$IDPREFIX/libfluidsynth.1.dylib" "$FRAMEWORKS/$FLUIDSYNTH"
# change our x.1.7.2.dylib to identify itself as x.dylib, to meet our targets' expectations
install_name_tool -id "$IDPREFIX/$FLUIDSYNTHNOVER" "$FRAMEWORKS/$FLUIDSYNTH"
install_name_tool -change /usr/local/opt/libsndfile/lib/libsndfile.1.dylib "$FRAMEWORKLOAD/$SNDFILE" "$FRAMEWORKS/$FLUIDSYNTH"
install_name_tool -change /usr/local/opt/glib/lib/libglib-2.0.0.dylib "$FRAMEWORKLOAD/$GLIB" "$FRAMEWORKS/$FLUIDSYNTH"
install_name_tool -change /usr/local/opt/glib/lib/libgthread-2.0.0.dylib "$FRAMEWORKLOAD/$GTHREAD" "$FRAMEWORKS/$FLUIDSYNTH"
install_name_tool -change /usr/local/opt/gettext/lib/libintl.8.dylib "$FRAMEWORKLOAD/$INTL" "$FRAMEWORKS/$FLUIDSYNTH"
# our linker option -lfluidsynth expects a dylib to exist with no version number in its filename
[ ! -L "$FRAMEWORKS/$FLUIDSYNTHNOVER" ] && ln -s "$FLUIDSYNTH" "$FRAMEWORKS/$FLUIDSYNTHNOVER"
# changes to our glib (depends on pcre, intl):
install_name_tool -id "$IDPREFIX/$GLIB" "$FRAMEWORKS/$GLIB"
install_name_tool -change /usr/local/opt/pcre/lib/libpcre.1.dylib "$FRAMEWORKLOAD/$PCRE" "$FRAMEWORKS/$GLIB"