From d901f27daf5bb89462aa87a50aa6873c82f9fe1a Mon Sep 17 00:00:00 2001 From: JinWang An Date: Fri, 23 Oct 2020 20:10:12 +0900 Subject: [PATCH] Imported Upstream version 2.35.2 --- ChangeLog | 33 +++ INSTALL | 9 +- MSVC_Net2005/libxml++/libxml++.rc | 8 +- MSVC_Net2005/libxml++/libxml++config.h | 2 +- MSVC_Net2008/libxml++/libxml++.rc | 8 +- MSVC_Net2008/libxml++/libxml++config.h | 2 +- MSVC_Net2010/libxml++/libxml++.rc | 8 +- MSVC_Net2010/libxml++/libxml++config.h | 2 +- Makefile.in | 197 ++++++------- NEWS | 7 + aclocal.m4 | 109 +++++-- config.h.in | 3 - configure | 319 ++++++++++++--------- configure.ac | 4 +- docs/manual/html/ch01s02.html | 4 +- docs/manual/html/ch01s03.html | 4 +- docs/manual/html/ch02s02.html | 15 +- docs/manual/html/ch02s03.html | 10 +- docs/manual/html/chapter-introduction.html | 6 +- docs/manual/html/chapter-parsers.html | 12 +- docs/manual/html/index.html | 6 +- docs/manual/libxml++.xml | 17 +- docs/reference/html/annotated.html | 39 ++- docs/reference/html/classes.html | 82 ++++-- docs/reference/html/classsigc_1_1trackable.html | 43 ++- .../classsigc_1_1trackable__inherit__graph.png | Bin 167076 -> 184244 bytes docs/reference/html/classstd_1_1exception.html | 43 ++- .../html/classstd_1_1exception__inherit__graph.png | Bin 8955 -> 9018 bytes .../html/classxmlpp_1_1Attribute-members.html | 41 ++- docs/reference/html/classxmlpp_1_1Attribute.html | 57 ++-- ...classxmlpp_1_1AttributeDeclaration-members.html | 41 ++- .../html/classxmlpp_1_1AttributeDeclaration.html | 53 ++-- ...sxmlpp_1_1AttributeDeclaration__coll__graph.png | Bin 8725 -> 7465 bytes ...lpp_1_1AttributeDeclaration__inherit__graph.png | Bin 8725 -> 7465 bytes .../html/classxmlpp_1_1AttributeNode-members.html | 41 ++- .../html/classxmlpp_1_1AttributeNode.html | 47 ++- .../classxmlpp_1_1AttributeNode__coll__graph.png | Bin 8118 -> 6927 bytes ...classxmlpp_1_1AttributeNode__inherit__graph.png | Bin 8118 -> 6927 bytes .../html/classxmlpp_1_1Attribute__coll__graph.png | Bin 5719 -> 4975 bytes .../classxmlpp_1_1Attribute__inherit__graph.png | Bin 10519 -> 10056 bytes .../html/classxmlpp_1_1CdataNode-members.html | 41 ++- docs/reference/html/classxmlpp_1_1CdataNode.html | 47 ++- .../html/classxmlpp_1_1CdataNode__coll__graph.png | Bin 8219 -> 7110 bytes .../classxmlpp_1_1CdataNode__inherit__graph.png | Bin 8219 -> 7110 bytes .../html/classxmlpp_1_1CommentNode-members.html | 41 ++- docs/reference/html/classxmlpp_1_1CommentNode.html | 47 ++- .../classxmlpp_1_1CommentNode__coll__graph.png | Bin 8171 -> 7043 bytes .../classxmlpp_1_1CommentNode__inherit__graph.png | Bin 8171 -> 7043 bytes .../html/classxmlpp_1_1ContentNode-members.html | 41 ++- docs/reference/html/classxmlpp_1_1ContentNode.html | 55 ++-- .../classxmlpp_1_1ContentNode__coll__graph.png | Bin 6022 -> 5204 bytes .../classxmlpp_1_1ContentNode__inherit__graph.png | Bin 18306 -> 18842 bytes .../html/classxmlpp_1_1Document-members.html | 39 ++- docs/reference/html/classxmlpp_1_1Document.html | 111 ++++--- .../html/classxmlpp_1_1Document__coll__graph.png | Bin 4124 -> 3522 bytes .../classxmlpp_1_1Document__inherit__graph.png | Bin 4124 -> 3522 bytes .../html/classxmlpp_1_1DomParser-members.html | 39 ++- docs/reference/html/classxmlpp_1_1DomParser.html | 85 +++--- .../html/classxmlpp_1_1DomParser__coll__graph.png | Bin 20845 -> 18218 bytes .../classxmlpp_1_1DomParser__inherit__graph.png | Bin 6027 -> 5251 bytes docs/reference/html/classxmlpp_1_1Dtd-members.html | 39 ++- docs/reference/html/classxmlpp_1_1Dtd.html | 53 ++-- .../html/classxmlpp_1_1DtdValidator-members.html | 39 ++- .../reference/html/classxmlpp_1_1DtdValidator.html | 67 +++-- .../classxmlpp_1_1DtdValidator__coll__graph.png | Bin 19294 -> 16696 bytes .../classxmlpp_1_1DtdValidator__inherit__graph.png | Bin 6259 -> 5320 bytes .../html/classxmlpp_1_1Element-members.html | 41 ++- docs/reference/html/classxmlpp_1_1Element.html | 149 +++++----- .../html/classxmlpp_1_1Element__coll__graph.png | Bin 5401 -> 4701 bytes .../html/classxmlpp_1_1Element__inherit__graph.png | Bin 5401 -> 4701 bytes .../classxmlpp_1_1EntityDeclaration-members.html | 41 ++- .../html/classxmlpp_1_1EntityDeclaration.html | 55 ++-- ...lassxmlpp_1_1EntityDeclaration__coll__graph.png | Bin 8522 -> 7382 bytes ...sxmlpp_1_1EntityDeclaration__inherit__graph.png | Bin 8522 -> 7382 bytes .../classxmlpp_1_1EntityReference-members.html | 41 ++- .../html/classxmlpp_1_1EntityReference.html | 51 +++- .../classxmlpp_1_1EntityReference__coll__graph.png | Bin 6123 -> 5233 bytes ...assxmlpp_1_1EntityReference__inherit__graph.png | Bin 6123 -> 5233 bytes ...sxmlpp_1_1IStreamParserInputBuffer-members.html | 39 ++- .../classxmlpp_1_1IStreamParserInputBuffer.html | 49 +++- ...pp_1_1IStreamParserInputBuffer__coll__graph.png | Bin 7583 -> 6241 bytes ...1_1IStreamParserInputBuffer__inherit__graph.png | Bin 7583 -> 6241 bytes .../html/classxmlpp_1_1KeepBlanks-members.html | 39 ++- docs/reference/html/classxmlpp_1_1KeepBlanks.html | 43 ++- .../reference/html/classxmlpp_1_1Node-members.html | 41 ++- docs/reference/html/classxmlpp_1_1Node.html | 209 +++++++++----- .../html/classxmlpp_1_1Node__coll__graph.png | Bin 3868 -> 3347 bytes .../html/classxmlpp_1_1Node__inherit__graph.png | Bin 32262 -> 32915 bytes .../html/classxmlpp_1_1NonCopyable-members.html | 39 ++- docs/reference/html/classxmlpp_1_1NonCopyable.html | 45 ++- .../classxmlpp_1_1NonCopyable__inherit__graph.png | Bin 66105 -> 68353 bytes .../classxmlpp_1_1OStreamOutputBuffer-members.html | 39 ++- .../html/classxmlpp_1_1OStreamOutputBuffer.html | 49 +++- ...ssxmlpp_1_1OStreamOutputBuffer__coll__graph.png | Bin 7214 -> 5947 bytes ...mlpp_1_1OStreamOutputBuffer__inherit__graph.png | Bin 7214 -> 5947 bytes .../html/classxmlpp_1_1OutputBuffer-members.html | 39 ++- .../reference/html/classxmlpp_1_1OutputBuffer.html | 53 ++-- .../classxmlpp_1_1OutputBuffer__coll__graph.png | Bin 4290 -> 3611 bytes .../classxmlpp_1_1OutputBuffer__inherit__graph.png | Bin 7050 -> 5880 bytes .../html/classxmlpp_1_1Parser-members.html | 39 ++- docs/reference/html/classxmlpp_1_1Parser.html | 111 ++++--- .../classxmlpp_1_1ParserInputBuffer-members.html | 39 ++- .../html/classxmlpp_1_1ParserInputBuffer.html | 51 +++- ...lassxmlpp_1_1ParserInputBuffer__coll__graph.png | Bin 4623 -> 3823 bytes ...sxmlpp_1_1ParserInputBuffer__inherit__graph.png | Bin 7572 -> 6208 bytes .../html/classxmlpp_1_1Parser__coll__graph.png | Bin 14886 -> 12172 bytes .../html/classxmlpp_1_1Parser__inherit__graph.png | Bin 7913 -> 7592 bytes ...xmlpp_1_1ProcessingInstructionNode-members.html | 41 ++- .../classxmlpp_1_1ProcessingInstructionNode.html | 47 ++- ...p_1_1ProcessingInstructionNode__coll__graph.png | Bin 9241 -> 7967 bytes ..._1ProcessingInstructionNode__inherit__graph.png | Bin 9241 -> 7967 bytes .../html/classxmlpp_1_1SaxParser-members.html | 39 ++- docs/reference/html/classxmlpp_1_1SaxParser.html | 117 ++++---- .../html/classxmlpp_1_1SaxParser__coll__graph.png | Bin 21817 -> 14305 bytes .../classxmlpp_1_1SaxParser__inherit__graph.png | Bin 6033 -> 5270 bytes .../html/classxmlpp_1_1Schema-members.html | 39 ++- docs/reference/html/classxmlpp_1_1Schema.html | 71 +++-- .../classxmlpp_1_1SchemaValidator-members.html | 39 ++- .../html/classxmlpp_1_1SchemaValidator.html | 87 +++--- .../classxmlpp_1_1SchemaValidator__coll__graph.png | Bin 21876 -> 18933 bytes ...assxmlpp_1_1SchemaValidator__inherit__graph.png | Bin 6852 -> 5899 bytes .../html/classxmlpp_1_1Schema__coll__graph.png | Bin 4092 -> 3558 bytes .../html/classxmlpp_1_1Schema__inherit__graph.png | Bin 4092 -> 3558 bytes .../html/classxmlpp_1_1TextNode-members.html | 41 ++- docs/reference/html/classxmlpp_1_1TextNode.html | 47 ++- .../html/classxmlpp_1_1TextNode__coll__graph.png | Bin 7893 -> 6764 bytes .../classxmlpp_1_1TextNode__inherit__graph.png | Bin 7893 -> 6764 bytes .../html/classxmlpp_1_1TextReader-members.html | 39 ++- docs/reference/html/classxmlpp_1_1TextReader.html | 139 +++++---- .../html/classxmlpp_1_1TextReader__coll__graph.png | Bin 7196 -> 3499 bytes .../classxmlpp_1_1TextReader__inherit__graph.png | Bin 4169 -> 3499 bytes .../html/classxmlpp_1_1Validator-members.html | 39 ++- docs/reference/html/classxmlpp_1_1Validator.html | 67 +++-- .../html/classxmlpp_1_1Validator__coll__graph.png | Bin 15044 -> 12261 bytes .../classxmlpp_1_1Validator__inherit__graph.png | Bin 8390 -> 8208 bytes .../html/classxmlpp_1_1exception-members.html | 39 ++- docs/reference/html/classxmlpp_1_1exception.html | 53 ++-- .../html/classxmlpp_1_1exception__coll__graph.png | Bin 6728 -> 3099 bytes .../classxmlpp_1_1exception__inherit__graph.png | Bin 9334 -> 9314 bytes .../classxmlpp_1_1internal__error-members.html | 39 ++- .../html/classxmlpp_1_1internal__error.html | 51 +++- .../classxmlpp_1_1internal__error__coll__graph.png | Bin 8773 -> 4727 bytes ...assxmlpp_1_1internal__error__inherit__graph.png | Bin 5381 -> 4727 bytes .../html/classxmlpp_1_1parse__error-members.html | 39 ++- .../reference/html/classxmlpp_1_1parse__error.html | 51 +++- .../classxmlpp_1_1parse__error__coll__graph.png | Bin 8786 -> 4773 bytes .../classxmlpp_1_1parse__error__inherit__graph.png | Bin 7613 -> 6745 bytes .../classxmlpp_1_1validity__error-members.html | 39 ++- .../html/classxmlpp_1_1validity__error.html | 51 +++- .../classxmlpp_1_1validity__error__coll__graph.png | Bin 11108 -> 6762 bytes ...assxmlpp_1_1validity__error__inherit__graph.png | Bin 7575 -> 6762 bytes docs/reference/html/doxygen.css | 140 ++++++++- docs/reference/html/functions.html | 37 ++- docs/reference/html/functions_0x63.html | 37 ++- docs/reference/html/functions_0x64.html | 37 ++- docs/reference/html/functions_0x65.html | 37 ++- docs/reference/html/functions_0x66.html | 37 ++- docs/reference/html/functions_0x67.html | 64 +++-- docs/reference/html/functions_0x68.html | 37 ++- docs/reference/html/functions_0x69.html | 37 ++- docs/reference/html/functions_0x6b.html | 37 ++- docs/reference/html/functions_0x6c.html | 37 ++- docs/reference/html/functions_0x6d.html | 37 ++- docs/reference/html/functions_0x6e.html | 37 ++- docs/reference/html/functions_0x6f.html | 37 ++- docs/reference/html/functions_0x70.html | 37 ++- docs/reference/html/functions_0x72.html | 37 ++- docs/reference/html/functions_0x73.html | 37 ++- docs/reference/html/functions_0x74.html | 37 ++- docs/reference/html/functions_0x76.html | 37 ++- docs/reference/html/functions_0x77.html | 37 ++- docs/reference/html/functions_0x78.html | 37 ++- docs/reference/html/functions_0x7e.html | 37 ++- docs/reference/html/functions_enum.html | 37 ++- docs/reference/html/functions_eval.html | 37 ++- docs/reference/html/functions_func.html | 37 ++- docs/reference/html/functions_func_0x63.html | 37 ++- docs/reference/html/functions_func_0x64.html | 37 ++- docs/reference/html/functions_func_0x65.html | 37 ++- docs/reference/html/functions_func_0x66.html | 37 ++- docs/reference/html/functions_func_0x67.html | 64 +++-- docs/reference/html/functions_func_0x68.html | 37 ++- docs/reference/html/functions_func_0x69.html | 37 ++- docs/reference/html/functions_func_0x6b.html | 37 ++- docs/reference/html/functions_func_0x6c.html | 37 ++- docs/reference/html/functions_func_0x6d.html | 37 ++- docs/reference/html/functions_func_0x6e.html | 37 ++- docs/reference/html/functions_func_0x6f.html | 37 ++- docs/reference/html/functions_func_0x70.html | 37 ++- docs/reference/html/functions_func_0x72.html | 37 ++- docs/reference/html/functions_func_0x73.html | 37 ++- docs/reference/html/functions_func_0x74.html | 37 ++- docs/reference/html/functions_func_0x76.html | 37 ++- docs/reference/html/functions_func_0x77.html | 37 ++- docs/reference/html/functions_func_0x7e.html | 37 ++- docs/reference/html/functions_type.html | 37 ++- docs/reference/html/functions_vars.html | 37 ++- docs/reference/html/graph_legend.html | 41 ++- docs/reference/html/graph_legend.png | Bin 15326 -> 17086 bytes docs/reference/html/hierarchy.html | 39 ++- docs/reference/html/index.html | 39 ++- docs/reference/html/inherit_graph_0.png | Bin 7386 -> 6894 bytes docs/reference/html/inherit_graph_1.png | Bin 1198 -> 1045 bytes docs/reference/html/inherit_graph_2.png | Bin 1260 -> 982 bytes docs/reference/html/inherit_graph_3.png | Bin 1910 -> 1581 bytes docs/reference/html/inherit_graph_4.png | Bin 66077 -> 68230 bytes docs/reference/html/inherit_graph_5.png | Bin 2389 -> 1939 bytes docs/reference/html/inherit_graph_6.png | Bin 2721 -> 2197 bytes docs/reference/html/inherits.html | 47 ++- docs/reference/html/namespacemembers.html | 37 ++- docs/reference/html/namespacemembers_enum.html | 37 ++- docs/reference/html/namespacemembers_eval.html | 37 ++- docs/reference/html/namespacemembers_func.html | 37 ++- docs/reference/html/namespacemembers_type.html | 37 ++- docs/reference/html/namespaces.html | 39 ++- docs/reference/html/namespacexmlpp.html | 47 ++- docs/reference/html/pages.html | 39 ++- docs/reference/html/since_2_20.html | 44 ++- docs/reference/html/since_2_24.html | 74 ++--- docs/reference/html/since_2_36.html | 93 +++--- ...uctxmlpp_1_1SaxParser_1_1Attribute-members.html | 39 ++- .../structxmlpp_1_1SaxParser_1_1Attribute.html | 43 ++- ...p_1_1SaxParser_1_1AttributeHasName-members.html | 39 ++- ...ructxmlpp_1_1SaxParser_1_1AttributeHasName.html | 43 ++- ...1SaxParser_1_1AttributeHasName__coll__graph.png | Bin 5479 -> 4513 bytes ...mlpp_1_1SaxParser_1_1Attribute__coll__graph.png | Bin 5448 -> 4548 bytes docs/reference/libxml++-2.6.devhelp2 | 2 + docs/reference/libxml++-2.6.tag | 30 +- examples/dom_build/main.cc | 4 - examples/dom_parse_entities/main.cc | 4 - examples/dom_parser/main.cc | 4 - examples/dom_parser_raw/main.cc | 9 - examples/dom_read_write/main.cc | 4 - examples/dom_xpath/main.cc | 4 - examples/dtdvalidation/main.cc | 12 - examples/import_node/main.cc | 6 +- examples/sax_exception/main.cc | 4 - examples/sax_exception/myparser.cc | 4 - examples/sax_parser/main.cc | 4 - examples/sax_parser/myparser.cc | 3 +- examples/sax_parser/myparser.h | 2 - examples/sax_parser_build_dom/main.cc | 4 - examples/sax_parser_entities/main.cc | 4 - examples/schemavalidation/main.cc | 4 +- examples/textreader/main.cc | 4 - libxml++/document.cc | 24 -- libxml++/exceptions/exception.cc | 2 - libxml++/exceptions/internal_error.cc | 2 - libxml++/exceptions/parse_error.cc | 2 - libxml++/exceptions/validity_error.cc | 2 - libxml++/io/outputbuffer.cc | 6 - libxml++/io/parserinputbuffer.cc | 2 - libxml++/nodes/contentnode.cc | 11 +- libxml++/nodes/element.cc | 2 - libxml++/nodes/node.cc | 69 +++-- libxml++/nodes/node.h | 14 + libxml++/parsers/domparser.cc | 24 -- libxml++/parsers/parser.cc | 5 +- libxml++/parsers/saxparser.cc | 87 +----- libxml++/parsers/textreader.cc | 6 - libxml++/parsers/textreader.h | 4 +- libxml++/schema.cc | 8 - libxml++/validators/dtdvalidator.cc | 20 -- libxml++/validators/schemavalidator.cc | 18 -- libxml++/validators/validator.cc | 8 - macros/config.guess | 49 ++-- macros/config.sub | 65 +++-- macros/depcomp | 74 ++++- macros/install-sh | 29 +- macros/libtool.m4 | 264 +++++++++++++---- macros/ltmain.sh | 95 +++--- macros/ltoptions.m4 | 19 +- macros/ltversion.m4 | 10 +- macros/missing | 53 +--- macros/reduced.m4 | 20 -- 275 files changed, 5677 insertions(+), 2671 deletions(-) mode change 100755 => 100644 macros/ltmain.sh delete mode 100644 macros/reduced.m4 diff --git a/ChangeLog b/ChangeLog index 7be3967..10e5294 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,36 @@ +2.35.2: + +2012-03-21 Murray Cumming + + Fix a warning found by clang++ + + * libxml++/parsers/textreader.h: PropertyReader is a class, not + a struct. + +2012-03-20 Murray Cumming + + Remove the --disable-api-exceptions configure option. + + And remove the #ifdefs and #else blocks from the code. + This is not used by anybody now, as far as I know, so this makes the + code easier to maintain. + +2012-03-20 Murray Cumming + + A fix for the previous commit. + + * libxml++/nodes/node.cc: get_first_child() const: Use the name + parameter. + +2012-03-19 Murray Cumming + + Node: Add get_first_child(). + + * libxml++/nodes/node.[h|cc]: This is like get_children(), + but it returns only the first node, optionally returning + the first one with a certain name. + Based on a patch by Ilya Murav'jov in bug #648125 . + 2.35.1: 2012-02-15 Kjell Ahlstedt diff --git a/INSTALL b/INSTALL index 7d1c323..a1e89e1 100644 --- a/INSTALL +++ b/INSTALL @@ -1,8 +1,8 @@ Installation Instructions ************************* -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, +Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright @@ -226,6 +226,11 @@ order to use an ANSI C compiler: and if that doesn't work, install pre-built binaries of GCC for HP-UX. + HP-UX `make' updates targets which have the same time stamps as +their prerequisites, which makes it generally unusable when shipped +generated files such as `configure' are involved. Use GNU `make' +instead. + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended diff --git a/MSVC_Net2005/libxml++/libxml++.rc b/MSVC_Net2005/libxml++/libxml++.rc index c7389e3..3fc22f0 100644 --- a/MSVC_Net2005/libxml++/libxml++.rc +++ b/MSVC_Net2005/libxml++/libxml++.rc @@ -33,8 +33,8 @@ END #endif // APSTUDIO_INVOKED VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,35,1,1 - PRODUCTVERSION 2,35,1,1 + FILEVERSION 2,35,2,1 + PRODUCTVERSION 2,35,2,1 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -51,11 +51,11 @@ BEGIN BEGIN VALUE "CompanyName", "The libxml++ development team (see AUTHORS)" VALUE "FileDescription", "The official C++ wrapper for libxml2" - VALUE "FileVersion", "2.35.1" + VALUE "FileVersion", "2.35.2" VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)" VALUE "OriginalFilename", "libxml++-2.6" VALUE "ProductName", "libxml++" - VALUE "ProductVersion", "2.35.1" + VALUE "ProductVersion", "2.35.2" END END BLOCK "VarFileInfo" diff --git a/MSVC_Net2005/libxml++/libxml++config.h b/MSVC_Net2005/libxml++/libxml++config.h index 71b9996..2cd4768 100644 --- a/MSVC_Net2005/libxml++/libxml++config.h +++ b/MSVC_Net2005/libxml++/libxml++config.h @@ -7,7 +7,7 @@ #ifdef GLIBMM_CONFIGURE /* compiler feature tests that are used during compile time and run-time by libxml++ only. */ -#define LIBXMLCPP_EXCEPTIONS_ENABLED 1 +/* #undef LIBXMLCPP_EXCEPTIONS_ENABLED */ #endif /* GLIBMM_CONFIGURE */ #ifdef GLIBMM_MSC diff --git a/MSVC_Net2008/libxml++/libxml++.rc b/MSVC_Net2008/libxml++/libxml++.rc index c7389e3..3fc22f0 100644 --- a/MSVC_Net2008/libxml++/libxml++.rc +++ b/MSVC_Net2008/libxml++/libxml++.rc @@ -33,8 +33,8 @@ END #endif // APSTUDIO_INVOKED VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,35,1,1 - PRODUCTVERSION 2,35,1,1 + FILEVERSION 2,35,2,1 + PRODUCTVERSION 2,35,2,1 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -51,11 +51,11 @@ BEGIN BEGIN VALUE "CompanyName", "The libxml++ development team (see AUTHORS)" VALUE "FileDescription", "The official C++ wrapper for libxml2" - VALUE "FileVersion", "2.35.1" + VALUE "FileVersion", "2.35.2" VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)" VALUE "OriginalFilename", "libxml++-2.6" VALUE "ProductName", "libxml++" - VALUE "ProductVersion", "2.35.1" + VALUE "ProductVersion", "2.35.2" END END BLOCK "VarFileInfo" diff --git a/MSVC_Net2008/libxml++/libxml++config.h b/MSVC_Net2008/libxml++/libxml++config.h index 71b9996..2cd4768 100644 --- a/MSVC_Net2008/libxml++/libxml++config.h +++ b/MSVC_Net2008/libxml++/libxml++config.h @@ -7,7 +7,7 @@ #ifdef GLIBMM_CONFIGURE /* compiler feature tests that are used during compile time and run-time by libxml++ only. */ -#define LIBXMLCPP_EXCEPTIONS_ENABLED 1 +/* #undef LIBXMLCPP_EXCEPTIONS_ENABLED */ #endif /* GLIBMM_CONFIGURE */ #ifdef GLIBMM_MSC diff --git a/MSVC_Net2010/libxml++/libxml++.rc b/MSVC_Net2010/libxml++/libxml++.rc index 5c48d37..121aa1e 100644 --- a/MSVC_Net2010/libxml++/libxml++.rc +++ b/MSVC_Net2010/libxml++/libxml++.rc @@ -33,8 +33,8 @@ END #endif // APSTUDIO_INVOKED VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,35,1,1 - PRODUCTVERSION 2,35,1,1 + FILEVERSION 2,35,2,1 + PRODUCTVERSION 2,35,2,1 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -51,11 +51,11 @@ BEGIN BEGIN VALUE "CompanyName", "The libxml++ development team (see AUTHORS)" VALUE "FileDescription", "The official C++ wrapper for libxml2" - VALUE "FileVersion", "2.35.1" + VALUE "FileVersion", "2.35.2" VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)" VALUE "OriginalFilename", "libxml++-2.6" VALUE "ProductName", "libxml++" - VALUE "ProductVersion", "2.35.1" + VALUE "ProductVersion", "2.35.2" END END BLOCK "VarFileInfo" diff --git a/MSVC_Net2010/libxml++/libxml++config.h b/MSVC_Net2010/libxml++/libxml++config.h index 71b9996..2cd4768 100644 --- a/MSVC_Net2010/libxml++/libxml++config.h +++ b/MSVC_Net2010/libxml++/libxml++config.h @@ -7,7 +7,7 @@ #ifdef GLIBMM_CONFIGURE /* compiler feature tests that are used during compile time and run-time by libxml++ only. */ -#define LIBXMLCPP_EXCEPTIONS_ENABLED 1 +/* #undef LIBXMLCPP_EXCEPTIONS_ENABLED */ #endif /* GLIBMM_CONFIGURE */ #ifdef GLIBMM_MSC diff --git a/Makefile.in b/Makefile.in index e6e15f3..327e0c6 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.11.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -78,8 +78,7 @@ am__aclocal_m4_deps = $(top_srcdir)/macros/libtool.m4 \ $(top_srcdir)/macros/ltoptions.m4 \ $(top_srcdir)/macros/ltsugar.m4 \ $(top_srcdir)/macros/ltversion.m4 \ - $(top_srcdir)/macros/lt~obsolete.m4 \ - $(top_srcdir)/macros/reduced.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/macros/lt~obsolete.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ @@ -112,6 +111,12 @@ am__nobase_list = $(am__nobase_strip_setup); \ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(referencedir)" \ "$(DESTDIR)$(library_configdir)" "$(DESTDIR)$(pkgconfigdir)" \ "$(DESTDIR)$(library_exceptions_includedir)" \ @@ -153,8 +158,8 @@ am_libxml___libxml___@LIBXMLXX_API_VERSION@_la_OBJECTS = \ $(am__objects_1) $(am__objects_3) libxml___libxml___@LIBXMLXX_API_VERSION@_la_OBJECTS = \ $(am_libxml___libxml___@LIBXMLXX_API_VERSION@_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent libxml___libxml___@LIBXMLXX_API_VERSION@_la_LINK = $(LIBTOOL) \ $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ @@ -300,18 +305,18 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) -AM_V_CXX = $(am__v_CXX_$(V)) -am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ CXXLD = $(CXX) CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CXXLD = $(am__v_CXXLD_$(V)) -am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -319,18 +324,18 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; SOURCES = $(libxml___libxml___@LIBXMLXX_API_VERSION@_la_SOURCES) \ $(examples_dom_build_dom_build_SOURCES) \ @@ -481,12 +486,16 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ - { test ! -d "$(distdir)" \ - || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ACLOCAL_FLAGS = @ACLOCAL_FLAGS@ @@ -1140,7 +1149,7 @@ all: config.h libxml++config.h .SUFFIXES: .SUFFIXES: .cc .lo .o .obj -am--refresh: +am--refresh: Makefile @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/macros/doc-reference.am $(am__configure_deps) @for dep in $?; do \ @@ -1165,6 +1174,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; +$(top_srcdir)/macros/doc-reference.am: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck @@ -1176,10 +1186,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ - else :; fi + @if test ! -f $@; then rm -f stamp-h1; else :; fi + @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 @@ -1190,10 +1198,8 @@ $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) touch $@ libxml++config.h: stamp-h2 - @if test ! -f $@; then \ - rm -f stamp-h2; \ - $(MAKE) $(AM_MAKEFLAGS) stamp-h2; \ - else :; fi + @if test ! -f $@; then rm -f stamp-h2; else :; fi + @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h2; else :; fi stamp-h2: $(srcdir)/libxml++config.h.in $(top_builddir)/config.status @rm -f stamp-h2 @@ -1348,7 +1354,7 @@ libxml++/validators/schemavalidator.lo: \ libxml++/validators/$(DEPDIR)/$(am__dirstamp) libxml++/validators/validator.lo: libxml++/validators/$(am__dirstamp) \ libxml++/validators/$(DEPDIR)/$(am__dirstamp) -libxml++/libxml++-@LIBXMLXX_API_VERSION@.la: $(libxml___libxml___@LIBXMLXX_API_VERSION@_la_OBJECTS) $(libxml___libxml___@LIBXMLXX_API_VERSION@_la_DEPENDENCIES) libxml++/$(am__dirstamp) +libxml++/libxml++-@LIBXMLXX_API_VERSION@.la: $(libxml___libxml___@LIBXMLXX_API_VERSION@_la_OBJECTS) $(libxml___libxml___@LIBXMLXX_API_VERSION@_la_DEPENDENCIES) $(EXTRA_libxml___libxml___@LIBXMLXX_API_VERSION@_la_DEPENDENCIES) libxml++/$(am__dirstamp) $(AM_V_CXXLD)$(libxml___libxml___@LIBXMLXX_API_VERSION@_la_LINK) -rpath $(libdir) $(libxml___libxml___@LIBXMLXX_API_VERSION@_la_OBJECTS) $(libxml___libxml___@LIBXMLXX_API_VERSION@_la_LIBADD) $(LIBS) clean-noinstPROGRAMS: @@ -1367,7 +1373,7 @@ examples/dom_build/$(DEPDIR)/$(am__dirstamp): @: > examples/dom_build/$(DEPDIR)/$(am__dirstamp) examples/dom_build/main.$(OBJEXT): examples/dom_build/$(am__dirstamp) \ examples/dom_build/$(DEPDIR)/$(am__dirstamp) -examples/dom_build/dom_build$(EXEEXT): $(examples_dom_build_dom_build_OBJECTS) $(examples_dom_build_dom_build_DEPENDENCIES) examples/dom_build/$(am__dirstamp) +examples/dom_build/dom_build$(EXEEXT): $(examples_dom_build_dom_build_OBJECTS) $(examples_dom_build_dom_build_DEPENDENCIES) $(EXTRA_examples_dom_build_dom_build_DEPENDENCIES) examples/dom_build/$(am__dirstamp) @rm -f examples/dom_build/dom_build$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(examples_dom_build_dom_build_OBJECTS) $(examples_dom_build_dom_build_LDADD) $(LIBS) examples/dom_parse_entities/$(am__dirstamp): @@ -1379,7 +1385,7 @@ examples/dom_parse_entities/$(DEPDIR)/$(am__dirstamp): examples/dom_parse_entities/main.$(OBJEXT): \ examples/dom_parse_entities/$(am__dirstamp) \ examples/dom_parse_entities/$(DEPDIR)/$(am__dirstamp) -examples/dom_parse_entities/dom_parse_entities$(EXEEXT): $(examples_dom_parse_entities_dom_parse_entities_OBJECTS) $(examples_dom_parse_entities_dom_parse_entities_DEPENDENCIES) examples/dom_parse_entities/$(am__dirstamp) +examples/dom_parse_entities/dom_parse_entities$(EXEEXT): $(examples_dom_parse_entities_dom_parse_entities_OBJECTS) $(examples_dom_parse_entities_dom_parse_entities_DEPENDENCIES) $(EXTRA_examples_dom_parse_entities_dom_parse_entities_DEPENDENCIES) examples/dom_parse_entities/$(am__dirstamp) @rm -f examples/dom_parse_entities/dom_parse_entities$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(examples_dom_parse_entities_dom_parse_entities_OBJECTS) $(examples_dom_parse_entities_dom_parse_entities_LDADD) $(LIBS) examples/dom_parser/$(am__dirstamp): @@ -1391,7 +1397,7 @@ examples/dom_parser/$(DEPDIR)/$(am__dirstamp): examples/dom_parser/main.$(OBJEXT): \ examples/dom_parser/$(am__dirstamp) \ examples/dom_parser/$(DEPDIR)/$(am__dirstamp) -examples/dom_parser/dom_parser$(EXEEXT): $(examples_dom_parser_dom_parser_OBJECTS) $(examples_dom_parser_dom_parser_DEPENDENCIES) examples/dom_parser/$(am__dirstamp) +examples/dom_parser/dom_parser$(EXEEXT): $(examples_dom_parser_dom_parser_OBJECTS) $(examples_dom_parser_dom_parser_DEPENDENCIES) $(EXTRA_examples_dom_parser_dom_parser_DEPENDENCIES) examples/dom_parser/$(am__dirstamp) @rm -f examples/dom_parser/dom_parser$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(examples_dom_parser_dom_parser_OBJECTS) $(examples_dom_parser_dom_parser_LDADD) $(LIBS) examples/dom_parser_raw/$(am__dirstamp): @@ -1403,7 +1409,7 @@ examples/dom_parser_raw/$(DEPDIR)/$(am__dirstamp): examples/dom_parser_raw/main.$(OBJEXT): \ examples/dom_parser_raw/$(am__dirstamp) \ examples/dom_parser_raw/$(DEPDIR)/$(am__dirstamp) -examples/dom_parser_raw/dom_parser_raw$(EXEEXT): $(examples_dom_parser_raw_dom_parser_raw_OBJECTS) $(examples_dom_parser_raw_dom_parser_raw_DEPENDENCIES) examples/dom_parser_raw/$(am__dirstamp) +examples/dom_parser_raw/dom_parser_raw$(EXEEXT): $(examples_dom_parser_raw_dom_parser_raw_OBJECTS) $(examples_dom_parser_raw_dom_parser_raw_DEPENDENCIES) $(EXTRA_examples_dom_parser_raw_dom_parser_raw_DEPENDENCIES) examples/dom_parser_raw/$(am__dirstamp) @rm -f examples/dom_parser_raw/dom_parser_raw$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(examples_dom_parser_raw_dom_parser_raw_OBJECTS) $(examples_dom_parser_raw_dom_parser_raw_LDADD) $(LIBS) examples/dom_read_write/$(am__dirstamp): @@ -1415,7 +1421,7 @@ examples/dom_read_write/$(DEPDIR)/$(am__dirstamp): examples/dom_read_write/main.$(OBJEXT): \ examples/dom_read_write/$(am__dirstamp) \ examples/dom_read_write/$(DEPDIR)/$(am__dirstamp) -examples/dom_read_write/dom_read_write$(EXEEXT): $(examples_dom_read_write_dom_read_write_OBJECTS) $(examples_dom_read_write_dom_read_write_DEPENDENCIES) examples/dom_read_write/$(am__dirstamp) +examples/dom_read_write/dom_read_write$(EXEEXT): $(examples_dom_read_write_dom_read_write_OBJECTS) $(examples_dom_read_write_dom_read_write_DEPENDENCIES) $(EXTRA_examples_dom_read_write_dom_read_write_DEPENDENCIES) examples/dom_read_write/$(am__dirstamp) @rm -f examples/dom_read_write/dom_read_write$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(examples_dom_read_write_dom_read_write_OBJECTS) $(examples_dom_read_write_dom_read_write_LDADD) $(LIBS) examples/dom_xpath/$(am__dirstamp): @@ -1426,7 +1432,7 @@ examples/dom_xpath/$(DEPDIR)/$(am__dirstamp): @: > examples/dom_xpath/$(DEPDIR)/$(am__dirstamp) examples/dom_xpath/main.$(OBJEXT): examples/dom_xpath/$(am__dirstamp) \ examples/dom_xpath/$(DEPDIR)/$(am__dirstamp) -examples/dom_xpath/dom_xpath$(EXEEXT): $(examples_dom_xpath_dom_xpath_OBJECTS) $(examples_dom_xpath_dom_xpath_DEPENDENCIES) examples/dom_xpath/$(am__dirstamp) +examples/dom_xpath/dom_xpath$(EXEEXT): $(examples_dom_xpath_dom_xpath_OBJECTS) $(examples_dom_xpath_dom_xpath_DEPENDENCIES) $(EXTRA_examples_dom_xpath_dom_xpath_DEPENDENCIES) examples/dom_xpath/$(am__dirstamp) @rm -f examples/dom_xpath/dom_xpath$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(examples_dom_xpath_dom_xpath_OBJECTS) $(examples_dom_xpath_dom_xpath_LDADD) $(LIBS) examples/dtdvalidation/$(am__dirstamp): @@ -1438,7 +1444,7 @@ examples/dtdvalidation/$(DEPDIR)/$(am__dirstamp): examples/dtdvalidation/main.$(OBJEXT): \ examples/dtdvalidation/$(am__dirstamp) \ examples/dtdvalidation/$(DEPDIR)/$(am__dirstamp) -examples/dtdvalidation/dtdvalidation$(EXEEXT): $(examples_dtdvalidation_dtdvalidation_OBJECTS) $(examples_dtdvalidation_dtdvalidation_DEPENDENCIES) examples/dtdvalidation/$(am__dirstamp) +examples/dtdvalidation/dtdvalidation$(EXEEXT): $(examples_dtdvalidation_dtdvalidation_OBJECTS) $(examples_dtdvalidation_dtdvalidation_DEPENDENCIES) $(EXTRA_examples_dtdvalidation_dtdvalidation_DEPENDENCIES) examples/dtdvalidation/$(am__dirstamp) @rm -f examples/dtdvalidation/dtdvalidation$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(examples_dtdvalidation_dtdvalidation_OBJECTS) $(examples_dtdvalidation_dtdvalidation_LDADD) $(LIBS) examples/import_node/$(am__dirstamp): @@ -1450,7 +1456,7 @@ examples/import_node/$(DEPDIR)/$(am__dirstamp): examples/import_node/main.$(OBJEXT): \ examples/import_node/$(am__dirstamp) \ examples/import_node/$(DEPDIR)/$(am__dirstamp) -examples/import_node/import_node$(EXEEXT): $(examples_import_node_import_node_OBJECTS) $(examples_import_node_import_node_DEPENDENCIES) examples/import_node/$(am__dirstamp) +examples/import_node/import_node$(EXEEXT): $(examples_import_node_import_node_OBJECTS) $(examples_import_node_import_node_DEPENDENCIES) $(EXTRA_examples_import_node_import_node_DEPENDENCIES) examples/import_node/$(am__dirstamp) @rm -f examples/import_node/import_node$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(examples_import_node_import_node_OBJECTS) $(examples_import_node_import_node_LDADD) $(LIBS) examples/sax_exception/$(am__dirstamp): @@ -1465,7 +1471,7 @@ examples/sax_exception/main.$(OBJEXT): \ examples/sax_exception/myparser.$(OBJEXT): \ examples/sax_exception/$(am__dirstamp) \ examples/sax_exception/$(DEPDIR)/$(am__dirstamp) -examples/sax_exception/sax_exception$(EXEEXT): $(examples_sax_exception_sax_exception_OBJECTS) $(examples_sax_exception_sax_exception_DEPENDENCIES) examples/sax_exception/$(am__dirstamp) +examples/sax_exception/sax_exception$(EXEEXT): $(examples_sax_exception_sax_exception_OBJECTS) $(examples_sax_exception_sax_exception_DEPENDENCIES) $(EXTRA_examples_sax_exception_sax_exception_DEPENDENCIES) examples/sax_exception/$(am__dirstamp) @rm -f examples/sax_exception/sax_exception$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(examples_sax_exception_sax_exception_OBJECTS) $(examples_sax_exception_sax_exception_LDADD) $(LIBS) examples/sax_parser/$(am__dirstamp): @@ -1480,7 +1486,7 @@ examples/sax_parser/main.$(OBJEXT): \ examples/sax_parser/myparser.$(OBJEXT): \ examples/sax_parser/$(am__dirstamp) \ examples/sax_parser/$(DEPDIR)/$(am__dirstamp) -examples/sax_parser/sax_parser$(EXEEXT): $(examples_sax_parser_sax_parser_OBJECTS) $(examples_sax_parser_sax_parser_DEPENDENCIES) examples/sax_parser/$(am__dirstamp) +examples/sax_parser/sax_parser$(EXEEXT): $(examples_sax_parser_sax_parser_OBJECTS) $(examples_sax_parser_sax_parser_DEPENDENCIES) $(EXTRA_examples_sax_parser_sax_parser_DEPENDENCIES) examples/sax_parser/$(am__dirstamp) @rm -f examples/sax_parser/sax_parser$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(examples_sax_parser_sax_parser_OBJECTS) $(examples_sax_parser_sax_parser_LDADD) $(LIBS) examples/sax_parser_build_dom/$(am__dirstamp): @@ -1501,7 +1507,7 @@ examples/sax_parser_build_dom/svgdocument.$(OBJEXT): \ examples/sax_parser_build_dom/svgelement.$(OBJEXT): \ examples/sax_parser_build_dom/$(am__dirstamp) \ examples/sax_parser_build_dom/$(DEPDIR)/$(am__dirstamp) -examples/sax_parser_build_dom/sax_parser_build_dom$(EXEEXT): $(examples_sax_parser_build_dom_sax_parser_build_dom_OBJECTS) $(examples_sax_parser_build_dom_sax_parser_build_dom_DEPENDENCIES) examples/sax_parser_build_dom/$(am__dirstamp) +examples/sax_parser_build_dom/sax_parser_build_dom$(EXEEXT): $(examples_sax_parser_build_dom_sax_parser_build_dom_OBJECTS) $(examples_sax_parser_build_dom_sax_parser_build_dom_DEPENDENCIES) $(EXTRA_examples_sax_parser_build_dom_sax_parser_build_dom_DEPENDENCIES) examples/sax_parser_build_dom/$(am__dirstamp) @rm -f examples/sax_parser_build_dom/sax_parser_build_dom$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(examples_sax_parser_build_dom_sax_parser_build_dom_OBJECTS) $(examples_sax_parser_build_dom_sax_parser_build_dom_LDADD) $(LIBS) examples/sax_parser_entities/$(am__dirstamp): @@ -1516,7 +1522,7 @@ examples/sax_parser_entities/main.$(OBJEXT): \ examples/sax_parser_entities/myparser.$(OBJEXT): \ examples/sax_parser_entities/$(am__dirstamp) \ examples/sax_parser_entities/$(DEPDIR)/$(am__dirstamp) -examples/sax_parser_entities/sax_parser_entities$(EXEEXT): $(examples_sax_parser_entities_sax_parser_entities_OBJECTS) $(examples_sax_parser_entities_sax_parser_entities_DEPENDENCIES) examples/sax_parser_entities/$(am__dirstamp) +examples/sax_parser_entities/sax_parser_entities$(EXEEXT): $(examples_sax_parser_entities_sax_parser_entities_OBJECTS) $(examples_sax_parser_entities_sax_parser_entities_DEPENDENCIES) $(EXTRA_examples_sax_parser_entities_sax_parser_entities_DEPENDENCIES) examples/sax_parser_entities/$(am__dirstamp) @rm -f examples/sax_parser_entities/sax_parser_entities$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(examples_sax_parser_entities_sax_parser_entities_OBJECTS) $(examples_sax_parser_entities_sax_parser_entities_LDADD) $(LIBS) examples/schemavalidation/$(am__dirstamp): @@ -1528,7 +1534,7 @@ examples/schemavalidation/$(DEPDIR)/$(am__dirstamp): examples/schemavalidation/main.$(OBJEXT): \ examples/schemavalidation/$(am__dirstamp) \ examples/schemavalidation/$(DEPDIR)/$(am__dirstamp) -examples/schemavalidation/schemavalidation$(EXEEXT): $(examples_schemavalidation_schemavalidation_OBJECTS) $(examples_schemavalidation_schemavalidation_DEPENDENCIES) examples/schemavalidation/$(am__dirstamp) +examples/schemavalidation/schemavalidation$(EXEEXT): $(examples_schemavalidation_schemavalidation_OBJECTS) $(examples_schemavalidation_schemavalidation_DEPENDENCIES) $(EXTRA_examples_schemavalidation_schemavalidation_DEPENDENCIES) examples/schemavalidation/$(am__dirstamp) @rm -f examples/schemavalidation/schemavalidation$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(examples_schemavalidation_schemavalidation_OBJECTS) $(examples_schemavalidation_schemavalidation_LDADD) $(LIBS) examples/textreader/$(am__dirstamp): @@ -1540,7 +1546,7 @@ examples/textreader/$(DEPDIR)/$(am__dirstamp): examples/textreader/main.$(OBJEXT): \ examples/textreader/$(am__dirstamp) \ examples/textreader/$(DEPDIR)/$(am__dirstamp) -examples/textreader/textreader$(EXEEXT): $(examples_textreader_textreader_OBJECTS) $(examples_textreader_textreader_DEPENDENCIES) examples/textreader/$(am__dirstamp) +examples/textreader/textreader$(EXEEXT): $(examples_textreader_textreader_OBJECTS) $(examples_textreader_textreader_DEPENDENCIES) $(EXTRA_examples_textreader_textreader_DEPENDENCIES) examples/textreader/$(am__dirstamp) @rm -f examples/textreader/textreader$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(examples_textreader_textreader_OBJECTS) $(examples_textreader_textreader_LDADD) $(LIBS) @@ -1691,28 +1697,25 @@ distclean-compile: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cc.lo: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo @@ -1759,9 +1762,7 @@ uninstall-dist_referenceDATA: @$(NORMAL_UNINSTALL) @list='$(dist_reference_DATA)'; test -n "$(referencedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(referencedir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(referencedir)" && rm -f $$files + dir='$(DESTDIR)$(referencedir)'; $(am__uninstall_files_from_dir) install-library_configDATA: $(library_config_DATA) @$(NORMAL_INSTALL) test -z "$(library_configdir)" || $(MKDIR_P) "$(DESTDIR)$(library_configdir)" @@ -1779,9 +1780,7 @@ uninstall-library_configDATA: @$(NORMAL_UNINSTALL) @list='$(library_config_DATA)'; test -n "$(library_configdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(library_configdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(library_configdir)" && rm -f $$files + dir='$(DESTDIR)$(library_configdir)'; $(am__uninstall_files_from_dir) install-nodist_pkgconfigDATA: $(nodist_pkgconfig_DATA) @$(NORMAL_INSTALL) test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" @@ -1799,9 +1798,7 @@ uninstall-nodist_pkgconfigDATA: @$(NORMAL_UNINSTALL) @list='$(nodist_pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files + dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) install-library_exceptions_includeHEADERS: $(library_exceptions_include_HEADERS) @$(NORMAL_INSTALL) test -z "$(library_exceptions_includedir)" || $(MKDIR_P) "$(DESTDIR)$(library_exceptions_includedir)" @@ -1819,9 +1816,7 @@ uninstall-library_exceptions_includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(library_exceptions_include_HEADERS)'; test -n "$(library_exceptions_includedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(library_exceptions_includedir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(library_exceptions_includedir)" && rm -f $$files + dir='$(DESTDIR)$(library_exceptions_includedir)'; $(am__uninstall_files_from_dir) install-library_includeHEADERS: $(library_include_HEADERS) @$(NORMAL_INSTALL) test -z "$(library_includedir)" || $(MKDIR_P) "$(DESTDIR)$(library_includedir)" @@ -1839,9 +1834,7 @@ uninstall-library_includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(library_include_HEADERS)'; test -n "$(library_includedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(library_includedir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(library_includedir)" && rm -f $$files + dir='$(DESTDIR)$(library_includedir)'; $(am__uninstall_files_from_dir) install-library_io_includeHEADERS: $(library_io_include_HEADERS) @$(NORMAL_INSTALL) test -z "$(library_io_includedir)" || $(MKDIR_P) "$(DESTDIR)$(library_io_includedir)" @@ -1859,9 +1852,7 @@ uninstall-library_io_includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(library_io_include_HEADERS)'; test -n "$(library_io_includedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(library_io_includedir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(library_io_includedir)" && rm -f $$files + dir='$(DESTDIR)$(library_io_includedir)'; $(am__uninstall_files_from_dir) install-library_nodes_includeHEADERS: $(library_nodes_include_HEADERS) @$(NORMAL_INSTALL) test -z "$(library_nodes_includedir)" || $(MKDIR_P) "$(DESTDIR)$(library_nodes_includedir)" @@ -1879,9 +1870,7 @@ uninstall-library_nodes_includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(library_nodes_include_HEADERS)'; test -n "$(library_nodes_includedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(library_nodes_includedir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(library_nodes_includedir)" && rm -f $$files + dir='$(DESTDIR)$(library_nodes_includedir)'; $(am__uninstall_files_from_dir) install-library_parsers_includeHEADERS: $(library_parsers_include_HEADERS) @$(NORMAL_INSTALL) test -z "$(library_parsers_includedir)" || $(MKDIR_P) "$(DESTDIR)$(library_parsers_includedir)" @@ -1899,9 +1888,7 @@ uninstall-library_parsers_includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(library_parsers_include_HEADERS)'; test -n "$(library_parsers_includedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(library_parsers_includedir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(library_parsers_includedir)" && rm -f $$files + dir='$(DESTDIR)$(library_parsers_includedir)'; $(am__uninstall_files_from_dir) install-library_validators_includeHEADERS: $(library_validators_include_HEADERS) @$(NORMAL_INSTALL) test -z "$(library_validators_includedir)" || $(MKDIR_P) "$(DESTDIR)$(library_validators_includedir)" @@ -1919,9 +1906,7 @@ uninstall-library_validators_includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(library_validators_include_HEADERS)'; test -n "$(library_validators_includedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(library_validators_includedir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(library_validators_includedir)" && rm -f $$files + dir='$(DESTDIR)$(library_validators_includedir)'; $(am__uninstall_files_from_dir) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -2018,7 +2003,11 @@ dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__remove_distdir) dist-lzma: distdir @@ -2026,7 +2015,7 @@ dist-lzma: distdir $(am__remove_distdir) dist-xz: distdir - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__remove_distdir) dist-tarZ: distdir @@ -2044,7 +2033,7 @@ dist-zip: distdir dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then @@ -2058,6 +2047,8 @@ distcheck: dist bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ @@ -2077,6 +2068,7 @@ distcheck: dist && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ @@ -2105,8 +2097,16 @@ distcheck: dist list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: - @$(am__cd) '$(distuninstallcheck_dir)' \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ @@ -2141,10 +2141,15 @@ install-am: all-am installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -2295,11 +2300,11 @@ uninstall-am: uninstall-dist_referenceDATA uninstall-libLTLIBRARIES \ .PHONY: CTAGS GTAGS all all-am all-local am--refresh check check-am \ clean clean-generic clean-libLTLIBRARIES clean-libtool \ clean-noinstPROGRAMS ctags dist dist-all dist-bzip2 dist-gzip \ - dist-lzma dist-shar dist-tarZ dist-xz dist-zip distcheck \ - distclean distclean-compile distclean-generic distclean-hdr \ - distclean-libtool distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ + dist-lzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ + distcheck distclean distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags distcleancheck \ + distdir distuninstallcheck dvi dvi-am html html-am info \ + info-am install install-am install-data install-data-am \ install-data-local install-dist_referenceDATA install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ diff --git a/NEWS b/NEWS index 40e00da..34b67f4 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,10 @@ +2.35.2 (unstable): + +* Node: Add get_first_child(). + (Murray Cumming, Based on a patch by Ilya Murav'jov in bug #648125) +* Build: Remove the --disable-api-exceptions configure option. + (Murray Cumming) + 2.35.1 (unstable): * Handle attributes with default values correctly. diff --git a/aclocal.m4 b/aclocal.m4 index 952b5e1..0dde6a9 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,7 +1,8 @@ -# generated automatically by aclocal 1.11.1 -*- Autoconf -*- +# generated automatically by aclocal 1.11.3 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, +# Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -19,12 +20,15 @@ You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software +# Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been @@ -34,7 +38,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.11' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11.1], [], +m4_if([$1], [1.11.3], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -50,19 +54,21 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.1])dnl +[AM_AUTOMAKE_VERSION([1.11.3])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. @@ -144,14 +150,14 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 -# Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, +# 2010, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 10 +# serial 12 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, @@ -191,6 +197,7 @@ AC_CACHE_CHECK([dependency style of $depcc], # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -255,7 +262,7 @@ AC_CACHE_CHECK([dependency style of $depcc], break fi ;; - msvisualcpp | msvcmsys) + msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. @@ -320,10 +327,13 @@ AC_DEFUN([AM_DEP_TRACK], if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' + am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- @@ -545,12 +555,15 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation, +# Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. @@ -590,8 +603,8 @@ AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008, +# 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -611,7 +624,7 @@ AC_DEFUN([AM_MAINTAINER_MODE], [disable], [m4_define([am_maintainer_other], [enable])], [m4_define([am_maintainer_other], [enable]) m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) -AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles]) +AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode's default is 'disable' unless 'enable' is passed AC_ARG_ENABLE([maintainer-mode], [ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful @@ -722,12 +735,15 @@ else fi ]) -# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation, +# Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. @@ -750,13 +766,14 @@ esac # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software +# Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 4 +# serial 5 # _AM_MANGLE_OPTION(NAME) # ----------------------- @@ -764,13 +781,13 @@ AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) -# ------------------------------ +# -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- +# ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) @@ -846,13 +863,13 @@ Check your system clock]) fi AC_MSG_RESULT(yes)]) -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright (C) 2009, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 1 +# serial 2 # AM_SILENT_RULES([DEFAULT]) # -------------------------- @@ -867,18 +884,50 @@ yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac +dnl +dnl A few `make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using `$V' instead of `$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't @@ -901,13 +950,13 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006, 2008 Free Software Foundation, Inc. +# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 2 +# serial 3 # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- @@ -916,13 +965,13 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])]) AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- +# -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -944,10 +993,11 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) @@ -1545,4 +1595,3 @@ m4_include([macros/ltoptions.m4]) m4_include([macros/ltsugar.m4]) m4_include([macros/ltversion.m4]) m4_include([macros/lt~obsolete.m4]) -m4_include([macros/reduced.m4]) diff --git a/config.h.in b/config.h.in index 9df83bc..920dec8 100644 --- a/config.h.in +++ b/config.h.in @@ -39,9 +39,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H -/* Defined when the --enable-api-exceptions configure argument was given */ -#undef LIBXMLCPP_EXCEPTIONS_ENABLED - /* Major version number of libxml++. */ #undef LIBXMLXX_MAJOR_VERSION diff --git a/configure b/configure index 0cbfa3c..b58d0df 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for libxml++ 2.35.1. +# Generated by GNU Autoconf 2.68 for libxml++ 2.35.2. # # Report bugs to . # @@ -571,8 +571,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='libxml++' PACKAGE_TARNAME='libxml++' -PACKAGE_VERSION='2.35.1' -PACKAGE_STRING='libxml++ 2.35.1' +PACKAGE_VERSION='2.35.2' +PACKAGE_STRING='libxml++ 2.35.2' PACKAGE_BUGREPORT='https://bugzilla.gnome.org/enter_bug.cgi?product=libxml%2B%2B' PACKAGE_URL='http://libxmlplusplus.sourceforge.net/' @@ -677,6 +677,7 @@ AS am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE +am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE @@ -706,6 +707,8 @@ MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE AM_BACKSLASH AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V am__untar am__tar AMTAR @@ -781,7 +784,6 @@ with_gnu_ld with_sysroot enable_libtool_lock enable_examples -enable_api_exceptions enable_documentation with_glibmm_doc enable_warnings @@ -1353,7 +1355,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libxml++ 2.35.1 to adapt to many kinds of systems. +\`configure' configures libxml++ 2.35.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1423,7 +1425,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libxml++ 2.35.1:";; + short | recursive ) echo "Configuration of libxml++ 2.35.2:";; esac cat <<\_ACEOF @@ -1443,8 +1445,6 @@ Optional Features: optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --enable-examples build the examples - --enable-api-exceptions Build exceptions API. - [default=yes] --disable-documentation do not build or install the documentation --enable-warnings[=min|max|fatal|no] set compiler pedantry level [default=min] @@ -1452,7 +1452,7 @@ Optional Features: Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic try to use only PIC/non-PIC objects [default=use + --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot=DIR Search for dependent libraries within DIR @@ -1557,7 +1557,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libxml++ configure 2.35.1 +libxml++ configure 2.35.2 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2047,7 +2047,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libxml++ $as_me 2.35.1, which was +It was created by libxml++ $as_me 2.35.2, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -2869,7 +2869,7 @@ fi # Define the identity of the package. PACKAGE='libxml++' - VERSION='2.35.1' + VERSION='2.35.2' # Some tools Automake needs. @@ -2890,11 +2890,11 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # We need awk for the "check" target. The system "awk" is bad on # some platforms. -# Always define AMTAR for backward compatibility. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' -AMTAR=${AMTAR-"${am_missing_run}tar"} - -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' @@ -2910,6 +2910,33 @@ yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi AM_BACKSLASH='\' @@ -2964,7 +2991,7 @@ fi LIBXMLXX_MODULE_NAME='libxml++-2.6' -LIBXMLXX_VERSION='2.35.1' +LIBXMLXX_VERSION='2.35.2' LIBXMLXX_API_VERSION='2.6' @@ -2978,10 +3005,10 @@ LIBXMLXX_MINOR_VERSION=35 $as_echo "#define LIBXMLXX_MINOR_VERSION 35" >>confdefs.h -LIBXMLXX_MICRO_VERSION=1 +LIBXMLXX_MICRO_VERSION=2 -$as_echo "#define LIBXMLXX_MICRO_VERSION 1" >>confdefs.h +$as_echo "#define LIBXMLXX_MICRO_VERSION 2" >>confdefs.h @@ -3560,6 +3587,7 @@ fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' + am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= @@ -3584,6 +3612,7 @@ else # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -3643,7 +3672,7 @@ else break fi ;; - msvisualcpp | msvcmsys) + msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. @@ -3707,8 +3736,8 @@ esac -macro_version='2.4' -macro_revision='1.3293' +macro_version='2.4.2' +macro_revision='1.3337' @@ -4417,6 +4446,7 @@ else # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -4476,7 +4506,7 @@ else break fi ;; - msvisualcpp | msvcmsys) + msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. @@ -5220,6 +5250,11 @@ else lt_cv_sys_max_cmd_len=196608 ;; + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not @@ -5259,7 +5294,7 @@ else # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. - while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \ + while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do @@ -5685,7 +5720,7 @@ irix5* | irix6* | nonstopux*) lt_cv_deplibs_check_method=pass_all ;; -# This must be Linux ELF. +# This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; @@ -6323,13 +6358,13 @@ old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in @@ -6476,6 +6511,7 @@ for ac_symprfx in "" "_"; do # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ @@ -6864,7 +6900,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; } CFLAGS="$SAVE_CFLAGS" fi ;; -sparc*-*solaris*) +*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 @@ -6875,7 +6911,20 @@ sparc*-*solaris*) case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; + yes*) + case $host in + i?86-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD="${LD-ld}_sol2" + fi + ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" @@ -7515,7 +7564,13 @@ else $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 @@ -7526,6 +7581,7 @@ else fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if ${lt_cv_ld_exported_symbols_list+:} false; then : @@ -7558,6 +7614,7 @@ rm -f core conftest.err conftest.$ac_objext \ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 $as_echo_n "checking for -force_load linker flag... " >&6; } if ${lt_cv_ld_force_load+:} false; then : @@ -7579,7 +7636,9 @@ _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? - if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&5 @@ -8291,7 +8350,22 @@ fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : - withval=$with_pic; pic_mode="$withval" + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for lt_pkg in $withval; do + IFS="$lt_save_ifs" + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac else pic_mode=default fi @@ -8369,6 +8443,10 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + test -z "$LN_S" && LN_S="ln -s" @@ -8828,7 +8906,9 @@ lt_prog_compiler_static= case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl='-Xlinker ' - lt_prog_compiler_pic='-Xcompiler -fPIC' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi ;; esac else @@ -8919,18 +8999,33 @@ lt_prog_compiler_static= ;; *) case `$CC -V 2>&1 | sed 5q` in - *Sun\ F* | *Sun*Fortran*) + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; esac ;; esac @@ -9292,7 +9387,6 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported @@ -9545,8 +9639,7 @@ _LT_EOF xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld='-rpath $libdir' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ @@ -9926,6 +10019,7 @@ fi # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' @@ -9971,6 +10065,7 @@ fi hardcode_shlibpath_var=unsupported if test "$lt_cv_ld_force_load" = "yes"; then whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + else whole_archive_flag_spec='' fi @@ -9999,10 +10094,6 @@ fi hardcode_shlibpath_var=no ;; - freebsd1*) - ld_shlibs=no - ;; - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little @@ -10015,7 +10106,7 @@ fi ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) + freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes @@ -10054,7 +10145,6 @@ fi fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes @@ -10678,11 +10768,6 @@ esac - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } @@ -10772,7 +10857,7 @@ need_version=unknown case $host_os in aix3*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH @@ -10781,7 +10866,7 @@ aix3*) ;; aix[4-9]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes @@ -10846,7 +10931,7 @@ beos*) ;; bsdi[45]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' @@ -10985,7 +11070,7 @@ darwin* | rhapsody*) ;; dgux*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' @@ -10993,10 +11078,6 @@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd1*) - dynamic_linker=no - ;; - freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. @@ -11004,7 +11085,7 @@ freebsd* | dragonfly*) objformat=`/usr/bin/objformat` else case $host_os in - freebsd[123]*) objformat=aout ;; + freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi @@ -11022,7 +11103,7 @@ freebsd* | dragonfly*) esac shlibpath_var=LD_LIBRARY_PATH case $host_os in - freebsd2*) + freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) @@ -11042,7 +11123,7 @@ freebsd* | dragonfly*) ;; gnu*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' @@ -11053,7 +11134,7 @@ gnu*) ;; haiku*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" @@ -11114,7 +11195,7 @@ hpux9* | hpux10* | hpux11*) ;; interix[3-9]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' @@ -11130,7 +11211,7 @@ irix5* | irix6* | nonstopux*) nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; @@ -11167,9 +11248,9 @@ linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; -# This must be Linux ELF. +# This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -11263,7 +11344,7 @@ netbsd*) ;; newsos6) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -11332,7 +11413,7 @@ rdos*) ;; solaris*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -11357,7 +11438,7 @@ sunos4*) ;; sysv4 | sysv4.3*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH @@ -11381,7 +11462,7 @@ sysv4 | sysv4.3*) sysv4*MP*) if test -d /usr/nec ;then - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH @@ -11412,7 +11493,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -11422,7 +11503,7 @@ tpf*) ;; uts4*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH @@ -12347,7 +12428,6 @@ export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_direct_absolute_CXX=no hardcode_libdir_flag_spec_CXX= -hardcode_libdir_flag_spec_ld_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported @@ -12931,6 +13011,7 @@ fi hardcode_shlibpath_var_CXX=unsupported if test "$lt_cv_ld_force_load" = "yes"; then whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + else whole_archive_flag_spec_CXX='' fi @@ -12975,7 +13056,7 @@ fi esac ;; - freebsd[12]*) + freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF ld_shlibs_CXX=no @@ -13651,6 +13732,7 @@ _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 @@ -14440,7 +14522,9 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie ;; cygwin* | mingw* | cegcc*) case $cc_basename in - cl*) ;; + cl*) + exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' @@ -14596,8 +14680,6 @@ esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } @@ -14623,7 +14705,7 @@ need_version=unknown case $host_os in aix3*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH @@ -14632,7 +14714,7 @@ aix3*) ;; aix[4-9]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes @@ -14697,7 +14779,7 @@ beos*) ;; bsdi[45]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' @@ -14834,7 +14916,7 @@ darwin* | rhapsody*) ;; dgux*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' @@ -14842,10 +14924,6 @@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd1*) - dynamic_linker=no - ;; - freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. @@ -14853,7 +14931,7 @@ freebsd* | dragonfly*) objformat=`/usr/bin/objformat` else case $host_os in - freebsd[123]*) objformat=aout ;; + freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi @@ -14871,7 +14949,7 @@ freebsd* | dragonfly*) esac shlibpath_var=LD_LIBRARY_PATH case $host_os in - freebsd2*) + freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) @@ -14891,7 +14969,7 @@ freebsd* | dragonfly*) ;; gnu*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' @@ -14902,7 +14980,7 @@ gnu*) ;; haiku*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" @@ -14963,7 +15041,7 @@ hpux9* | hpux10* | hpux11*) ;; interix[3-9]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' @@ -14979,7 +15057,7 @@ irix5* | irix6* | nonstopux*) nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; @@ -15016,9 +15094,9 @@ linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; -# This must be Linux ELF. +# This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -15112,7 +15190,7 @@ netbsd*) ;; newsos6) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -15181,7 +15259,7 @@ rdos*) ;; solaris*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -15206,7 +15284,7 @@ sunos4*) ;; sysv4 | sysv4.3*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH @@ -15230,7 +15308,7 @@ sysv4 | sysv4.3*) sysv4*MP*) if test -d /usr/nec ;then - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH @@ -15261,7 +15339,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -15271,7 +15349,7 @@ tpf*) ;; uts4*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH @@ -15410,6 +15488,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu + + ac_config_commands="$ac_config_commands libtool" @@ -15673,24 +15753,6 @@ else fi -# Offer the ability to omit some API from the library, to reduce the code size: - - # Check whether --enable-api-exceptions was given. -if test "${enable_api_exceptions+set}" = set; then : - enableval=$enable_api_exceptions; libxmlcpp_enable_api_exceptions="$enableval" -else - libxmlcpp_enable_api_exceptions='yes' -fi - - - if test "x$libxmlcpp_enable_api_exceptions" = "xyes"; then - { - -$as_echo "#define LIBXMLCPP_EXCEPTIONS_ENABLED 1" >>confdefs.h - - } - fi - # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 @@ -16726,7 +16788,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libxml++ $as_me 2.35.1, which was +This file was extended by libxml++ $as_me 2.35.2, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16793,7 +16855,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libxml++ config.status 2.35.1 +libxml++ config.status 2.35.2 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" @@ -16933,6 +16995,7 @@ pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' @@ -17013,7 +17076,6 @@ with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' @@ -17085,7 +17147,6 @@ with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_ld_CXX='`$ECHO "$hardcode_libdir_flag_spec_ld_CXX" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' @@ -17127,6 +17188,7 @@ DLLTOOL \ OBJDUMP \ SHELL \ ECHO \ +PATH_SEPARATOR \ SED \ GREP \ EGREP \ @@ -17175,7 +17237,6 @@ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ -hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ exclude_expsyms \ include_expsyms \ @@ -17209,7 +17270,6 @@ with_gnu_ld_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ hardcode_libdir_flag_spec_CXX \ -hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX \ @@ -18025,8 +18085,8 @@ $as_echo X"$file" | # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, -# Inc. +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. @@ -18089,6 +18149,9 @@ SHELL=$lt_SHELL # An echo program that protects backslashes. ECHO=$lt_ECHO +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + # The host system. host_alias=$host_alias host=$host @@ -18384,10 +18447,6 @@ no_undefined_flag=$lt_no_undefined_flag # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec -# If ld is used when linking, flag to hardcode \$libdir into a binary -# during linking. This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld - # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator @@ -18730,10 +18789,6 @@ no_undefined_flag=$lt_no_undefined_flag_CXX # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX -# If ld is used when linking, flag to hardcode \$libdir into a binary -# during linking. This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX - # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX diff --git a/configure.ac b/configure.ac index 0bf76a7..5e65125 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([libxml++], [2.35.1], +AC_INIT([libxml++], [2.35.2], [https://bugzilla.gnome.org/enter_bug.cgi?product=libxml%2B%2B], [libxml++], [http://libxmlplusplus.sourceforge.net/]) AC_PREREQ([2.59]) @@ -42,8 +42,6 @@ AC_ARG_ENABLE([examples], AM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$enable_examples" = xyes]) -# Offer the ability to omit some API from the library, to reduce the code size: -LIBXMLCPP_ARG_ENABLE_API_EXCEPTIONS MM_ARG_ENABLE_DOCUMENTATION MM_ARG_WITH_TAGFILE_DOC([glibmm-2.4.tag], [glibmm-2.4]) diff --git a/docs/manual/html/ch01s02.html b/docs/manual/html/ch01s02.html index f1adf6a..7a1e95b 100644 --- a/docs/manual/html/ch01s02.html +++ b/docs/manual/html/ch01s02.html @@ -2,7 +2,7 @@ UTF-8 and Glib::ustring - + @@ -24,7 +24,7 @@

