--- configure.orig	2010-09-02 20:12:14.000000000 +0200
+++ configure	2010-12-09 09:26:30.809229814 +0100
@@ -3538,6 +3538,7 @@
 # Threads support - this auto-enables if Tcl was compiled threaded
 #------------------------------------------------------------------------
 
+TCL_SRC_DIR=${prefix}/include/tcl${TCLVERSION}
 
     # Check whether --enable-threads or --disable-threads was given.
 if test "${enable_threads+set}" = set; then
@@ -5815,7 +5816,7 @@
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
 	    DL_LIBS=""
-	    LDFLAGS="$LDFLAGS -export-dynamic"
+	    LDFLAGS=""
 	    if test $doRpath = yes; then
 
 		CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
@@ -5826,16 +5827,16 @@
 
 		# The -pthread needs to go in the CFLAGS, not LIBS
 		LIBS=`echo $LIBS | sed s/-pthread//`
-		CFLAGS="$CFLAGS -pthread"
-	    	LDFLAGS="$LDFLAGS -pthread"
+		CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+	    	LDFLAGS="$LDFLAGS $PTHREAD_LIBS"
 
 fi
 
 	    case $system in
-	    FreeBSD-3.*)
+	    FreeBSD-*)
 	    	# FreeBSD-3 doesn't handle version numbers with dots.
 	    	UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
-	    	SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so'
+	    	SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1'
 	    	TCL_LIB_VERSIONS_OK=nodots
 		;;
 	    esac
@@ -5844,7 +5845,7 @@
 	    # This configuration from FreeBSD Ports.
 	    SHLIB_CFLAGS="-fPIC"
 	    SHLIB_LD="${CC} -shared"
-	    TCL_SHLIB_LD_EXTRAS="-soname \$@"
+	    TCL_SHLIB_LD_EXTRAS="-Wl,-soname,\$@"
 	    SHLIB_LD_LIBS='${LIBS}'
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
