diff --git a/src/xercesc/Makefile.incl b/src/xercesc/Makefile.incl index 035037561de7f9f03fd2fdc6996c1ada3b5d47a3..828c63b90f12829be09673f892740d3dc03fa709 100644 --- a/src/xercesc/Makefile.incl +++ b/src/xercesc/Makefile.incl @@ -324,29 +324,18 @@ ifeq (${PLATFORM}, LINUX) ifeq (${CXX}, xlC_r) + PLATFORM_COMPILE_OPTIONS = -qpic -qnotempinc -D${PLATFORM} + MAKE_SHARED = ${CXX} -D${PLATFORM} -qpic -qmkshrobj -G ${LDFLAGS} + MAKE_SHARED_C = ${CC} -D${PLATFORM} -qpic -qmkshrobj -G ${LDFLAGS} + ifeq (${TRANSCODER}, ICU) - ALLLIBS = ${LIBS} -L/usr/lpp/xlC/lib -licuuc -licudata - else - ALLLIBS = ${LIBS} -L/usr/lpp/xlC/lib + ALLLIBS = ${LIBS} -licuuc -licudata endif ifeq (${MESSAGELOADER}, ICU) - ALLLIBS = ${LIBS} -L/usr/lpp/xlC/lib -licuuc -licudata -lXercesMessages - endif - - PLATFORM_COMPILE_OPTIONS = -w -O -qproto -qroconst -DPIC -qpic=large -D_THREAD_SAFE - - ifeq (${BITSTOBUILD}, 64) - MAKE_SHARED = xlC_r -w -O -qproto -qroconst -qmkshrobj -G ${LDFLAGS} -X64 - MAKE_SHARED_C = xlc_r -w -O -qproto -qroconst -qmkshrobj -G ${LDFLAGS} -X64 - else - MAKE_SHARED = xlC_r -w -O -qproto -qroconst -qmkshrobj -G ${LDFLAGS} - MAKE_SHARED_C = xlc_r -w -O -qproto -qroconst -qmkshrobj -G ${LDFLAGS} + ALLLIBS = ${LIBS} -licuuc -licudata -lXercesMessages endif - #EXTRA_LINK_OPTIONS = -bmap:$(XML_OBJ)/${LIBNAME}${SO_TARGET_VERSION}.${SO_TARGET_VERSION_MAJOR}.map - #DEPDOM_LINK_OPTIONS = -bmap:$(XML_OBJ)/${LIBDEPDOM}${SO_TARGET_VERSION}.${SO_TARGET_VERSION_MAJOR}.map - ## Compiler switch to embed a library name LD_SONAME = diff --git a/src/xercesc/runConfigure b/src/xercesc/runConfigure index a8ad5dd23e7dd9f01bdae3d829e833c679a04691..525e09f6920c267c902162c10af42d10881221a6 100755 --- a/src/xercesc/runConfigure +++ b/src/xercesc/runConfigure @@ -449,7 +449,15 @@ if test $bitsToBuild = 64; then esac fi ;; linux) - bitstobuildDefines=" $bitstobuildDefines " ;; + if test $cppcompiler; then + case $cppcompiler in + xlC*) + bitstobuildDefines=" $bitstobuildDefines -q64 -qwarn64 " + bitstobuildLink=" -q64 " ;; + *) + ;; + esac + fi ;; *) ;; esac diff --git a/src/xercesc/util/AutoSense.hpp b/src/xercesc/util/AutoSense.hpp index 698ba83303f0596ed7fff645ddea57944f65d5f1..4368ecf061937a1cc626c40551716f6a07b1a732 100644 --- a/src/xercesc/util/AutoSense.hpp +++ b/src/xercesc/util/AutoSense.hpp @@ -16,6 +16,9 @@ /* * $Log$ + * Revision 1.16 2004/11/18 16:20:04 cargilld + * Changes for linker problems with linux build using xlc. + * * Revision 1.15 2004/09/08 13:56:21 peiyongz * Apache License Version 2.0 * @@ -266,6 +269,17 @@ #endif #elif defined (__QNXNTO__) #define XML_QCC +#elif defined(__IBMC__) || defined(__IBMCPP__) + #if defined(XML_WIN32) + #define XML_IBMVAW32 + #elif defined(XML_OS2) + #define XML_IBMVAOS2 + #if (__IBMC__ >= 400 || __IBMCPP__ >= 400) + #define XML_IBMVA4_OS2 + #endif + #elif defined(XML_AIX) || defined(__linux__) + #define XML_CSET + #endif #elif defined (__GNUG__) || defined(__BEOS__) || defined(__linux__) || defined(__CYGWIN__) #define XML_GCC #elif defined(XML_HPUX) @@ -286,17 +300,6 @@ #define XML_MVSCPP #elif defined(EXM_OS390) && defined(__cplusplus) #define XML_MVSCPP -#elif defined(__IBMC__) || defined(__IBMCPP__) - #if defined(XML_WIN32) - #define XML_IBMVAW32 - #elif defined(XML_OS2) - #define XML_IBMVAOS2 - #if (__IBMC__ >= 400 || __IBMCPP__ >= 400) - #define XML_IBMVA4_OS2 - #endif - #elif defined(XML_AIX) - #define XML_CSET - #endif #elif defined(XML_TRU64) && defined(__DECCXX) #define XML_DECCXX #elif defined(__MWERKS__) diff --git a/src/xercesc/util/OutOfMemoryException.hpp b/src/xercesc/util/OutOfMemoryException.hpp index a04536ec11619b714380c260c6ac6d8c112730ac..451b4b3b14ec86137f4955992e3c0df5b5831a0f 100755 --- a/src/xercesc/util/OutOfMemoryException.hpp +++ b/src/xercesc/util/OutOfMemoryException.hpp @@ -27,7 +27,7 @@ XERCES_CPP_NAMESPACE_BEGIN -const XMLCh gDefOutOfMemoryErrMsg[] = +static const XMLCh gDefOutOfMemoryErrMsg[] = { chLatin_O, chLatin_u, chLatin_t, chLatin_O , chLatin_f, chLatin_M, chLatin_e, chLatin_m diff --git a/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp b/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp index 9995db2a0b6879598e7b4daf2a0389f15551a0f7..f14fa14fd69c06e72ed5888ba2071badd3b20785 100644 --- a/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp +++ b/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp @@ -28,7 +28,7 @@ #include <xercesc/framework/MemoryManager.hpp> #include <wchar.h> -#if defined (XML_GCC) || defined (XML_PTX) || defined (XML_IBMVAOS2) +#if defined (XML_GCC) || defined (XML_PTX) || defined (XML_IBMVAOS2) || defined(XML_LINUX) #if defined(XML_BEOS) wint_t towlower(wint_t wc) { return ((wc>'A')&&(wc<'Z') ? wc+'a'-'A' : wc); diff --git a/src/xercesc/util/regx/RegxDefs.hpp b/src/xercesc/util/regx/RegxDefs.hpp index b673ae596a46339d8ae72d0910f5f66a9dfb5a07..df4906ee7fc34a3745b6f2033ecce5a32f607258 100644 --- a/src/xercesc/util/regx/RegxDefs.hpp +++ b/src/xercesc/util/regx/RegxDefs.hpp @@ -29,53 +29,53 @@ XERCES_CPP_NAMESPACE_BEGIN -const XMLCh fgXMLCategory[] = +static const XMLCh fgXMLCategory[] = { chLatin_X, chLatin_M, chLatin_L, chNull }; -const XMLCh fgASCIICategory[] = +static const XMLCh fgASCIICategory[] = { chLatin_A, chLatin_S, chLatin_C, chLatin_I, chLatin_I, chNull }; -const XMLCh fgUnicodeCategory[] = +static const XMLCh fgUnicodeCategory[] = { chLatin_U, chLatin_N, chLatin_I, chLatin_C, chLatin_O, chLatin_D, chLatin_E, chNull }; -const XMLCh fgBlockCategory[] = +static const XMLCh fgBlockCategory[] = { chLatin_B, chLatin_L, chLatin_O, chLatin_C, chLatin_K, chNull }; -const XMLCh fgXMLSpace[] = +static const XMLCh fgXMLSpace[] = { chLatin_x, chLatin_m, chLatin_l, chColon, chLatin_i, chLatin_s, chLatin_S, chLatin_p, chLatin_a, chLatin_c, chLatin_e, chNull }; -const XMLCh fgXMLDigit[] = +static const XMLCh fgXMLDigit[] = { chLatin_x, chLatin_m, chLatin_l, chColon, chLatin_i, chLatin_s, chLatin_D, chLatin_i, chLatin_g, chLatin_i, chLatin_t, chNull }; -const XMLCh fgXMLWord[] = +static const XMLCh fgXMLWord[] = { chLatin_x, chLatin_m, chLatin_l, chColon, chLatin_i, chLatin_s, chLatin_W, chLatin_o, chLatin_r, chLatin_d, chNull }; -const XMLCh fgXMLNameChar[] = +static const XMLCh fgXMLNameChar[] = { chLatin_x, chLatin_m, chLatin_l, chColon, chLatin_i, chLatin_s, chLatin_N, chLatin_a, chLatin_m, chLatin_e, chLatin_C, chLatin_h, chLatin_a, chLatin_r, chNull }; -const XMLCh fgXMLInitialNameChar[] = +static const XMLCh fgXMLInitialNameChar[] = { chLatin_x, chLatin_m, chLatin_l, chColon, chLatin_i, chLatin_s, chLatin_I, chLatin_n, chLatin_i, chLatin_t, chLatin_i, chLatin_a, chLatin_l, @@ -83,31 +83,31 @@ const XMLCh fgXMLInitialNameChar[] = chLatin_a, chLatin_r, chNull }; -const XMLCh fgASCII[] = +static const XMLCh fgASCII[] = { chLatin_a, chLatin_s, chLatin_c, chLatin_i, chLatin_i, chColon, chLatin_i, chLatin_s, chLatin_A, chLatin_s, chLatin_c, chLatin_i, chLatin_i, chNull }; -const XMLCh fgASCIIDigit[] = +static const XMLCh fgASCIIDigit[] = { chLatin_a, chLatin_s, chLatin_c, chLatin_i, chLatin_i, chColon, chLatin_i, chLatin_s, chLatin_D, chLatin_i, chLatin_g, chLatin_i, chLatin_t, chNull }; -const XMLCh fgASCIIWord[] = +static const XMLCh fgASCIIWord[] = { chLatin_a, chLatin_s, chLatin_c, chLatin_i, chLatin_i, chColon, chLatin_i, chLatin_s, chLatin_W, chLatin_o, chLatin_r, chLatin_d, chNull }; -const XMLCh fgASCIISpace[] = +static const XMLCh fgASCIISpace[] = { chLatin_a, chLatin_s, chLatin_c, chLatin_i, chLatin_i, chColon, chLatin_i, chLatin_s, chLatin_S, chLatin_p, chLatin_a, chLatin_c, chLatin_e, chNull }; -const XMLCh fgASCIIXDigit[] = +static const XMLCh fgASCIIXDigit[] = { chLatin_a, chLatin_s, chLatin_c, chLatin_i, chLatin_i, chColon, chLatin_i, chLatin_s, chLatin_X, chLatin_D, chLatin_i, chLatin_g, chLatin_i, @@ -115,115 +115,115 @@ const XMLCh fgASCIIXDigit[] = }; -const XMLCh fgUniAll[] = +static const XMLCh fgUniAll[] = { chLatin_A, chLatin_L, chLatin_L, chNull }; -const XMLCh fgUniIsAlpha[] = +static const XMLCh fgUniIsAlpha[] = { chLatin_I, chLatin_s, chLatin_A, chLatin_l, chLatin_p, chLatin_h, chLatin_a, chNull }; -const XMLCh fgUniIsAlnum[] = +static const XMLCh fgUniIsAlnum[] = { chLatin_I, chLatin_s, chLatin_A, chLatin_l, chLatin_n, chLatin_u, chLatin_m, chNull }; -const XMLCh fgUniIsWord[] = +static const XMLCh fgUniIsWord[] = { chLatin_I, chLatin_s, chLatin_W, chLatin_o, chLatin_r, chLatin_d, chNull }; -const XMLCh fgUniIsDigit[] = +static const XMLCh fgUniIsDigit[] = { chLatin_I, chLatin_s, chLatin_D, chLatin_i, chLatin_g, chLatin_i, chLatin_t, chNull }; -const XMLCh fgUniIsUpper[] = +static const XMLCh fgUniIsUpper[] = { chLatin_I, chLatin_s, chLatin_U, chLatin_p, chLatin_p, chLatin_e, chLatin_r, chNull }; -const XMLCh fgUniIsLower[] = +static const XMLCh fgUniIsLower[] = { chLatin_I, chLatin_s, chLatin_L, chLatin_o, chLatin_w, chLatin_e, chLatin_r, chNull }; -const XMLCh fgUniIsPunct[] = +static const XMLCh fgUniIsPunct[] = { chLatin_I, chLatin_s, chLatin_P, chLatin_u, chLatin_n, chLatin_c, chLatin_t, chNull }; -const XMLCh fgUniIsSpace[] = +static const XMLCh fgUniIsSpace[] = { chLatin_I, chLatin_s, chLatin_S, chLatin_p, chLatin_a, chLatin_c, chLatin_e, chNull }; -const XMLCh fgUniAssigned[] = +static const XMLCh fgUniAssigned[] = { chLatin_A, chLatin_S, chLatin_S, chLatin_I, chLatin_G, chLatin_N, chLatin_E, chLatin_D, chNull }; -const XMLCh fgUniDecimalDigit[] = +static const XMLCh fgUniDecimalDigit[] = { chLatin_N, chLatin_d, chNull }; -const XMLCh fgBlockIsSpecials[] = +static const XMLCh fgBlockIsSpecials[] = { chLatin_I, chLatin_s, chLatin_S, chLatin_p, chLatin_e, chLatin_c, chLatin_i, chLatin_a, chLatin_l, chLatin_s, chNull }; -const XMLCh fgBlockIsPrivateUse[] = +static const XMLCh fgBlockIsPrivateUse[] = { chLatin_I, chLatin_s, chLatin_P, chLatin_r, chLatin_i, chLatin_v, chLatin_a, chLatin_t, chLatin_e, chLatin_U, chLatin_s, chLatin_e, chNull }; -const XMLCh fgUniLetter[] = +static const XMLCh fgUniLetter[] = { chLatin_L, chNull }; -const XMLCh fgUniNumber[] = +static const XMLCh fgUniNumber[] = { chLatin_N, chNull }; -const XMLCh fgUniMark[] = +static const XMLCh fgUniMark[] = { chLatin_M, chNull }; -const XMLCh fgUniSeparator[] = +static const XMLCh fgUniSeparator[] = { chLatin_Z, chNull }; -const XMLCh fgUniPunctuation[] = +static const XMLCh fgUniPunctuation[] = { chLatin_P, chNull }; -const XMLCh fgUniControl[] = +static const XMLCh fgUniControl[] = { chLatin_C, chNull }; -const XMLCh fgUniSymbol[] = +static const XMLCh fgUniSymbol[] = { chLatin_S, chNull }; diff --git a/src/xercesc/validators/schema/GeneralAttributeCheck.cpp b/src/xercesc/validators/schema/GeneralAttributeCheck.cpp index 4b36b4d25f318ac7963064f1d8fcd7b5814d60c9..4ab143a8c980a3e971c8f60ec2220e0ade4e455f 100644 --- a/src/xercesc/validators/schema/GeneralAttributeCheck.cpp +++ b/src/xercesc/validators/schema/GeneralAttributeCheck.cpp @@ -16,6 +16,9 @@ /* * $Log$ + * Revision 1.26 2004/11/18 16:20:06 cargilld + * Changes for linker problems with linux build using xlc. + * * Revision 1.25 2004/10/20 15:19:07 knoaman * Allow option of initializing static data in XMLPlatformUtils::Initialize * @@ -167,28 +170,28 @@ XERCES_CPP_NAMESPACE_BEGIN // --------------------------------------------------------------------------- // Local const data // --------------------------------------------------------------------------- -const XMLCh fgValueZero[] = +static const XMLCh fgValueZero[] = { chDigit_0, chNull }; -const XMLCh fgValueOne[] = +static const XMLCh fgValueOne[] = { chDigit_1, chNull }; -const XMLCh fgUnbounded[] = +static const XMLCh fgUnbounded[] = { chLatin_u, chLatin_n, chLatin_b, chLatin_o, chLatin_u, chLatin_n, chLatin_d, chLatin_e, chLatin_d, chNull }; -const XMLCh fgLocal[] = +static const XMLCh fgLocal[] = { chLatin_l, chLatin_o, chLatin_c, chLatin_a, chLatin_l, chNull }; -const XMLCh fgGlobal[] = +static const XMLCh fgGlobal[] = { chLatin_g, chLatin_l, chLatin_o, chLatin_b, chLatin_a, chLatin_l, chNull }; diff --git a/src/xercesc/validators/schema/TraverseSchema.cpp b/src/xercesc/validators/schema/TraverseSchema.cpp index 689ccbeeb456407e399cec890882dbe059d7b2c1..c77b673ee559fb76a9efea318b76e5dd87bb95d8 100644 --- a/src/xercesc/validators/schema/TraverseSchema.cpp +++ b/src/xercesc/validators/schema/TraverseSchema.cpp @@ -75,70 +75,70 @@ typedef RefVectorOf<DatatypeValidator> DVRefVector; // --------------------------------------------------------------------------- // TraverseSchema: Local const data // --------------------------------------------------------------------------- -const XMLCh fgAnonSNamePrefix[] = +static const XMLCh fgAnonSNamePrefix[] = { chLatin_S, chNull }; -const XMLCh fgAnonCNamePrefix[] = +static const XMLCh fgAnonCNamePrefix[] = { chLatin_C, chNull }; -const XMLCh fgUnbounded[] = +static const XMLCh fgUnbounded[] = { chLatin_u, chLatin_n, chLatin_b, chLatin_o, chLatin_u, chLatin_n, chLatin_d, chLatin_e, chLatin_d, chNull }; -const XMLCh fgSkip[] = +static const XMLCh fgSkip[] = { chLatin_s, chLatin_k, chLatin_i, chLatin_p, chNull }; -const XMLCh fgLax[] = +static const XMLCh fgLax[] = { chLatin_l, chLatin_a, chLatin_x, chNull }; -const XMLCh fgStrict[] = +static const XMLCh fgStrict[] = { chLatin_s, chLatin_t, chLatin_r, chLatin_i, chLatin_c, chLatin_t, chNull }; -const XMLCh fgValueOne[] = +static const XMLCh fgValueOne[] = { chDigit_1, chNull }; -const XMLCh fgValueZero[] = +static const XMLCh fgValueZero[] = { chDigit_0, chNull }; -const XMLCh fgForwardSlash[] = +static const XMLCh fgForwardSlash[] = { chForwardSlash, chNull }; -const XMLCh fgDot[] = +static const XMLCh fgDot[] = { chPeriod, chNull }; -const XMLCh fgDotForwardSlash[] = +static const XMLCh fgDotForwardSlash[] = { chPeriod, chForwardSlash, chNull }; -const XMLCh* fgIdentityConstraints[] = +static const XMLCh* fgIdentityConstraints[] = { SchemaSymbols::fgELT_UNIQUE, SchemaSymbols::fgELT_KEY, SchemaSymbols::fgELT_KEYREF }; -const XMLCh fgSynthetic_Annotation[] = +static const XMLCh fgSynthetic_Annotation[] = { chLatin_S, chLatin_y, chLatin_n, chLatin_t, chLatin_h, chLatin_e, chLatin_t , chLatin_i, chLatin_c, chUnderscore