Patch #1044395: Allow configure option --enable-shared in FreeBSD.
(Submitted by James William Pye, Patch revised by Jiwon Seo)
diff --git a/Misc/NEWS b/Misc/NEWS
index 59c3ef6..4aba0fc 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -59,13 +59,13 @@
 
 - Bug #1017553: fix bug in tarfile.filemode()
 
-- Bug #737473: fix bug that old source code is shown in tracebacks even if
+- Patch #737473: fix bug that old source code is shown in tracebacks even if
   the source code is updated and reloaded.
 
 Build
 -----
 
-...
+- Patch #1044395: --enable-shared is allowed in FreeBSD also.
 
 C API
 -----
diff --git a/configure b/configure
index 7b69003..36679b5 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 1.471 .
+# From configure.in Revision: 1.472 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.59 for python 2.4.
 #
@@ -3392,10 +3392,15 @@
 	  RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
 	  INSTSONAME="$LDLIBRARY".$SOVERSION
           ;;
-    Linux*|GNU*|NetBSD*)
+    Linux*|GNU*|NetBSD*|FreeBSD*)
 	  LDLIBRARY='libpython$(VERSION).so'
 	  BLDLIBRARY='-L. -lpython$(VERSION)'
 	  RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+	  case $ac_sys_system in
+	      FreeBSD*)
+		SOVERSION=`echo $SOVERSION|cut -d "." -f 1`
+		;;
+	  esac
 	  INSTSONAME="$LDLIBRARY".$SOVERSION
 	  ;;
     hp*|HP*)
@@ -10332,7 +10337,7 @@
 	OpenBSD*|FreeBSD*)
 		if [ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]
 		then
-			LDSHARED="cc -shared ${LDFLAGS}"
+			LDSHARED="$CC -shared ${LDFLAGS}"
 		else
 			LDSHARED="ld -Bshareable ${LDFLAGS}"
 		fi;;
diff --git a/configure.in b/configure.in
index 981d2ba..cc98881 100644
--- a/configure.in
+++ b/configure.in
@@ -557,10 +557,15 @@
 	  RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
 	  INSTSONAME="$LDLIBRARY".$SOVERSION
           ;;
-    Linux*|GNU*|NetBSD*)
+    Linux*|GNU*|NetBSD*|FreeBSD*)
 	  LDLIBRARY='libpython$(VERSION).so'
 	  BLDLIBRARY='-L. -lpython$(VERSION)'
 	  RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
+	  case $ac_sys_system in
+	      FreeBSD*)
+		SOVERSION=`echo $SOVERSION|cut -d "." -f 1`
+		;;
+	  esac
 	  INSTSONAME="$LDLIBRARY".$SOVERSION
 	  ;;
     hp*|HP*)
@@ -1345,7 +1350,7 @@
 	OpenBSD*|FreeBSD*)
 		if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
 		then
-			LDSHARED="cc -shared ${LDFLAGS}"
+			LDSHARED="$CC -shared ${LDFLAGS}"
 		else
 			LDSHARED="ld -Bshareable ${LDFLAGS}"
 		fi;;