--- configure.orig	Fri Jun 15 07:53:27 2001
+++ configure	Mon Dec 17 20:14:24 2001
@@ -1268,7 +1268,9 @@
 
 # Defaults
 
-M4=m4
+if test -z "$M4"; then
+    M4=m4
+fi
 
 # Double precision
 # Note that because there is no standard way to invoke double
@@ -1536,9 +1538,9 @@
 # Optimization
 
 if test "$with_opt" = "yes"; then
-    OPT_FLAG_C=-O
-    OPT_FLAG_CXX=-O
-    OPT_FLAG_F=-O
+    OPT_FLAG_C="$CFLAGS"
+    OPT_FLAG_CXX="$CXXFLAGS"
+    OPT_FLAG_F="$FFLAGS"
 fi
 
 # ----------------------------------------------------------------------------
@@ -2012,15 +2014,33 @@
 # Default linker library commands.  These may need version numbers
 # appended to them though.
 
-ITKLIBSTR=-litk
-TKLIBSTR=-ltk
-ITCLLIBSTR=-litcl
-TCLLIBSTR=-ltcl
-XLIBSTR=-lX11
-GDLIBSTR=-lgd
-PNGLIBSTR=-lpng
-JPEGLIBSTR=-ljpeg
-ZLIBLIBSTR=-lz
+if test -z "$ITKLIBSTR"; then
+    ITKLIBSTR=-litk
+fi
+if test -z "$TKLIBSTR"; then
+    TKLIBSTR=-ltk
+fi
+if test -z "$ITCLLIBSTR"; then
+    ITCLLIBSTR=-litcl
+fi
+if test -z "$TCLLIBSTR"; then
+    TCLLIBSTR=-ltcl
+fi
+if test -z "$XLIBSTR"; then
+    XLIBSTR=-lX11
+fi
+if test -z "$GDLIBSTR"; then
+    GDLIBSTR=-lgd
+fi
+if test -z "$PNGLIBSTR"; then
+    PNGLIBSTR=-lpng
+fi
+if test -z "$JPEGLIBSTR"; then
+    JPEGLIBSTR=-ljpeg
+fi
+if test -z "$ITKLIBSTR"; then
+    ZLIBLIBSTR=-lz
+fi
 
 # Add the current directory to the include path.  This must occur
 # first in the list, before we add the directories for any auxilliary
@@ -4721,6 +4741,13 @@
 		EXTRA_LIBS="-ldl -lm"
 	    fi
 	;;
+	FreeBSD* )
+	    if test "$enable_f77" = "yes"; then
+		EXTRA_LIBS="$EXTRA_LIBS -lm -lg2c"
+	    else
+		EXTRA_LIBS="$EXTRA_LIBS -lm"
+	    fi
+	;;
 	* ) 	
 	    echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6
 echo "configure:4727: checking for main in -lXbsd" >&5
@@ -5002,6 +5029,20 @@
             # for Linux.)
 	    SHLIB_F77FLAGS=-fPIC
 	;;
+	FreeBSD* )
+	    SHLIB_CCFLAGS="-fpic -DPIC"
+	    SHLIB_CXXFLAGS="-fpic -DPIC"
+	    echo "$ac_t""okay" 1>&6
+	    if [ "${PORTOBJFORMAT}" = "elf" ]; then
+		SO='.so.$(MAJOR_VERSION)'
+		SHLIB_BUILD="$CC -shared -Wl,-soname -Wl,\$@ -o"
+		SOVERSION='$(MAJOR_VERSION)'
+	    else
+		SO='.so.$(MAJOR_VERSION).$(MINOR_VERSION)'
+		SHLIB_BUILD="ld -Bshareable -o"
+		SOVERSION='$(MAJOR_VERSION).$(MINOR_VERSION)'
+	    fi
+	;;
 	HP-UX-* )
 	    SO=".sl"
 	    SHLIB_F77FLAGS="+z"
@@ -6719,6 +6760,7 @@
 s%@LDCXX_FLAGS@%$LDCXX_FLAGS%g
 s%@F77_FLAGS@%$F77_FLAGS%g
 s%@LDF_FLAGS@%$LDF_FLAGS%g
+s%@M4@%$M4%g
 s%@M4_FLAGS@%$M4_FLAGS%g
 s%@CPP@%$CPP%g
 s%@STUPIDTK_OBJ@%$STUPIDTK_OBJ%g
