]> git.saurik.com Git - wxWidgets.git/blobdiff - misc/scripts/set_install_name
using #ifdef wxABORT_ON_CONFIG_ERROR not just #if as elsewhere
[wxWidgets.git] / misc / scripts / set_install_name
index 343a3252eccd96a1350522a5d4c84821047b4142..87b1aa13a0ef37bb53712ed55fdb2b22a21da8a2 100755 (executable)
@@ -4,34 +4,38 @@
 # Purpose:   set install_name for wx shared libraries under Mac OS X
 # Usage:     run with --help option to see the instructions
 # Copyright: (c) 2005 Vadim Zeitlin <vadim@wxwindows.org>
 # Purpose:   set install_name for wx shared libraries under Mac OS X
 # Usage:     run with --help option to see the instructions
 # Copyright: (c) 2005 Vadim Zeitlin <vadim@wxwindows.org>
-# Version:   $Id$
 # Licence:   wxWindows licence
 ################################################################################
 
 quiet=0
 verbose=0
 libdir=
 # Licence:   wxWindows licence
 ################################################################################
 
 quiet=0
 verbose=0
 libdir=
+tool_prefix=
 install_path=
 cmd=
 
 Usage()
 {
 install_path=
 cmd=
 
 Usage()
 {
+    name=`basename $0`
     cat 1>&2 <<EOF
     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).
 
 
 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:
     -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
    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
    to use them without installing
 EOF
     exit 2
@@ -75,14 +79,14 @@ ChangeInstallNames()
 
     for lib in $all_libs; do
         libname=`basename $lib`
 
     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"
         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"
         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
 }
 
     done
 }
 
@@ -111,6 +115,13 @@ while [ $# -ge 1 ]; do
             libdir=`echo $1 | cut -c10-`
             ;;
 
             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\"."
             ;;
         -*)
             GiveUsageErrorAndExit "Unknown option \"$1\"."
             ;;