-UTF-8 and Glib::ustring

+UTF-8 and Glib::ustring

The libxml++ API takes, and gives, strings in the UTF-8 Unicode encoding, which can support all known languages and locales. This choice was made because, of the encodings that have this capability, UTF-8 is the most commonly accepted choice. UTF-8 is a multi-byte encoding, meaning that some characters use more than 1 byte. But for compatibility, old-fashioned 7-bit ASCII strings are unchanged when encoded as UTF-8, and UTF-8 strings do not contain null bytes which would cause old code to misjudge the number of bytes. For these reasons, you can store a UTF-8 string in a std::string object. However, the std::string API will operate on that string in terms of bytes, instead of characters.

Because Standard C++ has no string class that can fully handle UTF-8, libxml++ uses the Glib::ustring class from the glibmm library. Glib::ustring has almost exactly the same API as std::string, but methods such as length() and operator[] deal with whole UTF-8 characters rather than raw bytes.

There are implicit conversions between std::string and Glib::ustring, so you can use std::string wherever you see a Glib::ustring in the API, if you really don't care about any locale other than English. However, that is unlikely in today's connected world.

diff --git a/docs/manual/html/ch01s03.html b/docs/manual/html/ch01s03.html index 1f35149..a94c547 100644 --- a/docs/manual/html/ch01s03.html +++ b/docs/manual/html/ch01s03.html @@ -2,7 +2,7 @@ Compilation and Linking - + @@ -24,7 +24,7 @@

