You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by jb...@apache.org on 2005/05/26 01:35:19 UTC

svn commit: r178551 [1/2] - in /xerces/c/branches/jberry/3.0-unstable: ./ lib/ m4/ obj/ src/ src/xercesc/util/ src/xercesc/util/AtomicOpManagers/ src/xercesc/util/FileManagers/ src/xercesc/util/Files/ src/xercesc/util/MutexManagers/ src/xercesc/util/Platforms/MacOS/ src/xercesc/util/Transcoders/MacOSUnicodeConverter/ tests/

Author: jberry
Date: Wed May 25 16:35:17 2005
New Revision: 178551

URL: http://svn.apache.org/viewcvs?rev=178551&view=rev
Log:
Begin work on refactoring of platform class.


Added:
    xerces/c/branches/jberry/3.0-unstable/m4/xerces_atomicopmgr_selection.m4
    xerces/c/branches/jberry/3.0-unstable/m4/xerces_filemgr_selection.m4
    xerces/c/branches/jberry/3.0-unstable/m4/xerces_mutexmgr_selection.m4
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/AtomicOpManagers/
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/AtomicOpManagers/PosixAtomicOpMgr.cpp
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/AtomicOpManagers/PosixAtomicOpMgr.hpp
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/FileManagers/
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/FileManagers/PosixFileMgr.cpp
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/FileManagers/PosixFileMgr.hpp
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/Files/
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/MutexManagers/
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/MutexManagers/PosixMutexMgr.cpp
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/MutexManagers/PosixMutexMgr.hpp
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/XMLAtomicOpMgr.hpp
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/XMLFileMgr.hpp
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/XMLMutexMgr.hpp
Modified:
    xerces/c/branches/jberry/3.0-unstable/Makefile.in
    xerces/c/branches/jberry/3.0-unstable/config.h
    xerces/c/branches/jberry/3.0-unstable/config.h.in
    xerces/c/branches/jberry/3.0-unstable/configure
    xerces/c/branches/jberry/3.0-unstable/configure.ac
    xerces/c/branches/jberry/3.0-unstable/lib/Makefile.in
    xerces/c/branches/jberry/3.0-unstable/m4/xerces_libwww_prefix.m4
    xerces/c/branches/jberry/3.0-unstable/m4/xerces_msgloader_selection.m4
    xerces/c/branches/jberry/3.0-unstable/m4/xerces_transcoder_selection.m4
    xerces/c/branches/jberry/3.0-unstable/obj/Makefile.in
    xerces/c/branches/jberry/3.0-unstable/src/Makefile.am
    xerces/c/branches/jberry/3.0-unstable/src/Makefile.in
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/PlatformUtils.cpp
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/PlatformUtils.hpp
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/Platforms/MacOS/MacAbstractFile.hpp
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.cpp
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/XMLString.cpp
    xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/XercesDefs.hpp
    xerces/c/branches/jberry/3.0-unstable/tests/Makefile.in
    xerces/c/branches/jberry/3.0-unstable/x_config.h
    xerces/c/branches/jberry/3.0-unstable/x_config.h.in

Modified: xerces/c/branches/jberry/3.0-unstable/Makefile.in
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/Makefile.in?rev=178551&r1=178550&r2=178551&view=diff
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/Makefile.in (original)
+++ xerces/c/branches/jberry/3.0-unstable/Makefile.in Wed May 25 16:35:17 2005
@@ -48,11 +48,14 @@
 	$(top_srcdir)/m4/cxx_have_namespaces.m4 \
 	$(top_srcdir)/m4/cxx_have_std_libs.m4 \
 	$(top_srcdir)/m4/cxx_have_std_namespace.m4 \
+	$(top_srcdir)/m4/xerces_atomicopmgr_selection.m4 \
 	$(top_srcdir)/m4/xerces_curl_prefix.m4 \
+	$(top_srcdir)/m4/xerces_filemgr_selection.m4 \
 	$(top_srcdir)/m4/xerces_icu_prefix.m4 \
 	$(top_srcdir)/m4/xerces_libwww_prefix.m4 \
 	$(top_srcdir)/m4/xerces_link_darwin_framework.m4 \
 	$(top_srcdir)/m4/xerces_msgloader_selection.m4 \
+	$(top_srcdir)/m4/xerces_mutexmgr_selection.m4 \
 	$(top_srcdir)/m4/xerces_netaccessor_selection.m4 \
 	$(top_srcdir)/m4/xerces_transcoder_selection.m4 \
 	$(top_srcdir)/m4/xerces_type_16bit_int.m4 \
@@ -157,6 +160,12 @@
 XERCES_USE_NETACCESSOR_SOCKET_TRUE = @XERCES_USE_NETACCESSOR_SOCKET_TRUE@
 XERCES_USE_NETACCESSOR_WINSOCK_FALSE = @XERCES_USE_NETACCESSOR_WINSOCK_FALSE@
 XERCES_USE_NETACCESSOR_WINSOCK_TRUE = @XERCES_USE_NETACCESSOR_WINSOCK_TRUE@
+XERCES_USE_POSIX_ATOMICOPMGR_FALSE = @XERCES_USE_POSIX_ATOMICOPMGR_FALSE@
+XERCES_USE_POSIX_ATOMICOPMGR_TRUE = @XERCES_USE_POSIX_ATOMICOPMGR_TRUE@
+XERCES_USE_POSIX_FILEMGR_FALSE = @XERCES_USE_POSIX_FILEMGR_FALSE@
+XERCES_USE_POSIX_FILEMGR_TRUE = @XERCES_USE_POSIX_FILEMGR_TRUE@
+XERCES_USE_POSIX_MUTEXMGR_FALSE = @XERCES_USE_POSIX_MUTEXMGR_FALSE@
+XERCES_USE_POSIX_MUTEXMGR_TRUE = @XERCES_USE_POSIX_MUTEXMGR_TRUE@
 XERCES_USE_TRANSCODER_ICU_FALSE = @XERCES_USE_TRANSCODER_ICU_FALSE@
 XERCES_USE_TRANSCODER_ICU_TRUE = @XERCES_USE_TRANSCODER_ICU_TRUE@
 XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER_FALSE = @XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER_FALSE@

Modified: xerces/c/branches/jberry/3.0-unstable/config.h
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/config.h?rev=178551&r1=178550&r2=178551&view=diff
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/config.h (original)
+++ xerces/c/branches/jberry/3.0-unstable/config.h Wed May 25 16:35:17 2005
@@ -239,6 +239,9 @@
 /* Define to true if autoconf is used in this configuration */
 #define XERCES_AUTOCONF 1
 
+/* Define to 1 if we have sys/types.h */
+#define XERCES_HAVE_SYS_TYPES_H 1
+
 /* Define if there is support for L"widestring" */
 #define XERCES_LSTRSUPPORT 1
 
@@ -281,6 +284,15 @@
 /* Define to use the WinSock NetAccessor */
 /* #undef XERCES_USE_NETACCESSOR_WINSOCK */
 
+/* Define to use the POSIX AtomicOp mgr */
+#define XERCES_USE_POSIX_ATOMICOPMGR 1
+
+/* Define to use the POSIX file mgr */
+#define XERCES_USE_POSIX_FILEMGR 1
+
+/* Define to use the POSIX mutex mgr */
+#define XERCES_USE_POSIX_MUTEXMGR 1
+
 /* Define to use the ICU-based transcoder */
 /* #undef XERCES_USE_TRANSCODER_ICU */
 
@@ -288,7 +300,7 @@
 #define XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER 1
 
 /* Define to the 16 bit type used to represent Xerces UTF-16 characters */
-#define XERCES_XMLCH unsigned short
+#define XERCES_XMLCH_T unsigned short
 
 /* Define to empty if `const' does not conform to ANSI C. */
 /* #undef const */

Modified: xerces/c/branches/jberry/3.0-unstable/config.h.in
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/config.h.in?rev=178551&r1=178550&r2=178551&view=diff
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/config.h.in (original)
+++ xerces/c/branches/jberry/3.0-unstable/config.h.in Wed May 25 16:35:17 2005
@@ -238,6 +238,9 @@
 /* Define to true if autoconf is used in this configuration */
 #undef XERCES_AUTOCONF
 
+/* Define to 1 if we have sys/types.h */
+#undef XERCES_HAVE_SYS_TYPES_H
+
 /* Define if there is support for L"widestring" */
 #undef XERCES_LSTRSUPPORT
 
@@ -280,6 +283,15 @@
 /* Define to use the WinSock NetAccessor */
 #undef XERCES_USE_NETACCESSOR_WINSOCK
 
+/* Define to use the POSIX AtomicOp mgr */
+#undef XERCES_USE_POSIX_ATOMICOPMGR
+
+/* Define to use the POSIX file mgr */
+#undef XERCES_USE_POSIX_FILEMGR
+
+/* Define to use the POSIX mutex mgr */
+#undef XERCES_USE_POSIX_MUTEXMGR
+
 /* Define to use the ICU-based transcoder */
 #undef XERCES_USE_TRANSCODER_ICU
 
@@ -287,7 +299,7 @@
 #undef XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER
 
 /* Define to the 16 bit type used to represent Xerces UTF-16 characters */
-#undef XERCES_XMLCH
+#undef XERCES_XMLCH_T
 
 /* Define to empty if `const' does not conform to ANSI C. */
 #undef const

Modified: xerces/c/branches/jberry/3.0-unstable/configure
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/configure?rev=178551&r1=178550&r2=178551&view=diff
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/configure (original)
+++ xerces/c/branches/jberry/3.0-unstable/configure Wed May 25 16:35:17 2005
@@ -464,7 +464,7 @@
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S EGREP ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS CURL_PREFIX XERCES_USE_NETACCESSOR_CURL_TRUE XERCES_USE_NETACCESSOR_CURL_FALSE XERCES_USE_NETACCESSOR_CFURL_TRUE XERCES_USE_NETACCESSOR_CFURL_FALSE XERCES_USE_NETACCESSOR_WINSOCK_TRUE XERCES_USE_NETACCESSOR_WINSOCK_FALSE XERCES_USE_NETACCESSOR_SOCKET_TRUE XERCES_USE_NETACCESSOR_SOCKET_FALSE XERCES_USE_NETACCESSOR_LIBWWW_TRUE XERCES_USE_NETACCESSOR_LIBWWW_FALSE ICU_PREFIX XERCES_USE_TRANSCODER_ICU_TRUE XERCES_USE_TRANSCODER_ICU_FALSE XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER_TRUE XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER_FALSE XERCES_USE_MSGLOADER_INMEMORY_TRUE XERCES_USE_MSGLOADER_INMEMORY_FALSE LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S EGREP ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS CURL_PREFIX XERCES_USE_NETACCESSOR_CURL_TRUE XERCES_USE_NETACCESSOR_CURL_FALSE XERCES_USE_NETACCESSOR_CFURL_TRUE XERCES_USE_NETACCESSOR_CFURL_FALSE XERCES_USE_NETACCESSOR_WINSOCK_TRUE XERCES_USE_NETACCESSOR_WINSOCK_FALSE XERCES_USE_NETACCESSOR_SOCKET_TRUE XERCES_USE_NETACCESSOR_SOCKET_FALSE XERCES_USE_NETACCESSOR_LIBWWW_TRUE XERCES_USE_NETACCESSOR_LIBWWW_FALSE ICU_PREFIX XERCES_USE_TRANSCODER_ICU_TRUE XERCES_USE_TRANSCODER_ICU_FALSE XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER_TRUE XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER_FALSE XERCES_USE_MSGLOADER_INMEMORY_TRUE XERCES_USE_MSGLOADER_INMEMORY_FALSE XERCES_USE_POSIX_FILEMGR_TRUE XERCES_USE_POSIX_FILEMGR_FALSE XERCES_USE_POSIX_MUTEXMGR_TRUE XERCES_USE_POSIX_MUTEXMGR_FALSE XERCES_USE_POSIX_ATOMICOPMGR_TRUE XERCES_USE_POSIX_ATOMICOPMGR_FALSE LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -23689,6 +23689,7 @@
 
 
 
+
 	######################################################
 	# Test for availability of each netaccessor on this host.
 	# For each netaccessor that's available, and hasn't been disabled, add it to our list.
@@ -24070,6 +24071,7 @@
 	# Check for MacOSUnicodeConverter
 	echo "$as_me:$LINENO: checking for whether we can support the MacOSUnicodeConverter Transcoder" >&5
 echo $ECHO_N "checking for whether we can support the MacOSUnicodeConverter Transcoder... $ECHO_C" >&6
+	list_add=
 	case $host_os in
 	darwin*)
 		if test x"$ac_cv_header_CoreServices_CoreServices_h" = xyes; then
@@ -24187,6 +24189,8 @@
 	ml_list=
 
 	# Check for inmemory msgloader
+	echo "$as_me:$LINENO: checking for whether we support the InMemory MsgLoader" >&5
+echo $ECHO_N "checking for whether we support the InMemory MsgLoader... $ECHO_C" >&6
 	list_add=
 	if true; then
 
@@ -24275,11 +24279,155 @@
 
 
 
