]> git.saurik.com Git - wxWidgets.git/blobdiff - misc/scripts/set_install_name
work around MSVC warnings about using uninitialized variables in optimized build
[wxWidgets.git] / misc / scripts / set_install_name
index 80c2beed975ddc697bfd519380894844cc44f853..90be5f980bf6e8ed0d717f526a082f450b1a35f3 100755 (executable)
 quiet=0
 verbose=0
 libdir=
 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
@@ -65,7 +70,7 @@ GiveUsageErrorAndExit()
 ChangeInstallNames()
 {
     # only change the libs themselves, not symlinks to them
 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
     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`
 
     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 +116,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\"."
             ;;