-Compilation and Linking

+Compilation and Linking

To use libxml++ in your application, you must tell the compiler where to find the include headers and where to find the libxml++ library. libxml++ provides a pkg-config .pc file to make this easy. For instance, the following command will provide the necessary compiler options: pkg-config libxml++-2.6 --cflags --libs

diff --git a/docs/manual/html/ch02s02.html b/docs/manual/html/ch02s02.html index 86d85da..6886247 100644 --- a/docs/manual/html/ch02s02.html +++ b/docs/manual/html/ch02s02.html @@ -2,7 +2,7 @@ SAX Parser - + @@ -24,13 +24,13 @@

-SAX Parser

+SAX Parser

The SAX parser presents each node of the XML document in sequence. So when you process one node, you must have already stored information about any relevant previous nodes, and you have no information at that time about subsequent nodes. The SAX parser uses less memory than the DOM parser and it is a suitable abstraction for documents that can be processed sequentially rather than as a whole.

By using the parse_chunk() method instead of parse(), you can even parse parts of the XML document before you have received the whole document.

As shown in the example, you should derive your own class from SaxParser and override some of the virtual methods. These "handler" methods will be called while the document is parsed.

-Example

+Example

This example shows how the handler methods are called during parsing.

Source Code

File: myparser.h @@ -49,7 +49,6 @@ public: protected: //overrides: -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED virtual void on_start_document(); virtual void on_end_document(); virtual void on_start_element(const Glib::ustring& name, @@ -60,7 +59,6 @@ protected: virtual void on_warning(const Glib::ustring& text); virtual void on_error(const Glib::ustring& text); virtual void on_fatal_error(const Glib::ustring& text); -#endif }; @@ -85,7 +83,6 @@ MySaxParser::~MySaxParser() { } -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED void MySaxParser::on_start_document() { std::cout << "on_start_document()" << std::endl; @@ -188,7 +185,7 @@ void MySaxParser::on_fatal_error(const Glib::ustring& text) std::cerr << "MySaxParser::on_characters(): Exception caught while converting value for std::cout: " << ex.what() << std::endl; } } -#endif +