+	echo "$as_me:$LINENO: checking for which File Manager to use" >&5
+echo $ECHO_N "checking for which File Manager to use... $ECHO_C" >&6
+	mgr=
+
+	# Platform specific checks
+	case $host_os in
+	windows* | cygwin*)
+		#mgr=Windows
+		;;
+	esac
+
+	# Fall back to using posix files
+	if test -z "$mgr"; then
+  mgr=POSIX;
+
+cat >>confdefs.h <<\_ACEOF
+#define XERCES_USE_POSIX_FILEMGR 1
+_ACEOF
+
+
+fi
+
+
+	echo "$as_me:$LINENO: result: $mgr" >&5
+echo "${ECHO_T}$mgr" >&6
+
+	# Define the auto-make conditionals which determine what actually gets compiled
+	# Note that these macros can't be executed conditionally, which is why they're here, not above.
+
+
+if test x"$mgr" = xPOSIX; then
+  XERCES_USE_POSIX_FILEMGR_TRUE=
+  XERCES_USE_POSIX_FILEMGR_FALSE='#'
+else
+  XERCES_USE_POSIX_FILEMGR_TRUE='#'
+  XERCES_USE_POSIX_FILEMGR_FALSE=
+fi
+
+
+
+
+
+
+	echo "$as_me:$LINENO: checking for which Mutex Manager to use" >&5
+echo $ECHO_N "checking for which Mutex Manager to use... $ECHO_C" >&6
+	mgr=
+
+	# Platform specific checks
+	case $host_os in
+	windows* | cygwin*)
+		#mgr=Windows
+		;;
+	esac
+
+	# Fall back to using posix mutex
+	if test -z "$mgr"; then
+  mgr=POSIX;
+
+cat >>confdefs.h <<\_ACEOF
+#define XERCES_USE_POSIX_MUTEXMGR 1
+_ACEOF
+
+
+fi
+
+
+	echo "$as_me:$LINENO: result: $mgr" >&5
+echo "${ECHO_T}$mgr" >&6
+
+	# Define the auto-make conditionals which determine what actually gets compiled
+	# Note that these macros can't be executed conditionally, which is why they're here, not above.
+
+
+if test x"$mgr" = xPOSIX; then
+  XERCES_USE_POSIX_MUTEXMGR_TRUE=
+  XERCES_USE_POSIX_MUTEXMGR_FALSE='#'
+else
+  XERCES_USE_POSIX_MUTEXMGR_TRUE='#'
+  XERCES_USE_POSIX_MUTEXMGR_FALSE=
+fi
+
+
+
+
+
+
+	echo "$as_me:$LINENO: checking for which AtomicOp Manager to use" >&5
+echo $ECHO_N "checking for which AtomicOp Manager to use... $ECHO_C" >&6
+	mgr=
+
+	# Platform specific checks
+	case $host_os in
+	windows* | cygwin*)
+		#mgr=Windows
+		;;
+	esac
+
+	# Fall back to using posix mutex
+	if test -z "$mgr"; then
+  mgr=POSIX;
+
+cat >>confdefs.h <<\_ACEOF
+#define XERCES_USE_POSIX_ATOMICOPMGR 1
+_ACEOF
+
+
+fi
+
+
+	echo "$as_me:$LINENO: result: $mgr" >&5
+echo "${ECHO_T}$mgr" >&6
+
+	# Define the auto-make conditionals which determine what actually gets compiled
+	# Note that these macros can't be executed conditionally, which is why they're here, not above.
+
+
+if test x"$mgr" = xPOSIX; then
+  XERCES_USE_POSIX_ATOMICOPMGR_TRUE=
+  XERCES_USE_POSIX_ATOMICOPMGR_FALSE='#'
+else
+  XERCES_USE_POSIX_ATOMICOPMGR_TRUE='#'
+  XERCES_USE_POSIX_ATOMICOPMGR_FALSE=
+fi
+
+
+
+
+
+
 
 ######################################################
 # Define some namespace-protected macros for use in the publicly visible
 # XercesConfig.h file.
 ######################################################
+
+cat >>confdefs.h <<\_ACEOF
+#define XERCES_AUTOCONF 1
+_ACEOF
+
+
+if test x$ac_cv_header_sys_types_h = xyes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define XERCES_HAVE_SYS_TYPES_H 1
+_ACEOF
+
+fi
+
+
 case $host in
 *-*-msdos* | *-*-mingw32* | *-*-cygwin* | *-*-windows* )
 	platform_export="__declspec(dllexport)"
@@ -24301,12 +24449,6 @@
 _ACEOF
 
 
-
-cat >>confdefs.h <<\_ACEOF
-#define XERCES_AUTOCONF 1
-_ACEOF
-
-
 if test ! $ac_cv_cxx_have_bool; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -24339,13 +24481,13 @@
 if test $ac_cv_sizeof_wchar_t -eq 2; then
 
 cat >>confdefs.h <<\_ACEOF
-#define XERCES_XMLCH wchar_t
+#define XERCES_XMLCH_T wchar_t
 _ACEOF
 
 else
 
 cat >>confdefs.h <<_ACEOF
-#define XERCES_XMLCH unsigned $xerces_cv_type_16bit_int
+#define XERCES_XMLCH_T unsigned $xerces_cv_type_16bit_int
 _ACEOF
 
 fi
@@ -24575,6 +24717,27 @@
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${XERCES_USE_POSIX_FILEMGR_TRUE}" && test -z "${XERCES_USE_POSIX_FILEMGR_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"XERCES_USE_POSIX_FILEMGR\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"XERCES_USE_POSIX_FILEMGR\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${XERCES_USE_POSIX_MUTEXMGR_TRUE}" && test -z "${XERCES_USE_POSIX_MUTEXMGR_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"XERCES_USE_POSIX_MUTEXMGR\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"XERCES_USE_POSIX_MUTEXMGR\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${XERCES_USE_POSIX_ATOMICOPMGR_TRUE}" && test -z "${XERCES_USE_POSIX_ATOMICOPMGR_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"XERCES_USE_POSIX_ATOMICOPMGR\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"XERCES_USE_POSIX_ATOMICOPMGR\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 
 : ${CONFIG_STATUS=./config.status}
 ac_clean_files_save=$ac_clean_files
@@ -25199,6 +25362,12 @@
 s,@XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER_FALSE@,$XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER_FALSE,;t t
 s,@XERCES_USE_MSGLOADER_INMEMORY_TRUE@,$XERCES_USE_MSGLOADER_INMEMORY_TRUE,;t t
 s,@XERCES_USE_MSGLOADER_INMEMORY_FALSE@,$XERCES_USE_MSGLOADER_INMEMORY_FALSE,;t t
+s,@XERCES_USE_POSIX_FILEMGR_TRUE@,$XERCES_USE_POSIX_FILEMGR_TRUE,;t t
+s,@XERCES_USE_POSIX_FILEMGR_FALSE@,$XERCES_USE_POSIX_FILEMGR_FALSE,;t t
+s,@XERCES_USE_POSIX_MUTEXMGR_TRUE@,$XERCES_USE_POSIX_MUTEXMGR_TRUE,;t t
+s,@XERCES_USE_POSIX_MUTEXMGR_FALSE@,$XERCES_USE_POSIX_MUTEXMGR_FALSE,;t t
+s,@XERCES_USE_POSIX_ATOMICOPMGR_TRUE@,$XERCES_USE_POSIX_ATOMICOPMGR_TRUE,;t t
+s,@XERCES_USE_POSIX_ATOMICOPMGR_FALSE@,$XERCES_USE_POSIX_ATOMICOPMGR_FALSE,;t t
 s,@LTLIBOBJS@,$LTLIBOBJS,;t t
 CEOF
 

Modified: xerces/c/branches/jberry/3.0-unstable/configure.ac
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/configure.ac?rev=178551&r1=178550&r2=178551&view=diff
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/configure.ac (original)
+++ xerces/c/branches/jberry/3.0-unstable/configure.ac Wed May 25 16:35:17 2005
@@ -141,6 +141,9 @@
 XERCES_NETACCESSOR_SELECTION
 XERCES_TRANSCODER_SELECTION
 XERCES_MSGLOADER_SELECTION
+XERCES_FILEMGR_SELECTION
+XERCES_MUTEXMGR_SELECTION
+XERCES_ATOMICOPMGR_SELECTION
 
 
 
@@ -148,6 +151,11 @@
 # Define some namespace-protected macros for use in the publicly visible
 # XercesConfig.h file.
 ######################################################
+AC_DEFINE([XERCES_AUTOCONF], 1, [Define to true if autoconf is used in this configuration])
+
+AS_IF([test x$ac_cv_header_sys_types_h = xyes],
+	AC_DEFINE([XERCES_HAVE_SYS_TYPES_H], 1, [Define to 1 if we have sys/types.h]))
+
 case $host in
 *-*-msdos* | *-*-mingw32* | *-*-cygwin* | *-*-windows* )
 	platform_export="__declspec(dllexport)"
@@ -161,8 +169,6 @@
 AC_DEFINE_UNQUOTED([XERCES_PLATFORM_EXPORT], [$platform_export], [Define as the platform's export attribute])
 AC_DEFINE_UNQUOTED([XERCES_PLATFORM_IMPORT], [$platform_import], [Define as the platform's import attribute])
 
-AC_DEFINE([XERCES_AUTOCONF], 1, [Define to true if autoconf is used in this configuration])
-
 AS_IF([test ! $ac_cv_cxx_have_bool],
 	AC_DEFINE([XERCES_NO_NATIVE_BOOL], 1, [Define if there is no native bool support in this environment]))
 
@@ -173,8 +179,8 @@
 AC_DEFINE_UNQUOTED([XERCES_32BIT_INT], $xerces_cv_type_32bit_int, [An appropriate 32 bit integer type])
 
 AS_IF([test $ac_cv_sizeof_wchar_t -eq 2],
-	AC_DEFINE([XERCES_XMLCH], [wchar_t], [Define to the 16 bit type used to represent Xerces UTF-16 characters]),
-	AC_DEFINE_UNQUOTED([XERCES_XMLCH], [unsigned $xerces_cv_type_16bit_int], [Define to the 16 bit type used to represent Xerces UTF-16 characters]))
+	AC_DEFINE([XERCES_XMLCH_T], [wchar_t], [Define to the 16 bit type used to represent Xerces UTF-16 characters]),
+	AC_DEFINE_UNQUOTED([XERCES_XMLCH_T], [unsigned $xerces_cv_type_16bit_int], [Define to the 16 bit type used to represent Xerces UTF-16 characters]))
 	
 AS_IF([test x$ac_cv_type_size_t = xyes],
 	AC_DEFINE([XERCES_SIZE_T], [size_t], [Define as the appropriate size_t type]),

Modified: xerces/c/branches/jberry/3.0-unstable/lib/Makefile.in
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/lib/Makefile.in?rev=178551&r1=178550&r2=178551&view=diff
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/lib/Makefile.in (original)
+++ xerces/c/branches/jberry/3.0-unstable/lib/Makefile.in Wed May 25 16:35:17 2005
@@ -67,11 +67,14 @@
 	$(top_srcdir)/m4/cxx_have_namespaces.m4 \
 	$(top_srcdir)/m4/cxx_have_std_libs.m4 \
 	$(top_srcdir)/m4/cxx_have_std_namespace.m4 \
+	$(top_srcdir)/m4/xerces_atomicopmgr_selection.m4 \
 	$(top_srcdir)/m4/xerces_curl_prefix.m4 \
+	$(top_srcdir)/m4/xerces_filemgr_selection.m4 \
 	$(top_srcdir)/m4/xerces_icu_prefix.m4 \
 	$(top_srcdir)/m4/xerces_libwww_prefix.m4 \
 	$(top_srcdir)/m4/xerces_link_darwin_framework.m4 \
 	$(top_srcdir)/m4/xerces_msgloader_selection.m4 \
+	$(top_srcdir)/m4/xerces_mutexmgr_selection.m4 \
 	$(top_srcdir)/m4/xerces_netaccessor_selection.m4 \
 	$(top_srcdir)/m4/xerces_transcoder_selection.m4 \
 	$(top_srcdir)/m4/xerces_type_16bit_int.m4 \
@@ -173,6 +176,12 @@
 XERCES_USE_NETACCESSOR_SOCKET_TRUE = @XERCES_USE_NETACCESSOR_SOCKET_TRUE@
 XERCES_USE_NETACCESSOR_WINSOCK_FALSE = @XERCES_USE_NETACCESSOR_WINSOCK_FALSE@
 XERCES_USE_NETACCESSOR_WINSOCK_TRUE = @XERCES_USE_NETACCESSOR_WINSOCK_TRUE@
+XERCES_USE_POSIX_ATOMICOPMGR_FALSE = @XERCES_USE_POSIX_ATOMICOPMGR_FALSE@
+XERCES_USE_POSIX_ATOMICOPMGR_TRUE = @XERCES_USE_POSIX_ATOMICOPMGR_TRUE@
+XERCES_USE_POSIX_FILEMGR_FALSE = @XERCES_USE_POSIX_FILEMGR_FALSE@
+XERCES_USE_POSIX_FILEMGR_TRUE = @XERCES_USE_POSIX_FILEMGR_TRUE@
+XERCES_USE_POSIX_MUTEXMGR_FALSE = @XERCES_USE_POSIX_MUTEXMGR_FALSE@
+XERCES_USE_POSIX_MUTEXMGR_TRUE = @XERCES_USE_POSIX_MUTEXMGR_TRUE@
 XERCES_USE_TRANSCODER_ICU_FALSE = @XERCES_USE_TRANSCODER_ICU_FALSE@
 XERCES_USE_TRANSCODER_ICU_TRUE = @XERCES_USE_TRANSCODER_ICU_TRUE@
 XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER_FALSE = @XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER_FALSE@

Added: xerces/c/branches/jberry/3.0-unstable/m4/xerces_atomicopmgr_selection.m4
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/m4/xerces_atomicopmgr_selection.m4?rev=178551&view=auto
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/m4/xerces_atomicopmgr_selection.m4 (added)
+++ xerces/c/branches/jberry/3.0-unstable/m4/xerces_atomicopmgr_selection.m4 Wed May 25 16:35:17 2005
@@ -0,0 +1,39 @@
+dnl @synopsis XERCES_ATOMICOPMGR_SELECTION
+dnl
+dnl Determines the which XMLAtomicOpMgr to use
+dnl
+dnl @category C
+dnl @author James Berry
+dnl @version 2005-05-25
+dnl @license AllPermissive
+dnl
+dnl $Id$
+
+AC_DEFUN([XERCES_ATOMICOPMGR_SELECTION],
+	[
+	
+	AC_MSG_CHECKING([for which AtomicOp Manager to use])
+	mgr=
+	
+	# Platform specific checks
+	case $host_os in
+	windows* | cygwin*)
+		#mgr=Windows
+		;;
+	esac
+	
+	# Fall back to using posix mutex
+	AS_IF([test -z "$mgr"],
+		[mgr=POSIX;
+			AC_DEFINE([XERCES_USE_POSIX_ATOMICOPMGR], 1, [Define to use the POSIX AtomicOp mgr])
+		])
+
+	AC_MSG_RESULT($mgr)
+	
+	# Define the auto-make conditionals which determine what actually gets compiled
+	# Note that these macros can't be executed conditionally, which is why they're here, not above.
+	AM_CONDITIONAL([XERCES_USE_POSIX_ATOMICOPMGR],	[test x"$mgr" = xPOSIX])
+	
+	]
+)
+

Added: xerces/c/branches/jberry/3.0-unstable/m4/xerces_filemgr_selection.m4
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/m4/xerces_filemgr_selection.m4?rev=178551&view=auto
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/m4/xerces_filemgr_selection.m4 (added)
+++ xerces/c/branches/jberry/3.0-unstable/m4/xerces_filemgr_selection.m4 Wed May 25 16:35:17 2005
@@ -0,0 +1,39 @@
+dnl @synopsis XERCES_FILEMGR_SELECTION
+dnl
+dnl Determines the which filemgr to use
+dnl
+dnl @category C
+dnl @author James Berry
+dnl @version 2005-05-25
+dnl @license AllPermissive
+dnl
+dnl $Id$
+
+AC_DEFUN([XERCES_FILEMGR_SELECTION],
+	[
+	
+	AC_MSG_CHECKING([for which File Manager to use])
+	mgr=
+	
+	# Platform specific checks
+	case $host_os in
+	windows* | cygwin*)
+		#mgr=Windows
+		;;
+	esac
+	
+	# Fall back to using posix files
+	AS_IF([test -z "$mgr"],
+		[mgr=POSIX;
+			AC_DEFINE([XERCES_USE_POSIX_FILEMGR], 1, [Define to use the POSIX file mgr])
+		])
+
+	AC_MSG_RESULT($mgr)
+	
+	# Define the auto-make conditionals which determine what actually gets compiled
+	# Note that these macros can't be executed conditionally, which is why they're here, not above.
+	AM_CONDITIONAL([XERCES_USE_POSIX_FILEMGR],	[test x"$mgr" = xPOSIX])
+	
+	]
+)
+

Modified: xerces/c/branches/jberry/3.0-unstable/m4/xerces_libwww_prefix.m4
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/m4/xerces_libwww_prefix.m4?rev=178551&r1=178550&r2=178551&view=diff
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/m4/xerces_libwww_prefix.m4 (original)
+++ xerces/c/branches/jberry/3.0-unstable/m4/xerces_libwww_prefix.m4 Wed May 25 16:35:17 2005
@@ -29,6 +29,7 @@
 			done
 		fi
 	])
+	
 	]
 )
 

