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:
87
distrib/mac/shared-ld-sh
Executable file
87
distrib/mac/shared-ld-sh
Executable 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
|
Reference in New Issue
Block a user