diff -ruN distrib/mac/shared-ld-sh distrib/mac/shared-ld-sh
--- distrib/mac/shared-ld-sh	Wed Dec 31 19:00:00 1969
+++ distrib/mac/shared-ld-sh	Sat Dec 14 19:45:03 2002
@@ -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: darwin-shared-ld-sh,v 1.1 2003/04/09 22:17:58 jpm Exp $
+#-- 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|-undefined|-install_name)
+        # collect these options and values
+        args="$args $1 $2"
+        shift
+        ;;
+
+       -l*|-L*|-flat_namespace)
+        # 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
