script to link a mach-o dynamic shared library for Darwin / Mac OS X

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Gilles Depeyrot
2002-05-05 19:56:15 +00:00
parent 741ed1143d
commit d5b7a47296

87
distrib/mac/shared-ld-sh Executable file
View File

@@ -0,0 +1,87 @@
#!/bin/sh
#-----------------------------------------------------------------------------
#-- Name: distrib/mac/shared-ld-sh
#-- Purpose: Link a mach-o dynamic shared library for Darwin / Mac OS X
#-- Author: Gilles Depeyrot
#-- Modified by:
#-- Created: 05.05.2002
#-- RCS-ID: $Id$
#-- Copyright: (c) 2002 Gilles Depeyrot
#-- Licence: wxWindows licence
#-----------------------------------------------------------------------------
verbose=0
args=""
objects=""
while test $# -gt 0; do
case $1 in
-v)
verbose=1
;;
-o|-compatibility_version|-current_version|-framework)
# collect these options and values
args="$args $1 $2"
shift
;;
-l*|-L*)
# collect these options
args="$args $1"
;;
-dynamiclib)
# skip these options
;;
-*)
echo "shared-ld: unhandled option '$1'"
exit 1
;;
*.o)
# collect object files
objects="$objects $1"
;;
*)
echo "shared-ld: unhandled argument '$1'"
exit 1
;;
esac
shift
done
#
# Link one module containing all the others
#
if test $verbose = 1; then
echo "c++ -r -keep_private_externs -nostdlib $objects -o master.$$.o"
fi
c++ -r -keep_private_externs -nostdlib $objects -o master.$$.o
status=$?
if test $status != 0; then
exit $status
fi
#
# Link the shared library from the single module created
#
if test $verbose = 1; then
echo "cc -dynamiclib master.$$.o $args"
fi
c++ -dynamiclib master.$$.o $args
status=$?
if test $status != 0; then
exit $status
fi
#
# Remove intermediate module
#
rm -f master.$$.o
exit 0