From b129bc992af444c63e20c2da005bbf9a8be04179 Mon Sep 17 00:00:00 2001 From: huangminzhong Date: Tue, 11 Oct 2022 18:44:48 -0700 Subject: [PATCH] add rom_xerces-c Signed-off-by: huangminzhong --- xerces-c/BUILD.gn | 954 ++++++++++++++++++ xerces-c/README.OpenSource | 11 + xerces-c/README_zh.md | 10 + xerces-c/adapted/config.h | 490 +++++++++ .../adapted/xercesc/util/XercesVersion.hpp | 219 ++++ .../xercesc/util/Xerces_autoconf_config.hpp | 156 +++ xerces-c/bundle.json | 33 + xerces-c/docs/pic/result.png | Bin 0 -> 20827 bytes xerces-c/docs/rom_integrate.md | 111 ++ 9 files changed, 1984 insertions(+) create mode 100755 xerces-c/BUILD.gn create mode 100755 xerces-c/README.OpenSource create mode 100755 xerces-c/README_zh.md create mode 100755 xerces-c/adapted/config.h create mode 100755 xerces-c/adapted/xercesc/util/XercesVersion.hpp create mode 100755 xerces-c/adapted/xercesc/util/Xerces_autoconf_config.hpp create mode 100755 xerces-c/bundle.json create mode 100755 xerces-c/docs/pic/result.png create mode 100755 xerces-c/docs/rom_integrate.md diff --git a/xerces-c/BUILD.gn b/xerces-c/BUILD.gn new file mode 100755 index 00000000..e1950f76 --- /dev/null +++ b/xerces-c/BUILD.gn @@ -0,0 +1,954 @@ +# Copyright (c) 2021 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build/ohos.gni") + +declare_args() { + enable_xerces_test = false +} + +config("libxerces-c_config") { + cflags_cc = [ + "-frtti", + "-fexceptions", + "-Wno-header-hygiene", + "-DHAVE_CONFIG_H=1", + "-DXERCES_BUILDING_LIBRARY=1", + "-D_FILE_OFFSET_BITS=64", + "-D_THREAD_SAFE=1", + "-DXERCES_USE_TRANSCODER_ICU=1", + "-Dxerces_c_EXPORTS", + "-Wno-long-long", + "-Woverlength-strings", + "-Woverloaded-virtual", + "-Wno-variadic-macros", + "-Wno-misleading-indentation", + "-Wno-memset-transposed-args", + "-Wno-unused-variable", + "-fstrict-aliasing", + "-fPIC", + ] + + cflags = [ + "-DHAVE_CONFIG_H=1", + "-DXERCES_BUILDING_LIBRARY=1", + "-D_FILE_OFFSET_BITS=64", + "-D_THREAD_SAFE=1", + "-Dxerces_c_EXPORTS", + "-fPIC", + ] + + include_dirs = [ + "xerces-c/src", + "xerces-c", + "adapted", + "//third_party/icu/icu4c/source/common", + ] +} + +ohos_shared_library("libxerces-c") { + sources= [ + "xerces-c/src/xercesc/util/Base64.cpp", + "xerces-c/src/xercesc/util/BinFileInputStream.cpp", + "xerces-c/src/xercesc/util/BinInputStream.cpp", + "xerces-c/src/xercesc/util/BinMemInputStream.cpp", + "xerces-c/src/xercesc/util/BitSet.cpp", + "xerces-c/src/xercesc/util/DefaultPanicHandler.cpp", + "xerces-c/src/xercesc/util/EncodingValidator.cpp", + "xerces-c/src/xercesc/util/HeaderDummy.cpp", + "xerces-c/src/xercesc/util/HexBin.cpp", + "xerces-c/src/xercesc/util/JanitorExports.cpp", + "xerces-c/src/xercesc/util/KVStringPair.cpp", + "xerces-c/src/xercesc/util/Mutexes.cpp", + "xerces-c/src/xercesc/util/PanicHandler.cpp", + "xerces-c/src/xercesc/util/PlatformUtils.cpp", + "xerces-c/src/xercesc/util/PSVIUni.cpp", + "xerces-c/src/xercesc/util/QName.cpp", + "xerces-c/src/xercesc/util/regx/ASCIIRangeFactory.cpp", + "xerces-c/src/xercesc/util/regx/BlockRangeFactory.cpp", + "xerces-c/src/xercesc/util/regx/BMPattern.cpp", + "xerces-c/src/xercesc/util/regx/CharToken.cpp", + "xerces-c/src/xercesc/util/regx/ClosureToken.cpp", + "xerces-c/src/xercesc/util/regx/ConcatToken.cpp", + "xerces-c/src/xercesc/util/regx/Match.cpp", + "xerces-c/src/xercesc/util/regx/Op.cpp", + "xerces-c/src/xercesc/util/regx/OpFactory.cpp", + "xerces-c/src/xercesc/util/regx/ParenToken.cpp", + "xerces-c/src/xercesc/util/regx/ParserForXMLSchema.cpp", + "xerces-c/src/xercesc/util/regx/RangeFactory.cpp", + "xerces-c/src/xercesc/util/regx/RangeToken.cpp", + "xerces-c/src/xercesc/util/regx/RangeTokenMap.cpp", + "xerces-c/src/xercesc/util/regx/RegularExpression.cpp", + "xerces-c/src/xercesc/util/regx/RegxParser.cpp", + "xerces-c/src/xercesc/util/regx/RegxUtil.cpp", + "xerces-c/src/xercesc/util/regx/StringToken.cpp", + "xerces-c/src/xercesc/util/regx/Token.cpp", + "xerces-c/src/xercesc/util/regx/TokenFactory.cpp", + "xerces-c/src/xercesc/util/regx/UnicodeRangeFactory.cpp", + "xerces-c/src/xercesc/util/regx/UnionToken.cpp", + "xerces-c/src/xercesc/util/regx/XMLRangeFactory.cpp", + "xerces-c/src/xercesc/util/regx/XMLUniCharacter.cpp", + "xerces-c/src/xercesc/util/StringPool.cpp", + "xerces-c/src/xercesc/util/SynchronizedStringPool.cpp", + "xerces-c/src/xercesc/util/TransService.cpp", + "xerces-c/src/xercesc/util/XMemory.cpp", + "xerces-c/src/xercesc/util/XML256TableTranscoder.cpp", + "xerces-c/src/xercesc/util/XML88591Transcoder.cpp", + "xerces-c/src/xercesc/util/XMLAbstractDoubleFloat.cpp", + "xerces-c/src/xercesc/util/XMLASCIITranscoder.cpp", + "xerces-c/src/xercesc/util/XMLBigDecimal.cpp", + "xerces-c/src/xercesc/util/XMLBigInteger.cpp", + "xerces-c/src/xercesc/util/XMLChar.cpp", + "xerces-c/src/xercesc/util/XMLChTranscoder.cpp", + "xerces-c/src/xercesc/util/XMLDateTime.cpp", + "xerces-c/src/xercesc/util/XMLDouble.cpp", + "xerces-c/src/xercesc/util/XMLEBCDICTranscoder.cpp", + "xerces-c/src/xercesc/util/XMLException.cpp", + "xerces-c/src/xercesc/util/XMLFloat.cpp", + "xerces-c/src/xercesc/util/XMLIBM1047Transcoder.cpp", + "xerces-c/src/xercesc/util/XMLIBM1140Transcoder.cpp", + "xerces-c/src/xercesc/util/XMLInitializer.cpp", + "xerces-c/src/xercesc/util/XMLMsgLoader.cpp", + "xerces-c/src/xercesc/util/XMLNumber.cpp", + "xerces-c/src/xercesc/util/XMLString.cpp", + "xerces-c/src/xercesc/util/XMLStringTokenizer.cpp", + "xerces-c/src/xercesc/util/XMLUCS4Transcoder.cpp", + "xerces-c/src/xercesc/util/XMLUni.cpp", + "xerces-c/src/xercesc/util/XMLUri.cpp", + "xerces-c/src/xercesc/util/XMLURL.cpp", + "xerces-c/src/xercesc/util/XMLUTF16Transcoder.cpp", + "xerces-c/src/xercesc/util/XMLUTF8Transcoder.cpp", + "xerces-c/src/xercesc/util/XMLWin1252Transcoder.cpp", + "xerces-c/src/xercesc/dom/DOMException.cpp", + "xerces-c/src/xercesc/dom/DOMLSException.cpp", + "xerces-c/src/xercesc/dom/DOMRangeException.cpp", + "xerces-c/src/xercesc/dom/DOMXPathException.cpp", + "xerces-c/src/xercesc/dom/impl/DOMAttrImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMAttrMapImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMAttrNSImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMCDATASectionImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMCharacterDataImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMChildNode.cpp", + "xerces-c/src/xercesc/dom/impl/DOMCommentImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMConfigurationImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMDeepNodeListImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMDocumentFragmentImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMDocumentImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMDocumentTypeImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMElementImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMElementNSImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMEntityImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMEntityReferenceImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMErrorImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMImplementationImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMImplementationListImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMImplementationRegistry.cpp", + "xerces-c/src/xercesc/dom/impl/DOMLocatorImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMNamedNodeMapImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMNodeIDMap.cpp", + "xerces-c/src/xercesc/dom/impl/DOMNodeImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMNodeIteratorImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMNodeListImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMNodeVector.cpp", + "xerces-c/src/xercesc/dom/impl/DOMNormalizer.cpp", + "xerces-c/src/xercesc/dom/impl/DOMNotationImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMParentNode.cpp", + "xerces-c/src/xercesc/dom/impl/DOMProcessingInstructionImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMRangeImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMStringListImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMStringPool.cpp", + "xerces-c/src/xercesc/dom/impl/DOMTextImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMTreeWalkerImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMTypeInfoImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMLSSerializerImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMLSInputImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMLSOutputImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMXPathExpressionImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMXPathNSResolverImpl.cpp", + "xerces-c/src/xercesc/dom/impl/DOMXPathResultImpl.cpp", + "xerces-c/src/xercesc/dom/impl/XSDElementNSImpl.cpp", + "xerces-c/src/xercesc/framework/BinOutputStream.cpp", + "xerces-c/src/xercesc/framework/LocalFileFormatTarget.cpp", + "xerces-c/src/xercesc/framework/LocalFileInputSource.cpp", + "xerces-c/src/xercesc/framework/MemBufFormatTarget.cpp", + "xerces-c/src/xercesc/framework/MemBufInputSource.cpp", + "xerces-c/src/xercesc/framework/psvi/PSVIAttribute.cpp", + "xerces-c/src/xercesc/framework/psvi/PSVIAttributeList.cpp", + "xerces-c/src/xercesc/framework/psvi/PSVIElement.cpp", + "xerces-c/src/xercesc/framework/psvi/PSVIItem.cpp", + "xerces-c/src/xercesc/framework/psvi/XSAnnotation.cpp", + "xerces-c/src/xercesc/framework/psvi/XSAttributeDeclaration.cpp", + "xerces-c/src/xercesc/framework/psvi/XSAttributeGroupDefinition.cpp", + "xerces-c/src/xercesc/framework/psvi/XSAttributeUse.cpp", + "xerces-c/src/xercesc/framework/psvi/XSComplexTypeDefinition.cpp", + "xerces-c/src/xercesc/framework/psvi/XSElementDeclaration.cpp", + "xerces-c/src/xercesc/framework/psvi/XSFacet.cpp", + "xerces-c/src/xercesc/framework/psvi/XSIDCDefinition.cpp", + "xerces-c/src/xercesc/framework/psvi/XSModel.cpp", + "xerces-c/src/xercesc/framework/psvi/XSModelGroup.cpp", + "xerces-c/src/xercesc/framework/psvi/XSModelGroupDefinition.cpp", + "xerces-c/src/xercesc/framework/psvi/XSMultiValueFacet.cpp", + "xerces-c/src/xercesc/framework/psvi/XSNamespaceItem.cpp", + "xerces-c/src/xercesc/framework/psvi/XSNotationDeclaration.cpp", + "xerces-c/src/xercesc/framework/psvi/XSObject.cpp", + "xerces-c/src/xercesc/framework/psvi/XSParticle.cpp", + "xerces-c/src/xercesc/framework/psvi/XSSimpleTypeDefinition.cpp", + "xerces-c/src/xercesc/framework/psvi/XSTypeDefinition.cpp", + "xerces-c/src/xercesc/framework/psvi/XSValue.cpp", + "xerces-c/src/xercesc/framework/psvi/XSWildcard.cpp", + "xerces-c/src/xercesc/framework/StdInInputSource.cpp", + "xerces-c/src/xercesc/framework/StdOutFormatTarget.cpp", + "xerces-c/src/xercesc/framework/URLInputSource.cpp", + "xerces-c/src/xercesc/framework/Wrapper4DOMLSInput.cpp", + "xerces-c/src/xercesc/framework/Wrapper4InputSource.cpp", + "xerces-c/src/xercesc/framework/XMLAttDef.cpp", + "xerces-c/src/xercesc/framework/XMLAttDefList.cpp", + "xerces-c/src/xercesc/framework/XMLAttr.cpp", + "xerces-c/src/xercesc/framework/XMLBuffer.cpp", + "xerces-c/src/xercesc/framework/XMLBufferMgr.cpp", + "xerces-c/src/xercesc/framework/XMLContentModel.cpp", + "xerces-c/src/xercesc/framework/XMLDTDDescription.cpp", + "xerces-c/src/xercesc/framework/XMLElementDecl.cpp", + "xerces-c/src/xercesc/framework/XMLEntityDecl.cpp", + "xerces-c/src/xercesc/framework/XMLFormatter.cpp", + "xerces-c/src/xercesc/framework/XMLGrammarDescription.cpp", + "xerces-c/src/xercesc/framework/XMLGrammarPoolImpl.cpp", + "xerces-c/src/xercesc/framework/XMLNotationDecl.cpp", + "xerces-c/src/xercesc/framework/XMLRecognizer.cpp", + "xerces-c/src/xercesc/framework/XMLRefInfo.cpp", + "xerces-c/src/xercesc/framework/XMLSchemaDescription.cpp", + "xerces-c/src/xercesc/framework/XMLValidator.cpp", + "xerces-c/src/xercesc/internal/BinFileOutputStream.cpp", + "xerces-c/src/xercesc/internal/BinMemOutputStream.cpp", + "xerces-c/src/xercesc/internal/DGXMLScanner.cpp", + "xerces-c/src/xercesc/internal/ElemStack.cpp", + "xerces-c/src/xercesc/internal/IGXMLScanner.cpp", + "xerces-c/src/xercesc/internal/IGXMLScanner2.cpp", + "xerces-c/src/xercesc/internal/MemoryManagerImpl.cpp", + "xerces-c/src/xercesc/internal/ReaderMgr.cpp", + "xerces-c/src/xercesc/internal/SGXMLScanner.cpp", + "xerces-c/src/xercesc/internal/ValidationContextImpl.cpp", + "xerces-c/src/xercesc/internal/VecAttributesImpl.cpp", + "xerces-c/src/xercesc/internal/VecAttrListImpl.cpp", + "xerces-c/src/xercesc/internal/WFXMLScanner.cpp", + "xerces-c/src/xercesc/internal/XMLReader.cpp", + "xerces-c/src/xercesc/internal/XMLScanner.cpp", + "xerces-c/src/xercesc/internal/XMLScannerResolver.cpp", + "xerces-c/src/xercesc/internal/XProtoType.cpp", + "xerces-c/src/xercesc/internal/XSAXMLScanner.cpp", + "xerces-c/src/xercesc/internal/XSerializeEngine.cpp", + "xerces-c/src/xercesc/internal/XSObjectFactory.cpp", + "xerces-c/src/xercesc/internal/XTemplateSerializer.cpp", + "xerces-c/src/xercesc/parsers/AbstractDOMParser.cpp", + "xerces-c/src/xercesc/parsers/DOMLSParserImpl.cpp", + "xerces-c/src/xercesc/parsers/SAX2XMLFilterImpl.cpp", + "xerces-c/src/xercesc/parsers/SAX2XMLReaderImpl.cpp", + "xerces-c/src/xercesc/parsers/SAXParser.cpp", + "xerces-c/src/xercesc/parsers/XercesDOMParser.cpp", + "xerces-c/src/xercesc/sax/Dummy.cpp", + "xerces-c/src/xercesc/sax/InputSource.cpp", + "xerces-c/src/xercesc/sax/SAXException.cpp", + "xerces-c/src/xercesc/sax/SAXParseException.cpp", + "xerces-c/src/xercesc/sax2/sax2Dummy.cpp", + "xerces-c/src/xercesc/validators/common/AllContentModel.cpp", + "xerces-c/src/xercesc/validators/common/CMAny.cpp", + "xerces-c/src/xercesc/validators/common/CMBinaryOp.cpp", + "xerces-c/src/xercesc/validators/common/CMUnaryOp.cpp", + "xerces-c/src/xercesc/validators/common/ContentLeafNameTypeVector.cpp", + "xerces-c/src/xercesc/validators/common/ContentSpecNode.cpp", + "xerces-c/src/xercesc/validators/common/DFAContentModel.cpp", + "xerces-c/src/xercesc/validators/common/Grammar.cpp", + "xerces-c/src/xercesc/validators/common/GrammarResolver.cpp", + "xerces-c/src/xercesc/validators/common/MixedContentModel.cpp", + "xerces-c/src/xercesc/validators/common/SimpleContentModel.cpp", + "xerces-c/src/xercesc/validators/datatype/AbstractNumericFacetValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/AbstractNumericValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/AbstractStringValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/AnySimpleTypeDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/AnyURIDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/Base64BinaryDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/BooleanDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/DatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/DatatypeValidatorFactory.cpp", + "xerces-c/src/xercesc/validators/datatype/DateDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/DateTimeDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/DateTimeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/DayDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/DecimalDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/DoubleDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/DurationDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/ENTITYDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/FloatDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/HexBinaryDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/IDDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/IDREFDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/ListDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/MonthDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/MonthDayDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/NameDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/NCNameDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/NOTATIONDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/QNameDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/StringDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/TimeDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/UnionDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/XMLCanRepGroup.cpp", + "xerces-c/src/xercesc/validators/datatype/YearDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/datatype/YearMonthDatatypeValidator.cpp", + "xerces-c/src/xercesc/validators/DTD/DTDAttDef.cpp", + "xerces-c/src/xercesc/validators/DTD/DTDAttDefList.cpp", + "xerces-c/src/xercesc/validators/DTD/DTDElementDecl.cpp", + "xerces-c/src/xercesc/validators/DTD/DTDEntityDecl.cpp", + "xerces-c/src/xercesc/validators/DTD/DTDGrammar.cpp", + "xerces-c/src/xercesc/validators/DTD/DTDScanner.cpp", + "xerces-c/src/xercesc/validators/DTD/DTDValidator.cpp", + "xerces-c/src/xercesc/validators/DTD/XMLDTDDescriptionImpl.cpp", + "xerces-c/src/xercesc/validators/schema/ComplexTypeInfo.cpp", + "xerces-c/src/xercesc/validators/schema/GeneralAttributeCheck.cpp", + "xerces-c/src/xercesc/validators/schema/identity/FieldActivator.cpp", + "xerces-c/src/xercesc/validators/schema/identity/FieldValueMap.cpp", + "xerces-c/src/xercesc/validators/schema/identity/IC_Field.cpp", + "xerces-c/src/xercesc/validators/schema/identity/IC_Key.cpp", + "xerces-c/src/xercesc/validators/schema/identity/IC_KeyRef.cpp", + "xerces-c/src/xercesc/validators/schema/identity/IC_Selector.cpp", + "xerces-c/src/xercesc/validators/schema/identity/IC_Unique.cpp", + "xerces-c/src/xercesc/validators/schema/identity/IdentityConstraint.cpp", + "xerces-c/src/xercesc/validators/schema/identity/IdentityConstraintHandler.cpp", + "xerces-c/src/xercesc/validators/schema/identity/ValueStore.cpp", + "xerces-c/src/xercesc/validators/schema/identity/ValueStoreCache.cpp", + "xerces-c/src/xercesc/validators/schema/identity/XercesXPath.cpp", + "xerces-c/src/xercesc/validators/schema/identity/XPathMatcher.cpp", + "xerces-c/src/xercesc/validators/schema/identity/XPathMatcherStack.cpp", + "xerces-c/src/xercesc/validators/schema/identity/XPathSymbols.cpp", + "xerces-c/src/xercesc/validators/schema/NamespaceScope.cpp", + "xerces-c/src/xercesc/validators/schema/SchemaAttDef.cpp", + "xerces-c/src/xercesc/validators/schema/SchemaAttDefList.cpp", + "xerces-c/src/xercesc/validators/schema/SchemaElementDecl.cpp", + "xerces-c/src/xercesc/validators/schema/SchemaGrammar.cpp", + "xerces-c/src/xercesc/validators/schema/SchemaInfo.cpp", + "xerces-c/src/xercesc/validators/schema/SchemaSymbols.cpp", + "xerces-c/src/xercesc/validators/schema/SchemaValidator.cpp", + "xerces-c/src/xercesc/validators/schema/SubstitutionGroupComparator.cpp", + "xerces-c/src/xercesc/validators/schema/TraverseSchema.cpp", + "xerces-c/src/xercesc/validators/schema/XercesAttGroupInfo.cpp", + "xerces-c/src/xercesc/validators/schema/XercesElementWildcard.cpp", + "xerces-c/src/xercesc/validators/schema/XercesGroupInfo.cpp", + "xerces-c/src/xercesc/validators/schema/XMLSchemaDescriptionImpl.cpp", + "xerces-c/src/xercesc/validators/schema/XSDDOMParser.cpp", + "xerces-c/src/xercesc/validators/schema/XSDErrorReporter.cpp", + "xerces-c/src/xercesc/validators/schema/XSDLocator.cpp", + "xerces-c/src/xercesc/validators/schema/XUtil.cpp", + "xerces-c/src/xercesc/xinclude/XIncludeDOMDocumentProcessor.cpp", + "xerces-c/src/xercesc/xinclude/XIncludeLocation.cpp", + "xerces-c/src/xercesc/xinclude/XIncludeUtils.cpp", + "xerces-c/src/stricmp.c", + "xerces-c/src/strnicmp.c", + "xerces-c/src/xercesc/util/NetAccessors/Socket/SocketNetAccessor.cpp", + "xerces-c/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp", + "xerces-c/src/xercesc/util/NetAccessors/BinHTTPInputStreamCommon.cpp", + "xerces-c/src/xercesc/util/Transcoders/ICU/ICUTransService.cpp", + "xerces-c/src/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.cpp", + "xerces-c/src/xercesc/util/MutexManagers/StdMutexMgr.cpp", + "xerces-c/src/xercesc/util/FileManagers/PosixFileMgr.cpp", + ] + + configs = [ + ":libxerces-c_config" + ] + + deps = [ + "//third_party/icu/icu4c:shared_icuuc", + ] + + part_name = "xerces" +} + +config("samples_config") { + cflags_cc = [ + "-frtti", + "-fexceptions", + "-Wno-header-hygiene", + "-DHAVE_CONFIG_H=1", + "-D_FILE_OFFSET_BITS=64", + "-D_THREAD_SAFE=1", + "-Wno-long-long", + "-Wno-variadic-macros", + "-Wno-misleading-indentation", + "-Wno-main", + "-Wno-unused-variable", + ] + + include_dirs = [ + "xerces-c/samples", + "xerces-c/src", + "xerces-c/samples/src", + "adapted", + ] +} + +ohos_executable("StdInParse") { + sources= [ + "xerces-c/samples/src/StdInParse/StdInParse.cpp", + "xerces-c/samples/src/StdInParse/StdInParseHandlers.cpp", + ] + + configs = [ + ":samples_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("SEnumVal") { + sources= [ + "xerces-c/samples/src/SEnumVal/SEnumVal.cpp", + ] + + configs = [ + ":samples_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("CreateDOMDocument") { + sources= [ + "xerces-c/samples/src/CreateDOMDocument/CreateDOMDocument.cpp", + ] + + configs = [ + ":samples_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("SCMPrint") { + sources= [ + "xerces-c/samples/src/SCMPrint/SCMPrint.cpp", + ] + + configs = [ + ":samples_config" + ] + deps = [ + ":libxerces-c" + ] + + part_name = "xerces" +} + +ohos_executable("XInclude") { + sources= [ + "xerces-c/samples/src/XInclude/XInclude.cpp", + ] + + configs = [ + ":samples_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("DOMCount") { + sources= [ + "xerces-c/samples/src/DOMCount/DOMCount.cpp", + ] + + configs = [ + ":samples_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("EnumVal") { + sources= [ + "xerces-c/samples/src/EnumVal/EnumVal.cpp", + ] + + configs = [ + ":samples_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("PSVIWriter") { + sources= [ + "xerces-c/samples/src/PSVIWriter/PSVIWriter.cpp", + "xerces-c/samples/src/PSVIWriter/PSVIWriterHandlers.cpp", + ] + + configs = [ + ":samples_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("MemParse") { + sources= [ + "xerces-c/samples/src/MemParse/MemParse.cpp", + "xerces-c/samples/src/MemParse/MemParseHandlers.cpp", + ] + + configs = [ + ":samples_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("DOMPrint") { + sources= [ + "xerces-c/samples/src/DOMPrint/DOMPrint.cpp", + "xerces-c/samples/src/DOMPrint/DOMPrintErrorHandler.cpp", + "xerces-c/samples/src/DOMPrint/DOMPrintFilter.cpp", + "xerces-c/samples/src/DOMPrint/DOMTreeErrorReporter.cpp", + ] + + configs = [ + ":samples_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("Redirect") { + sources= [ + "xerces-c/samples/src/Redirect/Redirect.cpp", + "xerces-c/samples/src/Redirect/RedirectHandlers.cpp", + ] + + configs = [ + ":samples_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("PParse") { + sources= [ + "xerces-c/samples/src/PParse/PParse.cpp", + "xerces-c/samples/src/PParse/PParseHandlers.cpp", + ] + + configs = [ + ":samples_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("SAXCount") { + sources= [ + "xerces-c/samples/src/SAXCount/SAXCount.cpp", + "xerces-c/samples/src/SAXCount/SAXCountHandlers.cpp", + ] + + configs = [ + ":samples_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("SAX2Print") { + sources= [ + "xerces-c/samples/src/SAX2Print/SAX2FilterHandlers.cpp", + "xerces-c/samples/src/SAX2Print/SAX2Print.cpp", + "xerces-c/samples/src/SAX2Print/SAX2PrintHandlers.cpp", + ] + + configs = [ + ":samples_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("SAX2Count") { + sources= [ + "xerces-c/samples/src/SAX2Count/SAX2Count.cpp", + "xerces-c/samples/src/SAX2Count/SAX2CountHandlers.cpp", + ] + + configs = [ + ":samples_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("SAXPrint") { + sources= [ + "xerces-c/samples/src/SAXPrint/SAXPrint.cpp", + "xerces-c/samples/src/SAXPrint/SAXPrintHandlers.cpp", + ] + + configs = [ + ":samples_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +config("tests_config") { + cflags_cc = [ + "-frtti", + "-fexceptions", + "-Wno-header-hygiene", + "-DHAVE_CONFIG_H=1", + "-D_FILE_OFFSET_BITS=64", + "-D_THREAD_SAFE=1", + "-Wno-implicitly-unsigned-literal", + "-Wno-variadic-macros", + "-fstrict-aliasing", + "-Wno-misleading-indentation", + "-Wno-main", + "-Wno-unused-variable", + ] + + include_dirs = [ + "xerces-c/tests", + "xerces-c/tests/src", + "xerces-c/src", + "xerces-c", + "adapted", + ] +} + +ohos_executable("XSValueTest") { + sources= [ + "xerces-c/tests/src/XSValueTest/XSValueTest.cpp", + ] + + configs = [ + ":tests_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("DOMTest") { + sources= [ + "xerces-c/tests/src/DOM/DOMTest/DTest.cpp", + ] + + configs = [ + ":tests_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("ThreadTest") { + sources= [ + "xerces-c/tests/src/ThreadTest/ThreadTest.cpp", + ] + + configs = [ + ":tests_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("Char16Test") { + sources= [ + "xerces-c/tests/src/Char16Test/Char16Test.cpp", + ] + + configs = [ + ":tests_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("DOMMemTest") { + sources= [ + "xerces-c/tests/src/DOM/DOMMemTest/DOMMemTest.cpp", + ] + + configs = [ + ":tests_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("DOMTraversalTest") { + sources= [ + "xerces-c/tests/src/DOM/Traversal/Traversal.cpp", + ] + + configs = [ + ":tests_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("XSerializerTest") { + sources= [ + "xerces-c/tests/src/XSerializerTest/XSerializerHandlers.cpp", + "xerces-c/tests/src/XSerializerTest/XSerializerTest.cpp", + ] + + configs = [ + ":tests_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("RangeTest") { + sources= [ + "xerces-c/tests/src/DOM/RangeTest/RangeTest.cpp", + ] + + configs = [ + ":tests_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("InitTermTest") { + sources= [ + "xerces-c/tests/src/InitTermTest/InitTermTest.cpp", + ] + + configs = [ + ":tests_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("DOMTypeInfoTest") { + sources= [ + "xerces-c/tests/src/DOM/TypeInfo/TypeInfo.cpp", + ] + + configs = [ + ":tests_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("XSTSHarness") { + sources= [ + "xerces-c/tests/src/XSTSHarness/XSTSHarness.cpp", + "xerces-c/tests/src/XSTSHarness/XSTSHarnessHandlers.cpp", + "xerces-c/tests/src/XSTSHarness/XMLHarnessHandlers.cpp", + ] + + configs = [ + ":tests_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("EncodingTest") { + sources= [ + "xerces-c/tests/src/EncodingTest/EncodingTest.cpp", + ] + + configs = [ + ":tests_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("Normalizer") { + sources= [ + "xerces-c/tests/src/DOM/Normalizer/Normalizer.cpp", + ] + + configs = [ + ":tests_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("MemHandlerTest") { + sources= [ + "xerces-c/tests/src/MemHandlerTest/MemoryMonitor.cpp", + ] + + configs = [ + ":tests_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +ohos_executable("NetAccessorTest") { + sources= [ + "xerces-c/tests/src/NetAccessorTest/NetAccessorTest.cpp", + ] + + configs = [ + ":tests_config" + ] + deps = [ + ":libxerces-c", + ] + + part_name = "xerces" +} + +group("samples") { + +if(enable_xerces_test) { + deps = [ + ":StdInParse", + ":SEnumVal", + ":CreateDOMDocument", + ":SCMPrint", + ":XInclude", + ":DOMCount", + ":EnumVal", + ":PSVIWriter", + ":MemParse", + ":DOMPrint", + ":Redirect", + ":PParse", + ":SAXCount", + ":SAX2Print", + ":SAX2Count", + ":SAXPrint", + ] +} else { + deps = [] +} +} + +group("tests") { + +if(enable_xerces_test){ + deps = [ + ":XSValueTest", + ":DOMTest", + ":ThreadTest", + ":Char16Test", + ":DOMMemTest", + ":DOMTraversalTest", + ":XSerializerTest", + ":RangeTest", + ":InitTermTest", + ":DOMTypeInfoTest", + ":XSTSHarness", + ":EncodingTest", + ":Normalizer", + ":MemHandlerTest", + ":NetAccessorTest", + ] +}else { + deps = [] +} +} diff --git a/xerces-c/README.OpenSource b/xerces-c/README.OpenSource new file mode 100755 index 00000000..3475db93 --- /dev/null +++ b/xerces-c/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "xerces-c", + "License": "Apache License V2.0", + "License File": "LICENSE", + "Version Number": "v3.2.3", + "Owner": "huangminzhong2@huawei.com", + "Upstream URL": "https://github.com/apache/xerces-c.git", + "Description": "Apache Xerces-C validating XML parser" + } +] diff --git a/xerces-c/README_zh.md b/xerces-c/README_zh.md new file mode 100755 index 00000000..5709a69f --- /dev/null +++ b/xerces-c/README_zh.md @@ -0,0 +1,10 @@ +# xerces-c三方库说明 +## 功能简介 +xerces是一个开放源代码的XML语法分析器,它提供了SAX和DOM API。 +## 使用约束 +- ROM版本:OpenHarmony-v3.2-Beta1 +- 三方库版本:v3.2.3 +- 当前适配的功能:支持sax解析和dom解析 +- [Apache License 2.0](https://github.com/apache/xerces-c/blob/master/LICENSE) +## 集成方式 ++ [系统Rom包集成](docs/rom_integrate.md) diff --git a/xerces-c/adapted/config.h b/xerces-c/adapted/config.h new file mode 100755 index 00000000..93ff1a6b --- /dev/null +++ b/xerces-c/adapted/config.h @@ -0,0 +1,490 @@ +/* config.h.cmake.in. Not generated, but originated from autoheader. */ +/* This file must be kept up-to-date with needed substitutions from config.h.in. */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_CSTDINT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +#if defined(__cplusplus) && defined(HAVE_CSTDINT) +#include +#elif HAVE_STDINT_H +#include +#elif HAVE_INTTYPES_H +#include +#endif + +/* Define to specify no threading is used */ +/* #undef APP_NO_THREADS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ARPA_INET_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_ARPA_NAMESER_COMPAT_H 1 + +/* define if bool is a built-in type */ +#define HAVE_BOOL 1 + +/* Define to 1 if you have the `catclose' function. */ +#define HAVE_CATCLOSE 1 + +/* Define to 1 if you have the `catgets' function. */ +#define HAVE_CATGETS 1 + +/* Define to 1 if you have the `catopen' function. */ +#define HAVE_CATOPEN 1 + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_CORESERVICES_CORESERVICES_H */ + +/* Define to 1 if you have cpuid.h */ +/* #undef HAVE_CPUID_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_ERRNO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `ftime' function. */ +#define HAVE_FTIME 1 + +/* Define to 1 if you have the `getaddrinfo' function. */ +#define HAVE_GETADDRINFO 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `gethostbyaddr' function. */ +#define HAVE_GETHOSTBYADDR 1 + +/* Define to 1 if you have the `gethostbyname' function. */ +#define HAVE_GETHOSTBYNAME 1 + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `gmtime_r' function. */ +#define HAVE_GMTIME_R 1 + +/* Define to 1 if you have the `iconv' function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the `iconv_close' function. */ +#define HAVE_ICONV_CLOSE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_ICONV_H 1 + +/* Define to 1 if you have the `iconv_open' function. */ +#define HAVE_ICONV_OPEN 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LANGINFO_H 1 + +/* Define to 1 if you have the `nsl' library (-lnsl). */ +#define HAVE_LIBNSL 1 + +/* Define to 1 if you have the `socket' library (-lsocket). */ +/* #undef HAVE_LIBSOCKET */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the `localeconv' function. */ +#define HAVE_LOCALECONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* define if the compiler implements L"widestring" */ +#define HAVE_LSTRING 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_ENDIAN_H */ + +/* Define to 1 if you have the `mblen' function. */ +#define HAVE_MBLEN 1 + +/* Define to 1 if you have the `mbrlen' function. */ +#define HAVE_MBRLEN 1 + +/* Define to 1 if you have the `mbsrtowcs' function. */ +#define HAVE_MBSRTOWCS 1 + +/* Define to 1 if you have the `mbstowcs' function. */ +#define HAVE_MBSTOWCS 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* define if the compiler implements namespaces */ +#define HAVE_NAMESPACES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_NETDB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_NETINET_IN_H 1 + +/* Define to 1 if you have the `nl_langinfo' function. */ +#define HAVE_NL_LANGINFO 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_NL_TYPES_H 1 + +/* Define to 1 if you have the `pathconf' function. */ +#define HAVE_PATHCONF 1 + +/* Define to 1 if you have the PATH_MAX macro. */ +#define HAVE_PATH_MAX 1 + +/* Define if you have POSIX threads libraries and header files. */ +#define HAVE_PTHREAD 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the `setlocale' function. */ +#define HAVE_SETLOCALE 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the `socket' function. */ +#define HAVE_SOCKET 1 + +/* Define to 1 if stdbool.h conforms to C99. */ +/* #undef HAVE_STDBOOL_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* define if the compiler supports ISO C++ standard library */ +#define HAVE_STD_LIBS 1 + +/* define if the compiler supports the std namespace */ +#define HAVE_STD_NAMESPACE 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `stricmp' function. */ +/* #undef HAVE_STRICMP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strnicmp' function. */ +/* #undef HAVE_STRNICMP */ + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SOCKET_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIMEB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the `timegm' function. */ +#define HAVE_TIMEGM 1 + +/* Define to 1 if you have the `towlower' function. */ +#define HAVE_TOWLOWER 1 + +/* Define to 1 if you have the `towupper' function. */ +#define HAVE_TOWUPPER 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Define to 1 if you have the `wcsicmp' function. */ +/* #undef HAVE_WCSICMP */ + +/* Define to 1 if you have the `wcslwr' function. */ +/* #undef HAVE_WCSLWR */ + +/* Define to 1 if you have the `wcsnicmp' function. */ +/* #undef HAVE_WCSNICMP */ + +/* Define to 1 if you have the `wcsrtombs' function. */ +#define HAVE_WCSRTOMBS 1 + +/* Define to 1 if you have the `wcstombs' function. */ +#define HAVE_WCSTOMBS 1 + +/* Define to 1 if you have the `wcsupr' function. */ +/* #undef HAVE_WCSUPR */ + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_WINSOCK2_H */ + +/* Define to 1 if you have to use const char* with iconv, to 0 if you must use + char*. */ +#define ICONV_USES_CONST_POINTER 0 + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Name of package */ +#define PACKAGE "xerces-c" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "xerces-c" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "xerces-c 3.2.3" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "xerces-c" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "3.2.3" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 8 + +/* The size of `long long', as computed by sizeof. */ +#define SIZEOF_LONG_LONG 8 + +/* The size of `short', as computed by sizeof. */ +#define SIZEOF_SHORT 2 + +/* The size of `wchar_t', as computed by sizeof. */ +#define SIZEOF_WCHAR_T 4 + +/* The size of `__int64', as computed by sizeof. */ +#define SIZEOF___INT64 0 + +/* Version number of package */ +#define VERSION "3.2.3" + +/* Define if DLL symbols should be exported */ +/* #undef XERCES_DLL_EXPORT */ + +/* Define if namespaces is supported by the compiler */ +#define XERCES_HAS_CPP_NAMESPACE 1 + +/* Define to have SSE2 instruction support detected at runtime using __cpuid + */ +/* #undef XERCES_HAVE_CPUID_INTRINSIC */ + +/* Define to 1 if you have emmintrin.h */ +/* #undef XERCES_HAVE_EMMINTRIN_H */ + +/* Define to have SSE2 instruction support detected at runtime using + __get_cpuid */ +/* #undef XERCES_HAVE_GETCPUID */ + +/* Define to 1 if you have intrin.h */ +/* #undef XERCES_HAVE_INTRIN_H */ + +/* Define to 1 if we have inttypes.h */ +#define XERCES_HAVE_INTTYPES_H 1 + +/* Define to have SSE2 instruction used at runtime */ +/* #undef XERCES_HAVE_SSE2_INTRINSIC */ + +/* Define to 1 if we have sys/types.h */ +#define XERCES_HAVE_SYS_TYPES_H 1 + +/* Define to have Xerces_autoconf_config.hpp include wchar.h */ +/* #undef XERCES_INCLUDE_WCHAR_H */ + +/* Define if there is support for L"widestring" */ +#define XERCES_LSTRSUPPORT 1 + +/* Define if the isstream library can be included as */ +#define XERCES_NEW_IOSTREAMS 1 + +/* Define to have XMemory.hpp avoid declaring a matching operator delete for + the placement operator new */ +/* #undef XERCES_NO_MATCHING_DELETE_OPERATOR */ + +/* Define if there is no native bool support in this environment */ +/* #undef XERCES_NO_NATIVE_BOOL */ + +/* Define to use backslash as an extra path delimiter character */ +/* #undef XERCES_PATH_DELIMITER_BACKSLASH */ + +/* Define as the platform's export attribute */ +#define XERCES_PLATFORM_EXPORT + +/* Define as the platform's import attribute */ +#define XERCES_PLATFORM_IMPORT + +/* An appropriate signed 16 bit integer type */ +#define XERCES_S16BIT_INT int16_t + +/* An appropriate signed 32 bit integer type */ +#define XERCES_S32BIT_INT int32_t + +/* An appropriate signed 64 bit integer type */ +#define XERCES_S64BIT_INT int64_t + +/* Define as the appropriate SIZE_MAX macro */ +#define XERCES_SIZE_MAX SIZE_MAX + +/* Define as the appropriate size_t type */ +#define XERCES_SIZE_T size_t + +/* Define as the appropriate SSIZE_MAX macro */ +#define XERCES_SSIZE_MAX SSIZE_MAX + +/* Define as the appropriate ssize_t type */ +#define XERCES_SSIZE_T ssize_t + +/* Define if building a static library */ +/* #undef XERCES_STATIC_LIBRARY */ + +/* Define if the std namespace is supported */ +#define XERCES_STD_NAMESPACE 1 + +/* An appropriate unsigned 16 bit integer type */ +#define XERCES_U16BIT_INT uint16_t + +/* An appropriate unsigned 32 bit integer type */ +#define XERCES_U32BIT_INT uint32_t + +/* An appropriate unsigned 64 bit integer type */ +#define XERCES_U64BIT_INT uint64_t + +/* Define to use the POSIX file mgr */ +#define XERCES_USE_FILEMGR_POSIX 1 + +/* Define to use the Windows file mgr */ +/* #undef XERCES_USE_FILEMGR_WINDOWS */ + +/* Define to use the iconv-based MsgLoader */ +/* #undef XERCES_USE_MSGLOADER_ICONV */ + +/* Define to use the ICU-based MsgLoader */ +/* #undef XERCES_USE_MSGLOADER_ICU */ + +/* Define to use the InMemory MsgLoader */ +#define XERCES_USE_MSGLOADER_INMEMORY 1 + +/* Define to use the NoThread mutex mgr */ +/* #undef XERCES_USE_MUTEXMGR_NOTHREAD */ + +/* Define to use the C++11 standard mutex mgr */ +#define XERCES_USE_MUTEXMGR_STD 1 + +/* Define to use the POSIX mutex mgr */ +/* #undef XERCES_USE_MUTEXMGR_POSIX */ + +/* Define to use the Windows mutex mgr */ +/* #undef XERCES_USE_MUTEXMGR_WINDOWS */ + +/* Define to use the Mac OS X CFURL NetAccessor */ +/* #undef XERCES_USE_NETACCESSOR_CFURL */ + +/* Define to use the CURL NetAccessor */ +/* #undef XERCES_USE_NETACCESSOR_CURL */ + +/* Define to use the Sockets-based NetAccessor */ +#define XERCES_USE_NETACCESSOR_SOCKET 1 + +/* Define to use the WinSock NetAccessor */ +/* #undef XERCES_USE_NETACCESSOR_WINSOCK */ + +/* Define to use the GNU iconv transcoder */ +/* #undef XERCES_USE_TRANSCODER_GNUICONV */ + +/* Define to use the iconv transcoder */ +/* #undef XERCES_USE_TRANSCODER_ICONV */ + +/* Define to use the ICU-based transcoder */ +/*#define XERCES_USE_TRANSCODER_ICU 1*/ + +/* Define to use the Mac OS UnicodeConverter-based transcoder */ +/* #undef XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER */ + +/* Define to use the Windows transcoder */ +/* #undef XERCES_USE_TRANSCODER_WINDOWS */ + +/* Define to the 16 bit type used to represent Xerces UTF-16 characters */ +#define XERCES_XMLCH_T char16_t + + diff --git a/xerces-c/adapted/xercesc/util/XercesVersion.hpp b/xerces-c/adapted/xercesc/util/XercesVersion.hpp new file mode 100755 index 00000000..7cf165b8 --- /dev/null +++ b/xerces-c/adapted/xercesc/util/XercesVersion.hpp @@ -0,0 +1,219 @@ +/* + * 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_XERCESVERSION_HPP) +#define XERCESC_INCLUDE_GUARD_XERCESVERSION_HPP + +// --------------------------------------------------------------------------- +// X E R C E S V E R S I O N H E A D E R D O C U M E N T A T I O N + +/** + * User Documentation for Xerces Version Values: + * + * + * + * Xerces Notes: + * + * Xerces Committers Documentation: + * + * Xerces committers normally only need to modify one or two of the + * following macros: + * + * XERCES_VERSION_MAJOR + * XERCES_VERSION_MINOR + * XERCES_VERSION_REVISION + * + * The integer values of these macros define the Xerces version number. All + * other constants and preprocessor macros are automatically generated from + * these three definitions. + * + * The macro XERCES_GRAMMAR_SERIALIZATION_LEVEL has been added so that during + * development if users are using the latest code they can use the grammar + * serialization/deserialization features. Whenever a change is made to the + * serialization code this macro should be incremented. + * + * Xerces User Documentation: + * + * The following sections in the user documentation have examples based upon + * the following three version input values: + * + * #define XERCES_VERSION_MAJOR 19 + * #define XERCES_VERSION_MINOR 3 + * #define XERCES_VERSION_REVISION 74 + * + * The minor and revision (patch level) numbers have two digits of resolution + * which means that '3' becomes '03' in this example. This policy guarantees + * that when using preprocessor macros, version 19.3.74 will be greater than + * version 1.94.74 since the first will expand to 190374 and the second to + * 19474. + * + * Preprocessor Macros: + * + * _XERCES_VERSION defines the primary preprocessor macro that users will + * introduce into their code to perform conditional compilation where the + * version of Xerces is detected in order to enable or disable version + * specific capabilities. The value of _XERCES_VERSION for the above example + * will be 190374. To use it a user would perform an operation such as the + * following: + * + * #if _XERCES_VERSION >= 190374 + * // code specific to new version of Xerces... + * #else + * // old code here... + * #endif + * + * XERCES_FULLVERSIONSTR is a preprocessor macro that expands to a string + * constant whose value, for the above example, will be "19_3_74". + * + * XERCES_FULLVERSIONDOT is a preprocessor macro that expands to a string + * constant whose value, for the above example, will be "19.3.74". + * + * XERCES_VERSIONSTR is a preprocessor macro that expands to a string + * constant whose value, for the above example, will be "19_3". This + * particular macro is very dangerous if it were to be used for comparing + * version numbers since ordering will not be guaranteed. + * + * Xerces_DLLVersionStr is a preprocessor macro that expands to a string + * constant whose value, for the above example, will be "19_3_74". This + * macro is provided for backwards compatibility to pre-1.7 versions of + * Xerces. + * + * String Constants: + * + * gXercesVersionStr is a global string constant whose value corresponds to + * the value "19_3" for the above example. + * + * gXercesFullVersionStr is a global string constant whose value corresponds + * to the value "19_3_74" for the above example. + * + * Numeric Constants: + * + * gXercesMajVersion is a global integer constant whose value corresponds to + * the major version number. For the above example its value will be 19. + * + * gXercesMinVersion is a global integer constant whose value corresponds to + * the minor version number. For the above example its value will be 3. + * + * gXercesRevision is a global integer constant whose value corresponds to + * the revision (patch) version number. For the above example its value will + * be 74. + * + */ + +// --------------------------------------------------------------------------- +// X E R C E S V E R S I O N S P E C I F I C A T I O N + +/** + * MODIFY THESE NUMERIC VALUES TO COINCIDE WITH XERCES VERSION + * AND DO NOT MODIFY ANYTHING ELSE IN THIS VERSION HEADER FILE + */ + +#define XERCES_VERSION_MAJOR 3 +#define XERCES_VERSION_MINOR 2 +#define XERCES_VERSION_REVISION 3 + +/*** + * + * XERCES_GRAMMAR_SERIALIZATION_LEVEL = 4 SchemaAttDef, SchemaElementDecl serialize fPSVIScope + * XERCES_GRAMMAR_SERIALIZATION_LEVEL = 5 XercesStep serializes the axis as an int + * XERCES_GRAMMAR_SERIALIZATION_LEVEL = 6 added fIsExternal to XMLEntityDecl + * XERCES_GRAMMAR_SERIALIZATION_LEVEL = 7 size of line/column fields has changed + * + ***/ +#define XERCES_GRAMMAR_SERIALIZATION_LEVEL 7 + +/** DO NOT MODIFY BELOW THIS LINE */ + +/** + * MAGIC THAT AUTOMATICALLY GENERATES THE FOLLOWING: + * + * Xerces_DLLVersionStr, gXercesVersionStr, gXercesFullVersionStr, + * gXercesMajVersion, gXercesMinVersion, gXercesRevision + */ + +// --------------------------------------------------------------------------- +// T W O A R G U M E N T C O N C A T E N A T I O N M A C R O S + +// two argument concatenation routines +#define CAT2_SEP_UNDERSCORE(a, b) #a "_" #b +#define CAT2_SEP_PERIOD(a, b) #a "." #b +#define CAT2_SEP_NIL(a, b) #a #b +#define CAT2_RAW_NUMERIC(a, b) a ## b + +// two argument macro invokers +#define INVK_CAT2_SEP_UNDERSCORE(a,b) CAT2_SEP_UNDERSCORE(a,b) +#define INVK_CAT2_SEP_PERIOD(a,b) CAT2_SEP_PERIOD(a,b) +#define INVK_CAT2_STR_SEP_NIL(a,b) CAT2_SEP_NIL(a,b) +#define INVK_CAT2_RAW_NUMERIC(a,b) CAT2_RAW_NUMERIC(a,b) + +// --------------------------------------------------------------------------- +// T H R E E A R G U M E N T C O N C A T E N A T I O N M A C R O S + +// three argument concatenation routines +#define CAT3_SEP_UNDERSCORE(a, b, c) #a "_" #b "_" #c +#define CAT3_SEP_PERIOD(a, b, c) #a "." #b "." #c +#define CAT3_SEP_NIL(a, b, c) #a #b #c +#define CAT3_RAW_NUMERIC(a, b, c) a ## b ## c +#define CAT3_RAW_NUMERIC_SEP_UNDERSCORE(a, b, c) a ## _ ## b ## _ ## c + +// three argument macro invokers +#define INVK_CAT3_SEP_UNDERSCORE(a,b,c) CAT3_SEP_UNDERSCORE(a,b,c) +#define INVK_CAT3_SEP_PERIOD(a,b,c) CAT3_SEP_PERIOD(a,b,c) +#define INVK_CAT3_SEP_NIL(a,b,c) CAT3_SEP_NIL(a,b,c) +#define INVK_CAT3_RAW_NUMERIC(a,b,c) CAT3_RAW_NUMERIC(a,b,c) +#define INVK_CAT3_RAW_NUMERIC_SEP_UNDERSCORE(a,b,c) CAT3_RAW_NUMERIC_SEP_UNDERSCORE(a,b,c) + +// --------------------------------------------------------------------------- +// C A L C U L A T E V E R S I O N - E X P A N D E D F O R M + +#define MULTIPLY(factor,value) factor * value +#define CALC_EXPANDED_FORM(a,b,c) ( MULTIPLY(10000,a) + MULTIPLY(100,b) + MULTIPLY(1,c) ) + +// --------------------------------------------------------------------------- +// X E R C E S V E R S I O N I N F O R M A T I O N + +// Xerces version strings; these particular macros cannot be used for +// conditional compilation as they are not numeric constants + +#define XERCES_FULLVERSIONSTR INVK_CAT3_SEP_UNDERSCORE(XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR,XERCES_VERSION_REVISION) +#define XERCES_FULLVERSIONDOT INVK_CAT3_SEP_PERIOD(XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR,XERCES_VERSION_REVISION) +#define XERCES_FULLVERSIONNUM INVK_CAT3_SEP_NIL(XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR,XERCES_VERSION_REVISION) +#define XERCES_VERSIONSTR INVK_CAT2_SEP_UNDERSCORE(XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR) + +// Xerces C++ Namespace string, concatenated with full version string +#define XERCES_PRODUCT xercesc +#define XERCES_CPP_NAMESPACE INVK_CAT3_RAW_NUMERIC_SEP_UNDERSCORE(XERCES_PRODUCT,XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR) + +// original from Xerces header +#define Xerces_DLLVersionStr XERCES_FULLVERSIONSTR + +const char* const gXercesVersionStr = XERCES_VERSIONSTR; +const char* const gXercesFullVersionStr = XERCES_FULLVERSIONSTR; +const unsigned int gXercesMajVersion = XERCES_VERSION_MAJOR; +const unsigned int gXercesMinVersion = XERCES_VERSION_MINOR; +const unsigned int gXercesRevision = XERCES_VERSION_REVISION; + +// Xerces version numeric constants that can be used for conditional +// compilation purposes. + +#define _XERCES_VERSION CALC_EXPANDED_FORM (XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR,XERCES_VERSION_REVISION) + +#endif // XERCESVERSION_HPP diff --git a/xerces-c/adapted/xercesc/util/Xerces_autoconf_config.hpp b/xerces-c/adapted/xercesc/util/Xerces_autoconf_config.hpp new file mode 100755 index 00000000..9769f725 --- /dev/null +++ b/xerces-c/adapted/xercesc/util/Xerces_autoconf_config.hpp @@ -0,0 +1,156 @@ +/* + * 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: Xerces_autoconf_config.hpp.in 834826 2009-11-11 10:03:53Z borisk $ + */ + +// +// There are two primary xerces configuration header files: +// +// Xerces_autoconf_config.hpp +// +// For configuration of items that must be accessable +// through public headers. This file has limited information +// and carefully works to avoid collision of macro names, etc. +// +// This file is included by XercesDefs.h. In the event +// of a non-configured platform, a similar header specific +// to the platform will be included instead. +// +// config.h +// +// Generalized cmake-generated header file, with much more +// information, used to supply configuration information +// for use in implementation files. +// +// For CMake-based builds, this header is configured by cmake from the +// .cmake.in template file of the same name. + + +#ifndef XERCES_AUTOCONFIG_CONFIG_HPP +#define XERCES_AUTOCONFIG_CONFIG_HPP + +// --------------------------------------------------------------------------- +// These defines are set by cmake as appropriate for the platform. +// --------------------------------------------------------------------------- +#define XERCES_AUTOCONF 1 +#define XERCES_HAVE_SYS_TYPES_H 1 +#define XERCES_HAVE_CSTDINT 1 +#define XERCES_HAVE_STDINT_H 1 +#define XERCES_HAVE_INTTYPES_H 1 +/* #undef XERCES_HAVE_INTRIN_H */ +/* #undef XERCES_HAVE_EMMINTRIN_H */ +/* #undef XERCES_INCLUDE_WCHAR_H */ + +#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 +#define XERCES_SSIZE_T ssize_t + +#define XERCES_HAS_CPP_NAMESPACE 1 +#define XERCES_STD_NAMESPACE 1 +#define XERCES_NEW_IOSTREAMS 1 +/* #undef XERCES_NO_NATIVE_BOOL */ +#define XERCES_LSTRSUPPORT 1 +/* #undef XERCES_MFC_SUPPORT */ + +/* #undef XERCES_HAVE_CPUID_INTRINSIC */ +/* #undef XERCES_HAVE_SSE2_INTRINSIC */ +/* #undef XERCES_HAVE_GETCPUID */ + +/* #undef XERCES_NO_MATCHING_DELETE_OPERATOR */ + +/* #undef XERCES_DLL_EXPORT */ +/* #undef XERCES_STATIC_LIBRARY */ +#define XERCES_PLATFORM_EXPORT +#define XERCES_PLATFORM_IMPORT +#define XERCES_TEMPLATE_EXTERN extern +#ifdef XERCES_DLL_EXPORT +# define DLL_EXPORT +#endif + +// --------------------------------------------------------------------------- +// Include standard headers, if available, that we may rely on below. +// --------------------------------------------------------------------------- +#if defined(__cplusplus) && defined(XERCES_HAVE_CSTDINT) +# include +#endif +#if XERCES_HAVE_STDINT_H +# include +#endif +#if XERCES_HAVE_INTTYPES_H +# include +#endif +#if XERCES_HAVE_SYS_TYPES_H +# include +#endif +#if XERCES_INCLUDE_WCHAR_H +# include +#endif + +// --------------------------------------------------------------------------- +// 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 diff --git a/xerces-c/bundle.json b/xerces-c/bundle.json new file mode 100755 index 00000000..0c849472 --- /dev/null +++ b/xerces-c/bundle.json @@ -0,0 +1,33 @@ +{ + "name": "@ohos/xerces-c", + "description": "Apache Xerces-C validating XML parser", + "version": "v3.2.3", + "license": "Apache License V2.0", + "publishAs": "", + "segment": { + "destPath": "third_party/xerces-c" + }, + "dirs": {}, + "scripts": {}, + "readmePath": { + "en": "README" + }, + "component": { + "name": "xerces", + "subsystem": "thirdparty", + "syscap": [], + "features": [], + "adapted_system_type": ["standard"], + "rom": "", + "ram": "", + "deps": { + "components": [], + "third_party": [] + }, + "build": { + "sub_component": ["//third_party/xerces-c:libxerces-c","//third_party/xerces-c:samples","//third_party/xerces-c:tests"], + "inner_kits": [], + "test": [] + } + } +} diff --git a/xerces-c/docs/pic/result.png b/xerces-c/docs/pic/result.png new file mode 100755 index 0000000000000000000000000000000000000000..f11a5572536bdc9e88de6399dd20eddc113bf692 GIT binary patch literal 20827 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 literal 0 HcmV?d00001 diff --git a/xerces-c/docs/rom_integrate.md b/xerces-c/docs/rom_integrate.md new file mode 100755 index 00000000..da79bbb5 --- /dev/null +++ b/xerces-c/docs/rom_integrate.md @@ -0,0 +1,111 @@ +# xerces-c如何集成到系统Rom +## 准备源码工程 +本库是基于OpenHarmony-v3.2-Beta1版本,在RK3568开发板上验证的,如果是从未使用过RK3568,可以先查看[润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld)。 +### 准备系统Rom源码 +系统源码获取请参考:[OpenHarmony源码下载](https://gitee.com/openharmony/docs/blob/OpenHarmony-v3.2-Beta2/zh-cn/release-notes/OpenHarmony-v3.2-beta1.md) +### 增加构建脚本及配置文件 +- 下载本仓库代码 + ``` + cd ~ + git clone git@gitee.com:openharmony-sig/tpc_c_cplusplus.git --depth=1 + ``` +- 三方库目录结构 + ``` + tpc_c_cplusplus/xerces-c #三方库xerces-c的目录结构如下 + ├── adapted #存放三方库适配需要的代码文件 + ├── docs #存放三方库相关文档的文件夹 + ├── BUILD.gn #构建脚本,支持rom包集成 + ├── bundle.json #三方库组件定义文件 + ├── README.OpenSource #说明三方库源码的下载地址,版本,license等信息 + ├── README_zh.md + ``` +- 将三方库拷贝到OpenHarmony源码的third_party目录下 + ``` + cp ~/tpc_c_cplusplus/xerces-c ~/openharmony/third_party -rf + ``` +### 准备三方库源码 +``` +cd ~/openharmony/third_party/xerces-c #进入三方库目录 +git clone https://github.com/apache/xerces-c.git -b v3.2.3 #下载三方库源码 +``` +## 系统Rom中引入三方库 +准备完三方库代码后,我们需要将三方库加入到编译构建体系中。标准系统编译构建可以参考文档[标准系统编译构建指导](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Beta1/zh-cn/device-dev/subsystems/subsys-build-standard-large.md) +我们默认三方库是属于OpenHarmony的thirdparty子系统,如果需要自己定义子系统参考文档[如何为三方库组件中添加一个三方库](https://gitee.com/openharmony-sig/knowledge/blob/master/docs/openharmony_getstarted/port_thirdparty/README.md) +新增需要编译的组件,在OpenHarmony源码的vendor/hihope/rk3568/config.json文件中,新增需要编译的组件,如下代码段所示,在thirdparty子系统下面新增xerces组件 + +``` + { + "subsystem": "thirdparty", + "components": [ + { + "component": "musl", + "features": [] + }, + { + "component": "xerces", + "features": [] + } + ] + } + +``` +## 系统Rom中引入三方库测试程序 +如果需要编译测试用例,在OpenHarmony源码的vendor/hihope/rk3568/config.json文件,对应组件的features中打开编译选项,如下 +``` + { + "subsystem": "thirdparty", + "components": [ + { + "component": "musl", + "features": [] + }, + { + "component": "xerces", + "features": ["enable_xerces_test=true"] + } + ] + } +``` +## 编译工程 +在OpenHarmony源码根目录下 +``` +cd ~/openharmony +``` +- 选择平台 + ``` + hb set #hb set 命令会列出所有可选平台,这里我们选择rk3568 + ``` +- 执行编译 + ``` + hb build --target-cpu arm #编译32位系统 + hb build --target-cpu arm64 #编译64位系统 + ``` +- 生成文件的路径,可执行文件和库文件都在out/rk3568/thirdparty/xerces目录下,同时也打包到了镜像中 +## 运行效果 +将编译生成的库和测试文件放到板子上运行,为避免每次将文件推入设备都烧录整个镜像,我们使用hdc_std工具将文件推到开发板上 +- 首先将hdc_std工具编译出来 + 工具编译出来所在路径out/sdk/ohos-sdk/windows/toolchains/hdc_std.exe + + ``` + hb set #源码根目录下使用hb set 选择产品ohos-sdk + hb build #然后编译 + ``` +- 将工具拷贝到Windows,可以为工具目录配置环境变量,也可以在工具所在目录打开windows命令行 +- 将原生库测试需要的所有文件打包成xerces.tar,并拷贝到windows下 +- 将文件推送到开发板,在windows命令行进行如下操作 + ``` + hdc_std shell mount -oremount,rw / #修改系统权限为可读写 + hdc_std file send xerces.tar / #将文件包推入开发板 + hdc_std shell #进入开发板 + tar xvf xerces.tar #解压 + #注意需要将库拷贝到/system/lib 或者/system/lib64目录下 + ``` +- 运行测试程序 + 测试用例非常多,这里演示其中几个用例,如下图 + ![result](pic/result.png) +## 参考资料 +- [润和RK3568开发板标准系统快速上手](https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/rk3568_helloworld) +- [OpenHarmony三方库地址](https://gitee.com/openharmony-tpc) +- [OpenHarmony知识体系](https://gitee.com/openharmony-sig/knowledge) +- [如何为三方库组件中添加一个三方库](https://gitee.com/openharmony-sig/knowledge/blob/master/docs/openharmony_getstarted/port_thirdparty/README.md) +- [标准系统编译构建指导](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Beta1/zh-cn/device-dev/subsystems/subsys-build-standard-large.md) \ No newline at end of file -- Gitee