From fc2234b87f4ce29be0e556c6f3b085b749b7d71b Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Thu, 16 Apr 2020 18:15:45 +0300 Subject: Add implementation --- .gitmodules | 4 + README-DEV | 139 +++++++++++++++ README-GIT | 5 + libxerces-c/.gitignore | 20 +++ libxerces-c/INSTALL | 7 + libxerces-c/LICENSE | 1 + libxerces-c/README | 21 +++ libxerces-c/README-DEV | 96 +++++++++++ libxerces-c/build/.gitignore | 3 + libxerces-c/build/bootstrap.build | 35 ++++ libxerces-c/build/export.build | 9 + libxerces-c/build/root.build | 26 +++ libxerces-c/buildfile | 9 + libxerces-c/manifest | 25 +++ libxerces-c/tests/.gitignore | 3 + libxerces-c/tests/build/.gitignore | 3 + libxerces-c/tests/build/bootstrap.build | 8 + libxerces-c/tests/build/root.build | 23 +++ libxerces-c/tests/buildfile | 4 + libxerces-c/tests/dom-print/DOMPrint | 1 + libxerces-c/tests/dom-print/buildfile | 6 + libxerces-c/tests/dom-print/testscript | 20 +++ libxerces-c/tests/net-accessor/NetAccessorTest.cpp | 167 ++++++++++++++++++ libxerces-c/tests/net-accessor/buildfile | 11 ++ .../net-accessor/handle-exception-as-error.patch | 35 ++++ libxerces-c/tests/net-accessor/testscript | 34 ++++ libxerces-c/tests/psvi-writer/PSVIWriter | 1 + libxerces-c/tests/psvi-writer/buildfile | 11 ++ libxerces-c/tests/psvi-writer/testscript | 21 +++ libxerces-c/tests/sax-print/SAXPrint | 1 + libxerces-c/tests/sax-print/buildfile | 6 + libxerces-c/tests/sax-print/testscript | 20 +++ libxerces-c/tests/sax2-print/SAX2Print | 1 + libxerces-c/tests/sax2-print/buildfile | 6 + libxerces-c/tests/sax2-print/testscript | 20 +++ libxerces-c/xercesc/buildfile | 148 ++++++++++++++++ libxerces-c/xercesc/config.h | 137 +++++++++++++++ libxerces-c/xercesc/config.h.cmake.in.orig | 1 + libxerces-c/xercesc/dom | 1 + .../xercesc/export-template-instantiations.patch | 29 ++++ libxerces-c/xercesc/framework | 1 + libxerces-c/xercesc/internal | 1 + libxerces-c/xercesc/parsers | 1 + libxerces-c/xercesc/sax | 1 + libxerces-c/xercesc/sax2 | 1 + libxerces-c/xercesc/stricmp.c | 1 + libxerces-c/xercesc/stricmp.h | 1 + libxerces-c/xercesc/strnicmp.c | 1 + libxerces-c/xercesc/strnicmp.h | 1 + .../util/ArrayIndexOutOfBoundsException.hpp | 1 + libxerces-c/xercesc/util/Base64.cpp | 1 + libxerces-c/xercesc/util/Base64.hpp | 1 + libxerces-c/xercesc/util/BaseRefVectorOf.c | 1 + libxerces-c/xercesc/util/BaseRefVectorOf.hpp | 1 + libxerces-c/xercesc/util/BinFileInputStream.cpp | 1 + libxerces-c/xercesc/util/BinFileInputStream.hpp | 1 + libxerces-c/xercesc/util/BinInputStream.cpp | 1 + libxerces-c/xercesc/util/BinInputStream.hpp | 1 + libxerces-c/xercesc/util/BinMemInputStream.cpp | 1 + libxerces-c/xercesc/util/BinMemInputStream.hpp | 1 + libxerces-c/xercesc/util/BitOps.hpp | 1 + libxerces-c/xercesc/util/BitSet.cpp | 1 + libxerces-c/xercesc/util/BitSet.hpp | 1 + libxerces-c/xercesc/util/CountedPointer.c | 1 + libxerces-c/xercesc/util/CountedPointer.hpp | 1 + libxerces-c/xercesc/util/DefaultPanicHandler.cpp | 1 + libxerces-c/xercesc/util/DefaultPanicHandler.hpp | 1 + libxerces-c/xercesc/util/EmptyStackException.hpp | 1 + libxerces-c/xercesc/util/EncodingValidator.cpp | 1 + libxerces-c/xercesc/util/EncodingValidator.hpp | 1 + libxerces-c/xercesc/util/FileManagers | 1 + libxerces-c/xercesc/util/FlagJanitor.c | 1 + libxerces-c/xercesc/util/FlagJanitor.hpp | 1 + libxerces-c/xercesc/util/Hash2KeysSetOf.c | 1 + libxerces-c/xercesc/util/Hash2KeysSetOf.hpp | 1 + libxerces-c/xercesc/util/Hashers.hpp | 1 + libxerces-c/xercesc/util/HeaderDummy.cpp | 1 + libxerces-c/xercesc/util/HexBin.cpp | 1 + libxerces-c/xercesc/util/HexBin.hpp | 1 + libxerces-c/xercesc/util/IOException.hpp | 1 + .../xercesc/util/IllegalArgumentException.hpp | 1 + libxerces-c/xercesc/util/InvalidCastException.hpp | 1 + libxerces-c/xercesc/util/Janitor.c | 1 + libxerces-c/xercesc/util/Janitor.hpp | 168 ++++++++++++++++++ libxerces-c/xercesc/util/JanitorExports.cpp | 25 +++ libxerces-c/xercesc/util/KVStringPair.cpp | 1 + libxerces-c/xercesc/util/KVStringPair.hpp | 1 + libxerces-c/xercesc/util/KeyRefPair.c | 1 + libxerces-c/xercesc/util/KeyRefPair.hpp | 1 + libxerces-c/xercesc/util/KeyValuePair.c | 1 + libxerces-c/xercesc/util/KeyValuePair.hpp | 1 + libxerces-c/xercesc/util/LogicalPath.c | 1 + libxerces-c/xercesc/util/MsgLoaders/InMemory | 1 + .../xercesc/util/MutexManagers/StdMutexMgr.cpp | 1 + .../xercesc/util/MutexManagers/StdMutexMgr.hpp | 1 + libxerces-c/xercesc/util/Mutexes.cpp | 1 + libxerces-c/xercesc/util/Mutexes.hpp | 1 + libxerces-c/xercesc/util/NameIdPool.c | 1 + libxerces-c/xercesc/util/NameIdPool.hpp | 1 + libxerces-c/xercesc/util/NetAccessors/Curl | 1 + .../xercesc/util/NoSuchElementException.hpp | 1 + libxerces-c/xercesc/util/NullPointerException.hpp | 1 + libxerces-c/xercesc/util/NumberFormatException.hpp | 1 + libxerces-c/xercesc/util/OutOfMemoryException.hpp | 1 + libxerces-c/xercesc/util/PSVIUni.cpp | 1 + libxerces-c/xercesc/util/PSVIUni.hpp | 1 + libxerces-c/xercesc/util/PanicHandler.cpp | 1 + libxerces-c/xercesc/util/PanicHandler.hpp | 1 + libxerces-c/xercesc/util/ParseException.hpp | 1 + libxerces-c/xercesc/util/PlatformUtils.cpp | 1 + libxerces-c/xercesc/util/PlatformUtils.hpp | 1 + libxerces-c/xercesc/util/QName.cpp | 1 + libxerces-c/xercesc/util/QName.hpp | 1 + libxerces-c/xercesc/util/RefArrayOf.c | 1 + libxerces-c/xercesc/util/RefArrayOf.hpp | 1 + libxerces-c/xercesc/util/RefArrayVectorOf.c | 1 + libxerces-c/xercesc/util/RefArrayVectorOf.hpp | 1 + libxerces-c/xercesc/util/RefHash2KeysTableOf.c | 1 + libxerces-c/xercesc/util/RefHash2KeysTableOf.hpp | 1 + libxerces-c/xercesc/util/RefHash3KeysIdPool.c | 1 + libxerces-c/xercesc/util/RefHash3KeysIdPool.hpp | 1 + libxerces-c/xercesc/util/RefHashTableOf.c | 1 + libxerces-c/xercesc/util/RefHashTableOf.hpp | 1 + libxerces-c/xercesc/util/RefStackOf.c | 1 + libxerces-c/xercesc/util/RefStackOf.hpp | 1 + libxerces-c/xercesc/util/RefVectorOf.c | 1 + libxerces-c/xercesc/util/RefVectorOf.hpp | 1 + libxerces-c/xercesc/util/RuntimeException.hpp | 1 + .../xercesc/util/SchemaDateTimeException.hpp | 1 + libxerces-c/xercesc/util/SecurityManager.hpp | 1 + libxerces-c/xercesc/util/StringPool.cpp | 1 + libxerces-c/xercesc/util/StringPool.hpp | 1 + .../xercesc/util/SynchronizedStringPool.cpp | 1 + .../xercesc/util/SynchronizedStringPool.hpp | 1 + libxerces-c/xercesc/util/TransENameMap.c | 1 + libxerces-c/xercesc/util/TransENameMap.hpp | 1 + libxerces-c/xercesc/util/TransService.cpp | 1 + libxerces-c/xercesc/util/TransService.hpp | 1 + libxerces-c/xercesc/util/Transcoders/ICU | 1 + libxerces-c/xercesc/util/TranscodingException.hpp | 1 + .../xercesc/util/UTFDataFormatException.hpp | 1 + .../xercesc/util/UnexpectedEOFException.hpp | 1 + .../xercesc/util/UnsupportedEncodingException.hpp | 1 + libxerces-c/xercesc/util/ValueArrayOf.c | 1 + libxerces-c/xercesc/util/ValueArrayOf.hpp | 1 + libxerces-c/xercesc/util/ValueHashTableOf.c | 1 + libxerces-c/xercesc/util/ValueHashTableOf.hpp | 1 + libxerces-c/xercesc/util/ValueStackOf.c | 1 + libxerces-c/xercesc/util/ValueStackOf.hpp | 1 + libxerces-c/xercesc/util/ValueVectorOf.c | 1 + libxerces-c/xercesc/util/ValueVectorOf.hpp | 1 + libxerces-c/xercesc/util/XML256TableTranscoder.cpp | 1 + libxerces-c/xercesc/util/XML256TableTranscoder.hpp | 1 + libxerces-c/xercesc/util/XML88591Transcoder.cpp | 1 + libxerces-c/xercesc/util/XML88591Transcoder.hpp | 1 + libxerces-c/xercesc/util/XMLASCIITranscoder.cpp | 1 + libxerces-c/xercesc/util/XMLASCIITranscoder.hpp | 1 + .../xercesc/util/XMLAbstractDoubleFloat.cpp | 1 + .../xercesc/util/XMLAbstractDoubleFloat.hpp | 1 + libxerces-c/xercesc/util/XMLBigDecimal.cpp | 1 + libxerces-c/xercesc/util/XMLBigDecimal.hpp | 1 + libxerces-c/xercesc/util/XMLBigInteger.cpp | 1 + libxerces-c/xercesc/util/XMLBigInteger.hpp | 1 + libxerces-c/xercesc/util/XMLChTranscoder.cpp | 1 + libxerces-c/xercesc/util/XMLChTranscoder.hpp | 1 + libxerces-c/xercesc/util/XMLChar.cpp | 1 + libxerces-c/xercesc/util/XMLChar.hpp | 1 + libxerces-c/xercesc/util/XMLDOMMsg.hpp | 1 + libxerces-c/xercesc/util/XMLDateTime.cpp | 1 + libxerces-c/xercesc/util/XMLDateTime.hpp | 1 + libxerces-c/xercesc/util/XMLDouble.cpp | 1 + libxerces-c/xercesc/util/XMLDouble.hpp | 1 + libxerces-c/xercesc/util/XMLEBCDICTranscoder.cpp | 1 + libxerces-c/xercesc/util/XMLEBCDICTranscoder.hpp | 1 + libxerces-c/xercesc/util/XMLEntityResolver.hpp | 1 + libxerces-c/xercesc/util/XMLEnumerator.hpp | 1 + libxerces-c/xercesc/util/XMLExceptMsgs.hpp | 1 + libxerces-c/xercesc/util/XMLException.cpp | 1 + libxerces-c/xercesc/util/XMLException.hpp | 1 + libxerces-c/xercesc/util/XMLFileMgr.hpp | 1 + libxerces-c/xercesc/util/XMLFloat.cpp | 1 + libxerces-c/xercesc/util/XMLFloat.hpp | 1 + libxerces-c/xercesc/util/XMLIBM1047Transcoder.cpp | 1 + libxerces-c/xercesc/util/XMLIBM1047Transcoder.hpp | 1 + libxerces-c/xercesc/util/XMLIBM1140Transcoder.cpp | 1 + libxerces-c/xercesc/util/XMLIBM1140Transcoder.hpp | 1 + libxerces-c/xercesc/util/XMLInitializer.cpp | 1 + libxerces-c/xercesc/util/XMLInitializer.hpp | 1 + libxerces-c/xercesc/util/XMLInteger.hpp | 1 + libxerces-c/xercesc/util/XMLMsgLoader.cpp | 1 + libxerces-c/xercesc/util/XMLMsgLoader.hpp | 1 + libxerces-c/xercesc/util/XMLMutexMgr.hpp | 1 + libxerces-c/xercesc/util/XMLNetAccessor.hpp | 1 + libxerces-c/xercesc/util/XMLNumber.cpp | 1 + libxerces-c/xercesc/util/XMLNumber.hpp | 1 + libxerces-c/xercesc/util/XMLResourceIdentifier.hpp | 1 + libxerces-c/xercesc/util/XMLString.cpp | 1 + libxerces-c/xercesc/util/XMLString.hpp | 1 + libxerces-c/xercesc/util/XMLStringTokenizer.cpp | 1 + libxerces-c/xercesc/util/XMLStringTokenizer.hpp | 1 + libxerces-c/xercesc/util/XMLUCS4Transcoder.cpp | 1 + libxerces-c/xercesc/util/XMLUCS4Transcoder.hpp | 1 + libxerces-c/xercesc/util/XMLURL.cpp | 1 + libxerces-c/xercesc/util/XMLURL.hpp | 1 + libxerces-c/xercesc/util/XMLUTF16Transcoder.cpp | 1 + libxerces-c/xercesc/util/XMLUTF16Transcoder.hpp | 1 + libxerces-c/xercesc/util/XMLUTF8Transcoder.cpp | 1 + libxerces-c/xercesc/util/XMLUTF8Transcoder.hpp | 1 + libxerces-c/xercesc/util/XMLUni.cpp | 1 + libxerces-c/xercesc/util/XMLUni.hpp | 1 + libxerces-c/xercesc/util/XMLUniDefs.hpp | 1 + libxerces-c/xercesc/util/XMLUri.cpp | 1 + libxerces-c/xercesc/util/XMLUri.hpp | 1 + libxerces-c/xercesc/util/XMLWin1252Transcoder.cpp | 1 + libxerces-c/xercesc/util/XMLWin1252Transcoder.hpp | 1 + libxerces-c/xercesc/util/XMemory.cpp | 1 + libxerces-c/xercesc/util/XMemory.hpp | 1 + libxerces-c/xercesc/util/XercesDefs.hpp | 1 + libxerces-c/xercesc/util/XercesVersion.hpp | 0 libxerces-c/xercesc/util/XercesVersion.hpp.in | 1 + .../xercesc/util/Xerces_autoconf_config.hpp | 191 +++++++++++++++++++++ .../util/Xerces_autoconf_config.hpp.cmake.in.orig | 1 + libxerces-c/xercesc/util/regx | 1 + libxerces-c/xercesc/validators | 1 + libxerces-c/xercesc/xinclude | 1 + packages.manifest | 2 + repositories.manifest | 10 ++ upstream | 1 + 228 files changed, 1696 insertions(+) create mode 100644 .gitmodules create mode 100644 README-DEV create mode 100644 README-GIT create mode 100644 libxerces-c/.gitignore create mode 100644 libxerces-c/INSTALL create mode 120000 libxerces-c/LICENSE create mode 100644 libxerces-c/README create mode 100644 libxerces-c/README-DEV create mode 100644 libxerces-c/build/.gitignore create mode 100644 libxerces-c/build/bootstrap.build create mode 100644 libxerces-c/build/export.build create mode 100644 libxerces-c/build/root.build create mode 100644 libxerces-c/buildfile create mode 100644 libxerces-c/manifest create mode 100644 libxerces-c/tests/.gitignore create mode 100644 libxerces-c/tests/build/.gitignore create mode 100644 libxerces-c/tests/build/bootstrap.build create mode 100644 libxerces-c/tests/build/root.build create mode 100644 libxerces-c/tests/buildfile create mode 120000 libxerces-c/tests/dom-print/DOMPrint create mode 100644 libxerces-c/tests/dom-print/buildfile create mode 100644 libxerces-c/tests/dom-print/testscript create mode 100644 libxerces-c/tests/net-accessor/NetAccessorTest.cpp create mode 100644 libxerces-c/tests/net-accessor/buildfile create mode 100644 libxerces-c/tests/net-accessor/handle-exception-as-error.patch create mode 100644 libxerces-c/tests/net-accessor/testscript create mode 120000 libxerces-c/tests/psvi-writer/PSVIWriter create mode 100644 libxerces-c/tests/psvi-writer/buildfile create mode 100644 libxerces-c/tests/psvi-writer/testscript create mode 120000 libxerces-c/tests/sax-print/SAXPrint create mode 100644 libxerces-c/tests/sax-print/buildfile create mode 100644 libxerces-c/tests/sax-print/testscript create mode 120000 libxerces-c/tests/sax2-print/SAX2Print create mode 100644 libxerces-c/tests/sax2-print/buildfile create mode 100644 libxerces-c/tests/sax2-print/testscript create mode 100644 libxerces-c/xercesc/buildfile create mode 100644 libxerces-c/xercesc/config.h create mode 120000 libxerces-c/xercesc/config.h.cmake.in.orig create mode 120000 libxerces-c/xercesc/dom create mode 100644 libxerces-c/xercesc/export-template-instantiations.patch create mode 120000 libxerces-c/xercesc/framework create mode 120000 libxerces-c/xercesc/internal create mode 120000 libxerces-c/xercesc/parsers create mode 120000 libxerces-c/xercesc/sax create mode 120000 libxerces-c/xercesc/sax2 create mode 120000 libxerces-c/xercesc/stricmp.c create mode 120000 libxerces-c/xercesc/stricmp.h create mode 120000 libxerces-c/xercesc/strnicmp.c create mode 120000 libxerces-c/xercesc/strnicmp.h create mode 120000 libxerces-c/xercesc/util/ArrayIndexOutOfBoundsException.hpp create mode 120000 libxerces-c/xercesc/util/Base64.cpp create mode 120000 libxerces-c/xercesc/util/Base64.hpp create mode 120000 libxerces-c/xercesc/util/BaseRefVectorOf.c create mode 120000 libxerces-c/xercesc/util/BaseRefVectorOf.hpp create mode 120000 libxerces-c/xercesc/util/BinFileInputStream.cpp create mode 120000 libxerces-c/xercesc/util/BinFileInputStream.hpp create mode 120000 libxerces-c/xercesc/util/BinInputStream.cpp create mode 120000 libxerces-c/xercesc/util/BinInputStream.hpp create mode 120000 libxerces-c/xercesc/util/BinMemInputStream.cpp create mode 120000 libxerces-c/xercesc/util/BinMemInputStream.hpp create mode 120000 libxerces-c/xercesc/util/BitOps.hpp create mode 120000 libxerces-c/xercesc/util/BitSet.cpp create mode 120000 libxerces-c/xercesc/util/BitSet.hpp create mode 120000 libxerces-c/xercesc/util/CountedPointer.c create mode 120000 libxerces-c/xercesc/util/CountedPointer.hpp create mode 120000 libxerces-c/xercesc/util/DefaultPanicHandler.cpp create mode 120000 libxerces-c/xercesc/util/DefaultPanicHandler.hpp create mode 120000 libxerces-c/xercesc/util/EmptyStackException.hpp create mode 120000 libxerces-c/xercesc/util/EncodingValidator.cpp create mode 120000 libxerces-c/xercesc/util/EncodingValidator.hpp create mode 120000 libxerces-c/xercesc/util/FileManagers create mode 120000 libxerces-c/xercesc/util/FlagJanitor.c create mode 120000 libxerces-c/xercesc/util/FlagJanitor.hpp create mode 120000 libxerces-c/xercesc/util/Hash2KeysSetOf.c create mode 120000 libxerces-c/xercesc/util/Hash2KeysSetOf.hpp create mode 120000 libxerces-c/xercesc/util/Hashers.hpp create mode 120000 libxerces-c/xercesc/util/HeaderDummy.cpp create mode 120000 libxerces-c/xercesc/util/HexBin.cpp create mode 120000 libxerces-c/xercesc/util/HexBin.hpp create mode 120000 libxerces-c/xercesc/util/IOException.hpp create mode 120000 libxerces-c/xercesc/util/IllegalArgumentException.hpp create mode 120000 libxerces-c/xercesc/util/InvalidCastException.hpp create mode 120000 libxerces-c/xercesc/util/Janitor.c create mode 100644 libxerces-c/xercesc/util/Janitor.hpp create mode 100644 libxerces-c/xercesc/util/JanitorExports.cpp create mode 120000 libxerces-c/xercesc/util/KVStringPair.cpp create mode 120000 libxerces-c/xercesc/util/KVStringPair.hpp create mode 120000 libxerces-c/xercesc/util/KeyRefPair.c create mode 120000 libxerces-c/xercesc/util/KeyRefPair.hpp create mode 120000 libxerces-c/xercesc/util/KeyValuePair.c create mode 120000 libxerces-c/xercesc/util/KeyValuePair.hpp create mode 120000 libxerces-c/xercesc/util/LogicalPath.c create mode 120000 libxerces-c/xercesc/util/MsgLoaders/InMemory create mode 120000 libxerces-c/xercesc/util/MutexManagers/StdMutexMgr.cpp create mode 120000 libxerces-c/xercesc/util/MutexManagers/StdMutexMgr.hpp create mode 120000 libxerces-c/xercesc/util/Mutexes.cpp create mode 120000 libxerces-c/xercesc/util/Mutexes.hpp create mode 120000 libxerces-c/xercesc/util/NameIdPool.c create mode 120000 libxerces-c/xercesc/util/NameIdPool.hpp create mode 120000 libxerces-c/xercesc/util/NetAccessors/Curl create mode 120000 libxerces-c/xercesc/util/NoSuchElementException.hpp create mode 120000 libxerces-c/xercesc/util/NullPointerException.hpp create mode 120000 libxerces-c/xercesc/util/NumberFormatException.hpp create mode 120000 libxerces-c/xercesc/util/OutOfMemoryException.hpp create mode 120000 libxerces-c/xercesc/util/PSVIUni.cpp create mode 120000 libxerces-c/xercesc/util/PSVIUni.hpp create mode 120000 libxerces-c/xercesc/util/PanicHandler.cpp create mode 120000 libxerces-c/xercesc/util/PanicHandler.hpp create mode 120000 libxerces-c/xercesc/util/ParseException.hpp create mode 120000 libxerces-c/xercesc/util/PlatformUtils.cpp create mode 120000 libxerces-c/xercesc/util/PlatformUtils.hpp create mode 120000 libxerces-c/xercesc/util/QName.cpp create mode 120000 libxerces-c/xercesc/util/QName.hpp create mode 120000 libxerces-c/xercesc/util/RefArrayOf.c create mode 120000 libxerces-c/xercesc/util/RefArrayOf.hpp create mode 120000 libxerces-c/xercesc/util/RefArrayVectorOf.c create mode 120000 libxerces-c/xercesc/util/RefArrayVectorOf.hpp create mode 120000 libxerces-c/xercesc/util/RefHash2KeysTableOf.c create mode 120000 libxerces-c/xercesc/util/RefHash2KeysTableOf.hpp create mode 120000 libxerces-c/xercesc/util/RefHash3KeysIdPool.c create mode 120000 libxerces-c/xercesc/util/RefHash3KeysIdPool.hpp create mode 120000 libxerces-c/xercesc/util/RefHashTableOf.c create mode 120000 libxerces-c/xercesc/util/RefHashTableOf.hpp create mode 120000 libxerces-c/xercesc/util/RefStackOf.c create mode 120000 libxerces-c/xercesc/util/RefStackOf.hpp create mode 120000 libxerces-c/xercesc/util/RefVectorOf.c create mode 120000 libxerces-c/xercesc/util/RefVectorOf.hpp create mode 120000 libxerces-c/xercesc/util/RuntimeException.hpp create mode 120000 libxerces-c/xercesc/util/SchemaDateTimeException.hpp create mode 120000 libxerces-c/xercesc/util/SecurityManager.hpp create mode 120000 libxerces-c/xercesc/util/StringPool.cpp create mode 120000 libxerces-c/xercesc/util/StringPool.hpp create mode 120000 libxerces-c/xercesc/util/SynchronizedStringPool.cpp create mode 120000 libxerces-c/xercesc/util/SynchronizedStringPool.hpp create mode 120000 libxerces-c/xercesc/util/TransENameMap.c create mode 120000 libxerces-c/xercesc/util/TransENameMap.hpp create mode 120000 libxerces-c/xercesc/util/TransService.cpp create mode 120000 libxerces-c/xercesc/util/TransService.hpp create mode 120000 libxerces-c/xercesc/util/Transcoders/ICU create mode 120000 libxerces-c/xercesc/util/TranscodingException.hpp create mode 120000 libxerces-c/xercesc/util/UTFDataFormatException.hpp create mode 120000 libxerces-c/xercesc/util/UnexpectedEOFException.hpp create mode 120000 libxerces-c/xercesc/util/UnsupportedEncodingException.hpp create mode 120000 libxerces-c/xercesc/util/ValueArrayOf.c create mode 120000 libxerces-c/xercesc/util/ValueArrayOf.hpp create mode 120000 libxerces-c/xercesc/util/ValueHashTableOf.c create mode 120000 libxerces-c/xercesc/util/ValueHashTableOf.hpp create mode 120000 libxerces-c/xercesc/util/ValueStackOf.c create mode 120000 libxerces-c/xercesc/util/ValueStackOf.hpp create mode 120000 libxerces-c/xercesc/util/ValueVectorOf.c create mode 120000 libxerces-c/xercesc/util/ValueVectorOf.hpp create mode 120000 libxerces-c/xercesc/util/XML256TableTranscoder.cpp create mode 120000 libxerces-c/xercesc/util/XML256TableTranscoder.hpp create mode 120000 libxerces-c/xercesc/util/XML88591Transcoder.cpp create mode 120000 libxerces-c/xercesc/util/XML88591Transcoder.hpp create mode 120000 libxerces-c/xercesc/util/XMLASCIITranscoder.cpp create mode 120000 libxerces-c/xercesc/util/XMLASCIITranscoder.hpp create mode 120000 libxerces-c/xercesc/util/XMLAbstractDoubleFloat.cpp create mode 120000 libxerces-c/xercesc/util/XMLAbstractDoubleFloat.hpp create mode 120000 libxerces-c/xercesc/util/XMLBigDecimal.cpp create mode 120000 libxerces-c/xercesc/util/XMLBigDecimal.hpp create mode 120000 libxerces-c/xercesc/util/XMLBigInteger.cpp create mode 120000 libxerces-c/xercesc/util/XMLBigInteger.hpp create mode 120000 libxerces-c/xercesc/util/XMLChTranscoder.cpp create mode 120000 libxerces-c/xercesc/util/XMLChTranscoder.hpp create mode 120000 libxerces-c/xercesc/util/XMLChar.cpp create mode 120000 libxerces-c/xercesc/util/XMLChar.hpp create mode 120000 libxerces-c/xercesc/util/XMLDOMMsg.hpp create mode 120000 libxerces-c/xercesc/util/XMLDateTime.cpp create mode 120000 libxerces-c/xercesc/util/XMLDateTime.hpp create mode 120000 libxerces-c/xercesc/util/XMLDouble.cpp create mode 120000 libxerces-c/xercesc/util/XMLDouble.hpp create mode 120000 libxerces-c/xercesc/util/XMLEBCDICTranscoder.cpp create mode 120000 libxerces-c/xercesc/util/XMLEBCDICTranscoder.hpp create mode 120000 libxerces-c/xercesc/util/XMLEntityResolver.hpp create mode 120000 libxerces-c/xercesc/util/XMLEnumerator.hpp create mode 120000 libxerces-c/xercesc/util/XMLExceptMsgs.hpp create mode 120000 libxerces-c/xercesc/util/XMLException.cpp create mode 120000 libxerces-c/xercesc/util/XMLException.hpp create mode 120000 libxerces-c/xercesc/util/XMLFileMgr.hpp create mode 120000 libxerces-c/xercesc/util/XMLFloat.cpp create mode 120000 libxerces-c/xercesc/util/XMLFloat.hpp create mode 120000 libxerces-c/xercesc/util/XMLIBM1047Transcoder.cpp create mode 120000 libxerces-c/xercesc/util/XMLIBM1047Transcoder.hpp create mode 120000 libxerces-c/xercesc/util/XMLIBM1140Transcoder.cpp create mode 120000 libxerces-c/xercesc/util/XMLIBM1140Transcoder.hpp create mode 120000 libxerces-c/xercesc/util/XMLInitializer.cpp create mode 120000 libxerces-c/xercesc/util/XMLInitializer.hpp create mode 120000 libxerces-c/xercesc/util/XMLInteger.hpp create mode 120000 libxerces-c/xercesc/util/XMLMsgLoader.cpp create mode 120000 libxerces-c/xercesc/util/XMLMsgLoader.hpp create mode 120000 libxerces-c/xercesc/util/XMLMutexMgr.hpp create mode 120000 libxerces-c/xercesc/util/XMLNetAccessor.hpp create mode 120000 libxerces-c/xercesc/util/XMLNumber.cpp create mode 120000 libxerces-c/xercesc/util/XMLNumber.hpp create mode 120000 libxerces-c/xercesc/util/XMLResourceIdentifier.hpp create mode 120000 libxerces-c/xercesc/util/XMLString.cpp create mode 120000 libxerces-c/xercesc/util/XMLString.hpp create mode 120000 libxerces-c/xercesc/util/XMLStringTokenizer.cpp create mode 120000 libxerces-c/xercesc/util/XMLStringTokenizer.hpp create mode 120000 libxerces-c/xercesc/util/XMLUCS4Transcoder.cpp create mode 120000 libxerces-c/xercesc/util/XMLUCS4Transcoder.hpp create mode 120000 libxerces-c/xercesc/util/XMLURL.cpp create mode 120000 libxerces-c/xercesc/util/XMLURL.hpp create mode 120000 libxerces-c/xercesc/util/XMLUTF16Transcoder.cpp create mode 120000 libxerces-c/xercesc/util/XMLUTF16Transcoder.hpp create mode 120000 libxerces-c/xercesc/util/XMLUTF8Transcoder.cpp create mode 120000 libxerces-c/xercesc/util/XMLUTF8Transcoder.hpp create mode 120000 libxerces-c/xercesc/util/XMLUni.cpp create mode 120000 libxerces-c/xercesc/util/XMLUni.hpp create mode 120000 libxerces-c/xercesc/util/XMLUniDefs.hpp create mode 120000 libxerces-c/xercesc/util/XMLUri.cpp create mode 120000 libxerces-c/xercesc/util/XMLUri.hpp create mode 120000 libxerces-c/xercesc/util/XMLWin1252Transcoder.cpp create mode 120000 libxerces-c/xercesc/util/XMLWin1252Transcoder.hpp create mode 120000 libxerces-c/xercesc/util/XMemory.cpp create mode 120000 libxerces-c/xercesc/util/XMemory.hpp create mode 120000 libxerces-c/xercesc/util/XercesDefs.hpp create mode 100644 libxerces-c/xercesc/util/XercesVersion.hpp create mode 120000 libxerces-c/xercesc/util/XercesVersion.hpp.in create mode 100644 libxerces-c/xercesc/util/Xerces_autoconf_config.hpp create mode 120000 libxerces-c/xercesc/util/Xerces_autoconf_config.hpp.cmake.in.orig create mode 120000 libxerces-c/xercesc/util/regx create mode 120000 libxerces-c/xercesc/validators create mode 120000 libxerces-c/xercesc/xinclude create mode 100644 packages.manifest create mode 100644 repositories.manifest create mode 160000 upstream diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..b4256db --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "upstream"] + path = upstream + url = https://github.com/apache/xerces-c.git + ignore = untracked diff --git a/README-DEV b/README-DEV new file mode 100644 index 0000000..dbe777f --- /dev/null +++ b/README-DEV @@ -0,0 +1,139 @@ +This document describes an approach applied to packaging Xerces-C++ for +build2. In particular, this understanding will be useful when upgrading to a +new upstream version. + +The upstream package contains the libxerces-c C++ library, its usage examples, +and tests. Currently, we only package the library (see libxerces-c/README-DEV +for details). + +We add the upstream package as a git submodule and symlink the required files +and subdirectories into the build2 package subdirectories. Then, when required, +we "overlay" the upstream with our own header/source files, placing them into +the library directory. + +Note that symlinking upstream submodule subdirectories into a build2 package +subdirectory results in creating intermediate build files (.d, .o, etc) inside +upstream directory while building the package in source tree. That's why we +need to make sure that packages do not share upstream source files via +subdirectory symlinks, not to also share the related intermediate files. If +several packages need to compile the same upstream source file, then only one +of them can symlink it via the parent directory while others must symlink it +directly. We also add the `ignore = untracked` configuration option into +.gitmodules to make sure that git ignores the intermediate build files under +upstream/ subdirectory. + +The upstream package can be configured to contain a specific feature set. We +reproduce the union of features configured for the upstream source package in +Debian and Fedora distributions. The configuration options defining these sets +are specified in the Debian's rules and Fedora's RPM .spec files. These files +can be obtained as follows: + +$ wget http://deb.debian.org/debian/pool/main/x/xerces-c/xerces-c_3.2.3+debian-1.debian.tar.xz +$ tar xf xerces-c_3.2.3+debian-1.debian.tar.xz debian/rules + +$ wget https://kojipkgs.fedoraproject.org//packages/xerces-c/3.2.3/1.fc33/src/xerces-c-3.2.3-1.fc33.src.rpm +$ rpm2cpio xerces-c-3.2.3-1.fc33.src.rpm | cpio -civ '*.spec' + +As a side note, on Debian and Fedora the source, library, and headers are +packaged as follows: + + src libxerces-c headers +Debian/Ubuntu: xerces-c libxerces-c3.2 libxerces-c-dev +Fedora/RHEL: xerces-c xerces-c xerces-c-devel + +Search for the Debian and Fedora packages at https://packages.debian.org/search +and https://apps.fedoraproject.org/packages/. + +Here are the discovered configuration options. + +Debian: + + --enable-netaccessor-curl --disable-sse2 + +Fedora: + + --disable-sse2 # Only affects i686. + +Note that some of the features are selected by the configure scripts +automatically. To deduce them we check the Debian and Fedora build logs. + +Debian (https://buildd.debian.org/status/fetch.php?pkg=xerces-c&arch=amd64&ver=3.2.3%2Bdebian-1&stamp=1586641244&raw=0): + + configure: Report: + configure: File Manager: POSIX + configure: Mutex Manager: standard + configure: Transcoder: icu + configure: NetAccessor: curl + configure: Message Loader: inmemory + configure: XMLCh Type: char16_t + +Fedora (https://kojipkgs.fedoraproject.org/packages/xerces-c/3.2.3/1.fc33/data/logs/aarch64/build.log): + + configure: Report: + configure: File Manager: POSIX + configure: Mutex Manager: standard + configure: Transcoder: gnuiconv + configure: NetAccessor: socket + configure: Message Loader: inmemory + configure: XMLCh Type: char16_t + +Based on that and taking into account the dependencies we have packaged for +build2, we end up with the following configuration options: + + --enable-netaccessor-curl --enable-transcoder-icu \ + --enable-msgloader-inmemory --enable-xmlch-char16_t \ + --enable-mutexmgr-standard --disable-sse2 + +See the configuration options description at the "Build Instructions" page +(http://xerces.apache.org/xerces-c/build-3.html). + +Normally, when packaging a project, we need to replace some auto-generated +headers with our own implementations, deduce the compilation/linking options +and the source files to compile. For Xerces-C++ we can rely on the +configure.ac, config.h.cmake.in, src/{CMakeLists.txt,Makefile.am}, +src/xercesc/util/{XercesVersion,Xerces_autoconf_config}.hpp.in. In practice, +however, that can be uneasy and error prone, so you may also need to refer to +auto-generated header files or to see the actual compiler and linker command +lines in the build log. If that's the case, you can configure/build the +upstream package on the platform of interest running the following commands in +the upstream project root directory. + +On POSIX: + +$ ./reconf +$ mkdir build +$ cd build +$ ../configure --enable-netaccessor-curl --enable-transcoder-icu \ + --enable-msgloader-inmemory --enable-xmlch-char16_t \ + --enable-mutexmgr-standard --disable-sse2 >build.log +$ make V=1 >>build.log 2>&1 + +Note that on Windows, to reduce complexity, we may build the upstream package +with the native network accessor and transcoder (rather than with the cURL- +based network accessor and ICU-based transcoder) as it doesn't really affect +the compilation and linking options. + +For MSVC: + +> mkdir build +> cd build +> cmake -G "Visual Studio 15 2017 Win64" ^ + -Dnetwork-accessor=winsock -Dtranscoder=windows ^ + -Dmessage-loader=inmemory -Dxmlch-type=char16_t -Dmutex-manager=standard ^ + -Dmfc-debug:BOOL=OFF -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .. >build.log +> cmake --build . >>build.log 2>&1 + +For MinGW GCC: + +$ mkdir build +$ cd build +$ cmake -G "MSYS Makefiles" -Dnetwork-accessor=winsock -Dtranscoder=windows \ + -Dmessage-loader=inmemory -Dxmlch-type=char16_t -Dmutex-manager=standard \ + -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON .. >build.log +$ make V=1 >>build.log 2>&1 + +When the packaging is complete, build all the project packages in source tree +and make sure that no Xerces-C++ headers are included from the system, running +the following command from the project root: + +fgrep -a -e /usr/include/xercesc `find . -type f -name '*.d'` diff --git a/README-GIT b/README-GIT new file mode 100644 index 0000000..9750586 --- /dev/null +++ b/README-GIT @@ -0,0 +1,5 @@ +The checked out libxerces-c/xercesc/util/XercesVersion.hpp will be overwritten +during the build process but these changes should be ignored. To do this +automatically, run: + +git update-index --assume-unchanged libxerces-c/xercesc/util/XercesVersion.hpp diff --git a/libxerces-c/.gitignore b/libxerces-c/.gitignore new file mode 100644 index 0000000..4c4fec7 --- /dev/null +++ b/libxerces-c/.gitignore @@ -0,0 +1,20 @@ +# Compiler/linker output. +# +*.d +*.t +*.i +*.ii +*.o +*.obj +*.so +*.so.* +*.dll +*.a +*.lib +*.exp +*.pdb +*.ilk +*.exe +*.exe.dlls/ +*.exe.manifest +*.pc diff --git a/libxerces-c/INSTALL b/libxerces-c/INSTALL new file mode 100644 index 0000000..bfa5487 --- /dev/null +++ b/libxerces-c/INSTALL @@ -0,0 +1,7 @@ +The aim of this package is to make reading the INSTALL file unnecessary. So +next time try running: + +$ bpkg build libxerces-c + +But if you don't want to use the package manager, then you can also build this +package manually using the standard build2 build system. diff --git a/libxerces-c/LICENSE b/libxerces-c/LICENSE new file mode 120000 index 0000000..6246057 --- /dev/null +++ b/libxerces-c/LICENSE @@ -0,0 +1 @@ +../upstream/LICENSE \ No newline at end of file diff --git a/libxerces-c/README b/libxerces-c/README new file mode 100644 index 0000000..d50fe29 --- /dev/null +++ b/libxerces-c/README @@ -0,0 +1,21 @@ +Xerces-C++ is a validating XML parser written in a portable subset of C++ +with the libxerces-c library providing support for validating, parsing, +manipulating, and generating XML documents using the DOM, SAX, and SAX2 +APIs. For more information see: + +http://xerces.apache.org/xerces-c/ + +This package contains the original libxerces-c library source code overlaid +with the build2-based build system and packaged for the build2 package manager +(bpkg). + +See the INSTALL file for the prerequisites and installation instructions. + +Send questions, bug reports, or any other feedback about the library itself to +the Xerces-C++ mailing lists. Send build system and packaging-related feedback +to the packaging@build2.org mailing list (see https://lists.build2.org for +posting guidelines, etc). + +The packaging of Xerces-C++ for build2 is tracked in a Git repository at: + +https://git.build2.org/cgit/packaging/xerces-c/ diff --git a/libxerces-c/README-DEV b/libxerces-c/README-DEV new file mode 100644 index 0000000..78f4179 --- /dev/null +++ b/libxerces-c/README-DEV @@ -0,0 +1,96 @@ +This document describes how libxerces-c was packaged for build2. In +particular, this understanding will be useful when upgrading to a new upstream +version. See ../README-DEV for general notes on Xerces-C++ packaging. + +Symlink the required upstream files and provide our own implementations for +auto-generated headers: + +$ ln -s ../upstream/LICENSE +$ ln -s ../../upstream/src/xercesc/{dom,framework,internal,parsers,sax,sax2,\ +validators,xinclude} xercesc/ + +$ ln -s ../../upstream/src/{stricmp,strnicmp}.{h,c} xercesc/ + +$ pushd xercesc/util/ +$ ln -s ../../../upstream/src/xercesc/util/*.{cpp,hpp,c} ./ +$ ln -s ../../../upstream/src/xercesc/util/{regx,FileManagers} ./ + +Note that the main reason for such a granular linking (we could just link +upstream's Transcoders/, etc) is reducing the number of preprocessor macros we +need to deduce in xercesc/config.h (see the change tracking instructions +below for details). As a bonus it also simplifies the buildfile. + +$ mkdir -p Transcoders NetAccessors MsgLoaders MutexManagers +$ ln -s ../../../../upstream/src/xercesc/util/Transcoders/ICU Transcoders/ +$ ln -s ../../../../upstream/src/xercesc/util/NetAccessors/Curl NetAccessors/ +$ ln -s ../../../../upstream/src/xercesc/util/MsgLoaders/InMemory MsgLoaders/ +$ ln -s ../../../../upstream/src/xercesc/util/MutexManagers/StdMutexMgr.{hpp,cpp} MutexManagers/ + +$ ln -s ../../../upstream/src/xercesc/util/XercesVersion.hpp.cmake.in \ + XercesVersion.hpp.in +$ popd + +We also patch the explicit template instantiation declarations and definitions +(see xercesc/util/Xerces_autoconf_config.hpp for details): + +$ cp --remove-destination ../upstream/src/xercesc/util/{Janitor.hpp,JanitorExports.cpp} \ + xercesc/util/ + +$ git apply xercesc/export-template-instantiations.patch + +Note that the patch is produced by the following command: + +$ git diff >xercesc/export-template-instantiations.patch + +Use some of the upstream's tests and examples for testing: + +$ ln -s ../../../upstream/samples/src/DOMPrint tests/dom-print/ +$ ln -s ../../../upstream/samples/src/SAXPrint tests/sax-print/ +$ ln -s ../../../upstream/samples/src/SAX2Print tests/sax2-print/ +$ ln -s ../../../upstream/samples/src/PSVIWriter tests/psvi-writer/ + +We also patch the net accessor test, which by some reason exits with the zero +status printing the diagnostics to stdout for some errors: + +$ cp ../upstream/tests/src/NetAccessorTest/NetAccessorTest.cpp \ + tests/net-accessor/ + +$ git apply tests/net-accessor/handle-exception-as-error.patch + +Note that the patch is produced by the following command: + +$ git diff >tests/net-accessor/handle-exception-as-error.patch + +Create xercesc/{config.h,util/Xerces_autoconf_config.hpp} using as a base the +upstream's config.h.cmake.in, config.h.in, and +Xerces_autoconf_config.hpp.cmake.in. + +Re-creating xercesc/config.h from scratch every time we upgrade to a new +upstream version would be a real pain. Instead we can only (un)define the +newly introduced macros, comparing the already defined and currently used +macro sets. Note that we can use this approach to also deduce the initial set +of macros running the above commands for the upstream's auto-generated +config.h: + +$ ln -s ../../upstream/config.h.cmake.in xercesc/config.h.cmake.in.orig +$ ln -s ../../../upstream/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in \ + xercesc/util/Xerces_autoconf_config.hpp.cmake.in.orig + +$ for m in `cat xercesc/config.h.cmake.in.orig | \ + sed -n 's/.*#\s*\(define\|cmakedefine\)\s\{1,\}\([_a-zA-Z0-9]\{1,\}\)\(\s.*\)\{0,1\}$/\2/p' | sort -u`; do + if grep -q -e "\b$m\b" `find -L . -name '*.h' -a ! -name config.h -o -name '*.c' -o -name '*.cpp' -o -name '*.hpp' -a ! -name XercesVersion.hpp -a ! -name Xerces_autoconf_config.hpp`; then + echo "$m" + fi + done >used-macros + +$ cat xercesc/config.h | \ + sed -n 's/^#\s*\(define\|undef\)\s\{1,\}\([_a-z_A-Z0-9]\{1,\}\)\(\s.*\)\{0,1\}$/\2/p' | \ + sort -u >defined-macros + +$ diff defined-macros used-macros | grep '<' >remove-macros +$ diff defined-macros used-macros | grep '>' >add-macros + +We won't drop macro (un)definitions in Xerces_autoconf_config.hpp (see the +header for details). Thus, just compare the new and old +Xerces_autoconf_config.hpp.cmake.in files during upgrade to detect the removed +and added macro definitions. Luckily, the header is not that big. diff --git a/libxerces-c/build/.gitignore b/libxerces-c/build/.gitignore new file mode 100644 index 0000000..4a730a3 --- /dev/null +++ b/libxerces-c/build/.gitignore @@ -0,0 +1,3 @@ +config.build +root/ +bootstrap/ diff --git a/libxerces-c/build/bootstrap.build b/libxerces-c/build/bootstrap.build new file mode 100644 index 0000000..ef8f579 --- /dev/null +++ b/libxerces-c/build/bootstrap.build @@ -0,0 +1,35 @@ +# file : build/bootstrap.build +# license : Apache License 2.0; see accompanying LICENSE file + +project = libxerces-c + +using version +using config +using dist +using test +using install + +# The Xerces-C++ version has the .. form and +# follows the semver semantics. Specifically, the new versions and releases +# are issued when a certain number of bug fixes and new features are added +# and the modifications are issued when critical bugs are encountered. The +# releases and modifications may only contain the backward-compatible API +# changes. The ABI backward compatibility is only preserved for modifications. +# +# There is also the serialization format version number that can not be +# deduced from the package version. It is not documented which kind of package +# releases may increment this number, but based on its change history we can +# probably assume that this may not happen for modifications. Thus, we will +# check for its change (the XERCES_GRAMMAR_SERIALIZATION_LEVEL variable in +# configure.ac) only when the version or release number is incremented. +# +# See also: https://xerces.apache.org/xerces-c/faq-contributing-3.html +# +if ($version.major == 3 && $version.minor == 2) +{ + grammar_serialization_level = 7 # Serialization format version. + + abi_version = "$version.major.$version.minor" +} +else + fail "increment the serialization format version?" diff --git a/libxerces-c/build/export.build b/libxerces-c/build/export.build new file mode 100644 index 0000000..de1de82 --- /dev/null +++ b/libxerces-c/build/export.build @@ -0,0 +1,9 @@ +# file : build/export.build +# license : Apache License 2.0; see accompanying LICENSE file + +$out_root/ +{ + include xercesc/ +} + +export $out_root/xercesc/lib{xerces-c} diff --git a/libxerces-c/build/root.build b/libxerces-c/build/root.build new file mode 100644 index 0000000..92eb1cb --- /dev/null +++ b/libxerces-c/build/root.build @@ -0,0 +1,26 @@ +# file : build/root.build +# license : Apache License 2.0; see accompanying LICENSE file + +# We rely on C99 in macro deductions (see xercesc/config.h and +# xercesc/util/Xerces_autoconf_config.hpp for details). +# +c.std = 99 + +using c + +h{*}: extension = h +c{*}: extension = c + +cxx.std = latest + +using cxx + +hxx{*}: extension = hpp +txx{*}: extension = c +cxx{*}: extension = cpp + +if ($c.target.system == 'win32-msvc') + cc.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS + +if ($c.class == 'msvc') + cc.coptions += /wd4251 /wd4275 /wd4800 diff --git a/libxerces-c/buildfile b/libxerces-c/buildfile new file mode 100644 index 0000000..28aa742 --- /dev/null +++ b/libxerces-c/buildfile @@ -0,0 +1,9 @@ +# file : buildfile +# license : Apache License 2.0; see accompanying LICENSE file + +./: {*/ -build/} doc{LICENSE INSTALL README} manifest + +# Don't install tests or the INSTALL file. +# +tests/: install = false +doc{INSTALL}@./: install = false diff --git a/libxerces-c/manifest b/libxerces-c/manifest new file mode 100644 index 0000000..8687ecb --- /dev/null +++ b/libxerces-c/manifest @@ -0,0 +1,25 @@ +: 1 +name: libxerces-c + +# Note: remember to update doc-url below! +# +version: 3.2.3-a.0.z + +project: xerces-c +summary: Validating XML parsing and serialization C++ library +license: ASLv2 ; Apache License v2.0. +topics: Xerces, C++, XML parser, DOM, SAX +description-file: README +url: http://xerces.apache.org/xerces-c/ +doc-url: http://xerces.apache.org/xerces-c/api-3.html +src-url: https://git.build2.org/cgit/packaging/xerces-c/xerces-c/tree/libxerces-c/ +package-url: https://git.build2.org/cgit/packaging/xerces-c/ +email: c-users@xerces.apache.org ; Mailing list. +package-email: packaging@build2.org ; Mailing list. +build-error-email: builds@build2.org +builds: default +depends: * build2 >= 0.12.0 +depends: * bpkg >= 0.12.0 +depends: libcurl >= 7.67.0 +depends: libicuuc >= 65.1.0 +depends: libicui18n >= 65.1.0 diff --git a/libxerces-c/tests/.gitignore b/libxerces-c/tests/.gitignore new file mode 100644 index 0000000..2e508a9 --- /dev/null +++ b/libxerces-c/tests/.gitignore @@ -0,0 +1,3 @@ +driver +test/ +test-*/ diff --git a/libxerces-c/tests/build/.gitignore b/libxerces-c/tests/build/.gitignore new file mode 100644 index 0000000..4a730a3 --- /dev/null +++ b/libxerces-c/tests/build/.gitignore @@ -0,0 +1,3 @@ +config.build +root/ +bootstrap/ diff --git a/libxerces-c/tests/build/bootstrap.build b/libxerces-c/tests/build/bootstrap.build new file mode 100644 index 0000000..2a03b3a --- /dev/null +++ b/libxerces-c/tests/build/bootstrap.build @@ -0,0 +1,8 @@ +# file : tests/build/bootstrap.build +# license : Apache License 2.0; see accompanying LICENSE file + +project = # Unnamed subproject. + +using config +using dist +using test diff --git a/libxerces-c/tests/build/root.build b/libxerces-c/tests/build/root.build new file mode 100644 index 0000000..7bf1cba --- /dev/null +++ b/libxerces-c/tests/build/root.build @@ -0,0 +1,23 @@ +# file : tests/build/root.build +# license : Apache License 2.0; see accompanying LICENSE file + +cxx.std = latest + +using cxx + +hxx{*}: extension = hpp +cxx{*}: extension = cpp + +if ($cxx.target.system == 'win32-msvc') + cxx.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS + +if ($cxx.class == 'msvc') + cxx.coptions += /wd4251 /wd4275 /wd4800 + +# Every exe{} in this subproject is by default a test. +# +exe{*}: test = true + +# Specify the test target for cross-testing. +# +test.target = $cxx.target diff --git a/libxerces-c/tests/buildfile b/libxerces-c/tests/buildfile new file mode 100644 index 0000000..f1869ed --- /dev/null +++ b/libxerces-c/tests/buildfile @@ -0,0 +1,4 @@ +# file : tests/buildfile +# license : Apache License 2.0; see accompanying LICENSE file + +./: {*/ -build/} diff --git a/libxerces-c/tests/dom-print/DOMPrint b/libxerces-c/tests/dom-print/DOMPrint new file mode 120000 index 0000000..d73574d --- /dev/null +++ b/libxerces-c/tests/dom-print/DOMPrint @@ -0,0 +1 @@ +../../../upstream/samples/src/DOMPrint \ No newline at end of file diff --git a/libxerces-c/tests/dom-print/buildfile b/libxerces-c/tests/dom-print/buildfile new file mode 100644 index 0000000..76619a3 --- /dev/null +++ b/libxerces-c/tests/dom-print/buildfile @@ -0,0 +1,6 @@ +# file : tests/dom-print/buildfile +# license : Apache License 2.0; see accompanying LICENSE file + +import libs = libxerces-c%lib{xerces-c} + +exe{driver}: DOMPrint/{hxx cxx}{*} $libs testscript diff --git a/libxerces-c/tests/dom-print/testscript b/libxerces-c/tests/dom-print/testscript new file mode 100644 index 0000000..f281d3f --- /dev/null +++ b/libxerces-c/tests/dom-print/testscript @@ -0,0 +1,20 @@ +# file : tests/dom-print/testscript +# license : Apache License 2.0; see accompanying LICENSE file + +: utf8 +: +{ + cat <=f; + + + Mitteleuropäische catégorie + + EOI + + $* -wfpp=on f >>~%EOO% + %<\?xml version="1.0" encoding="UTF-8".*\?>% + + Mitteleuropäische catégorie + + EOO +} diff --git a/libxerces-c/tests/net-accessor/NetAccessorTest.cpp b/libxerces-c/tests/net-accessor/NetAccessorTest.cpp new file mode 100644 index 0000000..c2affbd --- /dev/null +++ b/libxerces-c/tests/net-accessor/NetAccessorTest.cpp @@ -0,0 +1,167 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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$ + * + */ + + +// --------------------------------------------------------------------------- +// Includes +// --------------------------------------------------------------------------- +#include +#include +#include +#include +#include + +#if defined(XERCES_NEW_IOSTREAMS) +#include +#else +#include +#endif + +XERCES_CPP_NAMESPACE_USE + + +inline XERCES_STD_QUALIFIER ostream& operator<<(XERCES_STD_QUALIFIER ostream& os, const XMLCh* xmlStr) +{ + char* transcoded = XMLString::transcode(xmlStr); + os << transcoded; + XMLString::release(&transcoded); + return os; +} + + +void +exercise(BinInputStream& stream) +{ + static float percents[] = { 1.0, 0.5, 0.25, 0.1, 0.15, 0.113, 0.333, 0.0015, 0.0013 }; + int numPercents = sizeof(percents) / sizeof(float); + + const unsigned int bufferMax = 4096; + XMLByte buffer[bufferMax]; + + int iteration = 0; + unsigned int bytesRead = 0; + do { + // Calculate a percentage of our maximum buffer size, going through + // them round-robin + float percent = percents[iteration % numPercents]; + unsigned int bufCnt = (unsigned int)(bufferMax * percent); + + // Check to make sure we didn't go out of bounds + if (bufCnt <= 0) + bufCnt = 1; + if (bufCnt > bufferMax) + bufCnt = bufferMax; + + // Read bytes into our buffer + bytesRead = stream.readBytes(buffer, bufCnt); + //XERCES_STD_QUALIFIER cerr << "Read " << bytesRead << " bytes into a " << bufCnt << " byte buffer\n"; + + if (bytesRead > 0) + { + // Write the data to standard out + XERCES_STD_QUALIFIER cout.write((char*)buffer, bytesRead); + } + + ++iteration; + } while (bytesRead > 0); +} + + +// --------------------------------------------------------------------------- +// Program entry point +// --------------------------------------------------------------------------- +int +main(int argc, char** argv) +{ + // Init the XML platform + try + { + XMLPlatformUtils::Initialize(); + } + + catch(const XMLException& toCatch) + { + XERCES_STD_QUALIFIER cout << "Error during platform init! Message:\n" + << toCatch.getMessage() << XERCES_STD_QUALIFIER endl; + return 1; + } + + // Look for our one and only parameter + if (argc != 2) + { + XERCES_STD_QUALIFIER cerr << "Usage: NetAccessorTest url\n" + "\n" + "This test reads data from the given url and writes the result\n" + "to standard output.\n" + "\n" + "A variety of buffer sizes is are used during the test.\n" + "\n" + ; + exit(1); + } + + // Get the URL + char* url = argv[1]; + + int r = 1; + + // Do the test + try + { + XMLURL xmlURL(url); + + // Get the netaccessor + XMLNetAccessor* na = XMLPlatformUtils::fgNetAccessor; + if (na == 0) + { + XERCES_STD_QUALIFIER cerr << "No netaccessor is available. Aborting.\n"; + exit(2); + } + + // Build a binary input stream + BinInputStream* is = na->makeNew(xmlURL); + if (is == 0) + { + XERCES_STD_QUALIFIER cerr << "No binary input stream created. Aborting.\n"; + exit(3); + } + + // Exercise the inputstream + exercise(*is); + + // Delete the is + delete is; + r = 0; + } + catch(const XMLException& toCatch) + { + XERCES_STD_QUALIFIER cerr << "Exception during test:\n " + << toCatch.getMessage() + << XERCES_STD_QUALIFIER endl; + } + + // And call the termination method + XMLPlatformUtils::Terminate(); + + return r; +} + diff --git a/libxerces-c/tests/net-accessor/buildfile b/libxerces-c/tests/net-accessor/buildfile new file mode 100644 index 0000000..ab3f79f --- /dev/null +++ b/libxerces-c/tests/net-accessor/buildfile @@ -0,0 +1,11 @@ +# file : tests/net-accessor/buildfile +# license : Apache License 2.0; see accompanying LICENSE file + +import libs = libxerces-c%lib{xerces-c} + +exe{driver}: {hxx cxx}{*} $libs testscript + +# Disable MSVC warnings that pop up with /W3. +# +if ($cxx.class == 'msvc') + cxx.coptions += /wd4267 /wd4305 diff --git a/libxerces-c/tests/net-accessor/handle-exception-as-error.patch b/libxerces-c/tests/net-accessor/handle-exception-as-error.patch new file mode 100644 index 0000000..674e5ba --- /dev/null +++ b/libxerces-c/tests/net-accessor/handle-exception-as-error.patch @@ -0,0 +1,35 @@ +diff --git a/libxerces-c/tests/net-accessor/NetAccessorTest.cpp b/libxerces-c/tests/net-accessor/NetAccessorTest.cpp +index 3bb735b..c2affbd 100644 +--- a/libxerces-c/tests/net-accessor/NetAccessorTest.cpp ++++ b/libxerces-c/tests/net-accessor/NetAccessorTest.cpp +@@ -122,6 +122,8 @@ main(int argc, char** argv) + // Get the URL + char* url = argv[1]; + ++ int r = 1; ++ + // Do the test + try + { +@@ -148,11 +150,11 @@ main(int argc, char** argv) + + // Delete the is + delete is; +- ++ r = 0; + } + catch(const XMLException& toCatch) + { +- XERCES_STD_QUALIFIER cout << "Exception during test:\n " ++ XERCES_STD_QUALIFIER cerr << "Exception during test:\n " + << toCatch.getMessage() + << XERCES_STD_QUALIFIER endl; + } +@@ -160,6 +162,6 @@ main(int argc, char** argv) + // And call the termination method + XMLPlatformUtils::Terminate(); + +- return 0; ++ return r; + } + diff --git a/libxerces-c/tests/net-accessor/testscript b/libxerces-c/tests/net-accessor/testscript new file mode 100644 index 0000000..993423b --- /dev/null +++ b/libxerces-c/tests/net-accessor/testscript @@ -0,0 +1,34 @@ +# file : tests/net-accessor/testscript +# license : Apache License 2.0; see accompanying LICENSE file + +: http +: +$* 'http://www.example.com' >>~%EOO% + %.+ + EOO + +# If we want to test how HTTPS URLs are handled, we need to make it work +# always (see how the curl utility is packaged for details). +# +#\ +: https +: +: Test that an HTTPS URL is queried successfully using libcurl via the system +: SSL backend on Windows and MacOS/Clang and fails for other targets that use +: the OpenSSL backend by default. +: +if ($cxx.target.class == 'windows' || \ + $cxx.target.class == 'macos' && $cxx.id == 'clang-apple') +{ + $* 'https://www.example.com' >>~%EOO% + %.+ + EOO +} +else +{ + $* 'https://www.example.com' 2>>~%EOE% != 0 + Exception during test: + %.+ + EOE +} +#\ diff --git a/libxerces-c/tests/psvi-writer/PSVIWriter b/libxerces-c/tests/psvi-writer/PSVIWriter new file mode 120000 index 0000000..92efd5c --- /dev/null +++ b/libxerces-c/tests/psvi-writer/PSVIWriter @@ -0,0 +1 @@ +../../../upstream/samples/src/PSVIWriter \ No newline at end of file diff --git a/libxerces-c/tests/psvi-writer/buildfile b/libxerces-c/tests/psvi-writer/buildfile new file mode 100644 index 0000000..9a5d84d --- /dev/null +++ b/libxerces-c/tests/psvi-writer/buildfile @@ -0,0 +1,11 @@ +# file : tests/psvi-writer/buildfile +# license : Apache License 2.0; see accompanying LICENSE file + +import libs = libxerces-c%lib{xerces-c} + +exe{driver}: PSVIWriter/{hxx cxx}{*} $libs testscript + +# Disable MSVC warnings that pop up with /W3. +# +if ($cxx.class == 'msvc') + cxx.coptions += /wd4267 diff --git a/libxerces-c/tests/psvi-writer/testscript b/libxerces-c/tests/psvi-writer/testscript new file mode 100644 index 0000000..5c3b58f --- /dev/null +++ b/libxerces-c/tests/psvi-writer/testscript @@ -0,0 +1,21 @@ +# file : tests/psvi-writer/testscript +# license : Apache License 2.0; see accompanying LICENSE file + +: utf8 +: +{ + cat <=f; + + + Mitteleuropäische catégorie + + EOI + + $* f >>~%EOO% + %.+ + %\s*% + %\s*Mitteleuropäische catégorie% + %\s*% + %.+ + EOO +} diff --git a/libxerces-c/tests/sax-print/SAXPrint b/libxerces-c/tests/sax-print/SAXPrint new file mode 120000 index 0000000..7c61024 --- /dev/null +++ b/libxerces-c/tests/sax-print/SAXPrint @@ -0,0 +1 @@ +../../../upstream/samples/src/SAXPrint \ No newline at end of file diff --git a/libxerces-c/tests/sax-print/buildfile b/libxerces-c/tests/sax-print/buildfile new file mode 100644 index 0000000..ed3d22b --- /dev/null +++ b/libxerces-c/tests/sax-print/buildfile @@ -0,0 +1,6 @@ +# file : tests/sax-print/buildfile +# license : Apache License 2.0; see accompanying LICENSE file + +import libs = libxerces-c%lib{xerces-c} + +exe{driver}: SAXPrint/{hxx cxx}{*} $libs testscript diff --git a/libxerces-c/tests/sax-print/testscript b/libxerces-c/tests/sax-print/testscript new file mode 100644 index 0000000..cbc62e4 --- /dev/null +++ b/libxerces-c/tests/sax-print/testscript @@ -0,0 +1,20 @@ +# file : tests/sax-print/testscript +# license : Apache License 2.0; see accompanying LICENSE file + +: utf8 +: +{ + cat <=f; + + + Mitteleuropäische catégorie + + EOI + + $* -x=UTF-8 f >>:EOO + + + Mitteleuropäische catégorie + + EOO +} diff --git a/libxerces-c/tests/sax2-print/SAX2Print b/libxerces-c/tests/sax2-print/SAX2Print new file mode 120000 index 0000000..9f0238e --- /dev/null +++ b/libxerces-c/tests/sax2-print/SAX2Print @@ -0,0 +1 @@ +../../../upstream/samples/src/SAX2Print \ No newline at end of file diff --git a/libxerces-c/tests/sax2-print/buildfile b/libxerces-c/tests/sax2-print/buildfile new file mode 100644 index 0000000..fd4875d --- /dev/null +++ b/libxerces-c/tests/sax2-print/buildfile @@ -0,0 +1,6 @@ +# file : tests/sax2-print/buildfile +# license : Apache License 2.0; see accompanying LICENSE file + +import libs = libxerces-c%lib{xerces-c} + +exe{driver}: SAX2Print/{hxx cxx}{*} $libs testscript diff --git a/libxerces-c/tests/sax2-print/testscript b/libxerces-c/tests/sax2-print/testscript new file mode 100644 index 0000000..6fedae3 --- /dev/null +++ b/libxerces-c/tests/sax2-print/testscript @@ -0,0 +1,20 @@ +# file : tests/sax2-print/testscript +# license : Apache License 2.0; see accompanying LICENSE file + +: utf8 +: +{ + cat <=f; + + + Mitteleuropäische catégorie + + EOI + + $* -x=UTF-8 f >>:EOO + + + Mitteleuropäische catégorie + + EOO +} diff --git a/libxerces-c/xercesc/buildfile b/libxerces-c/xercesc/buildfile new file mode 100644 index 0000000..7124293 --- /dev/null +++ b/libxerces-c/xercesc/buildfile @@ -0,0 +1,148 @@ +# file : xercesc/buildfile +# license : Apache License 2.0; see accompanying LICENSE file + +# Note that the installed util/NetAccessors/Curl/CurlURLInputStream.hpp +# includes the libcurl headers. +# +import int_libs = libcurl%lib{curl} + +import imp_libs = libicuuc%lib{icuuc} +import imp_libs += libicui18n%lib{icui18n} + +lib{xerces-c}: {h }{config } \ + {hxx txx cxx}{*/** -util/FileManagers/** -util/XercesVersion} \ + {hxx }{ util/XercesVersion} \ + $int_libs $imp_libs + +tclass = $cxx.target.class +tsys = $cxx.target.system + +windows = ($tclass == 'windows') + +lib{xerces-c}: {h c}{stricmp strnicmp} \ +util/FileManagers/{hxx cxx}{PosixFileMgr }: include = (!$windows) + +lib{xerces-c}: util/FileManagers/{hxx cxx}{WindowsFileMgr}: include = $windows + +# Include the generated version header into the distribution (so that we +# don't pick up an installed one) and don't remove it when cleaning in src (so +# that clean results in a state identical to distributed). +# +util/hxx{XercesVersion}: util/in{XercesVersion} $src_root/manifest +{ + dist = true + clean = ($src_root != $out_root) + + in.symbol = '@' + + XERCES_VERSION_MAJOR = "$version.major" + XERCES_VERSION_MINOR = "$version.minor" + XERCES_VERSION_REVISION = "$version.patch" + + XERCES_GRAMMAR_SERIALIZATION_LEVEL = "$grammar_serialization_level" +} + +# Build options. +# +cc.poptions += -DXERCES_BUILDING_LIBRARY -DHAVE_CONFIG_H -D_THREAD_SAFE + +if $windows + cc.poptions += -DWIN32 -D_WINDOWS -D_MBCS + +# Note that we need to add "-I$src_root" for the headers auto-generating +# machinery to work properly. +# +cc.poptions =+ "-I$out_root" "-I$src_root" "-I$src_base" + +obja{*}: cxx.poptions += -DLIBXERCES_C_STATIC_BUILD +objs{*}: cxx.poptions += -DLIBXERCES_C_SHARED_BUILD + +switch $c.class +{ + case 'gcc' + { + # Disable warnings that pop up with -Wall -Wextra. Upstream doesn't seem + # to care about these and it is not easy to disable specific warnings in a + # way that works across compilers/version (some -Wno-* options are only + # recognized in newer versions). There are still some warnings left that + # appear for certain platforms/compilers. We pass them through but disable + # treating them as errors. + # + cc.coptions += -Wno-all -Wno-extra -Wno-error + + # Disable the Clang targeting MSVC warnings. + # + if ($c.id == 'clang' && $tsys == 'win32-msvc') + cc.coptions += -Wno-deprecated-declarations + } + case 'msvc' + { + # Disable warnings that pop up with /W3. + # + cc.coptions += /wd4244 /wd4267 /wd4996 /wd4305 + } +} + +switch $tclass, $tsys +{ + case 'windows', 'mingw32' + { + # Make sure all symbols are resolvable. + # + cxx.loptions += -Wl,--no-undefined + + cxx.libs += -lws2_32 + } + case 'windows' + { + # Suppress the 'object file does not define any public symbols' warning. + # + cxx.aoptions += /IGNORE:4221 + + cxx.libs += ws2_32.lib + } + case 'linux' + { + # Make sure all symbols are resolvable. + # + cxx.loptions += -Wl,--no-undefined + + cxx.libs += -lm -lpthread + } + default + { + cxx.libs += -lpthread + } +} + +# Export options. +# +lib{xerces-c}: +{ + cxx.export.poptions = "-I$out_root" "-I$src_root" + cxx.export.libs = $int_libs +} + +liba{xerces-c}: cxx.export.poptions += -DLIBXERCES_C_STATIC +libs{xerces-c}: cxx.export.poptions += -DLIBXERCES_C_SHARED + +# See bootstrap.build for details. +# +if $version.pre_release + lib{xerces-c}: bin.lib.version = @"-$version.project_id" +else + lib{xerces-c}: bin.lib.version = @"-$abi_version" + +# Don't install the implementation details C headers (config.h and the +# compatibility function declarations). +# +h{*}: install = false + +# Install the C++ headers into the xercesc/ subdirectory of, say, /usr/include/ +# recreating subdirectories. +# +{hxx txx}{*}: +{ + install = include/xercesc/ + install.subdirs = true +} diff --git a/libxerces-c/xercesc/config.h b/libxerces-c/xercesc/config.h new file mode 100644 index 0000000..48bd880 --- /dev/null +++ b/libxerces-c/xercesc/config.h @@ -0,0 +1,137 @@ +/* file : xercesc/config.h -*- C -*- + * license : Apache License 2.0; see accompanying LICENSE file + */ + +#ifndef XERCESC_CONFIG_H +#define XERCESC_CONFIG_H + +/* For the semantics of the following macros refer to config.h.cmake.in.orig + * and upstream's configure.ac. + * + * Note that we will explicitly undefine macros that are present in the + * libxerces-c source code but should not be defined. While this is not + * technically required, it simplifies the change tracking (see README-DEV). + * As a bonus we also make sure that they are not get eventually defined by + * some system headers. + */ + +/* SIZE_MAX. + */ +#if defined(__cplusplus) +# include +#else +# include /* Requires C99. */ +#endif + +/* Use the ICU transcoder. + */ +#define XERCES_USE_TRANSCODER_ICU 1 +#undef XERCES_USE_TRANSCODER_GNUICONV +#undef XERCES_USE_TRANSCODER_ICONV +#undef XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER +#undef XERCES_USE_TRANSCODER_WINDOWS + +/* Use the Curl net accessor. + */ +#define XERCES_USE_NETACCESSOR_CURL 1 +#undef XERCES_USE_NETACCESSOR_CFURL +#undef XERCES_USE_NETACCESSOR_SOCKET +#undef XERCES_USE_NETACCESSOR_WINSOCK + +/* Use the in-memory message loader. + */ +#define XERCES_USE_MSGLOADER_INMEMORY 1 +#undef XERCES_USE_MSGLOADER_ICONV +#undef XERCES_USE_MSGLOADER_ICU + +/* Use the standard mutex manager. + */ +#define XERCES_USE_MUTEXMGR_STD 1 +#undef XERCES_USE_MUTEXMGR_NOTHREAD +#undef XERCES_USE_MUTEXMGR_POSIX +#undef XERCES_USE_MUTEXMGR_WINDOWS + +/* Use the OS-specific file manager. + */ +#ifndef _WIN32 +# define XERCES_USE_FILEMGR_POSIX 1 +#else +# define XERCES_USE_FILEMGR_WINDOWS 1 +#endif + +/* Specific for FreeBSD. + */ +#ifdef __FreeBSD__ +# define HAVE_CPUID_H 1 +# define XERCES_HAVE_GETCPUID 1 +#endif + +/* Specific for POSIX. + */ +#ifndef _WIN32 +# define HAVE_GETTIMEOFDAY 1 +# define HAVE_GMTIME_R 1 +# define HAVE_SNPRINTF 1 + +/* Is not specified by the POSIX standard but is present on all POSIX + * platforms we support. + */ +# define HAVE_TIMEGM 1 + +/* Specific for Windows. + */ +#else +# define HAVE_SYS_TIMEB_H 1 +# define HAVE_FTIME 1 +# define HAVE_STRICMP 1 +# define HAVE_STRNICMP 1 +# define XERCES_HAVE_INTRIN_H 1 +# define XERCES_PATH_DELIMITER_BACKSLASH 1 +# define XERCES_HAVE_CPUID_INTRINSIC 1 +#endif + +/* Specific for (non-) VC. + */ +#ifndef _MSC_VER +# define HAVE_PATH_MAX 1 +# define HAVE_STRCASECMP 1 +# define HAVE_STRNCASECMP 1 +# define HAVE_STRINGS_H 1 +# define HAVE_STRING_H 1 +# define HAVE_SYS_TIME_H 1 +# define HAVE_UNISTD_H 1 +#endif + +/* Common for all supported OSes/compilers. + */ +#define HAVE_ERRNO_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_SYS_TYPES_H 1 +#define XERCES_HAS_CPP_NAMESPACE 1 +#define XERCES_STD_NAMESPACE 1 +#define XERCES_LSTRSUPPORT 1 +#define XERCES_NEW_IOSTREAMS 1 +#define XERCES_SIZE_MAX SIZE_MAX + +#undef XERCES_HAVE_EMMINTRIN_H +#undef XERCES_HAVE_SSE2_INTRINSIC +#undef XERCES_NO_MATCHING_DELETE_OPERATOR +#undef XERCES_NO_NATIVE_BOOL + +/* Are also defined in Xerces_autoconf_config.hpp which is supposedly enough. + * Note that Xerces_autoconf_config.hpp is expected to be (indirectly) + * included into all public headers to properly export/import the API + * functions. + +#define XERCES_PLATFORM_EXPORT +#define XERCES_PLATFORM_IMPORT + */ + +/* We can probably assume that on platforms we build for, these keywords + * doesn't require definition. + +#undef const +#undef inline +*/ + +#endif /* XERCESC_CONFIG_H */ diff --git a/libxerces-c/xercesc/config.h.cmake.in.orig b/libxerces-c/xercesc/config.h.cmake.in.orig new file mode 120000 index 0000000..0038ca1 --- /dev/null +++ b/libxerces-c/xercesc/config.h.cmake.in.orig @@ -0,0 +1 @@ +../../upstream/config.h.cmake.in \ No newline at end of file diff --git a/libxerces-c/xercesc/dom b/libxerces-c/xercesc/dom new file mode 120000 index 0000000..4bff73e --- /dev/null +++ b/libxerces-c/xercesc/dom @@ -0,0 +1 @@ +../../upstream/src/xercesc/dom \ No newline at end of file diff --git a/libxerces-c/xercesc/export-template-instantiations.patch b/libxerces-c/xercesc/export-template-instantiations.patch new file mode 100644 index 0000000..a62de95 --- /dev/null +++ b/libxerces-c/xercesc/export-template-instantiations.patch @@ -0,0 +1,29 @@ +diff --git a/libxerces-c/xercesc/util/Janitor.hpp b/libxerces-c/xercesc/util/Janitor.hpp +index cf06e67..da970bf 100644 +--- a/libxerces-c/xercesc/util/Janitor.hpp ++++ b/libxerces-c/xercesc/util/Janitor.hpp +@@ -155,8 +155,8 @@ private : + }; + + #if defined(__GNUC__) || (! defined(_AIX) && ! defined(__hpux) && ! defined(__sun)) +-XERCES_TEMPLATE_EXTERN template class XMLUTIL_EXPORT ArrayJanitor; +-XERCES_TEMPLATE_EXTERN template class XMLUTIL_EXPORT ArrayJanitor; ++extern template class XERCES_PLATFORM_DECEXPORT ArrayJanitor; ++extern template class XERCES_PLATFORM_DECEXPORT ArrayJanitor; + #endif + + XERCES_CPP_NAMESPACE_END +diff --git a/libxerces-c/xercesc/util/JanitorExports.cpp b/libxerces-c/xercesc/util/JanitorExports.cpp +index ec35bea..024434f 100644 +--- a/libxerces-c/xercesc/util/JanitorExports.cpp ++++ b/libxerces-c/xercesc/util/JanitorExports.cpp +@@ -19,7 +19,7 @@ + + XERCES_CPP_NAMESPACE_BEGIN + +-template class ArrayJanitor; +-template class ArrayJanitor; ++template class XERCES_PLATFORM_DEFEXPORT ArrayJanitor; ++template class XERCES_PLATFORM_DEFEXPORT ArrayJanitor; + + XERCES_CPP_NAMESPACE_END diff --git a/libxerces-c/xercesc/framework b/libxerces-c/xercesc/framework new file mode 120000 index 0000000..6bc859f --- /dev/null +++ b/libxerces-c/xercesc/framework @@ -0,0 +1 @@ +../../upstream/src/xercesc/framework \ No newline at end of file diff --git a/libxerces-c/xercesc/internal b/libxerces-c/xercesc/internal new file mode 120000 index 0000000..7daca54 --- /dev/null +++ b/libxerces-c/xercesc/internal @@ -0,0 +1 @@ +../../upstream/src/xercesc/internal \ No newline at end of file diff --git a/libxerces-c/xercesc/parsers b/libxerces-c/xercesc/parsers new file mode 120000 index 0000000..a77068b --- /dev/null +++ b/libxerces-c/xercesc/parsers @@ -0,0 +1 @@ +../../upstream/src/xercesc/parsers \ No newline at end of file diff --git a/libxerces-c/xercesc/sax b/libxerces-c/xercesc/sax new file mode 120000 index 0000000..9ac807a --- /dev/null +++ b/libxerces-c/xercesc/sax @@ -0,0 +1 @@ +../../upstream/src/xercesc/sax \ No newline at end of file diff --git a/libxerces-c/xercesc/sax2 b/libxerces-c/xercesc/sax2 new file mode 120000 index 0000000..f7f3980 --- /dev/null +++ b/libxerces-c/xercesc/sax2 @@ -0,0 +1 @@ +../../upstream/src/xercesc/sax2 \ No newline at end of file diff --git a/libxerces-c/xercesc/stricmp.c b/libxerces-c/xercesc/stricmp.c new file mode 120000 index 0000000..d9f5759 --- /dev/null +++ b/libxerces-c/xercesc/stricmp.c @@ -0,0 +1 @@ +../../upstream/src/stricmp.c \ No newline at end of file diff --git a/libxerces-c/xercesc/stricmp.h b/libxerces-c/xercesc/stricmp.h new file mode 120000 index 0000000..7ee3992 --- /dev/null +++ b/libxerces-c/xercesc/stricmp.h @@ -0,0 +1 @@ +../../upstream/src/stricmp.h \ No newline at end of file diff --git a/libxerces-c/xercesc/strnicmp.c b/libxerces-c/xercesc/strnicmp.c new file mode 120000 index 0000000..b75a354 --- /dev/null +++ b/libxerces-c/xercesc/strnicmp.c @@ -0,0 +1 @@ +../../upstream/src/strnicmp.c \ No newline at end of file diff --git a/libxerces-c/xercesc/strnicmp.h b/libxerces-c/xercesc/strnicmp.h new file mode 120000 index 0000000..d5811c9 --- /dev/null +++ b/libxerces-c/xercesc/strnicmp.h @@ -0,0 +1 @@ +../../upstream/src/strnicmp.h \ No newline at end of file diff --git a/libxerces-c/xercesc/util/ArrayIndexOutOfBoundsException.hpp b/libxerces-c/xercesc/util/ArrayIndexOutOfBoundsException.hpp new file mode 120000 index 0000000..d27de1c --- /dev/null +++ b/libxerces-c/xercesc/util/ArrayIndexOutOfBoundsException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/ArrayIndexOutOfBoundsException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/Base64.cpp b/libxerces-c/xercesc/util/Base64.cpp new file mode 120000 index 0000000..0093e5f --- /dev/null +++ b/libxerces-c/xercesc/util/Base64.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/Base64.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/Base64.hpp b/libxerces-c/xercesc/util/Base64.hpp new file mode 120000 index 0000000..d5e2d10 --- /dev/null +++ b/libxerces-c/xercesc/util/Base64.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/Base64.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/BaseRefVectorOf.c b/libxerces-c/xercesc/util/BaseRefVectorOf.c new file mode 120000 index 0000000..99c17ed --- /dev/null +++ b/libxerces-c/xercesc/util/BaseRefVectorOf.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/BaseRefVectorOf.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/BaseRefVectorOf.hpp b/libxerces-c/xercesc/util/BaseRefVectorOf.hpp new file mode 120000 index 0000000..57340c1 --- /dev/null +++ b/libxerces-c/xercesc/util/BaseRefVectorOf.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/BaseRefVectorOf.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/BinFileInputStream.cpp b/libxerces-c/xercesc/util/BinFileInputStream.cpp new file mode 120000 index 0000000..2794586 --- /dev/null +++ b/libxerces-c/xercesc/util/BinFileInputStream.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/BinFileInputStream.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/BinFileInputStream.hpp b/libxerces-c/xercesc/util/BinFileInputStream.hpp new file mode 120000 index 0000000..c2787d2 --- /dev/null +++ b/libxerces-c/xercesc/util/BinFileInputStream.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/BinFileInputStream.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/BinInputStream.cpp b/libxerces-c/xercesc/util/BinInputStream.cpp new file mode 120000 index 0000000..ed12c0f --- /dev/null +++ b/libxerces-c/xercesc/util/BinInputStream.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/BinInputStream.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/BinInputStream.hpp b/libxerces-c/xercesc/util/BinInputStream.hpp new file mode 120000 index 0000000..3704288 --- /dev/null +++ b/libxerces-c/xercesc/util/BinInputStream.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/BinInputStream.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/BinMemInputStream.cpp b/libxerces-c/xercesc/util/BinMemInputStream.cpp new file mode 120000 index 0000000..bd2e45a --- /dev/null +++ b/libxerces-c/xercesc/util/BinMemInputStream.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/BinMemInputStream.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/BinMemInputStream.hpp b/libxerces-c/xercesc/util/BinMemInputStream.hpp new file mode 120000 index 0000000..95459ff --- /dev/null +++ b/libxerces-c/xercesc/util/BinMemInputStream.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/BinMemInputStream.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/BitOps.hpp b/libxerces-c/xercesc/util/BitOps.hpp new file mode 120000 index 0000000..756f448 --- /dev/null +++ b/libxerces-c/xercesc/util/BitOps.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/BitOps.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/BitSet.cpp b/libxerces-c/xercesc/util/BitSet.cpp new file mode 120000 index 0000000..051c5f5 --- /dev/null +++ b/libxerces-c/xercesc/util/BitSet.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/BitSet.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/BitSet.hpp b/libxerces-c/xercesc/util/BitSet.hpp new file mode 120000 index 0000000..f0fab20 --- /dev/null +++ b/libxerces-c/xercesc/util/BitSet.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/BitSet.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/CountedPointer.c b/libxerces-c/xercesc/util/CountedPointer.c new file mode 120000 index 0000000..e36c731 --- /dev/null +++ b/libxerces-c/xercesc/util/CountedPointer.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/CountedPointer.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/CountedPointer.hpp b/libxerces-c/xercesc/util/CountedPointer.hpp new file mode 120000 index 0000000..dea6454 --- /dev/null +++ b/libxerces-c/xercesc/util/CountedPointer.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/CountedPointer.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/DefaultPanicHandler.cpp b/libxerces-c/xercesc/util/DefaultPanicHandler.cpp new file mode 120000 index 0000000..9e24a58 --- /dev/null +++ b/libxerces-c/xercesc/util/DefaultPanicHandler.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/DefaultPanicHandler.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/DefaultPanicHandler.hpp b/libxerces-c/xercesc/util/DefaultPanicHandler.hpp new file mode 120000 index 0000000..ef354cb --- /dev/null +++ b/libxerces-c/xercesc/util/DefaultPanicHandler.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/DefaultPanicHandler.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/EmptyStackException.hpp b/libxerces-c/xercesc/util/EmptyStackException.hpp new file mode 120000 index 0000000..5971b29 --- /dev/null +++ b/libxerces-c/xercesc/util/EmptyStackException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/EmptyStackException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/EncodingValidator.cpp b/libxerces-c/xercesc/util/EncodingValidator.cpp new file mode 120000 index 0000000..53766af --- /dev/null +++ b/libxerces-c/xercesc/util/EncodingValidator.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/EncodingValidator.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/EncodingValidator.hpp b/libxerces-c/xercesc/util/EncodingValidator.hpp new file mode 120000 index 0000000..2fbcda5 --- /dev/null +++ b/libxerces-c/xercesc/util/EncodingValidator.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/EncodingValidator.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/FileManagers b/libxerces-c/xercesc/util/FileManagers new file mode 120000 index 0000000..73cd212 --- /dev/null +++ b/libxerces-c/xercesc/util/FileManagers @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/FileManagers \ No newline at end of file diff --git a/libxerces-c/xercesc/util/FlagJanitor.c b/libxerces-c/xercesc/util/FlagJanitor.c new file mode 120000 index 0000000..8647c0a --- /dev/null +++ b/libxerces-c/xercesc/util/FlagJanitor.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/FlagJanitor.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/FlagJanitor.hpp b/libxerces-c/xercesc/util/FlagJanitor.hpp new file mode 120000 index 0000000..a0de651 --- /dev/null +++ b/libxerces-c/xercesc/util/FlagJanitor.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/FlagJanitor.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/Hash2KeysSetOf.c b/libxerces-c/xercesc/util/Hash2KeysSetOf.c new file mode 120000 index 0000000..51dd1e3 --- /dev/null +++ b/libxerces-c/xercesc/util/Hash2KeysSetOf.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/Hash2KeysSetOf.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/Hash2KeysSetOf.hpp b/libxerces-c/xercesc/util/Hash2KeysSetOf.hpp new file mode 120000 index 0000000..d9f16d1 --- /dev/null +++ b/libxerces-c/xercesc/util/Hash2KeysSetOf.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/Hash2KeysSetOf.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/Hashers.hpp b/libxerces-c/xercesc/util/Hashers.hpp new file mode 120000 index 0000000..152872b --- /dev/null +++ b/libxerces-c/xercesc/util/Hashers.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/Hashers.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/HeaderDummy.cpp b/libxerces-c/xercesc/util/HeaderDummy.cpp new file mode 120000 index 0000000..7d2239b --- /dev/null +++ b/libxerces-c/xercesc/util/HeaderDummy.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/HeaderDummy.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/HexBin.cpp b/libxerces-c/xercesc/util/HexBin.cpp new file mode 120000 index 0000000..b3f57ee --- /dev/null +++ b/libxerces-c/xercesc/util/HexBin.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/HexBin.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/HexBin.hpp b/libxerces-c/xercesc/util/HexBin.hpp new file mode 120000 index 0000000..5ccd3b9 --- /dev/null +++ b/libxerces-c/xercesc/util/HexBin.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/HexBin.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/IOException.hpp b/libxerces-c/xercesc/util/IOException.hpp new file mode 120000 index 0000000..fbd5825 --- /dev/null +++ b/libxerces-c/xercesc/util/IOException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/IOException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/IllegalArgumentException.hpp b/libxerces-c/xercesc/util/IllegalArgumentException.hpp new file mode 120000 index 0000000..d0bd269 --- /dev/null +++ b/libxerces-c/xercesc/util/IllegalArgumentException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/IllegalArgumentException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/InvalidCastException.hpp b/libxerces-c/xercesc/util/InvalidCastException.hpp new file mode 120000 index 0000000..3c9e76f --- /dev/null +++ b/libxerces-c/xercesc/util/InvalidCastException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/InvalidCastException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/Janitor.c b/libxerces-c/xercesc/util/Janitor.c new file mode 120000 index 0000000..de4adda --- /dev/null +++ b/libxerces-c/xercesc/util/Janitor.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/Janitor.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/Janitor.hpp b/libxerces-c/xercesc/util/Janitor.hpp new file mode 100644 index 0000000..da970bf --- /dev/null +++ b/libxerces-c/xercesc/util/Janitor.hpp @@ -0,0 +1,168 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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$ + */ + +#if !defined(XERCESC_INCLUDE_GUARD_JANITOR_HPP) +#define XERCESC_INCLUDE_GUARD_JANITOR_HPP + +#include +#include + +XERCES_CPP_NAMESPACE_BEGIN + +template class Janitor : public XMemory +{ +public : + // ----------------------------------------------------------------------- + // Constructors and Destructor + // ----------------------------------------------------------------------- + Janitor(T* const toDelete); + ~Janitor(); + + // ----------------------------------------------------------------------- + // Public, non-virtual methods + // ----------------------------------------------------------------------- + void orphan(); + + // small amount of auto_ptr compatibility + T& operator*() const; + T* operator->() const; + T* get() const; + T* release(); + void reset(T* p = 0); + bool isDataNull(); + +private : + // ----------------------------------------------------------------------- + // Unimplemented constructors and operators + // ----------------------------------------------------------------------- + Janitor(); + Janitor(const Janitor&); + Janitor& operator=(const Janitor&); + + // ----------------------------------------------------------------------- + // Private data members + // + // fData + // This is the pointer to the object or structure that must be + // destroyed when this object is destroyed. + // ----------------------------------------------------------------------- + T* fData; +}; + + + +template class ArrayJanitor : public XMemory +{ +public : + // ----------------------------------------------------------------------- + // Constructors and Destructor + // ----------------------------------------------------------------------- + ArrayJanitor(T* const toDelete); + ArrayJanitor(T* const toDelete, MemoryManager* const manager); + ~ArrayJanitor(); + + + // ----------------------------------------------------------------------- + // Public, non-virtual methods + // ----------------------------------------------------------------------- + void orphan(); + + // small amount of auto_ptr compatibility + T& operator[](XMLSize_t index) const; + T* get() const; + T* release(); + void reset(T* p = 0); + void reset(T* p, MemoryManager* const manager); + +private : + // ----------------------------------------------------------------------- + // Unimplemented constructors and operators + // ----------------------------------------------------------------------- + ArrayJanitor(); + ArrayJanitor(const ArrayJanitor& copy); + ArrayJanitor& operator=(const ArrayJanitor& copy); + + // ----------------------------------------------------------------------- + // Private data members + // + // fData + // This is the pointer to the object or structure that must be + // destroyed when this object is destroyed. + // ----------------------------------------------------------------------- + T* fData; + MemoryManager* fMemoryManager; +}; + + + +template class JanitorMemFunCall +{ +public : + + typedef void (T::*MFPT) (); + + // ----------------------------------------------------------------------- + // Constructors and Destructor + // ----------------------------------------------------------------------- + JanitorMemFunCall( + T* object, + MFPT toCall); + + ~JanitorMemFunCall(); + + // small amount of auto_ptr compatibility + T& operator*() const; + T* operator->() const; + T* get() const; + T* release(); + void reset(T* p = 0); + +private : + // ----------------------------------------------------------------------- + // Unimplemented constructors and operators + // ----------------------------------------------------------------------- + JanitorMemFunCall(); + JanitorMemFunCall(const JanitorMemFunCall&); + JanitorMemFunCall& operator=(const JanitorMemFunCall&); + + // ----------------------------------------------------------------------- + // Private data members + // + // fObject + // This is the pointer to the object for which we will call the + // member function when this object is destroyed. + // ----------------------------------------------------------------------- + T* fObject; + MFPT fToCall; +}; + +#if defined(__GNUC__) || (! defined(_AIX) && ! defined(__hpux) && ! defined(__sun)) +extern template class XERCES_PLATFORM_DECEXPORT ArrayJanitor; +extern template class XERCES_PLATFORM_DECEXPORT ArrayJanitor; +#endif + +XERCES_CPP_NAMESPACE_END + +#if !defined(XERCES_TMPLSINC) +#include +#endif + +#endif diff --git a/libxerces-c/xercesc/util/JanitorExports.cpp b/libxerces-c/xercesc/util/JanitorExports.cpp new file mode 100644 index 0000000..024434f --- /dev/null +++ b/libxerces-c/xercesc/util/JanitorExports.cpp @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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. + */ + +#include + +XERCES_CPP_NAMESPACE_BEGIN + +template class XERCES_PLATFORM_DEFEXPORT ArrayJanitor; +template class XERCES_PLATFORM_DEFEXPORT ArrayJanitor; + +XERCES_CPP_NAMESPACE_END diff --git a/libxerces-c/xercesc/util/KVStringPair.cpp b/libxerces-c/xercesc/util/KVStringPair.cpp new file mode 120000 index 0000000..326d491 --- /dev/null +++ b/libxerces-c/xercesc/util/KVStringPair.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/KVStringPair.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/KVStringPair.hpp b/libxerces-c/xercesc/util/KVStringPair.hpp new file mode 120000 index 0000000..32d0edd --- /dev/null +++ b/libxerces-c/xercesc/util/KVStringPair.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/KVStringPair.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/KeyRefPair.c b/libxerces-c/xercesc/util/KeyRefPair.c new file mode 120000 index 0000000..8b045fb --- /dev/null +++ b/libxerces-c/xercesc/util/KeyRefPair.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/KeyRefPair.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/KeyRefPair.hpp b/libxerces-c/xercesc/util/KeyRefPair.hpp new file mode 120000 index 0000000..ab32d88 --- /dev/null +++ b/libxerces-c/xercesc/util/KeyRefPair.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/KeyRefPair.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/KeyValuePair.c b/libxerces-c/xercesc/util/KeyValuePair.c new file mode 120000 index 0000000..7b0c3d0 --- /dev/null +++ b/libxerces-c/xercesc/util/KeyValuePair.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/KeyValuePair.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/KeyValuePair.hpp b/libxerces-c/xercesc/util/KeyValuePair.hpp new file mode 120000 index 0000000..756d33f --- /dev/null +++ b/libxerces-c/xercesc/util/KeyValuePair.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/KeyValuePair.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/LogicalPath.c b/libxerces-c/xercesc/util/LogicalPath.c new file mode 120000 index 0000000..f46bc71 --- /dev/null +++ b/libxerces-c/xercesc/util/LogicalPath.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/LogicalPath.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/MsgLoaders/InMemory b/libxerces-c/xercesc/util/MsgLoaders/InMemory new file mode 120000 index 0000000..faddf57 --- /dev/null +++ b/libxerces-c/xercesc/util/MsgLoaders/InMemory @@ -0,0 +1 @@ +../../../../upstream/src/xercesc/util/MsgLoaders/InMemory \ No newline at end of file diff --git a/libxerces-c/xercesc/util/MutexManagers/StdMutexMgr.cpp b/libxerces-c/xercesc/util/MutexManagers/StdMutexMgr.cpp new file mode 120000 index 0000000..f86b528 --- /dev/null +++ b/libxerces-c/xercesc/util/MutexManagers/StdMutexMgr.cpp @@ -0,0 +1 @@ +../../../../upstream/src/xercesc/util/MutexManagers/StdMutexMgr.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/MutexManagers/StdMutexMgr.hpp b/libxerces-c/xercesc/util/MutexManagers/StdMutexMgr.hpp new file mode 120000 index 0000000..4a4ce9d --- /dev/null +++ b/libxerces-c/xercesc/util/MutexManagers/StdMutexMgr.hpp @@ -0,0 +1 @@ +../../../../upstream/src/xercesc/util/MutexManagers/StdMutexMgr.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/Mutexes.cpp b/libxerces-c/xercesc/util/Mutexes.cpp new file mode 120000 index 0000000..b23cf3a --- /dev/null +++ b/libxerces-c/xercesc/util/Mutexes.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/Mutexes.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/Mutexes.hpp b/libxerces-c/xercesc/util/Mutexes.hpp new file mode 120000 index 0000000..fd221b9 --- /dev/null +++ b/libxerces-c/xercesc/util/Mutexes.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/Mutexes.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/NameIdPool.c b/libxerces-c/xercesc/util/NameIdPool.c new file mode 120000 index 0000000..64e9ab8 --- /dev/null +++ b/libxerces-c/xercesc/util/NameIdPool.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/NameIdPool.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/NameIdPool.hpp b/libxerces-c/xercesc/util/NameIdPool.hpp new file mode 120000 index 0000000..51a35cd --- /dev/null +++ b/libxerces-c/xercesc/util/NameIdPool.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/NameIdPool.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/NetAccessors/Curl b/libxerces-c/xercesc/util/NetAccessors/Curl new file mode 120000 index 0000000..d56899b --- /dev/null +++ b/libxerces-c/xercesc/util/NetAccessors/Curl @@ -0,0 +1 @@ +../../../../upstream/src/xercesc/util/NetAccessors/Curl \ No newline at end of file diff --git a/libxerces-c/xercesc/util/NoSuchElementException.hpp b/libxerces-c/xercesc/util/NoSuchElementException.hpp new file mode 120000 index 0000000..2f37e00 --- /dev/null +++ b/libxerces-c/xercesc/util/NoSuchElementException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/NoSuchElementException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/NullPointerException.hpp b/libxerces-c/xercesc/util/NullPointerException.hpp new file mode 120000 index 0000000..32cd664 --- /dev/null +++ b/libxerces-c/xercesc/util/NullPointerException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/NullPointerException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/NumberFormatException.hpp b/libxerces-c/xercesc/util/NumberFormatException.hpp new file mode 120000 index 0000000..594ce81 --- /dev/null +++ b/libxerces-c/xercesc/util/NumberFormatException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/NumberFormatException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/OutOfMemoryException.hpp b/libxerces-c/xercesc/util/OutOfMemoryException.hpp new file mode 120000 index 0000000..48c4337 --- /dev/null +++ b/libxerces-c/xercesc/util/OutOfMemoryException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/OutOfMemoryException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/PSVIUni.cpp b/libxerces-c/xercesc/util/PSVIUni.cpp new file mode 120000 index 0000000..16c1237 --- /dev/null +++ b/libxerces-c/xercesc/util/PSVIUni.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/PSVIUni.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/PSVIUni.hpp b/libxerces-c/xercesc/util/PSVIUni.hpp new file mode 120000 index 0000000..581f86b --- /dev/null +++ b/libxerces-c/xercesc/util/PSVIUni.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/PSVIUni.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/PanicHandler.cpp b/libxerces-c/xercesc/util/PanicHandler.cpp new file mode 120000 index 0000000..89878e0 --- /dev/null +++ b/libxerces-c/xercesc/util/PanicHandler.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/PanicHandler.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/PanicHandler.hpp b/libxerces-c/xercesc/util/PanicHandler.hpp new file mode 120000 index 0000000..ce21d84 --- /dev/null +++ b/libxerces-c/xercesc/util/PanicHandler.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/PanicHandler.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/ParseException.hpp b/libxerces-c/xercesc/util/ParseException.hpp new file mode 120000 index 0000000..9c8ffcb --- /dev/null +++ b/libxerces-c/xercesc/util/ParseException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/ParseException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/PlatformUtils.cpp b/libxerces-c/xercesc/util/PlatformUtils.cpp new file mode 120000 index 0000000..debcb6a --- /dev/null +++ b/libxerces-c/xercesc/util/PlatformUtils.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/PlatformUtils.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/PlatformUtils.hpp b/libxerces-c/xercesc/util/PlatformUtils.hpp new file mode 120000 index 0000000..91a3ae4 --- /dev/null +++ b/libxerces-c/xercesc/util/PlatformUtils.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/PlatformUtils.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/QName.cpp b/libxerces-c/xercesc/util/QName.cpp new file mode 120000 index 0000000..24412c3 --- /dev/null +++ b/libxerces-c/xercesc/util/QName.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/QName.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/QName.hpp b/libxerces-c/xercesc/util/QName.hpp new file mode 120000 index 0000000..cbb9e35 --- /dev/null +++ b/libxerces-c/xercesc/util/QName.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/QName.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/RefArrayOf.c b/libxerces-c/xercesc/util/RefArrayOf.c new file mode 120000 index 0000000..bfe2eed --- /dev/null +++ b/libxerces-c/xercesc/util/RefArrayOf.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/RefArrayOf.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/RefArrayOf.hpp b/libxerces-c/xercesc/util/RefArrayOf.hpp new file mode 120000 index 0000000..5d9a6e7 --- /dev/null +++ b/libxerces-c/xercesc/util/RefArrayOf.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/RefArrayOf.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/RefArrayVectorOf.c b/libxerces-c/xercesc/util/RefArrayVectorOf.c new file mode 120000 index 0000000..e2aeace --- /dev/null +++ b/libxerces-c/xercesc/util/RefArrayVectorOf.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/RefArrayVectorOf.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/RefArrayVectorOf.hpp b/libxerces-c/xercesc/util/RefArrayVectorOf.hpp new file mode 120000 index 0000000..cb2758d --- /dev/null +++ b/libxerces-c/xercesc/util/RefArrayVectorOf.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/RefArrayVectorOf.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/RefHash2KeysTableOf.c b/libxerces-c/xercesc/util/RefHash2KeysTableOf.c new file mode 120000 index 0000000..5c39e08 --- /dev/null +++ b/libxerces-c/xercesc/util/RefHash2KeysTableOf.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/RefHash2KeysTableOf.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/RefHash2KeysTableOf.hpp b/libxerces-c/xercesc/util/RefHash2KeysTableOf.hpp new file mode 120000 index 0000000..0f29f24 --- /dev/null +++ b/libxerces-c/xercesc/util/RefHash2KeysTableOf.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/RefHash2KeysTableOf.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/RefHash3KeysIdPool.c b/libxerces-c/xercesc/util/RefHash3KeysIdPool.c new file mode 120000 index 0000000..b4920e1 --- /dev/null +++ b/libxerces-c/xercesc/util/RefHash3KeysIdPool.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/RefHash3KeysIdPool.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/RefHash3KeysIdPool.hpp b/libxerces-c/xercesc/util/RefHash3KeysIdPool.hpp new file mode 120000 index 0000000..e814483 --- /dev/null +++ b/libxerces-c/xercesc/util/RefHash3KeysIdPool.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/RefHash3KeysIdPool.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/RefHashTableOf.c b/libxerces-c/xercesc/util/RefHashTableOf.c new file mode 120000 index 0000000..139ee6c --- /dev/null +++ b/libxerces-c/xercesc/util/RefHashTableOf.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/RefHashTableOf.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/RefHashTableOf.hpp b/libxerces-c/xercesc/util/RefHashTableOf.hpp new file mode 120000 index 0000000..5820dca --- /dev/null +++ b/libxerces-c/xercesc/util/RefHashTableOf.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/RefHashTableOf.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/RefStackOf.c b/libxerces-c/xercesc/util/RefStackOf.c new file mode 120000 index 0000000..e7c7c79 --- /dev/null +++ b/libxerces-c/xercesc/util/RefStackOf.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/RefStackOf.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/RefStackOf.hpp b/libxerces-c/xercesc/util/RefStackOf.hpp new file mode 120000 index 0000000..b514240 --- /dev/null +++ b/libxerces-c/xercesc/util/RefStackOf.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/RefStackOf.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/RefVectorOf.c b/libxerces-c/xercesc/util/RefVectorOf.c new file mode 120000 index 0000000..275b1a4 --- /dev/null +++ b/libxerces-c/xercesc/util/RefVectorOf.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/RefVectorOf.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/RefVectorOf.hpp b/libxerces-c/xercesc/util/RefVectorOf.hpp new file mode 120000 index 0000000..3217844 --- /dev/null +++ b/libxerces-c/xercesc/util/RefVectorOf.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/RefVectorOf.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/RuntimeException.hpp b/libxerces-c/xercesc/util/RuntimeException.hpp new file mode 120000 index 0000000..269c256 --- /dev/null +++ b/libxerces-c/xercesc/util/RuntimeException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/RuntimeException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/SchemaDateTimeException.hpp b/libxerces-c/xercesc/util/SchemaDateTimeException.hpp new file mode 120000 index 0000000..07c93e7 --- /dev/null +++ b/libxerces-c/xercesc/util/SchemaDateTimeException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/SchemaDateTimeException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/SecurityManager.hpp b/libxerces-c/xercesc/util/SecurityManager.hpp new file mode 120000 index 0000000..f6d898a --- /dev/null +++ b/libxerces-c/xercesc/util/SecurityManager.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/SecurityManager.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/StringPool.cpp b/libxerces-c/xercesc/util/StringPool.cpp new file mode 120000 index 0000000..328fd4c --- /dev/null +++ b/libxerces-c/xercesc/util/StringPool.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/StringPool.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/StringPool.hpp b/libxerces-c/xercesc/util/StringPool.hpp new file mode 120000 index 0000000..bf32ce1 --- /dev/null +++ b/libxerces-c/xercesc/util/StringPool.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/StringPool.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/SynchronizedStringPool.cpp b/libxerces-c/xercesc/util/SynchronizedStringPool.cpp new file mode 120000 index 0000000..0a222e6 --- /dev/null +++ b/libxerces-c/xercesc/util/SynchronizedStringPool.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/SynchronizedStringPool.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/SynchronizedStringPool.hpp b/libxerces-c/xercesc/util/SynchronizedStringPool.hpp new file mode 120000 index 0000000..ab5d4c3 --- /dev/null +++ b/libxerces-c/xercesc/util/SynchronizedStringPool.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/SynchronizedStringPool.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/TransENameMap.c b/libxerces-c/xercesc/util/TransENameMap.c new file mode 120000 index 0000000..7b1a94e --- /dev/null +++ b/libxerces-c/xercesc/util/TransENameMap.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/TransENameMap.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/TransENameMap.hpp b/libxerces-c/xercesc/util/TransENameMap.hpp new file mode 120000 index 0000000..60dcee9 --- /dev/null +++ b/libxerces-c/xercesc/util/TransENameMap.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/TransENameMap.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/TransService.cpp b/libxerces-c/xercesc/util/TransService.cpp new file mode 120000 index 0000000..b62b4de --- /dev/null +++ b/libxerces-c/xercesc/util/TransService.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/TransService.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/TransService.hpp b/libxerces-c/xercesc/util/TransService.hpp new file mode 120000 index 0000000..70c49b9 --- /dev/null +++ b/libxerces-c/xercesc/util/TransService.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/TransService.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/Transcoders/ICU b/libxerces-c/xercesc/util/Transcoders/ICU new file mode 120000 index 0000000..e49a095 --- /dev/null +++ b/libxerces-c/xercesc/util/Transcoders/ICU @@ -0,0 +1 @@ +../../../../upstream/src/xercesc/util/Transcoders/ICU \ No newline at end of file diff --git a/libxerces-c/xercesc/util/TranscodingException.hpp b/libxerces-c/xercesc/util/TranscodingException.hpp new file mode 120000 index 0000000..33526f6 --- /dev/null +++ b/libxerces-c/xercesc/util/TranscodingException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/TranscodingException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/UTFDataFormatException.hpp b/libxerces-c/xercesc/util/UTFDataFormatException.hpp new file mode 120000 index 0000000..870a96f --- /dev/null +++ b/libxerces-c/xercesc/util/UTFDataFormatException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/UTFDataFormatException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/UnexpectedEOFException.hpp b/libxerces-c/xercesc/util/UnexpectedEOFException.hpp new file mode 120000 index 0000000..b14a7c6 --- /dev/null +++ b/libxerces-c/xercesc/util/UnexpectedEOFException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/UnexpectedEOFException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/UnsupportedEncodingException.hpp b/libxerces-c/xercesc/util/UnsupportedEncodingException.hpp new file mode 120000 index 0000000..be6e647 --- /dev/null +++ b/libxerces-c/xercesc/util/UnsupportedEncodingException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/UnsupportedEncodingException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/ValueArrayOf.c b/libxerces-c/xercesc/util/ValueArrayOf.c new file mode 120000 index 0000000..be381ca --- /dev/null +++ b/libxerces-c/xercesc/util/ValueArrayOf.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/ValueArrayOf.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/ValueArrayOf.hpp b/libxerces-c/xercesc/util/ValueArrayOf.hpp new file mode 120000 index 0000000..c62a89b --- /dev/null +++ b/libxerces-c/xercesc/util/ValueArrayOf.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/ValueArrayOf.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/ValueHashTableOf.c b/libxerces-c/xercesc/util/ValueHashTableOf.c new file mode 120000 index 0000000..e4cde3b --- /dev/null +++ b/libxerces-c/xercesc/util/ValueHashTableOf.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/ValueHashTableOf.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/ValueHashTableOf.hpp b/libxerces-c/xercesc/util/ValueHashTableOf.hpp new file mode 120000 index 0000000..5a960c6 --- /dev/null +++ b/libxerces-c/xercesc/util/ValueHashTableOf.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/ValueHashTableOf.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/ValueStackOf.c b/libxerces-c/xercesc/util/ValueStackOf.c new file mode 120000 index 0000000..2572421 --- /dev/null +++ b/libxerces-c/xercesc/util/ValueStackOf.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/ValueStackOf.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/ValueStackOf.hpp b/libxerces-c/xercesc/util/ValueStackOf.hpp new file mode 120000 index 0000000..8a3d285 --- /dev/null +++ b/libxerces-c/xercesc/util/ValueStackOf.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/ValueStackOf.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/ValueVectorOf.c b/libxerces-c/xercesc/util/ValueVectorOf.c new file mode 120000 index 0000000..830820b --- /dev/null +++ b/libxerces-c/xercesc/util/ValueVectorOf.c @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/ValueVectorOf.c \ No newline at end of file diff --git a/libxerces-c/xercesc/util/ValueVectorOf.hpp b/libxerces-c/xercesc/util/ValueVectorOf.hpp new file mode 120000 index 0000000..db62cd0 --- /dev/null +++ b/libxerces-c/xercesc/util/ValueVectorOf.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/ValueVectorOf.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XML256TableTranscoder.cpp b/libxerces-c/xercesc/util/XML256TableTranscoder.cpp new file mode 120000 index 0000000..2a2a7f7 --- /dev/null +++ b/libxerces-c/xercesc/util/XML256TableTranscoder.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XML256TableTranscoder.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XML256TableTranscoder.hpp b/libxerces-c/xercesc/util/XML256TableTranscoder.hpp new file mode 120000 index 0000000..e4a1cbc --- /dev/null +++ b/libxerces-c/xercesc/util/XML256TableTranscoder.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XML256TableTranscoder.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XML88591Transcoder.cpp b/libxerces-c/xercesc/util/XML88591Transcoder.cpp new file mode 120000 index 0000000..5f4a7d1 --- /dev/null +++ b/libxerces-c/xercesc/util/XML88591Transcoder.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XML88591Transcoder.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XML88591Transcoder.hpp b/libxerces-c/xercesc/util/XML88591Transcoder.hpp new file mode 120000 index 0000000..1599569 --- /dev/null +++ b/libxerces-c/xercesc/util/XML88591Transcoder.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XML88591Transcoder.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLASCIITranscoder.cpp b/libxerces-c/xercesc/util/XMLASCIITranscoder.cpp new file mode 120000 index 0000000..e8859c6 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLASCIITranscoder.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLASCIITranscoder.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLASCIITranscoder.hpp b/libxerces-c/xercesc/util/XMLASCIITranscoder.hpp new file mode 120000 index 0000000..0b3783c --- /dev/null +++ b/libxerces-c/xercesc/util/XMLASCIITranscoder.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLASCIITranscoder.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLAbstractDoubleFloat.cpp b/libxerces-c/xercesc/util/XMLAbstractDoubleFloat.cpp new file mode 120000 index 0000000..3df6ae8 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLAbstractDoubleFloat.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLAbstractDoubleFloat.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLAbstractDoubleFloat.hpp b/libxerces-c/xercesc/util/XMLAbstractDoubleFloat.hpp new file mode 120000 index 0000000..2673e6f --- /dev/null +++ b/libxerces-c/xercesc/util/XMLAbstractDoubleFloat.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLAbstractDoubleFloat.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLBigDecimal.cpp b/libxerces-c/xercesc/util/XMLBigDecimal.cpp new file mode 120000 index 0000000..426dc18 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLBigDecimal.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLBigDecimal.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLBigDecimal.hpp b/libxerces-c/xercesc/util/XMLBigDecimal.hpp new file mode 120000 index 0000000..12b9723 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLBigDecimal.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLBigDecimal.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLBigInteger.cpp b/libxerces-c/xercesc/util/XMLBigInteger.cpp new file mode 120000 index 0000000..8cb68fa --- /dev/null +++ b/libxerces-c/xercesc/util/XMLBigInteger.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLBigInteger.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLBigInteger.hpp b/libxerces-c/xercesc/util/XMLBigInteger.hpp new file mode 120000 index 0000000..ab57bdb --- /dev/null +++ b/libxerces-c/xercesc/util/XMLBigInteger.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLBigInteger.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLChTranscoder.cpp b/libxerces-c/xercesc/util/XMLChTranscoder.cpp new file mode 120000 index 0000000..a2f9f3d --- /dev/null +++ b/libxerces-c/xercesc/util/XMLChTranscoder.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLChTranscoder.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLChTranscoder.hpp b/libxerces-c/xercesc/util/XMLChTranscoder.hpp new file mode 120000 index 0000000..e565659 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLChTranscoder.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLChTranscoder.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLChar.cpp b/libxerces-c/xercesc/util/XMLChar.cpp new file mode 120000 index 0000000..bf84d18 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLChar.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLChar.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLChar.hpp b/libxerces-c/xercesc/util/XMLChar.hpp new file mode 120000 index 0000000..e68088d --- /dev/null +++ b/libxerces-c/xercesc/util/XMLChar.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLChar.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLDOMMsg.hpp b/libxerces-c/xercesc/util/XMLDOMMsg.hpp new file mode 120000 index 0000000..51b48c0 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLDOMMsg.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLDOMMsg.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLDateTime.cpp b/libxerces-c/xercesc/util/XMLDateTime.cpp new file mode 120000 index 0000000..ea6393d --- /dev/null +++ b/libxerces-c/xercesc/util/XMLDateTime.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLDateTime.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLDateTime.hpp b/libxerces-c/xercesc/util/XMLDateTime.hpp new file mode 120000 index 0000000..3aa5248 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLDateTime.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLDateTime.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLDouble.cpp b/libxerces-c/xercesc/util/XMLDouble.cpp new file mode 120000 index 0000000..a59a74e --- /dev/null +++ b/libxerces-c/xercesc/util/XMLDouble.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLDouble.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLDouble.hpp b/libxerces-c/xercesc/util/XMLDouble.hpp new file mode 120000 index 0000000..bad88e0 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLDouble.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLDouble.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLEBCDICTranscoder.cpp b/libxerces-c/xercesc/util/XMLEBCDICTranscoder.cpp new file mode 120000 index 0000000..01268e9 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLEBCDICTranscoder.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLEBCDICTranscoder.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLEBCDICTranscoder.hpp b/libxerces-c/xercesc/util/XMLEBCDICTranscoder.hpp new file mode 120000 index 0000000..4425328 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLEBCDICTranscoder.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLEBCDICTranscoder.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLEntityResolver.hpp b/libxerces-c/xercesc/util/XMLEntityResolver.hpp new file mode 120000 index 0000000..c9a82f9 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLEntityResolver.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLEntityResolver.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLEnumerator.hpp b/libxerces-c/xercesc/util/XMLEnumerator.hpp new file mode 120000 index 0000000..afe845a --- /dev/null +++ b/libxerces-c/xercesc/util/XMLEnumerator.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLEnumerator.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLExceptMsgs.hpp b/libxerces-c/xercesc/util/XMLExceptMsgs.hpp new file mode 120000 index 0000000..c0407dd --- /dev/null +++ b/libxerces-c/xercesc/util/XMLExceptMsgs.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLExceptMsgs.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLException.cpp b/libxerces-c/xercesc/util/XMLException.cpp new file mode 120000 index 0000000..a99cd8d --- /dev/null +++ b/libxerces-c/xercesc/util/XMLException.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLException.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLException.hpp b/libxerces-c/xercesc/util/XMLException.hpp new file mode 120000 index 0000000..b483f27 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLException.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLException.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLFileMgr.hpp b/libxerces-c/xercesc/util/XMLFileMgr.hpp new file mode 120000 index 0000000..2c8ebe6 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLFileMgr.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLFileMgr.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLFloat.cpp b/libxerces-c/xercesc/util/XMLFloat.cpp new file mode 120000 index 0000000..aaee503 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLFloat.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLFloat.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLFloat.hpp b/libxerces-c/xercesc/util/XMLFloat.hpp new file mode 120000 index 0000000..81b002f --- /dev/null +++ b/libxerces-c/xercesc/util/XMLFloat.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLFloat.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLIBM1047Transcoder.cpp b/libxerces-c/xercesc/util/XMLIBM1047Transcoder.cpp new file mode 120000 index 0000000..a7ed578 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLIBM1047Transcoder.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLIBM1047Transcoder.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLIBM1047Transcoder.hpp b/libxerces-c/xercesc/util/XMLIBM1047Transcoder.hpp new file mode 120000 index 0000000..80c2687 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLIBM1047Transcoder.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLIBM1047Transcoder.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLIBM1140Transcoder.cpp b/libxerces-c/xercesc/util/XMLIBM1140Transcoder.cpp new file mode 120000 index 0000000..eb4267b --- /dev/null +++ b/libxerces-c/xercesc/util/XMLIBM1140Transcoder.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLIBM1140Transcoder.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLIBM1140Transcoder.hpp b/libxerces-c/xercesc/util/XMLIBM1140Transcoder.hpp new file mode 120000 index 0000000..9e8d11e --- /dev/null +++ b/libxerces-c/xercesc/util/XMLIBM1140Transcoder.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLIBM1140Transcoder.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLInitializer.cpp b/libxerces-c/xercesc/util/XMLInitializer.cpp new file mode 120000 index 0000000..010b5de --- /dev/null +++ b/libxerces-c/xercesc/util/XMLInitializer.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLInitializer.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLInitializer.hpp b/libxerces-c/xercesc/util/XMLInitializer.hpp new file mode 120000 index 0000000..659eb84 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLInitializer.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLInitializer.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLInteger.hpp b/libxerces-c/xercesc/util/XMLInteger.hpp new file mode 120000 index 0000000..d912e9d --- /dev/null +++ b/libxerces-c/xercesc/util/XMLInteger.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLInteger.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLMsgLoader.cpp b/libxerces-c/xercesc/util/XMLMsgLoader.cpp new file mode 120000 index 0000000..1a60d17 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLMsgLoader.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLMsgLoader.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLMsgLoader.hpp b/libxerces-c/xercesc/util/XMLMsgLoader.hpp new file mode 120000 index 0000000..ce7cffe --- /dev/null +++ b/libxerces-c/xercesc/util/XMLMsgLoader.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLMsgLoader.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLMutexMgr.hpp b/libxerces-c/xercesc/util/XMLMutexMgr.hpp new file mode 120000 index 0000000..7440749 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLMutexMgr.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLMutexMgr.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLNetAccessor.hpp b/libxerces-c/xercesc/util/XMLNetAccessor.hpp new file mode 120000 index 0000000..fe9e23c --- /dev/null +++ b/libxerces-c/xercesc/util/XMLNetAccessor.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLNetAccessor.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLNumber.cpp b/libxerces-c/xercesc/util/XMLNumber.cpp new file mode 120000 index 0000000..de3434b --- /dev/null +++ b/libxerces-c/xercesc/util/XMLNumber.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLNumber.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLNumber.hpp b/libxerces-c/xercesc/util/XMLNumber.hpp new file mode 120000 index 0000000..db6f296 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLNumber.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLNumber.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLResourceIdentifier.hpp b/libxerces-c/xercesc/util/XMLResourceIdentifier.hpp new file mode 120000 index 0000000..00c6235 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLResourceIdentifier.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLResourceIdentifier.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLString.cpp b/libxerces-c/xercesc/util/XMLString.cpp new file mode 120000 index 0000000..1ed7b17 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLString.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLString.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLString.hpp b/libxerces-c/xercesc/util/XMLString.hpp new file mode 120000 index 0000000..a34d2bf --- /dev/null +++ b/libxerces-c/xercesc/util/XMLString.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLString.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLStringTokenizer.cpp b/libxerces-c/xercesc/util/XMLStringTokenizer.cpp new file mode 120000 index 0000000..2a3e89d --- /dev/null +++ b/libxerces-c/xercesc/util/XMLStringTokenizer.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLStringTokenizer.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLStringTokenizer.hpp b/libxerces-c/xercesc/util/XMLStringTokenizer.hpp new file mode 120000 index 0000000..9a6311c --- /dev/null +++ b/libxerces-c/xercesc/util/XMLStringTokenizer.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLStringTokenizer.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLUCS4Transcoder.cpp b/libxerces-c/xercesc/util/XMLUCS4Transcoder.cpp new file mode 120000 index 0000000..dc7c410 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLUCS4Transcoder.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLUCS4Transcoder.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLUCS4Transcoder.hpp b/libxerces-c/xercesc/util/XMLUCS4Transcoder.hpp new file mode 120000 index 0000000..5e21900 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLUCS4Transcoder.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLUCS4Transcoder.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLURL.cpp b/libxerces-c/xercesc/util/XMLURL.cpp new file mode 120000 index 0000000..8f9fe85 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLURL.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLURL.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLURL.hpp b/libxerces-c/xercesc/util/XMLURL.hpp new file mode 120000 index 0000000..fa9e8d7 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLURL.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLURL.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLUTF16Transcoder.cpp b/libxerces-c/xercesc/util/XMLUTF16Transcoder.cpp new file mode 120000 index 0000000..25ec0e5 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLUTF16Transcoder.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLUTF16Transcoder.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLUTF16Transcoder.hpp b/libxerces-c/xercesc/util/XMLUTF16Transcoder.hpp new file mode 120000 index 0000000..e7b76a7 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLUTF16Transcoder.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLUTF16Transcoder.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLUTF8Transcoder.cpp b/libxerces-c/xercesc/util/XMLUTF8Transcoder.cpp new file mode 120000 index 0000000..0acd5a1 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLUTF8Transcoder.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLUTF8Transcoder.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLUTF8Transcoder.hpp b/libxerces-c/xercesc/util/XMLUTF8Transcoder.hpp new file mode 120000 index 0000000..4a4e403 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLUTF8Transcoder.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLUTF8Transcoder.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLUni.cpp b/libxerces-c/xercesc/util/XMLUni.cpp new file mode 120000 index 0000000..70795b0 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLUni.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLUni.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLUni.hpp b/libxerces-c/xercesc/util/XMLUni.hpp new file mode 120000 index 0000000..52ba3db --- /dev/null +++ b/libxerces-c/xercesc/util/XMLUni.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLUni.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLUniDefs.hpp b/libxerces-c/xercesc/util/XMLUniDefs.hpp new file mode 120000 index 0000000..fe8df76 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLUniDefs.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLUniDefs.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLUri.cpp b/libxerces-c/xercesc/util/XMLUri.cpp new file mode 120000 index 0000000..3c74615 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLUri.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLUri.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLUri.hpp b/libxerces-c/xercesc/util/XMLUri.hpp new file mode 120000 index 0000000..6da0204 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLUri.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLUri.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLWin1252Transcoder.cpp b/libxerces-c/xercesc/util/XMLWin1252Transcoder.cpp new file mode 120000 index 0000000..c13e794 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLWin1252Transcoder.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLWin1252Transcoder.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMLWin1252Transcoder.hpp b/libxerces-c/xercesc/util/XMLWin1252Transcoder.hpp new file mode 120000 index 0000000..67a2ea2 --- /dev/null +++ b/libxerces-c/xercesc/util/XMLWin1252Transcoder.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMLWin1252Transcoder.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMemory.cpp b/libxerces-c/xercesc/util/XMemory.cpp new file mode 120000 index 0000000..0e3a5aa --- /dev/null +++ b/libxerces-c/xercesc/util/XMemory.cpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMemory.cpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XMemory.hpp b/libxerces-c/xercesc/util/XMemory.hpp new file mode 120000 index 0000000..2b501f5 --- /dev/null +++ b/libxerces-c/xercesc/util/XMemory.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XMemory.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XercesDefs.hpp b/libxerces-c/xercesc/util/XercesDefs.hpp new file mode 120000 index 0000000..96a2f52 --- /dev/null +++ b/libxerces-c/xercesc/util/XercesDefs.hpp @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XercesDefs.hpp \ No newline at end of file diff --git a/libxerces-c/xercesc/util/XercesVersion.hpp b/libxerces-c/xercesc/util/XercesVersion.hpp new file mode 100644 index 0000000..e69de29 diff --git a/libxerces-c/xercesc/util/XercesVersion.hpp.in b/libxerces-c/xercesc/util/XercesVersion.hpp.in new file mode 120000 index 0000000..ac3ee99 --- /dev/null +++ b/libxerces-c/xercesc/util/XercesVersion.hpp.in @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/XercesVersion.hpp.cmake.in \ No newline at end of file diff --git a/libxerces-c/xercesc/util/Xerces_autoconf_config.hpp b/libxerces-c/xercesc/util/Xerces_autoconf_config.hpp new file mode 100644 index 0000000..2b088cf --- /dev/null +++ b/libxerces-c/xercesc/util/Xerces_autoconf_config.hpp @@ -0,0 +1,191 @@ +/* file : xercesc/util/Xerces_autoconf_config.hpp -*- C -*- + * license : Apache License 2.0; see accompanying LICENSE file + */ + +#ifndef XERCESC_UTIL_XERCES_AUTOCONF_CONFIG_HPP +#define XERCESC_UTIL_XERCES_AUTOCONF_CONFIG_HPP + +/* For the semantics of the following macros refer to + * Xerces_autoconf_config.hpp.cmake.in.orig and upstream's configure.ac. + * + * We won't drop macro (un)definitions just because they are not used by the + * library itself (as we do for config.h), because this header is installed + * and the library clients may potentially rely on them. + */ + +/* int16_t, etc. + */ +#if defined(__cplusplus) +# include +#else +# include /* Requires C99. */ +#endif + +#include + +#include + +/* Specific for FreeBSD. + */ +#ifdef __FreeBSD__ +# define HAVE_CPUID_H 1 +# define XERCES_HAVE_GETCPUID 1 +#endif + +/* Specific for POSIX (none). + */ +#ifndef _WIN32 +/* Specific for Windows. + */ +#else +# define XERCES_HAVE_INTRIN_H 1 +# define XERCES_HAVE_CPUID_INTRINSIC 1 +#endif + +/* Specific for (non-) VC. + */ +#ifndef _MSC_VER +# define XERCES_SSIZE_T ssize_t +#else +# define XERCES_SSIZE_T long +#endif + +/* Common for all supported OSes/compilers. + */ +#define XERCES_HAVE_CSTDINT 1 +#define XERCES_HAVE_STDINT_H 1 +#define XERCES_HAVE_SYS_TYPES_H 1 +#define XERCES_HAVE_INTTYPES_H 1 +#define XERCES_HAS_CPP_NAMESPACE 1 +#define XERCES_STD_NAMESPACE 1 +#define XERCES_NEW_IOSTREAMS 1 +#define XERCES_LSTRSUPPORT 1 + +#undef XERCES_AUTOCONF +#undef XERCES_HAVE_EMMINTRIN_H +#undef XERCES_INCLUDE_WCHAR_H +#undef XERCES_NO_NATIVE_BOOL +#undef XERCES_HAVE_SSE2_INTRINSIC +#undef XERCES_NO_MATCHING_DELETE_OPERATOR + +#define XERCES_S16BIT_INT int16_t +#define XERCES_S32BIT_INT int32_t +#define XERCES_S64BIT_INT int64_t +#define XERCES_U16BIT_INT uint16_t +#define XERCES_U32BIT_INT uint32_t +#define XERCES_U64BIT_INT uint64_t +#define XERCES_XMLCH_T char16_t +#define XERCES_SIZE_T size_t + +/* Export/import. + */ + +/* It's not really clear how exactly the upstream's explicit template + * instantiation exportation works for VC and Clang targeting MSVC: + * __declspec(dllexport) is specified for explicit template instantiation + * declarations that has no 'extern' keyword specified. This, in particular, + * results with the 'duplicate explicit instantiation ignored' warning for + * Clang targeting MSVC. + * + * We, instead, align the explicit template instantiation exportation with the + * approach used for the build2 projects, so that the extern keyword is always + * used for the template instantiation declarations and __declspec(dllexport) + * is specified for the declarations for MinGW GCC and for the definitions for + * VC and Clang targeting MSVC. + * + * Note that the XERCES_TEMPLATE_EXTERN macro is now unused by the library. + */ +#undef XERCES_TEMPLATE_EXTERN + +#if defined(LIBXERCES_C_STATIC) /* Using static. */ +# define XERCES_PLATFORM_IMPORT +# define XERCES_PLATFORM_DECEXPORT +#elif defined(LIBXERCES_C_STATIC_BUILD) /* Building static. */ +# define XERCES_PLATFORM_EXPORT +# define XERCES_PLATFORM_DECEXPORT +# define XERCES_PLATFORM_DEFEXPORT +#elif defined(LIBXERCES_C_SHARED) /* Using shared. */ +# ifdef _WIN32 +# define XERCES_DLL_EXPORT 1 +# define XERCES_PLATFORM_IMPORT __declspec(dllimport) +# define XERCES_PLATFORM_DECEXPORT __declspec(dllimport) +# else +# define XERCES_PLATFORM_IMPORT +# define XERCES_PLATFORM_DECEXPORT +# endif +#elif defined(LIBXERCES_C_SHARED_BUILD) /* Building shared. */ +# ifdef _WIN32 +# define XERCES_DLL_EXPORT 1 +# define XERCES_PLATFORM_EXPORT __declspec(dllexport) +# if defined(_MSC_VER) +# define XERCES_PLATFORM_DECEXPORT +# define XERCES_PLATFORM_DEFEXPORT __declspec(dllexport) +# else +# define XERCES_PLATFORM_DECEXPORT __declspec(dllexport) +# define XERCES_PLATFORM_DEFEXPORT +# endif +# else +# define XERCES_PLATFORM_EXPORT +# define XERCES_PLATFORM_DECEXPORT +# define XERCES_PLATFORM_DEFEXPORT +# endif +#else +/* If none of the above macros are defined, then we assume we are being used + * by some third-party build system that cannot/doesn't signal the library + * type. Note that falling back to defining the XERCES_PLATFORM_IMPORT macro + * as empty would work for both the static and shared libraries (being + * sub-optimal for the later) but only for functions. Xerces-C++, however, + * also exports data symbols, which cannot be imported this way. Thus we, + * just issue an error. + */ +# error define LIBXERCES_C_STATIC or LIBXERCES_C_SHARED preprocessor macro to signal Xerces-C++ library type being linked +#endif + +#ifdef XERCES_DLL_EXPORT +# define DLL_EXPORT +#endif + +/* Is only defined on Windows by the upstream package but seems to be + * redundant. + */ +#undef XERCES_STATIC_LIBRARY + +/* XMLSize_t is the unsigned integral type. + */ +typedef XERCES_SIZE_T XMLSize_t; +typedef XERCES_SSIZE_T XMLSSize_t; + +#define XERCES_SIZE_MAX SIZE_MAX +#define XERCES_SSIZE_MAX SSIZE_MAX + +/* Define our version of the XML character + */ +typedef XERCES_XMLCH_T XMLCh; + +/* Define unsigned 16, 32, and 64 bit integers + */ +typedef XERCES_U16BIT_INT XMLUInt16; +typedef XERCES_U32BIT_INT XMLUInt32; +typedef XERCES_U64BIT_INT XMLUInt64; + +/* Define signed 16, 32, and 64 bit integers + */ +typedef XERCES_S16BIT_INT XMLInt16; +typedef XERCES_S32BIT_INT XMLInt32; +typedef XERCES_S64BIT_INT XMLInt64; + +/* XMLFilePos is the type used to represent a file position. + */ +typedef XMLUInt64 XMLFilePos; + +/* XMLFileLoc is the type used to represent a file location (line/column). + */ +typedef XMLUInt64 XMLFileLoc; + +/* Force on the Xerces debug token if it is on in the build environment + */ +#if defined(_DEBUG) +#define XERCES_DEBUG +#endif + +#endif /* XERCESC_UTIL_XERCES_AUTOCONF_CONFIG_HPP */ diff --git a/libxerces-c/xercesc/util/Xerces_autoconf_config.hpp.cmake.in.orig b/libxerces-c/xercesc/util/Xerces_autoconf_config.hpp.cmake.in.orig new file mode 120000 index 0000000..1782a23 --- /dev/null +++ b/libxerces-c/xercesc/util/Xerces_autoconf_config.hpp.cmake.in.orig @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in \ No newline at end of file diff --git a/libxerces-c/xercesc/util/regx b/libxerces-c/xercesc/util/regx new file mode 120000 index 0000000..9af0e74 --- /dev/null +++ b/libxerces-c/xercesc/util/regx @@ -0,0 +1 @@ +../../../upstream/src/xercesc/util/regx \ No newline at end of file diff --git a/libxerces-c/xercesc/validators b/libxerces-c/xercesc/validators new file mode 120000 index 0000000..af754e0 --- /dev/null +++ b/libxerces-c/xercesc/validators @@ -0,0 +1 @@ +../../upstream/src/xercesc/validators \ No newline at end of file diff --git a/libxerces-c/xercesc/xinclude b/libxerces-c/xercesc/xinclude new file mode 120000 index 0000000..7e78152 --- /dev/null +++ b/libxerces-c/xercesc/xinclude @@ -0,0 +1 @@ +../../upstream/src/xercesc/xinclude \ No newline at end of file diff --git a/packages.manifest b/packages.manifest new file mode 100644 index 0000000..db0809f --- /dev/null +++ b/packages.manifest @@ -0,0 +1,2 @@ +: 1 +location: libxerces-c/ diff --git a/repositories.manifest b/repositories.manifest new file mode 100644 index 0000000..0f1c18a --- /dev/null +++ b/repositories.manifest @@ -0,0 +1,10 @@ +: 1 +summary: Xerces-C++ build2 package repository + +: +role: prerequisite +location: ../../curl/curl.git##HEAD + +: +role: prerequisite +location: ../../icu/icu.git##HEAD diff --git a/upstream b/upstream new file mode 160000 index 0000000..cf1912a --- /dev/null +++ b/upstream @@ -0,0 +1 @@ +Subproject commit cf1912ac95d4147be08aef4e78f894a3919277d9 -- cgit v1.1