--- samples/runConfigure.orig	Tue Jan 13 19:42:18 2004
+++ samples/runConfigure	Thu Mar 11 17:11:03 2004
@@ -271,8 +271,13 @@
                ;;
         esac
     elif test $platform = "freebsd"; then
-        threadingLibs="-pthread -lc_r"
-        threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS"
+      if test -n "${PTHREAD_LIBS}" ; then
+        threadingLibs="${PTHREAD_LIBS}"
+        threadingDefines="${PTHREAD_CFLAGS} -DXML_USE_PTHREADS"
+      else
+        threadingLibs="-lpthread"
+        threadingDefines="-DXML_USE_PTHREADS"
+      fi
     elif test $platform = "netbsd"; then
         threadingLibs="-pthread"
         threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS"
@@ -390,38 +395,6 @@
 #
 BITSTOBUILD=$bitsToBuild
 export BITSTOBUILD
-
-#
-# Special test for libiconv necessity under FreeBSD
-#
-transcodingLibs=""       # by default don't suppose the libiconv is necessary
-transcodingDefines=""
-if test $platform = "freebsd"; then
-    if test -n "${XERCESCROOT}"; then
-       # try lookup the configuration results
-       . "${XERCESCROOT}/version.incl"
-       SOLIBNAME=libxerces-c.so.${SO_TARGET_VERSION}.${SO_TARGET_VERSION_MAJOR}
-       if test -f "${XERCESCROOT}/src/xercesc/config.log" ; then
-           if grep XML_USE_LIBICONV "${XERCESCROOT}/src/xercesc/config.log" \
-              > /dev/null 2>&1 ; then
-               transcodingLibs=" -L/usr/local/lib -liconv "
-               transcodingDefines=" -DXML_USE_LIBICONV -I/usr/local/include "
-           fi
-       elif test -f "${XERCESCROOT}/obj/FREEBSD/IconvFBSDTransService.o" ; then
-           if nm "${XERCESCROOT}/obj/FREEBSD/IconvFBSDTransService.o" | \
-              grep iconv_open > /dev/null 2>&1 ; then
-               transcodingLibs=" -L/usr/local/lib -liconv "
-               transcodingDefines=" -DXML_USE_LIBICONV -I/usr/local/include "
-           fi
-       elif test -f "${XERCESCROOT}/lib/${SOLIBNAME}" ; then
-           if nm "${XERCESCROOT}/lib/${SOLIBNAME}" | \
-              grep iconv_open > /dev/null 2>&1 ; then
-               transcodingLibs=" -L/usr/local/lib -liconv "
-               transcodingDefines=" -DXML_USE_LIBICONV -I/usr/local/include "
-           fi
-       fi
-    fi
-fi
 
 #
 # Set the C compiler and C++ compiler environment variables
--- src/xercesc/runConfigure.orig	Wed Feb  4 13:26:44 2004
+++ src/xercesc/runConfigure	Thu Mar 11 17:10:00 2004
@@ -319,8 +319,13 @@
                ;;
         esac
     elif test $platform = "freebsd"; then
-        threadingLibs="-pthread -lc_r"
+      if test -n "${PTHREAD_LIBS}" ; then
+        threadingLibs="${PTHREAD_LIBS}"
+        threadingDefines="${PTHREAD_CFLAGS} -DXML_USE_PTHREADS"
+      else
+        threadingLibs="-lpthread"
         threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS"
+      fi
     elif test $platform = "netbsd"; then
         threadingLibs="-pthread -lpthread"
         threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS"
@@ -467,7 +472,11 @@
        TRANSCODER=Uniconv390 ;;
    IconvFBSD)
        TRANSCODER=IconvFBSD ;
-       transcodingDefines="-DXML_USE_LIBICONV -I/usr/local/include" ;;
+       transcodingDefines="-DXML_USE_LIBICONV -I/usr/local/include" ;
+       if test ${ICONVROOT}o != "o"; then
+	       ICONVROOT=/usr/local
+       fi
+       transcodingLibs="-L${ICONVROOT} -L${ICONVROOT}/lib -liconv" ;;
    IconvGNU)
        TRANSCODER=IconvGNU ;
        transcodingDefines="-DXML_USE_GNU_TRANSCODER -I/usr/local/include" ;;
--- tests/runConfigure.orig	Thu Mar 11 17:11:09 2004
+++ tests/runConfigure	Thu Mar 11 17:12:03 2004
@@ -270,8 +270,13 @@
                ;;
         esac
     elif test $platform = "freebsd"; then
-        threadingLibs="-pthread -lc_r"
-        threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS"
+      if test -n "${PTHREAD_LIBS}" ; then
+        threadingLibs="${PTHREAD_LIBS}"
+        threadingDefines="${PTHREAD_CFLAGS} -DXML_USE_PTHREADS"
+      else
+        threadingLibs="-lpthread"
+        threadingDefines="-DXML_USE_PTHREADS"
+      fi
     elif test $platform = "netbsd"; then
         threadingLibs="-pthread"
         threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS"
@@ -389,38 +394,6 @@
 #
 BITSTOBUILD=$bitsToBuild
 export BITSTOBUILD
-
-#
-# Special test for libiconv necessity under FreeBSD
-#
-transcodingLibs=""       # by default don't suppose the libiconv is necessary
-transcodingDefines=""
-if test $platform = "freebsd"; then
-    if test -n "${XERCESCROOT}"; then
-       # try lookup the configuration results
-       . "${XERCESCROOT}/version.incl"
-       SOLIBNAME=libxerces-c.so.${SO_TARGET_VERSION}.${SO_TARGET_VERSION_MAJOR}
-       if test -f "${XERCESCROOT}/src/xercesc/config.log" ; then
-           if grep XML_USE_LIBICONV "${XERCESCROOT}/src/xercesc/config.log" \
-              > /dev/null 2>&1 ; then
-               transcodingLibs=" -L/usr/local/lib -liconv "
-               transcodingDefines=" -DXML_USE_LIBICONV -I/usr/local/include "
-           fi
-       elif test -f "${XERCESCROOT}/obj/FREEBSD/IconvFBSDTransService.o" ; then
-           if nm "${XERCESCROOT}/obj/FREEBSD/IconvFBSDTransService.o" | \
-              grep iconv_open > /dev/null 2>&1 ; then
-               transcodingLibs=" -L/usr/local/lib -liconv "
-               transcodingDefines=" -DXML_USE_LIBICONV -I/usr/local/include "
-           fi
-       elif test -f "${XERCESCROOT}/lib/${SOLIBNAME}" ; then
-           if nm "${XERCESCROOT}/lib/${SOLIBNAME}" | \
-              grep iconv_open > /dev/null 2>&1 ; then
-               transcodingLibs=" -L/usr/local/lib -liconv "
-               transcodingDefines=" -DXML_USE_LIBICONV -I/usr/local/include "
-           fi
-       fi
-    fi
-fi
 
 #
 # Set the C compiler and C++ compiler environment variables