Modified: xerces/c/branches/jberry/3.0-unstable/m4/xerces_msgloader_selection.m4
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/m4/xerces_msgloader_selection.m4?rev=178551&r1=178550&r2=178551&view=diff
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/m4/xerces_msgloader_selection.m4 (original)
+++ xerces/c/branches/jberry/3.0-unstable/m4/xerces_msgloader_selection.m4 Wed May 25 16:35:17 2005
@@ -22,6 +22,7 @@
 	ml_list=
 	
 	# Check for inmemory msgloader
+	AC_MSG_CHECKING([for whether we support the InMemory MsgLoader])
 	list_add=
 	AS_IF([true], [
 		AC_ARG_ENABLE([msgloader-inmemory],

Added: xerces/c/branches/jberry/3.0-unstable/m4/xerces_mutexmgr_selection.m4
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/m4/xerces_mutexmgr_selection.m4?rev=178551&view=auto
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/m4/xerces_mutexmgr_selection.m4 (added)
+++ xerces/c/branches/jberry/3.0-unstable/m4/xerces_mutexmgr_selection.m4 Wed May 25 16:35:17 2005
@@ -0,0 +1,40 @@
+dnl @synopsis XERCES_MUTEXMGR_SELECTION
+dnl
+dnl Determines the which XMLMutexMgr to use
+dnl
+dnl @category C
+dnl @author James Berry
+dnl @version 2005-05-25
+dnl @license AllPermissive
+dnl
+dnl $Id$
+
+AC_DEFUN([XERCES_MUTEXMGR_SELECTION],
+	[
+	
+	AC_MSG_CHECKING([for which Mutex Manager to use])
+	mgr=
+	
+	# Platform specific checks
+	case $host_os in
+	windows* | cygwin*)
+		#mgr=Windows
+		;;
+	esac
+	
+	# Fall back to using posix mutex
+	AS_IF([test -z "$mgr"],
+		[mgr=POSIX;
+			AC_DEFINE([XERCES_USE_POSIX_MUTEXMGR], 1, [Define to use the POSIX mutex mgr])
+		])
+
+	AC_MSG_RESULT($mgr)
+	
+	# Define the auto-make conditionals which determine what actually gets compiled
+	# Note that these macros can't be executed conditionally, which is why they're here, not above.
+	AM_CONDITIONAL([XERCES_USE_POSIX_MUTEXMGR],	[test x"$mgr" = xPOSIX])
+	
+	]
+)
+
+

Modified: xerces/c/branches/jberry/3.0-unstable/m4/xerces_transcoder_selection.m4
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/m4/xerces_transcoder_selection.m4?rev=178551&r1=178550&r2=178551&view=diff
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/m4/xerces_transcoder_selection.m4 (original)
+++ xerces/c/branches/jberry/3.0-unstable/m4/xerces_transcoder_selection.m4 Wed May 25 16:35:17 2005
@@ -42,6 +42,7 @@
 	
 	# Check for MacOSUnicodeConverter
 	AC_MSG_CHECKING([for whether we can support the MacOSUnicodeConverter Transcoder])
+	list_add=
 	case $host_os in
 	darwin*)
 		if test x"$ac_cv_header_CoreServices_CoreServices_h" = xyes; then

Modified: xerces/c/branches/jberry/3.0-unstable/obj/Makefile.in
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/obj/Makefile.in?rev=178551&r1=178550&r2=178551&view=diff
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/obj/Makefile.in (original)
+++ xerces/c/branches/jberry/3.0-unstable/obj/Makefile.in Wed May 25 16:35:17 2005
@@ -66,11 +66,14 @@
 	$(top_srcdir)/m4/cxx_have_namespaces.m4 \
 	$(top_srcdir)/m4/cxx_have_std_libs.m4 \
 	$(top_srcdir)/m4/cxx_have_std_namespace.m4 \
+	$(top_srcdir)/m4/xerces_atomicopmgr_selection.m4 \
 	$(top_srcdir)/m4/xerces_curl_prefix.m4 \
+	$(top_srcdir)/m4/xerces_filemgr_selection.m4 \
 	$(top_srcdir)/m4/xerces_icu_prefix.m4 \
 	$(top_srcdir)/m4/xerces_libwww_prefix.m4 \
 	$(top_srcdir)/m4/xerces_link_darwin_framework.m4 \
 	$(top_srcdir)/m4/xerces_msgloader_selection.m4 \
+	$(top_srcdir)/m4/xerces_mutexmgr_selection.m4 \
 	$(top_srcdir)/m4/xerces_netaccessor_selection.m4 \
 	$(top_srcdir)/m4/xerces_transcoder_selection.m4 \
 	$(top_srcdir)/m4/xerces_type_16bit_int.m4 \
@@ -179,6 +182,12 @@
 XERCES_USE_NETACCESSOR_SOCKET_TRUE = @XERCES_USE_NETACCESSOR_SOCKET_TRUE@
 XERCES_USE_NETACCESSOR_WINSOCK_FALSE = @XERCES_USE_NETACCESSOR_WINSOCK_FALSE@
 XERCES_USE_NETACCESSOR_WINSOCK_TRUE = @XERCES_USE_NETACCESSOR_WINSOCK_TRUE@
+XERCES_USE_POSIX_ATOMICOPMGR_FALSE = @XERCES_USE_POSIX_ATOMICOPMGR_FALSE@
+XERCES_USE_POSIX_ATOMICOPMGR_TRUE = @XERCES_USE_POSIX_ATOMICOPMGR_TRUE@
+XERCES_USE_POSIX_FILEMGR_FALSE = @XERCES_USE_POSIX_FILEMGR_FALSE@
+XERCES_USE_POSIX_FILEMGR_TRUE = @XERCES_USE_POSIX_FILEMGR_TRUE@
+XERCES_USE_POSIX_MUTEXMGR_FALSE = @XERCES_USE_POSIX_MUTEXMGR_FALSE@
+XERCES_USE_POSIX_MUTEXMGR_TRUE = @XERCES_USE_POSIX_MUTEXMGR_TRUE@
 XERCES_USE_TRANSCODER_ICU_FALSE = @XERCES_USE_TRANSCODER_ICU_FALSE@
 XERCES_USE_TRANSCODER_ICU_TRUE = @XERCES_USE_TRANSCODER_ICU_TRUE@
 XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER_FALSE = @XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER_FALSE@

Modified: xerces/c/branches/jberry/3.0-unstable/src/Makefile.am
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/src/Makefile.am?rev=178551&r1=178550&r2=178551&view=diff
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/src/Makefile.am (original)
+++ xerces/c/branches/jberry/3.0-unstable/src/Makefile.am Wed May 25 16:35:17 2005
@@ -40,6 +40,11 @@
 #
 src_libraries =
 
+src_libraries +=					libutil.la
+libutil_ladir =						${includedir}
+nobase_libutil_la_HEADERS =			${util_headers}
+libutil_la_SOURCES =				${util_sources}
+
 src_libraries +=					libdom.la
 libdom_ladir =						${includedir}
 nobase_libdom_la_HEADERS =			${dom_headers}
@@ -75,11 +80,6 @@
 nobase_libsax2_la_HEADERS =			${sax2_headers}
 libsax2_la_SOURCES =				${sax2_sources}
 
-src_libraries +=					libutil.la
-libutil_ladir =						${includedir}
-nobase_libutil_la_HEADERS =			${util_headers}
-libutil_la_SOURCES =				${util_sources}
-
 src_libraries +=					libvalidators.la
 libvalidators_ladir =				${includedir}
 nobase_libvalidators_la_HEADERS =	${validators_headers}
@@ -130,14 +130,13 @@
 #
 # TEMPORARY PLATFORM SUPPORT
 #
-src_libraries +=					libmacplatform.la
-libmacplatform_ladir =				${includedir}
-nobase_libmacplatform_la_HEADERS =	${macplatform_headers}
-libmacplatform_la_SOURCES =			${macplatform_sources}
-libmacplatform_la_CPPFLAGS =		-DXML_USE_NETACCESSOR_URLACCESSCF \
-									-DXML_USE_MACOS_UNICODECONVERTER \
-									-DXML_USE_INMEMORY_MSGLOADER
-
+#src_libraries +=					libmacplatform.la
+#libmacplatform_ladir =				${includedir}
+#nobase_libmacplatform_la_HEADERS =	${macplatform_headers}
+#libmacplatform_la_SOURCES =		${macplatform_sources}
+#libmacplatform_la_CPPFLAGS =		-DXML_USE_NETACCESSOR_URLACCESSCF \
+#									-DXML_USE_MACOS_UNICODECONVERTER \
+#									-DXML_USE_INMEMORY_MSGLOADER
 
 #
 # Definition of sources/headers for each convenience library

Modified: xerces/c/branches/jberry/3.0-unstable/src/Makefile.in
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/src/Makefile.in?rev=178551&r1=178550&r2=178551&view=diff
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/src/Makefile.in (original)
+++ xerces/c/branches/jberry/3.0-unstable/src/Makefile.in Wed May 25 16:35:17 2005
@@ -35,7 +35,7 @@
 #
 
 
-SOURCES = $(libcfurl_la_SOURCES) $(libdom_la_SOURCES) $(libdomimpl_la_SOURCES) $(libframework_la_SOURCES) $(libicu_la_SOURCES) $(libinmemory_la_SOURCES) $(libinternal_la_SOURCES) $(libmacosunicodeconverter_la_SOURCES) $(libmacplatform_la_SOURCES) $(libparsers_la_SOURCES) $(libsax_la_SOURCES) $(libsax2_la_SOURCES) $(libsrc_la_SOURCES) $(libutil_la_SOURCES) $(libvalidators_la_SOURCES)
+SOURCES = $(libcfurl_la_SOURCES) $(libdom_la_SOURCES) $(libdomimpl_la_SOURCES) $(libframework_la_SOURCES) $(libicu_la_SOURCES) $(libinmemory_la_SOURCES) $(libinternal_la_SOURCES) $(libmacosunicodeconverter_la_SOURCES) $(libparsers_la_SOURCES) $(libsax_la_SOURCES) $(libsax2_la_SOURCES) $(libsrc_la_SOURCES) $(libutil_la_SOURCES) $(libvalidators_la_SOURCES)
 
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
@@ -83,7 +83,6 @@
 	$(nobase_libdom_la_HEADERS) $(nobase_libdomimpl_la_HEADERS) \
 	$(nobase_libframework_la_HEADERS) \
 	$(nobase_libinternal_la_HEADERS) \
-	$(nobase_libmacplatform_la_HEADERS) \
 	$(nobase_libparsers_la_HEADERS) $(nobase_libsax2_la_HEADERS) \
 	$(nobase_libsax_la_HEADERS) $(nobase_libutil_la_HEADERS) \
 	$(nobase_libvalidators_la_HEADERS) $(srcdir)/Makefile.am \
@@ -94,11 +93,14 @@
 	$(top_srcdir)/m4/cxx_have_namespaces.m4 \
 	$(top_srcdir)/m4/cxx_have_std_libs.m4 \
 	$(top_srcdir)/m4/cxx_have_std_namespace.m4 \
+	$(top_srcdir)/m4/xerces_atomicopmgr_selection.m4 \
 	$(top_srcdir)/m4/xerces_curl_prefix.m4 \
+	$(top_srcdir)/m4/xerces_filemgr_selection.m4 \
 	$(top_srcdir)/m4/xerces_icu_prefix.m4 \
 	$(top_srcdir)/m4/xerces_libwww_prefix.m4 \
 	$(top_srcdir)/m4/xerces_link_darwin_framework.m4 \
 	$(top_srcdir)/m4/xerces_msgloader_selection.m4 \
+	$(top_srcdir)/m4/xerces_mutexmgr_selection.m4 \
 	$(top_srcdir)/m4/xerces_netaccessor_selection.m4 \
 	$(top_srcdir)/m4/xerces_transcoder_selection.m4 \
 	$(top_srcdir)/m4/xerces_type_16bit_int.m4 \
@@ -265,44 +267,39 @@
 libmacosunicodeconverter_la_OBJECTS =  \
 	$(am_libmacosunicodeconverter_la_OBJECTS)
 @XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER_TRUE@am_libmacosunicodeconverter_la_rpath =
-libmacplatform_la_LIBADD =
-am__objects_9 = xercesc/util/Platforms/MacOS/libmacplatform_la-MacCarbonFile.lo \
-	xercesc/util/Platforms/MacOS/libmacplatform_la-MacOSPlatformUtils.lo \
-	xercesc/util/Platforms/MacOS/libmacplatform_la-MacPosixFile.lo
-am_libmacplatform_la_OBJECTS = $(am__objects_9)
-libmacplatform_la_OBJECTS = $(am_libmacplatform_la_OBJECTS)
 libparsers_la_LIBADD =
-am__objects_10 = xercesc/parsers/AbstractDOMParser.lo \
+am__objects_9 = xercesc/parsers/AbstractDOMParser.lo \
 	xercesc/parsers/DOMBuilderImpl.lo \
 	xercesc/parsers/SAX2XMLFilterImpl.lo \
 	xercesc/parsers/SAX2XMLReaderImpl.lo \
 	xercesc/parsers/SAXParser.lo \
 	xercesc/parsers/XercesDOMParser.lo
-am_libparsers_la_OBJECTS = $(am__objects_10)
+am_libparsers_la_OBJECTS = $(am__objects_9)
 libparsers_la_OBJECTS = $(am_libparsers_la_OBJECTS)
 libsax_la_LIBADD =
-am__objects_11 = xercesc/sax/Dummy.lo xercesc/sax/InputSource.lo \
+am__objects_10 = xercesc/sax/Dummy.lo xercesc/sax/InputSource.lo \
 	xercesc/sax/SAXException.lo xercesc/sax/SAXParseException.lo
-am_libsax_la_OBJECTS = $(am__objects_11)
+am_libsax_la_OBJECTS = $(am__objects_10)
 libsax_la_OBJECTS = $(am_libsax_la_OBJECTS)
 libsax2_la_LIBADD =
-am__objects_12 = xercesc/sax2/sax2Dummy.lo
-am_libsax2_la_OBJECTS = $(am__objects_12)
+am__objects_11 = xercesc/sax2/sax2Dummy.lo
+am_libsax2_la_OBJECTS = $(am__objects_11)
 libsax2_la_OBJECTS = $(am_libsax2_la_OBJECTS)
 @XERCES_USE_NETACCESSOR_CFURL_TRUE@am__DEPENDENCIES_1 = libcfurl.la
 @XERCES_USE_TRANSCODER_ICU_TRUE@am__DEPENDENCIES_2 = libicu.la
 @XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER_TRUE@am__DEPENDENCIES_3 = libmacosunicodeconverter.la
 @XERCES_USE_MSGLOADER_INMEMORY_TRUE@am__DEPENDENCIES_4 =  \
 @XERCES_USE_MSGLOADER_INMEMORY_TRUE@	libinmemory.la
-am__DEPENDENCIES_5 = libdom.la libdomimpl.la libframework.la \
-	libinternal.la libparsers.la libsax.la libsax2.la libutil.la \
-	libvalidators.la $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
-	$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4) libmacplatform.la
+am__DEPENDENCIES_5 = libutil.la libdom.la libdomimpl.la \
+	libframework.la libinternal.la libparsers.la libsax.la \
+	libsax2.la libvalidators.la $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \
+	$(am__DEPENDENCIES_4)
 libsrc_la_DEPENDENCIES = $(am__DEPENDENCIES_5)
 am_libsrc_la_OBJECTS =
 libsrc_la_OBJECTS = $(am_libsrc_la_OBJECTS)
 libutil_la_LIBADD =
