initial commit
Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
149
libs/wxWidgets-3.3.1/misc/scripts/set_install_name
Executable file
149
libs/wxWidgets-3.3.1/misc/scripts/set_install_name
Executable file
@@ -0,0 +1,149 @@
|
||||
#!/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@wxwidgets.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
|
||||
Reference in New Issue
Block a user