diff --git a/samples/Makefile.incl b/samples/Makefile.incl
index 6d6e1261bfc703d7c04a7e4ff73bf8faa6e701df..31baeb3cd5024850ec6b6dfcd51ba91e1b97de11 100644
--- a/samples/Makefile.incl
+++ b/samples/Makefile.incl
@@ -113,6 +113,16 @@ ifeq (${PLATFORM}, SOLARIS)
   SHLIBSUFFIX=.so
 endif
 
+#=============== OPENSERVER SPECIFIC OPTIONS =========================
+ifeq (${PLATFORM}, OPENSERVER)
+  CC=${COMPILER} -D${PLATFORM} -fPIC
+  CMP=-c ${CXXFLAGS}
+  LINK=${CC} ${LDFLAGS}
+  EXTRA_LINK_OPTIONS=-lc -lsocket
+  PLATFORM_LIB_LINK_OPTIONS=-L/usr/lib -L/usr/local/lib
+  SHLIBSUFFIX=.so
+endif
+
 #=============== UNIXWARE SPECIFIC OPTIONS =========================
 ifeq (${PLATFORM}, UNIXWARE)
   CMP= -O2 -c ${CXXFLAGS} -pthread
diff --git a/samples/configure b/samples/configure
index c08208a195305786a8f14e520bb91daf5a0e2917..b6556571310264c901c0a9d132b6c8a649f358ef 100755
--- a/samples/configure
+++ b/samples/configure
@@ -1001,56 +1001,8 @@ else
 fi
 
 
-echo $ac_n "checking for floor in -lm""... $ac_c" 1>&6
-echo "configure:1006: checking for floor in -lm" >&5
-ac_lib_var=`echo m'_'floor | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-lm  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 1014 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char floor();
-
-int main() {
-floor()
-; return 0; }
-EOF
-if { (eval echo configure:1025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo m | sed -e 's/[^a-zA-Z0-9_]/_/g' \
-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
-  LIBS="-lm $LIBS"
-
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-
 echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6
-echo "configure:1054: checking for pthread_create in -lpthread" >&5
+echo "configure:1006: checking for pthread_create in -lpthread" >&5
 ac_lib_var=`echo pthread'_'pthread_create | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1058,7 +1010,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lpthread  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1062 "configure"
+#line 1014 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -1069,7 +1021,7 @@ int main() {
 pthread_create()
 ; return 0; }
 EOF