-am__objects_13 = xercesc/util/Base64.lo \
+am__objects_12 = xercesc/util/Base64.lo \
 	xercesc/util/BinFileInputStream.lo \
 	xercesc/util/BinInputStream.lo \
 	xercesc/util/BinMemInputStream.lo xercesc/util/BitSet.lo \
@@ -354,10 +351,10 @@
 	xercesc/util/XMLUTF16Transcoder.lo \
 	xercesc/util/XMLUTF8Transcoder.lo \
 	xercesc/util/XMLWin1252Transcoder.lo
-am_libutil_la_OBJECTS = $(am__objects_13)
+am_libutil_la_OBJECTS = $(am__objects_12)
 libutil_la_OBJECTS = $(am_libutil_la_OBJECTS)
 libvalidators_la_LIBADD =
-am__objects_14 = xercesc/validators/common/AllContentModel.lo \
+am__objects_13 = xercesc/validators/common/AllContentModel.lo \
 	xercesc/validators/common/CMAny.lo \
 	xercesc/validators/common/CMBinaryOp.lo \
 	xercesc/validators/common/CMUnaryOp.lo \
@@ -445,7 +442,7 @@
 	xercesc/validators/schema/XSDErrorReporter.lo \
 	xercesc/validators/schema/XSDLocator.lo \
 	xercesc/validators/schema/XUtil.lo
-am_libvalidators_la_OBJECTS = $(am__objects_14)
+am_libvalidators_la_OBJECTS = $(am__objects_13)
 libvalidators_la_OBJECTS = $(am_libvalidators_la_OBJECTS)
 DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
@@ -471,19 +468,17 @@
 	$(libicu_la_SOURCES) $(libinmemory_la_SOURCES) \
 	$(libinternal_la_SOURCES) \
 	$(libmacosunicodeconverter_la_SOURCES) \
-	$(libmacplatform_la_SOURCES) $(libparsers_la_SOURCES) \
-	$(libsax_la_SOURCES) $(libsax2_la_SOURCES) \
-	$(libsrc_la_SOURCES) $(libutil_la_SOURCES) \
-	$(libvalidators_la_SOURCES)
+	$(libparsers_la_SOURCES) $(libsax_la_SOURCES) \
+	$(libsax2_la_SOURCES) $(libsrc_la_SOURCES) \
+	$(libutil_la_SOURCES) $(libvalidators_la_SOURCES)
 DIST_SOURCES = $(am__libcfurl_la_SOURCES_DIST) $(libdom_la_SOURCES) \
 	$(libdomimpl_la_SOURCES) $(libframework_la_SOURCES) \
 	$(am__libicu_la_SOURCES_DIST) \
 	$(am__libinmemory_la_SOURCES_DIST) $(libinternal_la_SOURCES) \
 	$(am__libmacosunicodeconverter_la_SOURCES_DIST) \
-	$(libmacplatform_la_SOURCES) $(libparsers_la_SOURCES) \
-	$(libsax_la_SOURCES) $(libsax2_la_SOURCES) \
-	$(libsrc_la_SOURCES) $(libutil_la_SOURCES) \
-	$(libvalidators_la_SOURCES)
+	$(libparsers_la_SOURCES) $(libsax_la_SOURCES) \
+	$(libsax2_la_SOURCES) $(libsrc_la_SOURCES) \
+	$(libutil_la_SOURCES) $(libvalidators_la_SOURCES)
 am__nobase_libcfurl_la_HEADERS_DIST = xercesc/util/NetAccessors/MacOSURLAccessCF/MacOSURLAccessCF.hpp \
 	xercesc/util/NetAccessors/MacOSURLAccessCF/URLAccessCFBinInputStream.hpp
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -498,7 +493,6 @@
 	"$(DESTDIR)$(libinmemory_ladir)" \
 	"$(DESTDIR)$(libinternal_ladir)" \
 	"$(DESTDIR)$(libmacosunicodeconverter_ladir)" \
-	"$(DESTDIR)$(libmacplatform_ladir)" \
 	"$(DESTDIR)$(libparsers_ladir)" "$(DESTDIR)$(libsax2_ladir)" \
 	"$(DESTDIR)$(libsax_ladir)" "$(DESTDIR)$(libutil_ladir)" \
 	"$(DESTDIR)$(libvalidators_ladir)"
@@ -516,7 +510,6 @@
 nobase_libinternal_laHEADERS_INSTALL = $(install_sh_DATA)
 am__nobase_libmacosunicodeconverter_la_HEADERS_DIST = xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.hpp
 nobase_libmacosunicodeconverter_laHEADERS_INSTALL = $(install_sh_DATA)
-nobase_libmacplatform_laHEADERS_INSTALL = $(install_sh_DATA)
 nobase_libparsers_laHEADERS_INSTALL = $(install_sh_DATA)
 nobase_libsax2_laHEADERS_INSTALL = $(install_sh_DATA)
 nobase_libsax_laHEADERS_INSTALL = $(install_sh_DATA)
@@ -528,7 +521,6 @@
 	$(nobase_libinmemory_la_HEADERS) \
 	$(nobase_libinternal_la_HEADERS) \
 	$(nobase_libmacosunicodeconverter_la_HEADERS) \
-	$(nobase_libmacplatform_la_HEADERS) \
 	$(nobase_libparsers_la_HEADERS) $(nobase_libsax2_la_HEADERS) \
 	$(nobase_libsax_la_HEADERS) $(nobase_libutil_la_HEADERS) \
 	$(nobase_libvalidators_la_HEADERS)
@@ -605,6 +597,12 @@
 XERCES_USE_NETACCESSOR_SOCKET_TRUE = @XERCES_USE_NETACCESSOR_SOCKET_TRUE@
 XERCES_USE_NETACCESSOR_WINSOCK_FALSE = @XERCES_USE_NETACCESSOR_WINSOCK_FALSE@
 XERCES_USE_NETACCESSOR_WINSOCK_TRUE = @XERCES_USE_NETACCESSOR_WINSOCK_TRUE@