@@ -218,20 +215,16 @@ main(int argc, char* argv[]) filepath = "example.xml"; // Parse the entire document in one go: - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED MySaxParser parser; parser.set_substitute_entities(true); // parser.parse_file(filepath); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const xmlpp::exception& ex) { std::cout << "libxml++ exception: " << ex.what() << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED // Demonstrate incremental parsing, sometimes useful for network connections: diff --git a/docs/manual/html/ch02s03.html b/docs/manual/html/ch02s03.html index 82b7f9b..4f71ee8 100644 --- a/docs/manual/html/ch02s03.html +++ b/docs/manual/html/ch02s03.html @@ -2,7 +2,7 @@ TextReader Parser - + @@ -22,12 +22,12 @@

-TextReader Parser

+TextReader Parser

Like the SAX parser, the TextReader parser is suitable for sequential parsing, but instead of implementing handlers for specific parts of the document, it allows you to detect the current node type, process the node accordingly, and skip forward in the document as much as necessary. Unlike the DOM parser, you may not move backwards in the XML document. And unlike the SAX parser, you must not waste time processing nodes that do not interest you.

All methods are on the single parser instance, but their result depends on the current context. For instance, use read() to move to the next node, and move_to_element() to navigate to child nodes. These methods will return false when no more nodes are available. Then use methods such as get_name() and get_value() to examine the elements and their attributes.

-Example

+Example

This example examines each node in turn, then moves to the next node.

Source Code

File: main.cc @@ -62,10 +62,8 @@ int main(int /* argc */, char** /* argv */) // so we can use std::cout with UTF-8, via Glib::ustring, without exceptions. std::locale::global(std::locale("")); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED xmlpp::TextReader reader("example.xml"); while(reader.read()) @@ -96,13 +94,11 @@ int main(int /* argc */, char** /* argv */) std::cout << indent(depth) << "novalue" << std::endl; } - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const std::exception& e) { std::cout << "Exception caught: " << e.what() << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } diff --git a/docs/manual/html/chapter-introduction.html b/docs/manual/html/chapter-introduction.html index b1f2116..bbd394d 100644 --- a/docs/manual/html/chapter-introduction.html +++ b/docs/manual/html/chapter-introduction.html @@ -2,7 +2,7 @@ Chapter 1. libxml++ - + @@ -28,7 +28,7 @@

Table of Contents

@@ -42,7 +42,7 @@

But libxml++ was created mainly to fill the need for an API-stable and ABI-stable C++ XML parser which could be used as a shared library dependency by C++ applications that are distributed widely in binary form. That means that installed applications will not break when new versions of libxml++ are installed on a user's computer. Gradual improvement of the libxml++ API is still possible via non-breaking API additions, and new independent versions of the ABI that can be installed in parallel with older versions. These are the general techniques and principles followed by the GNOME project, of which libxml++ is a part.

-Installation

+Installation

libxml++ is packaged by major Linux and *BSD distributions and can be installed from source on Linux and Windows, using any modern compiler, such as g++, SUN Forte, or MSVC++.

For instance, to install libxml++ and its documentation on debian, use apt-get or synaptic like so:

diff --git a/docs/manual/html/chapter-parsers.html b/docs/manual/html/chapter-parsers.html index 4a132cd..22915ab 100644 --- a/docs/manual/html/chapter-parsers.html +++ b/docs/manual/html/chapter-parsers.html @@ -2,7 +2,7 @@ Chapter 2. Parsers - + @@ -28,7 +28,7 @@

Table of Contents

@@ -38,7 +38,7 @@

Remember that white space is usually significant in XML documents, so the parsers might provide unexpected text nodes that contain only spaces and new lines. The parser does not know whether you care about these text nodes, but your application may choose to ignore them.

-DOM Parser

+DOM Parser

The DOM parser parses the whole document at once and stores the structure in memory, available via Parser::get_document(). With methods such as Document::get_root_node() and Node::get_children(), you may then navigate into the heirarchy of XML nodes without restriction, jumping forwards or backwards in the document based on the information that you encounter. Therefore the DOM parser uses a relatively large amount of memory.

You should use C++ RTTI (via dynamic_cast<>) to identify the specific node type and to perform actions which are not possible with all node types. For instance, only Elements have attributes. Here is the inheritance hierarchy of node types:

@@ -82,7 +82,7 @@

There are also several methods which can create new child Nodes. By using these, and one of the Document::write_*() methods, you can use libxml++ to build a new XML document.

-Example

+Example

This example looks in the document for expected elements and then examines them. All these examples are included in the libxml++ source distribution.

Source Code

File: main.cc @@ -221,10 +221,8 @@ int main(int argc, char* argv[]) else filepath = "example.xml"; - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED xmlpp::DomParser parser; if (validate) parser.set_validate(); @@ -239,13 +237,11 @@ int main(int argc, char* argv[]) const xmlpp::Node* pNode = parser.get_document()->get_root_node(); //deleted by DomParser. print_node(pNode); } - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const std::exception& ex) { std::cout << "Exception caught: " << ex.what() << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED return 0; } diff --git a/docs/manual/html/index.html b/docs/manual/html/index.html index eb7382b..5f97372 100644 --- a/docs/manual/html/index.html +++ b/docs/manual/html/index.html @@ -2,7 +2,7 @@ libxml++ - An XML Parser for C++ - + @@ -43,14 +43,14 @@

- - + + + + + diff --git a/docs/reference/html/index.html b/docs/reference/html/index.html index 65e38db..b4ecd0a 100644 --- a/docs/reference/html/index.html +++ b/docs/reference/html/index.html @@ -2,24 +2,40 @@ + libxml++: libxml++ Reference Manual + - + + + + - -
+
+ +
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ +

description

@@ -58,9 +74,14 @@ basics

Then use the generated LIBXMLXX_CFLAGS and LIBXMLXX_LIBS variables in the project Makefile.am files. For example:

 program_CPPFLAGS = $(LIBXMLXX_CFLAGS)
  program_LDADD = $(LIBXMLXX_LIBS)