-if { (eval echo configure:1073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -1098,7 +1050,7 @@ fi
 
 if test $ac_cv_lib_pthread_pthread_create = no; then
 echo $ac_n "checking for pthread_create in -lpthreads""... $ac_c" 1>&6
-echo "configure:1102: checking for pthread_create in -lpthreads" >&5
+echo "configure:1054: checking for pthread_create in -lpthreads" >&5
 ac_lib_var=`echo pthreads'_'pthread_create | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1106,7 +1058,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lpthreads  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1110 "configure"
+#line 1062 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -1117,7 +1069,7 @@ int main() {
 pthread_create()
 ; return 0; }
 EOF
-if { (eval echo configure:1121: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -1147,7 +1099,7 @@ fi
 fi
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1151: checking how to run the C preprocessor" >&5
+echo "configure:1103: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1162,13 +1114,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 1166 "configure"
+#line 1118 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1172: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1124: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1179,13 +1131,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 1183 "configure"
+#line 1135 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1189: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1141: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1196,13 +1148,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 1200 "configure"
+#line 1152 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1206: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1158: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1230,17 +1182,17 @@ for ac_hdr in inttypes.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1234: checking for $ac_hdr" >&5
+echo "configure:1186: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1239 "configure"
+#line 1191 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1244: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1196: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1280,7 +1232,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:1284: checking host system type" >&5
+echo "configure:1236: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -1303,12 +1255,13 @@ echo "$ac_t""$host" 1>&6
 
 case "${host}" in
         *-*-solaris*)   platform=SOLARIS ;;
+        *-*-sco*)       platform=OPENSERVER ;;
         *-*-sysv5*)     platform=UNIXWARE ;;
         *-*-UnixWare*)  platform=UNIXWARE ;;
-        *-*-*unixware*)  platform=UNIXWARE ;;
+        *-*-*unixware*) platform=UNIXWARE ;;
         *-*-sysv5uw7*)  platform=UNIXWARE ;;
         *-*-linux*)     platform=LINUX ;;
-	*-*-freebsd*)	platform=FREEBSD ;;
+        *-*-freebsd*)   platform=FREEBSD ;;
         *-*-irix*)      platform=IRIX ;;
         *-*-aix*)       platform=AIX ;;
         *-*-hp*)        platform=HPUX ;
@@ -1320,7 +1273,7 @@ case "${host}" in
         *-*-mvs*)       platform=OS390 ;;
         *-*-os400*)     platform=OS400 ;;
         *-*-OS400*)     platform=OS400 ;;
-		*-*-osf*)	platform=TRU64 ;;
+        *-*-osf*)       platform=TRU64 ;;
         *-apple-*)		platform=MACOSX ;;
         *)              platform=UNKNOWN ;;
 esac
@@ -1648,5 +1601,5 @@ test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
 
 
 echo
-echo Having build problems? Read instructions at http://xml.apache.org/xerces-c/build.html
-
+echo Having build problems?
+echo   Read instructions at http://xml.apache.org/xerces-c/build.html
diff --git a/samples/configure.in b/samples/configure.in
index 4bedaae917c7f5dbd40f1796e1a769033e2d233e..93adeaa4e737fc7742be146a5f03d1359e2a2cbf 100644
--- a/samples/configure.in
+++ b/samples/configure.in
@@ -7,9 +7,6 @@ AC_PROG_CXX
 AC_PROG_INSTALL
 AC_CHECK_PROG(AUTOCONF, autoconf, autoconf, true)
 
-dnl Checks for libraries
-AC_CHECK_LIB(m, floor)
-
 dnl special pthread handling (AIX uses pthreads instead of pthread)
 AC_CHECK_LIB(pthread, pthread_create)
 if test $ac_cv_lib_pthread_pthread_create = no; then
@@ -31,12 +28,13 @@ AC_CANONICAL_HOST
 dnl Platform-specific Makefile setup
 case "${host}" in
         *-*-solaris*)   platform=SOLARIS ;;
+        *-*-sco*)       platform=OPENSERVER ;;
         *-*-sysv5*)     platform=UNIXWARE ;;
         *-*-UnixWare*)  platform=UNIXWARE ;;
-        *-*-*unixware*)  platform=UNIXWARE ;;
+        *-*-*unixware*) platform=UNIXWARE ;;
         *-*-sysv5uw7*)  platform=UNIXWARE ;;
         *-*-linux*)     platform=LINUX ;;
-	*-*-freebsd*)	platform=FREEBSD ;;
+        *-*-freebsd*)   platform=FREEBSD ;;
         *-*-irix*)      platform=IRIX ;;
         *-*-aix*)       platform=AIX ;;
         *-*-hp*)        platform=HPUX ;
@@ -48,7 +46,7 @@ case "${host}" in
         *-*-mvs*)       platform=OS390 ;;
         *-*-os400*)     platform=OS400 ;;
         *-*-OS400*)     platform=OS400 ;;
-		*-*-osf*)	platform=TRU64 ;;
+        *-*-osf*)       platform=TRU64 ;;
         *-apple-*)		platform=MACOSX ;;
         *)              platform=UNKNOWN ;;
 esac
@@ -88,5 +86,5 @@ SEnumVal/Makefile \
 CreateDOMDocument/Makefile])
 
 echo
-echo Having build problems? Read instructions at http://xml.apache.org/xerces-c/build.html
-
+echo Having build problems?
+echo   Read instructions at http://xml.apache.org/xerces-c/build.html
diff --git a/samples/runConfigure b/samples/runConfigure
index 4f856140fee0a4ada8c665f6f2a6ae3cc559147e..e90460b297188cd7756d1c276bf14f6391856d8a 100755
--- a/samples/runConfigure
+++ b/samples/runConfigure
@@ -68,8 +68,9 @@ usage()
     echo "runConfigure: Helper script to run \"configure\" for one of the supported platforms"
     echo "Usage: runConfigure \"options\""
     echo "       where options may be any of the following:"
-    echo "       -p <platform> (accepts 'aix', 'unixware', 'linux', 'freebsd', 'solaris',
-'hp-10', 'hp-11', 'os400', 'irix', 'ptx', 'tru64', 'macosx')"
+    echo "       -p <platform> (accepts 'aix', 'linux', 'freebsd', 'solaris',
+            'hp-10', 'hp-11', 'openserver', 'unixware', 'os400', 'irix',
+            'ptx', 'tru64', 'macosx')"
     echo "       -c <C compiler name> (e.g. gcc, xlc or icc)"
     echo "       -x <C++ compiler name> (e.g. g++, xlC, or icc)"
     echo "       -d (specifies that you want to build debug version)"
@@ -121,9 +122,6 @@ fi
 
 # Set up the default values for each parameter
 debug=off                # by default debug is off
-transcoder=native        # by default use native transcoder
-msgloader=iconv          # by default use native transcoder
-netaccessor=fileonly     # by default use fileonly
 compileroptions=""
 while [ $# -gt 0 ]
    do
@@ -178,7 +176,7 @@ echo "Extra link options: $linkeroptions"
 # Now check if the options are correct or not, bail out if incorrect
 #
 case $platform in
-   aix | unixware | linux | freebsd | solaris | hp-10 | hp-11 | os400 | irix | ptx | tru64 | macosx)
+   aix | openserver | unixware | linux | freebsd | solaris | hp-10 | hp-11 | os400 | irix | ptx | tru64 | macosx)
        # platform has been recognized
        ;;
    *)
@@ -273,4 +271,3 @@ echo If the result of the above commands look OK to you, go to the directory
 echo ${XERCESCROOT}/samples and type \"gmake\" to make the samples.
 
 exit 0;
-
diff --git a/src/xercesc/Makefile.incl b/src/xercesc/Makefile.incl
index 2beabfa31f8fc223fa3c45dd249b5a30c5ed8852..6b59efb27b2a622322a87ee35c9624571527790e 100644
--- a/src/xercesc/Makefile.incl
+++ b/src/xercesc/Makefile.incl
@@ -162,6 +162,31 @@ ifeq (${PLATFORM}, UNIXWARE)
   SHLIBSUFFIX=.so
 endif
 
+#=============== OPENSERVER SPECIFIC OPTIONS =========================
+ifeq (${PLATFORM}, OPENSERVER)
+  ifeq (${CXX}, g++)
+	COMMON_COMPILE_OPTIONS = -D${PLATFORM} -fPIC
+    ifeq (${THREADS}, none)
+      PLATFORM_COMPILE_OPTIONS = ${COMMON_COMPILE_OPTIONS}
+    else
+      PLATFORM_COMPILE_OPTIONS = ${COMMON_COMPILE_OPTIONS} -D_REENTRANT
+    endif
+    MAKE_SHARED = ${CXX} -D${PLATFORM} -G ${LDFLAGS}
+    MAKE_SHARED_C = ${CC} -D${PLATFORM} -G ${LDFLAGS}
+	EXTRA_LINK_OPTIONS = -Wl,-h,${LIBNAME}${VER}${SHLIBSUFFIX}
+  else
+    PLATFORM_COMPILE_OPTIONS = -D${PLATFORM} -belf -KPIC
+    MAKE_SHARED = ${CXX} -D${PLATFORM} -belf -G ${LDFLAGS} 
+    MAKE_SHARED_C = ${CC} -D${PLATFORM} -belf -G ${LDFLAGS}
+  endif
+  ifeq (${TRANSCODER}, ICU)
+    ALLLIBS = ${LIBS} -licu-uc -licudata
+  else
+    ALLLIBS = ${LIBS}
+  endif
+  SHLIBSUFFIX=.so
+endif
+
 #================= PTX SPECIFIC OPTIONS ===========================
 ifeq (${PLATFORM}, PTX)
 
diff --git a/src/xercesc/configure b/src/xercesc/configure
index fa43113784797ee5de0ff00a19aef3f75af1a6c7..6398c1b4afe6015345324dfaa7e488f5834c3368 100755
--- a/src/xercesc/configure
+++ b/src/xercesc/configure
@@ -1250,6 +1250,7 @@ echo "$ac_t""$host" 1>&6
 
 case "${host}" in
         *-*-solaris*)   platform=SOLARIS ;;
+        *-*-sco*)       platform=OPENSERVER ;;
         *-*-sysv5*)     platform=UNIXWARE ;;
         *-*-UnixWare*)  platform=UNIXWARE ;;
         *-*-unixware*)  platform=UNIXWARE ;;
@@ -1452,6 +1453,7 @@ util/Platforms/OS390/Makefile \
 util/Platforms/OS400/Makefile \
 util/Platforms/IRIX/Makefile \
 util/Platforms/PTX/Makefile \
+util/Platforms/OpenServer/Makefile \
 util/Platforms/UnixWare/Makefile \
 util/Platforms/Tru64/Makefile \
 util/Platforms/MacOS/Makefile \
@@ -1595,6 +1597,7 @@ util/Platforms/OS390/Makefile \
 util/Platforms/OS400/Makefile \
 util/Platforms/IRIX/Makefile \
 util/Platforms/PTX/Makefile \
+util/Platforms/OpenServer/Makefile \
 util/Platforms/UnixWare/Makefile \
 util/Platforms/Tru64/Makefile \
 util/Platforms/MacOS/Makefile \
@@ -1693,6 +1696,8 @@ test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
 
 
 echo
-echo Having build problems? Read instructions at http://xml.apache.org/xerces-c/build.html
-echo Still cannot resolve it? Find out if someone else had the same problem before.
-echo Go to http://marc.theaimsgroup.com/?l=xerces-c-dev
+echo Having build problems?
+echo   Read instructions at http://xml.apache.org/xerces-c/build.html
+echo Still cannot resolve it?
+echo   Find out if someone else had the same problem before.
+echo   Go to http://marc.theaimsgroup.com/?l=xerces-c-dev
diff --git a/src/xercesc/configure.in b/src/xercesc/configure.in
index 3eaa29046d9a97ce55ae6629815f2f4675106b17..3c7cea353bc111e6dfb85a69550a47f59939c129 100644
--- a/src/xercesc/configure.in
+++ b/src/xercesc/configure.in
@@ -28,6 +28,7 @@ AC_CANONICAL_HOST
 dnl Platform-specific Makefile setup
 case "${host}" in
         *-*-solaris*)   platform=SOLARIS ;;
+        *-*-sco*)       platform=OPENSERVER ;;
         *-*-sysv5*)     platform=UNIXWARE ;;
         *-*-UnixWare*)  platform=UNIXWARE ;;
         *-*-unixware*)  platform=UNIXWARE ;;
@@ -118,6 +119,7 @@ util/Platforms/OS390/Makefile \
 util/Platforms/OS400/Makefile \
 util/Platforms/IRIX/Makefile \
 util/Platforms/PTX/Makefile \
+util/Platforms/OpenServer/Makefile \
 util/Platforms/UnixWare/Makefile \
 util/Platforms/Tru64/Makefile \
 util/Platforms/MacOS/Makefile \
@@ -148,6 +150,8 @@ sax2/Makefile \
 [chmod +x ./runConfigure],)
 
 echo
-echo Having build problems? Read instructions at http://xml.apache.org/xerces-c/build.html
-echo Still cannot resolve it? Find out if someone else had the same problem before.
-echo Go to http://marc.theaimsgroup.com/?l=xerces-c-dev
+echo Having build problems?
+echo   Read instructions at http://xml.apache.org/xerces-c/build.html
+echo Still cannot resolve it?
+echo   Find out if someone else had the same problem before.
+echo   Go to http://marc.theaimsgroup.com/?l=xerces-c-dev
diff --git a/src/xercesc/runConfigure b/src/xercesc/runConfigure
index fb37564d975e80505eb3af69ffa8be288226b306..04c57407a8e6041cc62ec71c7d5ca365341b8ebf 100755
--- a/src/xercesc/runConfigure
+++ b/src/xercesc/runConfigure
@@ -79,14 +79,20 @@ usage()
     echo "Usage: runConfigure \"options\""
     echo "       where options may be any of the following:"
     echo "       -p <platform> (accepts 'aix', 'linux', 'freebsd', 'solaris',
-            'hp-10', 'hp-11', 'unixware', 'os400', 'irix', 'ptx', 'tru64', 'macosx' )"
+            'hp-10', 'hp-11', 'openserver', 'unixware', 'os400', 'irix',
+            'ptx', 'tru64', 'macosx')"
     echo "       -c <C compiler name> (e.g. gcc, cc, xlc_r, icc)"
     echo "       -x <C++ compiler name> (e.g. g++, CC, xlC_r, icc, c++)"
     echo "       -d (specifies that you want to build debug version)"
-    echo "       -m <message loader> can be 'inmem', 'icu', 'MsgFile' or 'iconv'"
-    echo "       -n <net accessor> can be 'fileonly', 'libwww', 'socket' or 'native'"
-    echo "       -t <transcoder> can be 'icu', 'Iconv400', 'Iconv390', 'IconvFBSD' or 'native'"
-    echo "       -r <thread option> can be 'pthread' or 'dce' (only used on aix, HP-11 and solaris) or 'sproc' (only on IRIX) or 'none'"
+    echo "       -m <message loader> can be 'inmem', 'icu', 'MsgFile' or
+            'iconv'"
+    echo "       -n <net accessor> can be 'fileonly', 'libwww', 'socket' or 
+            'native'"
+    echo "       -t <transcoder> can be 'icu', 'Iconv400', 'Iconv390', 
+            'IconvFBSD' or 'native'"
+    echo "       -r <thread option> can be 'pthread', 
+            'dce' (only on aix, HP-11 and solaris),
+            'sproc' (only on IRIX) or 'none'"
     echo "       -l <extra linker options>"
     echo "       -z <extra compiler options>"
     echo "       -P <install-prefix>"
@@ -214,7 +220,7 @@ echo "Extra configure options: $configureoptions"
 #
 
 case $platform in
-   aix | linux | freebsd | solaris | hp-10 | hp-11 | irix | unixware | os400 | ptx | tru64 | macosx)
+   aix | linux | freebsd | solaris | hp-10 | hp-11 | irix | openserver | unixware | os400 | ptx | tru64 | macosx)
        # platform has been recognized
        ;;
    *)
@@ -274,9 +280,22 @@ else
                exit ${ERROR_EXIT_CODE};;
         esac
         fi
+	elif test $platform = "openserver"; then
+		case $thread in
+			pthread)
+				if test $cppcompiler = "g++"; then
+					threadingLibs="-Wl,-B,static,-l,pthread,-B,dynamic"
+				fi
+				;;
+			*)
+				echo "I do not recognize the thread option '$thread'."
+				echo "Please type '${0} -h' for help."
+				exit ${ERROR_EXIT_CODE}
+				;;
+		esac
     elif test $platform = "freebsd"; then
-	threadingLibs="-pthread -lc_r"
-	threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS"
+        threadingLibs="-pthread -lc_r"
+        threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS"
     elif test $platform = "aix"; then
         aix_version=`./config.guess`;
         echo Found host system to be $aix_version
@@ -445,7 +464,7 @@ case $netaccessor in
        NETACCESSOR=Socket
        netaccessorDefines="-DXML_USE_NETACCESSOR_SOCKET"
        case $platform in
-           unixware)
+           unixware|openserver)
                netaccessorLibs="-lnsl -lsocket";;
            hp-11)
                netaccessorLibs="-lnsl";;
diff --git a/src/xercesc/util/AutoSense.hpp b/src/xercesc/util/AutoSense.hpp
index 79f38918a542a3b0420879d10691603c26f43c64..f7a44e29d5ef0e881e8b1746d0c5caccc57d28f0 100644
--- a/src/xercesc/util/AutoSense.hpp
+++ b/src/xercesc/util/AutoSense.hpp
@@ -56,8 +56,11 @@
 
 /*
  * $Log$
- * Revision 1.1  2002/02/01 22:22:09  peiyongz
- * Initial revision
+ * Revision 1.2  2002/02/27 22:38:34  peiyongz
+ * Bug# 6445 Caldera (SCO) OpenServer Port : patch from Martin Kalen
+ *
+ * Revision 1.1.1.1  2002/02/01 22:22:09  peiyongz
+ * sane_include
  *
  * Revision 1.21  2001/11/29 18:25:18  tng
  * FreeBSD support by Michael Huedepohl.
@@ -156,9 +159,12 @@
     #define XML_HPUX
     #define XML_UNIX
 #elif defined(SOLARIS) || defined(__SVR4)
-        #define XML_SOLARIS
-        #define XML_UNIX
-#elif defined(UNIXWARE)
+    #define XML_SOLARIS
+    #define XML_UNIX
+#elif defined(_SCO_DS)
+    #define XML_OPENSERVER
+    #define XML_UNIX
+#elif defined(__UNIXWARE__) || defined(__USLC__)
     #define XML_UNIXWARE
     #define XML_UNIX
 #elif defined(__linux__)
@@ -222,7 +228,7 @@
     #define XML_VISUALCPP
 #elif defined(__xlC__)
     #define XML_CSET
-#elif defined(XML_SOLARIS) || defined(XML_UNIXWARE)
+#elif defined(XML_SOLARIS)
     #if defined(__SUNPRO_CC) & __SUNPRO_CC >=0x500
         #define XML_SUNCC5
 	#elif defined(__SUNPRO_CC) & __SUNPRO_CC <0x500
@@ -231,6 +237,8 @@
         #define XML_SOLARIS_KAICC
     #elif defined(__GNUG__)
 		#define XML_GCC
+    #else
+        #error Code requires port to current development environment
     #endif
 #elif defined (__GNUG__) || defined(__linux__)
     #define XML_GCC
diff --git a/src/xercesc/util/Platforms/Makefile.in b/src/xercesc/util/Platforms/Makefile.in
index 43929d1eb4fcfce65e1d29c1ac511eda02437b42..0bbfa9d76e13b0e883e6e24162d927ae2f3c6d80 100644
--- a/src/xercesc/util/Platforms/Makefile.in
+++ b/src/xercesc/util/Platforms/Makefile.in
@@ -55,6 +55,9 @@
 #
 #
 # $Log$
+# Revision 1.3  2002/02/27 22:38:42  peiyongz
+# Bug# 6445 Caldera (SCO) OpenServer Port : patch from Martin Kalen
+#
 # Revision 1.2  2002/02/11 18:19:19  tng
 # [Bug 2715] Build recursion suppresses make failures.
 #
@@ -155,6 +158,9 @@ endif
 ifeq (${PLATFORM}, IRIX)
     SUBMODULE = IRIX
 endif
+ifeq (${PLATFORM}, OPENSERVER)
+    SUBMODULE = OpenServer
+endif
 ifeq (${PLATFORM}, UNIXWARE)
     SUBMODULE = UnixWare
 endif
diff --git a/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp b/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp
index e44b6253f0f8c537429d39202f1073743a1534d8..442b5993695e834203c9bf63be0c569228a77b7e 100644
--- a/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp
+++ b/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp
@@ -67,7 +67,9 @@
 #include "IconvTransService.hpp"
 #include <wchar.h>
 #if defined (XML_GCC) || defined (XML_PTX) || defined (XML_IBMVAOS2)
-#include <wctype.h>
+    #if !defined(XML_OPENSERVER)
+        #include <wctype.h>
+    #endif
 #endif
 #include <string.h>
 #include <stdlib.h>
diff --git a/src/xercesc/util/XercesDefs.hpp b/src/xercesc/util/XercesDefs.hpp
index d4c2c272178ebbb40a1cba8e1047c2e26c6c4812..dbe926999bf45f17891e025a75fe95ecab091ed4 100644
--- a/src/xercesc/util/XercesDefs.hpp
+++ b/src/xercesc/util/XercesDefs.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.4  2002/02/27 22:38:34  peiyongz
+ * Bug# 6445 Caldera (SCO) OpenServer Port : patch from Martin Kalen
+ *
  * Revision 1.3  2002/02/20 21:41:54  tng
  * project files changes for Xerces-C++ 1.7.
  *
@@ -215,6 +218,10 @@ const unsigned int   gXercesRevision   = 0;
 #include    <xercesc/util/Platforms/Solaris/SolarisDefs.hpp>
 #endif
 
+#if defined(XML_OPENSERVER)
+#include    <xercesc/util/Platforms/OpenServer/OpenServerDefs.hpp>
+#endif
+
 #if defined(XML_UNIXWARE)
 #include    <xercesc/util/Platforms/UnixWare/UnixWareDefs.hpp>
 #endif