From: Gilles Depeyrot Date: Sun, 5 May 2002 19:56:15 +0000 (+0000) Subject: script to link a mach-o dynamic shared library for Darwin / Mac OS X X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/d5b7a47296e5cf760e95820d23e188c04e62e96e 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 --- diff --git a/distrib/mac/shared-ld-sh b/distrib/mac/shared-ld-sh new file mode 100755 index 0000000000..caa2cd3f54 --- /dev/null +++ b/distrib/mac/shared-ld-sh @@ -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 \ No newline at end of file