]> git.saurik.com Git - wxWidgets.git/commitdiff
script to link a mach-o dynamic shared library for Darwin / Mac OS X
authorGilles Depeyrot <gilles_depeyrot@mac.com>
Sun, 5 May 2002 19:56:15 +0000 (19:56 +0000)
committerGilles Depeyrot <gilles_depeyrot@mac.com>
Sun, 5 May 2002 19:56:15 +0000 (19:56 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

distrib/mac/shared-ld-sh [new file with mode: 0755]

diff --git a/distrib/mac/shared-ld-sh b/distrib/mac/shared-ld-sh
new file mode 100755 (executable)
index 0000000..caa2cd3
--- /dev/null
@@ -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