+XERCES_USE_POSIX_ATOMICOPMGR_FALSE = @XERCES_USE_POSIX_ATOMICOPMGR_FALSE@
+XERCES_USE_POSIX_ATOMICOPMGR_TRUE = @XERCES_USE_POSIX_ATOMICOPMGR_TRUE@
+XERCES_USE_POSIX_FILEMGR_FALSE = @XERCES_USE_POSIX_FILEMGR_FALSE@
+XERCES_USE_POSIX_FILEMGR_TRUE = @XERCES_USE_POSIX_FILEMGR_TRUE@
+XERCES_USE_POSIX_MUTEXMGR_FALSE = @XERCES_USE_POSIX_MUTEXMGR_FALSE@
+XERCES_USE_POSIX_MUTEXMGR_TRUE = @XERCES_USE_POSIX_MUTEXMGR_TRUE@
 XERCES_USE_TRANSCODER_ICU_FALSE = @XERCES_USE_TRANSCODER_ICU_FALSE@
 XERCES_USE_TRANSCODER_ICU_TRUE = @XERCES_USE_TRANSCODER_ICU_TRUE@
 XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER_FALSE = @XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER_FALSE@
@@ -671,14 +669,13 @@
 #
 # Build convenience libraries for the various xerces components
 #
-
-#
-# TEMPORARY PLATFORM SUPPORT
-#
-src_libraries = libdom.la libdomimpl.la libframework.la libinternal.la \
-	libparsers.la libsax.la libsax2.la libutil.la libvalidators.la \
-	$(am__append_1) $(am__append_2) $(am__append_3) \
-	$(am__append_4) libmacplatform.la
+src_libraries = libutil.la libdom.la libdomimpl.la libframework.la \
+	libinternal.la libparsers.la libsax.la libsax2.la \
+	libvalidators.la $(am__append_1) $(am__append_2) \
+	$(am__append_3) $(am__append_4)
+libutil_ladir = ${includedir}
+nobase_libutil_la_HEADERS = ${util_headers}
+libutil_la_SOURCES = ${util_sources}
 libdom_ladir = ${includedir}
 nobase_libdom_la_HEADERS = ${dom_headers}
 libdom_la_SOURCES = ${dom_sources}
@@ -700,9 +697,6 @@
 libsax2_ladir = ${includedir}
 nobase_libsax2_la_HEADERS = ${sax2_headers}
 libsax2_la_SOURCES = ${sax2_sources}
-libutil_ladir = ${includedir}
-nobase_libutil_la_HEADERS = ${util_headers}
-libutil_la_SOURCES = ${util_sources}
 libvalidators_ladir = ${includedir}
 nobase_libvalidators_la_HEADERS = ${validators_headers}
 libvalidators_la_SOURCES = ${validators_sources}
@@ -721,13 +715,17 @@
 @XERCES_USE_MSGLOADER_INMEMORY_TRUE@libinmemory_ladir = ${includedir}
 @XERCES_USE_MSGLOADER_INMEMORY_TRUE@nobase_libinmemory_la_HEADERS = ${inmemory_headers}
 @XERCES_USE_MSGLOADER_INMEMORY_TRUE@libinmemory_la_SOURCES = ${inmemory_sources}
-libmacplatform_ladir = ${includedir}
-nobase_libmacplatform_la_HEADERS = ${macplatform_headers}
-libmacplatform_la_SOURCES = ${macplatform_sources}
-libmacplatform_la_CPPFLAGS = -DXML_USE_NETACCESSOR_URLACCESSCF \
-									-DXML_USE_MACOS_UNICODECONVERTER \
-									-DXML_USE_INMEMORY_MSGLOADER
 
+#
+# TEMPORARY PLATFORM SUPPORT
+#
+#src_libraries +=					libmacplatform.la
+#libmacplatform_ladir =				${includedir}
+#nobase_libmacplatform_la_HEADERS =	${macplatform_headers}
+#libmacplatform_la_SOURCES =		${macplatform_sources}
+#libmacplatform_la_CPPFLAGS =		-DXML_USE_NETACCESSOR_URLACCESSCF \
+#									-DXML_USE_MACOS_UNICODECONVERTER \
+#									-DXML_USE_INMEMORY_MSGLOADER
 
 #
 # Definition of sources/headers for each convenience library
@@ -1941,23 +1939,6 @@
 	xercesc/util/Transcoders/MacOSUnicodeConverter/$(DEPDIR)/$(am__dirstamp)
 libmacosunicodeconverter.la: $(libmacosunicodeconverter_la_OBJECTS) $(libmacosunicodeconverter_la_DEPENDENCIES) 
 	$(CXXLINK) $(am_libmacosunicodeconverter_la_rpath) $(libmacosunicodeconverter_la_LDFLAGS) $(libmacosunicodeconverter_la_OBJECTS) $(libmacosunicodeconverter_la_LIBADD) $(LIBS)
-xercesc/util/Platforms/MacOS/$(am__dirstamp):
-	@$(mkdir_p) xercesc/util/Platforms/MacOS
-	@: > xercesc/util/Platforms/MacOS/$(am__dirstamp)
-xercesc/util/Platforms/MacOS/$(DEPDIR)/$(am__dirstamp):
-	@$(mkdir_p) xercesc/util/Platforms/MacOS/$(DEPDIR)
-	@: > xercesc/util/Platforms/MacOS/$(DEPDIR)/$(am__dirstamp)
-xercesc/util/Platforms/MacOS/libmacplatform_la-MacCarbonFile.lo:  \
-	xercesc/util/Platforms/MacOS/$(am__dirstamp) \
-	xercesc/util/Platforms/MacOS/$(DEPDIR)/$(am__dirstamp)
-xercesc/util/Platforms/MacOS/libmacplatform_la-MacOSPlatformUtils.lo:  \
-	xercesc/util/Platforms/MacOS/$(am__dirstamp) \
-	xercesc/util/Platforms/MacOS/$(DEPDIR)/$(am__dirstamp)
-xercesc/util/Platforms/MacOS/libmacplatform_la-MacPosixFile.lo:  \
-	xercesc/util/Platforms/MacOS/$(am__dirstamp) \
-	xercesc/util/Platforms/MacOS/$(DEPDIR)/$(am__dirstamp)
-libmacplatform.la: $(libmacplatform_la_OBJECTS) $(libmacplatform_la_DEPENDENCIES) 
-	$(CXXLINK)  $(libmacplatform_la_LDFLAGS) $(libmacplatform_la_OBJECTS) $(libmacplatform_la_LIBADD) $(LIBS)
 xercesc/parsers/$(am__dirstamp):
 	@$(mkdir_p) xercesc/parsers
 	@: > xercesc/parsers/$(am__dirstamp)
@@ -2759,12 +2740,6 @@
 	-rm -f xercesc/util/PanicHandler.lo
 	-rm -f xercesc/util/PlatformUtils.$(OBJEXT)
 	-rm -f xercesc/util/PlatformUtils.lo
-	-rm -f xercesc/util/Platforms/MacOS/libmacplatform_la-MacCarbonFile.$(OBJEXT)
-	-rm -f xercesc/util/Platforms/MacOS/libmacplatform_la-MacCarbonFile.lo
-	-rm -f xercesc/util/Platforms/MacOS/libmacplatform_la-MacOSPlatformUtils.$(OBJEXT)
-	-rm -f xercesc/util/Platforms/MacOS/libmacplatform_la-MacOSPlatformUtils.lo
-	-rm -f xercesc/util/Platforms/MacOS/libmacplatform_la-MacPosixFile.$(OBJEXT)
-	-rm -f xercesc/util/Platforms/MacOS/libmacplatform_la-MacPosixFile.lo
 	-rm -f xercesc/util/QName.$(OBJEXT)
 	-rm -f xercesc/util/QName.lo
 	-rm -f xercesc/util/StringPool.$(OBJEXT)
@@ -3242,9 +3217,6 @@
 @AMDEP_TRUE@@am__include@ @am__quote@xercesc/util/MsgLoaders/InMemory/$(DEPDIR)/InMemMsgLoader.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@xercesc/util/NetAccessors/MacOSURLAccessCF/$(DEPDIR)/MacOSURLAccessCF.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@xercesc/util/NetAccessors/MacOSURLAccessCF/$(DEPDIR)/URLAccessCFBinInputStream.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@xercesc/util/Platforms/MacOS/$(DEPDIR)/libmacplatform_la-MacCarbonFile.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@xercesc/util/Platforms/MacOS/$(DEPDIR)/libmacplatform_la-MacOSPlatformUtils.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@xercesc/util/Platforms/MacOS/$(DEPDIR)/libmacplatform_la-MacPosixFile.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@xercesc/util/Transcoders/ICU/$(DEPDIR)/libicu_la-ICUTransService.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@xercesc/util/Transcoders/MacOSUnicodeConverter/$(DEPDIR)/MacOSUnicodeConverter.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@xercesc/util/regx/$(DEPDIR)/ASCIIRangeFactory.Plo@am__quote@
@@ -3393,27 +3365,6 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libicu_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o xercesc/util/Transcoders/ICU/libicu_la-ICUTransService.lo `test -f 'xercesc/util/Transcoders/ICU/ICUTransService.cpp' || echo '$(srcdir)/'`xercesc/util/Transcoders/ICU/ICUTransService.cpp
 
-xercesc/util/Platforms/MacOS/libmacplatform_la-MacCarbonFile.lo: xercesc/util/Platforms/MacOS/MacCarbonFile.cpp
-@am__fastdepCXX_TRUE@	if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmacplatform_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT xercesc/util/Platforms/MacOS/libmacplatform_la-MacCarbonFile.lo -MD -MP -MF "xercesc/util/Platforms/MacOS/$(DEPDIR)/libmacplatform_la-MacCarbonFile.Tpo" -c -o xercesc/util/Platforms/MacOS/libmacplatform_la-MacCarbonFile.lo `test -f 'xercesc/util/Platforms/MacOS/MacCarbonFile.cpp' || echo '$(srcdir)/'`xercesc/util/Platforms/MacOS/MacCarbonFile.cpp; \
-@am__fastdepCXX_TRUE@	then mv -f "xercesc/util/Platforms/MacOS/$(DEPDIR)/libmacplatform_la-MacCarbonFile.Tpo" "xercesc/util/Platforms/MacOS/$(DEPDIR)/libmacplatform_la-MacCarbonFile.Plo"; else rm -f "xercesc/util/Platforms/MacOS/$(DEPDIR)/libmacplatform_la-MacCarbonFile.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='xercesc/util/Platforms/MacOS/MacCarbonFile.cpp' object='xercesc/util/Platforms/MacOS/libmacplatform_la-MacCarbonFile.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmacplatform_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o xercesc/util/Platforms/MacOS/libmacplatform_la-MacCarbonFile.lo `test -f 'xercesc/util/Platforms/MacOS/MacCarbonFile.cpp' || echo '$(srcdir)/'`xercesc/util/Platforms/MacOS/MacCarbonFile.cpp
-
-xercesc/util/Platforms/MacOS/libmacplatform_la-MacOSPlatformUtils.lo: xercesc/util/Platforms/MacOS/MacOSPlatformUtils.cpp
-@am__fastdepCXX_TRUE@	if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmacplatform_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT xercesc/util/Platforms/MacOS/libmacplatform_la-MacOSPlatformUtils.lo -MD -MP -MF "xercesc/util/Platforms/MacOS/$(DEPDIR)/libmacplatform_la-MacOSPlatformUtils.Tpo" -c -o xercesc/util/Platforms/MacOS/libmacplatform_la-MacOSPlatformUtils.lo `test -f 'xercesc/util/Platforms/MacOS/MacOSPlatformUtils.cpp' || echo '$(srcdir)/'`xercesc/util/Platforms/MacOS/MacOSPlatformUtils.cpp; \
-@am__fastdepCXX_TRUE@	then mv -f "xercesc/util/Platforms/MacOS/$(DEPDIR)/libmacplatform_la-MacOSPlatformUtils.Tpo" "xercesc/util/Platforms/MacOS/$(DEPDIR)/libmacplatform_la-MacOSPlatformUtils.Plo"; else rm -f "xercesc/util/Platforms/MacOS/$(DEPDIR)/libmacplatform_la-MacOSPlatformUtils.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='xercesc/util/Platforms/MacOS/MacOSPlatformUtils.cpp' object='xercesc/util/Platforms/MacOS/libmacplatform_la-MacOSPlatformUtils.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmacplatform_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o xercesc/util/Platforms/MacOS/libmacplatform_la-MacOSPlatformUtils.lo `test -f 'xercesc/util/Platforms/MacOS/MacOSPlatformUtils.cpp' || echo '$(srcdir)/'`xercesc/util/Platforms/MacOS/MacOSPlatformUtils.cpp
-
-xercesc/util/Platforms/MacOS/libmacplatform_la-MacPosixFile.lo: xercesc/util/Platforms/MacOS/MacPosixFile.cpp
-@am__fastdepCXX_TRUE@	if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmacplatform_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT xercesc/util/Platforms/MacOS/libmacplatform_la-MacPosixFile.lo -MD -MP -MF "xercesc/util/Platforms/MacOS/$(DEPDIR)/libmacplatform_la-MacPosixFile.Tpo" -c -o xercesc/util/Platforms/MacOS/libmacplatform_la-MacPosixFile.lo `test -f 'xercesc/util/Platforms/MacOS/MacPosixFile.cpp' || echo '$(srcdir)/'`xercesc/util/Platforms/MacOS/MacPosixFile.cpp; \
-@am__fastdepCXX_TRUE@	then mv -f "xercesc/util/Platforms/MacOS/$(DEPDIR)/libmacplatform_la-MacPosixFile.Tpo" "xercesc/util/Platforms/MacOS/$(DEPDIR)/libmacplatform_la-MacPosixFile.Plo"; else rm -f "xercesc/util/Platforms/MacOS/$(DEPDIR)/libmacplatform_la-MacPosixFile.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='xercesc/util/Platforms/MacOS/MacPosixFile.cpp' object='xercesc/util/Platforms/MacOS/libmacplatform_la-MacPosixFile.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmacplatform_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o xercesc/util/Platforms/MacOS/libmacplatform_la-MacPosixFile.lo `test -f 'xercesc/util/Platforms/MacOS/MacPosixFile.cpp' || echo '$(srcdir)/'`xercesc/util/Platforms/MacOS/MacPosixFile.cpp
-
 mostlyclean-libtool:
 	-rm -f *.lo
 
