| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 | 
							- #!/bin/sh
 
- #
 
- # Name:      set_install_name
 
- # 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>
 
- # Licence:   wxWindows licence
 
- ################################################################################
 
- quiet=0
 
- verbose=0
 
- libdir=
 
- tool_prefix=
 
- install_path=
 
- cmd=
 
- Usage()
 
- {
 
-     name=`basename $0`
 
-     cat 1>&2 <<EOF
 
- 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 "$name --libdir=MyApp.app/Contents/Frameworks @executable_path/../Frameworks"
 
-    when distributing wxWidgets shared libraries with application MyApp
 
-  * run "$name" without parameters in the directory containing wxWidgets libraries
 
-    to use them without installing
 
- EOF
 
-     exit 2
 
- }
 
- Message()
 
- {
 
-     if [ $quiet != 1 ]; then
 
-         echo "$*"
 
-     fi
 
- }
 
- VerboseMessage()
 
- {
 
-     if [ $verbose = 1 ]; then
 
-         Message "$*"
 
-     fi
 
- }
 
- Error()
 
- {
 
-     echo "$*" 1>&2
 
- }
 
- GiveUsageErrorAndExit()
 
- {
 
-     Error "$@"
 
-     Usage
 
- }
 
- ChangeInstallNames()
 
- {
 
-     # only change the libs themselves, not symlinks to them
 
-     all_libs=`find "$libdir" -type f -name libwx_\*.dylib`
 
-     if [ -z "$all_libs" ]; then
 
-         Error "No wx libraries found in \"$libdir\"."
 
-         exit 1
 
-     fi
 
-     VerboseMessage "Processing $all_libs\n"
 
-     for lib in $all_libs; do
 
-         libname=`basename $lib`
 
-         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 ${tool_prefix}install_name_tool -change "$oldname" $install_path/$libname $lib2"
 
-         done
 
-         VerboseMessage "    updating $libname id"
 
-         eval "$cmd ${tool_prefix}install_name_tool -id $install_path/$libname $lib"
 
-     done
 
- }
 
- while [ $# -ge 1 ]; do
 
-     case "$1" in
 
-         --help|-h)
 
-             Usage
 
-             ;;
 
-         --dry-run|-n)
 
-             cmd="echo"
 
-             ;;
 
-         --quiet|-q)
 
-             quiet=1
 
-             ;;
 
-         --verbose|-v)
 
-             verbose=1
 
-             ;;
 
-         --libdir=*)
 
-             if [ -n "$libdir" ]; then
 
-                 GiveUsageErrorAndExit "Multiple --libdir options not allowed."
 
-             fi
 
-             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\"."
 
-             ;;
 
-         *)
 
-             if [ -n "$install_path" ]; then
 
-                 GiveUsageErrorAndExit "Too many parameters."
 
-             fi
 
-             install_path=$1
 
-     esac
 
-     shift
 
- done
 
- if [ -z $libdir ]; then
 
-     libdir=`pwd`
 
- fi
 
- if [ -z $install_path ]; then
 
-     install_path=$libdir
 
- fi
 
- ChangeInstallNames
 
- exit 0
 
 
  |