X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/233c6e7fb063aa09ae72a3aef1d00d678ea70cc8..d65e3272e267342a43cfc99ce0d811d637dd2f92:/misc/scripts/set_install_name diff --git a/misc/scripts/set_install_name b/misc/scripts/set_install_name index 80c2beed97..90be5f980b 100755 --- a/misc/scripts/set_install_name +++ b/misc/scripts/set_install_name @@ -11,27 +11,32 @@ quiet=0 verbose=0 libdir= +tool_prefix= install_path= cmd= Usage() { + name=`basename $0` cat 1>&2 <<EOF -Usage: $0 [OPTIONS] [--libdir=DIR] [install_path] +Usage: $name [OPTIONS] [--prefix=PFX] [--libdir=DIR] [install_path] Change the install name of all wxWidgets libraries in the directory DIR (or current directory if libdir option is not specified) to correspond to the given install_path (defaults to the libraries directory if not specified). +If prefix option is given, its value is prefixed to the tool names used. E.g. +to use this script when cross-building, use "--prefix=powerpc-apple-darwin8-". + -n, --dry-run Don't really do anything, just print the commands -q, --quiet Don't display any non error messages -v, --verbose Just show the commands being executed, don't run them -h, --help Show this help screen and exit Examples: - * do "$0 --libdir=MyApp.app/Contents/Frameworks @executable_path/../Frameworks" + * do "$name --libdir=MyApp.app/Contents/Frameworks @executable_path/../Frameworks" when distributing wxWidgets shared libraries with application MyApp - * run "$0" without parameters in the directory containing wxWidgets libraries + * run "$name" without parameters in the directory containing wxWidgets libraries to use them without installing EOF exit 2 @@ -65,7 +70,7 @@ GiveUsageErrorAndExit() ChangeInstallNames() { # only change the libs themselves, not symlinks to them - all_libs=`find $libdir -type f -name libwx_\*.dylib` + all_libs=`find "$libdir" -type f -name libwx_\*.dylib` if [ -z "$all_libs" ]; then Error "No wx libraries found in \"$libdir\"." exit 1 @@ -75,14 +80,14 @@ ChangeInstallNames() for lib in $all_libs; do libname=`basename $lib` - oldname=`otool -D $lib | tail -1` + oldname=`${tool_prefix}otool -D $lib | tail -1` Message "Updating install name of and references to $libname:" for lib2 in $all_libs; do VerboseMessage " updating $lib2" - eval "$cmd install_name_tool -change "$oldname" $install_path/$libname $lib2" + eval "$cmd ${tool_prefix}install_name_tool -change "$oldname" $install_path/$libname $lib2" done VerboseMessage " updating $libname id" - eval "$cmd install_name_tool -id $install_path/$libname $lib" + eval "$cmd ${tool_prefix}install_name_tool -id $install_path/$libname $lib" done } @@ -111,6 +116,13 @@ while [ $# -ge 1 ]; do libdir=`echo $1 | cut -c10-` ;; + --prefix=*) + if [ -n "$tool_prefix" ]; then + GiveUsageErrorAndExit "At most one --prefix option can be given." + fi + tool_prefix=`echo $1 | cut -c10-` + ;; + -*) GiveUsageErrorAndExit "Unknown option \"$1\"." ;;