@@ -3430,7 +3381,6 @@
 	-rm -rf xercesc/util/.libs xercesc/util/_libs
 	-rm -rf xercesc/util/MsgLoaders/InMemory/.libs xercesc/util/MsgLoaders/InMemory/_libs
 	-rm -rf xercesc/util/NetAccessors/MacOSURLAccessCF/.libs xercesc/util/NetAccessors/MacOSURLAccessCF/_libs
-	-rm -rf xercesc/util/Platforms/MacOS/.libs xercesc/util/Platforms/MacOS/_libs
 	-rm -rf xercesc/util/Transcoders/ICU/.libs xercesc/util/Transcoders/ICU/_libs
 	-rm -rf xercesc/util/Transcoders/MacOSUnicodeConverter/.libs xercesc/util/Transcoders/MacOSUnicodeConverter/_libs
 	-rm -rf xercesc/util/regx/.libs xercesc/util/regx/_libs
@@ -3595,25 +3545,6 @@
 	  echo " rm -f '$(DESTDIR)$(libmacosunicodeconverter_ladir)/$$f'"; \
 	  rm -f "$(DESTDIR)$(libmacosunicodeconverter_ladir)/$$f"; \
 	done
-install-nobase_libmacplatform_laHEADERS: $(nobase_libmacplatform_la_HEADERS)
-	@$(NORMAL_INSTALL)
-	test -z "$(libmacplatform_ladir)" || $(mkdir_p) "$(DESTDIR)$(libmacplatform_ladir)"
-	@$(am__vpath_adj_setup) \
-	list='$(nobase_libmacplatform_la_HEADERS)'; for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  $(am__vpath_adj) \
-	  echo " $(nobase_libmacplatform_laHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(libmacplatform_ladir)/$$f'"; \
-	  $(nobase_libmacplatform_laHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(libmacplatform_ladir)/$$f"; \
-	done
-
-uninstall-nobase_libmacplatform_laHEADERS:
-	@$(NORMAL_UNINSTALL)
-	@$(am__vpath_adj_setup) \
-	list='$(nobase_libmacplatform_la_HEADERS)'; for p in $$list; do \
-	  $(am__vpath_adj) \
-	  echo " rm -f '$(DESTDIR)$(libmacplatform_ladir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(libmacplatform_ladir)/$$f"; \
-	done
 install-nobase_libparsers_laHEADERS: $(nobase_libparsers_la_HEADERS)
 	@$(NORMAL_INSTALL)
 	test -z "$(libparsers_ladir)" || $(mkdir_p) "$(DESTDIR)$(libparsers_ladir)"
@@ -3759,7 +3690,7 @@
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
-	$(mkdir_p) $(distdir)/xercesc/dom $(distdir)/xercesc/dom/impl $(distdir)/xercesc/framework $(distdir)/xercesc/framework/psvi $(distdir)/xercesc/internal $(distdir)/xercesc/parsers $(distdir)/xercesc/sax $(distdir)/xercesc/sax2 $(distdir)/xercesc/util $(distdir)/xercesc/util/MsgLoaders/InMemory $(distdir)/xercesc/util/NetAccessors/MacOSURLAccessCF $(distdir)/xercesc/util/Platforms/MacOS $(distdir)/xercesc/util/Transcoders/ICU $(distdir)/xercesc/util/Transcoders/MacOSUnicodeConverter $(distdir)/xercesc/util/regx $(distdir)/xercesc/validators/DTD $(distdir)/xercesc/validators/common $(distdir)/xercesc/validators/datatype $(distdir)/xercesc/validators/schema $(distdir)/xercesc/validators/schema/identity
+	$(mkdir_p) $(distdir)/xercesc/dom $(distdir)/xercesc/dom/impl $(distdir)/xercesc/framework $(distdir)/xercesc/framework/psvi $(distdir)/xercesc/internal $(distdir)/xercesc/parsers $(distdir)/xercesc/sax $(distdir)/xercesc/sax2 $(distdir)/xercesc/util $(distdir)/xercesc/util/MsgLoaders/InMemory $(distdir)/xercesc/util/NetAccessors/MacOSURLAccessCF $(distdir)/xercesc/util/Transcoders/ICU $(distdir)/xercesc/util/Transcoders/MacOSUnicodeConverter $(distdir)/xercesc/util/regx $(distdir)/xercesc/validators/DTD $(distdir)/xercesc/validators/common $(distdir)/xercesc/validators/datatype $(distdir)/xercesc/validators/schema $(distdir)/xercesc/validators/schema/identity
 	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
 	list='$(DISTFILES)'; for file in $$list; do \
@@ -3790,7 +3721,7 @@
 check: check-am
 all-am: Makefile $(LTLIBRARIES) $(HEADERS)
 installdirs:
-	for dir in "$(DESTDIR)$(libcfurl_ladir)" "$(DESTDIR)$(libdom_ladir)" "$(DESTDIR)$(libdomimpl_ladir)" "$(DESTDIR)$(libframework_ladir)" "$(DESTDIR)$(libicu_ladir)" "$(DESTDIR)$(libinmemory_ladir)" "$(DESTDIR)$(libinternal_ladir)" "$(DESTDIR)$(libmacosunicodeconverter_ladir)" "$(DESTDIR)$(libmacplatform_ladir)" "$(DESTDIR)$(libparsers_ladir)" "$(DESTDIR)$(libsax2_ladir)" "$(DESTDIR)$(libsax_ladir)" "$(DESTDIR)$(libutil_ladir)" "$(DESTDIR)$(libvalidators_ladir)"; do \
+	for dir in "$(DESTDIR)$(libcfurl_ladir)" "$(DESTDIR)$(libdom_ladir)" "$(DESTDIR)$(libdomimpl_ladir)" "$(DESTDIR)$(libframework_ladir)" "$(DESTDIR)$(libicu_ladir)" "$(DESTDIR)$(libinmemory_ladir)" "$(DESTDIR)$(libinternal_ladir)" "$(DESTDIR)$(libmacosunicodeconverter_ladir)" "$(DESTDIR)$(libparsers_ladir)" "$(DESTDIR)$(libsax2_ladir)" "$(DESTDIR)$(libsax_ladir)" "$(DESTDIR)$(libutil_ladir)" "$(DESTDIR)$(libvalidators_ladir)"; do \
 	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
 	done
 install: install-am
@@ -3835,8 +3766,6 @@
 	-rm -f xercesc/util/MsgLoaders/InMemory/$(am__dirstamp)
 	-rm -f xercesc/util/NetAccessors/MacOSURLAccessCF/$(DEPDIR)/$(am__dirstamp)
 	-rm -f xercesc/util/NetAccessors/MacOSURLAccessCF/$(am__dirstamp)
-	-rm -f xercesc/util/Platforms/MacOS/$(DEPDIR)/$(am__dirstamp)
-	-rm -f xercesc/util/Platforms/MacOS/$(am__dirstamp)
 	-rm -f xercesc/util/Transcoders/ICU/$(DEPDIR)/$(am__dirstamp)
 	-rm -f xercesc/util/Transcoders/ICU/$(am__dirstamp)
 	-rm -f xercesc/util/Transcoders/MacOSUnicodeConverter/$(DEPDIR)/$(am__dirstamp)
@@ -3863,7 +3792,7 @@
 	mostlyclean-am
 
 distclean: distclean-am
-	-rm -rf xercesc/dom/$(DEPDIR) xercesc/dom/impl/$(DEPDIR) xercesc/framework/$(DEPDIR) xercesc/framework/psvi/$(DEPDIR) xercesc/internal/$(DEPDIR) xercesc/parsers/$(DEPDIR) xercesc/sax/$(DEPDIR) xercesc/sax2/$(DEPDIR) xercesc/util/$(DEPDIR) xercesc/util/MsgLoaders/InMemory/$(DEPDIR) xercesc/util/NetAccessors/MacOSURLAccessCF/$(DEPDIR) xercesc/util/Platforms/MacOS/$(DEPDIR) xercesc/util/Transcoders/ICU/$(DEPDIR) xercesc/util/Transcoders/MacOSUnicodeConverter/$(DEPDIR) xercesc/util/regx/$(DEPDIR) xercesc/validators/DTD/$(DEPDIR) xercesc/validators/common/$(DEPDIR) xercesc/validators/datatype/$(DEPDIR) xercesc/validators/schema/$(DEPDIR) xercesc/validators/schema/identity/$(DEPDIR)
+	-rm -rf xercesc/dom/$(DEPDIR) xercesc/dom/impl/$(DEPDIR) xercesc/framework/$(DEPDIR) xercesc/framework/psvi/$(DEPDIR) xercesc/internal/$(DEPDIR) xercesc/parsers/$(DEPDIR) xercesc/sax/$(DEPDIR) xercesc/sax2/$(DEPDIR) xercesc/util/$(DEPDIR) xercesc/util/MsgLoaders/InMemory/$(DEPDIR) xercesc/util/NetAccessors/MacOSURLAccessCF/$(DEPDIR) xercesc/util/Transcoders/ICU/$(DEPDIR) xercesc/util/Transcoders/MacOSUnicodeConverter/$(DEPDIR) xercesc/util/regx/$(DEPDIR) xercesc/validators/DTD/$(DEPDIR) xercesc/validators/common/$(DEPDIR) xercesc/validators/datatype/$(DEPDIR) xercesc/validators/schema/$(DEPDIR) xercesc/validators/schema/identity/$(DEPDIR)
 	-rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
 	distclean-libtool distclean-tags
@@ -3886,7 +3815,6 @@
 	install-nobase_libinmemory_laHEADERS \
 	install-nobase_libinternal_laHEADERS \
 	install-nobase_libmacosunicodeconverter_laHEADERS \
-	install-nobase_libmacplatform_laHEADERS \
 	install-nobase_libparsers_laHEADERS \
 	install-nobase_libsax2_laHEADERS \
 	install-nobase_libsax_laHEADERS \
@@ -3902,7 +3830,7 @@
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-	-rm -rf xercesc/dom/$(DEPDIR) xercesc/dom/impl/$(DEPDIR) xercesc/framework/$(DEPDIR) xercesc/framework/psvi/$(DEPDIR) xercesc/internal/$(DEPDIR) xercesc/parsers/$(DEPDIR) xercesc/sax/$(DEPDIR) xercesc/sax2/$(DEPDIR) xercesc/util/$(DEPDIR) xercesc/util/MsgLoaders/InMemory/$(DEPDIR) xercesc/util/NetAccessors/MacOSURLAccessCF/$(DEPDIR) xercesc/util/Platforms/MacOS/$(DEPDIR) xercesc/util/Transcoders/ICU/$(DEPDIR) xercesc/util/Transcoders/MacOSUnicodeConverter/$(DEPDIR) xercesc/util/regx/$(DEPDIR) xercesc/validators/DTD/$(DEPDIR) xercesc/validators/common/$(DEPDIR) xercesc/validators/datatype/$(DEPDIR) xercesc/validators/schema/$(DEPDIR) xercesc/validators/schema/identity/$(DEPDIR)
+	-rm -rf xercesc/dom/$(DEPDIR) xercesc/dom/impl/$(DEPDIR) xercesc/framework/$(DEPDIR) xercesc/framework/psvi/$(DEPDIR) xercesc/internal/$(DEPDIR) xercesc/parsers/$(DEPDIR) xercesc/sax/$(DEPDIR) xercesc/sax2/$(DEPDIR) xercesc/util/$(DEPDIR) xercesc/util/MsgLoaders/InMemory/$(DEPDIR) xercesc/util/NetAccessors/MacOSURLAccessCF/$(DEPDIR) xercesc/util/Transcoders/ICU/$(DEPDIR) xercesc/util/Transcoders/MacOSUnicodeConverter/$(DEPDIR) xercesc/util/regx/$(DEPDIR) xercesc/validators/DTD/$(DEPDIR) xercesc/validators/common/$(DEPDIR) xercesc/validators/datatype/$(DEPDIR) xercesc/validators/schema/$(DEPDIR) xercesc/validators/schema/identity/$(DEPDIR)
 	-rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -3927,7 +3855,6 @@
 	uninstall-nobase_libinmemory_laHEADERS \
 	uninstall-nobase_libinternal_laHEADERS \
 	uninstall-nobase_libmacosunicodeconverter_laHEADERS \
-	uninstall-nobase_libmacplatform_laHEADERS \
 	uninstall-nobase_libparsers_laHEADERS \
 	uninstall-nobase_libsax2_laHEADERS \
 	uninstall-nobase_libsax_laHEADERS \
@@ -3948,7 +3875,6 @@
 	install-nobase_libinmemory_laHEADERS \
 	install-nobase_libinternal_laHEADERS \
 	install-nobase_libmacosunicodeconverter_laHEADERS \
-	install-nobase_libmacplatform_laHEADERS \
 	install-nobase_libparsers_laHEADERS \
 	install-nobase_libsax2_laHEADERS \
 	install-nobase_libsax_laHEADERS \
@@ -3966,7 +3892,6 @@
 	uninstall-nobase_libinmemory_laHEADERS \
 	uninstall-nobase_libinternal_laHEADERS \
 	uninstall-nobase_libmacosunicodeconverter_laHEADERS \
-	uninstall-nobase_libmacplatform_laHEADERS \
 	uninstall-nobase_libparsers_laHEADERS \
 	uninstall-nobase_libsax2_laHEADERS \
 	uninstall-nobase_libsax_laHEADERS \

Added: xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/AtomicOpManagers/PosixAtomicOpMgr.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/AtomicOpManagers/PosixAtomicOpMgr.cpp?rev=178551&view=auto
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/AtomicOpManagers/PosixAtomicOpMgr.cpp (added)
+++ xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/AtomicOpManagers/PosixAtomicOpMgr.cpp Wed May 25 16:35:17 2005
@@ -0,0 +1,62 @@
+
+/*
+ * Copyright 1999-2000,2004-2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * $Id$
+ */
+
+#ifndef POSIXATOMICOPMGL_HPP
+#define POSIXATOMICOPMGL_HPP
+
+#include <xercesc/util/AtomicOpManagers/PosixAtomicOpMgr.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+PosixAtomicOpMgr::PosixAtomicOpMgr()
+{
+}
+
+
+virtual
+PosixAtomicOpMgr::~PosixAtomicOpMgr()
+{
+}
+
+// Atomic operations
+virtual void*
+PosixAtomicOpMgr::compareAndSwap(void**            toFill
+							 , const void* const newValue
+							 , const void* const toCompare)
+{
+}
+
+
+virtual int
+PosixAtomicOpMgr::increment(int &location)
+{
+}
+
+
+virtual int
+PosixAtomicOpMgr::decrement(int &location)
+{
+}
+
+XERCES_CPP_NAMESPACE_END
+
+
+#endif
\ No newline at end of file

Added: xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/AtomicOpManagers/PosixAtomicOpMgr.hpp
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/AtomicOpManagers/PosixAtomicOpMgr.hpp?rev=178551&view=auto
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/AtomicOpManagers/PosixAtomicOpMgr.hpp (added)
+++ xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/AtomicOpManagers/PosixAtomicOpMgr.hpp Wed May 25 16:35:17 2005
@@ -0,0 +1,48 @@
+
+/*
+ * Copyright 1999-2000,2004-2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * $Id$
+ */
+
+#ifndef POSIXATOMICOPMGL_HPP
+#define POSIXATOMICOPMGL_HPP
+
+#include <xercesc/util/XMLAtomicOpMgr.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+//	Abstract class for mutex implementation.
+//  This is be used to allow multiple mutex handling implementations.
+class PosixAtomicOpMgr : public XMLAtomicOpMgr
+{
+    public:
+        PosixAtomicOpMgr();
+        virtual ~PosixAtomicOpMgr();
+
+		// Atomic operations
+		virtual void* 	compareAndSwap(void**            toFill
+									 , const void* const newValue
+									 , const void* const toCompare);
+		virtual int		increment(int &location);
+		virtual int		decrement(int &location);
+};
+
+XERCES_CPP_NAMESPACE_END
+
+
+#endif
\ No newline at end of file

Added: xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/FileManagers/PosixFileMgr.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/FileManagers/PosixFileMgr.cpp?rev=178551&view=auto
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/FileManagers/PosixFileMgr.cpp (added)
+++ xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/FileManagers/PosixFileMgr.cpp Wed May 25 16:35:17 2005
@@ -0,0 +1,105 @@
+/*
+ * Copyright 1999-2000,2004-2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * $Id$
+ */
+
+#include <xercesc/util/FileManagers/PosixFileMgr.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+PosixFileMgr::PosixFileMgr()
+{
+}
+
+virtual
+PosixFileMgr::~XMLFileMgr()
+{
+}
+
+// File access
+virtual FileHandle
+PosixFileMgr::open(const XMLCh* path, bool toWrite, MemoryManager* const manager)
+{
+}
+
+
+virtual FileHandle
+PosixFileMgr::open(const char* path, bool toWrite, MemoryManager* const manager)
+{
+}
+
+
+virtual FileHandle
+PosixFileMgr::openStdIn(MemoryManager* const manager)
+{
+}
+
+virtual void
+PosixFileMgr::close(FileHandle f, MemoryManager* const manager)
+{
+}
+
+
+virtual void
+PosixFileMgr::reset(FileHandle f, MemoryManager* const manager)
+{
+}
+
+
+virtual XMLFilePos
+PosixFileMgr::curPos(FileHandle f, MemoryManager* const manager)
+{
+}
+
+
+virtual XMLFilePos
+PosixFileMgr::size(FileHandle f, MemoryManager* const manager)
+{
+}
+
+virtual XMLSize_t
+PosixFileMgr::read(FileHandle f, XMLSize_t byteCount, XMLByte* buffer, MemoryManager* const manager)
+{
+}
+
+
+virtual void
+PosixFileMgr::write(FileHandle f, XMLSize_t byteCount, const XMLByte* buffer, MemoryManager* const manager)
+{
+}
+
+virtual XMLCh*
+PosixFileMgr::getFullPath(const XMLCh* const srcPath, MemoryManager* const manager)
+{
+}
+
+
+virtual XMLCh*
+PosixFileMgr::getCurrentDirectory(MemoryManager* const manager)
+{
+}
+
+virtual bool
+PosixFileMgr::isRelative(const XMLCh* const toCheck, MemoryManager* const manager)
+{
+}
+
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
\ No newline at end of file

Added: xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/FileManagers/PosixFileMgr.hpp
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/FileManagers/PosixFileMgr.hpp?rev=178551&view=auto
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/FileManagers/PosixFileMgr.hpp (added)
+++ xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/FileManagers/PosixFileMgr.hpp Wed May 25 16:35:17 2005
@@ -0,0 +1,58 @@
+/*
+ * Copyright 1999-2000,2004-2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * $Id$
+ */
+
+#ifndef POSIXFILEMGR_HPP
+#define POSIXFILEMGR_HPP
+
+#include <xercesc/util/XMLFileMgr.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+//	Concrete implementation of XMLFileMgr, implementing
+//	file access on posix compatible systems.
+class PosixFileMgr : public XMLFileMgr
+{
+    public:
+        PosixFileMgr();
+        virtual ~PosixFileMgr();
+
+		// File access
+        virtual FileHandle	open(const XMLCh* path, bool toWrite, MemoryManager* const manager);
+        virtual FileHandle	open(const char* path, bool toWrite, MemoryManager* const manager);
+        virtual FileHandle	openStdIn(MemoryManager* const manager);
+        
+        virtual void		close(FileHandle f, MemoryManager* const manager);
+        virtual void		reset(FileHandle f, MemoryManager* const manager);
+
+        virtual XMLFilePos	curPos(FileHandle f, MemoryManager* const manager);
+        virtual XMLFilePos	size(FileHandle f, MemoryManager* const manager);
+
+        virtual size_t		read(FileHandle f, size_t byteCount, XMLByte* buffer, MemoryManager* const manager);
+        virtual void		write(FileHandle f, size_t byteCount, const XMLByte* buffer, MemoryManager* const manager);
+        
+        // Ancillary path handling routines
+        virtual XMLCh*		getFullPath(const XMLCh* const srcPath, MemoryManager* const manager);
+        virtual XMLCh*		getCurrentDirectory(MemoryManager* const manager);
+        virtual bool		isRelative(const XMLCh* const toCheck, MemoryManager* const manager);
+};
+
+XERCES_CPP_NAMESPACE_END
+
+#endif
\ No newline at end of file

Added: xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/MutexManagers/PosixMutexMgr.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/MutexManagers/PosixMutexMgr.cpp?rev=178551&view=auto
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/MutexManagers/PosixMutexMgr.cpp (added)
+++ xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/MutexManagers/PosixMutexMgr.cpp Wed May 25 16:35:17 2005
@@ -0,0 +1,63 @@
+/*
+ * Copyright 1999-2000,2004-2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * $Id: MacAbstractFile.hpp 176026 2004-09-08 13:57:07Z peiyongz $
+ */
+
+#include <xercesc/util/MutexManagers/PosixMutexMgr.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+PosixMutexMgr::PosixMutexMgr()
+{
+}
+
+
+virtual
+PosixMutexMgr::PosixMutexMgr()
+{
+}
+
+
+virtual XMLMutexHandle
+PosixMutexMgr::create(MemoryManager* const manager)
+{
+}
+
+
+virtual void
+PosixMutexMgr::destroy(XMLMutexHandle mtx, MemoryManager* const manager)
+{
+}
+
+
+virtual void
+PosixMutexMgr::lock(XMLMutexHandle mtx)
+{
+}
+
+
+virtual void
+PosixMutexMgr::unlock(XMLMutexHandle mtx)
+{
+}
+
+
+XERCES_CPP_NAMESPACE_END
+
+
+#endif

Added: xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/MutexManagers/PosixMutexMgr.hpp
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/MutexManagers/PosixMutexMgr.hpp?rev=178551&view=auto
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/MutexManagers/PosixMutexMgr.hpp (added)
+++ xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/MutexManagers/PosixMutexMgr.hpp Wed May 25 16:35:17 2005
@@ -0,0 +1,46 @@
+/*
+ * Copyright 1999-2000,2004-2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * $Id: MacAbstractFile.hpp 176026 2004-09-08 13:57:07Z peiyongz $
+ */
+
+#ifndef POSIXMUTEXMGL_HPP
+#define POSIXMUTEXMGL_HPP
+
+#include <xercesc/util/XMLMutexMgr.hpp>
+
+XERCES_CPP_NAMESPACE_BEGIN
+
+//	Abstract class for mutex implementation.
+//  This is be used to allow multiple mutex handling implementations.
+class PosixMutexMgr : public XMLMutexMgr
+{
+    public:
+        PosixMutexMgr();
+        virtual ~PosixMutexMgr();
+
+		// Mutex operations
+		virtual XMLMutexHandle	create(MemoryManager* const manager);
+		virtual void			destroy(XMLMutexHandle mtx, MemoryManager* const manager);
+		virtual void			lock(XMLMutexHandle mtx);
+		virtual void			unlock(XMLMutexHandle mtx);
+};
+
+XERCES_CPP_NAMESPACE_END
+
+
+#endif

Modified: xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/PlatformUtils.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/PlatformUtils.cpp?rev=178551&r1=178550&r2=178551&view=diff
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/PlatformUtils.cpp (original)
+++ xerces/c/branches/jberry/3.0-unstable/src/xercesc/util/PlatformUtils.cpp Wed May 25 16:35:17 2005
@@ -15,127 +15,7 @@
  */
 
 /*
- * $Log$
- * Revision 1.19  2004/10/20 15:18:35  knoaman
- * Allow option of initializing static data in XMLPlatformUtils::Initialize
- *
- * Revision 1.18  2004/09/08 13:56:22  peiyongz
- * Apache License Version 2.0
- *
- * Revision 1.17  2004/01/09 04:39:56  knoaman
- * Use a global static mutex for locking when creating local static mutexes instead of compareAndSwap.
- *
- * Revision 1.16  2003/12/17 00:18:35  cargilld
- * Update to memory management so that the static memory manager (one used to call Initialize) is only for static data.
- *
- * Revision 1.15  2003/12/03 17:30:19  neilg
- * uninitialize panic handlers so they will be ready for subsequent initalizations
- *
- * Revision 1.14  2003/11/24 18:07:41  knoaman
- * Add missing ';'
- *
- * Revision 1.13  2003/11/24 17:07:53  knoaman
- * Reset memory manager in Terminate
- *
- * Revision 1.12  2003/11/17 14:50:29  knoaman
- * Fix for bug 23930 by Ronald  Landheer-Cieslak.
- *
- * Revision 1.11  2003/08/27 16:41:56  jberry
- * Add new static global that always points to array-allocating memory manager
- *
- * Revision 1.10  2003/05/18 14:02:05  knoaman
- * Memory manager implementation: pass per instance manager.
- *
- * Revision 1.9  2003/04/30 16:54:38  knoaman
- * Initialize xerces with a default memory manager if none is provided.
- *
- * Revision 1.8  2003/03/09 16:40:47  peiyongz
- * PanicHandler
- *
- * Revision 1.7  2003/02/17 19:54:47  peiyongz
- * Allow set user specified error message file location in PlatformUtils::Initialize().
- *
- * Revision 1.6  2002/12/20 22:10:20  tng
- * XML 1.1
- *
- * Revision 1.5  2002/11/08 21:06:16  peiyongz
- * move comment to *hpp for API doc generation
- *
- * Revision 1.4  2002/11/04 22:24:21  peiyongz
- * Locale setting for message loader
- *
- * Revision 1.3  2002/11/04 15:22:04  tng
- * C++ Namespace Support.
- *
- * Revision 1.2  2002/07/18 20:05:31  knoaman
- * Add a new feature to control strict IANA encoding name.
- *
- * Revision 1.1.1.1  2002/02/01 22:22:11  peiyongz
- * sane_include
- *
- * Revision 1.16  2001/10/25 21:52:28  peiyongz
- * XMLDeleterFor related functions and data are removed.
- *
- * Revision 1.15  2001/10/24 19:59:49  peiyongz
- * [Bug 3975] gInitFlag problem
- *
- * Revision 1.14  2001/10/23 23:09:32  peiyongz
- * [Bug#880] patch to PlatformUtils:init()/term() and related. from Mark Weaver
- *
- * Revision 1.13  2001/05/11 13:26:27  tng
- * Copyright update.
- *
- * Revision 1.12  2001/05/03 18:43:01  knoaman
- * Added new option to the parsers so that the NEL (0x85) char can be treated as a newline character.
- *
- * Revision 1.11  2001/02/07 17:46:34  billsch
- * Rearranged statements in Initialize() so that platformInit() is called
- * before an XMLMutex is created.
- *
- * Revision 1.10  2000/07/25 20:55:23  jpolast
- * use gInitFlag as a reference to the number of times
- * Initialized was called.  this way, the terminate routines are
- * not invoked until all processes call Terminate() on the parser.
- *
- * Revision 1.9  2000/06/26 20:30:04  jpolast
- * check if initialized in Terminate() to stop access violations
- * submitted by John_Roper@iOra.com
- *
- * Revision 1.8  2000/05/09 00:22:40  andyh
- * Memory Cleanup.  XMLPlatformUtils::Terminate() deletes all lazily
- * allocated memory; memory leak checking tools will no longer report
- * that leaks exist.  (DOM GetElementsByTagID temporarily removed
- * as part of this.)
- *
- * Revision 1.7  2000/03/24 19:50:29  roddey
- * Clear the 'initialized' flag when the termination call is made. Probably
- * not required technically, but...
- *
- * Revision 1.6  2000/03/02 19:54:44  roddey
- * This checkin includes many changes done while waiting for the
- * 1.1.0 code to be finished. I can't list them all here, but a list is
- * available elsewhere.
- *
- * Revision 1.5  2000/02/06 07:48:03  rahulj
- * Year 2K copyright swat.
- *
- * Revision 1.4  2000/01/19 00:56:59  roddey
- * Changes to get rid of dependence on old utils standard streams and to
- * get rid of the fgLibLocation stuff.
- *
- * Revision 1.3  1999/12/18 00:18:10  roddey
- * More changes to support the new, completely orthagonal support for
- * intrinsic encodings.
- *
- * Revision 1.2  1999/12/15 19:41:28  roddey
- * Support for the new transcoder system, where even intrinsic encodings are
- * done via the same transcoder abstraction as external ones.
- *
- * Revision 1.1.1.1  1999/11/09 01:04:53  twl
- * Initial checkin
- *
- * Revision 1.2  1999/11/08 20:45:11  rahul
- * Swat for adding in Product name and CVS comment log variable.
+ * $Id$
  *
  */
 
@@ -143,12 +23,14 @@
 // ---------------------------------------------------------------------------
 //  Includes
 // ---------------------------------------------------------------------------
-#include <xercesc/util/XMLMsgLoader.hpp>
+#include <config.h>
+
 #include <xercesc/util/Mutexes.hpp>
 #include <xercesc/util/PlatformUtils.hpp>
 #include <xercesc/util/RefVectorOf.hpp>
 #include <xercesc/util/TransService.hpp>
 #include <xercesc/util/XMLString.hpp>
+#include <xercesc/util/XMLMsgLoader.hpp>
 #include <xercesc/util/XMLNetAccessor.hpp>
 #include <xercesc/util/XMLUni.hpp>
 #include <xercesc/internal/XMLReader.hpp>
@@ -159,8 +41,26 @@
 #include <xercesc/internal/MemoryManagerImpl.hpp>
 #include <xercesc/internal/MemoryManagerArrayImpl.hpp>
 
+#include <xercesc/util/XMLFileMgr.hpp>
+#if XERCES_USE_POSIX_FILEMGR
+#	include <xercesc/util/FileManagers/PosixFileMgr.hpp>
+#endif
+
+#include <xercesc/util/XMLMutexMgr.hpp>
+#if XERCES_USE_POSIX_MUTEXMGR
+#	include <xercesc/util/MutexManagers/PosixMutexMgr.hpp>
+#endif
+
+#include <xercesc/util/XMLAtomicOpMgr.hpp>
+#if XERCES_USE_POSIX_ATOMICOPMGR
+#	include <xercesc/util/AtomicOpManagers/PosixAtomicOpMgr.hpp>
+#endif
+
 #include <limits.h>
 
+// *** TODO: protect and x-platform
+#include <sys/timeb.h>
+
 XERCES_CPP_NAMESPACE_BEGIN
 
 // ---------------------------------------------------------------------------
@@ -392,10 +292,7 @@
     XMLMsgLoader::setLocale(0);
     XMLMsgLoader::setNLSHome(0);
 
-    if (fgDefaultPanicHandler)
-    {
-        delete fgDefaultPanicHandler;
-    }
+    delete fgDefaultPanicHandler;
     fgDefaultPanicHandler = 0;
     fgUserPanicHandler = 0;
 
@@ -411,6 +308,253 @@
     // And say we are no longer initialized
     gInitFlag = 0;
 }
