--- src/Configure.orig	Wed Oct  7 11:19:30 1998
+++ src/Configure	Wed Nov  4 00:55:27 1998
@@ -902,10 +902,22 @@
             SHLIB_SUFFIX_DEPTH=0
             ;;
         *-freebsd*)
-            CFLAGS_SHLIB="-fpic"
-            LDFLAGS_SHLIB="-Bshareable"
-            LDFLAGS_SHLIB_EXPORT=""
-            SHLIB_SUFFIX_DEPTH=2
+            PORTOBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
+            if [ $PORTOBJFORMAT = aout ]; then
+                CFLAGS_SHLIB="-fpic"
+                LDFLAGS_SHLIB="-Bshareable"
+                LDFLAGS_SHLIB_EXPORT=""
+                SHLIB_SUFFIX_DEPTH=2
+	    elif [ $PORTOBJFORMAT = elf ]; then
+	        CFLAGS_SHLIB="-fpic" 
+	        LD_SHLIB="cc"
+	        LDFLAGS_SHLIB="-shared"
+	        LDFLAGS_SHLIB_EXPORT="-rdynamic"
+	        SHLIB_SUFFIX_DEPTH=0
+            else
+                echo "Unknown object format: $PORTOBJFORMAT"
+                exit 1
+	    fi
             ;;
         *-openbsd*)
             CFLAGS_SHLIB="-fPIC"
