From 11614298d6de1d00656dcc3690a09bc596c706cd Mon Sep 17 00:00:00 2001 From: adam Date: Wed, 23 Feb 2011 08:31:13 +0000 Subject: Changes 3.1.1: This version is interface-incompatible with Xerces-C++ 2.8.0 and contains a large number of improvements, bug fixes, and clean-ups, including: * Autotools-based build system for the UNIX/Linux/Mac OS X platforms * Project files for VC++ 9 * Support for the ICU transcoder in VC++ 7.1, 8, and 9 project files * libcurl-based net accessor * Support for XInclude in DOM * Support for both XPath 1 and XPath 2 models in the DOM XPath interface * Support for the XML Schema subset of XPath 1 in DOM * Conformance to the final DOM Level 3 interface specification * Ability to provide custom DOM memory manager as well as tune the global DOM heap parameters * All public and widely used interfaces as well as a large portion of the implementation were converted to be 64-bit safe * Various XML Schema fixes including the fix for the large maxOccurs and minOccurs bug as well as for the changed ##other interpretation * Reviewed and cleaned up diagnostics messages * Optimizations for SAX/SAX2 and DOM parsing as well as XML Schema validation --- textproc/xerces-c/Makefile | 69 +--- textproc/xerces-c/PLIST | 135 ++++---- textproc/xerces-c/buildlink3.mk | 9 +- textproc/xerces-c/distinfo | 28 +- textproc/xerces-c/patches/patch-aa | 25 -- textproc/xerces-c/patches/patch-ab | 12 - textproc/xerces-c/patches/patch-ac | 14 - textproc/xerces-c/patches/patch-ad | 74 ----- textproc/xerces-c/patches/patch-af | 46 --- textproc/xerces-c/patches/patch-ag | 29 -- textproc/xerces-c/patches/patch-ah | 14 - textproc/xerces-c/patches/patch-ai | 23 -- textproc/xerces-c/patches/patch-aj | 14 - textproc/xerces-c/patches/patch-ak | 89 ----- textproc/xerces-c/patches/patch-al | 14 - textproc/xerces-c/patches/patch-am | 22 -- textproc/xerces-c/patches/patch-an | 168 ---------- textproc/xerces-c/patches/patch-ao | 14 - textproc/xerces-c/patches/patch-ap | 61 ---- textproc/xerces-c/patches/patch-aq | 15 - textproc/xerces-c/patches/patch-ar | 25 -- textproc/xerces-c/patches/patch-as | 12 - textproc/xerces-c/patches/patch-at | 14 - textproc/xerces-c/patches/patch-ba | 653 ------------------------------------- 24 files changed, 79 insertions(+), 1500 deletions(-) delete mode 100644 textproc/xerces-c/patches/patch-aa delete mode 100644 textproc/xerces-c/patches/patch-ab delete mode 100644 textproc/xerces-c/patches/patch-ac delete mode 100644 textproc/xerces-c/patches/patch-ad delete mode 100644 textproc/xerces-c/patches/patch-af delete mode 100644 textproc/xerces-c/patches/patch-ag delete mode 100644 textproc/xerces-c/patches/patch-ah delete mode 100644 textproc/xerces-c/patches/patch-ai delete mode 100644 textproc/xerces-c/patches/patch-aj delete mode 100644 textproc/xerces-c/patches/patch-ak delete mode 100644 textproc/xerces-c/patches/patch-al delete mode 100644 textproc/xerces-c/patches/patch-am delete mode 100644 textproc/xerces-c/patches/patch-an delete mode 100644 textproc/xerces-c/patches/patch-ao delete mode 100644 textproc/xerces-c/patches/patch-ap delete mode 100644 textproc/xerces-c/patches/patch-aq delete mode 100644 textproc/xerces-c/patches/patch-ar delete mode 100644 textproc/xerces-c/patches/patch-as delete mode 100644 textproc/xerces-c/patches/patch-at delete mode 100644 textproc/xerces-c/patches/patch-ba (limited to 'textproc') diff --git a/textproc/xerces-c/Makefile b/textproc/xerces-c/Makefile index e040a2e534c..fbd7807002e 100644 --- a/textproc/xerces-c/Makefile +++ b/textproc/xerces-c/Makefile @@ -1,74 +1,33 @@ -# $NetBSD: Makefile,v 1.38 2009/08/28 05:24:34 hasso Exp $ -# +# $NetBSD: Makefile,v 1.39 2011/02/23 08:31:13 adam Exp $ -DISTNAME= xerces-c-src_2_8_0 -PKGREVISION= 1 -PKGNAME= ${DISTNAME:S/-src_/-/:S/_/./g} +DISTNAME= xerces-c-3.1.1 CATEGORIES= textproc -MASTER_SITES= ${MASTER_SITE_APACHE:=xerces/c/2/sources/} +MASTER_SITES= ${MASTER_SITE_APACHE:=xerces/c/3/sources/} MAINTAINER= pkgsrc-users@NetBSD.org -HOMEPAGE= http://xerces.apache.org/xerces-c/ +HOMEPAGE= http://xerces.apache.org/ COMMENT= Validating C++ XML parser with DOM and SAX support +LICENSE= apache-2.0 PKG_INSTALLATION_TYPES= overwrite pkgviews PKG_DESTDIR_SUPPORT= user-destdir -WRKSRC= ${WRKDIR}/${DISTNAME}/src/xercesc -USE_TOOLS+= gmake USE_LANGUAGES= c c++ - -MAKE_JOBS_SAFE= no +USE_LIBTOOL= yes +USE_TOOLS+= gmake +PKGCONFIG_OVERRIDE= ${WRKSRC}/xerces-c.pc.in +GNU_CONFIGURE= yes .include "../../mk/bsd.prefs.mk" -.if ${OPSYS} == "SunOS" -XERCES_PLATFORM= solaris -.elif ${OPSYS} == "Darwin" -XERCES_PLATFORM= macosx -.else -XERCES_PLATFORM= ${LOWER_OPSYS} -.endif -XERCES_ENV+= XERCESCROOT="${WRKDIR}/${DISTNAME}" - -HAS_CONFIGURE= YES -CONFIGURE_SCRIPT= ./runConfigure -CONFIGURE_ARGS+= -P ${PREFIX} # installation prefix -CONFIGURE_ARGS+= -p ${XERCES_PLATFORM} # platform -CONFIGURE_ARGS+= -n socket # net accessor -CONFIGURE_ARGS+= -m inmem # message loader -CONFIGURE_ARGS+= -r none # threading -CONFIGURE_ARGS+= ${CONFIGURE_ARGS.${ICONV_TYPE}-iconv} - -PLIST_VARS+= gnu-iconv native-iconv - -CONFIGURE_ARGS.gnu-iconv+= -t IconvGNU # transcoder -CONFIGURE_ARGS.native-iconv+= -t native # transcoder +PLIST_VARS+= gnuiconv macunicode -CONFIGURE_ENV+= ${XERCES_ENV} -MAKE_ENV+= ${XERCES_ENV} - -# On Darwin, we have to use native (not libiconv) converter. see MacOSPlatformUtils.cpp. .if ${OPSYS} == "Darwin" -ICONV_TYPE= native -CFLAGS.Darwin+= -DXML_USE_MACOS_UNICODECONVERTER -I${WRKDIR}/${DISTNAME}/src +PLIST.macunicode= yes .else -.include "../../converters/libiconv/buildlink3.mk" +PLIST.gnuiconv= yes .endif -post-extract: - ${MKDIR} ${WRKSRC}/util/Platforms/DragonFly - ${CP} ${WRKSRC}/util/Platforms/NetBSD/NetBSDPlatformUtils.cpp ${WRKSRC}/util/Platforms/DragonFly/DragonFlyPlatformUtils.cpp - -pre-configure: - ${CP} ${PKGSRCDIR}/mk/gnu-config/config.guess ${WRKSRC} - ${CP} ${PKGSRCDIR}/mk/gnu-config/config.sub ${WRKSRC} - -post-install: - ${INSTALL_DATA} ${WRKSRC}/dom/impl/*.hpp \ - ${DESTDIR}${PREFIX}/include/xercesc/dom/impl - +.include "../../converters/libiconv/buildlink3.mk" +.include "../../mk/pthread.buildlink3.mk" .include "../../mk/bsd.pkg.mk" - -# Must be after bsd.pkg.mk -PLIST.${ICONV_TYPE}-iconv= yes diff --git a/textproc/xerces-c/PLIST b/textproc/xerces-c/PLIST index 00c56cad3b8..b0990fe3e1e 100644 --- a/textproc/xerces-c/PLIST +++ b/textproc/xerces-c/PLIST @@ -1,7 +1,22 @@ -@comment $NetBSD: PLIST,v 1.8 2009/06/14 18:17:34 joerg Exp $ +@comment $NetBSD: PLIST,v 1.9 2011/02/23 08:31:13 adam Exp $ +bin/CreateDOMDocument +bin/DOMCount +bin/DOMPrint +bin/EnumVal +bin/MemParse +bin/PParse +bin/PSVIWriter +bin/Redirect +bin/SAX2Count +bin/SAX2Print +bin/SAXCount +bin/SAXPrint +bin/SCMPrint +bin/SEnumVal +bin/StdInParse +bin/XInclude include/xercesc/dom/DOM.hpp include/xercesc/dom/DOMAttr.hpp -include/xercesc/dom/DOMBuilder.hpp include/xercesc/dom/DOMCDATASection.hpp include/xercesc/dom/DOMCharacterData.hpp include/xercesc/dom/DOMComment.hpp @@ -14,16 +29,24 @@ include/xercesc/dom/DOMDocumentType.hpp include/xercesc/dom/DOMElement.hpp include/xercesc/dom/DOMEntity.hpp include/xercesc/dom/DOMEntityReference.hpp -include/xercesc/dom/DOMEntityResolver.hpp include/xercesc/dom/DOMError.hpp include/xercesc/dom/DOMErrorHandler.hpp include/xercesc/dom/DOMException.hpp include/xercesc/dom/DOMImplementation.hpp include/xercesc/dom/DOMImplementationLS.hpp +include/xercesc/dom/DOMImplementationList.hpp include/xercesc/dom/DOMImplementationRegistry.hpp include/xercesc/dom/DOMImplementationSource.hpp -include/xercesc/dom/DOMInputSource.hpp +include/xercesc/dom/DOMLSException.hpp +include/xercesc/dom/DOMLSInput.hpp +include/xercesc/dom/DOMLSOutput.hpp +include/xercesc/dom/DOMLSParser.hpp +include/xercesc/dom/DOMLSParserFilter.hpp +include/xercesc/dom/DOMLSResourceResolver.hpp +include/xercesc/dom/DOMLSSerializer.hpp +include/xercesc/dom/DOMLSSerializerFilter.hpp include/xercesc/dom/DOMLocator.hpp +include/xercesc/dom/DOMMemoryManager.hpp include/xercesc/dom/DOMNamedNodeMap.hpp include/xercesc/dom/DOMNode.hpp include/xercesc/dom/DOMNodeFilter.hpp @@ -34,12 +57,11 @@ include/xercesc/dom/DOMPSVITypeInfo.hpp include/xercesc/dom/DOMProcessingInstruction.hpp include/xercesc/dom/DOMRange.hpp include/xercesc/dom/DOMRangeException.hpp +include/xercesc/dom/DOMStringList.hpp include/xercesc/dom/DOMText.hpp include/xercesc/dom/DOMTreeWalker.hpp include/xercesc/dom/DOMTypeInfo.hpp include/xercesc/dom/DOMUserDataHandler.hpp -include/xercesc/dom/DOMWriter.hpp -include/xercesc/dom/DOMWriterFilter.hpp include/xercesc/dom/DOMXPathEvaluator.hpp include/xercesc/dom/DOMXPathException.hpp include/xercesc/dom/DOMXPathExpression.hpp @@ -47,34 +69,6 @@ include/xercesc/dom/DOMXPathNSResolver.hpp include/xercesc/dom/DOMXPathNamespace.hpp include/xercesc/dom/DOMXPathResult.hpp include/xercesc/dom/StDOMNode.hpp -include/xercesc/dom/deprecated/DOM.hpp -include/xercesc/dom/deprecated/DOMParser.hpp -include/xercesc/dom/deprecated/DOMString.hpp -include/xercesc/dom/deprecated/DOM_Attr.hpp -include/xercesc/dom/deprecated/DOM_CDATASection.hpp -include/xercesc/dom/deprecated/DOM_CharacterData.hpp -include/xercesc/dom/deprecated/DOM_Comment.hpp -include/xercesc/dom/deprecated/DOM_DOMException.hpp -include/xercesc/dom/deprecated/DOM_DOMImplementation.hpp -include/xercesc/dom/deprecated/DOM_Document.hpp -include/xercesc/dom/deprecated/DOM_DocumentFragment.hpp -include/xercesc/dom/deprecated/DOM_DocumentType.hpp -include/xercesc/dom/deprecated/DOM_Element.hpp -include/xercesc/dom/deprecated/DOM_Entity.hpp -include/xercesc/dom/deprecated/DOM_EntityReference.hpp -include/xercesc/dom/deprecated/DOM_NamedNodeMap.hpp -include/xercesc/dom/deprecated/DOM_Node.hpp -include/xercesc/dom/deprecated/DOM_NodeFilter.hpp -include/xercesc/dom/deprecated/DOM_NodeIterator.hpp -include/xercesc/dom/deprecated/DOM_NodeList.hpp -include/xercesc/dom/deprecated/DOM_Notation.hpp -include/xercesc/dom/deprecated/DOM_ProcessingInstruction.hpp -include/xercesc/dom/deprecated/DOM_Range.hpp -include/xercesc/dom/deprecated/DOM_RangeException.hpp -include/xercesc/dom/deprecated/DOM_Text.hpp -include/xercesc/dom/deprecated/DOM_TreeWalker.hpp -include/xercesc/dom/deprecated/DOM_XMLDecl.hpp -include/xercesc/dom/deprecated/DomMemDebug.hpp include/xercesc/dom/impl/DOMAttrImpl.hpp include/xercesc/dom/impl/DOMAttrMapImpl.hpp include/xercesc/dom/impl/DOMAttrNSImpl.hpp @@ -96,6 +90,10 @@ include/xercesc/dom/impl/DOMEntityImpl.hpp include/xercesc/dom/impl/DOMEntityReferenceImpl.hpp include/xercesc/dom/impl/DOMErrorImpl.hpp include/xercesc/dom/impl/DOMImplementationImpl.hpp +include/xercesc/dom/impl/DOMImplementationListImpl.hpp +include/xercesc/dom/impl/DOMLSInputImpl.hpp +include/xercesc/dom/impl/DOMLSOutputImpl.hpp +include/xercesc/dom/impl/DOMLSSerializerImpl.hpp include/xercesc/dom/impl/DOMLocatorImpl.hpp include/xercesc/dom/impl/DOMNamedNodeMapImpl.hpp include/xercesc/dom/impl/DOMNodeIDMap.hpp @@ -108,11 +106,14 @@ include/xercesc/dom/impl/DOMNotationImpl.hpp include/xercesc/dom/impl/DOMParentNode.hpp include/xercesc/dom/impl/DOMProcessingInstructionImpl.hpp include/xercesc/dom/impl/DOMRangeImpl.hpp +include/xercesc/dom/impl/DOMStringListImpl.hpp include/xercesc/dom/impl/DOMStringPool.hpp include/xercesc/dom/impl/DOMTextImpl.hpp include/xercesc/dom/impl/DOMTreeWalkerImpl.hpp include/xercesc/dom/impl/DOMTypeInfoImpl.hpp -include/xercesc/dom/impl/DOMWriterImpl.hpp +include/xercesc/dom/impl/DOMXPathExpressionImpl.hpp +include/xercesc/dom/impl/DOMXPathNSResolverImpl.hpp +include/xercesc/dom/impl/DOMXPathResultImpl.hpp include/xercesc/dom/impl/XSDElementNSImpl.hpp include/xercesc/framework/BinOutputStream.hpp include/xercesc/framework/LocalFileFormatTarget.hpp @@ -124,7 +125,7 @@ include/xercesc/framework/StdInInputSource.hpp include/xercesc/framework/StdOutFormatTarget.hpp include/xercesc/framework/URLInputSource.hpp include/xercesc/framework/ValidationContext.hpp -include/xercesc/framework/Wrapper4DOMInputSource.hpp +include/xercesc/framework/Wrapper4DOMLSInput.hpp include/xercesc/framework/Wrapper4InputSource.hpp include/xercesc/framework/XMLAttDef.hpp include/xercesc/framework/XMLAttDefList.hpp @@ -142,6 +143,7 @@ include/xercesc/framework/XMLErrorReporter.hpp include/xercesc/framework/XMLFormatter.hpp include/xercesc/framework/XMLGrammarDescription.hpp include/xercesc/framework/XMLGrammarPool.hpp +include/xercesc/framework/XMLGrammarPoolImpl.hpp include/xercesc/framework/XMLNotationDecl.hpp include/xercesc/framework/XMLPScanToken.hpp include/xercesc/framework/XMLRecognizer.hpp @@ -185,7 +187,6 @@ include/xercesc/internal/ElemStack.hpp include/xercesc/internal/EndOfEntityException.hpp include/xercesc/internal/IANAEncodings.hpp include/xercesc/internal/IGXMLScanner.hpp -include/xercesc/internal/MemoryManagerArrayImpl.hpp include/xercesc/internal/MemoryManagerImpl.hpp include/xercesc/internal/ReaderMgr.hpp include/xercesc/internal/SGXMLScanner.hpp @@ -193,7 +194,6 @@ include/xercesc/internal/ValidationContextImpl.hpp include/xercesc/internal/VecAttrListImpl.hpp include/xercesc/internal/VecAttributesImpl.hpp include/xercesc/internal/WFXMLScanner.hpp -include/xercesc/internal/XMLGrammarPoolImpl.hpp include/xercesc/internal/XMLInternalErrorHandler.hpp include/xercesc/internal/XMLReader.hpp include/xercesc/internal/XMLScanner.hpp @@ -206,7 +206,7 @@ include/xercesc/internal/XSerializationException.hpp include/xercesc/internal/XSerializeEngine.hpp include/xercesc/internal/XTemplateSerializer.hpp include/xercesc/parsers/AbstractDOMParser.hpp -include/xercesc/parsers/DOMBuilderImpl.hpp +include/xercesc/parsers/DOMLSParserImpl.hpp include/xercesc/parsers/SAX2XMLFilterImpl.hpp include/xercesc/parsers/SAX2XMLReaderImpl.hpp include/xercesc/parsers/SAXParser.hpp @@ -231,7 +231,6 @@ include/xercesc/sax2/SAX2XMLFilter.hpp include/xercesc/sax2/SAX2XMLReader.hpp include/xercesc/sax2/XMLReaderFactory.hpp include/xercesc/util/ArrayIndexOutOfBoundsException.hpp -include/xercesc/util/AutoSense.hpp include/xercesc/util/Base64.hpp include/xercesc/util/BaseRefVectorOf.c include/xercesc/util/BaseRefVectorOf.hpp @@ -240,35 +239,17 @@ include/xercesc/util/BinInputStream.hpp include/xercesc/util/BinMemInputStream.hpp include/xercesc/util/BitOps.hpp include/xercesc/util/BitSet.hpp -include/xercesc/util/Compilers/BorlandCDefs.hpp -include/xercesc/util/Compilers/CSetDefs.hpp -include/xercesc/util/Compilers/CodeWarriorDefs.hpp -include/xercesc/util/Compilers/DECCXXDefs.hpp -include/xercesc/util/Compilers/GCCDefs.hpp -include/xercesc/util/Compilers/HPCCDefs.hpp -include/xercesc/util/Compilers/IBMVAOS2Defs.hpp -include/xercesc/util/Compilers/IBMVAW32Defs.hpp -include/xercesc/util/Compilers/MIPSproDefs.hpp -include/xercesc/util/Compilers/MVSCPPDefs.hpp -include/xercesc/util/Compilers/OS400SetDefs.hpp -include/xercesc/util/Compilers/PTXCCDefs.hpp -include/xercesc/util/Compilers/QCCDefs.hpp -include/xercesc/util/Compilers/SCOCCDefs.hpp -include/xercesc/util/Compilers/SunCCDefs.hpp -include/xercesc/util/Compilers/SunKaiDefs.hpp -include/xercesc/util/Compilers/TandemCCDefs.hpp -include/xercesc/util/Compilers/VCPPDefs.hpp include/xercesc/util/CountedPointer.c include/xercesc/util/CountedPointer.hpp include/xercesc/util/DefaultPanicHandler.hpp include/xercesc/util/EmptyStackException.hpp include/xercesc/util/EncodingValidator.hpp +include/xercesc/util/FileManagers/PosixFileMgr.hpp include/xercesc/util/FlagJanitor.c include/xercesc/util/FlagJanitor.hpp -include/xercesc/util/HashBase.hpp -include/xercesc/util/HashCMStateSet.hpp -include/xercesc/util/HashPtr.hpp -include/xercesc/util/HashXMLCh.hpp +include/xercesc/util/Hash2KeysSetOf.c +include/xercesc/util/Hash2KeysSetOf.hpp +include/xercesc/util/Hashers.hpp include/xercesc/util/HexBin.hpp include/xercesc/util/IOException.hpp include/xercesc/util/IllegalArgumentException.hpp @@ -283,19 +264,21 @@ include/xercesc/util/KeyValuePair.hpp include/xercesc/util/LogicalPath.c include/xercesc/util/MsgLoaders/InMemory/InMemMsgLoader.hpp include/xercesc/util/MsgLoaders/InMemory/XercesMessages_en_US.hpp +include/xercesc/util/MutexManagers/PosixMutexMgr.hpp include/xercesc/util/Mutexes.hpp include/xercesc/util/NameIdPool.c include/xercesc/util/NameIdPool.hpp +include/xercesc/util/NetAccessors/BinHTTPInputStreamCommon.hpp include/xercesc/util/NetAccessors/Socket/SocketNetAccessor.hpp include/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.hpp include/xercesc/util/NoSuchElementException.hpp include/xercesc/util/NullPointerException.hpp include/xercesc/util/NumberFormatException.hpp include/xercesc/util/OutOfMemoryException.hpp +include/xercesc/util/PSVIUni.hpp include/xercesc/util/PanicHandler.hpp include/xercesc/util/ParseException.hpp include/xercesc/util/PlatformUtils.hpp -include/xercesc/util/Platforms/${OPSYS}/${OPSYS}Defs.hpp include/xercesc/util/QName.hpp include/xercesc/util/RefArrayOf.c include/xercesc/util/RefArrayOf.hpp @@ -319,8 +302,8 @@ include/xercesc/util/SynchronizedStringPool.hpp include/xercesc/util/TransENameMap.c include/xercesc/util/TransENameMap.hpp include/xercesc/util/TransService.hpp -${PLIST.gnu-iconv}include/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.hpp -${PLIST.native-iconv}include/xercesc/util/Transcoders/Iconv/IconvTransService.hpp +${PLIST.gnuiconv}include/xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.hpp +${PLIST.macunicode}include/xercesc/util/Transcoders/MacOSUnicodeConverter/MacOSUnicodeConverter.hpp include/xercesc/util/TranscodingException.hpp include/xercesc/util/UTFDataFormatException.hpp include/xercesc/util/UnexpectedEOFException.hpp @@ -343,25 +326,22 @@ include/xercesc/util/XMLChTranscoder.hpp include/xercesc/util/XMLChar.hpp include/xercesc/util/XMLDOMMsg.hpp include/xercesc/util/XMLDateTime.hpp -include/xercesc/util/XMLDeleterFor.c -include/xercesc/util/XMLDeleterFor.hpp include/xercesc/util/XMLDouble.hpp include/xercesc/util/XMLEBCDICTranscoder.hpp include/xercesc/util/XMLEntityResolver.hpp include/xercesc/util/XMLEnumerator.hpp include/xercesc/util/XMLExceptMsgs.hpp include/xercesc/util/XMLException.hpp +include/xercesc/util/XMLFileMgr.hpp include/xercesc/util/XMLFloat.hpp -include/xercesc/util/XMLHolder.c -include/xercesc/util/XMLHolder.hpp include/xercesc/util/XMLIBM1047Transcoder.hpp include/xercesc/util/XMLIBM1140Transcoder.hpp include/xercesc/util/XMLInitializer.hpp include/xercesc/util/XMLInteger.hpp include/xercesc/util/XMLMsgLoader.hpp +include/xercesc/util/XMLMutexMgr.hpp include/xercesc/util/XMLNetAccessor.hpp include/xercesc/util/XMLNumber.hpp -include/xercesc/util/XMLRegisterCleanup.hpp include/xercesc/util/XMLResourceIdentifier.hpp include/xercesc/util/XMLString.hpp include/xercesc/util/XMLStringTokenizer.hpp @@ -376,15 +356,14 @@ include/xercesc/util/XMLWin1252Transcoder.hpp include/xercesc/util/XMemory.hpp include/xercesc/util/XercesDefs.hpp include/xercesc/util/XercesVersion.hpp +include/xercesc/util/Xerces_autoconf_config.hpp include/xercesc/util/regx/ASCIIRangeFactory.hpp include/xercesc/util/regx/BMPattern.hpp include/xercesc/util/regx/BlockRangeFactory.hpp include/xercesc/util/regx/CharToken.hpp include/xercesc/util/regx/ClosureToken.hpp include/xercesc/util/regx/ConcatToken.hpp -include/xercesc/util/regx/ConditionToken.hpp include/xercesc/util/regx/Match.hpp -include/xercesc/util/regx/ModifierToken.hpp include/xercesc/util/regx/Op.hpp include/xercesc/util/regx/OpFactory.hpp include/xercesc/util/regx/ParenToken.hpp @@ -419,6 +398,7 @@ include/xercesc/validators/common/CMAny.hpp include/xercesc/validators/common/CMBinaryOp.hpp include/xercesc/validators/common/CMLeaf.hpp include/xercesc/validators/common/CMNode.hpp +include/xercesc/validators/common/CMRepeatingLeaf.hpp include/xercesc/validators/common/CMStateSet.hpp include/xercesc/validators/common/CMUnaryOp.hpp include/xercesc/validators/common/ContentLeafNameTypeVector.hpp @@ -501,9 +481,8 @@ include/xercesc/validators/schema/identity/XPathMatcher.hpp include/xercesc/validators/schema/identity/XPathMatcherStack.hpp include/xercesc/validators/schema/identity/XPathSymbols.hpp include/xercesc/validators/schema/identity/XercesXPath.hpp -lib/libxerces-c.so -lib/libxerces-c.so.28 -lib/libxerces-c.so.28.0 -lib/libxerces-depdom.so -lib/libxerces-depdom.so.28 -lib/libxerces-depdom.so.28.0 +include/xercesc/xinclude/XIncludeDOMDocumentProcessor.hpp +include/xercesc/xinclude/XIncludeLocation.hpp +include/xercesc/xinclude/XIncludeUtils.hpp +lib/libxerces-c.la +lib/pkgconfig/xerces-c.pc diff --git a/textproc/xerces-c/buildlink3.mk b/textproc/xerces-c/buildlink3.mk index 048eb357d79..cfcf739bb5b 100644 --- a/textproc/xerces-c/buildlink3.mk +++ b/textproc/xerces-c/buildlink3.mk @@ -1,15 +1,14 @@ -# $NetBSD: buildlink3.mk,v 1.11 2009/05/10 11:24:26 hasso Exp $ +# $NetBSD: buildlink3.mk,v 1.12 2011/02/23 08:31:13 adam Exp $ BUILDLINK_TREE+= xerces-c .if !defined(XERCES_C_BUILDLINK3_MK) XERCES_C_BUILDLINK3_MK:= -BUILDLINK_API_DEPENDS.xerces-c+= xerces-c>=2.8.0 -BUILDLINK_ABI_DEPENDS.xerces-c?= xerces-c>=2.8.0 -BUILDLINK_PKGSRCDIR.xerces-c?= ../../textproc/xerces-c +BUILDLINK_API_DEPENDS.xerces-c+= xerces-c>=3.1.1 +BUILDLINK_PKGSRCDIR.xerces-c?= ../../textproc/xerces-c3 .include "../../converters/libiconv/buildlink3.mk" -.endif # XERCES_C_BUILDLINK3_MK +.endif # XERCES_C_BUILDLINK3_MK BUILDLINK_TREE+= -xerces-c diff --git a/textproc/xerces-c/distinfo b/textproc/xerces-c/distinfo index fbacf07b875..42247aa1f70 100644 --- a/textproc/xerces-c/distinfo +++ b/textproc/xerces-c/distinfo @@ -1,25 +1,5 @@ -$NetBSD: distinfo,v 1.13 2009/08/28 05:24:34 hasso Exp $ +$NetBSD: distinfo,v 1.14 2011/02/23 08:31:13 adam Exp $ -SHA1 (xerces-c-src_2_8_0.tar.gz) = f0803b1330daec3f44b17dee64c3c99de6b3cd3e -RMD160 (xerces-c-src_2_8_0.tar.gz) = d576df7870b043a338358834a0e1180dca39e838 -Size (xerces-c-src_2_8_0.tar.gz) = 7893039 bytes -SHA1 (patch-aa) = fe4865a320c5a8690e41d8e4a6c8465bfc989b96 -SHA1 (patch-ab) = 581a7fb3faa93fd390af939d110c90d4b350910b -SHA1 (patch-ac) = 8fe9f17f1a8be5e251885efe1bcf7466cbea7714 -SHA1 (patch-ad) = 4ba3a565455cbc5202f309b36365297396221f51 -SHA1 (patch-af) = b67265ad5ad7b3a5eb1d6eadf53265dea28a03db -SHA1 (patch-ag) = 778c1f35e20d98336c1aabe968cd673ee80f8c16 -SHA1 (patch-ah) = fe86675faa35e458e7729d12c1c343fc1976c9ba -SHA1 (patch-ai) = 1259dc3f5f69a7a218199825cd085a80563c04f6 -SHA1 (patch-aj) = f3ebf6265573f93ff1b75eee55fb3698f7cdb841 -SHA1 (patch-ak) = d9fba073a165e8b5cfebe546afc35efd6c74f150 -SHA1 (patch-al) = ee9aeff252afec1eba6316118e825ef27f187a2d -SHA1 (patch-am) = d9fea604b7b34654ff6cb69d155f2d5e9ccde25b -SHA1 (patch-an) = 168ee08b79bba4cb5e0c8ec8567dbde09e8408f3 -SHA1 (patch-ao) = 6d72b85c9883797d80d469554817e5034a77b97b -SHA1 (patch-ap) = ff9169b12d936c9ca093e7e3ee30aa84a1c8ae7f -SHA1 (patch-aq) = 9e25a396655fe11a068ddb4a48c23902214273e6 -SHA1 (patch-ar) = 8b8055056afdb0c3d8a556211bf44aec496727a1 -SHA1 (patch-as) = 3eaec415b91dcd129eaa7c5c6e0b5b417ad651bc -SHA1 (patch-at) = 31682536fccb69cbf29872793b2eb798e15e3bda -SHA1 (patch-ba) = 5bf2099aa80dfa3c91d5297fd7238a5a049131d9 +SHA1 (xerces-c-3.1.1.tar.gz) = 177ec838c5119df57ec77eddec9a29f7e754c8b2 +RMD160 (xerces-c-3.1.1.tar.gz) = bbb7ceac470db901d77926cdf21a254df0d8d1db +Size (xerces-c-3.1.1.tar.gz) = 5051308 bytes diff --git a/textproc/xerces-c/patches/patch-aa b/textproc/xerces-c/patches/patch-aa deleted file mode 100644 index 798c52afa88..00000000000 --- a/textproc/xerces-c/patches/patch-aa +++ /dev/null @@ -1,25 +0,0 @@ -$NetBSD: patch-aa,v 1.5 2009/05/10 11:24:27 hasso Exp $ - ---- ../../samples/Makefile.incl.orig 2007-08-28 21:47:02 +0300 -+++ ../../samples/Makefile.incl 2009-05-08 12:50:45 +0300 -@@ -270,6 +270,20 @@ ifeq (${PLATFORM}, FREEBSD) - endif - endif - -+#=============== DRAGONFLY SPECIFIC OPTIONS ========================= -+ifeq (${PLATFORM}, DRAGONFLY) -+ CMP= -c ${CXXFLAGS} -+ CC= ${COMPILER} -c -D${PLATFORM} -fPIC -+ LINK = ${COMPILER} -D${PLATFORM} -fPIC ${LDFLAGS} -+ PLATFORM_LIB_LINK_OPTIONS=-Wl,-rpath,${XERCESCROOT}/lib -+ ifdef ICUROOT -+ PLATFORM_LIB_LINK_OPTIONS+=-L${ICUROOT} -Wl,-rpath,${ICUROOT} -+ EXTRA_LINK_OPTIONS=-licudata -lstdc++ ${EXTRA_LIBS} -+ else -+ EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -lstdc++ -+ endif -+endif -+ - #=============== NETBSD SPECIFIC OPTIONS ========================= - ifeq (${PLATFORM}, NETBSD) - CMP= -c ${CXXFLAGS} diff --git a/textproc/xerces-c/patches/patch-ab b/textproc/xerces-c/patches/patch-ab deleted file mode 100644 index 2b64c531ae3..00000000000 --- a/textproc/xerces-c/patches/patch-ab +++ /dev/null @@ -1,12 +0,0 @@ -$NetBSD: patch-ab,v 1.5 2006/08/10 13:44:22 abs Exp $ - ---- ../../samples/configure.orig 2005-09-07 16:56:50.000000000 +0100 -+++ ../../samples/configure -@@ -1363,6 +1363,7 @@ case "${host}" in - *-*-linux*) platform=LINUX ;; - *-*-nto*) platform=QNX ;; - *-*-freebsd*) platform=FREEBSD ;; -+ *-*-dragonfly*) platform=DRAGONFLY ;; - *-*-netbsd*) platform=NETBSD ;; - *-*-irix*) platform=IRIX ;; - *-*-aix*) platform=AIX ;; diff --git a/textproc/xerces-c/patches/patch-ac b/textproc/xerces-c/patches/patch-ac deleted file mode 100644 index 45ae87abb59..00000000000 --- a/textproc/xerces-c/patches/patch-ac +++ /dev/null @@ -1,14 +0,0 @@ -$NetBSD: patch-ac,v 1.4 2006/08/10 13:44:22 abs Exp $ - ---- ../../samples/runConfigure.orig 2005-09-07 16:56:50.000000000 +0100 -+++ ../../samples/runConfigure -@@ -266,6 +266,9 @@ else - elif test $platform = "freebsd"; then - threadingLibs="-pthread -lc_r" - threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS" -+ elif test $platform = "dragonfly"; then -+ threadingLibs="-pthread -lc_r" -+ threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS" - elif test $platform = "netbsd"; then - threadingLibs="-pthread" - threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS" diff --git a/textproc/xerces-c/patches/patch-ad b/textproc/xerces-c/patches/patch-ad deleted file mode 100644 index 0f4e85d470f..00000000000 --- a/textproc/xerces-c/patches/patch-ad +++ /dev/null @@ -1,74 +0,0 @@ -$NetBSD: patch-ad,v 1.5 2006/08/10 13:44:22 abs Exp $ - ---- util/Platforms/DragonFly/DragonFlyDefs.hpp.orig 2006-04-26 14:02:54.000000000 +0100 -+++ util/Platforms/DragonFly/DragonFlyDefs.hpp -@@ -0,0 +1,69 @@ -+/* -+ * The Apache Software License, Version 1.1 -+ * -+ * Copyright (c) 1999-2000 The Apache Software Foundation. All rights -+ * reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in -+ * the documentation and/or other materials provided with the -+ * distribution. -+ * -+ * 3. The end-user documentation included with the redistribution, -+ * if any, must include the following acknowledgment: -+ * "This product includes software developed by the -+ * Apache Software Foundation (http://www.apache.org/)." -+ * Alternately, this acknowledgment may appear in the software itself, -+ * if and wherever such third-party acknowledgments normally appear. -+ * -+ * 4. The names "Xerces" and "Apache Software Foundation" must -+ * not be used to endorse or promote products derived from this -+ * software without prior written permission. For written -+ * permission, please contact apache\@apache.org. -+ * -+ * 5. Products derived from this software may not be called "Apache", -+ * nor may "Apache" appear in their name, without prior written -+ * permission of the Apache Software Foundation. -+ * -+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED -+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR -+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ * ==================================================================== -+ * -+ * This software consists of voluntary contributions made by many -+ * individuals on behalf of the Apache Software Foundation, and was -+ * originally based on software copyright (c) 1999, International -+ * Business Machines, Inc., http://www.ibm.com . For more information -+ * on the Apache Software Foundation, please see -+ * . -+ */ -+ -+/* -+ * -+ * -+ */ -+ -+ -+#define ENDIANMODE_LITTLE -+ -+typedef void* FileHandle; -+ -+#ifndef DRAGONFLY -+#define DRAGONFLY -+#endif diff --git a/textproc/xerces-c/patches/patch-af b/textproc/xerces-c/patches/patch-af deleted file mode 100644 index dc8ae6c8d0b..00000000000 --- a/textproc/xerces-c/patches/patch-af +++ /dev/null @@ -1,46 +0,0 @@ -$NetBSD: patch-af,v 1.7 2009/05/10 11:24:27 hasso Exp $ - ---- Makefile.incl.orig 2007-08-30 15:10:20 +0300 -+++ Makefile.incl 2009-05-08 12:55:42 +0300 -@@ -603,6 +603,30 @@ ifeq (${PLATFORM}, FREEBSD) - LD_SODEPDOM = -Wl,-soname,${SO_DEPDOM} - endif - -+#=============== DRAGONFLY SPECIFIC OPTIONS ========================= -+ifeq (${PLATFORM}, DRAGONFLY) -+ PLATFORM_COMPILE_OPTIONS = -D${PLATFORM} -+ -+ ifeq (${LIBTYPE},shared) -+ PLATFORM_COMPILE_OPTIONS += -fPIC -+ MAKE_SHARED = ${CXX} -D${PLATFORM} -shared -fPIC ${LDFLAGS} -+ MAKE_SHARED_C = ${CC} -D${PLATFORM} -shared -fPIC ${LDFLAGS} -+ endif -+ -+ ifeq (${TRANSCODER}, ICU) -+ PLATFORM_COMPILE_OPTIONS += -I/usr/local/include -+ ALLLIBS = ${LIBS} -L/usr/local/lib -L${ICUROOT} -licuuc -licudata -lgcc -+ else -+ ALLLIBS = ${LIBS} -+ endif -+ -+ SHLIBSUFFIX=.so -+ ICUSHLIBSUFFIX=.so -+ ## Compiler switch to embed a library name -+ LD_SONAME = -Wl,-soname,${SO_NAME} -+ LD_SODEPDOM = -Wl,-soname,${SO_DEPDOM} -+endif -+ - #=============== NETBSD SPECIFIC OPTIONS ========================= - ifeq (${PLATFORM}, NETBSD) - PLATFORM_COMPILE_OPTIONS = -D${PLATFORM} -@@ -969,6 +993,10 @@ LINK_LIBNAME=xercesc - LIBDEPDOM=libxercesdepdom - endif - -+ifeq (${TRANSCODER}, IconvGNU) -+ ALLLIBS += -liconv -+endif -+ - ###################### A_NAME #################################### - # - # diff --git a/textproc/xerces-c/patches/patch-ag b/textproc/xerces-c/patches/patch-ag deleted file mode 100644 index c4e5dd18ad0..00000000000 --- a/textproc/xerces-c/patches/patch-ag +++ /dev/null @@ -1,29 +0,0 @@ -$NetBSD: patch-ag,v 1.6 2009/05/10 11:24:27 hasso Exp $ - ---- configure.orig 2007-08-28 21:44:56 +0300 -+++ configure 2009-05-08 12:58:10 +0300 -@@ -3943,6 +3943,7 @@ case "${host}" in - *-*-nto*) platform=QNX ;; - *-*-linux*) platform=LINUX ;; - *-*-freebsd*) platform=FREEBSD ;; -+ *-*-dragonfly*) platform=DRAGONFLY ;; - *-*-netbsd*) platform=NETBSD ;; - *-*-irix*) platform=IRIX ;; - *-*-aix*) platform=AIX -@@ -4024,7 +4025,7 @@ libtype=${LIBTYPE} - bitstobuild=${BITSTOBUILD} - - --ac_config_files="$ac_config_files Makefile util/Makefile util/Transcoders/Cygwin/Makefile util/Transcoders/Win32/Makefile util/Transcoders/ICU/Makefile util/Transcoders/Iconv/Makefile util/Transcoders/Iconv390/Makefile util/Transcoders/Uniconv390/Makefile util/Transcoders/Iconv400/Makefile util/Transcoders/IconvFBSD/Makefile util/Transcoders/IconvGNU/Makefile util/Transcoders/MacOSUnicodeConverter/Makefile util/Platforms/Makefile util/Platforms/Solaris/Makefile util/Platforms/AIX/Makefile util/Platforms/BeOS/Makefile util/Platforms/QNX/Makefile util/Platforms/Linux/Makefile util/Platforms/FreeBSD/Makefile util/Platforms/NetBSD/Makefile util/Platforms/HPUX/Makefile util/Platforms/OS390/Makefile util/Platforms/OS400/Makefile util/Platforms/IRIX/Makefile util/Platforms/PTX/Makefile util/Platforms/OpenServer/Makefile util/Platforms/UnixWare/Makefile util/Platforms/Tru64/Makefile util/Platforms/MacOS/Makefile util/Platforms/Win32/Makefile util/Platforms/Cygwin/Makefile util/Compilers/Makefile util/MsgLoaders/InMemory/Makefile util/MsgLoaders/ICU/Makefile util/MsgLoaders/ICU/resources/Makefile util/MsgLoaders/MsgCatalog/Makefile util/MsgLoaders/MsgFile/Makefile util/NetAccessors/Socket/Makefile util/NetAccessors/WinSock/Makefile util/NetAccessors/libWWW/Makefile util/NetAccessors/MacOSURLAccessCF/Makefile util/regx/Makefile validators/Makefile validators/common/Makefile validators/datatype/Makefile validators/DTD/Makefile validators/schema/Makefile validators/schema/identity/Makefile framework/Makefile framework/psvi/Makefile dom/Makefile dom/impl/Makefile dom/deprecated/Makefile parsers/Makefile internal/Makefile sax/Makefile sax2/Makefile ../../obj/Makefile" -+ac_config_files="$ac_config_files Makefile util/Makefile util/Transcoders/Cygwin/Makefile util/Transcoders/Win32/Makefile util/Transcoders/ICU/Makefile util/Transcoders/Iconv/Makefile util/Transcoders/Iconv390/Makefile util/Transcoders/Uniconv390/Makefile util/Transcoders/Iconv400/Makefile util/Transcoders/IconvFBSD/Makefile util/Transcoders/IconvGNU/Makefile util/Transcoders/MacOSUnicodeConverter/Makefile util/Platforms/Makefile util/Platforms/Solaris/Makefile util/Platforms/AIX/Makefile util/Platforms/BeOS/Makefile util/Platforms/QNX/Makefile util/Platforms/Linux/Makefile util/Platforms/FreeBSD/Makefile util/Platforms/DragonFly/Makefile util/Platforms/NetBSD/Makefile util/Platforms/HPUX/Makefile util/Platforms/OS390/Makefile util/Platforms/OS400/Makefile util/Platforms/IRIX/Makefile util/Platforms/PTX/Makefile util/Platforms/OpenServer/Makefile util/Platforms/UnixWare/Makefile util/Platforms/Tru64/Makefile util/Platforms/MacOS/Makefile util/Platforms/Win32/Makefile util/Platforms/Cygwin/Makefile util/Compilers/Makefile util/MsgLoaders/InMemory/Makefile util/MsgLoaders/ICU/Makefile util/MsgLoaders/ICU/resources/Makefile util/MsgLoaders/MsgCatalog/Makefile util/MsgLoaders/MsgFile/Makefile util/NetAccessors/Socket/Makefile util/NetAccessors/WinSock/Makefile util/NetAccessors/libWWW/Makefile util/NetAccessors/MacOSURLAccessCF/Makefile util/regx/Makefile validators/Makefile validators/common/Makefile validators/datatype/Makefile validators/DTD/Makefile validators/schema/Makefile validators/schema/identity/Makefile framework/Makefile framework/psvi/Makefile dom/Makefile dom/impl/Makefile dom/deprecated/Makefile parsers/Makefile internal/Makefile sax/Makefile sax2/Makefile ../../obj/Makefile" - - ac_config_commands="$ac_config_commands default" - -@@ -4624,6 +4625,7 @@ do - "util/Platforms/QNX/Makefile") CONFIG_FILES="$CONFIG_FILES util/Platforms/QNX/Makefile" ;; - "util/Platforms/Linux/Makefile") CONFIG_FILES="$CONFIG_FILES util/Platforms/Linux/Makefile" ;; - "util/Platforms/FreeBSD/Makefile") CONFIG_FILES="$CONFIG_FILES util/Platforms/FreeBSD/Makefile" ;; -+ "util/Platforms/DragonFly/Makefile") CONFIG_FILES="$CONFIG_FILES util/Platforms/DragonFly/Makefile" ;; - "util/Platforms/NetBSD/Makefile") CONFIG_FILES="$CONFIG_FILES util/Platforms/NetBSD/Makefile" ;; - "util/Platforms/HPUX/Makefile") CONFIG_FILES="$CONFIG_FILES util/Platforms/HPUX/Makefile" ;; - "util/Platforms/OS390/Makefile") CONFIG_FILES="$CONFIG_FILES util/Platforms/OS390/Makefile" ;; diff --git a/textproc/xerces-c/patches/patch-ah b/textproc/xerces-c/patches/patch-ah deleted file mode 100644 index 0167e4fe7bd..00000000000 --- a/textproc/xerces-c/patches/patch-ah +++ /dev/null @@ -1,14 +0,0 @@ -$NetBSD: patch-ah,v 1.5 2006/08/10 13:44:22 abs Exp $ - ---- dom/impl/DOMDeepNodeListPool.c.orig 2005-09-07 16:54:58.000000000 +0100 -+++ dom/impl/DOMDeepNodeListPool.c -@@ -97,6 +97,9 @@ DOMDeepNodeListPool::DOMDeepNodeLi - - fIdPtrs = (TVal**) fMemoryManager->allocate(fIdPtrsCount * sizeof(TVal*));//new TVal*[fIdPtrsCount]; - fIdPtrs[0] = 0; -+ -+ // create default hasher -+ fHash = new (fMemoryManager) HashPtr(); - } - - template diff --git a/textproc/xerces-c/patches/patch-ai b/textproc/xerces-c/patches/patch-ai deleted file mode 100644 index a67eab06127..00000000000 --- a/textproc/xerces-c/patches/patch-ai +++ /dev/null @@ -1,23 +0,0 @@ -$NetBSD: patch-ai,v 1.5 2006/08/10 13:44:22 abs Exp $ - ---- runConfigure.orig 2005-09-07 16:55:53.000000000 +0100 -+++ runConfigure -@@ -251,7 +251,7 @@ echo "Extra configure options: $configur - # - - case $platform in -- aix | openserver | unixware | beos | linux | freebsd | netbsd | solaris | hp-10 | hp-11 | os400 | os390 | irix | ptx | tru64 | macosx | cygwin | qnx | interix | mingw-msys) -+ aix | openserver | unixware | beos | linux | freebsd | netbsd | solaris | hp-10 | hp-11 | os400 | os390 | irix | ptx | tru64 | macosx | cygwin | qnx | interix | mingw-msys | dragonfly) - # platform has been recognized - ;; - *) -@@ -334,6 +334,9 @@ else - elif test $platform = "freebsd"; then - threadingLibs="-pthread -lc_r" - threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS" -+ elif test $platform = "dragonfly"; then -+ threadingLibs="-pthread -lc_r" -+ threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS" - elif test $platform = "netbsd"; then - threadingLibs="-pthread -lpthread" - threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS" diff --git a/textproc/xerces-c/patches/patch-aj b/textproc/xerces-c/patches/patch-aj deleted file mode 100644 index b9c67421a32..00000000000 --- a/textproc/xerces-c/patches/patch-aj +++ /dev/null @@ -1,14 +0,0 @@ -$NetBSD: patch-aj,v 1.4 2006/08/10 13:44:22 abs Exp $ - ---- util/AutoSense.hpp.orig 2005-09-07 16:55:50.000000000 +0100 -+++ util/AutoSense.hpp -@@ -61,6 +61,9 @@ - #elif defined(__FreeBSD__) - #define XML_FREEBSD - #define XML_UNIX -+#elif defined(__DragonFly__) -+ #define XML_DRAGONFLY -+ #define XML_UNIX - #elif defined(IRIX) || defined(__sgi) - #define XML_IRIX - #define XML_UNIX diff --git a/textproc/xerces-c/patches/patch-ak b/textproc/xerces-c/patches/patch-ak deleted file mode 100644 index de414d16a6d..00000000000 --- a/textproc/xerces-c/patches/patch-ak +++ /dev/null @@ -1,89 +0,0 @@ -$NetBSD: patch-ak,v 1.4 2006/08/10 13:44:22 abs Exp $ - ---- util/Platforms/DragonFly/Makefile.in.orig 2006-04-26 14:02:54.000000000 +0100 -+++ util/Platforms/DragonFly/Makefile.in -@@ -0,0 +1,84 @@ -+# -+# The Apache Software License, Version 1.1 -+# -+# Copyright (c) 2001 The Apache Software Foundation. All rights -+# reserved. -+# -+# Redistribution and use in source and binary forms, with or without -+# modification, are permitted provided that the following conditions -+# are met: -+# -+# 1. Redistributions of source code must retain the above copyright -+# notice, this list of conditions and the following disclaimer. -+# -+# 2. Redistributions in binary form must reproduce the above copyright -+# notice, this list of conditions and the following disclaimer in -+# the documentation and/or other materials provided with the -+# distribution. -+# -+# 3. The end-user documentation included with the redistribution, -+# if any, must include the following acknowledgment: -+# "This product includes software developed by the -+# Apache Software Foundation (http://www.apache.org/)." -+# Alternately, this acknowledgment may appear in the software itself, -+# if and wherever such third-party acknowledgments normally appear. -+# -+# 4. The names "Xerces" and "Apache Software Foundation" must -+# not be used to endorse or promote products derived from this -+# software without prior written permission. For written -+# permission, please contact apache\@apache.org. -+# -+# 5. Products derived from this software may not be called "Apache", -+# nor may "Apache" appear in their name, without prior written -+# permission of the Apache Software Foundation. -+# -+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED -+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -+# DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR -+# ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -+# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -+# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+# SUCH DAMAGE. -+# ==================================================================== -+# -+# This software consists of voluntary contributions made by many -+# individuals on behalf of the Apache Software Foundation, and was -+# originally based on software copyright (c) 2001, International -+# Business Machines, Inc., http://www.ibm.com . For more information -+# on the Apache Software Foundation, please see -+# . -+# -+# -+ -+PLATFORM = @platform@ -+CC = @cc@ -+CXX = @cxx@ -+GCC = @GCC@ -+GXX = @GXX@ -+CXXFLAGS = @cxxflags@ -+CFLAGS = @cflags@ -+PREFIX = @prefix@ -+PREFIX_INCLUDE = @prefix_include@ -+LDFLAGS = @ldflags@ -+LIBS = @libs@ -+OSVER = @osver@ -+USELIBWWW = @uselibwww@ -+MESSAGELOADER = @messageloader@ -+TRANSCODER = @transcoder@ -+THREADS = @threads@ -+ -+MODULE = util -+ -+include ../../../Makefile.incl -+ -+SUBMODULE = Platforms/DragonFly -+CXXFLAGS += -D_GNU_SOURCE -D__USE_GNU -+CPP_PUBHEADERS = DragonFlyDefs.hpp -+CPP_OBJECTS = DragonFlyPlatformUtils.$(TO) -+ -+include ../../Makefile.util.submodule diff --git a/textproc/xerces-c/patches/patch-al b/textproc/xerces-c/patches/patch-al deleted file mode 100644 index 064e4ff62a1..00000000000 --- a/textproc/xerces-c/patches/patch-al +++ /dev/null @@ -1,14 +0,0 @@ -$NetBSD: patch-al,v 1.4 2006/08/10 13:44:22 abs Exp $ - ---- util/Platforms/Makefile.in.orig 2005-09-07 16:55:34.000000000 +0100 -+++ util/Platforms/Makefile.in -@@ -149,6 +149,9 @@ endif - ifeq (${PLATFORM}, FREEBSD) - SUBMODULE = FreeBSD - endif -+ifeq (${PLATFORM}, DRAGONFLY) -+ SUBMODULE = DragonFly -+endif - ifeq (${PLATFORM}, NETBSD) - SUBMODULE = NetBSD - endif diff --git a/textproc/xerces-c/patches/patch-am b/textproc/xerces-c/patches/patch-am deleted file mode 100644 index 59744537b16..00000000000 --- a/textproc/xerces-c/patches/patch-am +++ /dev/null @@ -1,22 +0,0 @@ -$NetBSD: patch-am,v 1.4 2006/08/10 13:44:22 abs Exp $ - ---- util/Platforms/NetBSD/NetBSDPlatformUtils.cpp.orig 2005-09-07 16:55:30.000000000 +0100 -+++ util/Platforms/NetBSD/NetBSDPlatformUtils.cpp -@@ -54,6 +54,8 @@ - - #if defined(XML_USE_ICU_TRANSCODER) - #include -+#elif defined (XML_USE_GNU_TRANSCODER) -+ #include - #else - // Use native transcoder. Same as -DXML_USE_NATIVE_TRANSCODER - #include -@@ -62,6 +64,8 @@ - - #if defined(XML_USE_ICU_MESSAGELOADER) - #include -+#elif defined(XML_USE_ICONV_MESSAGELOADER) -+ #include - #else - // Same as -DXML_USE_INMEM_MESSAGELOADER - #include diff --git a/textproc/xerces-c/patches/patch-an b/textproc/xerces-c/patches/patch-an deleted file mode 100644 index d790a2a8c9c..00000000000 --- a/textproc/xerces-c/patches/patch-an +++ /dev/null @@ -1,168 +0,0 @@ -$NetBSD: patch-an,v 1.4 2006/08/10 13:44:22 abs Exp $ - ---- util/RefArrayOf.c.orig 2005-09-07 16:55:50.000000000 +0100 -+++ util/RefArrayOf.c -@@ -39,9 +39,9 @@ RefArrayOf::RefArrayOf(const unsi - , fArray(0) - , fMemoryManager(manager) - { -- fArray = (TElem**) fMemoryManager->allocate(fSize * sizeof(TElem*));//new TElem*[fSize]; -- for (unsigned int index = 0; index < fSize; index++) -- fArray[index] = 0; -+ this->fArray = (TElem**) this->fMemoryManager->allocate(fSize * sizeof(TElem*));//new TElem*[fSize]; -+ for (unsigned int index = 0; index < this->fSize; index++) -+ this->fArray[index] = 0; - } - - template -@@ -53,9 +53,9 @@ RefArrayOf::RefArrayOf(TElem* val - , fArray(0) - , fMemoryManager(manager) - { -- fArray = (TElem**) fMemoryManager->allocate(fSize * sizeof(TElem*));//new TElem*[fSize]; -- for (unsigned int index = 0; index < fSize; index++) -- fArray[index] = values[index]; -+ this->fArray = (TElem**) this->fMemoryManager->allocate(this->fSize * sizeof(TElem*));//new TElem*[fSize]; -+ for (unsigned int index = 0; index < this->fSize; index++) -+ this->fArray[index] = values[index]; - } - - template RefArrayOf:: -@@ -65,14 +65,14 @@ RefArrayOf(const RefArrayOf& sour - , fArray(0) - , fMemoryManager(source.fMemoryManager) - { -- fArray = (TElem**) fMemoryManager->allocate(fSize * sizeof(TElem*));//new TElem*[fSize]; -- for (unsigned int index = 0; index < fSize; index++) -- fArray[index] = source.fArray[index]; -+ this->fArray = (TElem**) this->fMemoryManager->allocate(fSize * sizeof(TElem*));//new TElem*[fSize]; -+ for (unsigned int index = 0; index < this->fSize; index++) -+ this->fArray[index] = source.fArray[index]; - } - - template RefArrayOf::~RefArrayOf() - { -- fMemoryManager->deallocate(fArray);//delete [] fArray; -+ this->fMemoryManager->deallocate(this->fArray);//delete [] fArray; - } - - -@@ -84,7 +84,7 @@ operator[](const unsigned int index) - { - if (index >= fSize) - ThrowXMLwithMemMgr(ArrayIndexOutOfBoundsException, XMLExcepts::Array_BadIndex, fMemoryManager); -- return fArray[index]; -+ return this->fArray[index]; - } - - template const TElem* RefArrayOf:: -@@ -92,7 +92,7 @@ operator[](const unsigned int index) con - { - if (index >= fSize) - ThrowXMLwithMemMgr(ArrayIndexOutOfBoundsException, XMLExcepts::Array_BadIndex, fMemoryManager); -- return fArray[index]; -+ return this->fArray[index]; - } - - template RefArrayOf& RefArrayOf:: -@@ -104,14 +104,14 @@ operator=(const RefArrayOf& toAss - // Reallocate if not the same size - if (toAssign.fSize != fSize) - { -- fMemoryManager->deallocate(fArray);//delete [] fArray; -- fSize = toAssign.fSize; -- fArray = (TElem**) fMemoryManager->allocate(fSize * sizeof(TElem*));//new TElem*[fSize]; -+ this->fMemoryManager->deallocate(this->fArray);//delete [] fArray; -+ this->fSize = toAssign.fSize; -+ this->fArray = (TElem**) this->fMemoryManager->allocate(this->fSize * sizeof(TElem*));//new TElem*[fSize]; - } - - // Copy over the source elements - for (unsigned int index = 0; index < fSize; index++) -- fArray[index] = toAssign.fArray[index]; -+ this->fArray[index] = toAssign.fArray[index]; - - return *this; - } -@@ -182,16 +182,16 @@ template void RefArrayOf= fSize) - ThrowXMLwithMemMgr(ArrayIndexOutOfBoundsException, XMLExcepts::Array_BadIndex, fMemoryManager); - -- delete fArray[index]; -- fArray[index] = 0; -+ delete this->fArray[index]; -+ this->fArray[index] = 0; - } - - template void RefArrayOf::deleteAllElements() - { -- for (unsigned int index = 0; index < fSize; index++) -+ for (unsigned int index = 0; index < this->fSize; index++) - { - delete fArray[index]; -- fArray[index] = 0; -+ this->fArray[index] = 0; - } - } - -@@ -204,7 +204,7 @@ template void RefArrayOfallocate -+ TElem** newArray = (TElem**) this->fMemoryManager->allocate - ( - newSize * sizeof(TElem*) - );//new TElem*[newSize]; -@@ -212,15 +212,15 @@ template void RefArrayOffArray[index]; - - for (; index < newSize; index++) - newArray[index] = 0; - - // Delete the old array and udpate our members -- fMemoryManager->deallocate(fArray);//delete [] fArray; -- fArray = newArray; -- fSize = newSize; -+ this->fMemoryManager->deallocate(fArray);//delete [] fArray; -+ this->fArray = newArray; -+ this->fSize = newSize; - } - - -@@ -241,7 +241,7 @@ RefArrayEnumerator( RefArrayOf RefArrayEnumerator::~RefArrayEnumerator() - { - if (fAdopted) -- delete fToEnum; -+ delete this->fToEnum; - } - - -@@ -250,19 +250,19 @@ template RefArrayEnumerato - // --------------------------------------------------------------------------- - template bool RefArrayEnumerator::hasMoreElements() const - { -- if (fCurIndex >= fToEnum->length()) -+ if (fCurIndex >= this->fToEnum->length()) - return false; - return true; - } - - template TElem& RefArrayEnumerator::nextElement() - { -- return *(*fToEnum)[fCurIndex++]; -+ return *(*this->fToEnum)[this->fCurIndex++]; - } - - template void RefArrayEnumerator::Reset() - { -- fCurIndex = 0; -+ this->fCurIndex = 0; - } - - XERCES_CPP_NAMESPACE_END diff --git a/textproc/xerces-c/patches/patch-ao b/textproc/xerces-c/patches/patch-ao deleted file mode 100644 index ac653a39d7d..00000000000 --- a/textproc/xerces-c/patches/patch-ao +++ /dev/null @@ -1,14 +0,0 @@ -$NetBSD: patch-ao,v 1.4 2006/08/10 13:44:22 abs Exp $ - ---- util/RefHash3KeysIdPool.c.orig 2005-09-07 16:55:51.000000000 +0100 -+++ util/RefHash3KeysIdPool.c -@@ -97,6 +97,9 @@ RefHash3KeysIdPool::RefHash3KeysId - fIdPtrsCount = 256; - fIdPtrs = (TVal**) fMemoryManager->allocate(fIdPtrsCount * sizeof(TVal*)); //new TVal*[fIdPtrsCount]; - fIdPtrs[0] = 0; -+ -+ // create default hasher -+ fHash = new (fMemoryManager) HashXMLCh(); - } - - template diff --git a/textproc/xerces-c/patches/patch-ap b/textproc/xerces-c/patches/patch-ap deleted file mode 100644 index 03c789a74a2..00000000000 --- a/textproc/xerces-c/patches/patch-ap +++ /dev/null @@ -1,61 +0,0 @@ -$NetBSD: patch-ap,v 1.4 2006/08/10 13:44:22 abs Exp $ - ---- util/Transcoders/IconvGNU/IconvGNUTransService.cpp.orig 2005-09-07 16:55:44.000000000 +0100 -+++ util/Transcoders/IconvGNU/IconvGNUTransService.cpp -@@ -26,7 +26,11 @@ - #include - #include - #include -+#ifdef __NetBSD__ -+#include -+#else - #include -+#endif - - #include - #include -@@ -243,7 +247,7 @@ XMLCh IconvGNUWrapper::toUpper (const - xmlChToMbc (ch, wcbuf); - - char tmpArr[4]; -- char* ptr = wcbuf; -+ const char* ptr = wcbuf; - size_t len = fUChSize; - char *pTmpArr = tmpArr; - size_t bLen = 2; -@@ -275,7 +279,7 @@ XMLCh IconvGNUWrapper::toLower (const - xmlChToMbc (ch, wcbuf); - - char tmpArr[4]; -- char* ptr = wcbuf; -+ const char* ptr = wcbuf; - size_t len = fUChSize; - char *pTmpArr = tmpArr; - size_t bLen = 2; -@@ -307,7 +311,7 @@ bool IconvGNUWrapper::isSpace(const X - char tmpArr[4]; - - xmlChToMbc (toCheck, wcbuf); -- char* ptr = wcbuf; -+ const char* ptr = wcbuf; - size_t len = fUChSize; - char *pTmpArr = tmpArr; - size_t bLen = 2; -@@ -408,7 +412,7 @@ size_t IconvGNUWrapper::iconvFrom ( c - size_t toLen ) const - { - ICONV_LOCK; -- char ** tmpPtr = (char**)&fromPtr; -+ const char ** tmpPtr = &fromPtr; - return ::iconv (fCDFrom, tmpPtr, fromLen, toPtr, &toLen); - } - -@@ -418,7 +422,7 @@ size_t IconvGNUWrapper::iconvTo ( con - size_t toLen ) const - { - ICONV_LOCK; -- char ** tmpPtr = (char**)&fromPtr; -+ const char ** tmpPtr = &fromPtr; - return ::iconv (fCDTo, tmpPtr, fromLen, toPtr, &toLen); - } - diff --git a/textproc/xerces-c/patches/patch-aq b/textproc/xerces-c/patches/patch-aq deleted file mode 100644 index e7c33a6ab44..00000000000 --- a/textproc/xerces-c/patches/patch-aq +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-aq,v 1.2 2006/08/10 13:44:22 abs Exp $ - ---- util/XercesDefs.hpp.orig 2005-09-07 16:55:50.000000000 +0100 -+++ util/XercesDefs.hpp -@@ -266,6 +266,10 @@ - #include - #endif - -+#if defined(XML_DRAGONFLY) -+#include -+#endif -+ - #if defined(XML_OS390) - #include - #endif diff --git a/textproc/xerces-c/patches/patch-ar b/textproc/xerces-c/patches/patch-ar deleted file mode 100644 index cce0234ee51..00000000000 --- a/textproc/xerces-c/patches/patch-ar +++ /dev/null @@ -1,25 +0,0 @@ -$NetBSD: patch-ar,v 1.3 2009/05/10 11:24:27 hasso Exp $ - ---- ../../tests/Makefile.incl.orig 2007-08-28 21:46:48 +0300 -+++ ../../tests/Makefile.incl 2009-05-08 13:00:19 +0300 -@@ -269,6 +269,20 @@ ifeq (${PLATFORM}, FREEBSD) - endif - endif - -+#=============== DRAGONFLY SPECIFIC OPTIONS ========================= -+ifeq (${PLATFORM}, DRAGONFLY) -+ CMP= -c ${CXXFLAGS} -+ CC= ${COMPILER} -c -D${PLATFORM} -fPIC -+ LINK = ${COMPILER} -D${PLATFORM} -fPIC ${LDFLAGS} -+ PLATFORM_LIB_LINK_OPTIONS=-Wl,-rpath,${XERCESCROOT}/lib -+ ifdef ICUROOT -+ PLATFORM_LIB_LINK_OPTIONS+=-L${ICUROOT} -Wl,-rpath,${ICUROOT} -+ EXTRA_LINK_OPTIONS=-licudata -lstdc++ ${EXTRA_LIBS} -+ else -+ EXTRA_LINK_OPTIONS=${EXTRA_LIBS} -lstdc++ -+ endif -+endif -+ - #=============== NETBSD SPECIFIC OPTIONS ========================= - ifeq (${PLATFORM}, NETBSD) - CMP= -c ${CXXFLAGS} diff --git a/textproc/xerces-c/patches/patch-as b/textproc/xerces-c/patches/patch-as deleted file mode 100644 index 7bc63fc99a6..00000000000 --- a/textproc/xerces-c/patches/patch-as +++ /dev/null @@ -1,12 +0,0 @@ -$NetBSD: patch-as,v 1.2 2006/08/10 13:44:22 abs Exp $ - ---- ../../tests/configure.orig 2005-09-07 16:56:40.000000000 +0100 -+++ ../../tests/configure -@@ -1363,6 +1363,7 @@ case "${host}" in - *-*-linux*) platform=LINUX ;; - *-*-nto*) platform=QNX ;; - *-*-freebsd*) platform=FREEBSD ;; -+ *-*-dragonfly*) platform=DRAGONFLY ;; - *-*-netbsd*) platform=NETBSD ;; - *-*-irix*) platform=IRIX ;; - *-*-aix*) platform=AIX ;; diff --git a/textproc/xerces-c/patches/patch-at b/textproc/xerces-c/patches/patch-at deleted file mode 100644 index adde0612e1e..00000000000 --- a/textproc/xerces-c/patches/patch-at +++ /dev/null @@ -1,14 +0,0 @@ -$NetBSD: patch-at,v 1.2 2006/08/10 13:44:22 abs Exp $ - ---- ../../tests/runConfigure.orig 2005-09-07 16:56:40.000000000 +0100 -+++ ../../tests/runConfigure -@@ -265,6 +265,9 @@ else - elif test $platform = "freebsd"; then - threadingLibs="-pthread -lc_r" - threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS" -+ elif test $platform = "dragonfly"; then -+ threadingLibs="-pthread -lc_r" -+ threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS" - elif test $platform = "netbsd"; then - threadingLibs="-pthread" - threadingDefines="-D_THREAD_SAFE -DXML_USE_PTHREADS" diff --git a/textproc/xerces-c/patches/patch-ba b/textproc/xerces-c/patches/patch-ba deleted file mode 100644 index 5fee6e1e3bb..00000000000 --- a/textproc/xerces-c/patches/patch-ba +++ /dev/null @@ -1,653 +0,0 @@ -$NetBSD: patch-ba,v 1.1 2009/08/28 05:24:34 hasso Exp $ - -Fix for CVE-2009-1885 from upstream subversion repo. - ---- ../../src/xercesc/validators/DTD/DTDScanner.cpp 2008/05/21 16:42:53 658750 -+++ ../../src/xercesc/validators/DTD/DTDScanner.cpp 2009/08/24 14:03:57 807224 -@@ -27,7 +27,9 @@ - #include - #include - #include -+#include - #include -+#include - #include - #include - #include -@@ -39,7 +41,6 @@ - #include - #include - #include --#include - - XERCES_CPP_NAMESPACE_BEGIN - -@@ -1046,338 +1047,354 @@ - // Check for a PE ref here, but don't require spaces - checkForPERef(false, true); - -- // We have to check entity nesting here -- unsigned int curReader; -- -+ ValueStackOf* arrNestedDecl=NULL; - // - // We know that the caller just saw an opening parenthesis, so we need -- // to parse until we hit the end of it, recursing for other nested -- // parentheses we see. -+ // to parse until we hit the end of it; if we find several parenthesis, -+ // store them in an array to be processed later. - // - // We have to check for one up front, since it could be something like - // (((a)*)) etc... - // - ContentSpecNode* curNode = 0; -- if (fReaderMgr->skippedChar(chOpenParen)) -+ while(fReaderMgr->skippedChar(chOpenParen)) - { -- curReader = fReaderMgr->getCurrentReaderNum(); -+ // to check entity nesting -+ const unsigned int curReader = fReaderMgr->getCurrentReaderNum(); -+ if(arrNestedDecl==NULL) -+ arrNestedDecl=new (fMemoryManager) ValueStackOf(5, fMemoryManager); -+ arrNestedDecl->push(curReader); - -- // Lets call ourself and get back the resulting node -- curNode = scanChildren(elemDecl, bufToUse); -+ // Check for a PE ref here, but don't require spaces -+ checkForPERef(false, true); -+ } - -- // If that failed, no need to go further, return failure -- if (!curNode) -- return 0; -+ // We must find a leaf node here, either standalone or nested in the parenthesis -+ if (!fReaderMgr->getName(bufToUse)) -+ { -+ fScanner->emitError(XMLErrs::ExpectedElementName); -+ return 0; -+ } - -- if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getDoValidation()) -- fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); -+ // -+ // Create a leaf node for it. If we can find the element id for -+ // this element, then use it. Else, we have to fault in an element -+ // decl, marked as created because of being in a content model. -+ // -+ XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); -+ if (!decl) -+ { -+ decl = new (fGrammarPoolMemoryManager) DTDElementDecl -+ ( -+ bufToUse.getRawBuffer() -+ , fEmptyNamespaceId -+ , DTDElementDecl::Any -+ , fGrammarPoolMemoryManager -+ ); -+ decl->setCreateReason(XMLElementDecl::InContentModel); -+ decl->setExternalElemDeclaration(isReadingExternalEntity()); -+ fDTDGrammar->putElemDecl(decl); - } -- else -+ curNode = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ decl->getElementName() -+ , fGrammarPoolMemoryManager -+ ); -+ -+ // Check for a PE ref here, but don't require spaces -+ const bool gotSpaces = checkForPERef(false, true); -+ -+ // Check for a repetition character after the leaf -+ XMLCh repCh = fReaderMgr->peekNextChar(); -+ ContentSpecNode* tmpNode = makeRepNode(repCh, curNode, fGrammarPoolMemoryManager); -+ if (tmpNode != curNode) - { -- // Not a nested paren, so it must be a leaf node -- if (!fReaderMgr->getName(bufToUse)) -+ if (gotSpaces) - { -- fScanner->emitError(XMLErrs::ExpectedElementName); -- return 0; -+ if (fScanner->emitErrorWillThrowException(XMLErrs::UnexpectedWhitespace)) -+ { -+ delete tmpNode; -+ } -+ fScanner->emitError(XMLErrs::UnexpectedWhitespace); - } -+ fReaderMgr->getNextChar(); -+ curNode = tmpNode; -+ } - -+ while(arrNestedDecl==NULL || !arrNestedDecl->empty()) -+ { -+ // Check for a PE ref here, but don't require spaces -+ checkForPERef(false, true); -+ - // -- // Create a leaf node for it. If we can find the element id for -- // this element, then use it. Else, we have to fault in an element -- // decl, marked as created because of being in a content model. -+ // Ok, the next character tells us what kind of content this particular -+ // model this particular parentesized section is. Its either a choice if -+ // we see ',', a sequence if we see '|', or a single leaf node if we see -+ // a closing paren. -+ // -+ const XMLCh opCh = fReaderMgr->peekNextChar(); -+ -+ if ((opCh != chComma) -+ && (opCh != chPipe) -+ && (opCh != chCloseParen)) -+ { -+ // Not a legal char, so delete our node and return failure -+ delete curNode; -+ fScanner->emitError(XMLErrs::ExpectedSeqChoiceLeaf); -+ return 0; -+ } -+ - // -- XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); -- if (!decl) -+ // Create the head node of the correct type. We need this to remember -+ // the top of the local tree. If it was a single subexpr, then just -+ // set the head node to the current node. For the others, we'll build -+ // the tree off the second child as we move across. -+ // -+ ContentSpecNode* headNode = 0; -+ ContentSpecNode::NodeTypes curType = ContentSpecNode::UnknownType; -+ if (opCh == chComma) - { -- decl = new (fGrammarPoolMemoryManager) DTDElementDecl -+ curType = ContentSpecNode::Sequence; -+ headNode = new (fGrammarPoolMemoryManager) ContentSpecNode - ( -- bufToUse.getRawBuffer() -- , fEmptyNamespaceId -- , DTDElementDecl::Any -+ curType -+ , curNode -+ , 0 -+ , true -+ , true - , fGrammarPoolMemoryManager - ); -- decl->setCreateReason(XMLElementDecl::InContentModel); -- decl->setExternalElemDeclaration(isReadingExternalEntity()); -- fDTDGrammar->putElemDecl(decl); -+ curNode = headNode; - } -- curNode = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- decl->getElementName() -- , fGrammarPoolMemoryManager -- ); -- -- // Check for a PE ref here, but don't require spaces -- const bool gotSpaces = checkForPERef(false, true); -- -- // Check for a repetition character after the leaf -- const XMLCh repCh = fReaderMgr->peekNextChar(); -- ContentSpecNode* tmpNode = makeRepNode(repCh, curNode, fGrammarPoolMemoryManager); -- if (tmpNode != curNode) -+ else if (opCh == chPipe) - { -- if (gotSpaces) -- { -- if (fScanner->emitErrorWillThrowException(XMLErrs::UnexpectedWhitespace)) -- { -- delete tmpNode; -- } -- fScanner->emitError(XMLErrs::UnexpectedWhitespace); -- } -+ curType = ContentSpecNode::Choice; -+ headNode = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ curType -+ , curNode -+ , 0 -+ , true -+ , true -+ , fGrammarPoolMemoryManager -+ ); -+ curNode = headNode; -+ } -+ else -+ { -+ headNode = curNode; - fReaderMgr->getNextChar(); -- curNode = tmpNode; - } -- } -- -- // Check for a PE ref here, but don't require spaces -- checkForPERef(false, true); - -- // -- // Ok, the next character tells us what kind of content this particular -- // model this particular parentesized section is. Its either a choice if -- // we see ',', a sequence if we see '|', or a single leaf node if we see -- // a closing paren. -- // -- const XMLCh opCh = fReaderMgr->peekNextChar(); -- -- if ((opCh != chComma) -- && (opCh != chPipe) -- && (opCh != chCloseParen)) -- { -- // Not a legal char, so delete our node and return failure -- delete curNode; -- fScanner->emitError(XMLErrs::ExpectedSeqChoiceLeaf); -- return 0; -- } -- -- // -- // Create the head node of the correct type. We need this to remember -- // the top of the local tree. If it was a single subexpr, then just -- // set the head node to the current node. For the others, we'll build -- // the tree off the second child as we move across. -- // -- ContentSpecNode* headNode = 0; -- ContentSpecNode::NodeTypes curType = ContentSpecNode::UnknownType; -- if (opCh == chComma) -- { -- curType = ContentSpecNode::Sequence; -- headNode = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- curType -- , curNode -- , 0 -- , true -- , true -- , fGrammarPoolMemoryManager -- ); -- curNode = headNode; -- } -- else if (opCh == chPipe) -- { -- curType = ContentSpecNode::Choice; -- headNode = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- curType -- , curNode -- , 0 -- , true -- , true -- , fGrammarPoolMemoryManager -- ); -- curNode = headNode; -- } -- else -- { -- headNode = curNode; -- fReaderMgr->getNextChar(); -- } -- -- // -- // If it was a sequence or choice, we just loop until we get to the -- // end of our section, adding each new leaf or sub expression to the -- // right child of the current node, and making that new node the current -- // node. -- // -- if ((opCh == chComma) || (opCh == chPipe)) -- { -- ContentSpecNode* lastNode = 0; -- while (true) -+ // -+ // If it was a sequence or choice, we just loop until we get to the -+ // end of our section, adding each new leaf or sub expression to the -+ // right child of the current node, and making that new node the current -+ // node. -+ // -+ if ((opCh == chComma) || (opCh == chPipe)) - { -- // -- // The next thing must either be another | or , character followed -- // by another leaf or subexpression, or a closing parenthesis, or a -- // PE ref. -- // -- if (fReaderMgr->lookingAtChar(chPercent)) -- { -- checkForPERef(false, true); -- } -- else if (fReaderMgr->skippedSpace()) -- { -- // Just skip whitespace -- fReaderMgr->skipPastSpaces(); -- } -- else if (fReaderMgr->skippedChar(chCloseParen)) -+ ContentSpecNode* lastNode = 0; -+ while (true) - { - // -- // We've hit the end of this section, so break out. But, we -- // need to see if we left a partial sequence of choice node -- // without a second node. If so, we have to undo that and -- // put its left child into the right node of the previous -- // node. -+ // The next thing must either be another | or , character followed -+ // by another leaf or subexpression, or a closing parenthesis, or a -+ // PE ref. - // -- if ((curNode->getType() == ContentSpecNode::Choice) -- || (curNode->getType() == ContentSpecNode::Sequence)) -+ if (fReaderMgr->lookingAtChar(chPercent)) -+ { -+ checkForPERef(false, true); -+ } -+ else if (fReaderMgr->skippedSpace()) - { -- if (!curNode->getSecond()) -+ // Just skip whitespace -+ fReaderMgr->skipPastSpaces(); -+ } -+ else if (fReaderMgr->skippedChar(chCloseParen)) -+ { -+ // -+ // We've hit the end of this section, so break out. But, we -+ // need to see if we left a partial sequence of choice node -+ // without a second node. If so, we have to undo that and -+ // put its left child into the right node of the previous -+ // node. -+ // -+ if ((curNode->getType() == ContentSpecNode::Choice) -+ || (curNode->getType() == ContentSpecNode::Sequence)) - { -- ContentSpecNode* saveFirst = curNode->orphanFirst(); -- lastNode->setSecond(saveFirst); -- curNode = lastNode; -+ if (!curNode->getSecond()) -+ { -+ ContentSpecNode* saveFirst = curNode->orphanFirst(); -+ lastNode->setSecond(saveFirst); -+ curNode = lastNode; -+ } - } -+ break; - } -- break; -- } -- else if (fReaderMgr->skippedChar(opCh)) -- { -- // Check for a PE ref here, but don't require spaces -- checkForPERef(false, true); -- -- if (fReaderMgr->skippedChar(chOpenParen)) -+ else if (fReaderMgr->skippedChar(opCh)) - { -- curReader = fReaderMgr->getCurrentReaderNum(); -+ // Check for a PE ref here, but don't require spaces -+ checkForPERef(false, true); - -- // Recurse to handle this new guy -- ContentSpecNode* subNode; -- try { -- subNode = scanChildren(elemDecl, bufToUse); -- } -- catch (const XMLErrs::Codes) -+ if (fReaderMgr->skippedChar(chOpenParen)) - { -- delete headNode; -- throw; -- } -+ const unsigned int curReader = fReaderMgr->getCurrentReaderNum(); - -- // If it failed, we are done, clean up here and return failure -- if (!subNode) -- { -- delete headNode; -- return 0; -+ // Recurse to handle this new guy -+ ContentSpecNode* subNode; -+ try { -+ subNode = scanChildren(elemDecl, bufToUse); -+ } -+ catch (const XMLErrs::Codes) -+ { -+ delete headNode; -+ throw; -+ } -+ -+ // If it failed, we are done, clean up here and return failure -+ if (!subNode) -+ { -+ delete headNode; -+ return 0; -+ } -+ -+ if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getDoValidation()) -+ fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); -+ -+ // Else patch it in and make it the new current -+ ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ curType -+ , subNode -+ , 0 -+ , true -+ , true -+ , fGrammarPoolMemoryManager -+ ); -+ curNode->setSecond(newCur); -+ lastNode = curNode; -+ curNode = newCur; - } -+ else -+ { -+ // -+ // Got to be a leaf node, so get a name. If we cannot get -+ // one, then clean up and get outa here. -+ // -+ if (!fReaderMgr->getName(bufToUse)) -+ { -+ delete headNode; -+ fScanner->emitError(XMLErrs::ExpectedElementName); -+ return 0; -+ } -+ -+ // -+ // Create a leaf node for it. If we can find the element -+ // id for this element, then use it. Else, we have to -+ // fault in an element decl, marked as created because -+ // of being in a content model. -+ // -+ XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); -+ if (!decl) -+ { -+ decl = new (fGrammarPoolMemoryManager) DTDElementDecl -+ ( -+ bufToUse.getRawBuffer() -+ , fEmptyNamespaceId -+ , DTDElementDecl::Any -+ , fGrammarPoolMemoryManager -+ ); -+ decl->setCreateReason(XMLElementDecl::InContentModel); -+ decl->setExternalElemDeclaration(isReadingExternalEntity()); -+ fDTDGrammar->putElemDecl(decl); -+ } - -- if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getDoValidation()) -- fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); -+ ContentSpecNode* tmpLeaf = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ decl->getElementName() -+ , fGrammarPoolMemoryManager -+ ); - -- // Else patch it in and make it the new current -- ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- curType -- , subNode -- , 0 -- , true -- , true -- , fGrammarPoolMemoryManager -- ); -- curNode->setSecond(newCur); -- lastNode = curNode; -- curNode = newCur; -+ // Check for a repetition character after the leaf -+ const XMLCh repCh = fReaderMgr->peekNextChar(); -+ ContentSpecNode* tmpLeaf2 = makeRepNode(repCh, tmpLeaf, fGrammarPoolMemoryManager); -+ if (tmpLeaf != tmpLeaf2) -+ fReaderMgr->getNextChar(); -+ -+ // -+ // Create a new sequence or choice node, with the leaf -+ // (or rep surrounding it) we just got as its first node. -+ // Make the new node the second node of the current node, -+ // and then make it the current node. -+ // -+ ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ curType -+ , tmpLeaf2 -+ , 0 -+ , true -+ , true -+ , fGrammarPoolMemoryManager -+ ); -+ curNode->setSecond(newCur); -+ lastNode = curNode; -+ curNode = newCur; -+ } - } - else - { -- // -- // Got to be a leaf node, so get a name. If we cannot get -- // one, then clean up and get outa here. -- // -- if (!fReaderMgr->getName(bufToUse)) -+ // Cannot be valid -+ delete headNode; // emitError may do a throw so need to clean-up first -+ if (opCh == chComma) - { -- delete headNode; -- fScanner->emitError(XMLErrs::ExpectedElementName); -- return 0; -+ fScanner->emitError(XMLErrs::ExpectedChoiceOrCloseParen); - } -- -- // -- // Create a leaf node for it. If we can find the element -- // id for this element, then use it. Else, we have to -- // fault in an element decl, marked as created because -- // of being in a content model. -- // -- XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); -- if (!decl) -+ else - { -- decl = new (fGrammarPoolMemoryManager) DTDElementDecl -+ fScanner->emitError - ( -- bufToUse.getRawBuffer() -- , fEmptyNamespaceId -- , DTDElementDecl::Any -- , fGrammarPoolMemoryManager -+ XMLErrs::ExpectedSeqOrCloseParen -+ , elemDecl.getFullName() - ); -- decl->setCreateReason(XMLElementDecl::InContentModel); -- decl->setExternalElemDeclaration(isReadingExternalEntity()); -- fDTDGrammar->putElemDecl(decl); -- } -+ } -+ return 0; -+ } -+ } -+ } - -- ContentSpecNode* tmpLeaf = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- decl->getElementName() -- , fGrammarPoolMemoryManager -- ); -+ // -+ // We saw the terminating parenthesis so lets check for any repetition -+ // character, and create a node for that, making the head node the child -+ // of it. -+ // -+ const XMLCh repCh = fReaderMgr->peekNextChar(); -+ curNode = makeRepNode(repCh, headNode, fGrammarPoolMemoryManager); -+ if (curNode != headNode) -+ fReaderMgr->getNextChar(); -+ -+ // prepare for recursion -+ if(arrNestedDecl==NULL) -+ break; -+ else -+ { -+ // If that failed, no need to go further, return failure -+ if (!curNode) -+ return 0; - -- // Check for a repetition character after the leaf -- const XMLCh repCh = fReaderMgr->peekNextChar(); -- ContentSpecNode* tmpLeaf2 = makeRepNode(repCh, tmpLeaf, fGrammarPoolMemoryManager); -- if (tmpLeaf != tmpLeaf2) -- fReaderMgr->getNextChar(); -+ const unsigned int curReader = arrNestedDecl->pop(); -+ if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getValidationScheme() == XMLScanner::Val_Always) -+ fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); - -- // -- // Create a new sequence or choice node, with the leaf -- // (or rep surrounding it) we just got as its first node. -- // Make the new node the second node of the current node, -- // and then make it the current node. -- // -- ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- curType -- , tmpLeaf2 -- , 0 -- , true -- , true -- , fGrammarPoolMemoryManager -- ); -- curNode->setSecond(newCur); -- lastNode = curNode; -- curNode = newCur; -- } -- } -- else -+ if(arrNestedDecl->empty()) - { -- // Cannot be valid -- delete headNode; // emitError may do a throw so need to clean-up first -- if (opCh == chComma) -- { -- fScanner->emitError(XMLErrs::ExpectedChoiceOrCloseParen); -- } -- else -- { -- fScanner->emitError -- ( -- XMLErrs::ExpectedSeqOrCloseParen -- , elemDecl.getFullName() -- ); -- } -- return 0; -+ delete arrNestedDecl; -+ arrNestedDecl=NULL; - } - } - } - -- // -- // We saw the terminating parenthesis so lets check for any repetition -- // character, and create a node for that, making the head node the child -- // of it. -- // -- XMLCh repCh = fReaderMgr->peekNextChar(); -- ContentSpecNode* retNode = makeRepNode(repCh, headNode, fGrammarPoolMemoryManager); -- if (retNode != headNode) -- fReaderMgr->getNextChar(); -- -- return retNode; -+ return curNode; - } - - -- cgit v1.2.3