+
+
+
+
+// ---------------------------------------------------------------------------
+//  XMLPlatformUtils: The panic method
+// ---------------------------------------------------------------------------
+void XMLPlatformUtils::panic(const PanicHandler::PanicReasons reason)
+{
+    fgUserPanicHandler? fgUserPanicHandler->panic(reason) : fgDefaultPanicHandler->panic(reason);	
+}
+
+
+
+// ---------------------------------------------------------------------------
+//  XMLPlatformUtils: File Methods
+// ---------------------------------------------------------------------------
+XMLFileMgr*
+XMLPlatformUtils::makeFileMgr(MemoryManager* const memmgr)
+{
+	XMLFileMgr* mgr = NULL;
+	
+	#if XERCES_USE_POSIX_FILEMGR
+		mgr = new (memmgr) PosixFileMgr;
+	#else
+		#error No File Manager configured for platform! You must configure it.
+	#endif
+	
+	return mgr;
+}
+
+
+FileHandle
+XMLPlatformUtils::openFile(const char* const fileName
+                           , MemoryManager* const memmgr)
+{
+	return fgFileMgr->open(fileName, false, memmgr);
+}
+
+
+FileHandle
+XMLPlatformUtils::openFile(const XMLCh* const fileName, MemoryManager* const memmgr)
+{
+	return fgFileMgr->open(fileName, false, memmgr);
+}
+
+
+FileHandle
+XMLPlatformUtils::openFileToWrite(const char* const fileName
+                                  , MemoryManager* const memmgr)
+{
+	return fgFileMgr->open(fileName, true, memmgr);
+}
+
+
+FileHandle
+XMLPlatformUtils::openFileToWrite(const XMLCh* const fileName
+                                  , MemoryManager* const memmgr)
+{
+ 	return fgFileMgr->open(fileName, true, memmgr);
+}
+
+
+FileHandle
+XMLPlatformUtils::openStdInHandle(MemoryManager* const memmgr)
+{
+	return fgFileMgr->openStdIn(memmgr);
+}
+
+
+void
+XMLPlatformUtils::closeFile(const FileHandle theFile
+                            , MemoryManager* const memmgr)
+{
+	return fgFileMgr->close(theFile, memmgr);
+}
+
+void
+XMLPlatformUtils::resetFile(FileHandle theFile
+                            , MemoryManager* const memmgr)
+{
+	return fgFileMgr->reset(theFile, memmgr);
+}
+
+
+XMLFilePos
+XMLPlatformUtils::curFilePos(const FileHandle theFile
+                             , MemoryManager* const memmgr)
+{
+	return fgFileMgr->curPos(theFile, memmgr);
+}
+
+XMLFilePos
+XMLPlatformUtils::fileSize(const FileHandle theFile
+                           , MemoryManager* const memmgr)
+{
+	return fgFileMgr->size(theFile, memmgr);
+}
+
+
+XMLSize_t
+XMLPlatformUtils::readFileBuffer(   const FileHandle      theFile
+                                 ,  const XMLSize_t		  toRead
+                                 ,        XMLByte* const  toFill
+                                 ,  MemoryManager* const  memmgr)
+{
+    return fgFileMgr->read(theFile, toRead, toFill, memmgr);
+}
+
+
+void
+XMLPlatformUtils::writeBufferToFile(   const   FileHandle   theFile
+                                    ,  const XMLSize_t		toWrite
+                                    ,  const XMLByte* const toFlush
+                                    ,  MemoryManager* const memmgr)
+{
+	fgFileMgr->write(theFile, toWrite, toFlush, memmgr);
+}
+
+
+// ---------------------------------------------------------------------------
+//  XMLPlatformUtils: File system methods
+// ---------------------------------------------------------------------------
+XMLCh* XMLPlatformUtils::getFullPath(const XMLCh* const srcPath,
+                                     MemoryManager* const memmgr)
+{
+	return fgFileMgr->getFullPath(srcPath, memmgr);
+}
+
+
+XMLCh* XMLPlatformUtils::getCurrentDirectory(MemoryManager* const memmgr)
+{
+    return fgFileMgr->getCurrentDirectory(memmgr);
+}
+
+
+bool XMLPlatformUtils::isRelative(const XMLCh* const toCheck
+                                  , MemoryManager* const memmgr)
+{
+    return fgFileMgr->isRelative(toCheck, memmgr);
+}
+
+
+/*
+	TODO: we probably want to move this as an inline function into the weavepaths code.
+*/
+bool XMLPlatformUtils::isAnySlash(XMLCh c) 
+{
+    return (
+			false
+		 || chForwardSlash == c
+#if TODO_AUTOCONF_CHECK
+		 || chBackSlash == c
+#endif
+     );
+}
+
+
+// ---------------------------------------------------------------------------
+//  XMLPlatformUtils: Timing Methods
+// ---------------------------------------------------------------------------
+unsigned long XMLPlatformUtils::getCurrentMillis()
+{
+	// *** TODO: per platform support here
+    timeb aTime;
+    ftime(&aTime);
+    return (unsigned long)(aTime.time*1000 + aTime.millitm);
+
+}
+
+
+// -----------------------------------------------------------------------
+//  Mutex methods
+// -----------------------------------------------------------------------
+XMLMutexMgr* XMLPlatformUtils::makeMutexMgr(MemoryManager* const memmgr)
+{
+	XMLMutexMgr* mgr = NULL;
+	
+	#if XERCES_USE_POSIX_MUTEXMGR
+		mgr = new (memmgr) PosixMutexMgr;
+	#else
+		#error No Mutex Manager configured for platform! You must configure it.
+	#endif
+	
+	return mgr;
+}
+
+XMLMutexHandle XMLPlatformUtils::makeMutex(MemoryManager* const memmgr)
+{
+	return fgMutexMgr->create(memmgr);
+}
+
+void XMLPlatformUtils::closeMutex(XMLMutexHandle const mtx, MemoryManager* const memmgr)
+{
+	fgMutexMgr->destroy(mtx, memmgr);
+}
+
+
+void XMLPlatformUtils::lockMutex(XMLMutexHandle const mtx)
+{
+	fgMutexMgr->lock(mtx);
+}
+
+
+void XMLPlatformUtils::unlockMutex(XMLMutexHandle const mtx)
+{
+	fgMutexMgr->unlock(mtx);
+}
+
+
+// -----------------------------------------------------------------------
+//  Miscellaneous synchronization methods
+// -----------------------------------------------------------------------
+XMLAtomicOpMgr* XMLPlatformUtils::makeAtomicOpMgr(MemoryManager* const memmgr)
+{
+	XMLAtomicOpMgr* mgr = NULL;
+	
+	#if XERCES_USE_POSIX_ATOMICOPMGR
+		mgr = new (memmgr) PosixAtomicOpMgr;
+	#else
+		#error No AtomicOp Manager configured for platform! You must configure it.
+	#endif
+	
+	return mgr;
+}
+
+
+void* XMLPlatformUtils::compareAndSwap(void**            toFill
+                                     , const void* const newValue
+                                     , const void* const toCompare)
+{
+	return fgAtomicOpMgr->compareAndSwap(toFill, newValue, toCompare);
+}
+
+
+int XMLPlatformUtils::atomicIncrement(int &location)
+{
+	return fgAtomicOpMgr->increment(location);
+}
+
+
+int XMLPlatformUtils::atomicDecrement(int &location)
+{
+	return fgAtomicOpMgr->decrement(location);
+}
+
+
 
 
 // ---------------------------------------------------------------------------



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org