-
- +
+ + + + diff --git a/docs/reference/html/inherit_graph_0.png b/docs/reference/html/inherit_graph_0.png index d91a10e7567c4ff5c07a56d29c6b4195c84d64fa..374f7ebf4eb2fc49abc49c3d12fc40aa8dfec7f1 100644 GIT binary patch literal 6894 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 literal 7386 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 delta 1161 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 diff --git a/docs/reference/html/inherit_graph_3.png b/docs/reference/html/inherit_graph_3.png index 859f03682864ac77f3e0c0fd75c32043e883723d..a710e930dfeca1a477a8267ad8a7d7b902c8745a 100644 GIT binary patch delta 1547 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 z zcvx7NKp3edi+H&QXvBYMvu2lyhW-a*nM018T{0AR?>e Q&j0`b07*qoM6N<$g0`8p2mk;8 diff --git a/docs/reference/html/inherit_graph_4.png b/docs/reference/html/inherit_graph_4.png index 8ad025271eafa8a3cb0e87f784e645470cdcd25e..f4f2a17e2b6369c583bc81f019dd89b781c8166b 100644 GIT binary patch literal 68230 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

`_pJ-n}bArq9)D`W+C^7!l^7rhaVy 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�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%0AF@I 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 literal 66077 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 B0M!5h diff --git a/docs/reference/html/inherit_graph_5.png b/docs/reference/html/inherit_graph_5.png index 7dd9aed00d534f09cd9ca5ebc07c5b6464eff6ba..a94a5530a6b18581e583ad5e45917c815558805a 100644 GIT binary patch literal 1939 zcmZ8ic{J2}8~%msjh1S`B5F{*H}Fqm-O2hl%VG-hP} z^O>fT?;mJ9e+rp->@5YZIik#z$@IIYWEG&sFjLjBj+Sa>cI5zwDx?) z*CG*mZ=^^(Oj<@Jt@nL#aWRX<%FN8HbSP0cLk?`bNkY)tZ~oXlmH9y;>xJ}@9F?H} z_64*-fvqkA2NSl+*=JVE{q&3D7A>qfdV6V&J5X6sflRcsv%B7GECu-^sL_AmS01?~ zJsrv*kogleySo(A5-ll6hUKxuR{?A%Nz2XG{7qb`qlUDi3FYTq<_d1~ZL?;h5uh3ko=Q;&Oh*$T~Ya2kCo7M@PrT znr8LqT9-Q%8OjOhid=c%o zaV0!5k|yb?@hizH3=tXfUmlTcxq!Cp91{XC_lBtW&+@w3utdjF z$JY}RZPa~l4e6=H2y5m10h5R?lRZ5>%{S&T(8En^HhZoFWKAGUw%vL*#*111G*s=v ztoPKsjF}iY5ZAFV&TI;v3ShZgT3RY^Exm1EvREVh&Bn$?I{txSJa2t_lkZmU+#Jq# z?Styy(>!_dmzlO(=H})KStqo$S!{N$3TGf+Yo5z>l0%_Tudg-?aCcYcx_3AEr{H!y z9XqO;X!Hbs6V{a>Z?HfzySv-N!^631 zL%_*56(L4bu>$*2sb^b{UK9d4W@nM7>S}6&hwh$A?=%!LRv0d~$rpT82?mBhAbN1o z@VGdb7!+!2XZQ8T9{)`(Ev;AW&K}3!&Q3u3>l*j)Wl;6{$_gftL?%o1hvjlM*5`*E z)$m0X!}B(_wg^SV%ACmXa0y`vZH$;0?J_4vHKa)%H~IE$OT^;aIzr!q)1eQyZzEH7 zKy=k8&j+GCE9fB4L|mz7P1|)Y-MI>SP*PGd3~>-386qe~6hm6K2g^@n{5ZI4j?@F` ziyxkM`#a3R(G<$U!U7SM*X#Ea;9ld};F;m;9ug7~(`lHg`$S1rS4CCzP!bNnQYgC# z2gU0>gYE1xY>yjJ_nzAxmxsgGzWuPtM~iMd*x01W%F^TwLUv+ItB4Q)EG%^F*s<2u z)}*AQ^ddRQQD%Ng$ujxO2Sx47**|phEjIeI6hq%V_i%TgoSZbI&6PTS7Ic9aO(J28 zjEr2f8P(OO<_q=>+R$9i6@h%Fr>6m+Y3ibr)5z%P=-Ake-3{JpaAuy;_ah7yPJMm7 z08d<8e1N+){VehT(Bl_|!*yjTo_!?F{rK@C)2&t+)YloPr*B}ez4do&ZvIO~Mn0p@ zUBJ$g=%CC1fZ1iAXXmK!58z@=w!Wj96iQ3$O`zWK+^X_&E_WdRhT+0oH|-+&O-DyZ zs^keG%BApvKTEvg%i2_uE-?1@!><^?|W<9>&<0lWu7(qvQUa~vB#l+ zLF_UN3Ni?OyYasFFaTurmo3r55L%j=CQ&Q1+siW-(fQWpI@(BpEsJRZ-qWO=0QTu9TmuB5}nCX#}F ze1VOncJ8Tc@7kFeC+U^b8J%@5IDnnpyAzT|Buh zV(~6sd2TgIr(p1EgL9`~Up{@R6Ng2@z$kU~s(U>tap{#eW;^1Fj3P%x(zCKY7{>1J z{YXtc6pwU1e||B-Xgq4`i`?bl^|dwoqBD661|u)e#m!9yER0M%;ZXc>{i|S)M=t$Y zN=cT?Oi#x^ils4HX@UBf-!ByM@ZZnl~g+2ZW?o#|;GdPL+ literal 2389 zcmZuzc{r47AAZR?V;Pf1mQ!{P6F&QBLSxB{!Q@D?#L+~SDalgQhz4o0)HE?6Stc~m z)Uh0fsjMGEQeupe8cQkbNtEg6yuQD_>-xU?xt{lV{`g(b^?RP*ec!(~hv0ok5uyPB z06-Dz;pz*no!~TQ$Ak24A+G3D|yInEh674iq+gir-lS4`Jc_bbXU3mJs~>rL&e{t}+o zh57+_XESMY;WZ(o;WA`a*Vjyp#(NL(y;VNdlo^RP8Y2Gn`RUKs^-JxM0_Sv?q?D+- zd@E|l)t@^FMmqnNNQ7r-U2n)+p5)k}(Lanzw6_dJBGJOa0@w5TvOEN`srLewrlzQ< z7+6|)z(@kHw6Zb}<^Gsx*V)oAR=su_zDR@3Ty~H@s8sVm8z~kGeGQjaLCHcWE2$@oIJzw(7)N!(?c`z5eNjQ zxzQ03?#8P3nM_3m1#26d?(XitEw4De+Ze=}(64p%`Z1YI@%kbS$3!3yV~;|c8yiD{ zgM|+~$YgRz$RvLo0jE!!QM=*PZX!x(qOPvaU@(%GgwKt3!r@t2SqUc;P3REQ`NhS3 zNThHkfa2>!U9wsl7{Gsn7Vu^jWUe4>e0+w)8_O|DS28jnP-wGB$NM-6rhLxA#>U3l z`j%E&5Rpiv;Fw^RC=}}b7h79f-&#MrQ8y&wT#L|4srm7UvV`l21{by3yK zpNucC+3frG4KHBA9&~`O zZ^aOMDeSp8Yu~;kx65nzWWY9&&r&U!|98Pf`v8lP)R2AY_R#se0t-WyJ z0<*fBH~SYSdHD{5k(ikHp2fW+zP}u(O-bEY>Yf{M$yQ=kRfY9280s-GpR=-L8Uu6l zSD&=Ew;LK7@>#fYLPbTzrdSLr!OP2Qsy%h=_3KWerA=j=eThI2*rr;(m^*c;Ceqt7 zE>TlUtAWjyQ&1S_@9(gLWJ&_}2*%o!0|yScySrOiS;0C+NBt30>8H#3z%xF7xBvMC z{^PbbbjM83p1`0W8jUtNIr*z9&cov>-tY?S!JAJ_O|}b^tu3-cY2Iw2qKh0#ONowS z4xh5t$n6dX^EOt6V5D1ul>m@x=`b$&?>l|Oq=W=#IW+`=&C>$Q_xMDwK%n7&e(mFM z%vk+jY1(JaKVxx#KMf7}Ifs&>}kBjgLM5D`rBI zlbPbs_bk;eHB}6XQ6vhlqx1UvAwU?B*cE0mFgWGSY9|vPYq2XJ&R2 z9336&Ti$${pFf+FG+L-%)!Hf;9P~Q(ac=H5oo;Z$13b0tKlR!+H#S7AZLx^emw;>ulJLs0V8jI>>$d+EczpANdbR zBocuDYeG!`nDOD^VJ6c6xwN#@;~1ggfAr`fclQR|+PE#?;vkRNt)>PVTuZj{-np5X zwzQvQ79_f{wWdZ6V{c(WIDA+|MWx(){O#N0AtAX(qQcDzS$-yGCR;OSL00hWc1n~iTV@-89N`T;;_=u}RQ z{0$E&ps2X`+}X1i#OrmpE#Eh`f%(VB|Ft&%I(5r4Hg*B@^^s_sBtvq-KBGXSx%r9a z3QNXAkiuxRP$&#$`sU{4Ndo;mo{gQXM(rT~Ei#Zb8L^JFJ1t!K`n4M|28M!mOsDUP zEu)lb)B4!mni!CBi5uAU^>r^CfeLq%W(zYzP`TR-`^j!RK7vXgS8M|?Qhk(y1FYe5s{JV3hr)h(v+7| zQ)Rr_rluy*i8ds;Y-V|R8Emib-Z@tegQmdFC*bi4w7#{~)zys+WjVQL>)7+hLMEJ~ z3jUnlQtt|1P2V9q68#nQIX3A&cc!Q2%_s0~U|$4lSLc+Nl=Na~$VJY`$jAVmBVm|U zqg}`YTPZsk>T~E&Z%0RlgdV)YxAr*qVh-uk>SM=|=tNIXPahv;$M37thid&=TU&9) zF_#z9jvA2+bG{{G_}H{}n!%vY$jW99>Z_!wJYCidRz&Z~@15QbpgKP_IasjclfD${ zo;T+IY$&5N+}d74Snho>yeYv0sCh!Iqm*I4h<&P=`8;5BYw!* X_UZdX`yb|j|49JW&D*se6PEE0;J<*N diff --git a/docs/reference/html/inherit_graph_6.png b/docs/reference/html/inherit_graph_6.png index e2a4438ad6b2c3d1f96275ac6767dcac69a67e12..30208bc1aaa74f7d223f8ea8c01129ee7cea50f8 100644 GIT binary patch delta 2167 zcmZ9Nc_0(~AIBF<ku7azts&k>i&$#~5ZLMY)C=hNY!hiySSC z@;FB1$bGenk!v2$B)4b%{_OkL=daJ_^ZtBZpZAw6n|mZvA192ku`qYU6fPHHtsMd( ztlsCm+gbUS8AKmSE~}=>^diL*oiF7o^2(HXSEg1w2jOv*){PJ*Wyvcar6f~MUI%Mv zYP6|9HDn@)IoZ(@O!xDQdEQ>=_Yfm&By)xn$L7WE#q5ygHc2a++=i5DlCmTqL0PI0 zZ^{;sx{otFsH)fuwf}ZxQs7qrIfiqu52rqT>WO-$B&C~ikRp2BnTj~s?tO22Zsiqg^p!^7tt4wp4&oxFsB zqx}6(-#q0nKWMyOYOhx4{|8$BEMz{=*0zVOM^xP-VBr8I80@NMZv567mBF}H+VAM> zTm+8}D~}6-9C}BkQkz33*YRzIXc!Uk*I$faHpWMnm<84cXiSa+=z|0va-5! zhZie~hLKuLV>kL(EMISLU`r+KTE)GT6hT0^(NwDJnZbZs7p*)5MO9VRx3?%FA|luN z)WgS_g+v13WR|rz%rzjOd?+9p^xE{NP{8Ey@bKs;X7gVkJ3BkF{oBy#_TvUYV&dXi z0}BfaiAlI5OO^hAIbEF&e;(A;4(QBQwXv}o8XD@8c*bNh;l94UB-^rnKjB2F2Nrld zKKL_J`42Hk$uqeKs^bEe8^17k8etlzycT9%bDfS&DyTtY&kA#!K3&Pyuwfg5IjZ#QCb*gQ>3 zU~7Au$Kyq88AM<@D4Q&T(!GwS(zvhGew*fGr~dp%LO$jJ26)U8dP zdX1oA9gQXm=o=VFn#P2Nu6A^EY;0VJCf=%cRgzl!@gwVFS67!vqKB3@xwbZiwVBMiKd?j_eg$D8+>;KZ7+S*#R@G_ZesJfOl)5)6Jk&B`#1 z-*KrJ0n5rZ;`U9nwbS8_PENIav6-1tbmuPZCrw0gF)?`bzuxnoDC>E8 zFE7v8!GXu=0%Hke@pWL0sNW#zJ>9la_-XhA61O*$HnF>^+r&cl3qg>!u&y6qFE3HtF=8)xa{V@3p zR1t&0u)wMC{q9`B$3B&=hJC)+u)5f-w+MmYw$|pqd{Hu&>gnl$LUGWUFMR*859SYB7X|~JMIk?fUFpt%_sODQ zH#axF2`j=eWP#-K{Bi?{=q206p8UXvlQsLA_*%?`Y;qd+d_! c-xH+a02?<2vI_7kJOKaMSlU{=y6BPkAJ8Z|Y5)KL delta 2696 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 diff --git a/docs/reference/html/inherits.html b/docs/reference/html/inherits.html index 5eacd9f..be1bcb0 100644 --- a/docs/reference/html/inherits.html +++ b/docs/reference/html/inherits.html @@ -2,24 +2,40 @@ + libxml++: Class Hierarchy + - + + + + - -

+
+ +
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ +
- +
@@ -59,24 +75,29 @@
- +
- +
- +
-
- +
+ + + + diff --git a/docs/reference/html/namespacemembers.html b/docs/reference/html/namespacemembers.html index dc923e8..890793a 100644 --- a/docs/reference/html/namespacemembers.html +++ b/docs/reference/html/namespacemembers.html @@ -2,24 +2,40 @@ + libxml++: Namespace Members + - + + + + - -
+
+ +
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ + - +
+ + + + diff --git a/docs/reference/html/namespacemembers_enum.html b/docs/reference/html/namespacemembers_enum.html index 82585ae..17ab2c6 100644 --- a/docs/reference/html/namespacemembers_enum.html +++ b/docs/reference/html/namespacemembers_enum.html @@ -2,24 +2,40 @@ + libxml++: Namespace Members + - + + + + - -
+
+ +
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ + - +
+ + + + diff --git a/docs/reference/html/namespacemembers_eval.html b/docs/reference/html/namespacemembers_eval.html index f16cd52..da493e0 100644 --- a/docs/reference/html/namespacemembers_eval.html +++ b/docs/reference/html/namespacemembers_eval.html @@ -2,24 +2,40 @@ + libxml++: Namespace Members + - + + + + - -
+
+ +
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ + - +
+ + + + diff --git a/docs/reference/html/namespacemembers_func.html b/docs/reference/html/namespacemembers_func.html index 7f829aa..ffb52a7 100644 --- a/docs/reference/html/namespacemembers_func.html +++ b/docs/reference/html/namespacemembers_func.html @@ -2,24 +2,40 @@ + libxml++: Namespace Members + - + + + + - -
+
+ +
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ + - +
+ + + + diff --git a/docs/reference/html/namespacemembers_type.html b/docs/reference/html/namespacemembers_type.html index 5e9269b..cf8262a 100644 --- a/docs/reference/html/namespacemembers_type.html +++ b/docs/reference/html/namespacemembers_type.html @@ -2,24 +2,40 @@ + libxml++: Namespace Members + - + + + + - -
+
+ +
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ + - +
+ + + + diff --git a/docs/reference/html/namespaces.html b/docs/reference/html/namespaces.html index 522b379..77f024f 100644 --- a/docs/reference/html/namespaces.html +++ b/docs/reference/html/namespaces.html @@ -2,24 +2,40 @@ + libxml++: Namespace List + - + + + + - -
+
+ +
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ +
Here is a list of all namespaces with brief descriptions:
xmlpp
-
- +
+ + + + diff --git a/docs/reference/html/namespacexmlpp.html b/docs/reference/html/namespacexmlpp.html index 0ef7049..faa6a53 100644 --- a/docs/reference/html/namespacexmlpp.html +++ b/docs/reference/html/namespacexmlpp.html @@ -2,24 +2,40 @@ + libxml++: xmlpp Namespace Reference + - + + + + - -
+
+ +
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ +
xmlpp Namespace Reference
-
+

@@ -180,7 +196,7 @@ Functions

- + @@ -192,7 +208,7 @@ Functions

Format an _xmlError struct into a text string, suitable for printing.

Since libxml++ 2.36:
-
Parameters:
+
Parameters:
Glib::ustring xmlpp::format_xml_error Glib::ustring xmlpp::format_xml_error ( const _xmlError *  error = 0)
errorPointer to an _xmlError struct or 0. If 0, the error returned by xmlGetLastError() is used.
@@ -207,7 +223,7 @@ Functions
- + @@ -219,7 +235,7 @@ Functions

Format a parser error into a text string, suitable for printing.

Since libxml++ 2.36:
-
Parameters:
+
Parameters:
Glib::ustring xmlpp::format_xml_parser_error Glib::ustring xmlpp::format_xml_parser_error ( const _xmlParserCtxt *  parser_context)
parser_contextPointer to an _xmlParserCtxt struct.
@@ -229,9 +245,14 @@ Functions
-
- +
+ + + + diff --git a/docs/reference/html/pages.html b/docs/reference/html/pages.html index 0cf3577..155f60d 100644 --- a/docs/reference/html/pages.html +++ b/docs/reference/html/pages.html @@ -2,24 +2,40 @@ + libxml++: Related Pages + - + + + + - -
+
+ +
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ +
Here is a list of all related documentation pages:
-
- +
+ + + + diff --git a/docs/reference/html/since_2_20.html b/docs/reference/html/since_2_20.html index bec3bfa..3772b26 100644 --- a/docs/reference/html/since_2_20.html +++ b/docs/reference/html/since_2_20.html @@ -2,24 +2,40 @@ + libxml++: New API in libxml++ 2.20 + - + + + + - -
+
+ +
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ +
-

-
-
Member xmlpp::Element::get_attribute_value (const Glib::ustring& name, const Glib::ustring& ns_prefix=Glib::ustring()) const
+
+
Member xmlpp::Element::get_attribute_value (const Glib::ustring& name, const Glib::ustring& ns_prefix=Glib::ustring()) const
-
- +
+ + + + diff --git a/docs/reference/html/since_2_24.html b/docs/reference/html/since_2_24.html index f4a1812..9924432 100644 --- a/docs/reference/html/since_2_24.html +++ b/docs/reference/html/since_2_24.html @@ -2,24 +2,40 @@ + libxml++: New API in libxml++ 2.24 + - + + + + - -
+
+ +
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ +
-

-
-
Member xmlpp::Element::add_child_text (xmlpp::Node* previous_sibling, const Glib::ustring& content=Glib::ustring())
+
+
Member xmlpp::Element::add_child_text (xmlpp::Node* previous_sibling, const Glib::ustring& content=Glib::ustring())
-
-

-
-
Member xmlpp::Element::add_child_text_before (xmlpp::Node* next_sibling, const Glib::ustring& content=Glib::ustring())
+
Member xmlpp::Element::add_child_text_before (xmlpp::Node* next_sibling, const Glib::ustring& content=Glib::ustring())
-
-

-
-
Member xmlpp::Node::add_child (xmlpp::Node* previous_sibling, const Glib::ustring& name, const Glib::ustring& ns_prefix=Glib::ustring())
+
Member xmlpp::Node::add_child (xmlpp::Node* previous_sibling, const Glib::ustring& name, const Glib::ustring& ns_prefix=Glib::ustring())
-
-

-
-
Member xmlpp::Node::add_child_before (xmlpp::Node* next_sibling, const Glib::ustring& name, const Glib::ustring& ns_prefix=Glib::ustring())
+
Member xmlpp::Node::add_child_before (xmlpp::Node* next_sibling, const Glib::ustring& name, const Glib::ustring& ns_prefix=Glib::ustring())
-
-

-
-
Member xmlpp::SaxParser::parse_chunk_raw (const unsigned char* contents, size_type bytes_count)
+
Member xmlpp::SaxParser::parse_chunk_raw (const unsigned char* contents, size_type bytes_count)
-
-

-
-
Class xmlpp::Schema
+
Class xmlpp::Schema
-
-

-
-
Class xmlpp::SchemaValidator
+
Class xmlpp::SchemaValidator
-
- +
+ + + + diff --git a/docs/reference/html/since_2_36.html b/docs/reference/html/since_2_36.html index da9aa5c..baffb8b 100644 --- a/docs/reference/html/since_2_36.html +++ b/docs/reference/html/since_2_36.html @@ -2,24 +2,40 @@ + libxml++: New API in libxml++ 2.36 + - + + + + - -
+
+ +
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ +
-

-
-
Class xmlpp::AttributeDeclaration
+
+
Class xmlpp::AttributeDeclaration
-
-

-
-
Class xmlpp::AttributeNode
+
Class xmlpp::AttributeNode
-
-

-
-
Member xmlpp::Document::add_processing_instruction (const Glib::ustring& name, const Glib::ustring& content)
+
Member xmlpp::Document::add_processing_instruction (const Glib::ustring& name, const Glib::ustring& content)
-
-

-
-
Member xmlpp::Element::add_child_entity_reference (const Glib::ustring& name)
+
Member xmlpp::Element::add_child_entity_reference (const Glib::ustring& name)
-
-

-
-
Member xmlpp::Element::add_child_processing_instruction (const Glib::ustring& name, const Glib::ustring& content)
+
Member xmlpp::Element::add_child_processing_instruction (const Glib::ustring& name, const Glib::ustring& content)
-
-

-
-
Class xmlpp::EntityDeclaration
+
Class xmlpp::EntityDeclaration
-
-

-
-
Member xmlpp::format_xml_error (const _xmlError* error=0)
+
Member xmlpp::format_xml_error (const _xmlError* error=0)
-
-

-
-
Member xmlpp::format_xml_parser_error (const _xmlParserCtxt* parser_context)
+
Member xmlpp::format_xml_parser_error (const _xmlParserCtxt* parser_context)
-
-

-
-
Member xmlpp::Parser::get_throw_messages () const
+
Member xmlpp::Node::get_first_child (const Glib::ustring& name=Glib::ustring())
-
-

-
-
Member xmlpp::Parser::set_throw_messages (bool val=true)
+
Member xmlpp::Node::get_first_child (const Glib::ustring& name=Glib::ustring()) const
+
+
Member xmlpp::Parser::get_throw_messages () const
+
+
Member xmlpp::Parser::set_throw_messages (bool val=true)
-
- +
+ + + + diff --git a/docs/reference/html/structxmlpp_1_1SaxParser_1_1Attribute-members.html b/docs/reference/html/structxmlpp_1_1SaxParser_1_1Attribute-members.html index 1345bb6..893fd2f 100644 --- a/docs/reference/html/structxmlpp_1_1SaxParser_1_1Attribute-members.html +++ b/docs/reference/html/structxmlpp_1_1SaxParser_1_1Attribute-members.html @@ -2,24 +2,40 @@ + libxml++: Member List + - + + + + - -
+
+ +
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ +
This is the complete list of members for xmlpp::SaxParser::Attribute, including all inherited members. -
Attribute(Glib::ustring const& n, Glib::ustring const& v)xmlpp::SaxParser::Attribute [inline]
namexmlpp::SaxParser::Attribute
valuexmlpp::SaxParser::Attribute
- +
+ + + + diff --git a/docs/reference/html/structxmlpp_1_1SaxParser_1_1Attribute.html b/docs/reference/html/structxmlpp_1_1SaxParser_1_1Attribute.html index 3269f38..c02c663 100644 --- a/docs/reference/html/structxmlpp_1_1SaxParser_1_1Attribute.html +++ b/docs/reference/html/structxmlpp_1_1SaxParser_1_1Attribute.html @@ -2,24 +2,40 @@ + libxml++: xmlpp::SaxParser::Attribute Struct Reference + - + + + + - -
+
+ +
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ +
xmlpp::SaxParser::Attribute Struct Reference
-
+

Simple structure used in the start_element callback, in which the attributes are a list of name/value pairs. More...

@@ -61,7 +77,7 @@ Collaboration diagram for xmlpp::SaxParser::Attribute:
Collaboration graph
- +
[legend]

List of all members.

@@ -82,7 +98,7 @@ Public Attributes
- + @@ -134,9 +150,14 @@ Public Attributes
The documentation for this struct was generated from the following file:
  • parsers/saxparser.h
- - + + + + + diff --git a/docs/reference/html/structxmlpp_1_1SaxParser_1_1AttributeHasName-members.html b/docs/reference/html/structxmlpp_1_1SaxParser_1_1AttributeHasName-members.html index e4f0c19..3ede2a9 100644 --- a/docs/reference/html/structxmlpp_1_1SaxParser_1_1AttributeHasName-members.html +++ b/docs/reference/html/structxmlpp_1_1SaxParser_1_1AttributeHasName-members.html @@ -2,24 +2,40 @@ +libxml++: Member List + - + + + + - -
+
+ +
xmlpp::SaxParser::Attribute::Attribute xmlpp::SaxParser::Attribute::Attribute ( Glib::ustring const &  n,
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ +
This is the complete list of members for xmlpp::SaxParser::AttributeHasName, including all inherited members. -
AttributeHasName(Glib::ustring const& n)xmlpp::SaxParser::AttributeHasName [inline]
namexmlpp::SaxParser::AttributeHasName
operator()(Attribute const& attribute)xmlpp::SaxParser::AttributeHasName [inline]
- +
+ + + + diff --git a/docs/reference/html/structxmlpp_1_1SaxParser_1_1AttributeHasName.html b/docs/reference/html/structxmlpp_1_1SaxParser_1_1AttributeHasName.html index c7863c8..451c22b 100644 --- a/docs/reference/html/structxmlpp_1_1SaxParser_1_1AttributeHasName.html +++ b/docs/reference/html/structxmlpp_1_1SaxParser_1_1AttributeHasName.html @@ -2,24 +2,40 @@ + libxml++: xmlpp::SaxParser::AttributeHasName Struct Reference + - + + + + - -
+
+ +
+ + + + +
-
libxml++ 2.35.1
+
libxml++ +  2.35.2 +
+
+ +
xmlpp::SaxParser::AttributeHasName Struct Reference
-
+

This functor is a helper to find an attribute by name in an AttributeList using the standard algorithm std::find_if. More...

@@ -61,7 +77,7 @@ Collaboration diagram for xmlpp::SaxParser::AttributeHasName:
Collaboration graph
- +
[legend]

List of all members.

@@ -85,7 +101,7 @@ Public Attributes
- + @@ -132,9 +148,14 @@ Public Attributes
The documentation for this struct was generated from the following file:
  • parsers/saxparser.h
- - + + + + + diff --git a/docs/reference/html/structxmlpp_1_1SaxParser_1_1AttributeHasName__coll__graph.png b/docs/reference/html/structxmlpp_1_1SaxParser_1_1AttributeHasName__coll__graph.png index 058c0a5c41cc67861cd5fccc45b7eb566185bda1..fa50006a0d7d04058b59177045f7111523173615 100644 GIT binary patch literal 4513 zcmai22T)UOvqnVeML-acD$)t4^lE6KDM*nb0R$DK3y~5^Bm_Y^(xjIN2uM?kRHaK# z2)&9(Cs=5qi1+o*+?o4-_nWz!NzTm4Iq$n?_t|HkJui%J!{})^X~@XP==F59Ou&%@ zzL8Yq;8#1bIvX6$I~c&U$o~BO0jq}pni8!JV5E8br->(}n;H>1%nSJKC`mBJ`s_p5A;jZp&VF@}9%s;K=h zcS^X8pq+7%k(Ll@>I-4~^{S}1vDd5w-niio4o_+Wc3M4inuDg?Qg89;zSJUX-m=_> zkdX=9#GPT|TO*@oLOeTH*FtOG-r%!pVroi+cQMs^%r%yn7Ed=tK_j$rGcz;dVqyXU z0$cFU38rRdtnBPg-^E@%)5eLy;x1SFQEM_lnf4)}{9Z8(Rb)^~%V&9KCI0v7R7Z~1 z*4C{@8{$$@QathUE~9U7I2INhRF&>0o_yRFoj|i=-q1hMGl8 zTzuKPp|aA`(^Cq{WNvP5Yiny|Wd(sidg6KI2bY$YYXc8F5_M%9IwR3&a+jRrgYP}v z-HixyWS(@2m{ADveG|?D(rh(_@Uiyu859?(XIF z^#@0Lo4E?JLH7zxo+xBRMbX6Sym#!0o3KO8IfOvclu@TA zjwW7#nfP>fb`IpIHkFqXyJNYMgl=6|O?9WrZ*Olu-3`J+alDNIJ3>&V^I@TlR<^bt z)9jY3Gb(HJ^z@?%z~vWOBNHbzPzw=O6&}w&r@vKIRduj;uz1Vi1w8)#oJdly?#s7j zWmwKyYst((4>z~hE9$;mmni1QFE^@uTUpUz(lRw=d3uA7@0oQT$j9`hE{E#wIBo;? zV-l&RzMgRn8m_VUf<>5tM@0cd>C>lA85x|>3^ouy(vQXQSb@YyB%-viwsy=}1{n}= zN4_V9<3`?fFES`9a(LA!Q_j6VRg#U^6UY7jTA#B_Mu@9$^IdlnTIF8WwGsDmvz)I&~|`_q(_ zmCursQ;lZ?l#l)f-C#I$p#l^)11T^@VSXo)WEidz9bmDnbJ!Tc;<>kXQ@PEGgczfH}*v$Jc z#irkI>hA9LR>&%bKTk`BFYrshR`=AgLr^kYc6N2e*2QxxuWWA4c~JqS@~Xx8Peb1FiQbXAovVs$nIA-JGZT25mNHi zmO&?^CxI5%5N$l%_Gi%lEO5i7h0>OVqFTR;lWl9e4)*qWEe1EK_!lU1`LxEB&8M4~ zn(Z$j7#ZX9cea9y0M(*w$MVU@*^Xu7#SG@E!rs17!S%cEp?Rett@nbvYgnyGW(v!>OMlvERXXS~b}@`0h+l1-Z%=8nRcPY=3LuZA7O#$E@!@bLkomb`fm-c|x+^**@%QV=-pufj7H zLY$VZwJs;D|N8aoP503ek}bLr@BAibWyXxM{BHlES7T%28;+rDW#L5KSHa$z>^7SY zC>w}{ATvM4@-0lNDh&e9koV+)GOgH+4ljEBU6T-$*;rp&YhFyCrXV*(spSq2m|i;K zTib^*r7mFj)B4#ZEWOr83VV};f$MwUdXs*q!z9?06%<5L^x4_j|3)dbe|h-hEIZ3( zETcA~o%@tqxJF`5j)(LmGqEui*iV0z60=6c`bb@!T)Ls0-}WqVrv8R8k@gH)jg_8P zP37vSs|$>%wf&viI95?Ck8SEwfTnS3-Rr~S#hpPVDm1o$# z>W2k9_4*&f0^iX<8H-YYMxY5QmTMAJ<4(KCq!SkaDh;C%dtj;ET{gx)3EgkOie-OUo;7D zodxRY;c>c4Fv^{9BNB<~rzEVI7(ES5hO*ywj%pw>Fp$!E7;yt2OjJ}fJ3D*0ti3oP zJzX*QXt%FVe@CE18w*#RIT%4Y7;Q2b{S3p7*S&eOW+lWyCpF2FE!dkPZb1{?o~`Vc znwt|_f!@pW-AqfXoJ{4p0m{0jlA+3()H3t{-VyQ}ha zV>IvX-Y6CN^YE~ztLu9|{&)^c9O{@@FV#vyPlvIwvI<_knkYCmJ9~1tn#-%`{a`3d z@&5h$#YVaF;K4x+0dXJ^a>;DCprD|ts_Ms&AHWq(y7SXIyQG{?HFHx_QzIkq?Aype zbAhC75{cOf2|vEHoh`j*YDyR>GzdeZL6P5vXCvkV{s;0FksqM~Ba(IDlB8n?c=c}iKCtBJ`7 zXp?i>vD`mb>QW>BC;TYk1%+Fo5h$gwkfu^<3jZ6Fi$+ z=3XBk#@Qll@KMC`=Z_vd*mZh&idhvct(B|FI|fD~0ijY?Q^R`kV!3r~6dx5P0o1El zN_cpxjBp?u=2a2*o zH-M=1`tb#tsGFRcn)>RMKaj8BIVA7Z8FPcQ0yypb`sMBIU18gjk(=vz4M!j(?XMf_ z8yJLzg~4JuWkXI#KoDY>a)*Hx+xi-E1*t6rX%M`!Zy)sVqPAx0rEc8VIaolcBi0i3 z7>9y1)N&Ur+T<)N4ULQ#i7tE?km>2^>9=-1&S?iP76YPO%IQhCtNi?nyX%DB-rgrq zo)nci#ON%Y9PVUiWvQK#95D%xkLOzg**ao%mfk(=ryy^8b*QYz>W#0B~r&Z{7`f=PcDgUt3$Ar{BS7!OYA|3OZfGW78z8ytii+qeJD! zO(AI$qoWk(&hcZ=XtWz|%dTwx;YPNiPj@$69j%-l+eTNXOds+gz(D)5_s7GP%&e@e ziVDb1L=oI}X0iGX@fjTniy#l>la~Gg1a&r$U0AD0H-?BXCIPDUpc$kBl<5jA?sXlI zzYnil*~JEP$hlcM|1}Z4m#E)+6M#j)2!tXnQeupQgM+QDIRU><6yn(i7QLKN+0IV( z@2AK^$@ss0{rc|7Qg=rLqvuTBErG<&t}Z=6W*{UdHbE|L{RU(qd4Ae!V^p-omY0Pk zjOqF%x`XXGS7+x-@*bDnou;V=ErvTfG)v5;L$tWg-IFlz@!4q)r!8^cOv#7S6DI5D zk*dN++NycXemFTf`S9UGD1)%xyYlkbqqf6lQ`i0ZY0XuQr%0WRvKo&m*%_x*@ zc7m=*d%~r5XlQ7CeO)Pg`*Y$Iu*vUy%?OMJe{`3as3?fjB@JCH{*9R!$W(Gl3IO%M z!a{Ci!(&1bz;-M8wsL;g#vP99Ef=fjT_;68NY#jIHgT?CQzfjJxw(l;OOB2&g^^J% zkLkB?;ex%lGUb8~m(yIw-vVlF0HHKhdEo2oYhf_~%Km^j3ShNR{|`aDdtyvoJL=Id3LSq+8*> z%+3Ar^k@?d5MRE0x#2YQ7LbaIUA4ox=&q>P*x0x@Hk$CFv_PL4qvD#HQNSlBwIpo3 znn~FhFo8s8K(m0LRe0j3^X7x@aVdJgj*mAoGcz+WdHL}p%HRKku}Dl@+q5=yo{@t->eCjIa|M;Kn{(s&Vq@p;um3`kDi_|zm$yAgJO{OL% zCs!>-w6(OPZJEi!97bO2t;jFhy*?}P>DqtF4-)FGtpnq3IJqHs=R&5ZeOs$S!yf%# DIElM! literal 5479 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 diff --git a/docs/reference/html/structxmlpp_1_1SaxParser_1_1Attribute__coll__graph.png b/docs/reference/html/structxmlpp_1_1SaxParser_1_1Attribute__coll__graph.png index 856d63232a4613fc13edde4088eb0187becc9e5c..f487e0b5a092c6dbcef43806511e7a94e9fa6e43 100644 GIT binary patch literal 4548 zcmZvg2{=@3|Hs8-#u6H`D|?gdJeI5>`@Ys>CuAofWP}VM$u_cv!O+P5*d-*pu`f|* zFv^xKRNlM)bG^_1eXi@7xn}O`T<4rQ=lt&b`~7}?6K8Cwb&i^ynv9I>oQ}4JDHz{? z4+cgKzLlK(`oKWxsHdetcKZ9B-&&GFMt1&zj>dKK;Ove0P-Di`X6Sa1x*A!xZ=43U zh@eX~ITRpN$D+V}LAM+c&G^Ew&YG!3ADcfu2fJ~*^r8vpV?szzf2?&&z(`)cNfA^F zd*DmWD_6j+*2oXxrBwG0{WUFf&ViAtoPTImK@qUzhXZ+m+I9##&8rlzLkkHl+Ez((BT$J_xz`a@a`gM@6FSku_l{WgJPSTw$O^*m961fn%rIe<7 z|JRSB+}zwOS)U<{1RnySEzHajxV(F$i}jE8sOgJB_Pd=kR#S^KMkxAzdb39w z6`A5*zxF|)RAL-1T)3ckQA|N$Zf54_L*u<;zhK3MM-q>>M0l zHaCZscb;BSQEsBQYDnxI9!7avP(O||EKv#Geq)YqYPu$va9B${} zV4?Qz*gY#*>-2siEv33J^VPJz*3iSYop&6X%X4#cVzw;}c>G``fk5yh_NDnZDk>>G zT23>>s`P@srA6g!a4Iri2z4}tG zbX6xM8EI*uZ_ux=uZMuyV!Ujqj}hmQlWS;dnk|iLZT$7Vh)b`pm&q~g zS>B1wO1W%QUrKvhN{FJ%vC3sQxAoykVBtZH>+p+PdL?5dsi~2XH$?xzfOn_4LJOm# zYQl&#UFLWTByx6UM&5OZGg;fYmYS526U8CVNvEc5r{m;Qm?`P`v6PlU4WXcLGLADV zx5Ss>aHKC^JUl%=H266=IK0fXaFa%wnm*Uy#o_S=Iy!N2aS{__6B8C#)3nr7ZR}`{ zLJ&L=i9bj&QpUY{r2&(dlVfmg>$-|V;xC2}^##rN;R1q!fdK)E!Q0$?e4R4wE|&@j z?D==cis#!NHkX%QMIhdHcMHhLVKfUZEG!Z^WQWFuz{4Kw?t*oD{rdIu=g(77QN8ct z5T!$>q^AqQ;}#yQ=9HEqmKG$O-Z{IvYH4aVH8gxC5{WA-ywPC(OAK??H#bF7dSh&V zxPgmtsME^TK<1&uPAz%DS27lYNpO|DfC&6ii*P9kgLItlusZ$ zEkjiUvyZ1mvuK`WWMpjoaQcy25)ND3s5o`qPyX=3C(?v#tRo5ci)gr`a^AG|h@o-B~}5YG7%tX@fn-?{KDYnI5) zS}F!^f369mlOmJ>V#EFd@WVA}3ikW#EhZoEq^Vmt#N634l9SdvQ+p}dn{LNDJ*T_QpTAW3F>pJb zJ56>7LN8h+Fm z#GWF94xEv%d2d6-9RAIIA<9rmtzCUILxI9uZx{G)yFX$6r$>+I?QAtVv;JQaNS1_+ z6@D{F+LKjRS2r^?jU^5Z8B#`Fwl$Y)ritth=nn;LOA*wm4>1 zkTt7$sPN-G5(a}QD=VX65oOr;(|aCS>vlfILH);>Qs7N>$c?3?0w0H}n_}3d40>{B zwq)(p%uM;fuhZMx+f`0IywOFbq~`*9-t$ew)zzTYp`3UYF?M_;ebXK*y0faL24q5D zV4x=K3KKQX{92^Z(habT`v>w=+S}TcFJIO|HCDAh{T$GwFW5gYFz#OG-)Q|YZ*SBI zI17TQ;$~GrYpV@!vaof7@8RY=->J1N4EF3!c6PR!y86k<2?Yg3T>8#(PYD)#76KW_ zmY3q?eLFXI8^N@Gl42V|%d@vTtTN_SOByRVIX?E6%T7p0NDdbigN1SU45i&qguRqM zRcaFRI5xc=G4SX}b@(hu{WooA|2L}tN8YT1Q1U2nBw-i|QhIeK7)r-!Uo*ofsQ7{>(cu*{SEaIOuSdjG)YQ~8H61T@qJiu6 z_V#M`X~~=rWfyv&GIh!^kxrAK{!` zS|q_f{Z(=L6$&Mmf78f+u_lvZ_falQ8;w-YcF!ZSEC1?^5pc|q1Kj{LMD#Ze9fk1$!8t@F?n@um9* zm;HCLH4&PdNdUkf$$$?jPX9W@d$# zDhmqU`bLkH7|}q;AE{P`9(vaymA+TeLR0&RMQ7=wy3c$&JUralkq=li1~qqZSZuog zB{p6gFv{lU=8qp?FO4zD$uB3|>Vo%HeX@r4Bi2b=RA#rEnp zHa6g7KoLcJ3|#E&?1tHL9WFIel9JD#KOf3d5o3VW`+PJEct13>xwSPsI5-ce4RF)b zi%Rabyczuh53faoBS%I?bW#KjvSbW|nfan`3QrOWwc=#Pz$@BiGJ;^gEMx1l|&Z7Y$Oo|3ZL0lj4166{APxB>7P zY~1_D15FJH>J4 zWn-k3;k>-8EWHn*U`JP%26H@-L~0B>0{ZkXyfEl#gfmCl*l@w&kqp#SR1&8`F7B$G z_@MoD3n@N~*tBV9X7bw75}cDWZ1L@5`Fkrrq!@CB?8O<>SYy~k>20|>E8`e1!~3m8 zt$33$?$X`8y;nf9qNvE(vlDu_x$&`GMM>#r&n1)w4A|ivXJ>oXV)`ezNH$u^yZSm> z`D3K6vo8P?{^>d6zdnw$X%5^u`T;7YoF|sjE6r};=2qHvijietaKu|EUgXUN`~N#T|Y zn!E>eFo8={f7aK-6&UaG0YrWUMD^;Ga5O`VLzprO6zIz&ULDp;{N^=RzcJrD)zec_ zRkbsTzn#wP=??jsn{SGHm%x^inTfM3r=g|}|GtO@bllX`H0oBnwB&gC^5y7frnqst zdUODbq$v{F;|s21Y2H0)4ivcW#mW|dgsaH>wfFmPGm6#Fsf zIG)7EZ-JU6XbtxEl1QWnduxPbKCQ^8s6lBuW;pyCsO0C>RXu)qn(jX6O+dpEwnxxf z+cI!*b)5pnus(hz$FRg0AuNOmfOOJb%kkb{pXeghxBh-9sl|5KLm-f^9~#XBQ}*}v zib_iIlplt~W-V>bH+y+`b#!!iqrii~i6C@=x6m*PPdE7S0r`nKu7lOa#g&7>G=v@bqfn<) zwxJ>-B7+5yI$GjiKYjYN4dhmg#XgRSv26{pK(UQalv@F6n4X?qTXVCrnrdih=!i;D z&H*Y0+{WG(Iq>2Sy_d%3mX@H6Gcp>ktP~ea(Gh0wVW-TJ^D6)ypt-rZzkhXmJ4!<% zy1d*YAYgB0Fl%{fDYoWn^t13cz)M~-DKb&G@G~&R$HhHL|Hai;BOf+og0Q46>9d8 F{{i+LmJ|R0 literal 5448 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 XBuzNSf&3B}jp8ZFsmd0~m<0b9BPNdX diff --git a/docs/reference/libxml++-2.6.devhelp2 b/docs/reference/libxml++-2.6.devhelp2 index c30da4f..77e8ef6 100644 --- a/docs/reference/libxml++-2.6.devhelp2 +++ b/docs/reference/libxml++-2.6.devhelp2 @@ -226,6 +226,8 @@ + + diff --git a/docs/reference/libxml++-2.6.tag b/docs/reference/libxml++-2.6.tag index 37550e2..ff5a0ad 100644 --- a/docs/reference/libxml++-2.6.tag +++ b/docs/reference/libxml++-2.6.tag @@ -1,13 +1,5 @@ - - index - libxml++ Reference Manual - index - features - basics - description - sigc::trackable classsigc_1_1trackable.html @@ -1242,6 +1234,20 @@ () + const Node * + get_first_child + classxmlpp_1_1Node.html + a0e244ac3573fc927bcb0f70d6b70f5d2 + (const Glib::ustring &name=Glib::ustring()) const + + + Node * + get_first_child + classxmlpp_1_1Node.html + a5eb1d1e3d4616604da7cf58da15b6fa7 + (const Glib::ustring &name=Glib::ustring()) + + NodeList get_children classxmlpp_1_1Node.html @@ -2822,4 +2828,12 @@ + + index + libxml++ Reference Manual + index + features + basics + description + diff --git a/examples/dom_build/main.cc b/examples/dom_build/main.cc index 1ed3090..367620e 100644 --- a/examples/dom_build/main.cc +++ b/examples/dom_build/main.cc @@ -33,10 +33,8 @@ main(int /* argc */, char** /* argv */) // so we can use std::cout with UTF-8, via Glib::ustring, without exceptions. std::locale::global(std::locale("")); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED xmlpp::Document document; document.set_internal_subset("example_xml_doc", "", "example_xml_doc.dtd"); document.set_entity_declaration("example1", xmlpp::XML_INTERNAL_GENERAL_ENTITY, @@ -71,13 +69,11 @@ main(int /* argc */, char** /* argv */) Glib::ustring whole = document.write_to_string(); std::cout << "XML built at runtime: " << std::endl << whole << std::endl; std::cout << "namespace of root node: " << nodeRoot->get_namespace_uri() << std::endl; - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const std::exception& ex) { std::cout << "Exception caught: " << ex.what() << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED return 0; } diff --git a/examples/dom_parse_entities/main.cc b/examples/dom_parse_entities/main.cc index b0c47ff..9f67a59 100644 --- a/examples/dom_parse_entities/main.cc +++ b/examples/dom_parse_entities/main.cc @@ -86,10 +86,8 @@ int main(int argc, char* argv[]) else std::cout << std::endl << "<<< Without entity substitution >>>" << std::endl; - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED xmlpp::DomParser parser; parser.set_validate(); parser.set_substitute_entities(substitute_entities); @@ -100,13 +98,11 @@ int main(int argc, char* argv[]) const xmlpp::Node* pNode = parser.get_document()->get_root_node(); //deleted by DomParser. print_node(pNode, substitute_entities); } - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const std::exception& ex) { std::cout << "Exception caught: " << ex.what() << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED if (substitute_entities) break; diff --git a/examples/dom_parser/main.cc b/examples/dom_parser/main.cc index 5929ce3..54785f3 100644 --- a/examples/dom_parser/main.cc +++ b/examples/dom_parser/main.cc @@ -152,10 +152,8 @@ int main(int argc, char* argv[]) else filepath = "example.xml"; - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED xmlpp::DomParser parser; if (validate) parser.set_validate(); @@ -170,13 +168,11 @@ int main(int argc, char* argv[]) const xmlpp::Node* pNode = parser.get_document()->get_root_node(); //deleted by DomParser. print_node(pNode); } - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const std::exception& ex) { std::cout << "Exception caught: " << ex.what() << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED return 0; } diff --git a/examples/dom_parser_raw/main.cc b/examples/dom_parser_raw/main.cc index 8353f60..0db852f 100644 --- a/examples/dom_parser_raw/main.cc +++ b/examples/dom_parser_raw/main.cc @@ -70,10 +70,8 @@ int main(int argc, char* argv[]) else filepath = "example.xml"; - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED xmlpp::DomParser parser; parser.set_validate(); parser.set_substitute_entities(); //We just want the text to be resolved/unescaped automatically. @@ -82,7 +80,6 @@ int main(int argc, char* argv[]) std::string contents = read_from_disk(filepath); std::string contents_ucs2; - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { contents_ucs2 = Glib::convert(contents, "UCS-2", "UTF-8"); @@ -91,10 +88,6 @@ int main(int argc, char* argv[]) { std::cerr << "Glib::convert failed: " << ex.what() << std::endl; } - #else - std::auto_ptr error; - contents_ucs2 = Glib::convert(contents, "UCS-2", "UTF-8", error); - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED parser.parse_memory_raw((const unsigned char*)contents_ucs2.c_str(), contents_ucs2.size()); @@ -113,13 +106,11 @@ int main(int argc, char* argv[]) const xmlpp::Node* pNode = parser.get_document()->get_root_node(); //deleted by DomParser. print_node(pNode); } - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const std::exception& ex) { std::cout << "Exception caught: " << ex.what() << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED return 0; } diff --git a/examples/dom_read_write/main.cc b/examples/dom_read_write/main.cc index cc298ea..0ac5628 100644 --- a/examples/dom_read_write/main.cc +++ b/examples/dom_read_write/main.cc @@ -47,10 +47,8 @@ main(int argc, char* argv[]) else filepath_out = "example_output.xml"; - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED xmlpp::DomParser parser; parser.set_validate(); parser.parse_file(filepath_in); @@ -61,13 +59,11 @@ main(int argc, char* argv[]) if(document) document->write_to_file(filepath_out); } - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const std::exception& ex) { std::cout << "Exception caught: " << ex.what() << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED return 0; } diff --git a/examples/dom_xpath/main.cc b/examples/dom_xpath/main.cc index e38fa99..f8722e0 100644 --- a/examples/dom_xpath/main.cc +++ b/examples/dom_xpath/main.cc @@ -56,10 +56,8 @@ int main(int argc, char* argv[]) else filepath = "example.xml"; - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED xmlpp::DomParser parser(filepath); if(parser) { @@ -87,13 +85,11 @@ int main(int argc, char* argv[]) xpath_test(root, "//xref/@linkend"); } } - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const std::exception& ex) { std::cout << "Exception caught: " << ex.what() << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED return 0; } diff --git a/examples/dtdvalidation/main.cc b/examples/dtdvalidation/main.cc index 74b3ec1..84b0511 100644 --- a/examples/dtdvalidation/main.cc +++ b/examples/dtdvalidation/main.cc @@ -43,51 +43,39 @@ int main(int argc, char* argv[]) xmlpp::Document document; /* xmlpp::Element* nodeRoot = */document.create_root_node("incorrect"); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED xmlpp::DtdValidator validator( dtdfilepath ); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED validator.validate( &document ); std::cout << "Validation successful" << std::endl; - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch( const xmlpp::validity_error& ) { std::cout << "Error validating the document" << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED /* xmlpp::Element* nodeRoot2 = */document.create_root_node("example"); xmlpp::Element * child = document.get_root_node()->add_child("examplechild"); child->set_attribute("id", "an_id"); child->add_child("child_of_child"); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED xmlpp::DtdValidator validator2( dtdfilepath ); validator2.validate( &document ); std::cout << "Validation successful" << std::endl; - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch( const xmlpp::validity_error& ) { std::cout << "Error validating the document" << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch( const xmlpp::parse_error& ) { std::cerr << "Error parsing the dtd" << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } diff --git a/examples/import_node/main.cc b/examples/import_node/main.cc index 8a0b44a..22abfb4 100644 --- a/examples/import_node/main.cc +++ b/examples/import_node/main.cc @@ -13,10 +13,8 @@ int main (int /* argc */, char** /* argv */) // so we can use std::cout with UTF-8, via Glib::ustring, without exceptions. std::locale::global(std::locale("")); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try - { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED + { DomParser example1("example1.xml"); DomParser example2("example2.xml"); @@ -37,12 +35,10 @@ int main (int /* argc */, char** /* argv */) string doc1_string = doc1->write_to_string_formatted(); cout << doc1_string; return EXIT_SUCCESS; - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch (std::exception& ex) { cerr << "Caught exception " << ex.what() << endl; return EXIT_FAILURE; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } diff --git a/examples/sax_exception/main.cc b/examples/sax_exception/main.cc index b316ea7..e64610a 100644 --- a/examples/sax_exception/main.cc +++ b/examples/sax_exception/main.cc @@ -38,18 +38,14 @@ int main(int /* argc */, char** /* argv */) MySaxParser parser; - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED parser.parse_file("example.xml"); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const std::exception& ex) { std::cout << "Exception caught: " << ex.what() << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED return 0; } diff --git a/examples/sax_exception/myparser.cc b/examples/sax_exception/myparser.cc index b66b928..11356c6 100644 --- a/examples/sax_exception/myparser.cc +++ b/examples/sax_exception/myparser.cc @@ -38,9 +38,7 @@ MyException::~MyException() throw () void MyException::Raise() const { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw *this; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } xmlpp::exception * MyException::Clone() const @@ -83,9 +81,7 @@ void MySaxParser::on_start_element(const Glib::ustring& name, std::cout << " Attribute " << iter->name << " = " << iter->value << std::endl; } - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw MyException(); - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } void MySaxParser::on_end_element(const Glib::ustring& /* name */) diff --git a/examples/sax_parser/main.cc b/examples/sax_parser/main.cc index cb4ad22..bf1c088 100644 --- a/examples/sax_parser/main.cc +++ b/examples/sax_parser/main.cc @@ -42,20 +42,16 @@ main(int argc, char* argv[]) filepath = "example.xml"; // Parse the entire document in one go: - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED MySaxParser parser; parser.set_substitute_entities(true); // parser.parse_file(filepath); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const xmlpp::exception& ex) { std::cout << "libxml++ exception: " << ex.what() << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED // Demonstrate incremental parsing, sometimes useful for network connections: diff --git a/examples/sax_parser/myparser.cc b/examples/sax_parser/myparser.cc index b12591a..ce023d4 100644 --- a/examples/sax_parser/myparser.cc +++ b/examples/sax_parser/myparser.cc @@ -33,7 +33,6 @@ MySaxParser::~MySaxParser() { } -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED void MySaxParser::on_start_document() { std::cout << "on_start_document()" << std::endl; @@ -136,4 +135,4 @@ void MySaxParser::on_fatal_error(const Glib::ustring& text) std::cerr << "MySaxParser::on_characters(): Exception caught while converting value for std::cout: " << ex.what() << std::endl; } } -#endif + diff --git a/examples/sax_parser/myparser.h b/examples/sax_parser/myparser.h index d500af1..7774a80 100644 --- a/examples/sax_parser/myparser.h +++ b/examples/sax_parser/myparser.h @@ -32,7 +32,6 @@ public: protected: //overrides: -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED virtual void on_start_document(); virtual void on_end_document(); virtual void on_start_element(const Glib::ustring& name, @@ -43,7 +42,6 @@ protected: virtual void on_warning(const Glib::ustring& text); virtual void on_error(const Glib::ustring& text); virtual void on_fatal_error(const Glib::ustring& text); -#endif }; diff --git a/examples/sax_parser_build_dom/main.cc b/examples/sax_parser_build_dom/main.cc index 8292cc9..c2f019d 100644 --- a/examples/sax_parser_build_dom/main.cc +++ b/examples/sax_parser_build_dom/main.cc @@ -47,10 +47,8 @@ main(int argc, char* argv[]) else filepath = "example.xml"; - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED SVG::Document doc; SVG::Parser parser(doc); @@ -69,13 +67,11 @@ main(int argc, char* argv[]) SVG::Path* path = dynamic_cast(nl[0]); std::cout << "style of first path node with a style = \"" << path->get_style() << "\"" << std::endl; } - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const xmlpp::exception& ex) { std::cout << "libxml++ exception: " << ex.what() << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED return 0; } diff --git a/examples/sax_parser_entities/main.cc b/examples/sax_parser_entities/main.cc index e0e8df2..7075fce 100644 --- a/examples/sax_parser_entities/main.cc +++ b/examples/sax_parser_entities/main.cc @@ -41,20 +41,16 @@ main(int argc, char* argv[]) else filepath = "example.xml"; - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED MySaxParser parser; parser.set_substitute_entities(false); //We want to know about the entities, not have them substituted automatically. parser.parse_file(filepath); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const xmlpp::exception& ex) { std::cout << "libxml++ exception: " << ex.what() << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED return 0; } diff --git a/examples/schemavalidation/main.cc b/examples/schemavalidation/main.cc index 6b6fb63..2206660 100644 --- a/examples/schemavalidation/main.cc +++ b/examples/schemavalidation/main.cc @@ -60,10 +60,8 @@ int main(int argc, char* argv[]) } catch( const xmlpp::validity_error& error) { -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED std::cout << "Error validating the document" << std::endl; - std::cout << error.what(); -#endif + std::cout << error.what(); } } catch( const xmlpp::parse_error& ) diff --git a/examples/textreader/main.cc b/examples/textreader/main.cc index 0016d73..a6957e7 100644 --- a/examples/textreader/main.cc +++ b/examples/textreader/main.cc @@ -48,10 +48,8 @@ int main(int /* argc */, char** /* argv */) // so we can use std::cout with UTF-8, via Glib::ustring, without exceptions. std::locale::global(std::locale("")); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED xmlpp::TextReader reader("example.xml"); while(reader.read()) @@ -82,12 +80,10 @@ int main(int /* argc */, char** /* argv */) std::cout << indent(depth) << "novalue" << std::endl; } - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const std::exception& e) { std::cout << "Exception caught: " << e.what() << std::endl; } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } diff --git a/libxml++/document.cc b/libxml++/document.cc index 03e6996..06cf137 100644 --- a/libxml++/document.cc +++ b/libxml++/document.cc @@ -145,11 +145,7 @@ Element* Document::create_root_node_by_import(const Node* node, xmlNode* imported_node = xmlDocCopyNode(const_cast(node->cobj()), impl_, recursive); if (!imported_node) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw exception("Unable to import node"); - #else - return 0; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } xmlDocSetRootElement(impl_, imported_node); @@ -162,11 +158,7 @@ CommentNode* Document::add_comment(const Glib::ustring& content) xmlNode* node = xmlNewComment((const xmlChar*)content.c_str()); if(!node) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw internal_error("Cannot create comment node"); - #else - return 0; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } // Use the result, because node can be freed when merging text nodes: @@ -181,11 +173,7 @@ ProcessingInstructionNode* Document::add_processing_instruction( xmlNode* node = xmlNewDocPI(impl_, (const xmlChar*)name.c_str(), (const xmlChar*)content.c_str()); if(!node) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw internal_error("Cannot create processing instruction node"); - #else - return 0; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } node = xmlAddChild((xmlNode*)impl_, node); Node::create_wrapper(node); @@ -234,11 +222,7 @@ void Document::do_write_to_file( if(result == -1) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw exception("do_write_to_file() failed."); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } } @@ -256,11 +240,7 @@ Glib::ustring Document::do_write_to_string( if(!buffer) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw exception("do_write_to_string() failed."); - #else - return Glib::ustring(); - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } // Create a Glib::ustring copy of the buffer @@ -285,11 +265,7 @@ void Document::do_write_to_stream(std::ostream& output, const Glib::ustring& enc if(result == -1) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw exception("do_write_to_stream() failed."); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } } diff --git a/libxml++/exceptions/exception.cc b/libxml++/exceptions/exception.cc index da36c64..40c71a9 100644 --- a/libxml++/exceptions/exception.cc +++ b/libxml++/exceptions/exception.cc @@ -19,9 +19,7 @@ const char* exception::what() const throw() void exception::Raise() const { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw *this; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } exception * exception::Clone() const diff --git a/libxml++/exceptions/internal_error.cc b/libxml++/exceptions/internal_error.cc index fbff40c..1cea292 100644 --- a/libxml++/exceptions/internal_error.cc +++ b/libxml++/exceptions/internal_error.cc @@ -13,9 +13,7 @@ internal_error::~internal_error() throw() void internal_error::Raise() const { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw *this; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } exception * internal_error::Clone() const diff --git a/libxml++/exceptions/parse_error.cc b/libxml++/exceptions/parse_error.cc index 7e37993..2ad8ccd 100644 --- a/libxml++/exceptions/parse_error.cc +++ b/libxml++/exceptions/parse_error.cc @@ -12,9 +12,7 @@ parse_error::~parse_error() throw() void parse_error::Raise() const { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw *this; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } exception* parse_error::Clone() const diff --git a/libxml++/exceptions/validity_error.cc b/libxml++/exceptions/validity_error.cc index f10d890..5376d3a 100644 --- a/libxml++/exceptions/validity_error.cc +++ b/libxml++/exceptions/validity_error.cc @@ -12,9 +12,7 @@ validity_error::~validity_error() throw() void validity_error::Raise() const { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw *this; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } exception* validity_error::Clone() const diff --git a/libxml++/io/outputbuffer.cc b/libxml++/io/outputbuffer.cc index fb7b3bc..7f0beee 100644 --- a/libxml++/io/outputbuffer.cc +++ b/libxml++/io/outputbuffer.cc @@ -51,11 +51,7 @@ namespace xmlpp handler = xmlFindCharEncodingHandler(encoding.c_str()); if(handler == 0) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw internal_error("Cannot initialise an encoder to " + encoding); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } } } @@ -67,9 +63,7 @@ namespace xmlpp handler); if(impl_ == 0) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw internal_error("Cannot initialise underlying xmlOutputBuffer"); - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } } diff --git a/libxml++/io/parserinputbuffer.cc b/libxml++/io/parserinputbuffer.cc index d033d74..223c08a 100644 --- a/libxml++/io/parserinputbuffer.cc +++ b/libxml++/io/parserinputbuffer.cc @@ -41,9 +41,7 @@ namespace xmlpp XML_CHAR_ENCODING_NONE); if(impl_ == 0) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw internal_error("Cannot initialise underlying xmlParserInputBuffer"); - #endif } } diff --git a/libxml++/nodes/contentnode.cc b/libxml++/nodes/contentnode.cc index 6f8d680..7153c3c 100644 --- a/libxml++/nodes/contentnode.cc +++ b/libxml++/nodes/contentnode.cc @@ -23,11 +23,7 @@ Glib::ustring ContentNode::get_content() const { if(cobj()->type == XML_ELEMENT_NODE) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw internal_error("this node type doesn't have content"); - #else - return Glib::ustring(); - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } return cobj()->content ? (char*)cobj()->content : ""; @@ -37,13 +33,8 @@ void ContentNode::set_content(const Glib::ustring& content) { if(cobj()->type == XML_ELEMENT_NODE) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw internal_error("can't set content for this node type"); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED - } - + } xmlNodeSetContent(cobj(), (xmlChar*)content.c_str()); } diff --git a/libxml++/nodes/element.cc b/libxml++/nodes/element.cc index 365d5ac..2e3f786 100644 --- a/libxml++/nodes/element.cc +++ b/libxml++/nodes/element.cc @@ -92,9 +92,7 @@ Attribute* Element::set_attribute(const Glib::ustring& name, const Glib::ustring } else { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw exception("The namespace prefix (" + ns_prefix + ") has not been declared."); - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } } diff --git a/libxml++/nodes/node.cc b/libxml++/nodes/node.cc index 6ce2b64..9555e9d 100644 --- a/libxml++/nodes/node.cc +++ b/libxml++/nodes/node.cc @@ -76,6 +76,38 @@ Node* Node::get_previous_sibling() return static_cast(cobj()->prev->_private); } +static Node* _convert_node(xmlNode* node) +{ + Node* res = 0; + if(node) + { + Node::create_wrapper(node); + res = static_cast(node->_private); + } + return res; +} + +Node* Node::get_first_child(const Glib::ustring& name) +{ + xmlNode* child = impl_->children; + if(!child) + return 0; + + do + { + if(name.empty() || name == (const char*)child->name) + return _convert_node(child); + } + while((child = child->next)); + + return 0; +} + +const Node* Node::get_first_child(const Glib::ustring& name) const +{ + return const_cast(this)->get_first_child(name); +} + Node::NodeList Node::get_children(const Glib::ustring& name) { xmlNode* child = impl_->children; @@ -86,10 +118,7 @@ Node::NodeList Node::get_children(const Glib::ustring& name) do { if(name.empty() || name == (const char*)child->name) - { - Node::create_wrapper(child); - children.push_back(reinterpret_cast(child->_private)); - } + children.push_back(_convert_node(child)); } while((child = child->next)); @@ -160,11 +189,7 @@ _xmlNode* Node::create_new_child_node(const Glib::ustring& name, const Glib::ust if(impl_->type != XML_ELEMENT_NODE) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED - throw internal_error("You can only add child nodes to element nodes"); - #else - return 0; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED + throw internal_error("You can only add child nodes to element nodes"); } if(ns_prefix.empty()) @@ -178,11 +203,7 @@ _xmlNode* Node::create_new_child_node(const Glib::ustring& name, const Glib::ust ns = xmlSearchNs(impl_->doc, impl_, (const xmlChar*)ns_prefix.c_str()); if (!ns) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw exception("The namespace prefix (" + ns_prefix + ") has not been declared."); - #else - return 0; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } } @@ -207,11 +228,7 @@ Node* Node::import_node(const Node* node, bool recursive) xmlNode* imported_node = xmlDocCopyNode(const_cast(node->cobj()), impl_->doc, recursive); if (!imported_node) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw exception("Unable to import node"); - #else - return 0; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } //Add the node: @@ -221,11 +238,7 @@ Node* Node::import_node(const Node* node, bool recursive) Node::free_wrappers(imported_node); xmlFreeNode(imported_node); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw exception("Unable to add imported node to current node"); - #else - return 0; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } Node::create_wrapper(imported_node); @@ -274,11 +287,7 @@ static NodeSet find_impl(xmlXPathContext* ctxt, const Glib::ustring& xpath) { xmlXPathFreeContext(ctxt); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw exception("Invalid XPath: " + xpath); - #else - return NodeSet(); - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } if(result->type != XPATH_NODESET) @@ -286,11 +295,7 @@ static NodeSet find_impl(xmlXPathContext* ctxt, const Glib::ustring& xpath) xmlXPathFreeObject(result); xmlXPathFreeContext(ctxt); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw internal_error("Only nodeset result types are supported."); - #else - return NodeSet(); - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } xmlNodeSet* nodeset = result->nodesetval; @@ -403,11 +408,7 @@ void Node::set_namespace(const Glib::ustring& ns_prefix) { if (impl_->type == XML_ATTRIBUTE_DECL) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw exception("Can't set the namespace of an attribute declaration"); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } //Look for the existing namespace to use: @@ -419,9 +420,7 @@ void Node::set_namespace(const Glib::ustring& ns_prefix) } else { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw exception("The namespace (" + ns_prefix + ") has not been declared."); - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } } diff --git a/libxml++/nodes/node.h b/libxml++/nodes/node.h index 9b8e909..06d2753 100644 --- a/libxml++/nodes/node.h +++ b/libxml++/nodes/node.h @@ -96,6 +96,20 @@ public: */ Node* get_previous_sibling(); + /** Get the first child of this node. You may optionally get the first child node which has a certain name. + * @returns The first child + * + * @newin{2,36} + */ + const Node* get_first_child(const Glib::ustring& name = Glib::ustring()) const; + + /** Get the first child of this node. You may optionally get the first child node which has a certain name. + * @returns The first child + * + * @newin{2,36} + */ + Node* get_first_child(const Glib::ustring& name = Glib::ustring()); + /** Obtain the list of child nodes. You may optionally obtain a list of only the child nodes which have a certain name. * @param name The names of the child nodes to get. If you do not specigy a name, then the list will contain all nodes, regardless of their names. * @returns The list of child nodes. diff --git a/libxml++/parsers/domparser.cc b/libxml++/parsers/domparser.cc index 0bd249c..52fb8d2 100644 --- a/libxml++/parsers/domparser.cc +++ b/libxml++/parsers/domparser.cc @@ -50,11 +50,7 @@ void DomParser::parse_file(const Glib::ustring& filename) if(!context_) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw internal_error("Couldn't create parsing context\n" + format_xml_error()); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } if(context_->directory == 0) @@ -78,11 +74,7 @@ void DomParser::parse_memory_raw(const unsigned char* contents, size_type bytes_ if(!context_) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw internal_error("Couldn't create parsing context\n" + format_xml_error()); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } parse_context(); @@ -104,11 +96,7 @@ void DomParser::parse_context() if(!context_) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw internal_error("Context not initialized\n" + format_xml_error()); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } xmlParseDocument(context_); @@ -121,11 +109,7 @@ void DomParser::parse_context() { release_underlying(); //Free doc_ and context_ - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw parse_error(error_str); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } doc_ = new Document(context_->myDoc); @@ -157,11 +141,7 @@ void DomParser::parse_stream(std::istream& in) if(!context_) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw internal_error("Couldn't create parsing context\n" + format_xml_error()); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } initialize_context(); @@ -187,11 +167,7 @@ void DomParser::parse_stream(std::istream& in) { release_underlying(); //Free doc_ and context_ - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw parse_error(error_str); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } doc_ = new Document(context_->myDoc); diff --git a/libxml++/parsers/parser.cc b/libxml++/parsers/parser.cc index f458ed4..b1055b7 100644 --- a/libxml++/parsers/parser.cc +++ b/libxml++/parsers/parser.cc @@ -259,10 +259,9 @@ void Parser::callback_error_or_warning(MsgType msg_type, void* ctx, vsnprintf(buff, sizeof(buff)/sizeof(buff[0]), msg, var_args); ubuff = buff; } - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED + try { - #endif switch (msg_type) { case MsgParserError: @@ -278,13 +277,11 @@ void Parser::callback_error_or_warning(MsgType msg_type, void* ctx, parser->on_validity_warning(ubuff); break; } - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const exception& e) { parser->handleException(e); } - #endif } } } diff --git a/libxml++/parsers/saxparser.cc b/libxml++/parsers/saxparser.cc index 7c5d240..d937cbf 100644 --- a/libxml++/parsers/saxparser.cc +++ b/libxml++/parsers/saxparser.cc @@ -127,17 +127,10 @@ void SaxParser::on_error(const Glib::ustring& /* text */) } -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED void SaxParser::on_fatal_error(const Glib::ustring& text) { throw parse_error("Fatal error: " + text); } -#else -void SaxParser::on_fatal_error(const Glib::ustring&) -{ - //throw parse_error("Fatal error: " + text); -} -#endif //LIBXMLCPP_EXCEPTIONS_ENABLED void SaxParser::on_cdata_block(const Glib::ustring& /* text */) { @@ -155,12 +148,9 @@ void SaxParser::on_internal_subset(const Glib::ustring& name, void SaxParser::parse() { - if(!context_) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED + if(!context_) + { throw internal_error("Parse context not created."); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } xmlSAXHandlerPtr old_sax = context_->sax; @@ -183,12 +173,9 @@ void SaxParser::parse() void SaxParser::parse_file(const Glib::ustring& filename) { - if(context_) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED + if(context_) + { throw parse_error("Attempt to start a second parse while a parse is in progress."); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } KeepBlanks k(KeepBlanks::Default); @@ -199,12 +186,9 @@ void SaxParser::parse_file(const Glib::ustring& filename) void SaxParser::parse_memory_raw(const unsigned char* contents, size_type bytes_count) { - if(context_) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED + if(context_) + { throw parse_error("Attempt to start a second parse while a parse is in progress."); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } KeepBlanks k(KeepBlanks::Default); @@ -220,12 +204,9 @@ void SaxParser::parse_memory(const Glib::ustring& contents) void SaxParser::parse_stream(std::istream& in) { - if(context_) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED + if(context_) + { throw parse_error("Attempt to start a second parse while a parse is in progress."); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } KeepBlanks k(KeepBlanks::Default); @@ -318,18 +299,14 @@ xmlEntityPtr SaxParserCallback::get_entity(void* context, const xmlChar* name) SaxParser* parser = static_cast(the_context->_private); xmlEntityPtr result = 0; - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED result = parser->on_get_entity((const char*)name); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const exception& e) { parser->handleException(e); } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED return result; } @@ -339,23 +316,19 @@ void SaxParserCallback::entity_decl(void* context, const xmlChar* name, int type _xmlParserCtxt* the_context = static_cast<_xmlParserCtxt*>(context); SaxParser* parser = static_cast(the_context->_private); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED parser->on_entity_declaration( ( name ? Glib::ustring((const char*)name) : ""), static_cast(type), ( publicId ? Glib::ustring((const char*)publicId) : ""), ( systemId ? Glib::ustring((const char*)systemId) : ""), ( content ? Glib::ustring((const char*)content) : "") ); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const exception& e) { parser->handleException(e); } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } void SaxParserCallback::start_document(void* context) @@ -363,18 +336,14 @@ void SaxParserCallback::start_document(void* context) _xmlParserCtxt* the_context = static_cast<_xmlParserCtxt*>(context); SaxParser* parser = static_cast(the_context->_private); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED parser->on_start_document(); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const exception& e) { parser->handleException(e); } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } void SaxParserCallback::end_document(void* context) @@ -385,18 +354,14 @@ void SaxParserCallback::end_document(void* context) if(parser->exception_) return; - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED parser->on_end_document(); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const exception& e) { parser->handleException(e); } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } void SaxParserCallback::start_element(void* context, @@ -413,18 +378,14 @@ void SaxParserCallback::start_element(void* context, attributes.push_back( SaxParser::Attribute( (char*)*cur, (char*)*(cur + 1) )); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED parser->on_start_element(Glib::ustring((const char*) name), attributes); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const exception& e) { parser->handleException(e); } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } void SaxParserCallback::end_element(void* context, const xmlChar* name) @@ -432,18 +393,14 @@ void SaxParserCallback::end_element(void* context, const xmlChar* name) _xmlParserCtxt* the_context = static_cast<_xmlParserCtxt*>(context); SaxParser* parser = static_cast(the_context->_private); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED parser->on_end_element(Glib::ustring((const char*) name)); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const exception& e) { parser->handleException(e); } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } void SaxParserCallback::characters(void * context, const xmlChar* ch, int len) @@ -451,10 +408,8 @@ void SaxParserCallback::characters(void * context, const xmlChar* ch, int len) _xmlParserCtxt* the_context = static_cast<_xmlParserCtxt*>(context); SaxParser* parser = static_cast(the_context->_private); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED // Here we force the use of Glib::ustring::ustring( InputIterator begin, InputIterator end ) // instead of Glib::ustring::ustring( const char*, size_type ) because it // expects the length of the string in characters, not in bytes. @@ -462,13 +417,11 @@ void SaxParserCallback::characters(void * context, const xmlChar* ch, int len) Glib::ustring( reinterpret_cast(ch), reinterpret_cast(ch + len) ) ); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const exception& e) { parser->handleException(e); } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } void SaxParserCallback::comment(void* context, const xmlChar* value) @@ -476,18 +429,14 @@ void SaxParserCallback::comment(void* context, const xmlChar* value) _xmlParserCtxt* the_context = static_cast<_xmlParserCtxt*>(context); SaxParser* parser = static_cast(the_context->_private); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED parser->on_comment(Glib::ustring((const char*) value)); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const exception& e) { parser->handleException(e); } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } void SaxParserCallback::warning(void* context, const char* fmt, ...) @@ -502,18 +451,14 @@ void SaxParserCallback::warning(void* context, const char* fmt, ...) vsnprintf(buff, sizeof(buff)/sizeof(buff[0]), fmt, arg); va_end(arg); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED parser->on_warning(Glib::ustring(buff)); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const exception& e) { parser->handleException(e); } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } void SaxParserCallback::error(void* context, const char* fmt, ...) @@ -531,18 +476,14 @@ void SaxParserCallback::error(void* context, const char* fmt, ...) vsnprintf(buff, sizeof(buff)/sizeof(buff[0]), fmt, arg); va_end(arg); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED parser->on_error(Glib::ustring(buff)); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const exception& e) { parser->handleException(e); } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } void SaxParserCallback::fatal_error(void* context, const char* fmt, ...) @@ -557,18 +498,14 @@ void SaxParserCallback::fatal_error(void* context, const char* fmt, ...) vsnprintf(buff, sizeof(buff)/sizeof(buff[0]), fmt, arg); va_end(arg); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED parser->on_fatal_error(Glib::ustring(buff)); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const exception& e) { parser->handleException(e); } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } void SaxParserCallback::cdata_block(void* context, const xmlChar* value, int len) @@ -576,23 +513,19 @@ void SaxParserCallback::cdata_block(void* context, const xmlChar* value, int len _xmlParserCtxt* the_context = static_cast<_xmlParserCtxt*>(context); SaxParser* parser = static_cast(the_context->_private); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED // Here we force the use of Glib::ustring::ustring( InputIterator begin, InputIterator end ) // see comments in SaxParserCallback::characters parser->on_cdata_block( Glib::ustring( reinterpret_cast(value), reinterpret_cast(value + len) ) ); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const exception& e) { parser->handleException(e); } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } void SaxParserCallback::internal_subset(void* context, const xmlChar* name, @@ -601,21 +534,17 @@ void SaxParserCallback::internal_subset(void* context, const xmlChar* name, _xmlParserCtxt* the_context = static_cast<_xmlParserCtxt*>(context); SaxParser* parser = static_cast(the_context->_private); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED const Glib::ustring pid = publicId ? Glib::ustring((const char*) publicId) : ""; const Glib::ustring sid = systemId ? Glib::ustring((const char*) systemId) : ""; parser->on_internal_subset( Glib::ustring((const char*) name), pid, sid); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const exception& e) { parser->handleException(e); } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } } // namespace xmlpp diff --git a/libxml++/parsers/textreader.cc b/libxml++/parsers/textreader.cc index c196d57..4a258dc 100644 --- a/libxml++/parsers/textreader.cc +++ b/libxml++/parsers/textreader.cc @@ -43,9 +43,7 @@ TextReader::TextReader( { if( ! impl_ ) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw internal_error("Cannot instantiate underlying libxml2 structure"); - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } setup_exceptions(); @@ -58,9 +56,7 @@ TextReader::TextReader( { if( ! impl_ ) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw internal_error("Cannot instantiate underlying libxml2 structure"); - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } setup_exceptions(); @@ -389,12 +385,10 @@ void TextReader::check_for_exceptions() const ths->severity_ = 0; //TODO: Offer an alternative when not using exceptions? - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED if( severity == XML_PARSER_SEVERITY_ERROR ) throw parse_error(error_); else if( severity == XML_PARSER_SEVERITY_VALIDITY_ERROR ) throw validity_error(error_); - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } int TextReader::PropertyReader::Int(int value) diff --git a/libxml++/parsers/textreader.h b/libxml++/parsers/textreader.h index 1f730cd..595e2e5 100644 --- a/libxml++/parsers/textreader.h +++ b/libxml++/parsers/textreader.h @@ -200,8 +200,8 @@ class TextReader: NonCopyable bool is_valid() const; private: - struct PropertyReader; - friend struct PropertyReader; + class PropertyReader; + friend class PropertyReader; void setup_exceptions(); static void on_libxml_error(void * arg, const char *msg, int severity, diff --git a/libxml++/schema.cc b/libxml++/schema.cc index a589083..581bb55 100644 --- a/libxml++/schema.cc +++ b/libxml++/schema.cc @@ -40,22 +40,14 @@ void Schema::set_document(Document* document, bool embed) if(!context) { -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw parse_error("Schema could not be parsed"); -#else - return; -#endif } impl_ = xmlSchemaParse(context); if(!impl_) { xmlSchemaFreeParserCtxt(context); -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw parse_error("Schema could not be parsed"); -#else - return; -#endif } impl_->_private = this; diff --git a/libxml++/validators/dtdvalidator.cc b/libxml++/validators/dtdvalidator.cc index 5517720..f000214 100644 --- a/libxml++/validators/dtdvalidator.cc +++ b/libxml++/validators/dtdvalidator.cc @@ -61,11 +61,7 @@ void DtdValidator::parse_subset(const Glib::ustring& external,const Glib::ustrin if (!dtd) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw parse_error("Dtd could not be parsed"); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } Node::create_wrapper(reinterpret_cast(dtd)); @@ -90,11 +86,7 @@ void DtdValidator::parse_stream(std::istream& in) if (!dtd) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw parse_error("Dtd could not be parsed"); - #else - return; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } Node::create_wrapper(reinterpret_cast(dtd)); @@ -137,20 +129,12 @@ bool DtdValidator::validate(const Document* doc) if(!valid_) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw internal_error("Couldn't create parsing context"); - #else - return false; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } if (!doc) { - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw internal_error("Document pointer cannot be 0"); - #else - return false; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } initialize_valid(); @@ -161,11 +145,7 @@ bool DtdValidator::validate(const Document* doc) { check_for_exception(); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw validity_error("Document failed Dtd validation"); - #else - return false; - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } return res; diff --git a/libxml++/validators/schemavalidator.cc b/libxml++/validators/schemavalidator.cc index 4f82313..2a73640 100644 --- a/libxml++/validators/schemavalidator.cc +++ b/libxml++/validators/schemavalidator.cc @@ -74,10 +74,8 @@ void SchemaValidator::parse_context(_xmlSchemaParserCtxt* context) release_underlying(); // Free any existing dtd. xmlSchema* schema = xmlSchemaParse( context ); -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED if ( ! schema ) throw parse_error("Schema could not be parsed"); -#endif schema->_private = new Schema(schema); @@ -155,26 +153,20 @@ void SchemaValidator::initialize_valid() bool SchemaValidator::validate(const Document* doc) { -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED if (!doc) throw internal_error("Document pointer cannot be 0"); -#endif -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED if (!schema_) throw internal_error("Must have a schema to validate document"); -#endif // A context is required at this stage only if (!ctxt_) ctxt_ = xmlSchemaNewValidCtxt( schema_->cobj() ); -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED if(!ctxt_) { throw internal_error("Couldn't create validating context"); } -#endif initialize_valid(); @@ -183,9 +175,7 @@ bool SchemaValidator::validate(const Document* doc) if(res != 0) { check_for_exception(); -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw validity_error("Document failed schema validation"); -#endif } return res; @@ -193,25 +183,19 @@ bool SchemaValidator::validate(const Document* doc) bool SchemaValidator::validate(const Glib::ustring& file) { -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED if (file.empty()) throw internal_error("File path must not be empty"); -#endif -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED if (!schema_) throw internal_error("Must have a schema to validate document"); -#endif // A context is required at this stage only if (!ctxt_) ctxt_ = xmlSchemaNewValidCtxt( schema_->cobj() ); -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED if(!ctxt_) { throw internal_error("Couldn't create validating context"); } -#endif initialize_valid(); int res = xmlSchemaValidateFile( ctxt_, file.c_str(), 0 ); @@ -219,9 +203,7 @@ bool SchemaValidator::validate(const Glib::ustring& file) if(res != 0) { check_for_exception(); -#ifdef LIBXMLCPP_EXCEPTIONS_ENABLED throw validity_error("Document failed schema validation"); -#endif } return res; diff --git a/libxml++/validators/validator.cc b/libxml++/validators/validator.cc index e5e9d8f..119ba61 100644 --- a/libxml++/validators/validator.cc +++ b/libxml++/validators/validator.cc @@ -95,18 +95,14 @@ void Validator::callback_validity_error(void* valid_, const char* msg, ...) vsnprintf(buff, sizeof(buff)/sizeof(buff[0]), msg, arg); va_end(arg); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED validator->on_validity_error(Glib::ustring(buff)); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const exception& e) { validator->handleException(e); } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } } @@ -124,18 +120,14 @@ void Validator::callback_validity_warning(void* valid_, const char* msg, ...) vsnprintf(buff, sizeof(buff)/sizeof(buff[0]), msg, arg); va_end(arg); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED try { - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED validator->on_validity_warning(Glib::ustring(buff)); - #ifdef LIBXMLCPP_EXCEPTIONS_ENABLED } catch(const exception& e) { validator->handleException(e); } - #endif //LIBXMLCPP_EXCEPTIONS_ENABLED } } diff --git a/macros/config.guess b/macros/config.guess index 40eaed4..d622a44 100755 --- a/macros/config.guess +++ b/macros/config.guess @@ -2,9 +2,9 @@ # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# 2011, 2012 Free Software Foundation, Inc. -timestamp='2011-05-11' +timestamp='2012-02-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -17,9 +17,7 @@ timestamp='2011-05-11' # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -57,8 +55,8 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -145,7 +143,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward @@ -792,13 +790,12 @@ EOF echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) @@ -807,6 +804,9 @@ EOF *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; + i*:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 @@ -861,6 +861,13 @@ EOF i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; @@ -895,13 +902,16 @@ EOF echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) - echo cris-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; frv:Linux:*:*) - echo frv-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu @@ -943,7 +953,7 @@ EOF test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) - echo or32-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu @@ -978,13 +988,13 @@ EOF echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-tilera-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu @@ -1315,6 +1325,9 @@ EOF i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 diff --git a/macros/config.sub b/macros/config.sub index 30fdca8..c894da4 100755 --- a/macros/config.sub +++ b/macros/config.sub @@ -2,9 +2,9 @@ # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# 2011, 2012 Free Software Foundation, Inc. -timestamp='2011-03-23' +timestamp='2012-02-10' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -21,9 +21,7 @@ timestamp='2011-03-23' # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -76,8 +74,8 @@ version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -132,6 +130,10 @@ case $maybe_os in os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] @@ -247,17 +249,22 @@ case $basic_machine in # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ + | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | be32 | be64 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ + | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ + | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ @@ -291,7 +298,7 @@ case $basic_machine in | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ - | rx \ + | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ @@ -300,7 +307,7 @@ case $basic_machine in | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ - | v850 | v850e \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) @@ -315,8 +322,7 @@ case $basic_machine in c6x) basic_machine=tic6x-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | picochip) - # Motorola 68HC11/12. + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -329,7 +335,10 @@ case $basic_machine in strongarm | thumb | xscale) basic_machine=arm-unknown ;; - + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; xscaleeb) basic_machine=armeb-unknown ;; @@ -352,11 +361,13 @@ case $basic_machine in # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ + | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ @@ -365,8 +376,10 @@ case $basic_machine in | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ + | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ @@ -400,7 +413,7 @@ case $basic_machine in | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ - | romp-* | rs6000-* | rx-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ @@ -408,10 +421,11 @@ case $basic_machine in | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile-* | tilegx-* \ + | tile*-* \ | tron-* \ | ubicom32-* \ - | v850-* | v850e-* | vax-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -711,7 +725,6 @@ case $basic_machine in i370-ibm* | ibm*) basic_machine=i370-ibm ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 @@ -808,10 +821,18 @@ case $basic_machine in ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; + msys) + basic_machine=i386-pc + os=-msys + ;; mvs) basic_machine=i370-ibm os=-mvs ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; ncr3000) basic_machine=i486-ncr os=-sysv4 @@ -1120,13 +1141,8 @@ case $basic_machine in basic_machine=t90-cray os=-unicos ;; - # This must be matched before tile*. - tilegx*) - basic_machine=tilegx-unknown - os=-linux-gnu - ;; tile*) - basic_machine=tile-unknown + basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) @@ -1336,7 +1352,7 @@ case $os in | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ @@ -1548,9 +1564,6 @@ case $basic_machine in ;; m68000-sun) os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 ;; m68*-cisco) os=-aout diff --git a/macros/depcomp b/macros/depcomp index df8eea7..bd0ac08 100755 --- a/macros/depcomp +++ b/macros/depcomp @@ -1,10 +1,10 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2009-04-28.21; # UTC +scriptversion=2011-12-04.11; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free -# Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, +# 2011 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -44,7 +44,7 @@ Environment variables: object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. + tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . @@ -90,10 +90,18 @@ if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 - cygpath_u="sed s,\\\\\\\\,/,g" + cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what @@ -158,10 +166,12 @@ gcc) ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as -## well. +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -405,6 +415,52 @@ tru64) rm -f "$tmpdepfile" ;; +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test "$stat" = 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/ \1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/ / + G + p +}' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. @@ -503,7 +559,9 @@ makedepend) touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation diff --git a/macros/install-sh b/macros/install-sh index 6781b98..a9244eb 100755 --- a/macros/install-sh +++ b/macros/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2009-04-28.21; # UTC +scriptversion=2011-01-19.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -156,6 +156,10 @@ while test $# -ne 0; do -s) stripcmd=$stripprog;; -t) dst_arg=$2 + # Protect names problematic for `test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac shift;; -T) no_target_directory=true;; @@ -186,6 +190,10 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then fi shift # arg dst_arg=$arg + # Protect names problematic for `test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac done fi @@ -200,7 +208,11 @@ if test $# -eq 0; then fi if test -z "$dir_arg"; then - trap '(exit $?); exit' 1 2 13 15 + do_exit='(exit $ret); exit $ret' + trap "ret=129; $do_exit" 1 + trap "ret=130; $do_exit" 2 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. @@ -228,9 +240,9 @@ fi for src do - # Protect names starting with `-'. + # Protect names problematic for `test' and other utilities. case $src in - -*) src=./$src;; + -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then @@ -252,12 +264,7 @@ do echo "$0: no destination specified." >&2 exit 1 fi - dst=$dst_arg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst;; - esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. @@ -385,7 +392,7 @@ do case $dstdir in /*) prefix='/';; - -*) prefix='./';; + [-=\(\)!]*) prefix='./';; *) prefix='';; esac @@ -403,7 +410,7 @@ do for d do - test -z "$d" && continue + test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then diff --git a/macros/libtool.m4 b/macros/libtool.m4 index 8ff3c76..828104c 100644 --- a/macros/libtool.m4 +++ b/macros/libtool.m4 @@ -1,8 +1,8 @@ # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, -# Inc. +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives @@ -11,8 +11,8 @@ m4_define([_LT_COPYING], [dnl # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, -# Inc. +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. @@ -146,6 +146,8 @@ AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl +_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl +dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl @@ -637,7 +639,7 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2011 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." @@ -801,6 +803,7 @@ AC_DEFUN([LT_LANG], m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], + [Go], [_LT_LANG(GO)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], @@ -822,6 +825,31 @@ m4_defun([_LT_LANG], ])# _LT_LANG +m4_ifndef([AC_PROG_GO], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_GO. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ +m4_defun([AC_PROG_GO], +[AC_LANG_PUSH(Go)dnl +AC_ARG_VAR([GOC], [Go compiler command])dnl +AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl +_AC_ARG_VAR_LDFLAGS()dnl +AC_CHECK_TOOL(GOC, gccgo) +if test -z "$GOC"; then + if test -n "$ac_tool_prefix"; then + AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) + fi +fi +if test -z "$GOC"; then + AC_CHECK_PROG(GOC, gccgo, gccgo, false) +fi +])#m4_defun +])#m4_ifndef + + # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], @@ -852,6 +880,10 @@ AC_PROVIDE_IFELSE([AC_PROG_GCJ], m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) +AC_PROVIDE_IFELSE([AC_PROG_GO], + [LT_LANG(GO)], + [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) + AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) @@ -954,7 +986,13 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD @@ -962,6 +1000,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ rm -rf libconftest.dylib* rm -f conftest.* fi]) + AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no @@ -973,6 +1012,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ [lt_cv_ld_exported_symbols_list=no]) LDFLAGS="$save_LDFLAGS" ]) + AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], [lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF @@ -990,7 +1030,9 @@ _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? - if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD @@ -1035,8 +1077,8 @@ _LT_EOF ]) -# _LT_DARWIN_LINKER_FEATURES -# -------------------------- +# _LT_DARWIN_LINKER_FEATURES([TAG]) +# --------------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ @@ -1047,6 +1089,8 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES], _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported if test "$lt_cv_ld_force_load" = "yes"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], + [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi @@ -1330,14 +1374,27 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) CFLAGS="$SAVE_CFLAGS" fi ;; -sparc*-*solaris*) +*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; + yes*) + case $host in + i?86-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD="${LD-ld}_sol2" + fi + ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" @@ -1414,13 +1471,13 @@ old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in @@ -1600,6 +1657,11 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl lt_cv_sys_max_cmd_len=196608 ;; + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not @@ -1639,7 +1701,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. - while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \ + while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do @@ -2185,7 +2247,7 @@ need_version=unknown case $host_os in aix3*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH @@ -2194,7 +2256,7 @@ aix3*) ;; aix[[4-9]]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes @@ -2259,7 +2321,7 @@ beos*) ;; bsdi[[45]]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' @@ -2398,7 +2460,7 @@ m4_if([$1], [],[ ;; dgux*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' @@ -2406,10 +2468,6 @@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd1*) - dynamic_linker=no - ;; - freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. @@ -2417,7 +2475,7 @@ freebsd* | dragonfly*) objformat=`/usr/bin/objformat` else case $host_os in - freebsd[[123]]*) objformat=aout ;; + freebsd[[23]].*) objformat=aout ;; *) objformat=elf ;; esac fi @@ -2435,7 +2493,7 @@ freebsd* | dragonfly*) esac shlibpath_var=LD_LIBRARY_PATH case $host_os in - freebsd2*) + freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) @@ -2455,7 +2513,7 @@ freebsd* | dragonfly*) ;; gnu*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' @@ -2466,7 +2524,7 @@ gnu*) ;; haiku*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" @@ -2527,7 +2585,7 @@ hpux9* | hpux10* | hpux11*) ;; interix[[3-9]]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' @@ -2543,7 +2601,7 @@ irix5* | irix6* | nonstopux*) nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; @@ -2580,9 +2638,9 @@ linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; -# This must be Linux ELF. +# This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -2657,7 +2715,7 @@ netbsd*) ;; newsos6) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -2726,7 +2784,7 @@ rdos*) ;; solaris*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -2751,7 +2809,7 @@ sunos4*) ;; sysv4 | sysv4.3*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH @@ -2775,7 +2833,7 @@ sysv4 | sysv4.3*) sysv4*MP*) if test -d /usr/nec ;then - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH @@ -2806,7 +2864,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -2816,7 +2874,7 @@ tpf*) ;; uts4*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH @@ -3238,7 +3296,7 @@ irix5* | irix6* | nonstopux*) lt_cv_deplibs_check_method=pass_all ;; -# This must be Linux ELF. +# This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; @@ -3658,6 +3716,7 @@ for ac_symprfx in "" "_"; do # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ @@ -4242,7 +4301,9 @@ m4_if([$1], [CXX], [ case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC' + if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" + fi ;; esac else @@ -4334,18 +4395,33 @@ m4_if([$1], [CXX], [ ;; *) case `$CC -V 2>&1 | sed 5q` in - *Sun\ F* | *Sun*Fortran*) + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; + *Sun\ F* | *Sun*Fortran*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; + *Intel*\ [[CF]]*Compiler*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + *Portland\ Group*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; esac ;; esac @@ -4505,7 +4581,9 @@ m4_if([$1], [CXX], [ ;; cygwin* | mingw* | cegcc*) case $cc_basename in - cl*) ;; + cl*) + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] @@ -4533,7 +4611,6 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported @@ -4787,8 +4864,7 @@ _LT_EOF xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ @@ -5084,6 +5160,7 @@ _LT_EOF # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' @@ -5130,10 +5207,6 @@ _LT_EOF _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; - freebsd1*) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little @@ -5146,7 +5219,7 @@ _LT_EOF ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) + freebsd2.*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes @@ -5185,7 +5258,6 @@ _LT_EOF fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes @@ -5627,9 +5699,6 @@ _LT_TAGDECL([], [no_undefined_flag], [1], _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], - [[If ld is used when linking, flag to hardcode $libdir into a binary - during linking. This must work even if $libdir does not exist]]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], @@ -5787,7 +5856,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported @@ -6157,7 +6225,7 @@ if test "$_lt_caught_CXX_error" != yes; then esac ;; - freebsd[[12]]*) + freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no @@ -6918,12 +6986,18 @@ public class foo { } }; _LT_EOF +], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF +package foo +func foo() { +} +_LT_EOF ]) _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac dnl Parse the compiler output and extract the necessary @@ -7120,7 +7194,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no @@ -7253,7 +7326,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no @@ -7440,6 +7512,77 @@ CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GCJ_CONFIG +# _LT_LANG_GO_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Go compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_GO_CONFIG], +[AC_REQUIRE([LT_PROG_GO])dnl +AC_LANG_SAVE + +# Source file extension for Go test sources. +ac_ext=go + +# Object file extension for compiled Go test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="package main; func main() { }" + +# Code to be used in simple link tests +lt_simple_link_test_code='package main; func main() { }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GOC-"gccgo"} +CFLAGS=$GOFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)="$LD" +_LT_CC_BASENAME([$compiler]) + +# Go did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GO_CONFIG + + # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler @@ -7509,6 +7652,13 @@ dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) +# LT_PROG_GO +# ---------- +AC_DEFUN([LT_PROG_GO], +[AC_CHECK_TOOL(GOC, gccgo,) +]) + + # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], diff --git a/macros/ltmain.sh b/macros/ltmain.sh old mode 100755 new mode 100644 index b4a3231..c2852d8 --- a/macros/ltmain.sh +++ b/macros/ltmain.sh @@ -1,9 +1,9 @@ -# libtool (GNU libtool) 2.4 +# libtool (GNU libtool) 2.4.2 # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -41,6 +41,7 @@ # --quiet, --silent don't print informational messages # --no-quiet, --no-silent # print informational messages (default) +# --no-warn don't display warning messages # --tag=TAG use configuration variables from tag TAG # -v, --verbose print more informational messages than default # --no-verbose don't print the extra informational messages @@ -69,7 +70,7 @@ # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.4 Debian-2.4-2ubuntu1 +# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1 # automake: $automake_version # autoconf: $autoconf_version # @@ -79,9 +80,9 @@ PROGRAM=libtool PACKAGE=libtool -VERSION="2.4 Debian-2.4-2ubuntu1" +VERSION="2.4.2 Debian-2.4.2-1ubuntu1" TIMESTAMP="" -package_revision=1.3293 +package_revision=1.3337 # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then @@ -136,15 +137,10 @@ progpath="$0" : ${CP="cp -f"} test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} -: ${EGREP="/bin/grep -E"} -: ${FGREP="/bin/grep -F"} -: ${GREP="/bin/grep"} -: ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} -: ${SED="/bin/sed"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} @@ -387,7 +383,7 @@ case $progpath in ;; *) save_IFS="$IFS" - IFS=: + IFS=${PATH_SEPARATOR-:} for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break @@ -771,8 +767,8 @@ func_help () s*\$LTCFLAGS*'"$LTCFLAGS"'* s*\$LD*'"$LD"'* s/\$with_gnu_ld/'"$with_gnu_ld"'/ - s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ - s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ + s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ + s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ p d } @@ -1052,6 +1048,7 @@ opt_finish=false opt_help=false opt_help_all=false opt_silent=: +opt_warning=: opt_verbose=: opt_silent=false opt_verbose=false @@ -1120,6 +1117,10 @@ esac opt_silent=false func_append preserve_args " $opt" ;; + --no-warning|--no-warn) + opt_warning=false +func_append preserve_args " $opt" + ;; --no-verbose) opt_verbose=false func_append preserve_args " $opt" @@ -2059,7 +2060,7 @@ func_mode_compile () *.[cCFSifmso] | \ *.ada | *.adb | *.ads | *.asm | \ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup) + *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) func_xform "$libobj" libobj=$func_xform_result ;; @@ -3201,11 +3202,13 @@ func_mode_install () # Set up the ranlib parameters. oldlib="$destdir/$name" + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $oldlib" 'exit $?' + func_show_eval "$old_striplib $tool_oldlib" 'exit $?' fi # Do each command in the postinstall commands. @@ -3470,7 +3473,7 @@ static const void *lt_preloaded_setup() { # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; @@ -3982,14 +3985,17 @@ func_exec_program_core () # launches target application with the remaining arguments. func_exec_program () { - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done + case \" \$* \" in + *\\ --lt-*) + for lt_wr_arg + do + case \$lt_wr_arg in + --lt-*) ;; + *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; + esac + shift + done ;; + esac func_exec_program_core \${1+\"\$@\"} } @@ -5057,9 +5063,15 @@ void lt_dump_script (FILE* f) { EOF func_emit_wrapper yes | - $SED -e 's/\([\\"]\)/\\\1/g' \ - -e 's/^/ fputs ("/' -e 's/$/\\n", f);/' - + $SED -n -e ' +s/^\(.\{79\}\)\(..*\)/\1\ +\2/ +h +s/\([\\"]\)/\\\1/g +s/$/\\n/ +s/\([^\n]*\).*/ fputs ("\1", f);/p +g +D' cat <<"EOF" } EOF @@ -5643,7 +5655,8 @@ func_mode_link () continue ;; - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" @@ -6150,7 +6163,8 @@ func_mode_link () lib= found=no case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" @@ -6834,7 +6848,7 @@ func_mode_link () test "$hardcode_direct_absolute" = no; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" + add_dir="-L$absdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in @@ -7319,6 +7333,7 @@ func_mode_link () # which has an extra 1 added just for fun # case $version_type in + # correct linux to gnu/linux during the next big refactor darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result @@ -7438,7 +7453,7 @@ func_mode_link () versuffix="$major.$revision" ;; - linux) + linux) # correct to gnu/linux during the next big refactor func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" @@ -8026,6 +8041,11 @@ EOF # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then + # Remove ${wl} instances when linking with ld. + # FIXME: should test the right _cmds variable. + case $archive_cmds in + *\$LD\ *) wl= ;; + esac if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= @@ -8056,7 +8076,7 @@ EOF elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; - *) func_apped perm_rpath " $libdir" ;; + *) func_append perm_rpath " $libdir" ;; esac fi done @@ -8064,11 +8084,7 @@ EOF if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" - else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi + eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. @@ -9158,6 +9174,8 @@ EOF esac done fi + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result eval cmds=\"$old_archive_cmds\" func_len " $cmds" @@ -9267,7 +9285,8 @@ EOF *.la) func_basename "$deplib" name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + func_resolve_sysroot "$deplib" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" diff --git a/macros/ltoptions.m4 b/macros/ltoptions.m4 index 17cfd51..5d9acd8 100644 --- a/macros/ltoptions.m4 +++ b/macros/ltoptions.m4 @@ -326,9 +326,24 @@ dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # MODE is either `yes' or `no'. If omitted, it defaults to `both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic], + [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], + [lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for lt_pkg in $withval; do + IFS="$lt_save_ifs" + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], [pic_mode=default]) test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) diff --git a/macros/ltversion.m4 b/macros/ltversion.m4 index 9c7b5d4..07a8602 100644 --- a/macros/ltversion.m4 +++ b/macros/ltversion.m4 @@ -9,15 +9,15 @@ # @configure_input@ -# serial 3293 ltversion.m4 +# serial 3337 ltversion.m4 # This file is part of GNU Libtool -m4_define([LT_PACKAGE_VERSION], [2.4]) -m4_define([LT_PACKAGE_REVISION], [1.3293]) +m4_define([LT_PACKAGE_VERSION], [2.4.2]) +m4_define([LT_PACKAGE_REVISION], [1.3337]) AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4' -macro_revision='1.3293' +[macro_version='2.4.2' +macro_revision='1.3337' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) diff --git a/macros/missing b/macros/missing index 28055d2..86a8fc3 100755 --- a/macros/missing +++ b/macros/missing @@ -1,10 +1,10 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2009-04-28.21; # UTC +scriptversion=2012-01-06.13; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 Free Software Foundation, Inc. +# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -84,7 +84,6 @@ Supported PROGRAM values: help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and @@ -122,15 +121,6 @@ case $1 in # Not GNU programs, they don't have --version. ;; - tar*) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. @@ -226,7 +216,7 @@ WARNING: \`$1' $msg. You should only need it if \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` @@ -256,7 +246,7 @@ WARNING: \`$1' is $msg. You should only need it if \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` @@ -318,41 +308,6 @@ WARNING: \`$1' is $msg. You should only need it if touch $file ;; - tar*) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case $firstarg in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case $firstarg in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. diff --git a/macros/reduced.m4 b/macros/reduced.m4 deleted file mode 100644 index b34495e..0000000 --- a/macros/reduced.m4 +++ /dev/null @@ -1,20 +0,0 @@ -## LIBXMLCPP_ARG_ENABLE_API_EXCEPTIONS() -## -## Provide the --enable-api-exceptions configure argument, enabled -## by default. -## -AC_DEFUN([LIBXMLCPP_ARG_ENABLE_API_EXCEPTIONS], -[ - AC_ARG_ENABLE([api-exceptions], - [ --enable-api-exceptions Build exceptions API. - [[default=yes]]], - [libxmlcpp_enable_api_exceptions="$enableval"], - [libxmlcpp_enable_api_exceptions='yes']) - - if test "x$libxmlcpp_enable_api_exceptions" = "xyes"; then - { - AC_DEFINE([LIBXMLCPP_EXCEPTIONS_ENABLED],[1], [Defined when the --enable-api-exceptions configure argument was given]) - } - fi -]) - -- 2.7.4
xmlpp::SaxParser::AttributeHasName::AttributeHasName xmlpp::SaxParser::AttributeHasName::AttributeHasName ( Glib::ustring const &  n)