From 7122fb9745e4622cb4c5d340cf1557e2fda1efe3 Mon Sep 17 00:00:00 2001 From: Sehong Na Date: Sat, 31 May 2014 13:20:46 +0900 Subject: Initialize Tizen 2.3 --- AUTHORS | 1 + COPYING | 20 + ChangeLog | 1 + Copyright | 20 + INSTALL | 183 + Makefile.am | 87 + Makefile.in | 1617 +++++++ NEWS | 179 + README | 6 + TODO | 4 + aclocal.m4 | 1105 +++++ compile | 343 ++ config.guess | 1530 +++++++ config.h.in | 97 + config.sub | 1782 ++++++++ configure | 7612 +++++++++++++++++++++++++++++++ configure.ac | 186 + depcomp | 708 +++ doc/doc.mk | 59 + doc/gen-doc | 186 + doc/html.css | 27 + doc/replace-PROG-VERSION.xsl | 15 + doc/xmlstar-fodoc-style.xsl | 17 + doc/xmlstarlet-man.xml | 202 + doc/xmlstarlet-ug.html | 888 ++++ doc/xmlstarlet-ug.pdf | Bin 0 -> 95080 bytes doc/xmlstarlet-ug.ps | 5030 ++++++++++++++++++++ doc/xmlstarlet-ug.xml | 1741 +++++++ doc/xmlstarlet.1 | 136 + doc/xmlstarlet.txt | 1325 ++++++ examples/N-order | 4 + examples/bigxml | 17 + examples/bigxml-dtd | 5 + examples/bigxml-embed | 6 + examples/bigxml-embed-ref | 7 + examples/bigxml-relaxng | 4 + examples/bigxml-well-formed | 4 + examples/bigxml-xsd | 4 + examples/c14n-default-attr | 2 + examples/c14n-newlines | 2 + examples/c14n1 | 3 + examples/c14n2 | 3 + examples/command-help | 10 + examples/count1 | 3 + examples/countnode1 | 3 + examples/delete1 | 3 + examples/docbook1 | 4 + examples/dtd/bigxml.dtd | 2 + examples/dtd/tab-obj.dtd | 17 + examples/dtd/table.dtd | 11 + examples/dtd1 | 3 + examples/dtd2 | 3 + examples/dtd3 | 3 + examples/dtd4 | 3 + examples/ed-2op | 2 + examples/ed-append | 2 + examples/ed-backref-delete | 6 + examples/ed-backref1 | 5 + examples/ed-backref2 | 7 + examples/ed-expr | 6 + examples/ed-insert | 2 + examples/ed-literal | 2 + examples/ed-move | 2 + examples/ed-namespace | 2 + examples/ed-nop | 4 + examples/ed-subnode | 2 + examples/elem-depth | 3 + examples/elem-uniq | 3 + examples/elem1 | 3 + examples/elem2 | 3 + examples/elem3 | 3 + examples/escape1 | 3 + examples/exslt-ed | 5 + examples/exslt1 | 3 + examples/external-entity | 4 + examples/findfile1 | 3 + examples/foreach-literal.sh | 8 + examples/foreach-xpath.sh | 8 + examples/genxml1 | 4 + examples/hello1 | 3 + examples/html/hello1.html | 10 + examples/j2ee/web.xml | 16 + examples/localname1 | 3 + examples/look1 | 3 + examples/move1 | 4 + examples/noindent1 | 3 + examples/ns1 | 3 + examples/pyx | 2 + examples/pyx-ns | 2 + examples/rdf/em.rdf | 11 + examples/recover1 | 3 + examples/relaxng/address-bad.xml | 11 + examples/relaxng/address.rng | 12 + examples/relaxng/address.xml | 10 + examples/relaxng/bigxml.rng | 5 + examples/rename-attr1 | 3 + examples/rename-elem1 | 3 + examples/results/N-order.out | 0 examples/results/bigxml-dtd.out | 0 examples/results/bigxml-embed-ref.out | 0 examples/results/bigxml-embed.out | 0 examples/results/bigxml-relaxng.out | 1 + examples/results/bigxml-well-formed.out | 0 examples/results/bigxml-xsd.out | 0 examples/results/bigxml.out | 0 examples/results/c14n-default-attr.out | 1 + examples/results/c14n-newlines.out | 0 examples/results/c14n1.out | 14 + examples/results/c14n2.out | 3 + examples/results/command-help.out | 12 + examples/results/count1.out | 1 + examples/results/countnode1.out | 2 + examples/results/delete1.out | 13 + examples/results/docbook1.out | 58 + examples/results/dtd1.out | 1 + examples/results/dtd2.out | 1 + examples/results/dtd3.out | 1 + examples/results/dtd4.out | 1 + examples/results/ed-2op.out | 10 + examples/results/ed-append.out | 18 + examples/results/ed-backref-delete.out | 17 + examples/results/ed-backref1.out | 20 + examples/results/ed-backref2.out | 19 + examples/results/ed-expr.out | 23 + examples/results/ed-insert.out | 17 + examples/results/ed-literal.out | 3 + examples/results/ed-move.out | 17 + examples/results/ed-namespace.out | 3 + examples/results/ed-nop.out | 7 + examples/results/ed-subnode.out | 18 + examples/results/elem-depth.out | 2 + examples/results/elem-uniq.out | 7 + examples/results/elem1.out | 14 + examples/results/elem2.out | 20 + examples/results/elem3.out | 14 + examples/results/escape1.out | 14 + examples/results/exslt-ed.out | 3 + examples/results/exslt1.out | 1 + examples/results/external-entity.out | 2 + examples/results/findfile1.out | 1 + examples/results/genxml1.out | 1 + examples/results/hello1.out | 1 + examples/results/localname1.out | 6 + examples/results/look1.out | 1 + examples/results/move1.out | 6 + examples/results/noindent1.out | 21 + examples/results/ns1.out | 6 + examples/results/pyx-ns.out | 5 + examples/results/pyx.out | 14 + examples/results/recover1.out | 5 + examples/results/rename-attr1.out | 21 + examples/results/rename-elem1.out | 21 + examples/results/schema1.out | 2 + examples/results/sel-if.out | 6 + examples/results/sel-literal.out | 0 examples/results/sel-many-values.out | 3 + examples/results/sel-root.out | 2 + examples/results/sel-xpath-c.out | 7 + examples/results/sel-xpath-i.out | 0 examples/results/sel-xpath-m.out | 0 examples/results/sel-xpath-v.out | 0 examples/results/sel1.out | 4 + examples/results/sort1.out | 3 + examples/results/sort2.out | 10 + examples/results/sort3.out | 10 + examples/results/structure1.out | 9 + examples/results/sum1.out | 1 + examples/results/tab1.out | 21 + examples/results/table1.out | 3 + examples/results/table2.out | 3 + examples/results/table3.out | 5 + examples/results/tree1.out | 9 + examples/results/unicode1.out | 3 + examples/results/update-attr1.out | 21 + examples/results/update-elem1.out | 21 + examples/results/valid1.out | 62 + examples/results/xinclude1.out | 8 + examples/results/xsl-param1.out | 1 + examples/results/xsl-sum1.out | 1 + examples/schema1 | 3 + examples/sel-if | 4 + examples/sel-literal | 6 + examples/sel-many-values | 2 + examples/sel-root | 5 + examples/sel-xpath-c | 6 + examples/sel-xpath-i | 6 + examples/sel-xpath-m | 6 + examples/sel-xpath-v | 6 + examples/sel1 | 3 + examples/sgml/docbook1.sgml | 41 + examples/sort1 | 3 + examples/sort2 | 4 + examples/sort3 | 4 + examples/structure1 | 5 + examples/sum1 | 3 + examples/svg/sample.svg | 14 + examples/tab1 | 3 + examples/table1 | 3 + examples/table2 | 3 + examples/table3 | 6 + examples/tests.mk | 103 + examples/tree1 | 4 + examples/unicode1 | 3 + examples/update-attr1 | 3 + examples/update-elem1 | 3 + examples/valid1 | 45 + examples/vxml/root.vxml | 8 + examples/wsdl/quote.wsdl | 65 + examples/xinclude1 | 3 + examples/xmi/example.xmi | 8 + examples/xml/S0.xml | 4 + examples/xml/books.xml | 15 + examples/xml/c14n-default-attr.xml | 3 + examples/xml/c14n.xml | 5 + examples/xml/c14n.xpath | 4 + examples/xml/disclaimer.xml | 6 + examples/xml/document.xml | 5 + examples/xml/entity.xml | 2 + examples/xml/external-pe.xml | 8 + examples/xml/foo.dtd | 3 + examples/xml/foo.xml | 0 examples/xml/malformed.xml | 4 + examples/xml/structure.xml | 14 + examples/xml/tab-bad.xml | 21 + examples/xml/tab-obj.xml | 21 + examples/xml/table.xml | 0 examples/xml/unicode.xml | 12 + examples/xml/unsorted.xml | 15 + examples/xml/xmlstarlet-pad.xml | 157 + examples/xml/xmlstarlet-xsa.xml | 28 + examples/xmlstarlet | 14 + examples/xmlstarlet.msys | 21 + examples/xsd/bigxml.xsd | 16 + examples/xsd/table.xsd | 24 + examples/xsl-param1 | 3 + examples/xsl-sum1 | 3 + examples/xsl/cat.xsl | 7 + examples/xsl/hello1.xsl | 13 + examples/xsl/param1.xsl | 16 + examples/xsl/sum1.xsl | 12 + examples/xsp/dynamic.xsp | 20 + examples/xsql/jobserve.xsql | 8 + examples/xupdate/insxml.xup | 17 + install-sh | 527 +++ m4/quiet-rule.m4 | 12 + m4/xstar-check-libs.m4 | 49 + missing | 331 ++ packaging/xmlstarlet.spec | 67 + solaris/package/sol8-sparc/build | 18 + solaris/package/sol8-sparc/pkginfo | 13 + solaris/package/sol8-sparc/pkginfo.in | 13 + solaris/package/sol8-sparc/prototype | 7 + solaris/package/sol9-sparc/build | 18 + solaris/package/sol9-sparc/pkginfo | 13 + solaris/package/sol9-sparc/pkginfo.in | 13 + solaris/package/sol9-sparc/prototype | 7 + src/c14n-usage.txt | 22 + src/depyx-usage.txt | 10 + src/edit-usage.txt | 29 + src/elem-usage.txt | 10 + src/escape-usage.txt | 7 + src/escape.h | 52 + src/format-usage.txt | 19 + src/ls-usage.txt | 5 + src/pyx-usage.txt | 14 + src/select-usage.txt | 77 + src/sources.mk | 47 + src/trans-usage.txt | 23 + src/trans.c | 286 ++ src/trans.h | 96 + src/unescape-usage.txt | 7 + src/usage.txt | 23 + src/validate-usage.txt | 23 + src/xml.c | 353 ++ src/xml_C14N.c | 359 ++ src/xml_depyx.c | 242 + src/xml_edit.c | 742 +++ src/xml_elem.c | 286 ++ src/xml_escape.c | 343 ++ src/xml_format.c | 392 ++ src/xml_ls.c | 204 + src/xml_pyx.c | 293 ++ src/xml_select.c | 1017 +++++ src/xml_trans.c | 282 ++ src/xml_validate.c | 471 ++ src/xmlstar.h | 43 + tests/runAllTests.sh | 128 + tests/runTest.sh | 7 + usage2c.awk | 42 + version.h | 1 + xmlstarlet-xml_depyx.c.diff | 30 + xmlstarlet.spec.in | 49 + 292 files changed, 34121 insertions(+) create mode 100644 AUTHORS create mode 100644 COPYING create mode 100644 ChangeLog create mode 100644 Copyright create mode 100644 INSTALL create mode 100644 Makefile.am create mode 100644 Makefile.in create mode 100644 NEWS create mode 100644 README create mode 100644 TODO create mode 100644 aclocal.m4 create mode 100644 compile create mode 100644 config.guess create mode 100644 config.h.in create mode 100644 config.sub create mode 100755 configure create mode 100644 configure.ac create mode 100644 depcomp create mode 100644 doc/doc.mk create mode 100644 doc/gen-doc create mode 100644 doc/html.css create mode 100644 doc/replace-PROG-VERSION.xsl create mode 100644 doc/xmlstar-fodoc-style.xsl create mode 100644 doc/xmlstarlet-man.xml create mode 100644 doc/xmlstarlet-ug.html create mode 100644 doc/xmlstarlet-ug.pdf create mode 100644 doc/xmlstarlet-ug.ps create mode 100644 doc/xmlstarlet-ug.xml create mode 100644 doc/xmlstarlet.1 create mode 100644 doc/xmlstarlet.txt create mode 100644 examples/N-order create mode 100644 examples/bigxml create mode 100644 examples/bigxml-dtd create mode 100644 examples/bigxml-embed create mode 100644 examples/bigxml-embed-ref create mode 100644 examples/bigxml-relaxng create mode 100644 examples/bigxml-well-formed create mode 100644 examples/bigxml-xsd create mode 100644 examples/c14n-default-attr create mode 100644 examples/c14n-newlines create mode 100644 examples/c14n1 create mode 100644 examples/c14n2 create mode 100644 examples/command-help create mode 100644 examples/count1 create mode 100644 examples/countnode1 create mode 100644 examples/delete1 create mode 100644 examples/docbook1 create mode 100644 examples/dtd/bigxml.dtd create mode 100644 examples/dtd/tab-obj.dtd create mode 100644 examples/dtd/table.dtd create mode 100644 examples/dtd1 create mode 100644 examples/dtd2 create mode 100644 examples/dtd3 create mode 100644 examples/dtd4 create mode 100644 examples/ed-2op create mode 100644 examples/ed-append create mode 100644 examples/ed-backref-delete create mode 100644 examples/ed-backref1 create mode 100644 examples/ed-backref2 create mode 100644 examples/ed-expr create mode 100644 examples/ed-insert create mode 100644 examples/ed-literal create mode 100644 examples/ed-move create mode 100644 examples/ed-namespace create mode 100644 examples/ed-nop create mode 100644 examples/ed-subnode create mode 100644 examples/elem-depth create mode 100644 examples/elem-uniq create mode 100644 examples/elem1 create mode 100644 examples/elem2 create mode 100644 examples/elem3 create mode 100644 examples/escape1 create mode 100644 examples/exslt-ed create mode 100644 examples/exslt1 create mode 100644 examples/external-entity create mode 100644 examples/findfile1 create mode 100644 examples/foreach-literal.sh create mode 100644 examples/foreach-xpath.sh create mode 100644 examples/genxml1 create mode 100644 examples/hello1 create mode 100644 examples/html/hello1.html create mode 100644 examples/j2ee/web.xml create mode 100644 examples/localname1 create mode 100644 examples/look1 create mode 100644 examples/move1 create mode 100644 examples/noindent1 create mode 100644 examples/ns1 create mode 100644 examples/pyx create mode 100644 examples/pyx-ns create mode 100644 examples/rdf/em.rdf create mode 100644 examples/recover1 create mode 100644 examples/relaxng/address-bad.xml create mode 100644 examples/relaxng/address.rng create mode 100644 examples/relaxng/address.xml create mode 100644 examples/relaxng/bigxml.rng create mode 100644 examples/rename-attr1 create mode 100644 examples/rename-elem1 create mode 100644 examples/results/N-order.out create mode 100644 examples/results/bigxml-dtd.out create mode 100644 examples/results/bigxml-embed-ref.out create mode 100644 examples/results/bigxml-embed.out create mode 100644 examples/results/bigxml-relaxng.out create mode 100644 examples/results/bigxml-well-formed.out create mode 100644 examples/results/bigxml-xsd.out create mode 100644 examples/results/bigxml.out create mode 100644 examples/results/c14n-default-attr.out create mode 100644 examples/results/c14n-newlines.out create mode 100644 examples/results/c14n1.out create mode 100644 examples/results/c14n2.out create mode 100644 examples/results/command-help.out create mode 100644 examples/results/count1.out create mode 100644 examples/results/countnode1.out create mode 100644 examples/results/delete1.out create mode 100644 examples/results/docbook1.out create mode 100644 examples/results/dtd1.out create mode 100644 examples/results/dtd2.out create mode 100644 examples/results/dtd3.out create mode 100644 examples/results/dtd4.out create mode 100644 examples/results/ed-2op.out create mode 100644 examples/results/ed-append.out create mode 100644 examples/results/ed-backref-delete.out create mode 100644 examples/results/ed-backref1.out create mode 100644 examples/results/ed-backref2.out create mode 100644 examples/results/ed-expr.out create mode 100644 examples/results/ed-insert.out create mode 100644 examples/results/ed-literal.out create mode 100644 examples/results/ed-move.out create mode 100644 examples/results/ed-namespace.out create mode 100644 examples/results/ed-nop.out create mode 100644 examples/results/ed-subnode.out create mode 100644 examples/results/elem-depth.out create mode 100644 examples/results/elem-uniq.out create mode 100644 examples/results/elem1.out create mode 100644 examples/results/elem2.out create mode 100644 examples/results/elem3.out create mode 100644 examples/results/escape1.out create mode 100644 examples/results/exslt-ed.out create mode 100644 examples/results/exslt1.out create mode 100644 examples/results/external-entity.out create mode 100644 examples/results/findfile1.out create mode 100644 examples/results/genxml1.out create mode 100644 examples/results/hello1.out create mode 100644 examples/results/localname1.out create mode 100644 examples/results/look1.out create mode 100644 examples/results/move1.out create mode 100644 examples/results/noindent1.out create mode 100644 examples/results/ns1.out create mode 100644 examples/results/pyx-ns.out create mode 100644 examples/results/pyx.out create mode 100644 examples/results/recover1.out create mode 100644 examples/results/rename-attr1.out create mode 100644 examples/results/rename-elem1.out create mode 100644 examples/results/schema1.out create mode 100644 examples/results/sel-if.out create mode 100644 examples/results/sel-literal.out create mode 100644 examples/results/sel-many-values.out create mode 100644 examples/results/sel-root.out create mode 100644 examples/results/sel-xpath-c.out create mode 100644 examples/results/sel-xpath-i.out create mode 100644 examples/results/sel-xpath-m.out create mode 100644 examples/results/sel-xpath-v.out create mode 100644 examples/results/sel1.out create mode 100644 examples/results/sort1.out create mode 100644 examples/results/sort2.out create mode 100644 examples/results/sort3.out create mode 100644 examples/results/structure1.out create mode 100644 examples/results/sum1.out create mode 100644 examples/results/tab1.out create mode 100644 examples/results/table1.out create mode 100644 examples/results/table2.out create mode 100644 examples/results/table3.out create mode 100644 examples/results/tree1.out create mode 100644 examples/results/unicode1.out create mode 100644 examples/results/update-attr1.out create mode 100644 examples/results/update-elem1.out create mode 100644 examples/results/valid1.out create mode 100644 examples/results/xinclude1.out create mode 100644 examples/results/xsl-param1.out create mode 100644 examples/results/xsl-sum1.out create mode 100644 examples/schema1 create mode 100644 examples/sel-if create mode 100644 examples/sel-literal create mode 100644 examples/sel-many-values create mode 100644 examples/sel-root create mode 100644 examples/sel-xpath-c create mode 100644 examples/sel-xpath-i create mode 100644 examples/sel-xpath-m create mode 100644 examples/sel-xpath-v create mode 100644 examples/sel1 create mode 100644 examples/sgml/docbook1.sgml create mode 100644 examples/sort1 create mode 100644 examples/sort2 create mode 100644 examples/sort3 create mode 100644 examples/structure1 create mode 100644 examples/sum1 create mode 100644 examples/svg/sample.svg create mode 100644 examples/tab1 create mode 100644 examples/table1 create mode 100644 examples/table2 create mode 100644 examples/table3 create mode 100644 examples/tests.mk create mode 100644 examples/tree1 create mode 100644 examples/unicode1 create mode 100644 examples/update-attr1 create mode 100644 examples/update-elem1 create mode 100644 examples/valid1 create mode 100644 examples/vxml/root.vxml create mode 100644 examples/wsdl/quote.wsdl create mode 100644 examples/xinclude1 create mode 100644 examples/xmi/example.xmi create mode 100644 examples/xml/S0.xml create mode 100644 examples/xml/books.xml create mode 100644 examples/xml/c14n-default-attr.xml create mode 100644 examples/xml/c14n.xml create mode 100644 examples/xml/c14n.xpath create mode 100644 examples/xml/disclaimer.xml create mode 100644 examples/xml/document.xml create mode 100644 examples/xml/entity.xml create mode 100644 examples/xml/external-pe.xml create mode 100644 examples/xml/foo.dtd create mode 100644 examples/xml/foo.xml create mode 100644 examples/xml/malformed.xml create mode 100644 examples/xml/structure.xml create mode 100644 examples/xml/tab-bad.xml create mode 100644 examples/xml/tab-obj.xml create mode 100644 examples/xml/table.xml create mode 100644 examples/xml/unicode.xml create mode 100644 examples/xml/unsorted.xml create mode 100644 examples/xml/xmlstarlet-pad.xml create mode 100644 examples/xml/xmlstarlet-xsa.xml create mode 100644 examples/xmlstarlet create mode 100644 examples/xmlstarlet.msys create mode 100644 examples/xsd/bigxml.xsd create mode 100644 examples/xsd/table.xsd create mode 100644 examples/xsl-param1 create mode 100644 examples/xsl-sum1 create mode 100644 examples/xsl/cat.xsl create mode 100644 examples/xsl/hello1.xsl create mode 100644 examples/xsl/param1.xsl create mode 100644 examples/xsl/sum1.xsl create mode 100644 examples/xsp/dynamic.xsp create mode 100644 examples/xsql/jobserve.xsql create mode 100644 examples/xupdate/insxml.xup create mode 100644 install-sh create mode 100644 m4/quiet-rule.m4 create mode 100644 m4/xstar-check-libs.m4 create mode 100644 missing create mode 100644 packaging/xmlstarlet.spec create mode 100644 solaris/package/sol8-sparc/build create mode 100644 solaris/package/sol8-sparc/pkginfo create mode 100644 solaris/package/sol8-sparc/pkginfo.in create mode 100644 solaris/package/sol8-sparc/prototype create mode 100644 solaris/package/sol9-sparc/build create mode 100644 solaris/package/sol9-sparc/pkginfo create mode 100644 solaris/package/sol9-sparc/pkginfo.in create mode 100644 solaris/package/sol9-sparc/prototype create mode 100644 src/c14n-usage.txt create mode 100644 src/depyx-usage.txt create mode 100644 src/edit-usage.txt create mode 100644 src/elem-usage.txt create mode 100644 src/escape-usage.txt create mode 100644 src/escape.h create mode 100644 src/format-usage.txt create mode 100644 src/ls-usage.txt create mode 100644 src/pyx-usage.txt create mode 100644 src/select-usage.txt create mode 100644 src/sources.mk create mode 100644 src/trans-usage.txt create mode 100644 src/trans.c create mode 100644 src/trans.h create mode 100644 src/unescape-usage.txt create mode 100644 src/usage.txt create mode 100644 src/validate-usage.txt create mode 100644 src/xml.c create mode 100644 src/xml_C14N.c create mode 100644 src/xml_depyx.c create mode 100644 src/xml_edit.c create mode 100644 src/xml_elem.c create mode 100644 src/xml_escape.c create mode 100644 src/xml_format.c create mode 100644 src/xml_ls.c create mode 100644 src/xml_pyx.c create mode 100644 src/xml_select.c create mode 100644 src/xml_trans.c create mode 100644 src/xml_validate.c create mode 100644 src/xmlstar.h create mode 100644 tests/runAllTests.sh create mode 100644 tests/runTest.sh create mode 100644 usage2c.awk create mode 100644 version.h create mode 100644 xmlstarlet-xml_depyx.c.diff create mode 100644 xmlstarlet.spec.in diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..d1884cc --- /dev/null +++ b/AUTHORS @@ -0,0 +1 @@ +Mikhail Grushinskiy diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..bf6997b --- /dev/null +++ b/COPYING @@ -0,0 +1,20 @@ +Copyright (c) 2002-2004 Mikhail Grushinskiy. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/ChangeLog @@ -0,0 +1 @@ + diff --git a/Copyright b/Copyright new file mode 100644 index 0000000..bf6997b --- /dev/null +++ b/Copyright @@ -0,0 +1,20 @@ +Copyright (c) 2002-2004 Mikhail Grushinskiy. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..50dbe43 --- /dev/null +++ b/INSTALL @@ -0,0 +1,183 @@ +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' if you want to change +it or regenerate `configure' using a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not supports the `VPATH' +variable, you have to compile the package for one architecture at a time +in the source code directory. After you have installed the package for +one architecture, use `make distclean' before reconfiguring for another +architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=PATH' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. + diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..4844243 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,87 @@ +EXTRA_DIST = Copyright examples solaris tests +WIN32_DIST = README TODO Copyright COPYING AUTHORS ChangeLog INSTALL NEWS xml.exe +WIN32_doc_DIST = $(generated_docs) doc/html.css + +ACLOCAL_AMFLAGS = -I m4 +if GCC +AM_CFLAGS = -Wall -pedantic +endif + +GIT_DESCRIBE = git describe --tags --dirty + +# TODO: figure out why log removal is needed and/or make it completely automatic +dist-hook: + @for log in $(srcdir)/examples/*.log ; do if [ -f "$$log" ] ; then \ + rm $(srcdir)/examples/*.log ; \ + echo 'ERROR: log files need to cleaned BEFORE making tarball, try again'; exit 1 ; fi ; done + @ if [ -d .git ] ; then \ + if [ $(VERSION) != `$(GIT_DESCRIBE)` ] ; then \ + echo 'ERROR: version mismatch, rerun autoconf -f' ; exit 1 ; fi ; \ + $(SED) 's/\[m4_esyscmd_s(\[$(GIT_DESCRIBE)\])\]/[$(VERSION)]/' \ + $(srcdir)/configure.ac > $(distdir)/configure.ac ; fi + +cleantar: + @(rm -f xmlstarlet*.tar.gz) + +rpm: cleantar distdir xmlstarlet.spec + cp xmlstarlet.spec $(distdir) + $(AMTAR) -czf $(distdir).tar.gz $(distdir) + rpmbuild -ta $(distdir).tar.gz + +$(distdir)-win32.zip: xml.exe + mkdir -p /tmp/$(distdir)/doc + cp $(WIN32_DIST) /tmp/$(distdir) + cp $(WIN32_doc_DIST) /tmp/$(distdir)/doc + strip /tmp/$(distdir)/xml.exe + cd /tmp && zip -9 --symlinks --recurse-paths --to-crlf --move \ + $(distdir)-win32.zip $(distdir) + mv /tmp/$(distdir)-win32.zip . + +dist-win32: $(distdir)-win32.zip + +version.h: VERSION + @if [ -d .git ] ; then \ + VERSION=`$(GIT_DESCRIBE)`; \ + else VERSION=$(VERSION) ; fi; \ + NEW_VERSION="#define VERSION \"$$VERSION\""; \ + OLD_VERSION=`cat version.h 2>/dev/null` ; \ + if [ "$$NEW_VERSION" != "$$OLD_VERSION" ] ; then \ + echo "$$NEW_VERSION" > version.h ; \ + echo "version.h: $$NEW_VERSION"; fi +VERSION: + +# need to build version.h even if dependency files haven't been +# generated +src/xml.o : version.h + + + +# testing +include examples/tests.mk + +# building executable +bin_PROGRAMS = xml + +include src/sources.mk +xml_SOURCES += version.h +nodist_xml_SOURCES = $(generated_usage_sources) +EXTRA_DIST += $(usage_texts) usage2c.awk + +.txt.c: + $(AM_V_GEN)$(AWK) -f $(srcdir)/usage2c.awk $< > $@ +$(generated_usage_sources) : usage2c.awk + + +# doc +include doc/doc.mk + +man_MANS = $(manpage) +dist_doc_DATA = $(userguide_gen) doc/html.css $(txtguide) +EXTRA_DIST += $(manpage_src) $(userguide_src) $(txtguide_src) +EXTRA_DIST += $(buildfiles_docs) $(manpage) + + +CLEANFILES = version.h $(generated_usage_sources) +MAINTAINERCLEANFILES = $(manpage) $(userguide_gen) $(txtguide) + +.PHONY: cleantar rpm dist-win32 VERSION doc diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..f23eb39 --- /dev/null +++ b/Makefile.in @@ -0,0 +1,1617 @@ +# Makefile.in generated by automake 1.11.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(dist_doc_DATA) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.h.in $(srcdir)/doc/doc.mk \ + $(srcdir)/examples/tests.mk $(srcdir)/src/sources.mk \ + $(srcdir)/xmlstarlet.spec.in $(top_srcdir)/configure \ + $(top_srcdir)/solaris/package/sol8-sparc/pkginfo.in \ + $(top_srcdir)/solaris/package/sol9-sparc/pkginfo.in AUTHORS \ + COPYING ChangeLog INSTALL NEWS TODO compile config.guess \ + config.sub depcomp install-sh missing +@HAVE_EXSLT_XPATH_REGISTER_FALSE@am__append_1 = examples/exslt-ed +bin_PROGRAMS = xml$(EXEEXT) +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/quiet-rule.m4 \ + $(top_srcdir)/m4/xstar-check-libs.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 \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = xmlstarlet.spec \ + solaris/package/sol8-sparc/pkginfo \ + solaris/package/sol9-sparc/pkginfo +CONFIG_CLEAN_VPATH_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \ + "$(DESTDIR)$(docdir)" +PROGRAMS = $(bin_PROGRAMS) +am__dirstamp = $(am__leading_dot)dirstamp +am_xml_OBJECTS = src/trans.$(OBJEXT) src/xml.$(OBJEXT) \ + src/xml_C14N.$(OBJEXT) src/xml_depyx.$(OBJEXT) \ + src/xml_edit.$(OBJEXT) src/xml_elem.$(OBJEXT) \ + src/xml_escape.$(OBJEXT) src/xml_format.$(OBJEXT) \ + src/xml_ls.$(OBJEXT) src/xml_pyx.$(OBJEXT) \ + src/xml_select.$(OBJEXT) src/xml_trans.$(OBJEXT) \ + src/xml_validate.$(OBJEXT) +am__objects_1 = src/usage.$(OBJEXT) src/c14n-usage.$(OBJEXT) \ + src/depyx-usage.$(OBJEXT) src/edit-usage.$(OBJEXT) \ + src/elem-usage.$(OBJEXT) src/escape-usage.$(OBJEXT) \ + src/format-usage.$(OBJEXT) src/ls-usage.$(OBJEXT) \ + src/pyx-usage.$(OBJEXT) src/select-usage.$(OBJEXT) \ + src/trans-usage.$(OBJEXT) src/unescape-usage.$(OBJEXT) \ + src/validate-usage.$(OBJEXT) +nodist_xml_OBJECTS = $(am__objects_1) +xml_OBJECTS = $(am_xml_OBJECTS) $(nodist_xml_OBJECTS) +xml_LDADD = $(LDADD) +xml_DEPENDENCIES = +DEFAULT_INCLUDES = -I.@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +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_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +SOURCES = $(xml_SOURCES) $(nodist_xml_SOURCES) +DIST_SOURCES = $(xml_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +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; }; \ + } +man1dir = $(mandir)/man1 +NROFF = nroff +MANS = $(man_MANS) +DATA = $(dist_doc_DATA) +ETAGS = etags +CTAGS = ctags +# If stdout is a non-dumb tty, use colors. If test -t is not supported, +# then this fails; a conservative approach. Of course do not redirect +# stdout here, just stderr. +am__tty_colors = \ +red=; grn=; lgn=; blu=; std=; \ +test "X$(AM_COLOR_TESTS)" != Xno \ +&& test "X$$TERM" != Xdumb \ +&& { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \ +&& { \ + red=''; \ + grn=''; \ + lgn=''; \ + blu=''; \ + std=''; \ +} +# Restructured Text title and section. +am__rst_title = sed 's/.*/ & /;h;s/./=/g;p;x;p;g;p;s/.*//' +am__rst_section = sed 'p;s/./=/g;p;g' +# Put stdin (possibly several lines separated by ". ") in a box. +# Prefix each line by 'col' and terminate each with 'std', for coloring. +# Multi line coloring is problematic with "less -R", so we really need +# to color each line individually. +am__text_box = $(AWK) '{ \ + n = split($$0, lines, "\\. "); max = 0; \ + for (i = 1; i <= n; ++i) \ + if (max < length(lines[i])) \ + max = length(lines[i]); \ + for (i = 0; i < max; ++i) \ + line = line "="; \ + print col line std; \ + for (i = 1; i <= n; ++i) \ + if (lines[i]) \ + print col lines[i] std; \ + print col line std; \ +}' +# Solaris 10 'make', and several other traditional 'make' implementations, +# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it +# by disabling -e (using the XSI extension "set +e") if it's set. +am__sh_e_setup = case $$- in *e*) set +e;; esac +# To be inserted before the command running the test. Creates the +# directory for the log if needed. Stores in $dir the directory +# containing $f, in $tst the test, in $log the log, and passes +# TESTS_ENVIRONMENT. Save and restore TERM around use of +# TESTS_ENVIRONMENT, in case that unsets it. +am__check_pre = \ +$(am__sh_e_setup); \ +$(am__vpath_adj_setup) $(am__vpath_adj) \ +srcdir=$(srcdir); export srcdir; \ +rm -f $@-t; \ +am__trap='rm -f '\''$(abs_builddir)/$@-t'\''; (exit $$st); exit $$st'; \ +trap "st=129; $$am__trap" 1; trap "st=130; $$am__trap" 2; \ +trap "st=141; $$am__trap" 13; trap "st=143; $$am__trap" 15; \ +am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`; \ +test "x$$am__odir" = x. || $(MKDIR_P) "$$am__odir" || exit $$?; \ +if test -f "./$$f"; then dir=./; \ +elif test -f "$$f"; then dir=; \ +else dir="$(srcdir)/"; fi; \ +tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM; \ +$(TESTS_ENVIRONMENT) +# To be appended to the command running the test. Handle the stdout +# and stderr redirection, and catch the exit status. +am__check_post = \ +>$@-t 2>&1; \ +estatus=$$?; \ +if test -n '$(DISABLE_HARD_ERRORS)' \ + && test $$estatus -eq 99; then \ + estatus=1; \ +fi; \ +TERM=$$__SAVED_TERM; export TERM; \ +$(am__tty_colors); \ +xfailed=PASS; \ +case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ + xfailed=XFAIL;; \ +esac; \ +case $$estatus.$$xfailed in \ + 0.XFAIL) col=$$red; res=XPASS;; \ + 0.*) col=$$grn; res=PASS ;; \ + 77.*) col=$$blu; res=SKIP ;; \ + 99.*) col=$$red; res=FAIL ;; \ + *.XFAIL) col=$$lgn; res=XFAIL;; \ + *.*) col=$$red; res=FAIL ;; \ +esac; \ +echo "$${col}$$res$${std}: $$f"; \ +echo "$$res: $$f (exit: $$estatus)" | \ + $(am__rst_section) >$@; \ +cat $@-t >>$@; \ +rm -f $@-t +RECHECK_LOGS = $(TEST_LOGS) +AM_RECURSIVE_TARGETS = check recheck check-html recheck-html +TEST_SUITE_HTML = $(TEST_SUITE_LOG:.log=.html) +TEST_SUITE_LOG = test-suite.log +TEST_EXTENSIONS = @EXEEXT@ .test +LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) +am__test_logs1 = $(TESTS:=.log) +am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) +TEST_LOGS = $(am__test_logs2:.test.log=.log) +TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ + $(TEST_LOG_FLAGS) +TEST_LOGS_TMP = $(TEST_LOGS:.log=.log-t) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_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 +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@ +AMTAR = @AMTAR@ +AM_CPPFLAGS = @AM_CPPFLAGS@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AM_LDFLAGS = @AM_LDFLAGS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FOP = @FOP@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDADD = @LDADD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBXML_CONFIG = @LIBXML_CONFIG@ +LIBXML_REQUIRED_VERSION = @LIBXML_REQUIRED_VERSION@ +LIBXSLT_CONFIG = @LIBXSLT_CONFIG@ +LIBXSLT_REQUIRED_VERSION = @LIBXSLT_REQUIRED_VERSION@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PDF2PS = @PDF2PS@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +V_DOCBOOK = @V_DOCBOOK@ +V_DOCBOOK_ = @V_DOCBOOK_@ +V_DOCBOOK_0 = @V_DOCBOOK_0@ +V_FOP = @V_FOP@ +V_FOP_ = @V_FOP_@ +V_FOP_0 = @V_FOP_0@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +EXTRA_DIST = Copyright examples solaris tests $(usage_texts) \ + usage2c.awk $(manpage_src) $(userguide_src) $(txtguide_src) \ + $(buildfiles_docs) $(manpage) +WIN32_DIST = README TODO Copyright COPYING AUTHORS ChangeLog INSTALL NEWS xml.exe +WIN32_doc_DIST = $(generated_docs) doc/html.css +ACLOCAL_AMFLAGS = -I m4 +@GCC_TRUE@AM_CFLAGS = -Wall -pedantic +GIT_DESCRIBE = git describe --tags --dirty +LOG_COMPILER = abs_builddir=$(abs_builddir) \ +EXEEXT=$(EXEEXT) SED=$(SED) AWK=$(AWK) SHELL=$(SHELL) \ + $(SHELL) $(srcdir)/tests/runTest.sh + + +# split tests into fast and slow, so we can run just the fast ones +SLOW_TESTS = \ +examples/bigxml-dtd\ +examples/bigxml-embed-ref\ +examples/bigxml-embed\ +examples/bigxml-relaxng\ +examples/bigxml-well-formed\ +examples/bigxml-xsd + +QUICK_TESTS = \ +examples/c14n-default-attr\ +examples/c14n-newlines\ +examples/c14n1\ +examples/c14n2\ +examples/command-help\ +examples/count1\ +examples/countnode1\ +examples/delete1\ +examples/dtd1\ +examples/dtd2\ +examples/dtd3\ +examples/dtd4\ +examples/ed-2op\ +examples/ed-append\ +examples/ed-backref-delete\ +examples/ed-backref1\ +examples/ed-backref2\ +examples/ed-expr\ +examples/ed-insert\ +examples/ed-literal\ +examples/ed-move\ +examples/ed-namespace\ +examples/ed-nop\ +examples/ed-subnode\ +examples/elem1\ +examples/elem2\ +examples/elem3\ +examples/elem-depth\ +examples/elem-uniq\ +examples/escape1\ +examples/exslt-ed\ +examples/exslt1\ +examples/external-entity\ +examples/findfile1\ +examples/genxml1\ +examples/hello1\ +examples/localname1\ +examples/look1\ +examples/move1\ +examples/N-order\ +examples/noindent1\ +examples/ns1\ +examples/pyx\ +examples/pyx-ns\ +examples/recover1\ +examples/rename-attr1\ +examples/rename-elem1\ +examples/schema1\ +examples/sel-literal\ +examples/sel-if\ +examples/sel-many-values\ +examples/sel-root\ +examples/sel-xpath-c\ +examples/sel-xpath-i\ +examples/sel-xpath-m\ +examples/sel-xpath-v\ +examples/sel1\ +examples/sort1\ +examples/sort2\ +examples/sort3\ +examples/structure1\ +examples/sum1\ +examples/tab1\ +examples/table1\ +examples/table2\ +examples/table3\ +examples/unicode1\ +examples/update-attr1\ +examples/update-elem1\ +examples/valid1\ +examples/xinclude1\ +examples/xsl-param1\ +examples/xsl-sum1 + + +# default to all the tests +TESTS = $(SLOW_TESTS) $(QUICK_TESTS) +XFAIL_TESTS = examples/bigxml-dtd examples/ed-namespace \ + $(am__append_1) +usage_texts = \ +src/usage.txt\ +src/c14n-usage.txt\ +src/depyx-usage.txt\ +src/edit-usage.txt\ +src/elem-usage.txt\ +src/escape-usage.txt\ +src/format-usage.txt\ +src/ls-usage.txt\ +src/pyx-usage.txt\ +src/select-usage.txt\ +src/trans-usage.txt\ +src/unescape-usage.txt\ +src/validate-usage.txt + +generated_usage_sources = \ +src/usage.c\ +src/c14n-usage.c\ +src/depyx-usage.c\ +src/edit-usage.c\ +src/elem-usage.c\ +src/escape-usage.c\ +src/format-usage.c\ +src/ls-usage.c\ +src/pyx-usage.c\ +src/select-usage.c\ +src/trans-usage.c\ +src/unescape-usage.c\ +src/validate-usage.c + +xml_SOURCES = src/escape.h src/trans.c src/trans.h src/xml.c \ + src/xml_C14N.c src/xml_depyx.c src/xml_edit.c src/xml_elem.c \ + src/xml_escape.c src/xml_format.c src/xml_ls.c src/xml_pyx.c \ + src/xml_select.c src/xmlstar.h src/xml_trans.c \ + src/xml_validate.c version.h +nodist_xml_SOURCES = $(generated_usage_sources) +userguide = doc/xmlstarlet-ug +userguide_gen = $(userguide).pdf $(userguide).ps $(userguide).html +userguide_src = $(userguide).xml +txtguide = doc/xmlstarlet.txt +txtguide_src = doc/gen-doc +manpage = doc/xmlstarlet.1 +manpage_src = doc/xmlstarlet-man.xml +generated_docs = $(userguide_gen) $(txtguide) $(manpage) +buildfiles_docs = doc/replace-PROG-VERSION.xsl doc/xmlstar-fodoc-style.xsl +DOCBOOK_PARAMS = \ +--param section.autolabel 1 \ +--stringparam generate.toc 'book toc,title' + +EDIT_XML = $(XSLTPROC) \ + --stringparam VERSION '$(VERSION)' \ + --stringparam PROG "`echo xml | $(SED) '$(program_transform_name)'`" \ + doc/replace-PROG-VERSION.xsl + + +# doc +man_MANS = $(manpage) +dist_doc_DATA = $(userguide_gen) doc/html.css $(txtguide) +CLEANFILES = version.h $(generated_usage_sources) +MAINTAINERCLEANFILES = $(manpage) $(userguide_gen) $(txtguide) +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .fo .html .log .o .obj .pdf .ps .test .test$(EXEEXT) .txt .xml +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/examples/tests.mk $(srcdir)/src/sources.mk $(srcdir)/doc/doc.mk $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; +$(srcdir)/examples/tests.mk $(srcdir)/src/sources.mk $(srcdir)/doc/doc.mk: + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +config.h: stamp-h1 + @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 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +xmlstarlet.spec: $(top_builddir)/config.status $(srcdir)/xmlstarlet.spec.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +solaris/package/sol8-sparc/pkginfo: $(top_builddir)/config.status $(top_srcdir)/solaris/package/sol8-sparc/pkginfo.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +solaris/package/sol9-sparc/pkginfo: $(top_builddir)/config.status $(top_srcdir)/solaris/package/sol9-sparc/pkginfo.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + +installcheck-binPROGRAMS: $(bin_PROGRAMS) + bad=0; pid=$$$$; list="$(bin_PROGRAMS)"; for p in $$list; do \ + case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \ + *" $$p "* | *" $(srcdir)/$$p "*) continue;; \ + esac; \ + f=`echo "$$p" | \ + sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + for opt in --help --version; do \ + if "$(DESTDIR)$(bindir)/$$f" $$opt >c$${pid}_.out \ + 2>c$${pid}_.err &2; bad=1; fi; \ + done; \ + done; rm -f c$${pid}_.???; exit $$bad +src/$(am__dirstamp): + @$(MKDIR_P) src + @: > src/$(am__dirstamp) +src/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/$(DEPDIR) + @: > src/$(DEPDIR)/$(am__dirstamp) +src/trans.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) +src/xml.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) +src/xml_C14N.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/xml_depyx.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/xml_edit.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/xml_elem.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/xml_escape.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/xml_format.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/xml_ls.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/xml_pyx.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/xml_select.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/xml_trans.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/xml_validate.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/usage.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) +src/c14n-usage.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/depyx-usage.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/edit-usage.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/elem-usage.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/escape-usage.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/format-usage.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/ls-usage.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/pyx-usage.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/select-usage.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/trans-usage.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/unescape-usage.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +src/validate-usage.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) +xml$(EXEEXT): $(xml_OBJECTS) $(xml_DEPENDENCIES) $(EXTRA_xml_DEPENDENCIES) + @rm -f xml$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(xml_OBJECTS) $(xml_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f src/c14n-usage.$(OBJEXT) + -rm -f src/depyx-usage.$(OBJEXT) + -rm -f src/edit-usage.$(OBJEXT) + -rm -f src/elem-usage.$(OBJEXT) + -rm -f src/escape-usage.$(OBJEXT) + -rm -f src/format-usage.$(OBJEXT) + -rm -f src/ls-usage.$(OBJEXT) + -rm -f src/pyx-usage.$(OBJEXT) + -rm -f src/select-usage.$(OBJEXT) + -rm -f src/trans-usage.$(OBJEXT) + -rm -f src/trans.$(OBJEXT) + -rm -f src/unescape-usage.$(OBJEXT) + -rm -f src/usage.$(OBJEXT) + -rm -f src/validate-usage.$(OBJEXT) + -rm -f src/xml.$(OBJEXT) + -rm -f src/xml_C14N.$(OBJEXT) + -rm -f src/xml_depyx.$(OBJEXT) + -rm -f src/xml_edit.$(OBJEXT) + -rm -f src/xml_elem.$(OBJEXT) + -rm -f src/xml_escape.$(OBJEXT) + -rm -f src/xml_format.$(OBJEXT) + -rm -f src/xml_ls.$(OBJEXT) + -rm -f src/xml_pyx.$(OBJEXT) + -rm -f src/xml_select.$(OBJEXT) + -rm -f src/xml_trans.$(OBJEXT) + -rm -f src/xml_validate.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/c14n-usage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/depyx-usage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/edit-usage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/elem-usage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/escape-usage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/format-usage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/ls-usage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/pyx-usage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/select-usage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/trans-usage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/trans.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/unescape-usage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/usage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/validate-usage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xml.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xml_C14N.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xml_depyx.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xml_edit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xml_elem.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xml_escape.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xml_format.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xml_ls.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xml_pyx.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xml_select.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xml_trans.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xml_validate.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` +install-man1: $(man_MANS) + @$(NORMAL_INSTALL) + @list1=''; \ + list2='$(man_MANS)'; \ + test -n "$(man1dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.1[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) +install-dist_docDATA: $(dist_doc_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ + done + +uninstall-dist_docDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +$(TEST_SUITE_LOG): $(TEST_LOGS) + @$(am__sh_e_setup); \ + list='$(TEST_LOGS)'; \ + results=`for f in $$list; do \ + test -r $$f && read line < $$f && echo "$$line" \ + || echo FAIL; \ + done`; \ + all=`echo "$$results" | sed '/^$$/d' | wc -l | sed -e 's/^[ ]*//'`; \ + fail=`echo "$$results" | grep -c '^FAIL'`; \ + pass=`echo "$$results" | grep -c '^PASS'`; \ + skip=`echo "$$results" | grep -c '^SKIP'`; \ + xfail=`echo "$$results" | grep -c '^XFAIL'`; \ + xpass=`echo "$$results" | grep -c '^XPASS'`; \ + failures=`expr $$fail + $$xpass`; \ + all=`expr $$all - $$skip`; \ + if test "$$all" -eq 1; then tests=test; All=; \ + else tests=tests; All="All "; fi; \ + case fail=$$fail:xpass=$$xpass:xfail=$$xfail in \ + fail=0:xpass=0:xfail=0) \ + msg="$$All$$all $$tests passed. "; \ + exit=true;; \ + fail=0:xpass=0:xfail=*) \ + msg="$$All$$all $$tests behaved as expected"; \ + if test "$$xfail" -eq 1; then xfailures=failure; \ + else xfailures=failures; fi; \ + msg="$$msg ($$xfail expected $$xfailures). "; \ + exit=true;; \ + fail=*:xpass=0:xfail=*) \ + msg="$$fail of $$all $$tests failed. "; \ + exit=false;; \ + fail=*:xpass=*:xfail=*) \ + msg="$$failures of $$all $$tests did not behave as expected"; \ + if test "$$xpass" -eq 1; then xpasses=pass; \ + else xpasses=passes; fi; \ + msg="$$msg ($$xpass unexpected $$xpasses). "; \ + exit=false;; \ + *) \ + echo >&2 "incorrect case"; exit 4;; \ + esac; \ + if test "$$skip" -ne 0; then \ + if test "$$skip" -eq 1; then \ + msg="$$msg($$skip test was not run). "; \ + else \ + msg="$$msg($$skip tests were not run). "; \ + fi; \ + fi; \ + { \ + echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ + $(am__rst_title); \ + echo "$$msg"; \ + echo; \ + echo ".. contents:: :depth: 2"; \ + echo; \ + for f in $$list; do \ + test -r $$f && read line < $$f || line=; \ + case $$line in \ + PASS:*|XFAIL:*);; \ + *) echo; cat $$f;; \ + esac; \ + done; \ + } >$(TEST_SUITE_LOG).tmp; \ + mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ + if test "$$failures" -ne 0; then \ + msg="$${msg}See $(subdir)/$(TEST_SUITE_LOG). "; \ + if test -n "$(PACKAGE_BUGREPORT)"; then \ + msg="$${msg}Please report to $(PACKAGE_BUGREPORT). "; \ + fi; \ + fi; \ + test x"$$VERBOSE" = x || $$exit || cat $(TEST_SUITE_LOG); \ + $(am__tty_colors); \ + if $$exit; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + fi; \ + echo "$$msg" | $(am__text_box) "col=$$col" "std=$$std"; \ + $$exit || exit 1 + +check-TESTS recheck: + @if test $@ != recheck; then \ + list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list; \ + fi + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @list='' list2='$(TEST_LOGS)'; for f in $$list2; do \ + test .log = $$f && continue; \ + if test $@ = recheck; then \ + test -f $$f || continue; \ + if test -r $$f && read line < $$f; then \ + case $$line in FAIL*|XPASS*) : ;; *) continue;; esac; \ + fi; \ + fi; \ + if test -z "$$list"; then list=$$f; else list="$$list $$f"; fi; \ + done; \ + if test $@ = recheck && test -n "$$list"; then \ + $(am__make_dryrun) || rm -f $$list || exit 1; \ + fi; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list" +recheck: + +am--mostlyclean-test-html: + list='$(TEST_LOGS:.log=.html)'; test -z "$$list" || rm -f $$list + rm -f $(TEST_SUITE_HTML) + +.log.html: + @list='$(RST2HTML) $$RST2HTML rst2html rst2html.py'; \ + for r2h in $$list; do \ + if ($$r2h --version) >/dev/null 2>&1; then \ + R2H=$$r2h; \ + fi; \ + done; \ + if test -z "$$R2H"; then \ + echo >&2 "cannot find rst2html, cannot create $@"; \ + exit 2; \ + fi; \ + $$R2H $< >$@.tmp + @mv $@.tmp $@ + +# Be sure to run check first, and then to convert the result. +# Beware of concurrent executions. Run "check" not "check-TESTS", as +# check-SCRIPTS and other dependencies are rebuilt by the former only. +# And expect check to fail. +check-html recheck-html: + @target=`echo $@ | sed 's/-html$$//'`; \ + rv=0; $(MAKE) $(AM_MAKEFLAGS) $$target || rv=$$?; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_HTML) TEST_LOGS= || exit 4; \ + exit $$rv +examples/bigxml-dtd.log: examples/bigxml-dtd + @p='examples/bigxml-dtd'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/bigxml-embed-ref.log: examples/bigxml-embed-ref + @p='examples/bigxml-embed-ref'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/bigxml-embed.log: examples/bigxml-embed + @p='examples/bigxml-embed'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/bigxml-relaxng.log: examples/bigxml-relaxng + @p='examples/bigxml-relaxng'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/bigxml-well-formed.log: examples/bigxml-well-formed + @p='examples/bigxml-well-formed'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/bigxml-xsd.log: examples/bigxml-xsd + @p='examples/bigxml-xsd'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/c14n-default-attr.log: examples/c14n-default-attr + @p='examples/c14n-default-attr'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/c14n-newlines.log: examples/c14n-newlines + @p='examples/c14n-newlines'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/c14n1.log: examples/c14n1 + @p='examples/c14n1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/c14n2.log: examples/c14n2 + @p='examples/c14n2'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/command-help.log: examples/command-help + @p='examples/command-help'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/count1.log: examples/count1 + @p='examples/count1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/countnode1.log: examples/countnode1 + @p='examples/countnode1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/delete1.log: examples/delete1 + @p='examples/delete1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/dtd1.log: examples/dtd1 + @p='examples/dtd1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/dtd2.log: examples/dtd2 + @p='examples/dtd2'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/dtd3.log: examples/dtd3 + @p='examples/dtd3'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/dtd4.log: examples/dtd4 + @p='examples/dtd4'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/ed-2op.log: examples/ed-2op + @p='examples/ed-2op'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/ed-append.log: examples/ed-append + @p='examples/ed-append'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/ed-backref-delete.log: examples/ed-backref-delete + @p='examples/ed-backref-delete'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/ed-backref1.log: examples/ed-backref1 + @p='examples/ed-backref1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/ed-backref2.log: examples/ed-backref2 + @p='examples/ed-backref2'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/ed-expr.log: examples/ed-expr + @p='examples/ed-expr'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/ed-insert.log: examples/ed-insert + @p='examples/ed-insert'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/ed-literal.log: examples/ed-literal + @p='examples/ed-literal'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/ed-move.log: examples/ed-move + @p='examples/ed-move'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/ed-namespace.log: examples/ed-namespace + @p='examples/ed-namespace'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/ed-nop.log: examples/ed-nop + @p='examples/ed-nop'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/ed-subnode.log: examples/ed-subnode + @p='examples/ed-subnode'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/elem1.log: examples/elem1 + @p='examples/elem1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/elem2.log: examples/elem2 + @p='examples/elem2'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/elem3.log: examples/elem3 + @p='examples/elem3'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/elem-depth.log: examples/elem-depth + @p='examples/elem-depth'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/elem-uniq.log: examples/elem-uniq + @p='examples/elem-uniq'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/escape1.log: examples/escape1 + @p='examples/escape1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/exslt-ed.log: examples/exslt-ed + @p='examples/exslt-ed'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/exslt1.log: examples/exslt1 + @p='examples/exslt1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/external-entity.log: examples/external-entity + @p='examples/external-entity'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/findfile1.log: examples/findfile1 + @p='examples/findfile1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/genxml1.log: examples/genxml1 + @p='examples/genxml1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/hello1.log: examples/hello1 + @p='examples/hello1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/localname1.log: examples/localname1 + @p='examples/localname1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/look1.log: examples/look1 + @p='examples/look1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/move1.log: examples/move1 + @p='examples/move1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/N-order.log: examples/N-order + @p='examples/N-order'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/noindent1.log: examples/noindent1 + @p='examples/noindent1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/ns1.log: examples/ns1 + @p='examples/ns1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/pyx.log: examples/pyx + @p='examples/pyx'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/pyx-ns.log: examples/pyx-ns + @p='examples/pyx-ns'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/recover1.log: examples/recover1 + @p='examples/recover1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/rename-attr1.log: examples/rename-attr1 + @p='examples/rename-attr1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/rename-elem1.log: examples/rename-elem1 + @p='examples/rename-elem1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/schema1.log: examples/schema1 + @p='examples/schema1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/sel-literal.log: examples/sel-literal + @p='examples/sel-literal'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/sel-if.log: examples/sel-if + @p='examples/sel-if'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/sel-many-values.log: examples/sel-many-values + @p='examples/sel-many-values'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/sel-root.log: examples/sel-root + @p='examples/sel-root'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/sel-xpath-c.log: examples/sel-xpath-c + @p='examples/sel-xpath-c'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/sel-xpath-i.log: examples/sel-xpath-i + @p='examples/sel-xpath-i'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/sel-xpath-m.log: examples/sel-xpath-m + @p='examples/sel-xpath-m'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/sel-xpath-v.log: examples/sel-xpath-v + @p='examples/sel-xpath-v'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/sel1.log: examples/sel1 + @p='examples/sel1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/sort1.log: examples/sort1 + @p='examples/sort1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/sort2.log: examples/sort2 + @p='examples/sort2'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/sort3.log: examples/sort3 + @p='examples/sort3'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/structure1.log: examples/structure1 + @p='examples/structure1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/sum1.log: examples/sum1 + @p='examples/sum1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/tab1.log: examples/tab1 + @p='examples/tab1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/table1.log: examples/table1 + @p='examples/table1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/table2.log: examples/table2 + @p='examples/table2'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/table3.log: examples/table3 + @p='examples/table3'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/unicode1.log: examples/unicode1 + @p='examples/unicode1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/update-attr1.log: examples/update-attr1 + @p='examples/update-attr1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/update-elem1.log: examples/update-elem1 + @p='examples/update-elem1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/valid1.log: examples/valid1 + @p='examples/valid1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/xinclude1.log: examples/xinclude1 + @p='examples/xinclude1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/xsl-param1.log: examples/xsl-param1 + @p='examples/xsl-param1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +examples/xsl-sum1.log: examples/xsl-sum1 + @p='examples/xsl-sum1'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post) +.test.log: + @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post) +@am__EXEEXT_TRUE@.test$(EXEEXT).log: +@am__EXEEXT_TRUE@ @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post) + +distdir: $(DISTFILES) + @list='$(MANS)'; if test -n "$$list"; then \ + list=`for p in $$list; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ + if test -n "$$list" && \ + grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ + echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ + grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ + echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ + echo " typically \`make maintainer-clean' will remove them" >&2; \ + exit 1; \ + else :; fi; \ + else :; fi + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +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=$${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 + tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma + $(am__remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + 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*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod u+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && 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 \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + 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: + @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)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: check-am +all-am: Makefile $(PROGRAMS) $(MANS) $(DATA) config.h +installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + 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: + -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) + -test -z "$(TEST_LOGS_TMP)" || rm -f $(TEST_LOGS_TMP) + -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f src/$(DEPDIR)/$(am__dirstamp) + -rm -f src/$(am__dirstamp) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf src/$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-dist_docDATA install-man + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-binPROGRAMS + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: install-man1 + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: installcheck-binPROGRAMS + +maintainer-clean: maintainer-clean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -rf src/$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: am--mostlyclean-test-html mostlyclean-compile \ + mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-dist_docDATA \ + uninstall-man + +uninstall-man: uninstall-man1 + +.MAKE: all check-am check-html install-am install-strip recheck-html + +.PHONY: CTAGS GTAGS all all-am am--mostlyclean-test-html am--refresh \ + check check-TESTS check-am check-html clean clean-binPROGRAMS \ + clean-generic ctags dist dist-all dist-bzip2 dist-gzip \ + dist-hook dist-lzip dist-lzma dist-shar dist-tarZ dist-xz \ + dist-zip distcheck distclean distclean-compile \ + distclean-generic distclean-hdr distclean-tags distcleancheck \ + distdir distuninstallcheck dvi dvi-am html html-am info \ + info-am install install-am install-binPROGRAMS install-data \ + install-data-am install-dist_docDATA install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-man1 install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installcheck-binPROGRAMS installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am recheck recheck-html \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-dist_docDATA uninstall-man uninstall-man1 + + +# TODO: figure out why log removal is needed and/or make it completely automatic +dist-hook: + @for log in $(srcdir)/examples/*.log ; do if [ -f "$$log" ] ; then \ + rm $(srcdir)/examples/*.log ; \ + echo 'ERROR: log files need to cleaned BEFORE making tarball, try again'; exit 1 ; fi ; done + @ if [ -d .git ] ; then \ + if [ $(VERSION) != `$(GIT_DESCRIBE)` ] ; then \ + echo 'ERROR: version mismatch, rerun autoconf -f' ; exit 1 ; fi ; \ + $(SED) 's/\[m4_esyscmd_s(\[$(GIT_DESCRIBE)\])\]/[$(VERSION)]/' \ + $(srcdir)/configure.ac > $(distdir)/configure.ac ; fi + +cleantar: + @(rm -f xmlstarlet*.tar.gz) + +rpm: cleantar distdir xmlstarlet.spec + cp xmlstarlet.spec $(distdir) + $(AMTAR) -czf $(distdir).tar.gz $(distdir) + rpmbuild -ta $(distdir).tar.gz + +$(distdir)-win32.zip: xml.exe + mkdir -p /tmp/$(distdir)/doc + cp $(WIN32_DIST) /tmp/$(distdir) + cp $(WIN32_doc_DIST) /tmp/$(distdir)/doc + strip /tmp/$(distdir)/xml.exe + cd /tmp && zip -9 --symlinks --recurse-paths --to-crlf --move \ + $(distdir)-win32.zip $(distdir) + mv /tmp/$(distdir)-win32.zip . + +dist-win32: $(distdir)-win32.zip + +version.h: VERSION + @if [ -d .git ] ; then \ + VERSION=`$(GIT_DESCRIBE)`; \ + else VERSION=$(VERSION) ; fi; \ + NEW_VERSION="#define VERSION \"$$VERSION\""; \ + OLD_VERSION=`cat version.h 2>/dev/null` ; \ + if [ "$$NEW_VERSION" != "$$OLD_VERSION" ] ; then \ + echo "$$NEW_VERSION" > version.h ; \ + echo "version.h: $$NEW_VERSION"; fi +VERSION: + +# need to build version.h even if dependency files haven't been +# generated +src/xml.o : version.h + +# qcheck is just tests listed in QUICK_TESTS +qcheck : + @$(MAKE) TESTS="$(QUICK_TESTS)" check + +.txt.c: + $(AM_V_GEN)$(AWK) -f $(srcdir)/usage2c.awk $< > $@ +$(generated_usage_sources) : usage2c.awk + +@BUILD_DOCS_TRUE@.xml.html: +@BUILD_DOCS_TRUE@ $(V_DOCBOOK)$(EDIT_XML) $< | $(XSLTPROC) $(DOCBOOK_PARAMS) \ +@BUILD_DOCS_TRUE@ --stringparam html.stylesheet html.css \ +@BUILD_DOCS_TRUE@ http://docbook.sourceforge.net/release/xsl-ns/current/html/docbook.xsl \ +@BUILD_DOCS_TRUE@ - > $@ + +@BUILD_DOCS_TRUE@.xml.fo: +@BUILD_DOCS_TRUE@ $(V_DOCBOOK)$(EDIT_XML) $< | $(XSLTPROC) $(DOCBOOK_PARAMS) doc/xmlstar-fodoc-style.xsl - > $@ + +@BUILD_DOCS_TRUE@@HAVE_FOP_TRUE@.fo.pdf: +@BUILD_DOCS_TRUE@@HAVE_FOP_TRUE@ $(V_FOP)$(FOP) -q $< $@ +@BUILD_DOCS_TRUE@@HAVE_PDF2PS_TRUE@.pdf.ps: +@BUILD_DOCS_TRUE@@HAVE_PDF2PS_TRUE@ $(AM_V_GEN)$(PDF2PS) $< $@ + +@BUILD_DOCS_TRUE@$(userguide).html : $(userguide).xml + +@BUILD_DOCS_TRUE@$(manpage): $(manpage_src) +@BUILD_DOCS_TRUE@ $(V_DOCBOOK)$(EDIT_XML) $< | $(XSLTPROC) -o $@ \ +@BUILD_DOCS_TRUE@ http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl \ +@BUILD_DOCS_TRUE@ - + +@BUILD_DOCS_TRUE@$(txtguide): $(txtguide_src) $(usage_texts) +@BUILD_DOCS_TRUE@ $(AM_V_GEN)srcdir=$(srcdir) SED=$(SED) transform='$(program_transform_name)' $< ./xml > $@ + +@BUILD_DOCS_TRUE@clean-doc: +@BUILD_DOCS_TRUE@ rm -f $(generated_docs) + +# NOTE: if put inside "if BUILD_DOCS" automake issues a warning +.PHONY: clean-doc + +.PHONY: cleantar rpm dist-win32 VERSION doc + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..31fdcd9 --- /dev/null +++ b/NEWS @@ -0,0 +1,179 @@ +1.4.1: Dec 8, 2012 + + - avoid segfault when attempting to edit the document node (Bug + #3575722) + + - Packaging: + - include doc/xmlstar-fodoc-style.xsl in the dist so that the + --enable-build-docs option works from the tarball (Bug + #3580667) + - AC_SUBST PACKAGE_TARNAME for automake so that documentation is + installed to the right place (Bug #3561958) + + - Test Suite: + - avoid test failures due to XML formatting and whitespace + changes (also fixes Bug #3572789) + - use automake's parallel test suite + - make bigxml tests much faster by using whitespace instead of nodes + - don't test str:replace() with ed: it doesn't work outside of + xslt in new libxslt + - ignore extra errors from libxml 2.9.0 bug + - let tests run using busybox + - add runAllTests.sh to run tests without make + + +1.4.0: Aug 26, 2012 + + - Documentation: + - executable name used in documentation now matches + --transform-program-name (Bug #3283713) + - added Makefile rules for generating documentation + (./configure --enable-build-docs) + + - ed subcommand: + - relative XPaths are now handled correctly (Bug #3527850) + - the last nodeset inserted by an edit operation can be + accessed as the XPath variable $prev (or $xstar:prev) + - add --var option to define XPath variables + - allow ed -u -x to insert nodesets instead of converting to + string + - remove hard limit for number of edit operations (Bug + #3488240) + + - pyx now handles namespaces correctly + +1.3.1: Jan 14, 2012 + + - handle multiple values for --value-of properly (Bug #2563866) + - substitute external entities (Bug #3467320) + - pyx output needs space between attribute name and value (Bug #3440797) + + +1.3.0: Oct 7, 2011 + + - avoid ASCII CRs in UTF-16/32 text (reported by Ming Chen) + - --value-of outputs concat values of all nodes (Req #2563866) + - encode special chars for ed -u -x + - allow use of exslt functions in ed -u -x + - add --var to select (allow --var = as well as --var + --break) + - work around libxml bug that passes bogus data to error handler + (Bug #3362217) + + +1.2.1: July 07, 2011 + + - check for NULL nodeset result (Bugs #3323189, #3323196) + - "-" was being confused with --elif + - generated XSLT should also have automatic namespaces + - allow -N after other option (Bug #3325166) + - namespace values were being registered as prefixes + - avoid segfault when asked to move namespace nodes + - missing newline in ed --help message + - test scripts portability + - no bashisms allowed in NetBSD sh + - make BRE portable: '+' is not allowed + - deal with msys path conversion properly (Bug #3178657) + - don't use XML_SAVE_WSNONSIG #if libxml < 2.7.8 (Bug #3310475) + + +1.2.0: June 1, 2011 + + - implement ed --update --expr + - use top-level namespace definitions from first input file, this + should remove the need to define namespaces on the command line + with -N in most cases. + - select exits with 0 only if result is non-empty (Req #3155702) + - add -Q to select, like grep's -q + - add column number to error messages + - restore input context (lost in version 1.0.3) to error messages + (Bug #3305659) + - print extra string information in error messages + - use entity definitions from dtd (Bug #3305659) + - add --net option to c14n, ed, fo, and val (Req #1071398) + - remove --catalog from tr --help message since it isn't actually supported + - add --elif and --else to sel --help message + + +1.1.0: Apr 3, 2011 + + - bug fix for BSD/OSX: check that O_BINARY is declared before + #including io.h (Bug 3211822) + - select improvements + - add --elif and --else options + - sorting on multiple fields + - correct (for English) lexical sorting instead of ASCIIbetical + - only outputs namespaces that are actually used + - only outputs xsl:param inputFile if it's used + - don't make separate templates if there is only 1 + - link to shared libxml and libxslt libraries by default + - add library version info to --version output + - add directory argument for ls; exit status indicates + failure/success instead of file count + - stop using old SAX1 interface, xmlstarlet will now link with a + libxml configured --without-sax1 and --without-legacy + + +1.0.6: Mar 13 2011: + + - Bug fixes: + - c14n: set stdout to binary mode on Windows to avoid carriage + returns (Bug 840665) + - fix broken --help options + - put actual behaviour of -P, -S options in --help output (see + Bug/Feature Request 2858514) + - remove unneeded escape of quote in ./configure --help + - don't distribute xmlstarlet.spec: it's generated by ./configure + - add src/xml.o depends on version.h to Makefile.am so compile + will succeed without dependency info (eg after make distclean) + - add test for subcommands' --help option + - Portability fixes: + - yes isn't portable, use an awk program instead + - neither read -r nor xargs -0 are portable, escape the command + lines to xargs instead + - don't use nonportable echo -n option + + +1.0.5: Feb 11 2011: + + - Bug fixes: + - use XSLT_PARSE_OPTIONS, else CDATA nodes can cause corruption (Bug 3158482) + - fix typo in help message + - get rid of warnings in -ansi -pedantic mode + - required libxml2 version is 2.6.23 + - usage strings use argv[0] as program name + - --help prints to stdout and exits with success + - double /'s under msys to avoid path conversion + - Portability fixes: + - don't use xargs (-d isn't portable) + - use -Wall only for gcc + -Build system: + - use -ansi in configure, and check for strdup declaration + - seperate list of sources and tests into subdirs + - check git version during make, not just autoconf + - tarball releases of configure.ac have actual version number + instead of querying git + + +1.0.4: Jan 16 2011: + + - Bug fixes: + - encode special XML characters in arguments (can now include quotes in xpath) + - non-zero exit code when input file is not found (Bug 3158488) + - ed with --pf/--ps options doesn't reformat output (Bug 3158490) + - exit() instead of segfault when trying to delete namespace nodes + (Bug 1120417) + - added --disable-static-libs ./configure option to use shared libxml2 and libxslt + - non-recursive make + - use TESTS and XFAIL_TESTS for testing, nicer output + +1.0.3: Nov 18 2010: + + - Bug fixes: + escape --value in update mode (Bug 3052978) + c14n now includes default attributes (Bug 1505579) + Allow special characters in sel --output literal (Bug 1912978) + remove warning from xml_trans.c (Bug 1521756) + Use xmlReader interface so line numbers are 32-bit (Bug 1219072) + test for error messages on lines past 2^16 (Bug 1219072) + don't look for embedded dtd if not asked (Bug 1167215) diff --git a/README b/README new file mode 100644 index 0000000..552a387 --- /dev/null +++ b/README @@ -0,0 +1,6 @@ + +XMLStarlet is a command line XML toolkit which can be used to transform, +query, validate, and edit XML documents and files using simple set of shell +commands in similar way it is done for plain text files using grep/sed/awk/ +tr/diff/patch. + diff --git a/TODO b/TODO new file mode 100644 index 0000000..f16fc66 --- /dev/null +++ b/TODO @@ -0,0 +1,4 @@ +1. xml ed option is highly incomplete +2. How about XUpdate? (see http://www.xmldb.org/) +3. just do grep TODO src/*.c and you'll figure it out +4. generate xsd/DTD (best guess) from given XML document diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000..5d6c52a --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,1105 @@ +# generated automatically by aclocal 1.11.6 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. +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, 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 +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +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.6], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_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.6])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, 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/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 +# 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 9 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# 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 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, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], UPC, [depcc="$UPC" am_compiler_list=], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # 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. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + 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. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +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 -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 +# 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 5 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[{ + # Autoconf 2.62 quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2008, 2009 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 16 + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.62])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES(OBJC)], + [define([AC_PROG_OBJC], + defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl +]) +_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl +dnl The `parallel-tests' driver may need to know about EXEEXT, so add the +dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro +dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl +]) + +dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further +dnl mangled by Autoconf and run in a shell conditional statement. +m4_define([_AC_COMPILER_EXEEXT], +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# 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. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST(install_sh)]) + +# Copyright (C) 2003, 2005 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 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +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, +# 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 5 + +# AM_MAINTAINER_MODE([DEFAULT-MODE]) +# ---------------------------------- +# Control maintainer-specific portions of Makefiles. +# Default is to disable them, unless `enable' is passed literally. +# For symmetry, `disable' may be passed as well. Anyway, the user +# can override the default with the --enable/--disable switch. +AC_DEFUN([AM_MAINTAINER_MODE], +[m4_case(m4_default([$1], [disable]), + [enable], [m4_define([am_maintainer_other], [disable])], + [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 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 + (and sometimes confusing) to the casual installer], + [USE_MAINTAINER_MODE=$enableval], + [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST([MAINT])dnl +] +) + +AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005, 2009 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 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from `make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 +# 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 6 + +# AM_PROG_CC_C_O +# -------------- +# Like AC_PROG_CC_C_O, but changed for automake. +AC_DEFUN([AM_PROG_CC_C_O], +[AC_REQUIRE([AC_PROG_CC_C_O])dnl +AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +dnl Make sure AC_PROG_CC is never called again, or it will override our +dnl setting of CC. +m4_define([AC_PROG_CC], + [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 +# 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 6 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# 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'. +AC_DEFUN([AM_PROG_MKDIR_P], +[AC_PREREQ([2.60])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, +dnl while keeping a definition of mkdir_p for backward compatibility. +dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. +dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of +dnl Makefile.ins that do not define MKDIR_P, so we do our own +dnl adjustment using top_builddir (which is defined more often than +dnl MKDIR_P). +AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl +case $mkdir_p in + [[\\/$]]* | ?:[[\\/]]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# 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 5 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +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)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 +# 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 5 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; +esac + +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# 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 2 + +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Enable less verbose build rules; with the default set to DEFAULT +# (`yes' being less verbose, `no' or empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_ARG_ENABLE([silent-rules], +[ --enable-silent-rules less verbose build output (undo: `make V=1') + --disable-silent-rules verbose build output (undo: `make V=0')]) +case $enable_silent_rules in +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, 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 +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# 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 3 + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +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, 2012 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 + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_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='$${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]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([m4/quiet-rule.m4]) +m4_include([m4/xstar-check-libs.m4]) diff --git a/compile b/compile new file mode 100644 index 0000000..862a14e --- /dev/null +++ b/compile @@ -0,0 +1,343 @@ +#! /bin/sh +# Wrapper for compilers which do not understand '-c -o'. + +scriptversion=2012-03-05.13; # UTC + +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free +# Software Foundation, Inc. +# Written by Tom Tromey . +# +# 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 +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# 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, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file 'INSTALL'. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; +esac + +ofile= +cfile= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no '-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # '.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` + +# Create the lock directory. +# Note: use '[/\\:.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/config.guess b/config.guess new file mode 100644 index 0000000..d622a44 --- /dev/null +++ b/config.guess @@ -0,0 +1,1530 @@ +#! /bin/sh +# 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, 2012 Free Software Foundation, Inc. + +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 +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner. Please send patches (context +# diff format) to and include a ChangeLog +# entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +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, 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." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # 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 + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + *: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 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + 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 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + LIBC=gnu + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-gnu + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + i386) + eval $set_cc_for_build + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi + fi ;; + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; + 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 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/config.h.in b/config.h.in new file mode 100644 index 0000000..7b016ff --- /dev/null +++ b/config.h.in @@ -0,0 +1,97 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* don't have O_BINARY */ +#undef HAVE_DECL_O_BINARY + +/* have exslt*XpathCtxtRegister() */ +#undef HAVE_EXSLT_XPATH_REGISTER + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `lstat' function. */ +#undef HAVE_LSTAT + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#undef HAVE_MALLOC + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#undef HAVE_REALLOC + +/* Define to 1 if you have the `setmode' function. */ +#undef HAVE_SETMODE + +/* Define to 1 if you have the `stat' function. */ +#undef HAVE_STAT + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if `lstat' dereferences a symlink specified with a trailing + slash. */ +#undef LSTAT_FOLLOWS_SLASHED_SYMLINK + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#undef NO_MINUS_C_MINUS_O + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Using the Win32 Socket implementation */ +#undef _WINSOCKAPI_ + +/* needed to get lstat declaration in -ansi mode */ +#undef _XOPEN_SOURCE + +/* Define to rpl_malloc if the replacement function should be used. */ +#undef malloc + +/* Define to `int' if does not define. */ +#undef mode_t + +/* Define to rpl_realloc if the replacement function should be used. */ +#undef realloc + +/* Define to `unsigned int' if does not define. */ +#undef size_t diff --git a/config.sub b/config.sub new file mode 100644 index 0000000..6205f84 --- /dev/null +++ b/config.sub @@ -0,0 +1,1782 @@ +#! /bin/sh +# 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, 2012 Free Software Foundation, Inc. + +timestamp='2012-04-18' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# 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 +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# 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, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted GNU ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +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, 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." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + 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 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray | -microblaze) + os= + basic_machine=$1 + ;; + -bluegene*) + os=-cnk + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # 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 \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nios | nios2 \ + | ns16k | ns32k \ + | open8 \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pyramid \ + | 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 \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | we32k \ + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) + basic_machine=$basic_machine-unknown + ;; + c54x) + basic_machine=tic54x-unknown + ;; + c55x) + basic_machine=tic55x-unknown + ;; + c6x) + basic_machine=tic6x-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # 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-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | 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-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pyramid-* \ + | 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-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | tahoe-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile*-* \ + | tron-* \ + | ubicom32-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aros) + basic_machine=i386-pc + os=-aros + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; + c54x-*) + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c55x-*) + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c6x-*) + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16 | cr16-*) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + microblaze) + basic_machine=microblaze-xilinx + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + 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 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + neo-tandem) + basic_machine=neo-tandem + ;; + nse-tandem) + basic_machine=nse-tandem + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc | ppcbe) basic_machine=powerpc-unknown + ;; + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tile*) + basic_machine=$basic_machine-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -dicos*) + os=-dicos + ;; + -nacl*) + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + hexagon-*) + os=-elf + ;; + tic54x-*) + os=-coff + ;; + tic55x-*) + os=-coff + ;; + tic6x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -cnk*|-aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/configure b/configure new file mode 100755 index 0000000..e1213bd --- /dev/null +++ b/configure @@ -0,0 +1,7612 @@ +#! /bin/sh +# From configure.ac 1.4.1. +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.69 for XMLStarlet 1.4.1. +# +# Report bugs to . +# +# +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org and +$0: http://sourceforge.net/projects/xmlstar/support about +$0: your system, including any error possibly output before +$0: this message. Then install a modern shell, or manually +$0: run the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + +as_awk_strverscmp=' + # Use only awk features that work with 7th edition Unix awk (1978). + # My, what an old awk you have, Mr. Solaris! + END { + while (length(v1) && length(v2)) { + # Set d1 to be the next thing to compare from v1, and likewise for d2. + # Normally this is a single character, but if v1 and v2 contain digits, + # compare them as integers and fractions as strverscmp does. + if (v1 ~ /^[0-9]/ && v2 ~ /^[0-9]/) { + # Split v1 and v2 into their leading digit string components d1 and d2, + # and advance v1 and v2 past the leading digit strings. + for (len1 = 1; substr(v1, len1 + 1) ~ /^[0-9]/; len1++) continue + for (len2 = 1; substr(v2, len2 + 1) ~ /^[0-9]/; len2++) continue + d1 = substr(v1, 1, len1); v1 = substr(v1, len1 + 1) + d2 = substr(v2, 1, len2); v2 = substr(v2, len2 + 1) + if (d1 ~ /^0/) { + if (d2 ~ /^0/) { + # Compare two fractions. + while (d1 ~ /^0/ && d2 ~ /^0/) { + d1 = substr(d1, 2); len1-- + d2 = substr(d2, 2); len2-- + } + if (len1 != len2 && ! (len1 && len2 && substr(d1, 1, 1) == substr(d2, 1, 1))) { + # The two components differ in length, and the common prefix + # contains only leading zeros. Consider the longer to be less. + d1 = -len1 + d2 = -len2 + } else { + # Otherwise, compare as strings. + d1 = "x" d1 + d2 = "x" d2 + } + } else { + # A fraction is less than an integer. + exit 1 + } + } else { + if (d2 ~ /^0/) { + # An integer is greater than a fraction. + exit 2 + } else { + # Compare two integers. + d1 += 0 + d2 += 0 + } + } + } else { + # The normal case, without worrying about digits. + d1 = substr(v1, 1, 1); v1 = substr(v1, 2) + d2 = substr(v2, 1, 1); v2 = substr(v2, 2) + } + if (d1 < d2) exit 1 + if (d1 > d2) exit 2 + } + # Beware Solaris /usr/xgp4/bin/awk (at least through Solaris 10), + # which mishandles some comparisons of empty strings to integers. + if (length(v2)) exit 1 + if (length(v1)) exit 2 + } +' + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='XMLStarlet' +PACKAGE_TARNAME='xmlstarlet' +PACKAGE_VERSION='1.4.1' +PACKAGE_STRING='XMLStarlet 1.4.1' +PACKAGE_BUGREPORT='http://sourceforge.net/projects/xmlstar/support' +PACKAGE_URL='http://xmlstar.sourceforge.net/' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_func_list= +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +V_DOCBOOK_0 +V_DOCBOOK_ +V_DOCBOOK +V_FOP_0 +V_FOP_ +V_FOP +LIBXSLT_REQUIRED_VERSION +LIBXML_REQUIRED_VERSION +LDADD +AM_LDFLAGS +AM_CPPFLAGS +HAVE_EXSLT_XPATH_REGISTER_FALSE +HAVE_EXSLT_XPATH_REGISTER_TRUE +LIBOBJS +EGREP +GREP +CPP +BUILD_DOCS_FALSE +BUILD_DOCS_TRUE +HAVE_PDF2PS_FALSE +HAVE_PDF2PS_TRUE +PDF2PS +HAVE_FOP_FALSE +HAVE_FOP_TRUE +FOP +XSLTPROC +LIBXSLT_CONFIG +LIBXML_CONFIG +SED +GCC_FALSE +GCC_TRUE +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__quote +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +MAINT +MAINTAINER_MODE_FALSE +MAINTAINER_MODE_TRUE +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_silent_rules +enable_maintainer_mode +with_libxml_prefix +with_libxml_include_prefix +with_libxml_libs_prefix +with_libxml_src +with_libxslt_prefix +with_libxslt_include_prefix +with_libxslt_libs_prefix +with_libxslt_src +with_libiconv_prefix +with_libiconv_include_prefix +with_libiconv_libs_prefix +enable_static_libs +enable_build_docs +enable_dependency_tracking +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +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 XMLStarlet 1.4.1 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/xmlstarlet] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of XMLStarlet 1.4.1:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: `make V=1') + --disable-silent-rules verbose build output (undo: `make V=0') + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer + --enable-static-libs link statically with libxml2 and lib(e)xslt + [default=no] + --enable-build-docs include rules to build documentation files + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-libxml-prefix=PFX + Specify location of libxml + --with-libxml-include-prefix=PFX + Specify location of libxml headers + --with-libxml-libs-prefix=PFX + Specify location of libxml libs + --with-libxml-src=DIR For libxml that's not installed yet (sets all three + above) + --with-libxslt-prefix=PFX + Specify location of libxslt + --with-libxslt-include-prefix=PFX + Specify location of libxslt headers + --with-libxslt-libs-prefix=PFX + Specify location of libxslt libs + --with-libxslt-src=DIR For libxslt that's not installed yet (sets all three + above) + --with-libiconv-prefix=PFX + Specify location of libiconv + --with-libiconv-include-prefix=PFX + Specify location of libiconv headers + --with-libiconv-libs-prefix=PFX + Specify location of libiconv libs + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +XMLStarlet home page: . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +XMLStarlet configure 1.4.1 +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( $as_echo "## -------------------------------------------------------------- ## +## Report this to http://sourceforge.net/projects/xmlstar/support ## +## -------------------------------------------------------------- ##" + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES +# --------------------------------------------- +# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR +# accordingly. +ac_fn_c_check_decl () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + as_decl_name=`echo $2|sed 's/ *(.*//'` + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +$as_echo_n "checking whether $as_decl_name is declared... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +#ifndef $as_decl_name +#ifdef __cplusplus + (void) $as_decl_use; +#else + (void) $as_decl_name; +#endif +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_decl +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 XMLStarlet $as_me 1.4.1, which was +generated by GNU Autoconf 2.69. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +as_fn_append ac_func_list " lstat" +as_fn_append ac_func_list " stat" +as_fn_append ac_func_list " setmode" +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + +am__api_version='1.11' + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; +esac + +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken +alias in your environment" "$LINENO" 5 + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if ${ac_cv_path_mkdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='xmlstarlet' + VERSION='1.4.1' + + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +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. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in +yes) AM_DEFAULT_VERBOSITY=0;; +no) AM_DEFAULT_VERBOSITY=1;; +*) AM_DEFAULT_VERBOSITY=0;; +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='\' + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 +$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then : + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 +$as_echo "$USE_MAINTAINER_MODE" >&6; } + if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + + +LIBXML_REQUIRED_VERSION=2.6.27 +LIBXSLT_REQUIRED_VERSION=1.1.9 + + +# Check whether --with-libxml-prefix was given. +if test "${with_libxml_prefix+set}" = set; then : + withval=$with_libxml_prefix; LIBXML_PREFIX="$withval" +fi + + +# Check whether --with-libxml-include-prefix was given. +if test "${with_libxml_include_prefix+set}" = set; then : + withval=$with_libxml_include_prefix; LIBXML_INCDIR="$withval" +fi + + +# Check whether --with-libxml-libs-prefix was given. +if test "${with_libxml_libs_prefix+set}" = set; then : + withval=$with_libxml_libs_prefix; LIBXML_LIBDIR="$withval" +fi + + +# Check whether --with-libxml-src was given. +if test "${with_libxml_src+set}" = set; then : + withval=$with_libxml_src; LIBXML_SRCDIR="$withval" + LIBXML_LIBDIR="$LIBXML_SRCDIR/.libs" +fi + + + +# Check whether --with-libxslt-prefix was given. +if test "${with_libxslt_prefix+set}" = set; then : + withval=$with_libxslt_prefix; LIBXSLT_PREFIX="$withval" +fi + + +# Check whether --with-libxslt-include-prefix was given. +if test "${with_libxslt_include_prefix+set}" = set; then : + withval=$with_libxslt_include_prefix; LIBXSLT_INCDIR="$withval" +fi + + +# Check whether --with-libxslt-libs-prefix was given. +if test "${with_libxslt_libs_prefix+set}" = set; then : + withval=$with_libxslt_libs_prefix; LIBXSLT_LIBDIR="$withval" +fi + + +# Check whether --with-libxslt-src was given. +if test "${with_libxslt_src+set}" = set; then : + withval=$with_libxslt_src; LIBXSLT_SRCDIR="$withval" + LIBXSLT_LIBDIR="$LIBXSLT_SRCDIR/.libs" +fi + + + +# Check whether --with-libiconv-prefix was given. +if test "${with_libiconv_prefix+set}" = set; then : + withval=$with_libiconv_prefix; LIBICONV_PREFIX="$withval" +fi + + +# Check whether --with-libiconv-include-prefix was given. +if test "${with_libiconv_include_prefix+set}" = set; then : + withval=$with_libiconv_include_prefix; LIBICONV_INCDIR="$withval" +fi + + +# Check whether --with-libiconv-libs-prefix was given. +if test "${with_libiconv_libs_prefix+set}" = set; then : + withval=$with_libiconv_libs_prefix; LIBICONV_LIBDIR="$withval" +fi + + + + +# Check whether --enable-static-libs was given. +if test "${enable_static_libs+set}" = set; then : + enableval=$enable_static_libs; STATIC_LIBS=$enableval +else + STATIC_LIBS=no +fi + + +# Check whether --enable-build_docs was given. +if test "${enable_build_docs+set}" = set; then : + enableval=$enable_build_docs; +else + enable_build_docs=no +fi + + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 +$as_echo_n "checking for style of include used by $am_make... " >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from `make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 +$as_echo "$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then : + enableval=$enable_dependency_tracking; +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= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # 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. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + 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. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + if test x$GCC = xyes; then + GCC_TRUE= + GCC_FALSE='#' +else + GCC_TRUE='#' + GCC_FALSE= +fi + +if test x$GCC = xyes; then : + CFLAGS="-ansi $CFLAGS" +fi +if test "x$CC" != xcc; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 +$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 +$as_echo_n "checking whether cc understands -c and -o together... " >&6; } +fi +set dummy $CC; ac_cc=`$as_echo "$2" | + sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +# Make sure it works both with $CC and with simple cc. +# We do the test twice because some compilers refuse to overwrite an +# existing .o file with -o, though they will create one. +ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' +rm -f conftest2.* +if { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && + test -f conftest2.$ac_objext && { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; +then + eval ac_cv_prog_cc_${ac_cc}_c_o=yes + if test "x$CC" != xcc; then + # Test first that cc exists at all. + if { ac_try='cc -c conftest.$ac_ext >&5' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' + rm -f conftest2.* + if { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && + test -f conftest2.$ac_objext && { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; + then + # cc works too. + : + else + # cc exists but doesn't like -o. + eval ac_cv_prog_cc_${ac_cc}_c_o=no + fi + fi + fi +else + eval ac_cv_prog_cc_${ac_cc}_c_o=no +fi +rm -f core conftest* + +fi +if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h + +fi + +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + + + + + + if test "x$LIBXML_SRCDIR" != x; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: using libxml src dir \"$LIBXML_SRCDIR\"" >&5 +$as_echo "$as_me: using libxml src dir \"$LIBXML_SRCDIR\"" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: not checking libxml version" >&5 +$as_echo "$as_me: WARNING: not checking libxml version" >&2;} +else + # Extract the first word of "xml2-config", so it can be a program name with args. +set dummy xml2-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_LIBXML_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $LIBXML_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_LIBXML_CONFIG="$LIBXML_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $LIBXML_PREFIX/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_LIBXML_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +LIBXML_CONFIG=$ac_cv_path_LIBXML_CONFIG +if test -n "$LIBXML_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXML_CONFIG" >&5 +$as_echo "$LIBXML_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "x$LIBXML_CONFIG" = x; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "xml2-config not found +See \`config.log' for more details" "$LINENO" 5; } +fi + LIBXML_VERSION=$($LIBXML_CONFIG --version) + as_arg_v1=$LIBXML_VERSION +as_arg_v2=$LIBXML_REQUIRED_VERSION +awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null +case $? in #( + 1) : + as_fn_error $? "xmlstarlet needs at least libxml version $LIBXML_REQUIRED_VERSION (http://www.xmlsoft.org/)" "$LINENO" 5 ;; #( + 0) : + ;; #( + 2) : + ;; #( + *) : + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: using libxml-$LIBXML_VERSION" >&5 +$as_echo "$as_me: using libxml-$LIBXML_VERSION" >&6;} + LIBXML_PREFIX=`$as_dirname -- $LIBXML_CONFIG || +$as_expr X$LIBXML_CONFIG : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$LIBXML_CONFIG : 'X\(//\)[^/]' \| \ + X$LIBXML_CONFIG : 'X\(//\)$' \| \ + X$LIBXML_CONFIG : 'X\(/\)' \| . 2>/dev/null || +$as_echo X$LIBXML_CONFIG | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + LIBXML_PREFIX=`$as_dirname -- $LIBXML_PREFIX || +$as_expr X$LIBXML_PREFIX : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$LIBXML_PREFIX : 'X\(//\)[^/]' \| \ + X$LIBXML_PREFIX : 'X\(//\)$' \| \ + X$LIBXML_PREFIX : 'X\(/\)' \| . 2>/dev/null || +$as_echo X$LIBXML_PREFIX | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + : ${LIBXML_LIBDIR="$LIBXML_PREFIX/lib"} +fi + + +if test "x$LIBXML_SRCDIR" != x; then : + LIBXML_INCDIR="$LIBXML_SRCDIR/include" +fi +: ${LIBXML_INCDIR="$LIBXML_PREFIX/include/libxml2"} + +if test "x$STATIC_LIBS" != xno; then : + LIBXML_CPPFLAGS="-I$LIBXML_INCDIR -DLIBXML_STATIC" +else + LIBXML_CPPFLAGS="-I$LIBXML_INCDIR" +fi + +if test "x$STATIC_LIBS" != xno; then : + LIBXML_LIBS="$LIBXML_LIBDIR/libxml2.a" +else + LIBXML_LIBS="-lxml2" +fi +LIBXML_LDFLAGS="-L$LIBXML_LIBDIR" + + + + + + if test "x$LIBXSLT_SRCDIR" != x; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: using libxslt src dir \"$LIBXSLT_SRCDIR\"" >&5 +$as_echo "$as_me: using libxslt src dir \"$LIBXSLT_SRCDIR\"" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: not checking libxslt version" >&5 +$as_echo "$as_me: WARNING: not checking libxslt version" >&2;} +else + # Extract the first word of "xslt-config", so it can be a program name with args. +set dummy xslt-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_LIBXSLT_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $LIBXSLT_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_LIBXSLT_CONFIG="$LIBXSLT_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $LIBXSLT_PREFIX/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_LIBXSLT_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +LIBXSLT_CONFIG=$ac_cv_path_LIBXSLT_CONFIG +if test -n "$LIBXSLT_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXSLT_CONFIG" >&5 +$as_echo "$LIBXSLT_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "x$LIBXSLT_CONFIG" = x; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "xslt-config not found +See \`config.log' for more details" "$LINENO" 5; } +fi + LIBXSLT_VERSION=$($LIBXSLT_CONFIG --version) + as_arg_v1=$LIBXSLT_VERSION +as_arg_v2=$LIBXSLT_REQUIRED_VERSION +awk "$as_awk_strverscmp" v1="$as_arg_v1" v2="$as_arg_v2" /dev/null +case $? in #( + 1) : + as_fn_error $? "xmlstarlet needs at least libxslt version $LIBXSLT_REQUIRED_VERSION (http://www.xmlsoft.org/)" "$LINENO" 5 ;; #( + 0) : + ;; #( + 2) : + ;; #( + *) : + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: using libxslt-$LIBXSLT_VERSION" >&5 +$as_echo "$as_me: using libxslt-$LIBXSLT_VERSION" >&6;} + LIBXSLT_PREFIX=`$as_dirname -- $LIBXSLT_CONFIG || +$as_expr X$LIBXSLT_CONFIG : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$LIBXSLT_CONFIG : 'X\(//\)[^/]' \| \ + X$LIBXSLT_CONFIG : 'X\(//\)$' \| \ + X$LIBXSLT_CONFIG : 'X\(/\)' \| . 2>/dev/null || +$as_echo X$LIBXSLT_CONFIG | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + LIBXSLT_PREFIX=`$as_dirname -- $LIBXSLT_PREFIX || +$as_expr X$LIBXSLT_PREFIX : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$LIBXSLT_PREFIX : 'X\(//\)[^/]' \| \ + X$LIBXSLT_PREFIX : 'X\(//\)$' \| \ + X$LIBXSLT_PREFIX : 'X\(/\)' \| . 2>/dev/null || +$as_echo X$LIBXSLT_PREFIX | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + : ${LIBXSLT_LIBDIR="$LIBXSLT_PREFIX/lib"} +fi + + +if test "x$LIBXSLT_SRCDIR" != x; then : + XSLTPROC_PATH="$LIBXSLT_SRCDIR/xsltproc:$PATH" + LIBXSLT_INCDIR="$LIBXSLT_SRCDIR" + LIBXSLT_LDFLAGS="-L$LIBXSLT_SRCDIR/libexslt/.libs -L$LIBXSLT_SRCDIR/libxslt/.libs" + if test "x$STATIC_LIBS" != xno; then : + LIBXSLT_LIBS="$LIBXSLT_SRCDIR/libexslt/.libs/libexslt.a $LIBXSLT_SRCDIR/libxslt/.libs/libxslt.a" +fi +else + XSLTPROC_PATH="$PATH" + LIBXSLT_LDFLAGS="-L$LIBXSLT_LIBDIR" + if test "x$STATIC_LIBS" != xno; then : + LIBXSLT_LIBS="$LIBXSLT_LIBDIR/libexslt.a $LIBXSLT_LIBDIR/libxslt.a" +fi +fi + +if test x"$enable_build_docs" = xyes; then : + # Extract the first word of "xsltproc", so it can be a program name with args. +set dummy xsltproc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_XSLTPROC+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $XSLTPROC in + [\\/]* | ?:[\\/]*) + ac_cv_path_XSLTPROC="$XSLTPROC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $XSLTPROC_PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_XSLTPROC" && ac_cv_path_XSLTPROC="none" + ;; +esac +fi +XSLTPROC=$ac_cv_path_XSLTPROC +if test -n "$XSLTPROC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XSLTPROC" >&5 +$as_echo "$XSLTPROC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "$XSLTPROC" = none; then : + as_fn_error $? "xsltproc not found, unable to build documentation" "$LINENO" 5 +fi + + # Extract the first word of "fop", so it can be a program name with args. +set dummy fop; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_FOP+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $FOP in + [\\/]* | ?:[\\/]*) + ac_cv_path_FOP="$FOP" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_FOP="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_FOP" && ac_cv_path_FOP="none" + ;; +esac +fi +FOP=$ac_cv_path_FOP +if test -n "$FOP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FOP" >&5 +$as_echo "$FOP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test x"$FOP" != xnone; then + HAVE_FOP_TRUE= + HAVE_FOP_FALSE='#' +else + HAVE_FOP_TRUE='#' + HAVE_FOP_FALSE= +fi + + if test "$FOP" = none; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: fop not installed, unable to build pdf documentation" >&5 +$as_echo "$as_me: WARNING: fop not installed, unable to build pdf documentation" >&2;} +fi + + # Extract the first word of "pdf2ps", so it can be a program name with args. +set dummy pdf2ps; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PDF2PS+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PDF2PS in + [\\/]* | ?:[\\/]*) + ac_cv_path_PDF2PS="$PDF2PS" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PDF2PS="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_PDF2PS" && ac_cv_path_PDF2PS="none" + ;; +esac +fi +PDF2PS=$ac_cv_path_PDF2PS +if test -n "$PDF2PS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PDF2PS" >&5 +$as_echo "$PDF2PS" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test x"$PDF2PS" != xnone; then + HAVE_PDF2PS_TRUE= + HAVE_PDF2PS_FALSE='#' +else + HAVE_PDF2PS_TRUE='#' + HAVE_PDF2PS_FALSE= +fi + + if test "$PDF2PS" = none; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pdf2ps not installed, unable to build postscript documentation" >&5 +$as_echo "$as_me: WARNING: pdf2ps not installed, unable to build postscript documentation" >&2;} +fi +else + # these don't get used when BUILD_DOCS is false but Automake + # will get cranky if we don't set the conditional + if false; then + HAVE_FOP_TRUE= + HAVE_FOP_FALSE='#' +else + HAVE_FOP_TRUE='#' + HAVE_FOP_FALSE= +fi + + if false; then + HAVE_PDF2PS_TRUE= + HAVE_PDF2PS_FALSE='#' +else + HAVE_PDF2PS_TRUE='#' + HAVE_PDF2PS_FALSE= +fi + +fi + + if test x"$enable_build_docs" = xyes; then + BUILD_DOCS_TRUE= + BUILD_DOCS_FALSE='#' +else + BUILD_DOCS_TRUE='#' + BUILD_DOCS_FALSE= +fi + + + +if test "x$STATIC_LIBS" = xno; then : + LIBXSLT_LIBS="-lexslt -lxslt" +fi + +: ${LIBXSLT_INCDIR="$LIBXSLT_PREFIX/include"} +LIBXSLT_CPPFLAGS="-I$LIBXSLT_INCDIR" + + +WIN32_EXTRA_LDFLAGS= +WIN32_EXTRA_LIBS= + +case "${host}" in #( + *-hpux*) : + if test "x$GCC" != "xyes"; then : + CFLAGS="-Ae" +fi ;; #( + *mingw*) : + WIN32_EXTRA_LIBS='-lwsock32' + +$as_echo "#define _WINSOCKAPI_ 1" >>confdefs.h + ;; #( + *) : + ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 +$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } +if ${ac_cv_func_lstat_dereferences_slashed_symlink+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f conftest.sym conftest.file +echo >conftest.file +if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then + if test "$cross_compiling" = yes; then : + ac_cv_func_lstat_dereferences_slashed_symlink=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +struct stat sbuf; + /* Linux will dereference the symlink and fail, as required by POSIX. + That is better in the sense that it means we will not + have to compile and use the lstat wrapper. */ + return lstat ("conftest.sym/", &sbuf) == 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_lstat_dereferences_slashed_symlink=yes +else + ac_cv_func_lstat_dereferences_slashed_symlink=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +else + # If the `ln -s' command failed, then we probably don't even + # have an lstat function. + ac_cv_func_lstat_dereferences_slashed_symlink=no +fi +rm -f conftest.sym conftest.file + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5 +$as_echo "$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; } + +test $ac_cv_func_lstat_dereferences_slashed_symlink = yes && + +cat >>confdefs.h <<_ACEOF +#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 +_ACEOF + + +if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then + case " $LIBOBJS " in + *" lstat.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS lstat.$ac_objext" + ;; +esac + +fi + +for ac_header in stdlib.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" +if test "x$ac_cv_header_stdlib_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STDLIB_H 1 +_ACEOF + +fi + +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 +$as_echo_n "checking for GNU libc compatible malloc... " >&6; } +if ${ac_cv_func_malloc_0_nonnull+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_malloc_0_nonnull=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined STDC_HEADERS || defined HAVE_STDLIB_H +# include +#else +char *malloc (); +#endif + +int +main () +{ +return ! malloc (0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_malloc_0_nonnull=yes +else + ac_cv_func_malloc_0_nonnull=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 +$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } +if test $ac_cv_func_malloc_0_nonnull = yes; then : + +$as_echo "#define HAVE_MALLOC 1" >>confdefs.h + +else + $as_echo "#define HAVE_MALLOC 0" >>confdefs.h + + case " $LIBOBJS " in + *" malloc.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS malloc.$ac_objext" + ;; +esac + + +$as_echo "#define malloc rpl_malloc" >>confdefs.h + +fi + + +for ac_header in stdlib.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" +if test "x$ac_cv_header_stdlib_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_STDLIB_H 1 +_ACEOF + +fi + +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible realloc" >&5 +$as_echo_n "checking for GNU libc compatible realloc... " >&6; } +if ${ac_cv_func_realloc_0_nonnull+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_realloc_0_nonnull=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined STDC_HEADERS || defined HAVE_STDLIB_H +# include +#else +char *realloc (); +#endif + +int +main () +{ +return ! realloc (0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_realloc_0_nonnull=yes +else + ac_cv_func_realloc_0_nonnull=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5 +$as_echo "$ac_cv_func_realloc_0_nonnull" >&6; } +if test $ac_cv_func_realloc_0_nonnull = yes; then : + +$as_echo "#define HAVE_REALLOC 1" >>confdefs.h + +else + $as_echo "#define HAVE_REALLOC 0" >>confdefs.h + + case " $LIBOBJS " in + *" realloc.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS realloc.$ac_objext" + ;; +esac + + +$as_echo "#define realloc rpl_realloc" >>confdefs.h + +fi + + +ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" +if test "x$ac_cv_type_mode_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define mode_t int +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned int +_ACEOF + +fi + + +# The trick with USER_LIBS allows make LIBS=-lfoo to add rather than +# replace the libraries from ./configure +USER_LIBS="$LIBS" +LIBS= +# shared libraries link to dependant libraries automatically +if test "x$STATIC_LIBS" != xno; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 +$as_echo_n "checking for library containing dlopen... " >&6; } +if ${ac_cv_search_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dl; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib "$USER_LIBS" $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_dlopen=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_dlopen+:} false; then : + break +fi +done +if ${ac_cv_search_dlopen+:} false; then : + +else + ac_cv_search_dlopen=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 +$as_echo "$ac_cv_search_dlopen" >&6; } +ac_res=$ac_cv_search_dlopen +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sqrt" >&5 +$as_echo_n "checking for library containing sqrt... " >&6; } +if ${ac_cv_search_sqrt+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sqrt (); +int +main () +{ +return sqrt (); + ; + return 0; +} +_ACEOF +for ac_lib in '' m; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib "$USER_LIBS" $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_sqrt=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_sqrt+:} false; then : + break +fi +done +if ${ac_cv_search_sqrt+:} false; then : + +else + ac_cv_search_sqrt=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sqrt" >&5 +$as_echo "$ac_cv_search_sqrt" >&6; } +ac_res=$ac_cv_search_sqrt +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing iconv_open" >&5 +$as_echo_n "checking for library containing iconv_open... " >&6; } +if ${ac_cv_search_iconv_open+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char iconv_open (); +int +main () +{ +return iconv_open (); + ; + return 0; +} +_ACEOF +for ac_lib in '' iconv; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib "$USER_LIBS" $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_iconv_open=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_iconv_open+:} false; then : + break +fi +done +if ${ac_cv_search_iconv_open+:} false; then : + +else + ac_cv_search_iconv_open=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_iconv_open" >&5 +$as_echo "$ac_cv_search_iconv_open" >&6; } +ac_res=$ac_cv_search_iconv_open +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing libiconv_open" >&5 +$as_echo_n "checking for library containing libiconv_open... " >&6; } +if ${ac_cv_search_libiconv_open+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char libiconv_open (); +int +main () +{ +return libiconv_open (); + ; + return 0; +} +_ACEOF +for ac_lib in '' iconv; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib "$USER_LIBS" $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_libiconv_open=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_libiconv_open+:} false; then : + break +fi +done +if ${ac_cv_search_libiconv_open+:} false; then : + +else + ac_cv_search_libiconv_open=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_libiconv_open" >&5 +$as_echo "$ac_cv_search_libiconv_open" >&6; } +ac_res=$ac_cv_search_libiconv_open +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing clock_gettime" >&5 +$as_echo_n "checking for library containing clock_gettime... " >&6; } +if ${ac_cv_search_clock_gettime+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char clock_gettime (); +int +main () +{ +return clock_gettime (); + ; + return 0; +} +_ACEOF +for ac_lib in '' rt; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib "$USER_LIBS" $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_clock_gettime=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_clock_gettime+:} false; then : + break +fi +done +if ${ac_cv_search_clock_gettime+:} false; then : + +else + ac_cv_search_clock_gettime=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_clock_gettime" >&5 +$as_echo "$ac_cv_search_clock_gettime" >&6; } +ac_res=$ac_cv_search_clock_gettime +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing deflate" >&5 +$as_echo_n "checking for library containing deflate... " >&6; } +if ${ac_cv_search_deflate+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char deflate (); +int +main () +{ +return deflate (); + ; + return 0; +} +_ACEOF +for ac_lib in '' z; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib "$USER_LIBS" $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_deflate=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_deflate+:} false; then : + break +fi +done +if ${ac_cv_search_deflate+:} false; then : + +else + ac_cv_search_deflate=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_deflate" >&5 +$as_echo "$ac_cv_search_deflate" >&6; } +ac_res=$ac_cv_search_deflate +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gcry_cipher_encrypt" >&5 +$as_echo_n "checking for library containing gcry_cipher_encrypt... " >&6; } +if ${ac_cv_search_gcry_cipher_encrypt+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gcry_cipher_encrypt (); +int +main () +{ +return gcry_cipher_encrypt (); + ; + return 0; +} +_ACEOF +for ac_lib in '' gcrypt; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib "$USER_LIBS" $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_gcry_cipher_encrypt=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_gcry_cipher_encrypt+:} false; then : + break +fi +done +if ${ac_cv_search_gcry_cipher_encrypt+:} false; then : + +else + ac_cv_search_gcry_cipher_encrypt=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gcry_cipher_encrypt" >&5 +$as_echo "$ac_cv_search_gcry_cipher_encrypt" >&6; } +ac_res=$ac_cv_search_gcry_cipher_encrypt +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + + # Checks for inet libraries: + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostent" >&5 +$as_echo_n "checking for library containing gethostent... " >&6; } +if ${ac_cv_search_gethostent+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostent (); +int +main () +{ +return gethostent (); + ; + return 0; +} +_ACEOF +for ac_lib in '' nsl; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib "$USER_LIBS" $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_gethostent=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_gethostent+:} false; then : + break +fi +done +if ${ac_cv_search_gethostent+:} false; then : + +else + ac_cv_search_gethostent=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostent" >&5 +$as_echo "$ac_cv_search_gethostent" >&6; } +ac_res=$ac_cv_search_gethostent +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setsockopt" >&5 +$as_echo_n "checking for library containing setsockopt... " >&6; } +if ${ac_cv_search_setsockopt+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char setsockopt (); +int +main () +{ +return setsockopt (); + ; + return 0; +} +_ACEOF +for ac_lib in '' socket net network; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib "$USER_LIBS" $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_setsockopt=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_setsockopt+:} false; then : + break +fi +done +if ${ac_cv_search_setsockopt+:} false; then : + +else + ac_cv_search_setsockopt=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setsockopt" >&5 +$as_echo "$ac_cv_search_setsockopt" >&6; } +ac_res=$ac_cv_search_setsockopt +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing connect" >&5 +$as_echo_n "checking for library containing connect... " >&6; } +if ${ac_cv_search_connect+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char connect (); +int +main () +{ +return connect (); + ; + return 0; +} +_ACEOF +for ac_lib in '' inet; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib "$USER_LIBS" $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_connect=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_connect+:} false; then : + break +fi +done +if ${ac_cv_search_connect+:} false; then : + +else + ac_cv_search_connect=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_connect" >&5 +$as_echo "$ac_cv_search_connect" >&6; } +ac_res=$ac_cv_search_connect +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +fi + + + + + for ac_func in $ac_func_list +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + + + + + +ac_fn_c_check_decl "$LINENO" "O_BINARY" "ac_cv_have_decl_O_BINARY" " +#include +#include + +" +if test "x$ac_cv_have_decl_O_BINARY" = xyes; then : + +$as_echo "#define HAVE_DECL_O_BINARY 1" >>confdefs.h + +else + +$as_echo "#define HAVE_DECL_O_BINARY 0" >>confdefs.h + +fi + + + + + +# check for exslt*XpathCtxtRegister() functions +OLD_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$LIBXSLT_CPPFLAGS $LIBXML_CPPFLAGS $CPPFLAGS" +ac_fn_c_check_decl "$LINENO" "exsltDateXpathCtxtRegister" "ac_cv_have_decl_exsltDateXpathCtxtRegister" "#include +" +if test "x$ac_cv_have_decl_exsltDateXpathCtxtRegister" = xyes; then : + +$as_echo "#define HAVE_EXSLT_XPATH_REGISTER 1" >>confdefs.h + + HAVE_EXSLT_XPATH_REGISTER=1 +else + +$as_echo "#define HAVE_EXSLT_XPATH_REGISTER 0" >>confdefs.h + + HAVE_EXSLT_XPATH_REGISTER=0 +fi + + + if test $HAVE_EXSLT_XPATH_REGISTER = 1; then + HAVE_EXSLT_XPATH_REGISTER_TRUE= + HAVE_EXSLT_XPATH_REGISTER_FALSE='#' +else + HAVE_EXSLT_XPATH_REGISTER_TRUE='#' + HAVE_EXSLT_XPATH_REGISTER_FALSE= +fi + +CPPFLAGS="$OLD_CPPFLAGS" + +# make flags +AM_CPPFLAGS="$LIBXSLT_CPPFLAGS $LIBXML_CPPFLAGS" + +AM_LDFLAGS="$LIBXSLT_LDFLAGS $LIBXML_LDFLAGS" + +LDADD="$LIBXSLT_LIBS $LIBXML_LIBS $WIN32_EXTRA_LIBS $LIBS" + +LIBS="$USER_LIBS" + + + + + + +# make silent rule for FOP +V_FOP="\$(V_FOP_$AM_V)" +V_FOP_="\$(V_FOP_$AM_DEFAULT_VERBOSITY)" +V_FOP_0='@echo " FOP $@";' + +# make silent rule for DOCBOOK +V_DOCBOOK="\$(V_DOCBOOK_$AM_V)" +V_DOCBOOK_="\$(V_DOCBOOK_$AM_DEFAULT_VERBOSITY)" +V_DOCBOOK_0='@echo " DBOOK $@";' + + + + + + + +$as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h + + + +ac_config_headers="$ac_config_headers config.h" + +ac_config_files="$ac_config_files xmlstarlet.spec Makefile solaris/package/sol8-sparc/pkginfo solaris/package/sol9-sparc/pkginfo" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${GCC_TRUE}" && test -z "${GCC_FALSE}"; then + as_fn_error $? "conditional \"GCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_FOP_TRUE}" && test -z "${HAVE_FOP_FALSE}"; then + as_fn_error $? "conditional \"HAVE_FOP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_PDF2PS_TRUE}" && test -z "${HAVE_PDF2PS_FALSE}"; then + as_fn_error $? "conditional \"HAVE_PDF2PS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_FOP_TRUE}" && test -z "${HAVE_FOP_FALSE}"; then + as_fn_error $? "conditional \"HAVE_FOP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_PDF2PS_TRUE}" && test -z "${HAVE_PDF2PS_FALSE}"; then + as_fn_error $? "conditional \"HAVE_PDF2PS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${BUILD_DOCS_TRUE}" && test -z "${BUILD_DOCS_FALSE}"; then + as_fn_error $? "conditional \"BUILD_DOCS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_EXSLT_XPATH_REGISTER_TRUE}" && test -z "${HAVE_EXSLT_XPATH_REGISTER_FALSE}"; then + as_fn_error $? "conditional \"HAVE_EXSLT_XPATH_REGISTER\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by XMLStarlet $as_me 1.4.1, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to . +XMLStarlet home page: ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +XMLStarlet config.status 1.4.1 +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "xmlstarlet.spec") CONFIG_FILES="$CONFIG_FILES xmlstarlet.spec" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "solaris/package/sol8-sparc/pkginfo") CONFIG_FILES="$CONFIG_FILES solaris/package/sol8-sparc/pkginfo" ;; + "solaris/package/sol9-sparc/pkginfo") CONFIG_FILES="$CONFIG_FILES solaris/package/sol9-sparc/pkginfo" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Autoconf 2.62 quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir=$dirpart/$fdir; as_fn_mkdir_p + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..19678f6 --- /dev/null +++ b/configure.ac @@ -0,0 +1,186 @@ +AC_PREREQ([2.62]) +AC_INIT([XMLStarlet], [1.4.1], + [http://sourceforge.net/projects/xmlstar/support], + [], + [http://xmlstar.sourceforge.net/]) +AC_REVISION(AC_PACKAGE_VERSION) + +AM_INIT_AUTOMAKE([1.11 foreign -Wall subdir-objects no-define std-options parallel-tests color-tests]) +AM_SILENT_RULES([yes]) +AM_MAINTAINER_MODE + +[LIBXML_REQUIRED_VERSION=2.6.27] +[LIBXSLT_REQUIRED_VERSION=1.1.9] + +XSTAR_LIB_ARGS_WITH([LIBXML], [with-src]) +XSTAR_LIB_ARGS_WITH([LIBXSLT], [with-src]) +XSTAR_LIB_ARGS_WITH([LIBICONV]) + +AC_ARG_ENABLE([static-libs], + [AS_HELP_STRING([--enable-static-libs], + [link statically with libxml2 and lib(e)xslt @<:@default=no@:>@])], + [STATIC_LIBS=$enableval], + [STATIC_LIBS=no]) + +AC_ARG_ENABLE([build_docs], + [AS_HELP_STRING([--enable-build-docs], + [include rules to build documentation files])], + [], [enable_build_docs=no]) + +dnl +dnl Check the environment +dnl + +AC_CANONICAL_HOST +AC_PROG_CC +AM_CONDITIONAL([GCC], [test x$GCC = xyes]) +AS_IF([test x$GCC = xyes], [CFLAGS="-ansi $CFLAGS"]) +AM_PROG_CC_C_O +AC_ARG_PROGRAM dnl Transforming Program Names When Installing +AC_PROG_SED +AC_PROG_AWK + +XSTAR_LIB_CHECK([LIBXML], [xml2-config]) + +AS_IF([test "x$LIBXML_SRCDIR" != x], + [LIBXML_INCDIR="$LIBXML_SRCDIR/include"]) +[: ${LIBXML_INCDIR="$LIBXML_PREFIX/include/libxml2"}] + +AS_IF([test "x$STATIC_LIBS" != xno], + [LIBXML_CPPFLAGS="-I$LIBXML_INCDIR -DLIBXML_STATIC"], + [LIBXML_CPPFLAGS="-I$LIBXML_INCDIR"]) + +AS_IF([test "x$STATIC_LIBS" != xno], + [LIBXML_LIBS="$LIBXML_LIBDIR/libxml2.a"], + [LIBXML_LIBS="-lxml2"]) +[LIBXML_LDFLAGS="-L$LIBXML_LIBDIR"] + + +XSTAR_LIB_CHECK([LIBXSLT], [xslt-config]) + +AS_IF([test "x$LIBXSLT_SRCDIR" != x], + [XSLTPROC_PATH="$LIBXSLT_SRCDIR/xsltproc:$PATH" + LIBXSLT_INCDIR="$LIBXSLT_SRCDIR" + LIBXSLT_LDFLAGS="-L$LIBXSLT_SRCDIR/libexslt/.libs -L$LIBXSLT_SRCDIR/libxslt/.libs" + AS_IF([test "x$STATIC_LIBS" != xno], + [LIBXSLT_LIBS="$LIBXSLT_SRCDIR/libexslt/.libs/libexslt.a $LIBXSLT_SRCDIR/libxslt/.libs/libxslt.a"])], + [XSLTPROC_PATH="$PATH" + LIBXSLT_LDFLAGS="-L$LIBXSLT_LIBDIR" + AS_IF([test "x$STATIC_LIBS" != xno], + [LIBXSLT_LIBS="$LIBXSLT_LIBDIR/libexslt.a $LIBXSLT_LIBDIR/libxslt.a"])]) + +AS_IF([test x"$enable_build_docs" = xyes], + [AC_PATH_PROG(XSLTPROC, xsltproc, [none], [$XSLTPROC_PATH]) + AS_IF([test "$XSLTPROC" = none], [AC_MSG_ERROR([xsltproc not found, unable to build documentation])]) + + AC_PATH_PROG(FOP, fop, [none]) + AM_CONDITIONAL([HAVE_FOP], [test x"$FOP" != xnone]) + AS_IF([test "$FOP" = none], [AC_MSG_WARN([fop not installed, unable to build pdf documentation])]) + + AC_PATH_PROG(PDF2PS, pdf2ps, [none]) + AM_CONDITIONAL([HAVE_PDF2PS], [test x"$PDF2PS" != xnone]) + AS_IF([test "$PDF2PS" = none], [AC_MSG_WARN([pdf2ps not installed, unable to build postscript documentation])])], + + [# these don't get used when BUILD_DOCS is false but Automake + # will get cranky if we don't set the conditional + AM_CONDITIONAL([HAVE_FOP], [false]) + AM_CONDITIONAL([HAVE_PDF2PS], [false])]) + +AM_CONDITIONAL([BUILD_DOCS], [test x"$enable_build_docs" = xyes]) + + +AS_IF([test "x$STATIC_LIBS" = xno], + [LIBXSLT_LIBS="-lexslt -lxslt"]) + +[: ${LIBXSLT_INCDIR="$LIBXSLT_PREFIX/include"}] +[LIBXSLT_CPPFLAGS="-I$LIBXSLT_INCDIR"] + + +[WIN32_EXTRA_LDFLAGS=] +[WIN32_EXTRA_LIBS=] + +AS_CASE(["${host}"], + [*-hpux*], + [AS_IF([test "x$GCC" != "xyes"], + [CFLAGS="-Ae"])], + [*mingw*], + [WIN32_EXTRA_LIBS='-lwsock32' + AC_DEFINE([_WINSOCKAPI_],1,[Using the Win32 Socket implementation])]) + +AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK +AC_FUNC_MALLOC +AC_FUNC_REALLOC +AC_TYPE_MODE_T +AC_TYPE_SIZE_T + +# The trick with USER_LIBS allows make LIBS=-lfoo to add rather than +# replace the libraries from ./configure +[USER_LIBS="$LIBS"] +[LIBS=] +# shared libraries link to dependant libraries automatically +AS_IF([test "x$STATIC_LIBS" != xno], + [AC_SEARCH_LIBS([dlopen], [dl], [], [], "$USER_LIBS") + AC_SEARCH_LIBS([sqrt], [m], [], [], "$USER_LIBS") + AC_SEARCH_LIBS([iconv_open], [iconv], [], + [AC_SEARCH_LIBS([libiconv_open], [iconv], [], [], "$USER_LIBS")], "$USER_LIBS") + AC_SEARCH_LIBS([clock_gettime], [rt], [], [], "$USER_LIBS") + AC_SEARCH_LIBS([deflate], [z], [], [], "$USER_LIBS") + AC_SEARCH_LIBS([gcry_cipher_encrypt], [gcrypt], [], [], "$USER_LIBS") + + # Checks for inet libraries: + AC_SEARCH_LIBS([gethostent], [nsl], [], [], "$USER_LIBS") + AC_SEARCH_LIBS([setsockopt], [socket net network], [], [], "$USER_LIBS") + AC_SEARCH_LIBS([connect], [inet], [], [], "$USER_LIBS")]) + +AC_CHECK_FUNCS_ONCE([lstat stat]) + +AC_CHECK_DECL([O_BINARY], [AC_DEFINE([HAVE_DECL_O_BINARY],1,[have O_BINARY])], +[AC_DEFINE([HAVE_DECL_O_BINARY],0,[don't have O_BINARY])], [[ +#include +#include +]]) +AC_CHECK_FUNCS_ONCE([setmode]) + +# check for exslt*XpathCtxtRegister() functions +[OLD_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$LIBXSLT_CPPFLAGS $LIBXML_CPPFLAGS $CPPFLAGS"] +AC_CHECK_DECL([exsltDateXpathCtxtRegister], + [AC_DEFINE([HAVE_EXSLT_XPATH_REGISTER],1,[have exslt*XpathCtxtRegister()]) + HAVE_EXSLT_XPATH_REGISTER=1], + [AC_DEFINE([HAVE_EXSLT_XPATH_REGISTER],0,[have exslt*XpathCtxtRegister()]) + HAVE_EXSLT_XPATH_REGISTER=0], + [#include ]) + +AM_CONDITIONAL([HAVE_EXSLT_XPATH_REGISTER], [test $HAVE_EXSLT_XPATH_REGISTER = 1]) +[CPPFLAGS="$OLD_CPPFLAGS"] + +# make flags +AC_SUBST([AM_CPPFLAGS], ["$LIBXSLT_CPPFLAGS $LIBXML_CPPFLAGS"]) +AC_SUBST([AM_LDFLAGS], ["$LIBXSLT_LDFLAGS $LIBXML_LDFLAGS"]) +AC_SUBST([LDADD], ["$LIBXSLT_LIBS $LIBXML_LIBS $WIN32_EXTRA_LIBS $LIBS"]) +AC_SUBST([LIBS], ["$USER_LIBS"]) +AC_SUBST([LIBXML_REQUIRED_VERSION]) +AC_SUBST([LIBXSLT_REQUIRED_VERSION]) + +AC_SUBST([SED]) + +np_SILENT_RULE([FOP]) +np_SILENT_RULE([DOCBOOK], [DBOOK]) + +AC_SUBST(PACKAGE_NAME) +AC_SUBST(PACKAGE_TARNAME) +AC_SUBST(PACKAGE_VERSION) + +AC_DEFINE([_XOPEN_SOURCE], [500], [needed to get lstat declaration in -ansi mode]) + +dnl for the spec file + +AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_FILES([ +xmlstarlet.spec +Makefile +solaris/package/sol8-sparc/pkginfo +solaris/package/sol9-sparc/pkginfo +]) +AC_OUTPUT + diff --git a/depcomp b/depcomp new file mode 100644 index 0000000..25a39e6 --- /dev/null +++ b/depcomp @@ -0,0 +1,708 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2012-03-27.16; # UTC + +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, +# 2011, 2012 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 +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# 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, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputting dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +cygpath_u="cygpath -u -f -" +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' + 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 + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations. + gccflag=-qmakedep=gcc,-MF + depmode=gcc +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the "deleted header file" problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' "$nl" < "$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. 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 "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # 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 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like '#:fec' to the end of the + # dependency line. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr "$nl" ' ' >> "$depfile" + echo >> "$depfile" + + # The second pass generates a dummy entry for each header file. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +xlc) + # 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 + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts '$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u + "$@" -Wc,-M + else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u + "$@" -M + fi + stat=$? + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependent.h'. + # Do two passes, one to just change these to + # '$object: dependent.h' and one to simply 'dependent.h:'. + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'. + # However on + # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using '\': + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + # tcc 0.9.26 (FIXME still under development at the moment of writing) + # will emit a similar output, but also prepend the continuation lines + # with horizontal tabulation characters. + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form 'foo.o: dependent.h', + # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'. + # Do two passes, one to just change these to + # '$object: dependent.h' and one to simply 'dependent.h:'. + sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \ + < "$tmpdepfile" > "$depfile" + sed ' + s/[ '"$tab"'][ '"$tab"']*/ /g + s/^ *// + s/ *\\*$// + s/^[^:]*: *// + /^$/d + /:$/d + s/$/ :/ + ' < "$tmpdepfile" >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" + # Add 'dependent.h:' lines. + sed -ne '2,${ + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in 'foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # With Tru64 cc, shared objects can also be used to make a + # static library. This mechanism is used in libtool 1.4 series to + # handle both shared and static libraries in a single compilation. + # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. + # + # With libtool 1.5 this exception was removed, and libtool now + # generates 2 separate objects for the 2 libraries. These two + # compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 + tmpdepfile2=$dir$base.o.d # libtool 1.5 + tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 + tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.o.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + tmpdepfile4=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + 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/\(.*\)/'"$tab"'\1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/'"$tab"'/ + 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. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for ':' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. + "$@" $dashmflag | + sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' "$nl" < "$tmpdepfile" | \ +## 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" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no eat=no + for arg + do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + if test $eat = yes; then + eat=no + continue + fi + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -arch) + eat=yes ;; + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix=`echo "$object" | sed 's/^.*\././'` + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$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 ' ' "$nl" | \ +## 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" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + IFS=" " + for arg + do + case "$arg" in + -o) + shift + ;; + $object) + shift + ;; + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E 2>/dev/null | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvcmsys) + # 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 + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/doc/doc.mk b/doc/doc.mk new file mode 100644 index 0000000..10dc18d --- /dev/null +++ b/doc/doc.mk @@ -0,0 +1,59 @@ +userguide = doc/xmlstarlet-ug +userguide_gen = $(userguide).pdf $(userguide).ps $(userguide).html +userguide_src = $(userguide).xml + +txtguide = doc/xmlstarlet.txt +txtguide_src = doc/gen-doc + +manpage = doc/xmlstarlet.1 +manpage_src = doc/xmlstarlet-man.xml + +generated_docs = $(userguide_gen) $(txtguide) $(manpage) +buildfiles_docs = doc/replace-PROG-VERSION.xsl doc/xmlstar-fodoc-style.xsl + +DOCBOOK_PARAMS = \ +--param section.autolabel 1 \ +--stringparam generate.toc 'book toc,title' + +EDIT_XML = $(XSLTPROC) \ + --stringparam VERSION '$(VERSION)' \ + --stringparam PROG "`echo xml | $(SED) '$(program_transform_name)'`" \ + doc/replace-PROG-VERSION.xsl + +if BUILD_DOCS + +.xml.html: + $(V_DOCBOOK)$(EDIT_XML) $< | $(XSLTPROC) $(DOCBOOK_PARAMS) \ + --stringparam html.stylesheet html.css \ + http://docbook.sourceforge.net/release/xsl-ns/current/html/docbook.xsl \ + - > $@ + +.xml.fo: + $(V_DOCBOOK)$(EDIT_XML) $< | $(XSLTPROC) $(DOCBOOK_PARAMS) doc/xmlstar-fodoc-style.xsl - > $@ + +if HAVE_FOP +.fo.pdf: + $(V_FOP)$(FOP) -q $< $@ +endif +if HAVE_PDF2PS +.pdf.ps: + $(AM_V_GEN)$(PDF2PS) $< $@ +endif + +$(userguide).html : $(userguide).xml + +$(manpage): $(manpage_src) + $(V_DOCBOOK)$(EDIT_XML) $< | $(XSLTPROC) -o $@ \ + http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl \ + - + +$(txtguide): $(txtguide_src) $(usage_texts) + $(AM_V_GEN)srcdir=$(srcdir) SED=$(SED) transform='$(program_transform_name)' $< ./xml > $@ + +clean-doc: + rm -f $(generated_docs) + +endif BUILD_DOCS + +# NOTE: if put inside "if BUILD_DOCS" automake issues a warning +.PHONY: clean-doc diff --git a/doc/gen-doc b/doc/gen-doc new file mode 100644 index 0000000..c438ab4 --- /dev/null +++ b/doc/gen-doc @@ -0,0 +1,186 @@ +#! /bin/sh + +: "${SED=sed}" +XMLSTARLET=$1 +STAR_NAME=`echo xml | ${SED} "$transform"` + +{ +echo "" +echo "" +echo " XMLSTARLET USER'S GUIDE" +echo "" +echo " see also http://xmlstar.sourceforge.net/" +echo "" +echo "" + +echo "" +echo "" +echo "1. BASIC COMMAND LINE OPTIONS" +echo "====================================================" +echo "" +echo "$STAR_NAME --help" +$SED '/^#/d' src/usage.txt + +echo "" +echo "" +echo "" +echo "2. Select/Query XML documents" +echo "====================================================" +echo "" +echo "$STAR_NAME sel --help" +$SED '/^#/d' src/select-usage.txt + +echo "" +echo "" +echo "" +echo "3. Editing XML documents" +echo "====================================================" +echo "" +echo "$STAR_NAME ed --help" +$SED '/^#/d' src/edit-usage.txt + +echo "" +echo "" +echo "" +echo "4. Using XSLT to transform XML documents" +echo "====================================================" +echo "" +echo "$STAR_NAME tr --help" +$SED '/^#/d' src/trans-usage.txt + +echo "" +echo "" +echo "" +echo "5. Formatting XML documents" +echo "====================================================" +echo "" +echo "$STAR_NAME fo --help" +$SED '/^#/d' src/format-usage.txt + +echo "" +echo "" +echo "" +echo "6. Validating XML documents" +echo "====================================================" +echo "" +echo "$STAR_NAME val --help" +$SED '/^#/d' src/validate-usage.txt + +echo "" +echo "" +echo "" +echo "7. Displaying structure of XML documents" +echo "====================================================" +echo "" +echo "$STAR_NAME el --help" +$SED '/^#/d' src/elem-usage.txt + +echo "" +echo "" +echo "" +echo "" +echo "8. Escape/Unescape special XML characters" +echo "====================================================" +echo "" +echo "$STAR_NAME esc --help" +$SED '/^#/d' src/escape-usage.txt + +echo "" +echo "" +echo "" +echo "" +echo "9. List directory as XML" +echo "====================================================" +echo "" +echo "$STAR_NAME ls --help" +$SED '/^#/d' src/ls-usage.txt + +echo "" +echo "" +echo "" +echo "" +echo "10. XML canonicalization" +echo "====================================================" +echo "" +echo "$STAR_NAME c14n --help" +$SED '/^#/d' src/c14n-usage.txt + +echo "" +echo "" +echo "" +echo "" +echo "11. Convert XML into PYX format (based on ESIS - ISO 8879)" +echo "====================================================" +echo "" +echo "$STAR_NAME pyx --help" +$SED '/^#/d' src/pyx-usage.txt + +echo "" +echo "" +echo "" +echo "" +echo "12. Examples:" +echo "====================================================" +echo "" +echo "Input1" +echo "examples/xml/table.xml" +echo "" +cat "$srcdir"/examples/xml/table.xml +echo "" +echo "" +echo "Input2" +echo "examples/xml/tab-obj.xml" +echo "" +cat "$srcdir"/examples/xml/tab-obj.xml +echo "" +echo "" +echo "Input3" +echo "examples/html/hello1.html" +echo "" +cat "$srcdir"/examples/html/hello1.html +echo "" +echo "" +echo "Input4" +echo "examples/sgml/docbook1.sgml" +echo "" +cat "$srcdir"/examples/sgml/docbook1.sgml +echo "" +echo "" +echo "Stylesheet1" +echo "examples/xsl/sum1.xsl" +echo "" +cat "$srcdir"/examples/xsl/sum1.xsl +echo "" +echo "" +echo "Stylesheet2" +echo "examples/xsl/hello1.xsl" +echo "" +cat "$srcdir"/examples/xsl/hello1.xsl +echo "" +echo "" +echo "Stylesheet3" +echo "examples/xsl/param1.xsl" +echo "" +cat "$srcdir"/examples/xsl/param1.xsl +echo "" +echo "" + +echo "" + +for eg in "$srcdir"/examples/*[0-9] +do + if [ -x "$eg" ] + then + echo "Command:" + sed -e '/^#!/d' "$eg" + echo "Result Output:" + cat "$srcdir"/examples/results/`basename $eg`.out + echo "" + echo "" + fi +done + +echo "" +} | $SED -e "s:\./xmlstarlet:$STAR_NAME:g; s:PROG:$STAR_NAME:g" + + diff --git a/doc/html.css b/doc/html.css new file mode 100644 index 0000000..676ff98 --- /dev/null +++ b/doc/html.css @@ -0,0 +1,27 @@ +body { + background: #FFFFFF; +} + +h1, h2, h3, h4, h5 { + color: #800000; + font-family: sans-serif; +} + +span.term { + font-weight: bold; +} + +div.sidebar { + background: #F0F0F0; + border: 1px solid gray; + padding: 5px; + margin: 20px; +} + +pre.programlisting { + background: #F0F0F0; + border: 1px solid gray; + padding: 2px; + font-size: 10pt; + white-space: pre; +} diff --git a/doc/replace-PROG-VERSION.xsl b/doc/replace-PROG-VERSION.xsl new file mode 100644 index 0000000..bec1279 --- /dev/null +++ b/doc/replace-PROG-VERSION.xsl @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/doc/xmlstar-fodoc-style.xsl b/doc/xmlstar-fodoc-style.xsl new file mode 100644 index 0000000..11eaedb --- /dev/null +++ b/doc/xmlstar-fodoc-style.xsl @@ -0,0 +1,17 @@ + + + + + + + + + + + bold + normal + + + + + diff --git a/doc/xmlstarlet-man.xml b/doc/xmlstarlet-man.xml new file mode 100644 index 0000000..9299b59 --- /dev/null +++ b/doc/xmlstarlet-man.xml @@ -0,0 +1,202 @@ + + + + 2012 + + + + Mikhail + Grushinskiy + + XMLStarlet creator. + + + Version + + + + xmlstarlet + 1 + XMLStarlet Manual + + + + xmlstarlet + + command line XML/XSLT toolkit + + + + + + options + command + cmd-options + + + + + Introduction + + XMLStarlet is a set of command line utilities (tools) which can be + used to transform, query, validate, and edit XML documents and files using + simple set of shell commands in similar way it is done for plain text + files using UNIX grep, sed, awk, diff, patch, join, etc commands. This set + of command line utilities can be used by those who deal with many XML + documents on UNIX shell command prompt as well as for automated XML + processing with shell scripts. + + + + Options + + + + + + + Display the version of + xmlstarlet. + + + + + + + + Display help. + + + + + + + Commands + + + command + for command specific help + + Available commands include: + + + + + + + Edit/update XML document(s). + + + + + + + + Select data or query XML document(s) (XPATH, + etc). + + + + + + + + Transform XML documents(s) using XSLT. + + + + + + + + Validate XML document(s) + (well-formed/DTD/XSD/RelaxNG). + + + + + + + + Format XML document(s). + + + + + + + + Display element structure of XML document. + + + + + + + + XML canonicalization. + + + + + + + + List directory as XML. + + + + + + + + Escape special XML characters. + + + + + + + + Unescape special XML characters. + + + + + + + + Convert XML into PYX format (based on ESIS - ISO + 8879). + + + + + + + + Convert PYX into XML. + + + + + + + References + + XMLStarlet is a command line toolkit to query/edit/check/transform + XML documents (for more information see + http://xmlstar.sourceforge.net/). + + + + Bugs + Report bugs to the mailing list, + xmlstar-devel@lists.sourceforge.net or the bug tracker: . + + + diff --git a/doc/xmlstarlet-ug.html b/doc/xmlstarlet-ug.html new file mode 100644 index 0000000..be82ac2 --- /dev/null +++ b/doc/xmlstarlet-ug.html @@ -0,0 +1,888 @@ +XmlStarlet Command Line XML Toolkit User's Guide

XmlStarlet Command Line XML Toolkit User's Guide

Mikhail Grushinskiy


Chapter 1. Introduction

1. About XmlStarlet

XMLStarlet is + a set of command line utilities (tools) which can be used to transform, + query, validate, and edit XML documents and files using simple set of + shell commands in similar way it is done for plain text files using UNIX + grep, sed, awk, diff, patch, join, etc commands.

This set of command line utilities can be used by those who deal + with many XML documents on UNIX shell command prompt as well as for + automated XML processing with shell scripts.

XMLStarlet command line utility is written in C and uses libxml2 + and libxslt from http://xmlsoft.org/. Implementation of + extensive choice of options for XMLStarlet utility was only possible + because of rich feature set of libxml2 and libxslt (many thanks to the + developers of those libraries for great work).

'diff' and 'patch' options are not currently implemented. Other + features need some work too. Please, send an email to the project + administrator (see http://sourceforge.net/projects/xmlstar/) + if you wish to help.

XMLStarlet is linked statically to both libxml2 and libxslt, so + generally all you need to process XML documents is one executable file. + To run XmlStarlet utility you can simple type 'xml' on command line and + see list of options available.

XMLStarlet is open source freeware under MIT license which allows + free use and distribution for both commercial and non-commercial + projects.

We welcome any user's feedback on this project which would greatly + help us to improve its quality. Comments, suggestions, feature requests, + bug reports can be done via SourceForge project web site (see XMLStarlet + Sourceforge forums, or XMLStarlet + mailing list)

2. Main Features

The toolkit's feature set includes options to:

  • Check or validate XML files (simple well-formedness check, + DTD, XSD, RelaxNG)

  • Calculate values of XPath expressions on XML files (such as + running sums, etc)

  • Search XML files for matches to given XPath expressions

  • Apply XSLT stylesheets to XML documents (including EXSLT + support, and passing parameters to stylesheets)

  • Query XML documents (ex. query for value of some elements of + attributes, sorting, etc)

  • Modify or edit XML documents (ex. delete some elements)

  • Format or "beautify" XML documents (as changing indentation, + etc)

  • Fetch XML documents using http:// or ftp:// URLs

  • Browse tree structure of XML documents (in similar way to 'ls' + command for directories)

  • Include one XML document into another using XInclude

  • XML c14n canonicalization

  • Escape/unescape special XML characters in input text

  • Print directory as XML document

  • Convert XML into PYX format (based on ESIS - ISO 8879), and + vice versa

3. Supported Platforms

Here is a list of platforms on which XmlStarlet is known to + work.

  • Linux

  • Solaris

  • Windows

  • MacOS X

  • FreeBSD/NetBSD

  • HP-UX

  • AIX

You might be able to compile and make it on others too.

4. Finding binary packages

Here is a list of sites where you can also find XmlStarlet binary + packages.

Chapter 2. Installation

1. Installation on Linux

Execute the following command as root

rpm -i xmlstarlet-x.x.x-1.i386.rpm

where x.x.x indicates package version.

You can use http://rpmfind.net + to search for RPM appropriate for your distribution.

2. Installation on Solaris

Execute the following commands as root

gunzip xmlstarlet-x.x.x-sol8-sparc-local.gz
+pkgadd -d xmlstarlet-x.x.x-sol8-sparc-local all

3. Installation on MacOS X

XmlStarlet is available on MacOS in Fink. See + fink.sourceforge.net

4. Installation on Windows

Unzip the file xmlstarlet-x.x.x-win32.zip to some directory. To + take advantage of UNIX shell scripting you might want to run XmlStarlet + from Cygwin. Consider installing Cygwin on your Windows + machine.

Chapter 3. Getting Started

1. Basic Command-Line Options

Basic command line syntax:

bash-2.03$ xml
+XMLStarlet Toolkit: Command line utilities for XML
+Usage: xml [<options>] <command> [<cmd-options>]
+where <command> is one of:
+   ed    (or edit)      - Edit/Update XML document(s)
+   sel   (or select)    - Select data or query XML document(s) (XPATH, etc)
+   tr    (or transform) - Transform XML document(s) using XSLT
+   val   (or validate)  - Validate XML document(s) (well-formed/DTD/XSD/RelaxNG)
+   fo    (or format)    - Format XML document(s)
+   el    (or elements)  - Display element structure of XML document
+   c14n  (or canonic)   - XML canonicalization
+   ls    (or list)      - List directory as XML
+   esc   (or escape)    - Escape special XML characters
+   unesc (or unescape)  - Unescape special XML characters
+   pyx   (or xmln)      - Convert XML into PYX format (based on ESIS - ISO 8879)
+   p2x   (or depyx)     - Convert PYX into XML
+<options> are:
+   --version            - show version
+   --help               - show help
+Wherever file name mentioned in command help it is assumed
+that URL can be used instead as well.
+
+Type: xml <command> --help <ENTER> for command help
+
+XMLStarlet is a command line toolkit to query/edit/check/transform
+XML documents (for more information see http://xmlstar.sourceforge.net/)

2. Studying Structure of XML Document

Before you do anything with your XML document you probably would + like to know its structure at first. 'el' option could be used for this + purpose.

Let's say you have the following XML document (table.xml)

<xml>
+  <table>
+    <rec id="1">
+      <numField>123</numField>
+      <stringField>String Value</stringField>
+    </rec>
+    <rec id="2">
+      <numField>346</numField>
+      <stringField>Text Value</stringField>
+    </rec>
+    <rec id="3">
+      <numField>-23</numField>
+      <stringField>stringValue</stringField>
+    </rec>
+  </table>
+</xml>
xml el table.xml

would produce the following output.

xml
+xml/table
+xml/table/rec
+xml/table/rec/numField
+xml/table/rec/stringField
+xml/table/rec
+xml/table/rec/numField
+xml/table/rec/stringField
+xml/table/rec
+xml/table/rec/numField
+xml/table/rec/stringField

Every line in this output is an XPath expression which indicates a + 'path' to elements in XML document. You would use these XPath + expressions to navigate through your XML documents in other XmlStarlet + options.

XML documents can be pretty large but with a very simple + structure. (This is espesially true for data driven XML documents ex: + XML formatted result of select from SQL table). If you just interested + in structure but not order of the elements you can use -u switch + combined with 'el' option.

EXAMPLE:

xml el -u table.xml

Output:

xml
+xml/table
+xml/table/rec
+xml/table/rec/numField
+xml/table/rec/stringField

If you are interested not just in elements of your XML document, + but you want to see attributes as well you can use -a switch with 'el' + option. And every line of the output will still be a valid XPath + expression.

EXAMPLE:

xml el -a table.xml

Output:

xml
+xml/table
+xml/table/rec
+xml/table/rec/@id
+xml/table/rec/numField
+xml/table/rec/stringField
+xml/table/rec
+xml/table/rec/@id
+xml/table/rec/numField
+xml/table/rec/stringField
+xml/table/rec
+xml/table/rec/@id
+xml/table/rec/numField
+xml/table/rec/stringField

If you are looking for attribute values as well use -v switch of + 'el' option. And again - every line of output is a valid XPath + expression.

EXAMPLE:

xml el -v table.xml

Output:

xml
+xml/table
+xml/table/rec[@id='1']
+xml/table/rec/numField
+xml/table/rec/stringField
+xml/table/rec[@id='2']
+xml/table/rec/numField
+xml/table/rec/stringField
+xml/table/rec[@id='3']
+xml/table/rec/numField
+xml/table/rec/stringField

Chapter 4. XmlStarlet Reference

1. Querying XML documents

XmlStarlet 'select' or 'sel' option can be used to query or search + XML documents. Here is synopsis for 'xml sel' command:

XMLStarlet Toolkit: Select from XML document(s)
+Usage: xml sel <global-options> {<template>} [ <xml-file> ... ]
+where
+  <global-options> - global options for selecting
+  <xml-file> - input XML document file name/uri (stdin is used if missing)
+  <template> - template for querying XML document with following syntax:
+
+<global-options> are:
+  -C or --comp       - display generated XSLT
+  -R or --root       - print root element <xsl-select>
+  -T or --text       - output is text (default is XML)
+  -I or --indent     - indent output
+  -D or --xml-decl   - do not omit xml declaration line
+  -B or --noblanks   - remove insignificant spaces from XML tree
+  -N <name>=<value>  - predefine namespaces (name without 'xmlns:')
+                       ex: xsql=urn:oracle-xsql
+                       Multiple -N options are allowed.
+  --net              - allow fetch DTDs or entities over network
+  --help             - display help
+
+Syntax for templates: -t|--template <options>
+where <options>
+  -c or --copy-of <xpath>  - print copy of XPATH expression
+  -v or --value-of <xpath> - print value of XPATH expression
+  -o or --output <string>  - output string literal
+  -n or --nl               - print new line
+  -f or --inp-name         - print input file name (or URL)
+  -m or --match <xpath>    - match XPATH expression
+  -i or --if <test-xpath>  - check condition <xsl:if test="test-xpath">
+  -e or --elem <name>      - print out element <xsl:element name="name">
+  -a or --attr <name>      - add attribute <xsl:attribute name="name">
+  -b or --break            - break nesting
+  -s or --sort op xpath    - sort in order (used after -m) where
+  op is X:Y:Z,
+      X is A - for order="ascending"
+      X is D - for order="descending"
+      Y is N - for data-type="numeric"
+      Y is T - for data-type="text"
+      Z is U - for case-order="upper-first"
+      Z is L - for case-order="lower-first"
+
+There can be multiple --match, --copy-of, --value-of, etc options
+in a single template. The effect of applying command line templates
+can be illustrated with the following XSLT analogue
+
+xml sel -t -c "xpath0" -m "xpath1" -m "xpath2" -v "xpath3" \
+        -t -m "xpath4" -c "xpath5"
+
+is equivalent to applying the following XSLT
+
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:template match="/">
+  <xsl:call-template name="t1"/>
+  <xsl:call-template name="t2"/>
+</xsl:template>
+<xsl:template name="t1">
+  <xsl:copy-of select="xpath0"/>
+  <xsl:for-each select="xpath1">
+    <xsl:for-each select="xpath2">
+      <xsl:value-of select="xpath3"/>
+    </xsl:for-each>
+  </xsl:for-each>
+</xsl:template>
+<xsl:template name="t2">
+  <xsl:for-each select="xpath4">
+    <xsl:copy-of select="xpath5"/>
+  </xsl:for-each>
+</xsl:template>
+</xsl:stylesheet>
+
+XMLStarlet is a command line toolkit to query/edit/check/transform
+XML documents (for more information see http://xmlstar.sourceforge.net/)
+
+Current implementation uses libxslt from GNOME codebase as XSLT processor
+(see http://xmlsoft.org/ for more details)
+

'select' option allows you basically avoid writting XSLT + stylesheet to perform some queries on XML documents. I.e. various + combinations of command line parameters will let you to generate XSLT + stylesheet and apply in to XML documents with a single command line. + Very often you do not really care what XSLT was created for you 'select' + command, but in those cases when you do; you can always use -C or --comp + switch which will let you see exactly which XSLT is applied to your + input.

'select' option supports many EXSLT functions in XPath + expressions.

Here are few examples which will help to understand how 'xml + select' works:

EXAMPLE:

Count elements matching XPath expression:

xml sel -t -v "count(/xml/table/rec/numField)" table.xml

Input (table.xml):

<xml>
+  <table>
+    <rec id="1">
+      <numField>123</numField>
+      <stringField>String Value</stringField>
+    </rec>
+    <rec id="2">
+      <numField>346</numField>
+      <stringField>Text Value</stringField>
+    </rec>
+    <rec id="3">
+      <numField>-23</numField>
+      <stringField>stringValue</stringField>
+    </rec>
+  </table>
+</xml>

Output:

3
+

Let's take a close look what it did internally. For that we will + use '-C' option

$ xml sel -C -t -v "count(/xml/table/rec/numField)"
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:exslt="http://exslt.org/common"
+ xmlns:math="http://exslt.org/math"
+ xmlns:date="http://exslt.org/dates-and-times"
+ xmlns:func="http://exslt.org/functions"
+ xmlns:set="http://exslt.org/sets"
+ xmlns:str="http://exslt.org/strings"
+ xmlns:dyn="http://exslt.org/dynamic"
+ xmlns:saxon="http://icl.com/saxon"
+ xmlns:xalanredirect="org.apache.xalan.xslt.extensions.Redirect"
+ xmlns:xt="http://www.jclark.com/xt"
+ xmlns:libxslt="http://xmlsoft.org/XSLT/namespace"
+ xmlns:test="http://xmlsoft.org/XSLT/"
+ extension-element-prefixes=
+   "exslt math date func set str dyn saxon xalanredirect xt libxslt test"
+ exclude-result-prefixes="math str">
+<xsl:output omit-xml-declaration="yes" indent="no"/>
+<xsl:param name="inputFile">-</xsl:param>
+<xsl:template match="/">
+  <xsl:call-template name="t1"/>
+</xsl:template>
+<xsl:template name="t1">
+  <xsl:value-of select="count(/xml/table/rec/numField)"/>
+</xsl:template>
+</xsl:stylesheet>

Ignoring some XSLT stuff to make it brief:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:output omit-xml-declaration="yes" indent="no"/>
+<xsl:param name="inputFile">-</xsl:param>
+<xsl:template match="/">
+  <xsl:call-template name="t1"/>
+</xsl:template>
+<xsl:template name="t1">
+  <xsl:value-of select="count(/xml/table/rec/numField)"/>
+</xsl:template>
+</xsl:stylesheet>

Every -t option is mapped into XSLT template. Options after '-t' + are mapped into XSLT elements:

  • -v to <xsl:value-of>

  • -c to <xsl:copy-of>

  • -e to <xsl:element>

  • -a to <xsl:attribute>

  • -s to <xsl:sort>

  • -m to <xsl:for-each>

  • -i to <xsl:if>

  • and so on

By default subsequent options (for instance: -m) will result in + nested corresponding XSLT elements (<xsl:for-each> for '-m'). To + break this nesting you would have to put '-b' or '--break' after first + '-m'.

Below are few more examples:

EXAMPLE

Count all nodes in XML documents. Print input name and node count + after it.

xml sel -t -f -o " " -v "count(//node())" xml/table.xml xml/tab-obj.xml

Output:

xml/table.xml 32
+xml/tab-obj.xml 41

EXAMPLE

Find XML files matching XPath expression (containing 'object' + element)

xml sel -t -m //object -f xml/table.xml xml/tab-obj.xml

Result output:

xml/tab-obj.xml

EXAMPLE

Calculate EXSLT (XSLT extentions) XPath value

echo "<x/>" | xml sel -t -v "math:abs(-1000)"

Result output:

1000

EXAMPLE

Adding elements and attributes using command line 'xml sel'

echo "<x/>" | xml sel -t -m / -e xml -e child -a data -o value

Result Output:

<xml><child data="value"/></xml>

EXAMPLE

Query XML document and produce sorted text table

xml sel -T -t -m /xml/table/rec -s D:N:- "@id" \
+  -v "concat(@id,'|',numField,'|',stringField)" -n xml/table.xml

Result Output:

3|-23|stringValue
+2|346|Text Value
+1|123|String Value

Equivalent stylesheet

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:output omit-xml-declaration="yes" indent="no" method="text"/>
+<xsl:param name="inputFile">-</xsl:param>
+<xsl:template match="/">
+  <xsl:call-template name="t1"/>
+</xsl:template>
+<xsl:template name="t1">
+  <xsl:for-each select="/xml/table/rec">
+    <xsl:sort order="descending" data-type="number" 
+      case-order="upper-first" select="@id"/>
+    <xsl:value-of select="concat(@id,'|',numField,'|',stringField)"/>
+    <xsl:value-of select="'&#10;'"/>
+  </xsl:for-each>
+</xsl:template>
+</xsl:stylesheet>

EXAMPLE

Predefine namespaces for XPath expressions

xml sel -N xsql=urn:oracle-xsql -t -v /xsql:query xsql/jobserve.xsql

Input (xsql/jobserve.xsql)

$ cat xsql/jobserve.xsql
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="jobserve.xsl"?>
+<xsql:query connection="jobs" xmlns:xsql="urn:oracle-xsql" max-rows="5">
+  SELECT substr(title,1,26) short_title, title, location, skills
+  FROM job
+  WHERE UPPER(title) LIKE '%ORACLE%'
+  ORDER BY first_posted DESC
+</xsql:query>

Result output

  SELECT substr(title,1,26) short_title, title, location, skills
+  FROM job
+  WHERE UPPER(title) LIKE '%ORACLE%'
+  ORDER BY first_posted DESC
+

EXAMPLE

Print structure of XML element using xml sel (advanced XPath + expressions and xml sel command usage)

xml sel -T -t -m '//*' \
+-m 'ancestor-or-self::*' -v 'name()' -i 'not(position()=last())' -o . -b -b -n \
+xml/structure.xml

Input (xml/structure.xml)

<a1>
+  <a11>
+    <a111>
+      <a1111/>
+    </a111>
+    <a112>
+      <a1121/>
+    </a112>
+  </a11>
+  <a12/>
+  <a13>
+    <a131/>
+  </a13>
+</a1>

Result Output:

a1
+a1.a11
+a1.a11.a111
+a1.a11.a111.a1111
+a1.a11.a112
+a1.a11.a112.a1121
+a1.a12
+a1.a13
+a1.a13.a131

This example is a good demonstration of nesting control. Here is + corresponding XSLT:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:output omit-xml-declaration="yes" indent="no" method="text"/>
+<xsl:param name="inputFile">-</xsl:param>
+<xsl:template match="/">
+  <xsl:call-template name="t1"/>
+</xsl:template>
+<xsl:template name="t1">
+  <xsl:for-each select="//*">
+    <xsl:for-each select="ancestor-or-self::*">
+      <xsl:value-of select="name()"/>
+      <xsl:if test="not(position()=last())">
+        <xsl:value-of select="'.'"/>
+      </xsl:if>
+    </xsl:for-each>
+    <xsl:value-of select="'&#10;'"/>
+  </xsl:for-each>
+</xsl:template>
+</xsl:stylesheet>

EXAMPLE

Print all links of xhtml document

xml sel --net --html -T -t -m "//*[local-name()='a']" \
+   -o 'NAME: ' -v "translate(. , '&#10;', ' ')" -n \
+   -o 'LINK: ' -v @href -n -n \
+   http://xmlstar.sourceforge.net/

Sample output

NAME: XmlStarlet SourceForge Site
+LINK: http://sourceforge.net/projects/xmlstar/
+
+NAME: XmlStarlet CVS Source
+LINK: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/xmlstar/
+
+NAME: XmlStarlet on Freshmeat.Net
+LINK: http://freshmeat.net/projects/xmlstarlet/
+
+NAME: XMLStarlet Sourceforge forums
+LINK: http://sourceforge.net/forum/?group_id=66612
+
+NAME: XMLStarlet mailing list
+LINK: http://lists.sourceforge.net/lists/listinfo/xmlstar-devel
+

2. Transforming XML documents

Here is synopsis for 'xml tr' command:

XMLStarlet Toolkit: Transform XML document(s) using XSLT
+Usage: xml tr [<options>] <xsl-file> {-p|-s <name>=<value>} [ <xml-file-or-uri> ... ]
+where
+   <xsl-file>      - main XSLT stylesheet for transformation
+   <xml-file>      - input XML document file name (stdin is used if missing)
+   <name>=<value>  - name and value of the parameter passed to XSLT processor
+   -p              - parameter is XPATH expression ("'string'" to quote string)
+   -s              - parameter is a string literal
+<options> are:
+   --omit-decl     - omit xml declaration <?xml version="1.0"?>
+   --show-ext      - show list of extensions
+   --val           - allow validate against DTDs or schemas
+   --net           - allow fetch DTDs or entities over network
+   --xinclude      - do XInclude processing on document input
+   --maxdepth val  - increase the maximum depth
+   --html          - input document(s) is(are) in HTML format
+   --catalogs      - use SGML catalogs from $SGML_CATALOG_FILES
+                     otherwise XML catalogs starting from
+                     file:///etc/xml/catalog are activated by default
+
+XMLStarlet is a command line toolkit to query/edit/check/transform
+XML documents (for more information see http://xmlstar.sourceforge.net/)
+
+Current implementation uses libxslt from GNOME codebase as XSLT processor
+(see http://xmlsoft.org/ for more details)
+

EXAMPLE:

# Transform passing parameters to XSLT stylesheet
+xml tr xsl/param1.xsl -p Count='count(/xml/table/rec)' -s Text="Count=" xml/table.xml
+

Input xsl/params1.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:output method="text"/>
+<xsl:param name="Text"/>
+<xsl:param name="Count"/>
+<xsl:template match="/">
+  <xsl:call-template name="t1"/>
+</xsl:template>
+<xsl:template name="t1">
+  <xsl:for-each select="/xml">
+    <xsl:value-of select="$Text"/>
+    <xsl:value-of select="$Count"/>
+    <xsl:value-of select="'&#10;'"/>
+  </xsl:for-each>
+</xsl:template>
+</xsl:stylesheet>

Output

Count=3
+

3. Editing XML documents

Here is the synopsis for 'xml ed' command:

XMLStarlet Toolkit: Edit XML document(s)
+Usage: xml ed <global-options> {<action>} [ <xml-file-or-uri> ... ]
+where
+  <global-options>  - global options for editing
+  <xml-file-or-uri> - input XML document file name/uri (stdin is used if missing)
+
+<global-options> are:
+  -P (or --pf)        - preserve original formatting
+  -S (or --ps)        - preserve non-significant spaces
+  -O (or --omit-decl) - omit XML declaration (<?xml ...?>)
+  -N <name>=<value>   - predefine namespaces (name without 'xmlns:')
+                        ex: xsql=urn:oracle-xsql
+                        Multiple -N options are allowed.
+                        -N options must be last global options.
+  --help or -h        - display help
+
+where <action>
+   -d or --delete <xpath>
+   -i or --insert <xpath> -t (--type) elem|text|attr -n <name> -v (--value) <value>
+   -a or --append <xpath> -t (--type) elem|text|attr -n <name> -v (--value) <value>
+   -s or --subnode <xpath> -t (--type) elem|text|attr -n <name> -v (--value) <value>
+   -m or --move <xpath1> <xpath2>
+   -r or --rename <xpath1> -v <new-name>
+   -u or --update <xpath> -v (--value) <value>
+                          -x (--expr) <xpath> (-x is not implemented yet)
+
+XMLStarlet is a command line toolkit to query/edit/check/transform
+XML documents (for more information see http://xmlstar.sourceforge.net/)
+

EXAMPLE:

# Delete elements matching XPath expression
+xml ed -d "/xml/table/rec[@id='2']" xml/table.xml
+

Input

<xml>
+  <table>
+    <rec id="1">
+      <numField>123</numField>
+      <stringField>String Value</stringField>
+    </rec>
+    <rec id="2">
+      <numField>346</numField>
+      <stringField>Text Value</stringField>
+    </rec>
+    <rec id="3">
+      <numField>-23</numField>
+      <stringField>stringValue</stringField>
+    </rec>
+  </table>
+</xml>
+

Output

<xml>
+  <table>
+    <rec id="1">
+      <numField>123</numField>
+      <stringField>String Value</stringField>
+    </rec>
+    <rec id="3">
+      <numField>-23</numField>
+      <stringField>stringValue</stringField>
+    </rec>
+  </table>
+</xml>
+

EXAMPLE

# Move element node
+echo '<x id="1"><a/><b/></x>' | xml ed -m "//b" "//a"
+

Output

<x id="1">
+  <a>
+    <b/>
+  </a>
+</x>
+

EXAMPLE

# Rename attributes
+xml ed -r "//*/@id" -v ID xml/tab-obj.xml
+

Output:

<xml>
+  <table>
+    <rec ID="1">
+      <numField>123</numField>
+      <stringField>String Value</stringField>
+      <object name="Obj1">
+        <property name="size">10</property>
+        <property name="type">Data</property>
+      </object>
+    </rec>
+    <rec ID="2">
+      <numField>346</numField>
+      <stringField>Text Value</stringField>
+    </rec>
+    <rec ID="3">
+      <numField>-23</numField>
+      <stringField>stringValue</stringField>
+    </rec>
+  </table>
+</xml>
+

EXAMPLE

# Rename elements
+xml ed -r "/xml/table/rec" -v record xml/tab-obj.xml
+

Output:

<xml>
+  <table>
+    <record id="1">
+      <numField>123</numField>
+      <stringField>String Value</stringField>
+      <object name="Obj1">
+        <property name="size">10</property>
+        <property name="type">Data</property>
+      </object>
+    </record>
+    <record id="2">
+      <numField>346</numField>
+      <stringField>Text Value</stringField>
+    </record>
+    <record id="3">
+      <numField>-23</numField>
+      <stringField>stringValue</stringField>
+    </record>
+  </table>
+</xml>
+

EXAMPLE

# Update value of an attribute
+xml ed -u "/xml/table/rec[@id=3]/@id" -v 5 xml/tab-obj.xml
+

Output:

<xml>
+  <table>
+    <rec id="1">
+      <numField>123</numField>
+      <stringField>String Value</stringField>
+      <object name="Obj1">
+        <property name="size">10</property>
+        <property name="type">Data</property>
+      </object>
+    </rec>
+    <rec id="2">
+      <numField>346</numField>
+      <stringField>Text Value</stringField>
+    </rec>
+    <rec id="5">
+      <numField>-23</numField>
+      <stringField>stringValue</stringField>
+    </rec>
+  </table>
+</xml>
+

EXAMPLE

# Update value of an element
+xml ed -u "/xml/table/rec[@id=1]/numField" -v 0 xml/tab-obj.xml
+

Output:

<xml>
+  <table>
+    <rec id="1">
+      <numField>0</numField>
+      <stringField>String Value</stringField>
+      <object name="Obj1">
+        <property name="size">10</property>
+        <property name="type">Data</property>
+      </object>
+    </rec>
+    <rec id="2">
+      <numField>346</numField>
+      <stringField>Text Value</stringField>
+    </rec>
+    <rec id="3">
+      <numField>-23</numField>
+      <stringField>stringValue</stringField>
+    </rec>
+  </table>
+</xml>
+

4. Validating XML documents

Here is synopsis for 'xml val' command:

XMLStarlet Toolkit: Validate XML document(s)
+Usage: xml val <options> [ <xml-file-or-uri> ... ]
+where <options>
+   -w or --well-formed        - validate well-formedness only (default)
+   -d or --dtd <dtd-file>     - validate against DTD
+   -s or --xsd <xsd-file>     - validate against XSD schema
+   -r or --relaxng <rng-file> - validate against Relax-NG schema
+   -e or --err                - print verbose error messages on stderr
+   -b or --list-bad           - list only files which do not validate
+   -g or --list-good          - list only files which validate
+   -q or --quiet              - do not list files (return result code only)
+
+NOTE: XML Schemas are not fully supported yet due to its incomplete
+      support in libxml (see http://xmlsoft.org)
+
+XMLStarlet is a command line toolkit to query/edit/check/transform
+XML documents (for more information see http://xmlstar.sourceforge.net/)
+

EXAMPLE

# Validate XML document against DTD
+xml val --dtd dtd/table.dtd xml/tab-obj.xml >/dev/null 2>&1; echo $?
+

Output:

1
+

EXAMPLE

# Validate against XSD schema
+xml val -b -s xsd/table.xsd xml/table.xml xml/tab-obj.xml 2>/dev/null; echo $?
+

Output:

xml/tab-obj.xml
+1
+

5. Formatting XML documents

Here is synopsis for 'xml fo' command:

XMLStarlet Toolkit: Format XML document
+Usage: xml fo [<options>] <xml-file>
+where <options> are
+   -n or --noindent            - do not indent
+   -t or --indent-tab          - indent output with tabulation
+   -s or --indent-spaces <num> - indent output with <num> spaces
+   -o or --omit-decl           - omit xml declaration <?xml version="1.0"?>
+   -R or --recover             - try to recover what is parsable
+   -D or --dropdtd             - remove the DOCTYPE of the input docs
+   -C or --nocdata             - replace cdata section with text nodes
+   -N or --nsclean             - remove redundant namespace declarations
+   -e or --encode <encoding>   - output in the given encoding (utf-8, unicode...)
+   -H or --html                - input is HTML
+   -h or --help                - print help
+
+XMLStarlet is a command line toolkit to query/edit/check/transform
+XML documents (for more information see http://xmlstar.sourceforge.net/)
+

EXAMPLE

# Format XML document disabling indent
+cat xml/tab-obj.xml | xml fo --noindent 
+

Output:

<xml>
+<table>
+<rec id="1">
+<numField>123</numField>
+<stringField>String Value</stringField>
+<object name="Obj1">
+<property name="size">10</property>
+<property name="type">Data</property>
+</object>
+</rec>
+<rec id="2">
+<numField>346</numField>
+<stringField>Text Value</stringField>
+</rec>
+<rec id="3">
+<numField>-23</numField>
+<stringField>stringValue</stringField>
+</rec>
+</table>
+</xml>
+

EXAMPLE

# Recover malformed XML document
+xml fo -R xml/malformed.xml 2>/dev/null
+

Input:

<test_output>
+   <test_name>foo</testname>
+   <subtest>...</subtest>
+</test_output>
+

Output:

<test_output>
+  <test_name>foo</test_name>
+  <subtest>...</subtest>
+</test_output>
+

6. Canonicalization of XML documents

Here is synopsis for 'xml c14n' command:

XMLStarlet Toolkit: XML canonicalization
+Usage: xml c14n <mode> <xml-file> [<xpath-file>] [<inclusive-ns-list>]
+where
+  <xml-file>   - input XML document file name (stdin is used if '-')
+  <xpath-file> - XML file containing XPath expression for
+                 c14n XML canonicalization
+    Example:
+    <?xml version="1.0"?>
+    <XPath xmlns:n0="http://a.example.com" xmlns:n1="http://b.example">
+    (//. | //@* | //namespace::*)[ancestor-or-self::n1:elem1]
+    </XPath>
+
+  <inclusive-ns-list> - the list of inclusive namespace prefixes
+                        (only for exclusive canonicalization)
+    Example: 'n1 n2'
+
+  <mode> is one of following:
+  --with-comments         XML file canonicalization w comments (default)
+  --without-comments      XML file canonicalization w/o comments
+  --exc-with-comments     Exclusive XML file canonicalization w comments
+  --exc-without-comments  Exclusive XML file canonicalization w/o comments
+
+XMLStarlet is a command line toolkit to query/edit/check/transform
+XML documents (for more information see http://xmlstar.sourceforge.net/)
+

EXAMPLE

# XML canonicalization
+xml c14n --with-comments ../examples/xml/structure.xml ; echo $?
+

Input ../examples/xml/structure.xml

<a1>
+  <a11>
+    <a111>
+      <a1111/>
+    </a111>
+    <a112>
+      <a1121/>
+    </a112>
+  </a11>
+  <a12/>
+  <a13>
+    <a131/>
+  </a13>
+</a1>

Output

<a1>
+  <a11>
+    <a111>
+      <a1111></a1111>
+    </a111>
+    <a112>
+      <a1121></a1121>
+    </a112>
+  </a11>
+  <a12></a12>
+  <a13>
+    <a131></a131>
+  </a13>
+</a1>
+0
+

EXAMPLE

# XML exclusive canonicalization
+xml c14n --exc-with-comments ../examples/xml/c14n.xml ../examples/xml/c14n.xpath
+

Input

../examples/xml/c14n.xml
+
+<n0:pdu xmlns:n0='http://a.example.com'>
+<n1:elem1 xmlns:n1='http://b.example'>
+content
+</n1:elem1>
+</n0:pdu>
+
+../examples/xml/c14n.xpath
+
+<XPath xmlns:n0="http://a.example.com" xmlns:n1="http://b.example">
+(//. | //@* | //namespace::*)[ancestor-or-self::n1:elem1]
+</XPath>
+
+

Output

<n1:elem1 xmlns:n1="http://b.example">
+content
+</n1:elem1>
+

7. XML and PYX format

Here is synopsis for 'xml pyx' command:

XMLStarlet Toolkit: Convert XML into PYX format (based on ESIS - ISO 8879)
+Usage: xml pyx {<xml-file>}
+where
+   <xml-file> - input XML document file name (stdin is used if missing)
+
+The PYX format is a line-oriented representation of
+XML documents that is derived from the SGML ESIS format.
+(see ESIS - ISO 8879 Element Structure Information Set spec,
+ISO/IEC JTC1/SC18/WG8 N931 (ESIS))
+
+A non-validating, ESIS generating tool originally developed for
+pyxie project (see http://pyxie.sourceforge.net/)
+ESIS Generation by Sean Mc Grath http://www.digitome.com/sean.html
+
+XMLStarlet is a command line toolkit to query/edit/check/transform
+XML documents (for more information see http://xmlstar.sourceforge.net/)
+

EXAMPLE

xml pyx input.xml
+

Input (input.xml)

<books>
+<book type='hardback'>
+<title>Atlas Shrugged</title>
+<author>Ayn Rand</author>
+<isbn id='1'>0525934189</isbn>
+</book>
+</books>

Output

(books
+-\n
+(book
+Atype hardback
+-\n
+(title
+-Atlas Shrugged
+)title
+-\n
+(author
+-Ayn Rand
+)author
+-\n
+(isbn
+Aid 1
+-0525934189
+)isbn
+-\n
+)book
+-\n
+)books

PYX is a line oriented format for XML files which can be helpful + (and very efficient) when used in combination with regular line oriented + UNIX command such as sed, grep, awk.

'depyx' option is used for conversion back from PYX into + XML.

EXAMPLE (Delete all attributes). This should work really fast for + very large XML documents.

xml pyx input.xml | grep -v  "^A" | xml depyx

Output

<books>
+<book>
+<title>Atlas Shrugged</title>
+<author>Ayn Rand</author>
+<isbn>0525934189</isbn>
+</book>
+</books>

Here is an article which describes how PYX format can be used to + grep XML. http://www-106.ibm.com/developerworks/xml/library/x-matters17.html

8. Escape/Unescape special XML characters

Here is synopsis for 'xml esc' command:

xml esc --help
+XMLStarlet Toolkit: Escape special XML characters
+Usage: xml esc [<options>] [<string>]
+where <options> are
+   --help      - print usage
+   (TODO: more to be added in future)
+if <string> is missing stdin is used instead.
+
+XMLStarlet is a command line toolkit to query/edit/check/transform
+XML documents (for more information see http://xmlstar.sourceforge.net/)
+

EXAMPLE

# Escape special XML characters
+cat xml/structure.xml | xml esc
+

Input

<a1>
+  <a11>
+    <a111>
+      <a1111/>
+    </a111>
+    <a112>
+      <a1121/>
+    </a112>
+  </a11>
+  <a12/>
+  <a13>
+    <a131/>
+  </a13>
+</a1>

Output

&lt;a1&gt;
+  &lt;a11&gt;
+    &lt;a111&gt;
+      &lt;a1111/&gt;
+    &lt;/a111&gt;
+    &lt;a112&gt;
+      &lt;a1121/&gt;
+    &lt;/a112&gt;
+  &lt;/a11&gt;
+  &lt;a12/&gt;
+  &lt;a13&gt;
+    &lt;a131/&gt;
+  &lt;/a13&gt;
+&lt;/a1&gt;
+

9. List directory as XML

Here is synopsis for 'xml ls' command:

XMLStarlet Toolkit: List directory as XML
+Usage: xml ls
+Lists current directory in XML format.
+
+XMLStarlet is a command line toolkit to query/edit/check/transform
+XML documents (for more information see http://xmlstar.sourceforge.net/)
+

EXAMPLE

xml ls
+

Output

<xml>
+<d p="rwxrwxrwx" a="20050107T050740Z" m="20050107T050740Z" s="0"  n="old-resume"/>
+<f p="rw-rw-rw-" a="20050107T045941Z" m="20050107T045941Z" s="12" n="resume.2old"/>
+<f p="rw-rw-rw-" a="20050107T045924Z" m="20050107T045924Z" s="81" n="resume.xml"/>
+</xml>
+

Chapter 5. Common problems

1. Namespaces and default namespace

One of the commonly asked questions about XmlStarlet 'select' or + 'edit' options is: "Why nothing matched for my XPath expression which + seems right to me?". Common cause of these problems is not properly + defining a namespace for XPath. This chapter will show several examples + to illustrate these issues you might encounter.

For example the following XHTML document has a default namespace + declaration

<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Query Page</title>
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<meta http-equiv="Content-Script-Type" content="text/javascript" />
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<meta name="robots" content="noindex,nofollow" />
+</head>
+<body>
+...
+</body>
+</html>
+

And the following (initially looking correct) query to print all + links

xml sel -t -m "//a" -c . -n 

would return nothing. The issue with this query is that it is not + addressing element <a> in the right namespace. XPath requires all + namespaces used in XPath expression be defined. So for declared + namespace <html xmlns="http://www.w3.org/1999/xhtml"> in input + XML, you have to do same for XPath (or XSLT). There is another important + detail: namespace equivalency is determined not by namespace prefix, but + by URI. See query below, which would return expected result

xml sel -N x="http://www.w3.org/1999/xhtml" -t -m "//x:a" -c . -n

Example of deleting namespace declarations.

Delete namespace declarations and all elements from non default + namespace from the following XML document:

Input (file ns2.xml)

<doc xmlns="http://www.a.com/xyz" xmlns:ns="http://www.c.com/xyz">
+  <A>test</A>
+  <B>
+    <ns:C>xyz</ns:C>
+  </B>
+</doc>
+

Command:

xml ed -N N="http://www.c.com/xyz" -d '//N:*' ns2.xml | \
+  sed -e 's/ xmlns.*=".*"//g'

Output

<doc>
+  <A>test</A>
+  <B/>
+</doc>
+

2. Special characters

Sometimes issues appear with handling of special characters, where + 'special' means in XML sence as well as in 'shell' terms. Examples below + should clear at least some of the confusions.

You should not forget about the fact that your command lines are + executed by shell and shell does substitutions of its special characters + too. So for example, one may ask:

"Why does the following query return nothing?" +

echo '<X name="foo">EEE</X>' | xml sel -t -m /X[@name='foo'] -v .

The answer lies in the way shell substitues 'foo', which simply + becomes foo before the command is run. So the correct way to write that + would be

echo '<X name="foo">EEE</X>' | xml sel -t -m "/X[@name='foo']" -v .

Another example involves XML special characters. Question: How to + search for &apos; in text nodes?

The following should help

xml sel -t -m "//line[contains(text(),&quot;'&quot;)]" -c .
+

3. Sorting

Let's take a look at XSLT produced by the following 'xml sel' + command:

# Query XML document and produce sorted text table
+xml sel -T -t -m /xml/table/rec -s D:N:- "@id" \
+   -v "concat(@id,'|',numField,'|',stringField)" -n xml/table.xml
+
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:output omit-xml-declaration="yes" indent="no" method="text"/>
+<xsl:param name="inputFile">-</xsl:param>
+<xsl:template match="/">
+  <xsl:call-template name="t1"/>
+</xsl:template>
+<xsl:template name="t1">
+  <xsl:for-each select="/xml/table/rec">
+    <xsl:sort order="descending" data-type="number" 
+      case-order="upper-first" select="@id"/>
+    <xsl:value-of select="concat(@id,'|',numField,'|',stringField)"/>
+    <xsl:value-of select="'&#10;'"/>
+  </xsl:for-each>
+</xsl:template>
+</xsl:stylesheet>
+

-s option of 'xml sel' command controls 'order', 'data-type', and + 'case-order' attributes of <xsl:sort/> element .

4. Validation

Many questions are asked about XSD (XML schema) validation. Well, + XmlStarlet relies on libxml2 which has incomplete support for XML + schemas. Untill it is done in libxml2 it will not be in + XmlStarlet.

diff --git a/doc/xmlstarlet-ug.pdf b/doc/xmlstarlet-ug.pdf new file mode 100644 index 0000000..228e406 Binary files /dev/null and b/doc/xmlstarlet-ug.pdf differ diff --git a/doc/xmlstarlet-ug.ps b/doc/xmlstarlet-ug.ps new file mode 100644 index 0000000..174f196 --- /dev/null +++ b/doc/xmlstarlet-ug.ps @@ -0,0 +1,5030 @@ +%!PS-Adobe-3.0 +%%BoundingBox: 0 0 612 792 +%%Creator: GPL Ghostscript 905 (ps2write) +%%LanguageLevel: 2 +%%CreationDate: D:20120826125706-04'00' +%%Pages: 31 +%%EndComments +%%BeginProlog +currentfile /ASCII85Decode filter /LZWDecode filter cvx exec +J.'GP1)YJ2:a-L/6rF=&5]f",9VMV4PfsINPg$$lJV;<[.@O%03.smQ('PQ#V^%=ggiP:i9P6m1 +&e,,#6QsIUEP1^W4j%>VfmLeP21i['0XteJ5'-rMBI73qYi]MqRS:_)[:!GtMG0%^!tgdCBfAL( +FIC*'*+_5Lbn>92]]a#cSAZ&>A@c2Y\jd2S!P$:g'tTf,7oM*o%:D37/I$S.]\mgscphMRIG413 +(Z=Q;")5F8)`Qr"=NfCOoQ)ibUD`CCLE1_#S2=*J!5rCj3Lri1"+f$rI5+n6R8\*imVK6JF'6bb +K6LhRl->%^S_n48hjF.$II@,f_rC4^-LP1_'P3RLc;\MOTYp+S)1DfDO=9f_O"?+02SP(nbd7C: +,PLpub<")6Npp03rriEO8hG\t/)iPl&$ta\\RQ9Wgl-k@=tkndE8\D75lag+XU?*o2[gpEb1/4_ +BZAX`K9TgZ#@RV(1FmBR-6\B/B\N?BO_@Vr7L="T\V8$O%^;5Vik% +X'glQ&*a1@^:p3EN%"o$GpU)'[TYQ@QTSU +nut?#Tir:g;o0>'j".6sSKF-Xc[#\]9nh?)( +b\N%g59D&*:Me&:ml/dmpA&6p`Qi7t=\`/p7D08%F*.t]<`1C`Sqqum6* +.&89uifotYZKZeY4C2)8?UnK4`+=N/GJKdp#f8![+pfH4NXuJ*Ga]t831^&l@9=Q2N(T7;fdk5j +-51q_)&sA#L#[RM0o^>`HCq,iX=brZJd@)WLJoepSnHaW;jHZ0*oX:*$]*2UAuY"YS;#osg,n13 +/AH&NLq_jibAl$W_pN5YY,J2/V";SV>dCW*9R7@6!'j@)`#%q8b!)^^R;Np&NjT&!QOJq%fVlK$ +>Y[%\ULON#p>)Z^_lsM"*47!.#jO;XJsc"'/m#dH47DEKK6,B<_P4$T#b0YioA.c"+l-[6"i"Y"d)V#!jkZ&HlISi%<+8dHKt[-0g5WjWgVK")kHS)!C5'G5XOrXN]WY+ +"[VMqL\aUDH#3rY80J.;/eK-tbB^9R3^"=C;W:eY$)'Tq709G&So`6f"C`Z5_O)!Glqr%jL+:1s +?53O77Z!6g1r]7A'dBk[%H5\sL/L'&bLBjD;;O#>J;gEOpgoOAW[Z"c?4bGH05;1Zl#_CJoZd#'Q8QM]E7bf*.nNBQAs:4#8$S>60V:%meQ>e +d\=DdQmcW@)+4]Y:9jt($3emP(Bmai7?3;6Ls2Fb&X#'sADtrpEU#^m8Go?E!&'H)C-Vh&jC`"S +09T8.G6]=DfmuCAS<tO!,')\:F.:X_O:i\YdFMbGLJB^K +^KK/6kCetje-PbDH(YKm,kIS'j:G.q&l4Vi+JL[kO3WV:S"4VZ;oNWa!qh4Bb'NeE-]OTH14j2] +.[tbKp$=%$NA4\NgHDea,_n(R*#kUc%rJ6Z";"I5%3)?QTV*l:pgDUM6as'b<&(A6A/X>&Hp99W +]?l.4/lb:m2tFaH2(Ifpj_2BMcn31_*co>6QiYfq'J>KO=_;4G2 +)=A]GL%ZSPJ?"B8.JZ40<[aZ.i6IVj&QJrLW"<.JfL*`:'.W:&"CS-5@LJb@^u<$2W2X!0_nGSP +Qd*@_BQ,#+jr^u?pCRV;MB.>g**fK=mA1/W\gi<$;mib&"=14r!YLAABQ+mm:hgETXh9&n@&9fR +.YeDj6ndWFb(T9&)OHP-$:l3/#EYAk6blB1Fk,H'%*b&X^0/WjT.ZVbM3STp[)C-=j37PsW&n69MbWKZd'0 +diFq$*dK=[]Hi6n5T37n<%\4#0:=]]H71giNJ)YaM12g4be!*_g)N!> +C"O?cphCO5WHBcSe@:IT=(uV]p9(.E'9nSK`b6%gHnn'D*i`u=A#sgEd1715RdJk=\2S<<%@Y@# +CJBGg\#/BF=mbttKTMK%OAib(-kJKr_jiZ#GbM'd,;3.*_f\81bMeIE115tYNtF*p)RRtK,iTcM +H%FWo^CB/US=FQL'i@Q$p`E&06A#3Kh;PR_Kef1-Lmu3BLX";dU,j;C-uL\C3/3$!?2Mrl-E$0c2$=!MKFuN?`!er90XF)0F(N9E?D[)eR8Bmp +_O#6qUqTafo>SQQC"^='Pfe\U"0h\E'^QZ$:NHRrb=\^;j`+6Yn:Dd2_k'4'\BhALmhl(VVi]%k +fJZ,,-f6R@aOlt6h.5_%r&Ycrg=hK?m?OThF]=+Tdt`NCJ;/KK_)"7p/%WKTfs>gm@RVA#`p5ar +2;`@I%HLUMQVai4K."kOIoG$G+)-@U[O3i+LM*6N%Xc#&AI6L=]`T7;JURn,%&)=A#$n;aC6C?N +T`9P^%%sC%i.SrK9[YTfs.G)QTX"lC'RR\no5DpmaDu_0@LM+)#(XEJ."$^+^B81LQ*<<)W(`!R +;E.#nlN##cU0`I&MZ0b6g7gLQJnD@9E6CrS%SXOZ%)f@8$mm+`2IbC^`S:XdG0[2C1i-d>.Y81M +Sn@04,@[IJY:9s^EjuB/37)h5bZ#ddq[%4g#OM[#5gp"#N6/6.6]dPYY^"EOm]>opQ8"sV@Y2U7 +R_aq&[Dq&ZY`B6mrsY"N#Kk>007sb=`srZJck(`SDUptkBYt2'&!&cfkCF"WG_m"N4qPN:nAGG0 +Ns>+3Zc;o^!eQ2c$P0/C&.#M#@#ekBOB:Eg$mI).,R3^OO@@*67O)fTl%!qh(riH4jU56PW_@4O +5Qq.dDs?'f&U9(h%L!2A.]7II!6goT5Y8aW)GF0h8i3FmhMA'jR*,gqll<=N7h\6H2Y#69;9Eq; +TaT6*.O[j@Nl2EI3[LH?-o"1$OEN$,N5=TYD=FiOWh-OND%8,`4p4-WdJjGf8Im4SPmh7.&gRW8 +-qkiU%DY^i@hBYHb*`SN5=-h[?r.%M;?bK+*!>t'Ol16!q%Vt*,)*u[aB^#&Td*GfYe]EHdQj9( +RRA>N;!M71b$kMSAL2A#UG?/NCHWeSHR?Vm-O%I:9]dmHGpb@q-j&WY;Mn5%RR@dO#'-*'nsi"/ +@^:C6iXu\c9-6icp%>2#7;/E3Xe.(Nl?.0K4+S#u7 +`:L;>NUluW?s3h33]V7'0XD5t@)FcV2_q5\8&O:B5hRrP+sR)p<+*q#-d][^0/<%p0-FF)./5h' +a"jt`,BFD"XK4Gf?mLq:On0GI^u[Ncjpa,%1:(aLo//B]E%7Sn2hJRro0YP]aZ))D,h!hlV;"!d +[6'SA0h]rD!/=V6g^#AJb@'Kmn-W.QpD(tn('\hC,nW:]g6#=liJ3A*8i](s>Wr_V.kqtS_Oe*W +FKV@R`bAXC_gj^5K"p?eDDGnEb\VVWE@NS=Db?ISX$""pUi-mC"lNVkmUW8jIgY96$S6=t@,T&3 +"GpNDM6UMs!/NjsY^Zd^Iq`G1A[`7F0Ha>:DNhOJ&MkIZFY36OHm&9kX!g/)@g2qsJ0h9l@g>;: +#g/3\8sHF#,NO<<1:I?I/mudR[&G\g)%'r1,&;/Fb?B8S4%^r@Tq[5<_Sg[U@1@;D7];hi.BOjI +>fgR@?rVIh`u\H'$Reo1?IYT><:*.rlsCFq54dD9PMJI"^cdn^a)^/lW%pgn[`Do`!2]-^<;f;E +:_.)AEG!]K.>A?Y_bg"G[M8(%+T#*30,%g[$:XAZ.E'5HX:5NJr="H'Oe4-O=RQC`%5.?TVYqa& +Ij=%U-'DOc;21ir[k3-W1U6s%A3a:P(hEhH!C44dBK6V/pJc/Qj9G3[2*W06j]#lgQ>(*jl_c4S +hb-WZ?W8SqX>*H7^c.1_L-e(le4S\@j2AX-;)G8R'2teT8jKM&Z +HXY-6$O=9e$DU'#?V.O9LuR^J5b*mEn9kK.&#\=m8P0>EnER9!=Hq]26H*:YoPI.U\ZkL9+NAl8 +!m1.nDO,N(Y*?$]+>^HdCN:jECj0YPG?uV*b4SNli2&o-ChG0/;s]iOK#^D^@od-T8)Q[MFd#m! +o,/:Q1l7mC$G$\sP0pH#4r'PilGkE_W!4!=/M^a=2*GNf0QrC7%9C3"<@.kc(s:oE#GnkH2Lm,t +KU:30"kP(15eg"dHYSYA$-!is;.!dX9'kN>tJ's6koH52^6]qj[YWkD+1lh[Vu],F_TH:mqQl![UEcbpZoa*2na`W&BI^JEL6J/S`n0CfLC@'f.Pq +W./s?<'i0BYR7.LEu8_+*)``TOLB$TGdVND8f2,@Jh`3/:'`*BYA@:$d6if2]JHRgMaJD*euiGk +gDG14Z4SmPo%\UHoM<"F7QBl^-)B!8:0UBWC_ub8@#!fRJ&<&fPS7g2K^G_?ZG:Djl=a^pjj)dAO#DZ*E,F\itie +SRIcMKfWq4K9'8,$Y1W"$_gP="TXrW1RXZ,dY6cZH)$g=-M3?Ok#r:<7Id'3nY(89I08/s#8qr" +@[YoA> +O9iYSSPJC=gHu%-H3oH#Pdt)-,:Wt,L'YmB#[igU!0#,@@+$0P$A&Gj]6==[AhXfE!tha^!.q6V +Bs4;j5$Hj1>EWlVft!,:6+ZT;9*g7Ad\%N/FG5Kl`T9K:C2VW^PG"hW@-P7ks%$mQFLX!:2X;s< +r=f=ks&l!>T]AlF]Vle,Bf3D)H&eQ&Li8LrL"%/tebH@*-,+/CW`ZI;j5ms7V6A50]p>^])remA +4+la@^7,Y@47U'igUm@[NTu-9AG[Km:b*-96ao&dHaR:p"+;"?D>ZDSFu6V>B5m%/'3([C<11;\ +SPi"cMhIIH]&fd"l(PW;=*W=KV9tVh^8nl2\pPm9\bE]0'-@3]GiD]W>a:M;adoqD>du]7=[o^l +AX0A%Sf)%(Gb(.q:R:-5b#MHb_i:?moaNp6G.@U=2W:#?$Z3G1;n5S)06668`70gqW'(UomrmK' +9X.^!aumd2J=`eenifD41iIuF\W*]%_KL^ZT/i1jNjse:(rGiV)A(;Blm_ha7,Pi&j.t$m-O2!?SmNP15b;rS?.nM@@/2hCIn\%k#QT +pBn?j[#Kp:Oh8Uim@tsA1VE8%)18>:cc7RYkEKQ$]trnMo?"A0I_"pk5+%_gL]u*6_oB%:iu1n'^[nI3%,:^k3I>SfD`V\8VdH3=5WWFj8ATX^CjgIk(RK'-AB!4W1T +>B6^(;?[aTe5EJ)u4N?oAK/0"Zi7iWU2n#6_M:L6@)/& +MfrVj"[)c,#D%.;hJP@dN@)Ol;"AQ\L^`EETY+TB3?4%A+T[hsAMJdtVSd\li!P%O:6Dm!N6i\, +*DVb"&Z"2m&/bnRBebogF#k;"VA!VkpG/13V\>bLidj.b`@Nb_YT6e +W`:C1.J>6R8qT)`$d%NU<-[YD1R_ss,KrJ"+FZ_D\N+V[_(dKbd)iV.&BnYP_'G4ng +;jkkXG))Io-US/k$QG]T9P1O6KKsW96h&es2Rd!8RN3Tm$3l=MBnD7s0hAZ\2&qZJ0N`t/??gQJ +6=Jmd5a4l0-]tnb1T?6D$6i!"o77-/fsj$DN5ic7bgGK,iZVGl+f*,"e*:Vq=hNlkCcRL8@ltr! +M2:j\%\nW53$a%T@bW6.i`)3p+s>_i%IJ1L1STs&!Od'N7`mMRe0asg<^>p_/G_df)@ecQ:#bhT\a289UN]@LmJC+-" +D;`PQM'HufhSeDh69,K"_YB@UBTjd8c4YFs-B,-q_BBB[MB\;'j*8G17:D]-S5(Vcc4Ei&4' +ZM<38NK">'7"qjc0ba`mS$to(T`mP:6:l#\0i\3Per)_1W*U8H!kd5I0(cFt23#LumPds>!61b[ +PVQL,,RPs>jerG=i?K]PZfs8HFfQrr%X$uQ4X'M&_.+ath)bU9oi4M5;s<4D:fLOfcimjc*@!Q%\:l(3@W'o;+l;62o6m_qii9&[ +.bod8fBIC::gZbMK;,E;VrG\N(2E9[[>$JsbS2Mspnp4pW16*qiCB["ng5Df5P5=l+Vo['<*X@s"ft-:9BRCn; +>:nr_4lbjE1N3kQ>WGgjSjP>/6VL6"MJ.W;ga1'm'fp)5Uea+jOMs#9%Xf+[OtU<+;B'ThO2$Mq +#tlD8_;?)Fn,s"tBqtW6+5/E`A%5!9Acr*(CSlI0:(sUT$"tr7&S>H +FN:2m'adpGQo>QJM@b=&!PhYgBe[('_cPXA6+cH;Yhe\'kK$M&CI:CI!DitW:B$+"+B5R)pR(07 +UCq%#Ki&I;5K'Zp[t,UkGpn$Q_?p8FDQP&hsk)E?kd0 +2GI(hKLL[_V(oc?8e,NU#_@XaL=-EhV7Jg#Ep1^ZiaEq+7*6Y$11s;]gj$o`4bH/"*&Mn&:8G3* +"nO')#D,jl$$e7=$(No.eG/Q.`7GE4:ca^6joVHZ8IfQWIo$B>4_JcESdEJq,W(C<;7s\KZP93u +@L,8[k[g0g5%q`gEA^ADr0o73N0&+S7qVta,>?*t\9GtSBG(RroP!G"_Ao)?Zf?sbe/+Fi%8"Ef +(^sit<%XEs[g;9USk(Vo\&0P(5t*/rC6Z/hC08\-3f@X)i&:^X;Aqo9E$80>4qh>p7#h;b,4ghm +^U[Q*i)Fs$A>5(3UInsl)9GO024g-hj"M\3&9FR?3>;t/Q@H.U`)f,_$)3jJW@WMM\T9, +F#0k17[ZjB[pY<^b?h?[J>2YD*=-EX0=.e%fIAgT%>0dgO4q@CdZbJ6EFT9[TeI?&B.92$m[eX&p&M/cCOfFfHZkh>ht,*DmVU8u+j#F&>Gt/X<3%9; +*#&Rl@>-=j/SLD,T]0bG@dug5Q4&S[0"UsXjtS3k<[]u>Z:r:G-$#>+0^o9gd_&%(S;_!-]QnJL+,!b+CFGY!nR_PZ_3C7WI7DR[-&M(;gfI).l7+9`3.<@+/Q*c@_LJertdH +KUIC`VtCCl;j!=Z&PI7b/bM,.[adLZm6+a8J0<@$cIa-@a03Q\16md$-*-s5WSo%Q +,)B5,Tq&/41:rhsOWRjLl+TH(q&[a0(^4M:m?s'q9[,G(Vj4hgIdA\TYnN7fa_#E0REI]%%\53) +4g#ZEjtCooha7rl(r(\9;^lPe*L3qJ26^7/FqL7XX]s(\bdj?dGAPm9@hscA5H6C:^Z8RNm1Y]pM'D(kSr&n3!HJD,X+06+S3e&CcanHgtdp&N$p-t7&a +IR[e_E@d;'D7X0Tb]q;\<52;?M4hM1$GMiW) +qqXKchEIZC);s/"GhJ"uc+Qq4K,>C+i&ae%eVdMfX)(d@cEn4Fr.X/O8_Q +8FR-$nddIr$"/Vl#WN*/RZ?V'.Pdp(],@UC`K'af.nDE\aIt.n0,"@@!uWj.aYT,P21o9d#iI`W +BfhOeZ9'lg*\8U(A1&%84@1IG\gY$S3T:W5-)ZDHPCtLi===8todS@OT&@>8E&s@O31e:e3O",s +Yu?MUJ"$,$Qm6PsY*g_[IlUF>=::eAFC*_caU5F6GKcMEJMp]gL)S +18TM!W/X\,ZR[nl8B$4TQUM2"U%l_2C)b7sdPU[XVK:!H, +O;PK[Z@Qu4)X'$[ps:GY2ZhVM1<:8`5`p\'M`aom5bhO3)LJC(9W-m&`5!V9%%0K"KIsMJ4Kp0R +Y_kuY)hO_C-i2LU$9LC%LT1c=a=N4k(ko(sN$k]d$*9.Xo5)MWOh;s'"+6=>6Z&ae`Q;S>X6b?I +i55jT(C;3>4Btht."a\h)N8aqW4]KiKXJ-#[Y[B0a>fUp0Zes_]VFs8!N6n;KXj`0R`e'pLp5`l +-n0to!f8[CWu/t]/;Yb=Lb&fSLq#.,db6+[#7u"%SLdnr.$hmKN/Dj*PDm_JE%;M]J'A\Q$f':% +]"inp36ePS'j?NQ/DNZrntd97VB?]"GkD.fV9L"*JHXkr!fP>\fRX1h:.%,GI*)d!bK^^s%SYsl +gu$&S1't>PRTe1br9p"Xh@JP+M&;E$m,et?n4sbN""=IC)%qumm\mB,-^Zrt\>$3:/-0E(&lCLs +@)3.AJ=)#bSSIJA(c)Vhq33o%Z&6=mfU)c>)1e%PU:@n$iU;Vjq\'ZL/Zer&Zk]e&e^"[/0#\(B +H4!Lnld*qS!H\d1&2=GeU:%hF`3B2.]YKg/i5Jr`[;5+_K(6&V&5j[&\^:OE;=d'/++lPi)D&0c +fb[MY[Y^F?K+/d&!\[4F.%asG!*(Qa2&di=^-eS<';.?$EA)rYC]^gf["1n$&\EU.V1Z!1M?ILC +$F)`&Od]EO;9?5p!ot&<*!kL\4o+d#1(=q?0[bYBROPHuEDtA-58@"V0^57Z-o+^\14nm,JH\28 +jZ88WCAu_R8Q9u0X:7uU +2.A#>p=9*oO;NsK)*q+K#+kTJ_g:@oUW1HASb;b&Z/p<9h&.qMk#<1,RtkFLG2BK3'ia^*#?f +?o3K][hG,cZ2u`"3W=tXl]#ah%+TF%1u6Y(P1MPp*rR<;#o)']*eU`AS8'Y'[<9O)2^PfLdYpW*qUf6WHX'pa\nF"g.N`4^-m&37&0UE(qR!qjiUPTOUqDL>4(D+1%rs9qdV2cb[ePH^&$bP4&&fV6d$hqaL%?UYTa2=a_FKJ_&^9oNe[Z!C2bl +"nu=ADRFE/^+e]'G4A9+6Fj' +92&ot9SQ>9.&C2\.u;8(OObB`em+0:*#Cd(K/E=7*ZSXJ-jbe5f;\!8IU@_0+Tog@.Q1_t +.@c#KA"#LA$0?7[%V&I%A,umQe:)Aq[.S"TD(Nk)rkZ:gN3gA_(0e3BZQ>B5'qHLkqeiSSk4n0/'K'C"USk +As9@"5p,Ni;N;8@Y)K.Fa(bg-B`=&j5)G+KTE&#fC=Q$nAmL]$?L'MIB6LH2ZU.uY)lk,>Af>Aq +Xn$2)V(<`MB!=D[-1>,JV:O-5FC-(FIfEH/3&8l[OdRg[N[RNFR1='SL\chrs +JJV"ic"G*I7>:r&/QgZ=ONZC!/7(GKp-$_eVn&A8A+Q,'(`;%&$mDH6m@>rY`?<8@BF1o`+#!ji +)CQS;3/P*u@0&p$rumF0Cn3rf_Q\,#tJeH\Ot!m:gZ)I,t%9D*-7.QA4!&3 +X0Q_FFA:NK4sek=i1-`i7\fXnFLM[<+?";;8b;ck&9hS_7mltVP[.^LoM8T=T13ug0(_A!=qpl, +V`UBX1lL7'g)!GXL&gr9-JomBoKGHLQZZ&/o(B[:o#7JK1+]+G5j.Il!C<^NmR*+Bd:!+,n)0%@ +FmL_e1e`Ha@qU!r:O%_P.I3'VCSs6nXs\>-+G.,G'1lQ(SPVT="=GXi*LIcHTI#4)#_8golP5]9V6ArL4a1IS$^;]giF6V@i0NtSY:p=Hep@&&&dfTa*\@KSSF)\ +,2,iS\!Vrh'd6Kf<=/C`<"V\:f4DMhj_^!,^8.\tfYBEesEkUlH;PSD5J@u'E:P0P] +&'#>BaCN)\nrcm7s5c81RIE\OK[\B*7,Y,_35V294HJZ-I)a>j[-RL4\Pb'N^1MF.)o,)ARaNkC&Vb$(./0\FG\ +LTM4\d0rS,(aGin8DH50blGmA.R6o&XfJ.CE?,HBjF!&uM">)dY,f.:]ZH.s1cRT9%10mlt303MZDHiNl*?BMPBQ[BV%a)#^[RPl]B+J +2i5oHe>OMjC:q/nK3ot*mKet9MPGc0o/^^OhE!GDgpJB7%=$>^ZtW)./rig0:_e[96Z1Q+m,Y3. +=4Ct*4@Y2^?J;[e>^eiW6$uS:Nf*Eh19Vp&5"^6PDX_]P(.PYh?b([`Q +gp]=!FX?g!"M%gIGia1_m#C=scQa\P_D'2%!la'?.-"!\!I3NVhbigqN&F[Bkg/G$'DO +[2KNKUt@S,r6Vs6NL%FD +KF;bXf5h3>0na8o)B(X[D_C$/oWi=[bQ1WQ@Fn7&7='qI"!m*Z2%::3,IBWC@orKN:E]b]F+iZ; +cJ.2q`f/l+&i)`k%Wa3HS>ETOGlIH0@8BoNAHrO@13PCe[SkU*N?OG7LGqJ^h%9p7J1-C/pTe@o +Qnel=fRaZFk-pB0*suH+_R/to'a'V]@84lI!sh*)MA +OmAeJhXH]0L60cM[E2LKSR78[!E*W28cq'HhFqKQB,UUYA=!uURg;"#YW9S`rp&D]7!*Cu90i7r +6,6Bb3"Mi6[+Ns!fR\'$^9>@Od_A/W[J_%?uIn3Ft0G`hJsF=o0;2-0W4UqqbNSt +5ca*3KsQAdNtK>;iNP(9[P2V?#^`L_%\fOn#?!$KnVlU>@D-^lK +&j9CMAQ:99S1`@0aC)#28LuJp\#'^?Rq?,JGk6JLQ5VZ8X)N+ca1O=ZnCLU!'jWL.9"NYWcI=7g +S$BBHWRkbRGWd6:Z.VKE_?t0R\Q@*nKb2*@qHhr_Y#bW9U/m_@f;r^Cl+R]T;hI'I +Uu`$01#YM6gjCDNZ'MO&"&":qb%hVq,&9J=fN[eF=]g#MFQ/imH?^/RnV1CNb-*@#9j#:JAOBIl +elq!=C]O]d[T3,`1iV_!V^Q@rM"L2!B*u'u(hKq[*&lN?*#d&@,/f5*'8B1Y)d-HM2%L&ec9c5m +-M-cKVPO[5b5ee"WYg=[clN;->`^#Z4TkcW*ig(#oRKad#Jg3cjKnlM6`'cWCa%]IFL$hY"6+-V +U@Lq9UlH)RA<"X>1l#O\e_;Te03ODGhj*D3El=?cakg^"*5kQAdPpI@dH=cX6Q6*9qf +B<_N@d5$-XBX/]-'DOjBiCoFM+G(V$``/RAE=UM,8VF;/Vo#m?$kYPPC93]W.RsUc#5d$k)E&P; +m3FHoZ_nVCZGd7\+(+AD`NhC$2.smT!Q^e[-)[5JQ-`hGY[\Uj92a$+X_(MJa?7r*^`[I@\0cmb +c(1=^gK1NI^F05uGIB8T:[/(FW'n'm2I53.2h_n[/!4k@L0%I1:oKNparJ;:3t<#8-Srd*DtlK4 +bIf5Z=F`XR;USkr]Mj_j2;:6W9dtF#k]YS/Oh*PHrHsI_8NDqS2V3@0L*OKiGlm?) +&<5:^<^#%U@*C)1mg#ND^JZ#HAQ)9D%\X9L7o'8dZV?e)IUEqOkp\1hF7>7VCs-lCV4amMK+3hM +_:+RrjtCb+;kTYEZC#,m**lq>dGJ[Fl.l5*lL(pK-YE0($s@=""ou4H&Zma+FDd01nuk@UD`W$d +cP\A6a+tJpe*=$,XXtU/2u>7m<'HYJ-_B5I-(eQdrSP:8YEMI'O,r"ja**pBVJUTI?-@SaI5Muo +0)0J:&V^C&*/Yf>$&\/g^cYYKpk[`5k$E&Aqh:P +9ro[3MN,m],3cO_V3\h_hO@.he;]X]NL!^VUgZ[.IHL=696`A9KXd+c2WqT0"LA;M_!`t/1QWZ] +U\o#HBI#&X"HQ1YBX\$sMRr%SD*gAeMomVJ/qZtU64_*j@:DIY=@o?G-T`_^5A_POA$aR4cc%Of`op7Ms8e4la,NCq^f;[KTc"mo"( +;(*W*&`?oV!mhHsU6)CD!CIcfaYK),:^kRdDG8.eC8^tN:F!$ +&^_J+ruFu<+@uq];;WM8=q5Pe+\as?Z-+<\h]b^2+lL@DJDaHsW'?!S>,i'm_g7Y9Y'2,5cTp+n +Cp[qjfR_*dCSngn`_pQ6@[EtS%UbA)@(m+YoU/.)..WWPOgtGpZ6iHT"nGIu1/nHC^(,\3FXYKa +@lT/TXXb$k$g^Rj,b$>-5_9Vq&MfIu"iN4\cR,=H-K&5Zi0M*T:+I`5;J7%JTG9+8p7eD':%ASe +@QcFt>8KsAFN%RLnoQq.OY#QH/.`Lg1>8'mo.Dg-jDi;Wu_1lq$^p$fK;: ++G2H/CG\qt%-sPr!72,:>:kA?#,#R`F*SXeC('3b#k.V-F,3DoPrDEn";/0eniJ!B?R7Kt$fb_J +i86?\A0iM0LZ%Bu,!.iKZT?R>V4^(J'14gd[li-I432q(k,on9j:<`g`*s<%d<#C[kV"]_%H,G= +aoEZ$P!HlV$1n6`8B!TQZ@,Zd4r\%,s/8L11i+C9E"(6=7+?KJ +Pj/9L.7\M3#`#'hbm]fTH;\g@2WA"215-Mt&rND@2$[tue58/IA;nU@Qu(Y]2.9QuVRe%A+DUoR +K/Z7k4]jL]=E9.d!#,Wljs7a[2)Rd=_b^d2kV1Ia:DCB$TOJ+ic7.eQ>-h,sj#^IEapsU#-KD*Q +8An"B(LAi>0*;Um8cg`t\sZ+Z??N_77s-\BhC-qS?D,@CkPc^2FQA_5?`='6ecR8;N]OTmH$0g@ +FI?KYX^U'-LD99k:X=!Kh,,;9eX,8OlE2\Skd3f\io2bn(#[Z4`+6oqAaF>kja&)0L9KI\t%2i+A4 +TO7t%`aU&qFeT%`EgS76FY%^0F2q6<=+P3ZZ$+45>pk\=`/cZTRdh2U,<(H$F&QgmPBmqN25c+* +GFNdmPC"GHH)J,RjQ/-l`,3uBGTc<64s!>Fk<.,q&_N/)Q'S>931:]d6O2JnJMU[l:XC3$e-f[Xj;+*!Xl?3"ADFQA'GsN-A>6,kg>5 +(J(FB@?9%'65\c6.r,^baA,dXI:hY#p,%,=`EcL-R56uLedm[`fn4C?FS:QPJh]8G!H`C2Nu#-G +f`-#<&Wi+b;KrS/2V'3R4d%e4+k@Z$GfU*8EgXB"6FcEBi5m_iR7.ieimAa'&8 +e\@GO90;o)08n[on[U-te!f20J\sN$=@6+]*[=h&<@>`&tG%`1WLL-WOL+TlO0jO'd7:PW&UV._!o^s/_(4.MIE;R1El +;LE8tOXN)CP8Z^F%(i%XZCPl@E5g(H/>[i:+#[k_QV2MGa*%\rR10W6\ +HIclcg.l,.U.6$%+H*Bfa0("8#l5>CQ?40rqZ+C[QZELD2a00h68%R0T +qUr,]bHC^#ZTADof#Oonca(.uW>a6mq_b`'or]6:Z5X+D64]cE.A=W[U(R;K^qSk\@jsce/gjgn +%d\&@KQU#Ap*dLs7&M7%B6qEfF>[_i;c%=VE`J1`((t`4P[u%JCS!Eh[n@=BV&-WP3)^cO\&bPY +dFoktU]%)^*]$3,-":mROeG7JK-#PND$"Yb +@#m_\E\pe5*trb\Q;aVJ#7*#Jln+hq3R\3Np6U(PQ-&-bp\.FN*`mT66r?Pt!E$XgR4 +I.MaZhBoo,[oQ1J)Sp`QZd#mhc0DGgK<*DL^lLIc9@g`&GPdeN?u>2de/++:,i/`=;3S[4X;n5i +e5=_jGZ]h]7rp2,h%aZ,K?'L1a;fkP[L7N8Rl?c"fQW=H`D/p/@FiAXf,D!+cK3RK?oOX>rPqTk +ki0Zurfc,L=5A#QL==gj>Wnemi4>Vcl<6TD?ee$@Oorg"\Wj7EuU>f?i9NS]OG>4lpR\e"9:[j +?D7Q&mPaP=/ilR?LrsM0b/l6j^#2]4+AQ;ZXA&h'cuM4pYU@$,5Y#-"QTj*(3l^UA30r>IT^U*f +0#cc(0[mRlbe0_rSBM+UkQZFap0A1WRplksAds*&XVcM0`JI8%Ml[rg?bM]7I#;3Wh7Yr/HG$,7 +iigZg+[lMe"9R]2,BR_d<[H1HA(a,2#^iaqP9nY>$@#hWfY +h".>3pSAeapV/6!Pe!,_U%/1["e'c)4[#iQCT*AZl\M735S`t,?:S0i`,PCE!d"1N,$_]0+Tm=KXF:]COVScdiHp0;'9[I:3PeprlNWDY[]Ohpt +3Zc+,dg=+H-mY:BB2^OPdUP,%:!fXYK]lhU)GS'NTqKON3LqDWd;Ymf0/B&X7e;^lb'5\/_+2sJ +<;L'q)$CO2W4kJ7(lb;qUP1&4)lQ_p@KF8rZue%R"Cl/XW+=+kdBd?@ufE@ +-X.Uos'lY$"rU8=ig_.5AMV]_((.NVMIH%M0pS!hBYLRb)AYL24'SD8=qBn-:NL'1H7WRa!2]TtI'#1n>(&o61h1<%8S-k;l_[_ZM]_:4TCY +jBq3G*50l%]AS5uUHh((%^2oqK0B>ZN%#.o+GqLOa"U[Ml3fHBZdP_N.,,R;n@00gp7;fI" +NeT";#cO^H&D/q#@p"DN%*Dh.`$g_kFWAMuE6b)q9h]4U`mM^.2D&hcXGXgrm(j]n6%Tk-Ukpj' +PpMVD@[X*nl>W:AM=Q1j.#>[n.C1_7]^S$Z,Kup^.U&;@/WkXhX,Nf`h!;2H)tG\Ao-.NtL6Sc& +2nLIop@g^:TY`ETU*.mBN+8TP4L&j))$`J>PUToI[Io)Z=GiZ03CLaratn`+I/!jL+f`,@TiTgk +Sk`$2=OTP_u5Tei+&u\p>h96`P_f%jQ[X4"4[/au<9L;OG\;6N^gG\q,UTH\ZU8K +>q$tN(C%_FN$fh038LQp#I)uF%tkje3@:DBr*ukoK:I@^=7qg$1Utn6F+0p/]au?Hk\@Z:bm=L% +T2mpo8"D,SR)V3Min.foU1;1nG.1CX'uDJAmUO2bdK^f1nf/u%0#9SSRAX3c?pHHeEARS1`+*m^ +'C,8-'HZT(Wsh1dpccp:]pQ28X/hl3>:gW+\GTX,njs0oi8CBK?Qg.\OY">%O2$g)\G9 +NnAM,Z-feAp*SY.%K3$o$u%PC4m?:F4/`<)+K=r@1!S&5g];ob*56)___<>VZ9V&S%#9IXaK^YT +gg)S4c7J/4&Dg8#;8aW3WUbAcOQ3B)-`u0Z,QN4QTHH\]U&6.6-Gpu/WbX$-f.IjH<)=/u;eLLQ +SiBE^TZYZ7NpZcq#!22*F$3f@24tc[Cs38\6O[d>NAF'ko94G%L[)Qa[+H4L)O*of-tTSKKcLoG +FA7ZiJVfK,M&2oi:F(d2auG//WLR^.Ei#VR\)`'2_iS:paSZT/8-GJ$g&s[dIEE,,)B0A8A4J*Y +r;m3O*"f!)5nZ&m-\SkMSi[TTC=s_"eF*AM&8t+"_:]EQlAXe$oDqj):QXZ,Jg@FIP40qN4\uj` +?4N +4LY@sKd!$90:??]V1c^!S.HZ;/*H%(+3/IgTtD=sTRoVXOsV0H@W*X_&2H@^!^UH%:(6NLE._Of +%Djt5U(S%^95#I>="J'>U#;P9q1;=Q(il"F[2U3%@5T>fqNV?2EQBuq+oqbROD.[W.qf#5#^hr, +Pi3Yge8I2b[+85cQ>%^mI]@,l6`8'2TM:9N*RZ4=HB*4a"Rs?)8`FMA`9!#YP+OP[F=MuY!^9Oq +(6BOBE(&")Xp.sO3S>k:;io93)XnJESJ$0Bl"U)XH00Tam.[*5jT*B4,n$:qJ3`M'1Ou@PXq9'! +:s7c2"?'9eaAHAjNe-ed,a28lCO9LtQ+npWgi.?b@^nq9D*!JRBhFK=@!D?H8&%k5`;lUQpF82gjimKHYk.WK<0#FL11jOc< +Zj+1Ooq^B)RM\C/;@V]S2d_6qI99K9I5+F/T)=M/nk1LTJY+;c8l7$9S7I`'et/Y\X-,5==Xc@I +pLTfWbUteP<2SD*jar.E-P=Z*!s$2>k#@iqA)5D!f(P^kb)c*=SdVZX]KH`Zf%rI1IHF,GlL*!SLc +G7W+A6qJo:BPCY.6"it%Sm1oT.^_0PA'(RQ6`,CeFur$foUE&VlE+bP`&>FSbI08SM@OjqmbWrB +\MlFCN&NnV`i0u8clOX/G?Y$^OBgO4nh`&B@_c(/,XSku?]_Q7Or''%]l[TTZ[n#:i0mq[B\&8t +l!fjS=SG9NIf1Nrs,If\2c'(?W(b__Cn&@Q:667V4rZ"nf^40qOs@EUfD>(+\u!#0(?O%m_JroG +=.`K>n)1jqj&HoMdKiSI[q1&@jk#=g?8@(qcjKALGT-bAA0cnbRM460l+lJ`*d*;UWPL4)"_-I6 +7kh,m8N03L<9tpt:tg1^MZ;Pr`&`PC_FI^R0/!pY2?oi()6Pfb8I?N9Z)OnICF'Td8U??]jP69% +[3e^tHC([_K;TDF6*HZAHmF8]XOCb1Ee0T;&h>0#$"&uF"O##g%ldA_ns7h?LXClQ9&E7s1"l=nQW[.VS*T-Jtmq4.a^I@(nAaFWY$g9nT1?rWMb:MJT:WRO]+=s%Q]t5 +OXN0r"$70"=JD:^/ZE'l/#Ts$"[M%!5l10t!Yr!K:Q>5qK3;miUNa15AO2tE[4+b#P;k@43Oegn$ +MV3Ib)1;gJ."`rb2k#I;KL$$F(lCrY!i%XjOXnjibo`)36$*,_W=Ods!OFMG`8PZ(l$4(u;6C=*`/=8R1!R%5)8^/D +1$!0RUH,YCDR75f`&g(M1c72h=Y`Wo3X^$_+?W*A?q'-P6k!GB$a%5j77:Pn7RUf"aI5D6)1ccn +JS:.$:mQpI&-KF!&MPG^5_OcW0p(la#Z*UEnJ-isnVRmL!uR]-!3Ru[Ko[r(\r)2m*)DokF"^_Z +X/'](kcVE^<_";Q7l5`Yk'5J_l;(_@N6@j)dV +L`(Ym!'60[1EINh/o6gg'%"&^5S<%J+DcACYRgin*\VcfV:u86$B?uR=#M=E&J5Wr*&S$HBY\%# +]6kF'MJ\M!'F9Y`\hNLR)?'^d.j*dL0d6Q2$nS@*8@[qKV^d6",B++e.Em&aJd=@f=HZ@YX-)Je +3/Y;1$`uT"5J<<.'n"D&K[PK4-T"+L\$M+!0G^0'"WV#B,b-k?1&WF13au7',gY*tcfgm_'f-cQ.(`0$ +,Y\EA;O8@I_nJL?1eWTP",JWbq6\raN;LKn"Q%WQW]1Y@-W1FMI5"H^0g`Nr4`(U))qtJ!1t+cj +[6ol`X,Bs1END5+J5Fi^Lki@J4IrlH3nlUpI7M]p/C^1LbhB?CYq.2!51RTt0[^sr_P'n&A)GQe()_/q;7_>+b%sr1@F=IQe;\%()ViOg,YR[Wch06D'fdKP5#20^ +eVT#(OJ[XI08%)cc.K@S,:f"DB"292Jg9\Mj[CkSP(Q:g$4952YQY*^RSIt5#p;B^7'TeVSsMDP +;IM:'"`r$8ZCNReVJ%RaF0Yo3V%-/!!)[ad4C+)l]c1oR^N5a:X*iS_kY8_=!ckkNPP1?^:"aco +:'B_n]g^N6+Tl[:di6ch&AQmC900l5$NdUp[@'`7don`>fd2b!7B4md0@t%aQ^+Q"3tfd8_:W0? +fS-"s/W*U[pWs1udljV\7AnenrEAfn!C`%V743mkUqfjC"2o^Z,9i;4SIk$>K.)^MMuc0<(kH@Y +M.nH&SRi,k*D;m3\h/&\26DLM-s(sIK+L)/O_tHg'O8W%'+N5ln0&S._Uh(lgoqUN*R03gc@\-G +9`9`PIF?r2cX!Bt=NtsDD9Q(,0\;C'%lf_Qde$iGn5k>&fTjs=D)a$@3P1K91bF;?Uu&W/3M7YC +e'!-Cp]XtacQt9@h7,2q2:%B4e#@:'$;Gl!E01O%>cg)+Odo8g;l`6))4Vn9UOX04\fG^"UD72E@_cr$1VK +Ze62(K^R_$0&I?d:#uR!+O=C@aB^+`?-V&_`UuB2"k3D,&l&(PIJ8Tr&EE0c:pr^OSO-eKJf[0= +@cGicb*'h0<*T#:g]4#&'mNt4jU)I8'VIAcBTn'/NB7$DX.@?EHMA9[n=ORYjB^nG/B1t3*NNEe +MPMaO,15OD0YscsXtE!^DIj`_10DHee!V'!`Tl)+N3J"(M_s$\fS?N`n',E^W>h0VQ3QFA!`VhR +:)-SbYb^EtNojf^@g*FG4!!L-tm;Q[n.9BM!-]Wf]/q)Vb([,rg)(BAfj&Ueb6`@g( +:tm_%PN2b#Ooe3;,[.nB"Ms=C8_+59/Nq\$pl'frN"Tg_WL/h]>AgO[qlH"I^X5N-ZgL'o?5R2T +[d^@E);621f;g&G!L!F0+lTLdVN#_5bkRubLbF=@)?T]r$`ruPqZBQ_`eZO>K-ltp*fU.s=d(P; +Je7I)RW]0[&8Psi!e@-52N4qp2DB,t8s+t]LpsHKB^1n]Uc+^"%\18.b%]nZ^YYTqhOrYYU-1LR +dD]d_r=P1SYRO>i3I,qRG./AEc`h+GC>e8Si_A]A5EJ,HlVTIRR/cKD[tp`QRGcJY)qjNeQODZ^ +RdObnk^pK3h._V3&S1R<3iQmAhAGn^BMNH9I0<-p5e\WXB*(SrrBb314CI0t-n-9jD$GV*QPp_: +PJP+Bj"A_IakIXH7&!^5^mtS!iW0#qDkje/T%NA0;K%]9Og(YL:>u^YmNfW=;nC85aYO>6 +BHjEQ8V,`N\5u=hU\_C_,#iH\HQe-%DH!!`iuPCY@*jo\Mbpkf@9.8p7$?B"'K7>5O*p-\G!TrPe +!*$00>1d,&o3q,BlQJ'[>R3"i&F[WNDiu.4?N"l#O,Y$=m]D+$H&Qg1kDMOok7,)b0V,nCM0$fT +F+4\e/h]2DrrYpI^n0+mG.7fT6&klpMLS3=R1StgqH+Ku5ad`*j"?c4Q1$(ilo$QTmYPP?*^9W_ +o.1"_80if>-Ni!CstUE +FVd6c2*(b_-\IS2_MN`YSoHI<(,_%[P2QpkMcV=rY%eWT9$!Zi++Yg)7RjE71!-&3-S"jJ241:; +oh-4)[7@cYHN@S]P>6.d +e`rWVa1Z5ACD+EHqrpBCrP%A%_iD)MPAV]F5I``2EHe%H-28?g=:bM`E8Hl&k[hs6*^tX9)F;tS +nt/sCV7o8lfb,mp-28C,^YI7%h=k+Kq3@Y!m<\c3$@&ZXKAMX/0C7;7U&uL0%SjaeUQ4c'Pl:W+ +UM.FB2ia$B>CTC9q4I2+#jQnaMV2\?h%e!g8:VRG!g>(k`b6%l%4:j<0&B9OOX[Yhj:X9+4:RFD/a,1BN9kA#ZuXF>TK3`C"o;8n/_I!Cs@k5_qlY +(W_8-&QFfb'Mg++$5F24DkmdFJc_'fgh20K?tTS+dN2p[S-AUj4:9IH*fjleRE`V0:H;.p;A33C +hKQQKjX*#r`'A2qedA`d)5\VlMT+U""#T_$5rT&VLQdAs?m*6mKEF44kkfb@hek1^RF(#+0Ula/ +)'O\)-p1+Q=6lEGclfrV,'J%$TL"#<%&F1I@DZFrX_6t,=uh!"0ZRYaPg5DeaD!_Z1Y'ViEl$TL +BRF"T0pL=31Cp++9HQB8)gJu#Crb/=5*5Uuh"0asg*9@lRkc`f*4CU)oCNlD?/*G6Z.OP1<7fF +e?-fLqSM/:;H0%[!E!7c26/JNKK4\f]U%_LK6)JqN^Gekb`7l4fS^ooJg?3taMKco,KU!TOsJJm +n,7.]JZTRQ%UnAK*]FO+K.7cD+otS +/iZR8+uI=aEC;iGNh^*8D`S\Gh,.GOH_!n?:Daed?OhM9G2CX)6%7ZM"mLSF%?4cnO/^K^1q+qL +YQ\8K%P)NG(Fh6X#2uXnF[pYA"+oBR2?e!Tj/qo?JQTn5Dre`j>T!`jp_4ML)"pCNaS,<@Q=$%[ +rK,qT7M2>)R>'t!YF&W1qr*CYMDbor8DsDM2Vp$fA^13iO_DS(6(R)iXpGTFj'_*9VA^MrU7feT +3KHZ,G0#YZ>HW=;j`q%6)=-LCp5OObdKTdrC%[HmW$Rmu +WN/5b#kt-K_9UrUmQ>YcHLgl4)Ae5TE9r_5>+VdqN4h/IeSH7DPFc`G(MDQGK.)H&_n"=u*-$V? +=-<")[S/]A,Ea.ep0AJXr!7a`M0F)+SrM^k3">E2p:\5JN;4LW_r(CK(TZPDC!`691-Ek9`Ctep +G&Q`g"b?<.+<14d+mo:7#A+[fLilI$m>A8_0!JK*C4VA_qC5P#!*tsZ,cY_h25i(X+Mkg3%&+6B +W'IaX67WI1]^nHi\Ed7q0RU"Y)P_LgMO@(-j=^tnoS\j4"Z\>Oa;puN(lM2_f#`(;(SX:GN)94'_8r9e,>;*cam(F[O;-*< +oWX/"L*]7.U:l3GVi"1sa.X;9$^A/C7;8t`Jd"IY$4q#4lQi#(0[NFE>_XQ@a=2lE_ALVBIRL,g +2?tIT2Wa0s>%"!P##OH:"-hF\Ct/EF;A-SDR1DUlI*g-eHq29b,:'(Tq5dSVIhkjZAQ-PoLJfgW +As"F/ZWo92;H=j];=gFC4T<@C##GDu"q7j]2pFB"2A+,]2!*Or`?HuUO-2[f#;$g`iuHthdr#@8 +L1a3f'/_,DfH`8=F,%_Q&6'B!Rp`lf)j37<-OR/P95]\cW]%YZ,PZ*H0_aJR][mHeQ9U+T*Y%5hpt6j=-:i_#j14a(de^@%S;R-JSgWT`o9OA_E0'dLb=E9 +llI*cILET5G2%aJ$c4&:%HQ:k"ON]MX#W2J`#_6uP,P76bs5hUm`HiudoW=pT*dk(+]fRg7r8N+ +MFFm7>%8%O<"Y*5c$qo!?(89hYR*R*&lXDI8@D7#tK_VTW;OquN:@L5TJVK71,8_;GJQ +;]JA4TF/KE*9CRia_bn/%:E:'2IS+b6#]:#_`0\e;;=4WBJs$#7%J:$pfHBbQa[m +jqN*.>l(_L=dU-Q>W*:j,\9WNmgZ-e*54FR/r>35I&6eK-sXS913c6/'1/e/PRhKmU1>@i#3Hpl`1q>:l"cQ +)2-qWKVrDJb=[[F!W]AA&mZH2LfV]Np-jM9`XE5lM\k_B#2=;baU/t=mG3boKsm!SA(t&cCgFA5 +p>Rs*Rsu#XbsWGTij)U@*Cc?ceJjdpBh_ai+0[[ +jXmXh$NX-8-7PGk6$j9FEZ3$FEiC)+P8)$s1_1i\mF?=>e2#g4?,q:%2Y-QInfKhQO(Xr&]K#X^ +?etV*P4:efP;,C>=].\N`U/QgiblW!g^`l!/2=rNhcProD^a3iHAUlYH!`ol0!gmC[W98H)`"K4:.!57CQfOc<*e\dT>iY)3Tb:q)fK4AT"o[[!=mTF@.Nd^oUAsKp;Jp!VXu@>^<]^\-Cj3KYkY3!S&%FZ5CA2\C +,/Q2EUaRhU3t!?>p9(#'EO`"\]aodZ"q_^gOk?-8*>e.a)fMV\0s(b$E*!Y$qJ`<5n?3h4.Q3<8 +*GY/=J=NR[+?@XA0`rJTMaJS)V]i.C]aIg@URZCePZG&K)c62HWRW0P6O2UkAW^%=UMqnY$H`MB +$/i`26<#,n8D`>[%h`QXDf/Q(YY:,mOKq8B.tA)j+??00%.W>o0?mWp>iQ"M#b^YmI]8-ma3[0Wc=JG9"t[l,Ao:T[slCkbR.l +7jEjDP5I.T`4q4+,7FRL,96fAa!YTL+@&j*:qRqq(0fo*%0]0Kil2JqOB]N?/B$hFF"er8-6l** +,%ke!^gmVc#+m1AT9"R^&43`[#U!#90'*[!;+RZB)R#rNoFsj>B%>0$Q,AL10rh<>gU9W6-8l78DiW2=056Crr,(C\DUHM&? +Zjr-Tm'/8n)IHB@5*AqlEa%EG0.% +6P1UR"(s\NE5nZ01"(D8EemUM/L_APm'6M'F`p^$o$di23Qp"s^L&%Z$oF0=E(_c6^9E;s"/\VP-SSkt7W+9'eSuMr)+)5Xg_&Ra[ZfB.lj+XAeb; +2XKWl,G@Y,j$%>C514hk'$A+FI_O0.l*#iDO/2*[#[[Q"UT,`"$L=dX[L^$;NY2^`sS_$K,4tj30uLR7_?a=-DR1dT2bbQX0:H +$H51=WQ[ktGaYf2:\nd:q0* +#^*uiCiB`3W!L2VB9oT%i._SsJSfSC5ILtup(Ebd)-NVn;)5R4K$`nCf*g-&+XtqB;-aX33Dup. +!CXI_1Ch1Z<:g_B'CtTg2N8=!F(2P'acc[8Fuls[p'Y]T$_[B#i6,VEZ"01^bYD+lf0=@.pN1R= +AY>B3m5]?6<(E9@?OFXp-:(aej&k7$=X1"'"=cDZ"t!m?f`97NV=;:'<4ZO@dZFs?_qB3-6ZnR_ +a"2CUf0+<$W%A"$,W>*k[fE,'mSHudRCBE_XF5D];fs4pH`[0n(@ccqodbR5I.lT/&]%mE7;fT- +lVQ^mDpN@N%):9cEO%Fo=!Lm6ap^Q#%,d=U@Z2neNuq5W)`T#M,EE`eoInK,^qa7][d#SV'-'Gl +*7-1pA2dOI9LWL[,8`4TGBY/B8VV8;Y)7(NofXa'AN"'tC9gDT-J#OZT7F#G0iJa)Dq(p?/jj_. +>.5nf2],A,=**k>J78l*(98+S$\gP&d_P>[DrGWc":Trs3A!AKC;XY(D<6o61.>@KU_tsYe:C@o7u(%9RH#/acb-8Y=EN6@\H%3#@kR.1S\_X4(>A;[d`9P +E'n6E8\MP'jgH?f[V:X"KO>8.g2Q=W[l[m('VW#.TWZJlX;$]$>BdVWU.-g/Pl`%lWmS?rVmj:( +qO1L&laC[IdQ7&QM4Rl`E$4&r+4=h]7/ +]DI/nq/6:(->7c3[>WeTgX3hh\YWqCT,]/n)oIP;agXOQ\"!u?V8bI^;880d#h0P;H:Pk7Wjhn& +,3[_k>LU>c\VFRE-G3,?;";HY6+m>D5ubk<,p3Z4O:&oX;8o(l>^dmpK!uPQ8V9bn&V%0+Lk[&? +$Bqko]N?BlP<2@Y15%%ai0r!)Ti8V46m/WXaS)Ml"cWp/#"<+IoJWhrpR&VI7KSh!VEI_EbJX4V +bFDlKS=@TIMQ=p$!EeOhUSXH_Qt+qe/C!5&cUu&7O*6Xq0n^Q!hM2 +=9^m(<;D3JYLD.1/He3S63JFlg"l]CA)/KLT\9kb`$Nrajl->' +i]q*InDVEXs32P6j'9df^)>u+=5nY38j0M>*=9g7>!p!:Q!Jad]Tpi+S(2oUQ_S$'>-YZ]>%m=- +em%[qM&aDnYqt4"<=hRlPKog`Xih>r#YBCSIBDSC]-eT40N*tUG(%o&);`Wd1'$e"#05h>KnXnK +lEdi'Y"@qc8`HO5lG2ZMj!lVZ`%K6KN[/rR,A[hWn4QTcj?f9B!X&q^`a-C+:)j1?Ig>JI-8n89 +'81f#`I[Cte`5N?jX.pPh\7l=)EAl^`IoddIgkEd/4\Sf)*\BZhbH*0;JP)j]4?*0^I:ZaO7A?\ +nbY3:+(+SgAb\K(pW$CWIrGN-kd/(Foj930XG/%HRDch;b+fL9('HXjNgX*XgLum9Qn.TTVsYV/ +67RSI.YelsO)W7,r7_3Y8-7$&*^)^Q`'",e>\!6>*b7W5+9s-*]^02j)o5%n8XRY:3LO;&@sQ/4 +Cc2?KiprM1hKLFe:Bs38\B#eS),,"5&Z/)A1)Wd5Jf1:ZCEjeCa$J?hK:gqk^nqaJls`h$3UR^WQaQK1`0Vp$3^^Y8>T66`_g]P11`Hc +U2jb^U([p"=_6%f_+kD1YYAX(FE$Xh,!*V.j[NR"adnC8?lI +>+2@eD:7S+.)VeH%PJ09Uo>i$ZEUG]MXnR6XD9:NZn4p[gpebp''g"EX31.MYNuTkPd_&`.`Fab +Gh+,aUG<=X`!Pp?-]O:HE&+@E+P,e;j)_$].VbudXK-+$^9GV;;U2YOCMM_9b0ks>/Zt6J?GA/r +P6A`o&=X7>,8#1W2B\_N*\i\-8oVot0DdTO1X-'JY#+.1&iW[0Cr4^[OBZ1\-dAk]#=9%gAQ(_o +bIJ7>i^i2ZN'gLM1Jbn,Vc>WbJF\YTK6WpO%1-FfN6nrIM-L'S*I1\G"01)H]erMc?IdRFG2]U, +!5d\IN[k7q3KA,pnKk?*l!7KCCe+^g:#gY>g[63,j#I^MnT%4-'<73FGC\=$NPda>1cXFojuSGe +!*\Ff(LS_E*[7D="7`RPeN7;4.oa"^61=l$-E@Ghb!4W&;Dl,9r]'3XjM<(n;([ +((YV()0XJ(k#nA7Rn26(pkV.\#4oRtO7%"'jZl^0ETgS[nM]dBG5V?f%)jLn;Rj\%\L.q\92N(+ +J9i9eE-g7EVDJ^H$hCiWe2I_E$5f>pf"AYUNS.uPe8k-jnK`)cU.[ei"-C[`?@.#XO`locV)TQ3L1R)FG_RB?`gk"??sYj@`4&1,(a[ih@:-$IgcX&1'o7B(s_1 +Ss08?2$WVS,uFqB$'Lu98uXjtLbiEfiQ=Xpej1jMW'ls"DFMaAkSXI1b*YTp.0Q&s/dXon9Yj[e +#*@OY(_^:)+dA/1`.Kl)Wd@:@k%957SeNN1MNr6*Jf!HRChGclST8abcJf0NVhmF(o;!_Z=cSnB +`7CCkBJRiLT/Xs+I0J*rEPlpbr_f^S-StmJclc1O-Ht4PFK>W'^nkZ.ZG:`Y>F.Qusm%RZM&%"4(ZpGU*^e&UG]ulV0[AUgh$g\rf\PFG#rt +-)J!$9iPkpBr\Nk]Rp"S`m2"@/G%e$E!%B`/$3EM1;rFM"[<'^'DTmAtYp)Cm=TrMkRqAduimD.8 +>03nieoU0 +^P(2<0mN",Anpia@(\6!PnpgnJg%pB;[;&Lfn=?Ep +1*ck6VGulq!eEh%Yi($Q"3hL8=qH&!/q)%Nguq0t\0qTtqa@h$3c0H6Nc06!4(r7_I=VB1%>Cqs +,`G(&0Wo+>3YX*0Bs,8Qcl`W<@W;/pZhAdN_S4BGu>/clr9U_PPIYtAu,Uq*?2-T(u/Go(Nm-6g_YVTOqdfA/=O9H\'aWU +iW>a*]!l&s"MYc-HI#+N&Ps9hIjs&(_UOG1r]LIiYns/:<%$X!L#adG`sSe878>QKPB$ioA&(nJ +Iam[9F0FU9FD4H?biG(#DO_ +ZsW%cW_mc-'i!?*(mHRdD2Yn?r[>LTj+A(SQAYa%,!6KGR_Q]n5P$M@CY-'ESIl,Q^5Aj-&j1en +XGV6MQAS_YBJ@,o#aPT%5gnr&>M^i\8@WpG[#h)?6"ma;&4$RQ"+0R&>>pJ;#T^/TRR3MHb&8D* +YGd?o^8qR-lk-FOcp9E,_+B5:9HQMF(c>GA1_]J5POtU-3^7(-\e+$CLs&";pE@?81qOYjH8;;T +EO@>G^K_Sm&gG+o.\AI+(X_]2R8&QYW.GR("+3$Q;WEfnr36Pd0q!_4@h=o&I$dKZTlMgh)Fk<0 +A&5*uQLl/XJd*u@/<%e#_YPk%1]5-VSK]ee-kWn=5mP#CXZM%E6;Y+r&/;nfmCT]`0!g9Q.Gkb? +-]/h6Lmb[PW9gedp6>DUJU.t8aJG$P>Xa5m#f%j@ggC_=K:WK[^A/.h(cKB!TI;cZ6X\O_dUgF# +U-jN0"/KBHpb[WUj8j:/'+"9A$u\USN$UIVV.rj:f_7!ahh*$fO'6*9:_6-U=HL$M8#f%SH<5r6 +I#fP$Lql*mnkZ'-8>MZ+a4+Rj/;,>O?D[IZ8/umf=>PSs4ee.:""\B3`.S4Pi5i9WJTs0j0_NOI +0eR""8:.?h=>kfQ29BBa*V_A1da947pB-T[WQQcJ6IU`ISHtaWMZYFWN-.Xh0uubO80itCQnb/- +TS'&6^>t?:\0K*(OiaRKJs<@Y82J@kbEM:q&A-.XKUGGKMibFl]MKEd]SDK"NQMs?MUKY5.]Ec" +SBA@\Ur)6:*1!/j.=rBa7Zc$?XCd\/-%fkIX0@3YI)(nI2?A,)LcibuI(,"&K$:U-Lql(SfJ1=S +S<#[-+;n08EDoQ\a33BWK?-3HJQC#$3DA'ac!fP:.hbWFa%WgEPp#Finjgp.m#)a:+`Tk']\j-U +b6j'V:&N.i6pq-%LP(,T27_Us7(85!l-?BRLqkqfl:=[FB?]S!8#Z2Cd%X;]ND>H"[X4O:7+MGo +(P=CuZV9ol0GP8J2p\;s8o`a?&3\+Y@8GnkaUkSod=fh.pe"(39a'hc/FaZu3RAcBcme&&7/+dp +Uk0-m:^m_hLbd<4$ApDCLmXo5bglk2%aS\l:?;LR"VEOb!t/ZR:e8Au>f@8c6UX0ra+XI*==__B +&CKS]93@,o:oTt`NK5Mt_j[*J>`fJgP-"TuLk-,[XJ31+[`eT>Rk110Eh*U?\"/%H2E%qk1 +VO@ZEe9+:fX%U]F,_@.%[4/&++K#;I.?d=@9p@)&i.t<^ZTb/']Jplbq5XOH'Edr*#gn?X2#;hR +U^`]X[@I)il:RW$,=%1oK.p%1B\/n(7Z\kGmbae"aqW7L.efWQ7+)4I9tQcH:ZND.*KY")NPFXO9;.)"%\3\%;FI^ +TEDlc=2g,#;EP#jM1[+)=G%6S4Q$b[(aKBS1kX43=!a,`RSb@21YI=)aXAVK]&s0a +S.S(XJCHE:,UDKLr_%I@9d"jP*.\K7ZDcGop`%/hl<>-=ClR*9hO#JCQ,3QVTl`6'cKPP +DF9\lMb82L4aKrg(gDEAXF5h*F!&7Zn'5LP<'@8a<5T""O',R.%:->se]h3-c\U56fO0ir=rbdp +'?6+`!EIP'%@,atdb.pTgpDif&3Ypke':+_"1_YkTV*78*/MZLh6GjhU/TkOfnftbR/f&F3&V*T +1]i?p/c_CY[H#SpN34AsL!Lb]OLR%HN2A&FRL+4#1'I7,/OY15+bSUrK/f/=0WV)C +0IZ/)",K"*(pI=\K,^mq%Ho-AFbs'a#m+u>hlZdb\*rYN!BPhcdOO1L@a\>,'4!d::CoAABoiGB(`cUB!eN$hG!u3(Y,raoISa7$u4#Ra-L5+G+=]`L=!M=gf.Z +Ji8'4ND:/iE6@3_>(`*':$D5$g]2ohS6h%8+j?*+OOeu/I>_oi!)OX9!#s3>3uZdt$i+]r&[@KW +6]s^A$g'n=3%fh)/sgh%2#rK@&-ZPLSE$T"a/2!,FB^o:;N*:GJT9W*YdOr5!*KIPKA1E0-(+dR +$RC1,gk[bK##`T7(Jg^c']*.5+J%S0en%iSMBY4WoWrj\qApiaMi#J#$mnK2=djtc3nELA6@[I]1B?FcfQ@*L.*u#QO.'-mdTLZ^?Y/Nn3P"]McTEr:@N0sp^k18Das3AQMU%RSVUfsUjg>IJ?$bC +V=4-Uc]Bi=XQ_1NAjuCmMd]A5+kbp-6lQ(2'*QHo>9F3NFROM4[AB]prrV]Pn,kX2d&P2m*p]VJcChC(5/mX6b3C&hVag$*I_Fi\mM!r*a1UbP6A2>KJJ+"JBLjm-^DHEA +,RA<&nnMLscPSD8p5+82&@aji*i4J70Me6gSQ*hJ;,)\aN,^->l'[-CD^KO5LM1$Cc^6Q8R#A6A +%.-P4ba_iNBJOF>?LBHqo6!RQLkkQ,D^iFhCYf,Ki3eTO_sI*+C]L8QVSDGL_sGI'!\Z9[0#drf +ba!rWD#fM3mceI`=DV@mob](L0#.b5&;#AN!j>IQY?5Rl^MINgEC5o\^Ke-a*JhM2K,DC!pb!YK/foHZCD\j`e-9'3hfJp4ZDT0SPjcP(RP@[qaMCQ>AbNKk`mLW&=@&W +G@lF$!Y5PGk[cLdN^d-(%LOm-7j2CV@DL5uNBr;/Oc4`V,I.ka[+b$Cg7JAf@m&:ZL6r_t%PcAno,4XlHU'CEOGpf.Pb5O# +2k0(q+c,/JCkimQQEBAfD88'VNc\"G*g>E<`%gSY+r^s3;h4nOcK\Rm1?4OD*&ljr9$.EL$a.a\ +XS\g?N2Tu.0rs\f%%f_&RWf/_UG-L=XC6KIQU&n'be/aO<(a+uE8u$q0OnQ_kpn?]=WGJ$Ucbk@ +lYph`,*EpQ'<^m/B%=;o"(EuV1(9s>NMA:74=X7=L>aUZ>f,7)/_nAV8Sb!:-A63"XUZUqX0WH^ +_5M#ec9j"s0b%h6k6nh\F4f]OD3SrS%1ZU3*P)Q@9dikT.-B=pbUDR:cgtuW7_/.H%,"!i;CKR` +eAVY_o>t+ +mZV39%0K8?0[``IcAfLmKX38RZZK%Y6]\6Rql$^FAI/h;Ub:!uW`Y$u#2um:+uHMHLb1/-?3;)n +O$La96C$?kmGUDfWteCGK@;sei[,+kVpuhC291^AI"gSnP?a9n\@+lX92a]j4?`*f$FY[@r\0n% +/`Y6?ipIN+2eO"ch%ba+(1-d`+sj9i;?;dX1:dR4i5&E%R*1LA%g*:Z,Hm]#2E(_!/uUlUc2dDt +cu+P>,4l4P!81KjeQEAk%#YZc"!3N5m=IJVN:"M0iE5K6d).AiK1O9ANN'q6Wn]$WaeOi!9p'6: +fXocp4j-4O,DI&sfV.-fMN`QagV\5W5Z.T<3QHc>d%9E+C?GRg_6s@I_/O7XMiUL@BK]iSlEu`b +;rmmB;ms)7)D0f).9gi9aG;uVG!DfjL''1H,.+DlMQ]Rlg9Z]b40A-1r5c/u&7V)@]A_p-=Gn=s +T4\%p"uK-A>rrGE%"gLSC5l^LCF71"5X[`FR;#bl:W7@[_!q,]!GsCW6'X^T>iuuT,A'MQqS)J&N*CS(V:BREERr,dIb9\ +r3$s*Th#2")^j9Z"]'43E<2bI#4c`(MGQ3lj>gh71+Ic\F'F!bUt^WcbcDeC9R3f"mY8g>o0J=> +28ha='=en#La2O>"R1QA->*!`H6n0%JeUjU>oadc8e&(cV8(&;]8t.2##Bb.9EhX/>Qcf[lBohr +M*.R9$p?/;oGTq\b4XncfF0J_2a_;DTu.k".A]2J^A'tC%,!cK0Z5/j"Thk0R4!@qaMF&!>.[Q9 +3.qLADQ%S:pLKq;%V/E@W\B>sBKVi2MEi%Qd#+qRHIsZBF?-iD%qNAuB5N,Y#9=&_u'YA.R$JPI=-n$-V.N`:Va4i6_Cg +'32&315$^)fFa)lo*E\m!uh>Qmm8jA;U#+VQI6N\K.M@XW+6gsk+!:BK2OfTPl_)%D**VW7L^^( +Nf\3tDsQu=O\58u&5)OJcbjoT20_(0R8m\s*/u_))Np^HNbMAk7gME)3/:EdL]No#Za/BY.tCq< +geg%IAl@2>Zm`j.HQ$^R0%Le:4'`b`E$fQ7e\?mpFVP``Wec<`fr+2WcU1mF'nIh_Mk:9JCH56N +)FYm]KmS%gYc`RD1No?Mpf`M"Rp?H3f=H@UbW-A>r\biTsjZs7BI<& +HWcWJ9,N/8NhI%9Xl6WsZoh^5am +C)BQF8.$,ad1LClBj6$X6BeuY.mT5!89]87q<-uk)O^X] +caPJIkZia^))8FbTcsY-ql=s<+@qCWXt6AfAYI]dVY(I$fF[;K>LTJ=*o,/p1+XGL@@$9>%=>Iu!,UF,Q\3e&' +A-[_E^Na$P]T8''o\WHBE8e^r[j$L<3^e*@ +KUjaNTQ\rGD6n6!rP?;om1a8-@ik*!*uDCY:(4cpg[2,8VdhIF#(2Ff_GlQupVH9\QuFf&0U%&+ +=a:<)5VRqsku))$eD$K4Ec1[Ba&@8-h=:ai6_g!b:53OI4*!k()'un>4\Y,N_cMUe3"0tr+M>ds +,iT4l),:->51VT9D'QBecJ-#=+hrRB^>;eYeELRlKekVMUmZiEZsltGR3lf0gM'DYmI\Ks:YroZ +G*W1lf*iXp!0^852[QFO'8^W$X^Au63R(sf!X,,R*B`co`AhjcOM.r\VU)8NDuU5P^K%s_&7W`^ +.nILY["/9[1ig]C,q-@\99Zoloid[%BQ$mB;-6IJY4O$nqa7[u4f-82/1#t_Q^GLc1Yf`R5,Q]R +)Uape$o#UGnIjTurs)d(\[lHJq>m2Vp[>khd"@'/.JcD_6u6eun\qHEJ9"V-dZPoJ%?LYc`=<,! +&d`F7/YoQNjuh$:63^r_!Tlqa+NF?ekdF-mgJBTR-TYoM[KYTTXfLB@V""6`XR1fFaT.VPD8%YW +A?KcYC29"0$tr$OEro#nc!n!U#;W6^8;5u65_,0r"lT4]TK`k9#7o2g^qt)g`&^.q0X%]W/3!j\ +$DaSG$%kiI+IMh5`13P;$'<"h05V..,%?."%A;D`9AXK(_#b1Q%1Nm';!e?Z)@U)@$'0+Y:GD`d +`rjMlN2sJ%OMJL?/BImZjH1,\E?>[-A1FeU2i`!!iJ@$)/3If`sBd! +U-mseC6>1_M^epeGo@8=2m$6ei0t@a_DgDB"j^T,KEqmhC=Md0Up5a=@,uAoaIU_1%]76C+Ik9b +7L@Ga6nVRJd+i>f-je6C#)%OMn0jb-o-!Q!JFE+REZTp&]+to\"nE/8,`'+.cj#XR*!D9+KEqn3 +b9TI;$-6p?^s*HVEg`Sj4f]olJd>!,SJ9'TGHu&dAO>\11DT=WBE2`nZ.r(5P97Zl'P2\=$;2Je +-qD(o.:A[EML-g-o*Y%n+^gluXH3bO]KH702tFQ4jAlTVg]dc"16Tf9!r-raM@@q]6"2I?c7VrO +b"CTa/g;_5DT=;gW*Di`.ki+r'*:+(@LSEi>X3?\Og[.p'/2$1.fpA=ng\4Se09]X$1S.OEA\$= +g'j/51IbR3#[Rq&__`M*km7PQZQo_G1>hMU1.tV)djP_?&N#.'1G51s@%N5g#R7UhoZ14!Y_=s< +#;S)T05T5F;i9S7HT;a"'#U#4+J/"QT\/FS3fHum1;`6qfIk%).kcXp!,=/0Sdb\RQ&R^b-,>U; +Pi&fN4H\hTYKo@Okq^H>5,Bnn"+'3$>l67JtP5HH>4#_.>0Cu'Z'.kaJZG[FU0,$#q7h\$AECFe/'jtlI5g"(#WgtkT@_eU)ic`oD +k&R:.#4fl)irfjDde+;C7YYgN0WkWn\A%L/Cil1."A5P0#UI3*6r)%GZARAaZ?&oSQ'>i1.F.@_ +Gq>3$.MP.Y';h=T1a]N7(Q*/d'0f4s?NtMQ[53#%.XNf59.Q)=+Fq]qDRB$.#=3DU4K=5ndCUnY +M)`pP:r=3LU@JWmYsNtI$5?#rJ>"][]2FeYBF<`B@%erXVTBQE4AApHF\'74o"SbO_goTf@%^_8 +]2ilq@Yqj!F=cp[@L<]4;_VOSj$QddLa`kf;[!5,Uoqo/Rh]=L=2ji9!Yu,#/1Fu%;lEJqQ&RBg +Y?F8Y$<8W9i2$&0pbW^&"nfrSU3d'/dfKMa9&QNV;SG>;jWY&N%/&F$E'[f^((*ulMIMg)2?(7J +4]F$8;,H+H^Uca@C>QV"Zp,bVoVNQOA.94D9m6su# +7LE/+"Mgj;.0qQJ0k*3HXG2Bi$I+f32-tF*9JBbqF$UN+nVE*&HC(QEbs7s\]EDXp#=pJZ@(=*PNCCc@c+m#%#Cq']=ZF#TM,2pZU? +TEs.BGh:AMpSUEfq(*?XBfGL-GNbFPD0HfbH+2Ep@&Gs9(4qf:L%j>QJD(J<&8X1A6(k+W'ZFh, +1P,\^#1okb/WY&Ik$1/eGG)qb!:Kud.7pt-KihI>(;kkXgu>JFJT\;RP9DIMcOfY-@+77%p8ru5 +PAjP9Ji=2Q\;CLA_d[W9>k_QQWD]tkB7r1%:3J&";A4s&@4mArCau=eD6%sd(2<)]#<*,%(rmA$ +08g5g-STMBpmfN-Bcth7'Z"9o9k`*dBcu:ZN:>.q^**.&B[rqn,6SG<)1pnd56,!sPq51N +W7[rYP-"Xf=Kdli2j1[E6m-;)i2Kp-/X27f()3`@V?+A'Gg+^h?A7A%r/\Eij0h+3j=MQ +4/q>[%"s24NA(if;E+HlDGp[Ign8h'.Jh*u6.ns41V%3d.]!mLtg>a+uHF +:=t05XkM*5aX2GE:`u39%<#'8i2a$F>Ga$l3Eo+o'cq$&K=CK[eC'5)>%:8:m'(eFT*a^c\l$$_ +>R!23XS]%47d>`Djps0,%Jm#Cfcd>a[-sk9^*u^N]=#/#9M`9nSmksoHb6oREP,,LV))3\]=#AB +_(DBo1qV\<-@JI#;?n.5.]KR6&A+elYTcgG['ca,$j6tf%oABh$p5_;>Ug0H&HQ%$ZL_q1Rs._5 +^4kK``0;(',R=b-/3[ID>:4_(gF=i8((/`8Q=+(>pfX.D!QS??c?sJ@*+,:[bZD`c$ItulqaM!e +DG_O[;T+(mo.32E((0`@an&7T\hjTKYJ%.a5b,MqY"E@AhoiV]TA6P;&>RD!@EMTG8-#nm`3'I_ +ZC.AjbOY!s4RpX1d/kRo$Q,MWb$PYZ?4.KnRKZ.g(1GLRUe9RO;T:6q3`MN\-`+-'2E`O%n@1F8 +ZWe_Ge(T7=02_u3Zb<4b`<$k*e!m*6Ok!Ql_#7W+VLZ'>ZY1r)GJ.hFF-@>UOk!E.4<7)9""4O= +&#+GU@J[LSX9hheQL3I22BYh@FA/PdTi3lh+A0gb&J!&7:hJEbngb`bUY$\YZj7"'=XA7=ul25oBtJl;^2Dl7/QJh`.%kM0LB$]`J:!C +KHXn'p&h`:QX; +[$$YM$spBP?&U_8`%ms\+rlsY?EjPFhBtK62DLiohCn5jJ,StQqOcEt>:RnTD`$GRB/pf(`_c`S +Ca0db9I"LQ]Y\/8S;_)ZBpdOa4;n[ko3$abDh>ga0XD&I*ta@K@e#Yud*c_c6(njg@>[tu3_^bB +!J-&@3BGI07T3a.mUJ/BUk1=Ob[V-=:5lQ[ACd>+(so0m1OUmF=fp3;Am(PS_dOOEBJrH<*:@Z& +R4KR-)4J'H3ZH>o>6SDH1pOtp-RjnVdUTM@#%Is2OMksd5pqoUQ"qFO0Ug5K;j"HPCGZrG0\d\? +do[TK#.X7rPiQC9RSJ#5phgJ8cL4:af^* +[kIO)(oPN7(CHumS1:X+MSfS5_f2i$$jKPX!=gmS_tl(*6%EJ__[r&0!FETaX)j&8)qTj"/EP +a--=r,t!V!([+3+Y%u<.u#(:6BVa`O0c;CDatZI?.1O8pua\ +9/Skn<8(kh@e',3!T,Z'kCjadi!$n6,!5Og_*_- +K4257>T;X\A^cuT$tWL=#5G5:H"GXQn!mm]ST,GN)&3i'hjSFYL=fAMEL"tYJ8prV(mL=+B!k)] +VWUWb\"?Y=hM)qW0]6qleiMYK)J2h+.YPt$$FLH<_3(C*"bBqk)Y&8@qYRl6\KD*"!Y +[VFS,cb@[*c8lm1OeatUL:H#i$Lc/KbmNQUcVUP33H%JfoK0@ceoX"2@@mb:#>,hH@BU!`_0lh- +hK,3*8IG)PT1QK3]XLO9Z$4Mk]!5\Y4m$#FVbt8Z\,aS$oXm+MkGqEtV:#3DemIiXg!%^DAH)UA +Y$&L=D[PhknB&HM>hT]Hks37qo.CFkZ&N;`(!$T@C@'Y*XLUJZ:k]5ni[LTZc@G +&4Ne=p1je;`#iEL7FAsF+Ttb\+(DHCKYdF8"B'mp?#W6#5h.@5_1WDDnF3Oq(a@l^'/3aQ-6Y_f +@ca"u&:[6Fa9)e7:Lr&Ks_8!sJusPHTj_V("l#&J5&.6&Q;ns$k'\%%s+h +M@h;+,,hOH,MZIRE:PMKkEd&>d>L,E1o!0bfIbc#t#E3=V0XL7<_0,6R4Glnpt]sE5O5/ +.guWY(,.GMF:CSW>_U.M)MUdDK]$Z%VEpAN5o(V;ik.=M1r(&.d)c[[#W>t1cB'bOI8&`9'P`lX +;mAda9]La>Ae`Nl0h,qPkqb>t1$OQod)dAsUD9YIJVmDuaMfW#dA:\@R0Hi0J18,AY&s'4=#tf^ +/"JA129qsr3`$]/>l_$M4<.CPb>d5MF/nFZ\^e.XB!/@8P?*4Y/t"RK%+/AHYNn1r+S.pQ"SS)0C)L)?'d037TJ9%g),EU7UB`ZL0h2Qg +91'DkTp6lX>8S:-Wbn;c%6CHA]>BKjOCF--3in&qY1'E7A!]nNk=Xm-FJJG4]2O9bhDl/"C8bXS +PVN1S:rMnUU5Vqt^t'e?%qLNs0Es.hH7-+iKH5C2K.&jo@)NQ"0[pKJ'nZacpQiKAN["`F(oT/[ +L^gTld$3/p>T#:d:3X6,GT;VL6aZ1J<>@JYO>rSG=(d&n>M@7jFgWOQ0526P3^? +.&"7!(kU8BLk]"@iP;XOnB;ioBi#s`UbnNle:r#>T!5k\T*g=m[jn6o8XTbT6:WF:Ab*1GWE;Hd@Q?ae6Qj-UKR+WQZC?]#lrWSbcrN +3O0(pTJD6H@NF=ukhlK+1MNCiWV#Vc#7L-Pm]bCdW@h*mS6K.6ppNe>fO5S*_I3Z$+;L`41V8m/=sl#2mt03Y&*8gdr9)rmBH-EP(>h +"1j4sF2((sH42n`U\,*NZMSl:bL%F)EnA]$aR=b0a^t8lJjBXLIBDFbFk*I`=*<%>*[L-D#r1N0C2OJPG +H-,Mh0K8B]*>R>p8]h>qfR6!+Q$O@S(^jAJUpbY6tq?c[i_&NZq0YIlK +1Vm$#$qq2>;Hf-G#!e"HP@PIpA/W3_+"[$fK:>8dq#\gngH@e=0UfeAK6T21i%fpekHZcq]R)e)_t/kG +1S>SL]Qi)<^_)f@A]-C[6:9,1$WfFJq'hO0Lk@EK39J/0\NXu(XV#o4J2fe\c%3ch`%X.\BSa/s +gk\QQ-WEaX5W=>21;>e,4]?,b#j0*r>*";'_gonKEJqf[=[hhhK?RL^6sD?j7M3FeLh&XZJ;-H_ +W&Vk_`c02BN(Q=]*#68H61anAZkU!%Fpp/Y%`gDVae2-P1QA]X7gq*_;r=\;GCquL7l_YGf]Igr +OLKlh&8Z,Pd*4]*l3"[eOao3L?o^a`0YH0^]c+IQ!2N-s1dVlk`Fssm]S/n@L''\%K7kN]'SqCO +a9,t%4VWgS/@q,V2`C$Hb",)sg]]m:4lHV6J`>%3%ED0+imt3=-O(>!/S?E8f +O%p\/bLGuT]Ze]HUd4"Q`?`\6JDZFgM$Tc4%C4069`5AjQ&)d34rB*i_5P]dM*'pgM4!$FjTU_G +QjJlP^(]g/6[;K2r/U8'K7o-kZ?F<#%aau3%.M!Lm1>Ysn22UP1.4)\,SiR3r4`Lq2aEG2MfOFU +_9laQ;7e-`=>i*RGKDjpQiSJL37n\94hc37;Fn\-R#cl0gGoY80kjljI3lKD+0fqgM;9Q^>=;@= +.gh7h;H5-l2%2Z!Go(;pdetK>lt&%OH;c[L")/"GI"k2b,nGRq!OQrF#X#iR]tj"N`]RGD\JA$C +9d&g1:jX-P5a6nt1qpSI5Z>p)X2':k=4&]^;*__3GVFcNA&B68F8RgMrD^EZK.+)_D,\?1 +4c/BdeWWG-*'(LTP_5onZI=%.=?-Ih;DR1\"!JqGZTU-D+Z'bYS7Q"b^c"(q@m^W7$W&RE\2r3# +BuQ`-,N;PB;KLCf23XC6u[(rC<_4 +!f:/Z`G0=L(blMqEE:"3d/\m.rN-R2HO6gY&3uu$?nr1YQ\-ln"%4JqOTM28M_tVi`W@aH4#dX) +3B4R*fMF?4>IllS:l6YX4.Rl`X"R^.;72%k\V,'.c+jUU(g71WN,")OrJ`[]`8#ad=FItBE;\L& +c8ldsJ^'fm"h'%sg&l[r[F;C51B:Z+^cf3A>W]n]naI2gU=o_$N+r8qqaf=d8_9%BSt43W>++0( +EC,QP?:9NI&1P@`68)D0k]\S-FhA:GB +>ZPW((1%/sPV0lfoU+11[+lPSPIg3Fa[&@n&Pr7,$[;*+O^GicAN1PR-9E(ZJFciN>PVKZME@ +7DNM)fJXNTLbZ@S7PK,Fj>7N@Xs@JB,RoJS.)%kI?;TX9,3"n\@IZoA?;sj]o0#K-jQ_oiQ.:g\ +/H[kj7;>X4%Pg+8&`QV@iuT"'4!!(@WSqr[53>:Bk"\?[bMm,G`c +C;>"2@ZDJ\N_8C"k@/*`@'i?:?396CKo.R[8%>N,Lc<..,q+J&f\JF;lR.MrMoG;%g"_[-CAL#%BA>!GDA95TI#/[g;M]KBbZBagc)#%6[X%0I=V"#Np6/sXa7 +e^7-YXj3,,7'Tor?W&YDl,2MrNB"Q\T4nM"^sG,5r),,LT8GH7A0*\:qGV->iL'l*kmWI6DNYb& +02bd'l)'VY[00-'S`g/O"#?;0S8i9W]%V%r^+O6e92@u.Me]nEC4!am"j +''n?DcaLADQCmLq8a@Z*ku8($#,CL@J%3e+lm=hhXT.Sr0C$QD74uXIjDf!"b%:"[Cr@'$r<2KB +'C1C9'!%q3,re1a43*1(^RcT5*Y(gVYORP^D_-f$:X^6h.&.H2HK,4h%f&f`Y:@4YV1Q]:+#hVNK +UIJLanF^Jt/7[[:?dh2Yi"trB +%U]*OE[MgWQ=:Au6kp+@2OfU_SPeq%@^]/>n\6TbIk:$7VmCRt92@6o-!+)seIhO3ElU$-4^.FN +,t%?^B@_:J59dj01."na5k+`q+>NEp*K0(LD=FIV00bBX0oTgMF8d4?37uaIQEEFfg3lscNr8Ec +79>TYP?"cFgGrCRg[Ya3oa=KMLpG(3.b;S=`WC(C(KSlGQL,RDF^U*f9i)Bh`X](6'+\DQj5T&O +?ZBqjEg%j&s'<$^;%9hqnS`!t55"P<+PQ>>!tSMnd)jdbMm`Rn@FJ#22ZL/U(CldMD+f.FLF$-s +f%X"^"3quIT54.L,4FVWE@5c#827S\)-;K./euTN1',^.hkr??;)!!,r7OG"eY@&-088"pUm3#U"Qn087^DDJ+!lXlN#*:.5q_X#`lJAfG_ +Z,97i;fU4r9XdHc#0S0m(3D=%Y4g%\](^V5),>r3I0OPA0oYF2>-tAI2T]:rLGQ#\'b#jt``[]5 +F#TXN*R,2f/UoE_N#QF%6Qs\5Fft%Fj"ZsTBeMB6c,T@C_ATq@R>f$X.CX0(`9haFRD/1.H81oT +VV@f?_JZ4[7i6-g)o6?fQt>u_(BiQOY+BFh!tUUJDYJ-1`]cYKPSh))_sTO\:HDPQ50kqF2PB)> +DDM]pW+u"9&S;]fLD+Jf(>#d5N8t+p_V: +i;6`fi+7.4OWC'C#'Yd!H=)6"iBQ3e@#8hk_77a4@,bRPGZ"1uMC.0\c7lV]U2ZlDfD%6p-]458 ++dELg.&J0E'm8\PLn^PrG[,NKE\(ES?(N8Hf$.ut#hM/b[q&uVO/5ilD=a,$)/IS9A6HLl->:!' +",MfN%C)bk2X%!9-OXdZXUTlLPAK7U@&>=+4'j/BlIq-'\I+c0YCKr2R&ceBHN%;$M`6*OD;lbB +ckn@HNZoul4%NeL4!T:HOJI$RcnOcJcSm!WK:BVY.cW4%1@uf@29mJ2\jA2EUF08F%RUm4L9X8^ +#jUt!5B5L9*U3ilTa://K$FD*$fUhi?]9S3US>iG\K`M9qg';7/^F+lL8XJ6T))"g%,P'Re;VVh +fCF5p0^7m!p4N>2H/jS%0`''.SokLp1LeD,s-T"MXVpDH%:Ph0T@8$[aa(l\-l@dC5]Y\G^j6Eb +BK)P;_PmX*M_RMV1adrA%TaR<%>!U/U%OQcgls9!.TR@pAN'b0)=hk86-Y'.k^QrR/LBh$,84-n +W>s[(%&KNK_nb>CSZ526bsWKuo^[1Nl/+TX2RZaI%eZhCVUg0rWI;gg`A"O7D3daB)7W6Q(2G+e1c9NQcjA#+`LE]I.4kn$/);;hqIu'G8P'9Q_K3D8jsfL'SI2I'fa> +TG^iul9t,ge>4hFN+Q3QtV&,A;\BS3EOqM=6p9]WTiQ)b[jfb6+&lcM\n.t,g[DR0ab4DJK+au&42[*A[7BM +AJ;)e5g/-T5%)Bo&?AWpUk3tbZa-L)!9Is4MP2JlcHh6\i(-W&W[A,pV\#lZ)Zp[X[^LF] +Xj*E=kgB>K&BtGSfJ..V)@!ur`k6pM<\]\4[b9lUIj=nNZ+u;8VQ!rs#iY_`[2*.W!e=!\Yt$/8 +[2iRp)#juZ0pWDs$q;)RI:DPUM0H)'9)K>Njcm-27BmqB4RjqCa6Ig]&00"->Mi1%"*L!aVQ +%NbR\0fP]"aj#r0W[Oj(u(pb7L +:h<5(2F)bZBUg=7Z%_a<)40)c2hpojWlU_XO?r!oBlerI&]Hnk]?mu@X_]*Y3P#:4"P<5S\I/@ppNerXRRo1B&Wt^jMiR) +d,!WBGEflP3\"TQV6scb:7%B;11QXKjrG3E$k?L3&_8tP)FL`C/nhaNDQ].-pj!KT>p#l88,P^: +$HWK,82Y$`D,(FI^9Ku,94O^1%7/4n[i&[)?>4tX:7MN=0VU1m^rL]h%'WI(mN9`^PtH;h;b +drG:\!5l^#!n(pQTQqYN4<+,WJa8N.@"-0^)gV#(Um.[PIBRG7+c&:M;`;8U0KW509V.F5%E!AH +=X>T$4:EYs="'meNtr8.a&1s0.GhEmF0@Y[aA:A09#noGWF;"*Qu`^.2Eq$-kl2dTKHh=[5g\;h +LaO^4OH-q%>NZ0j)/*$KjtirZBsW=L)FIO\f[m?.ZJ7^F-k%Pc2/%[%OL8Kf,_m3)K!jU@pn@gsU/ +ndc9=o4:*MX4g/8Bd2RWHGJ1tEYfWkONu5f-O"lnlKYZiK+,P(&eSU*Y2($l6Q^R#5iFGro;o+H,L37s-1%&VU.B0*a= +k(9]U&uS;Va>U22!`%oP%E2dI-YP>%D?hpXFHUgPjO5nT4#0Y*!fQ.j;c>R5km+.8=0?$gJk7j/ +i:S]$=.jUXVb%crEgG0#28VnN/]0(J]/?j,FFjoPXN[-+D)%s67'2VS7t:eBYTT]q0ER%=.2:_r +rc>6,/INs:"',hOE&sh\*X>7.mufkN6TIsYp($jm"lhfXDM0ZbL]D?J'Ce6G74V<^,a3]In:*#G +U3!Ep%j\1-oH#91(dX@+[?KZmY_;Zu9En;/47=FDKHi3-4VI&G)l3u@'/[hHdZ299/$THhnS%mJ +[OWsT'!uJBVpKig4uklH-@jZ,8X-"`T\N3i82PE^d-?49N@'2/7S^f)ENgQR\GIS:"qo!"6I.PE +jYgL_5V52nZje(,D_cFF2WZAI-nJ:2`\*K/*MQTBPf1l*i8U_@>@NICPj[MRN`VF.(67bM&ZdcD +W$.)>+;+i%Mcg\#"uoMu;3;tZ;IIfSBi2h>lQcs9eM.R7d80!J7l;;O7,E?SO&/d.%h9TCm +jNt\X)Z\S%%rtG;Ys]0Hn-<55CTfF1bncE6;R$S00e0H91mI>'=;mJ=X<]0#;E:bQt#))Wf?f9^pjQqQN!u2Rd@>+n1K8F$]cj$g(@PLkkXCVCM5YMc(9W0F%nLID1 +bgg\VAAgt2"E;a#BKC*q.C"/1%eiqtOpoaQA`IaR08*2t0+t^%6a'IRi,9>4DWqJ4%nkt?E]SD% +G:n#d:K=L^o"6VN(f46a\7nmrJ3BF\pQ8Th(>MKVI4`<5TA:rt:!&R6BjFG-'EA25T +j*%Yh-'BZR(Qg"Xdemqh^QG`1P^"h(Y/r7"d'@^M(Me>i_g:QlV)P\B2n9]jW*6]QZ`$o_BC/#2_L=[+d"9o+R^-m$Sh%AZ0aQ%G6C1;=)XEc(75DYd>'^+ +[i.!Z%g"aRKNu@@BnJ_fkZ(n.N+!@/5s1$r5'8N2pbiS_XTdcj_&-=.3+"LCH?C?KL-gTJ[VGM+ +fIaU-Ksrc2DgN_%nDV7b/u\tTJt!CTP(`J_feCpgMq\iRUkM?8:sG2D6LcM7SUL!iMkgG3W2Np. +bfX8r_N?SFY*MGaQt%5@?OS#3Z4qO'5f`b +Ei5=.7JXG&e/(i;+cV(A;e5Dsb?(2`DQ]Yh1#c6\q25c:n1c'+9+;A(),:WtQ&L\2:H?dqH2a>u +f8OG4TW(DEQfSC'H_=gYTDBM"3Y8!#Jt#1BTX]q5j35PXVqfgDDO\FG7mJ_P#(0Bj:r(,mI!^T5 +b]d^s2_Sm6!sK3+4>Sk'4VKRSkeY8UMXI#1;,LE'JhE!%#uSA+^Rr&T.D51tq-BliG[*>_umU`qYCE2rL:-.1=.GSgV2,^S!h-D4)BL;b!+g[:"' +Hca58b'b6s"2*&3+K`Y"%/ChrEG*s(<)muGd(#r+!6R2"cFjgu0,8ujo4=(r\(d&CLs`;$4g%Zc +I?O')/\SVA6OAC\c]ZVZgHuC4QJ!TVfTMRXR,D^X#q=FSNXT4g/H`LLb,hJundMs7=+G)CDCIVb +Z)&R`9*n7bQde,O_pH+9aT1DV:Ks!i.BbRKXYDion."A$[e[2s&>+FI,;b(e#EX\+4%>#pLhUN4p^O%@TVSd(`4"H5;[t +-6YTPc_":83EOS1]C+TmcN9'h#fB(",lgZa'lWrMn00"=6ZJq3dle*5@dM;mS%j*8Ic+e-r;$/\ +NUhK(YAbcln#R*7B+`!kf"6)%OOt9pL9kfP@M<:\OLgOg)uL3UVi\/b[QQR*A)VVJ'Tq +>&W=>9fS.V]!"H%NUaV4s'(?"h$r\=*M6BIfA(7uhO4B@k5mPZBLZJanj%8J%3pM:Ka&"?*f,hd +U'`cZ&/lDBU*H[-P,.?ZKU.@p"0hZ]W0lf.%+#PTYm`6a+>guTki=RZj$Z5=$rJG!%1Zl=gbZif +!jK3?.0O9%`pm#2&?AEVHC:Y0]+TfF:s)BgNiH!EVaARoE0(ScMOOerJXFJ!"lhsV)bSQZ_\*Dg +5f4Kd!uUVE53#2R\>Z_2dbH[3F&nH_;i9QR$ue&O[)UA+d^Y&W'^@BVcglV(%T@3#2G^@ZBJDV* +9+8a8iLL]$%8(AL6S'r<4?C$JXO0n\@gtJT9f#K;8jHghA270F#gb@sXi3Xk:/B&6UWf\Sgbb%D +9m^#F#hrES=",=ePY"GU`\UZu5ha*.,@u:+KQ#5SSkV+*T\IV0=CrEZ28kNE>%u&c1"u4Nh'C5i +@*C]l,9Z5)^EYFPG"f@1\J\B^;WDato-i=6E40!%A49\K.7@`p`9njU$R%GIRPI?b +38I-d(AM8U.(-kO3">(.4us*EBZ)rl$G^+*%!dkFK1I_7E&hQ6j1H4fCY[Aih%JYdJ^#XBb_r@- +r!"'uLRcSOhlLi5/1MrU>hlr(B5ftf/j1aceC\rY/P`A9_n%A+! +0)Dg=]Dg2_h!Sec^2MIQmAsZ22^QE5RdeN\N$o8$j7.6+)pe.$Spe%MqQEY_%UkH=eb%Z&?5\Kg +T.@,p1>2NB>2RO[5;s^#?eI%?:\jh"=9ee*HU]V1`#0<*ckqC^1Ep7p +2j9>4$l>]O-fq#/(;a*>!Kn`<##qTEFf>Y1W+.*(N8bS&BGhqG/5cMu2MP^t*[#,O6/eK:)cUM7 +aAa@8!K]7(:r['Aj<5\H@O![R54?Qq%>Up!QNfmuSrspK5DatD#;`U/f'$TQAR[8\;OZgE$\hdJ +Cu'_T!b"YT`G6uT9?!"7*5e7jH-U7(a)t_]PI[N"$2HhW'k3";BJq*`,!NsoY81-d]N_)74=@*B +`^;OAJe)!iP*md?"/'iIneGQ$\Ig4?<1,P9Q;g<8nE:^8,Rrja<@ucH+2\LeQ7Q'?(%BWkhaso1 +1?=G$M'S']3o#g2k#4rm_O2@c`L1bK?cpsm+r6%M>(j7%bpTU$MP@eIdLp%[@)AII$JV#mI/OlG +"#*(k<@"\0/V>`h%H/F@?H^.m!s$G&-g<'e$gE*nj.[##@sJMle=)WPb`o$+d^t'Ao(&]B3,puA#@$qll\?"k5CQ&;0eqTBiADer@.]>ad_UF;ZcEXDu.4tkB +8pZptnNa$CcD$K=*Duth&VcCYIT/(!:/0OPWAQT.6%EWb8KC_='eD:DlEZ,$eQbF68ID9![b!l@ +".QY!\Q;B1jsWRs#8JBs#8Yt%aWP:-+N<+s9*J\DFb-HV.*5SL)dsj\40g$Kr4$KAA.o-!%PS#G +=Z[:*+@V]C$]R`UP1!k"?oas\JEIMSTYLT(dZgXdTIcP'97a]L,Y.rc"r10pLhn?GW(qhD$1t:? +P@7$5`8o^Rn89X0rJm[m**+MC)d?co]-,$3h7Jo\6YX0F$%hNHX33sc'pH7rMTal"_WWQDn@[A1 +dC>#Uf'_Lb9a[cTg^mj\DT0eN7G,BlKEb(eiA*%J#T-sRej\0S2,[lH_V11+K1jB$]Yqm`TTJ%@ +""8E3"glb:P-]1b2"iBVdB9$Nirmq#))`:N'aLHBKcjg\"ouXaSRtlYd1LH0NefY=Uhp[#**fq/ +68oP.]31hZX]>#ES(!fa(n,,[<9`PcTJLd&:lO/=lVnhc+O[O9Wop*tiE*%KR@-W[AB\+DI+PF! +^fgeI%]U/^=QN0n.LH1[<`r;muned2NlO?5_V(9>?oE,RYr!`6QXV,=5g79O#XK4)k5FNHeU +k%u]4aoSG(&3!Y>*/ut+N-#O[,Xt-F>6IYVAd?sEbjc[^h%5tAqO;k^B5$` +1aVe9i;J17K7qq\e%)q>0CBCdBWbiBZDT/1SNP'aDQ^R?QWiP5=OuPYjk

am?]X38u_DL"dh0`?N%)'dqq'=sg9)k5[I1r4c1g/l7 +OZ`9lRPp=/O?n[6EhcXMQ[/pC/JNtKWW;4*q6!o1@$!!dfsdhYlI!#="FIO-hZ& +/)mSU)@m5K\S.V@39#h%bI/AiN[QiO4,uQFO$E7&&,@A4l#e>2g`Fgo%3,g=oERXlm2*s`]drlT +&f(oq8\h*b^bcb51S)!C(lRp%4Lk^43B3*c2kqV@\f;Eii%dT3T>!%f&M+q))DF4Z(HTJQ5p;eY +BKJ;7-GDQ)_FQbJqp.U@pn])lK-S])"/<>A$OA8R^5M);#i%]Qlb&GQ]PH[ll%(s\p;+*q]S#uC +<$f?d*5[(X_T:k,A1g&F0*$kWgQ18ij;$.1U[Eg#s,C]R]S=:>;S0>.`o=PM\P-5H +b[;pM7Cc'?[fEY:$nIS<:mOD$2QL4&3@C1c;FY=VX(lMgM3kXPRAK^2Lg_qp")&#DBeTYH2eb7j +4AHQZj@<'A(8D+cKQot]fJ!A?a4XD2fTDP#I7I/]OIUid9S&HR`%sqC%qsZ,8e.T"X[5?^W5(DM +<-^oIOg@S?$Xg@[5W:TX6BjL-7oYP%]TA7X2b1DGaCsq^!&dC_IMEHK8NW/h;?jIKPcLL&QP3a_ +ZK\FBNIro(]e!X$i#=p82@MB-_RMK+W'$_DW4>HM#U"aCga#M(E^aM6^bCn?"Xj2^J3/K?2jYS!93mVT]+s)^$(d +5jf]GP07gGb`LO;kVaQH;%*H+(K7$OSBV-J+jC*s9bbaT(s]Wj*6gf9RRi,O:p!GSbfm"H9n8q( +;fk^#3C*2gWd(VWo\(W"2@=fcbZHqEd1)6WP;d<5^?QaA,eeo8qN3k9/WA?)>U2W%NOQNn\/TKa&[/VFX,80q3Ct@: +UkP(EUUC8*O1]EfOdAV[Eh:2Ap$tBtY^L9/]=%TTTX?dL8kaP_6'@':Q/6 +"I.#2PfY.aN)25eI4`R2Q:Z&79=pG;*1?u/:e0c(;[Zt8d#jk1J^3L?`N,6PO^j$37CV&bMtK.G +W:U@KSOSDS(`?.DC>5d\XT>s7'a66\E#c4;:fB(LJ]Xb<,e;B?Rh[5@eC8>+<.@lg(P>^92TcCM +_dCqEEQZNN"#.E@<9PK^0@c4$TsG=SeKY*_#M"ofN\J>,W=t5]*`X[;O!s$C!Rei;3.%/IWGbea:g6t.I&j;3<9A5N3g<)Gug.fm^T8;TTV.!c,c*F!7kCJ&\f,A7& +ZO>M>Ff!'a(2Q?B.$BYAYmK*<$(RI([80tSL!X+[`T=QEK&]_TQB\eLWL]hfQnaHURF2+NOX6XB +'bD2^)m*eAK7Jl=&Y*#&ckB59HofWG<^=kcrc3]MZr +)C5u7(qRu$,(*4E&;Ed8"dP%e<+5c5c'BEW10e4R=fQpIlFNtN[pk1>(7MnoW9E*(-(H#$fUs0" +T`rfFq4Q9a>u3Hs.&o#!*o9V>'IA33CWP7M1u*p")1A%-"@UbL\mqRh;ftl@on?4B;(IO-+bM7@"Sq,Q%cg1F:MfTH&MIuR:mIj/kb6TJH;n;V2`@4p/>+'Z,fh8_iH:akj^qZu7H<0H3bAk+.f-ORJUs"MR27(IMhj.'^,fkA*1&!c:-N8C +kaH+.Yi^qGW51;Wa^aJADV3NSP'Tu<+T\t[W@=<-AN8u^Yr%TODJ*1FA"Ytn5qZ-UQ:Cj#X0)M. +Ek11oTA0?rik5jY^+EUP)2TShPr[2?!N7Bb`*%VBQI+$>[YZE(53T=1hSCZm2LaJ1SMsSO[0Dc' +Xj=^6=Q(l`BdR.u6DFo8P_k[cg%Lcs1:o'eRB(Fe`E)g +SDo^,hcX>F[OAMN5,jl>0\l>]9AH9(+>nddHYV,nC?:[4.^pq0\6Ep7CF60PNW6.fENTL]frF/t +7Od'*]U+)#arUq&=dg5"I;#KH+ILF,Q90Z;]IIn(#sr*h4k$'f=-l`&it1M^1ef_:\Nha4=UqV$ +q))rFHkSB'&Z2<(VD-\3d;:$ZitF$IP:or`75Gt'kQWatL:p1Xgt^J7asq>_AEn#N0j[C4ln%c< +Mc\S14h_Z#PW?1'H83@??'lLIg1(AS:l#nS^rQ04mcHhQU=V2i+n!1F\:B3FH1N4E@%"A@5 +RQ5>D0CW5t0Z!!q?>$Dk?\DXoXC=nH0Cdh%::i +l9*u^A^WH4D^'0M?M^Q7YZfaFP4&^90.*IRr*&83E^7LrB-m(crj@9oE1'g4Km"!L,jqqaEu%?F +E5Is9nQ)dF(,e`bng*_hct$K?F-KPkRe>ZQ)fS5m"!BB8)Y%@_\Rpm/keK+J%lddS&Z?!kF<,5i +]mCquqLb$;:4O7o +O%53]qhpd&pE[0XI).j]l$#DNNj/0cpuHVNj(eHiNgFgI180S-m-f^:$5s0A(NO_Mq2SkSnV;[V +Dfj4/R.k:S:o[Rj@,b+JQu5erMcqkC`G+aTRBZI-S.;*omWU8*L>HB_0' +<0hiD`G0n'_=+B"d?OL2S_]Jr%OECK.kk+4l$'AqJYqSqL9m''F7.g)K0VK%T(T;sD!mLsY +dKfZR1Z6X(O`k;RDnih1_oSA)N%E<*=LJ&WP$'?ooQg(krd(^[*db4=TPhsMYWM,V*K=s5V/7d\ +pX,,%dkF-4mhj+1?Qko^qN'3XMd$Q$Z8ZMflYQk1".=&tE<`[kmH;iO@IN3mMd$VU:i9.eP[E80 +k34:<]ngSDHH2n#Gf9^'k5NE$H-A^+n$%,^R7S3t<4I\NhsYn+QN%+]Q*0M,`oI4En?1;/(gqoE +4f3i;f_0qj#Q]V&$5]1*-8UdsggW%.%HhdM[)=((NJ(dBR*9%CK0g_Y(n=VZ1DgQGOEa@.*-X<1 +b`PH#^gpq18`RhTBt3#@3'kcp!?%9KAJraQVb-fB@mkma9I<+UfY]rk%Rroj3LoAL0V"(L6VUCo +@B/'48 +/OS%E1sb[/!'AIE1tK"N9%H&=:)!9m#;C3n#f(,cL`=1J5i1ocOJE.%.BL])&>AK\CB_SK__BP. +0\Bdm6LMciqRQ*bV\c58_e0QMcm#Rs824>n+h'b[2]rPaUPSn@dF7Ora0HgqerM$_=uFG'TPTh. +:eN(V,0;%&0e;i?-Fo+g0^^cVN'jPn`9dnpMZuJOBGi)UE999V6^ZjoX0]l:N/!GbS2d089(]hL +_5\?9N^K7d4jU)eju9?Y)]g`<["B/dTN("\6`::3E9j5cGi1NWUG1S*L*;6fM,9Eloi6`V,C*)q +<>?&_#(n/=JrF3>(c#08;^rZD/Rf&B%IET(0oVlHkb'A5Uma3q_kJ!5gWh*M15r.e]J237V"na7 +[ntd7%4mn!Y)G;Y`p-i.ndBbMnp&U0hcJq;U*H#$jt^>Rc.dHW=&XC!?pf)DK46e*oU9#E[FR1` +\&sdf@/,p^0toVLauWJ=Xe/qR2Ehnb1(u6?(^CoQdQKZAp1$K8/A;oT^^QfT1?83fb;W00Pj&&S +dOkSZYHq!)P76J"jto,O&8'-lHIfS_<0WSDY\Z[Ec`?D+RaH!1UN62MihM[f0^Z8*jQGtV>7CmW +9>r*p9K3OO\aT\["R,;gMZ(HLHqa%In`[R_GshaZeuAp?]tuT:=q,n[%C;/;_VBHJg>e;5\4&E/V>s'mJ%L3U1r4I*NSa +*q,1KVmHHPSbrE<_AgZH0;tJG?>"o[;'D)qnoo_AFuXnbfGb]`W#X\cF+<=OMP>(HI7jcE&sDkcLZo]b(sd"@*TDk +f+c0d#16O6L1st=B*@7#:3+Y?Si#LG`Z6);^EC(A6YUrgFkk3QrR +iNTOS!:oO9m,4#Knj*AGd[OLO0JCSY3i:LKi>!l)$oF[["uAS@U-q?Qe%Td")J6D;0ObKKAt.)7 +@MtRZ":Xb'&Z;jM5T,-ACSc,4<,.OnVOXf`Z-Y3f@-Sc0)j1])hI4aGm(CQ$_i&YXX-&`h7gWR7 +XL4pR,'q(1!tmht!5KF:&dW$hA6q)>jJpCc)*ik#+<^kY]M`]agrTk9hNnjC;`,f64t7G\Q!rIgr[l!RR5PV +Z46*H><@`9(l@38G2\/LL?`;AD=]9aCMAP.b6hIG'8O.oq-pFOm.Hq26k#dK'fLS3\'JX6<^[dW +XeiRNDXui%.rB0gUPWiS*U-ho0"m!C"[[&hFurYI7"YPTJ8KqBPEsSg?lHgd_hei&;'`Eu\`I', +?$e=aoZ2d1!"Nuq*\$2?$5HBIE"%_k?WLRD"rp9JnSOgK7Bj%+]KANU`1 +6NgTK5D*g9FU&fK]U$@sNt4uA@iD0kV>BPle4"VDH$1sKFuW00]ti3dK"otP%B]dc=-m=L6H395 +^#`^iCPGG_9Rt?a6+^*+&XLJsQtr*IVCo1JK43HH]8`of@`t6u17(,PY*XYsfA!+C#&s3j-DV1W +>J)_h+NbYd)0@H]O$gQFA[6O$DCB,A:ILCHYp6s,O%i7fDN4?/(3"@+0[0ItI;d'6$q!m--YnH8 +m.t3T8Ht9/@NT7hrN"+?fRtN&4g]5lCQHaac>802q*(@$O\25khmKp4]c'7lI%tjQ/0I"DO(IL@"#:5V"C[rB2n,:&\Z/n@f ++DKUZqTt583kd2Y6\suTHa24taFc%AB.U;pZlU"-ftu-rm0AO`+-,V&^96og`"4NGC:-te+[dAJ +$Ol)'GVGuV^1kkBY>-MX;SNU"Yg59X"]D8_h"K[iT$R&!`:QiAaBJ(VS>(*Y:i(f_5m>Vg3UhhY +WEff!B\uN6VGM19^hj"p8L5$!dgeb6Z58IF)5J6UEK2W2V2$pqZ)'!qa)/\:gMp#:YVB +L0G-<)HuBa>:%d%d,MQSnsJg7^G($?&0*M2iaWI##,#kGcA:Q*A?TaLU]l,S98;TNOQQc=Jh$IF +%Ofo$?jt55hP+JO9'd%i3._-Hj9cChC^B[<-d#E%>-"EPfC%2mfDRRs<+XJlJ+tFIEmKT[-+6LX[VS37mU89UNCs#kn5g0X7%j1(0+=j1g +&LL[1XKQC%,06Vi9A3$YDT$GLY@P)r.j?E_7Y.;B`Tof89/]F_P4FQP/>[)5c<;?@hB:g='CNmf +mG^_DGp_aD%RTgKU1GDZJh+-_$uW?[/%#358dqM5%J#3$L)`59\7AL'lVa>CA(`>M"P>@aaC&@) +CPl/5BRCq4/&N'dMlJ5!hPNQn%"c/SJX7QgQY;Gim%h+>&Bk1K<)_VkG2B_N'U7jR.)(lPi.F,FKVSab=aJ[Kfet?IV +ZN3,fff+n*Ift3HcOheYJL\P/J;Mu,0gK^;>\EW3%W\s+Y-og?pGrt">g)cUElgCNCH)a,d3WVp +o#M7.E?;tLLQ]>9kfO?J=J%2N-M,,3P;b6p=Z?KG&I.ANYmVoK:nWWF6gp%#!6$qHq(:YmN/N&l +1BBpXkrNnR#1ETM7S$kI6ml]ALL>$]'bhfH'2fM1/]AN# +oaEA\=#r+G3e\A4Pn[fHFZk=Go[:eiZnm9E(WoG:a2pfq*>C90+r2? +'HKtAml&bM@8W@EcZq'u9".\rnobg&ci%bAS?Cd\#.%$;LoXf?!";7@0XRNm5g)=Ki%,NqLhL$s +KfjtV&Qt949K+LFe)itkBUZ?W%Ra5]UI'X,@kHiS;o%X'A=55tQ$B[U[UOp=f6YQZ!D_7#FYNrc.@(Cm#S*+e.tDOi +o:%+O.t#sT84/4rQd%ZLjM19B=d%"=o$GX)5*eR0F:N@Qd`C+C7+k6&7sF\&PXU)S#2)U08IUeGo2!d?t*mg[tdh:`]0`3;3^X]['XF`'ub,`U3[7o[ej%--fURIX[7U>ac<5,1X&5t +:E1VNV!E+F-6qM(!dZ$-2F&(tENPEph2?LA>NY&a^@F?2 +`>Httd?o)XiE9fbAC"Vb&C;hI$_QLDRaEotVMV!3h45FoT:%p:Ug'?V20?hb#'r:O +AfbBtKWrGr-ah),1*r*N_J>o0,"uXGC>jHtH_s.+Xa.[Y;>[7or(USHN7rc?3b=41M5Q+$,$K2g +#4ud7&e=c)W#B3(.Ee_pMJl$H^f9#cHC,*`oJuIg7C[b6`FCIbPEYE^kd\Ho9C37/=,NFDf!5C? +Y-Cu*mKRq2s(8`a7a_L0lQJbO+klsO`RJPB?CtF/qi3+a7_>m&*]i>P6VlcL)D/6]]*2.n;IFF$ +>.-.Ye>1!=Yb9CKDtodTj=QGM!*N_R^h]@>"S9r1=.!m$(HO`^fjM!6:d3X5T^fM&>Fo&f)IM7(',$0L=_GBo0Q'`%p!/i6 +P-;NeRCm5jonbb>Ng67q\=%LPQ!;;@Bf\_qSE-0URT`_(H7*$Lb^_c]M]0fW;8,U%M;("tZTMZ6D_&f-!?&F3/W$d* +1Qdqrl8ajR]FY4k>"AI&$5G`7-H&'0.$F8I3/ +r413Um!kDBbj!$/)*WP_Tg38"MT>Q&GjaHsf97+Qe"!Rg>t'^#*RcRYJXKJeXW>l`o@*LiOhFt^ +rCO5a=c@2;/-c/'q(^?Ca)#TGb2#t?FZG5tqq#[C%"oi/.U[Q6[R@h +."bP\eVUuP]f[>\(K#tD]rb,Z21H^Z@4 +)``].qR1oiLsGjS8E^JMRe+&M_)\iWe?75u]O'Tj%iDkeg7h1#Mc+fqikiOl(MF<]UZ9g*:LI\" +*_,jP1;*G1jZYsUq,QP59B/C-k%]I+hCI:c/Xo1:A=Wd9=ILU_#$mH+,_r5UX)^$\Opom'A(Zc[ +V>#blgl0V=$s9o#64aSb+FPkRk-3PK-0O,uGAI"R2J4?d.9hBonXSIc--=&EN5t5AhWj%=//3]8 +,"[[/'((M![>5t)T'eV^[GZWoRB(LrV4#7Uj/$*";XjkZl-<;D%<[-:KV2tMbBNP2KaeCQmB.?!.;ChJkeWI-pq!%EC +5i[Y'RSh[@[DE7H+q:VFDGf8c]#=AO+1&>d=H(92q_-.$n/$\+M>KAO"-;T'hlob*^Y@j!rPB#3 +j_q&(kPc0rrr8trs6D^t!&ZJ@!CHC7K\Biq*6(?c!5r[u(dOaUBLF174(k;nTP7(6G'2`Y4KUhKPA^-I[eCl7iN)(erL?XPP*IUWam'WatgQ6)RRp +1?h3pXDU"gB?*@gb-t3-:25PG$/Eu[[*b`@RrshSB!b7rpIb?miGuY6/Tj)D\B9(V:Q.4nkgXWb +O-kpi"*q91AiIh$@iY,g`b@FMc'$5*aCo-%8'M80H*1=+0^@TLK5nQeM_XIj-=\aZ@irq?%&87` +R)i\lR8.@N.@A%1j$C"6SmODs^$,+63M+HaM]]p_:"!<5KZ>1I?FKQG0\C2%ob`^n\hT-+of7t$ +++MEK)$[;8$p)+Z&7YaBE&3s!X\+fI!^US#959FC_LCF[WuUTfCcr@fHI3e9ZYX-bpW,C@S9 +L&mbi!_!]!YV;#'8B-sM_2Md,`_foe2N4DMd\\AmW64d'_f3\i`JEG[0h7?ck7kmU@.#r`BLpc6 +3T7WG,g)7:cC0]oK";hSnjHtB7;]AMh)Bm(I3$NeXKsM%Week<`U?X[ZODI#od>J[PlF"q@h?L; +c9[P"(sQh:!&Do!i6!hcO#8'P^m(ZI2n(G.jPL.U4Zu2mK7N#>a=QEr8Ii-+#?B&+4,+/A&C)thK1];e +N(p/d0tsuZ+<$!5/f9k6_[\XDj5UEe)riS*A/O0sISlK>UViZC%(S97Q]:^3k.@P?P"%.MGt*Kn +BW7rPVeG%V_\cr'M`Ici3+1!nTN\Lt&]2b>_4V4sW78gU.;WddCr;@g3fRW=2Qi!!DGJ3Y:/[LF +W]=a4EFFK''JT#jm9VR;4>.#Y0t>B!sf",7:'6TAdPMVVS_ern/61ak"CbbbV'GSs&O +22(IqC6ihe)3/r"3A@s"(rU6N$KsB(YmH121l>eZ_]M9TRZM%.a0FZHVZAeA+<+V)X&//LhfVI6(letosG:g=WATe<[#'*0ZKL$O +PeAgt%RI2,1MNL:]ua>)=5:SKiQsWtA[kf4C]0X,.V:OD57\d6Yma>(Zl=Pd)bco@9S&Hb'%C8C +'EU4\VIEWL@TLUg87`:)Yk/hY8=?$M=BrYcL:t^d4@9G883sD*`6okoT44mn!O:t:=p.Q5+=!LU +,'QkLk<&i8%A+.F)DV'a)Zs2V%j@1hd>AuX>+H=u1k(OTp"F:4,l&Vo#*..+M@Aa7$$=Y32Ub.n +$t,&C.^fPCf/s/3Ba2u-Nmb=;;ePJrU"$q%:?@:0f>7o/U&d8'"4E6#*'8An92pDfP5 +UL8W&KnfIchX)m+N"'IP`_8S><3%CbEM^BS4'N[HmJJ,)%FC4[apbJhEiDQr)D_"]`E`>L/"krY +0h,!B-/^H^0dW=Bl'C*DQ8?#Nf-2CuWtC0HnU#r=1drU84IE3N:Ljp:#9`@PjPi+aNkZ^*XF$@V +3+J:kE#UP0adJ\"@r0D`L,PppRke;fcM<\dXL6b"_ffb8%YujOXT+iYcstF+'#gZZN5ksrN$nH( +8*LTE0u9(8#)?XB00^FfnJWGF3%I#\0 +N4g@E]Y2^9D'r\Y4b/pd)\[K4l`jQRmMsQdiCs5M93N$D-dBaV!7)-a5PL;=bP'I:q +A0'00)4jY\V]>3I)4@ie81hpB3_oaDUVY*5k<.u'64r1Ob`a]jKGo*]""L)Ii:2a\L@0K=5.K45 +%)-\HL0l=kfP7PE$#ap3,.m(rA2`VI85lMA84lTq/H0o?)$qnQmErZW^mIq/#H5G-4pBB]2+Vpci>RJQo) +,lW7Jp"FVp,cOX9o1*q=uWK9W!5"$&Im^qcnZ>J_KXAY7I(""K-k*%ml)42SQ'^rum)_6Xd6oHtb! +\r\\")(QEUh``#?'!hIp6lD>1jr#!R*_VDYOZSoV0YlC^&Y^J3bW?MQ+Z\;S`)/[SS+B$6G\P&KiesS5PH9XZX+R +`Rm'[d(GJ$?\fD(MHWKfUfA!@>fC_,RsBdfH&3;.7_8K&L_N-:6!&[POs:n\$0r?bH%H]/5ohdB +YXs6lr&_q];N^jJU,X"0oQIH3$]Whk8!J',]QY%,]HXj(`>R,\.3"MO"p8#JQ$=:dN.D(YJcd9N +/R,VQ)9NAH5p$^R7N&0>1lF$@s!T@F7,_A`'Qlf(>f9;P!J'r:.3UV>N\NXXaYY1UE#K7?5tQr[ +%4_1>g)1OF7[7LdTR0n&Tgm-[KcLfBaakT;.`I]%1cW&OSnU()+cE`1M47b:b*u1rH`].>Ue8cQ +K,MMGK.FaeRh?>WQZtYTM-#LLZP"+?K6d)=JK(l9^D&M+8MPE-j&_EjM_HNYRBF8l'I2ln&lS/K,b1n&XSMKjF_--S)j0n0JS_QlVCrh0o:Y2Pk<*)3UYQ@hRCO$r>#CRB[*9>E6L&esf?]C4%P6puGL +':>38<(a_9:f!1@cAY.Zqk?K:UU]f]8(]d59d2*I$A0`dQm[" +;lQ$'D*1^1PnZ)>;jBQcl&Sd,`l9l&<"/P`Ug2Bi0ZFsC<+SD9D*uY9lbV*<7dTG(6oi^1PUh^T +(NAA33HmT4BHuV9P$>jeJAMtekg`+"NbqZ."3!Y39iXaMb&Ou-XW""3=uqpS?4^5-66;&+iMp==Ol5248iGc[:e%U0TD?4eeM@K-#HZtAV$+dV'+EA_t,E]KVp&P +^)_BL#m;RiFos^W`-lj]Yq:U,SsNo(VYY80))MFQG"0)Sc6[_Tg+S'm%BH777h@F#HaYu!jb'Kk +`QW)LYW.r.N4?,n^0%!Jm>BHI&d'.t%DmC^_L!g>c3S4;WZ$B3_QB6&QjpjXVhD:T)P4u$GhKa" +=^m?5[$o\=U+$/+83NND1s&krQWdB1!Mbs\)'Po0V:p1>]5=:Bf]#8MNLPo\UtmC.VdekNR7iM]sZfn^4k+XYu3Gbd*+d* +9Nb7,mEjZSe2=qQ:%KA+`Jju?@(?DKt,#bT@l4Gd1p +SMbm;Xh#Mbb215`?0XVljgNG!CJFXugQUlQXAgR13Y?$C5o'6K7G4%N(gkGkSmWMpq00_=.RO5s +\?XKuAATI8,Wku(*2"4gi67-`$J<=2@%?7P7$40RC5g5f[%&,]bp#!VWA*8pOm#+G60R +2ac!%[MC!er3oC=^);LZ]V1OKb1h2?@j@G'HTAU?`JIb*^6(^B6WakR1uigA^6#$PO[fq7fAB1O +RZ'0Y;j'\np_q%=\@+_VBrj'*7#SlROs/A]l2cm`(k\V%U6.')a=tCdN/_OP"47j@=uJY>9tbq5 +K3JM_rPIW8UB=gkYP9*[Q;ds#jJr2Vj??`-H;9pE1-?h@Ut/ke1lR')uWS,A8Fdbd,jE]ILPdm7O8fAlsjL[#*.+sc@9IL0]m7Cj3Y+?J]SPR]OR21jP3KGXGl9,Os-+]:8A?0FZH`pq*#as +b,_P3?&#krSc_-G"0J+sC7^beP,uO!X9G:I0H<)jP:,U=X%Fc(G+;_sOkRC=5;n^/V1,JbR]OB0 +kH_J.`fI4i0S@Xml[+qjZd>,2Fh"lnQRPNO[o/aglZ?`j;7e]B+bINq"7SP8Y]p%o\90+%d\pQLk`+7gpC_;>2dbb$K^-lk6F9A,s +&NPS`4sh%<'l;rKE&ko(k0TJBST&7'1`9ll461?tc__KG"0gc&YbcuYa1P=kmroPtE#G#X\T[=b8>NaV +?ns/m*K'/UPrV*i@IT+UdIaO-1$7bAf)&$60FKdY1@I,k8`TJ)+nI>d +o4d:XaV"2d'LaF('X(ViLG^:3.e>k)oK"S*p(Xb8U3/FQ-Pc.B2_^6UjR_%:p-F6%[OQFDrSl^5 +TO@puf2>E_EH]-iG1QV1Z*",Ql]E8I;Rd_;T6'^$s&-=GSkjE7hfe"oC,pcg/O&b<(u(0[EDl/q +36tH(>168CI:8=P=I.?O[s\]8W"E0&!K!7i?o%Lu![j:i%6HS6=L/jp(lh`G-]o#NT8"LU+k&cq +<&JQO?;>^m"`o[9G4C@2L!n/?gf\eKq/,cqIo/nApG(#7p38N&>g^bSR,>2OB;\TZ110c_6ue^8 +3q&nb_on'qW/EN>4G^Ct-`3,G&Q0Si-I7)c=M=N,P@-mXHQA-o[mnZ*f/-*+kVi$/BpBOseMf\b +S$0?iV%pSepm\J!,@8j5'6E7_<78;KH]Y*`3OoDp1;BtCPM*`lS@!ZME'l7*^TkQaRrc9B_WM$c +JYtAQU*9GDAS8`+5?Go8l+hFLR;]9Yoe3aos20$u`:73dGB[Dg^U)=kH+IWgArjWj\2)kP.VsAt +&U1c#\BP>ZhX7nA$c5(JL3;9o@g.P4IK?Khtu-:+s!f>\XI^9nPT7X +=e`5!Qh5#od=4[ZBj-+QJ$oe$lM5[T%>847T\.6k(S)!>PEF57AN(S;-RaLq@fh5l"qZSi1*$oc +),WS'?#JJAf<8TH"CG=hND73202<@@dlt(/q?HT4!4T7aqO>cehiu8#YgbtG)Ynh@))<'XSl[Qg3?6:"%-Dlf'Je4Y@l\/=9:EcR1V6A/4N.jf +QuKDuacpkSLR@%T1M4YE"<1h/>7ONRQt8+DNm]J=K1@.B:52,U`#j;:1)Wj,*['3ukNj)2&>PkR +@Q!b!iT>3\X%GE+$/!,T3 +]tEBMf[11]bF4t1_7O=]`QGNY)@#cN1=RS+1sR'L1F'E[bfe(D1J&f>i]c9@2eSsc-YUg_# +1$Ha6'93ReHk;*/Ra>q.,E+&,WslLUZET'./FJNgdKG8V8AVHXb9Ct?h8$/oX<*%Somjq_4dGeY +\b$X`Hd^Z7#>iTd<]-"N=d3+-,6o4"?)o/Z..B8QLg/r.c-+1>;Bqab`SU@UV\S2>SibfPE;iu$ +i=-i[iT&0h;CCY'^50taqp7`,m,d0ilW&):2SpILTJ:XeVA/$fGQ4q*0.14o6CHc]krAk4$$)#KkM"#MKT-3A+c4FfH5h2[J +=GI@F1`V43<;FG_M&)YlAHlkfcmuDl<""7?M4r:Q1R3,&$#)_V!Jla_;oB+I$\TZM;"U_0jA=@# +1QZ/g6P2$'GEW"d>=o0Er^/0ZlN#%.QW`[;a:JdO`\3'1Q`F=$#B= +(hITd=hC&XSjHu*"pP^K3R3^q%%>OPSYV(5cDfJV8>%_K,jp$)M81678R!mufch\ma[RY033L\d_)Q#A*2RCG,7dqq"u6HF/$o## +N1p;<[((e<@-W=T;@G/YL7-J31kcC]Fp@D/LB`Of9A.FTUO\:Z"s@a3C2)?1-ii4*M43\o1YFnq +Y,I'gEEDF6:SfL6iW^.3:!ZNgV2PbFPko9IgO3tBY)]-_g4Wd"%u=9eOKI +hUHHdH+Pg6D7P>++ih!U@.^)BcRcTIQ*\D!aZ==pKu +-H&13aN@%pd1gYO_2t-p;q$HA`YlKmEXuSlbn&i,+hgt5S@814MX0XqD>6Er\emGU'=.8I2g#W] +8JR4^4#KGmKbakSbdS1I_LKYXOX]'P@]tuX81R]_,^\lNP%%1@\)Ae_Cc"sdfQ0]p>p?-sYE?mE +BZp.P2n_0JC(4)'AVQ,:Dr+gn!l.9bBnP>R7t5%]p=60+s-[)?-tRbr?UG?#m?9 +A>".c?E35fJ/`YCG[ZOjSN+u6^@dnGS[rU\$.OCQkRr@Df;D8CC0&(5iD@VP12AQsVYj3=nJ+Pl"sXBhW'o:Eo8'ITl(:a9t` +X%/?$Wr)r2C?MEpI^!^FVn+UVjR+C-36&kFqN!2mc!-p1E8;r.1H+L95?W+C!5WqR@HaQ;i.iSF +c:V^0lQ*3dp@,pt.+I?2!7I'Nlip":FIUh0Wp":-;QV8^*ju:[g'12.O])bA%=RDS-B1.$f8BAg +)F'>S4^i7+imlVo;i9sKe]5>e0&di!P_46@P74Ir`\"_*K2'+FS=7_-\kLJA`]jN_bj1?Zf+57- +ZanK+Q-oU'eGJnI9:V;I=hrABr6LA\aD=&"#o5C8J$&<8UFphOn9XO'_qM/HRO[ +HA$fXDtN):0`ai34"WG@0L@+IT`U;mej/.pA0g*1o)bRp"cusuB@(&RE7+,bW"3R?CU3!;7OBM@ +[Y"A>_!(EC&;uMh[ECm;/p)694UGmhnE#*-/LLjc(0N.EG0_:Piqdm$E/N#(mqDk1E57<$Y0VgR +$u.g39touSdg0eR%L'5fXo.J,QI53cjUgq0D*CQbng@gc:(89!"4Z(U@+-7`jm$rdEN^T*u8ia +D/i1t&HYS$K,67D's68fO)5_2BbunJ6*Z"Fi9VrSdNJ_E(p!95BUV)(QDeOO)\F?4nZ<]uMLk8g +[:I/p&Y=':aVsWd;$j*s8Xg[hSK2F1;*\q%Z/6Qem2_%^Cl/:;jZst"$D3I0*5Yll+PN6VBTn)" +%ak[m+PS"gX!'4B+`[YZ6Id5eng(Lj#-KTsbPWXkOVuA7%tXr;aTT'_-LXPf^+l.VlD4'FC^_Y> +4)19I._@"l^EH!%X%Kn'Wm;d)>pb5nR'LV2b,228)]Cub$AVdn_qmIcQJSJ##*LV.&%'f&,!=(E +ULt)'.r\rE-3a_<.q]91#8IFg@k$uMN:P,=$OfEmnL78?/VCA)o%jR9`cVBlr$MDaCubenDJ:jC +kKQ"17<5[]<`XpH)Gj!Ua[:>+RKSGl#IR!s?.?V_+81cgc$k77j +=6nU#_pLLmkk27$%Z:TU%65q3'XULN3g+*\&]H_N_Ir-H +"or&aiXl#Am-Je$r%aRG%l-?/hY]0_[7!=d#mC/^^aG?g*%N::mhlLES-L:`650hr"7C:B_[2PC ++j:'N71,>ga[%dTS5-^B890E?G(^$J +-^4R3DglZdTSdlBKCj\R+D<^!B30\c=4NOl.'-I*-Vf0WK#!OQSE-#Jtga"0PQ-T%oB.l-#=%r+@DX6s"9:$q:aRa7 ++DG%S^a''62KD%*/2BYb\%pq1a&a2g@9$Kha=N8UV-DK%KJYtrG3k$@UM#\8KJo,>`A_MJ@qaFj +@VJr=oqQL"*GP5.EJ[n'"^aGm<(`n7=`bhrf/?\e4&`FF5P&H&1MKYJ6ZWtP#9t"6f/n,LKi3"E +$VP$:K0)S5$rm6iQ)?7mED8^h +%F&^<.0P+e,'`@?b;);3bMXJfP(^H)Y*F1j4)'N7$l&gMD +96@c/'WmKSYY,i_Pa&/3ffbT2\InX=8m,?a;L#:21+OJdPF6&VR;+g(LR/lCQUB#\R;YZ=_XG#a +QoU8fU9Y3IJ!jafCSs*=\T9Mc;F%2!8K&rSa,Gfq9,!ap@7"M2`@?C=dm@%i$H?#*]=FJUU +#f5fiBtn%,;^X*><.YL06XNAD#3h$b!3(3Za,feNoYa['CUj'k9Dt.[J8!.R*gfNCdgZ3 +rfAXu5i7:lEL_B)=.0GDWtDKo1kHO"N[Y\f3l!Ahi)Fa9KGTc>2?'%\L(1Ws@UO,LgTEfj0n=Un +.<3,QjlQ9jtNfMAK%d-$EqNRmT"H$q>V2UPEMM/R(X0H!QsGDC%QKeE"lT%l#h_k^VUidM +9,+:Wm:!W$&P@:KgSm2*G][g":J,)gPN?N`B2QoVcV,J%bCu"EoYHs;`*[oBMa_?P*7^IImY4a7 +b*D"Y,VCfnVFIk.cm[?FoVY#*Xiqp)%OT(M`3lOWRnA)W%)Cl.0#+U0b\-RF%UD/pI,8L48KAf8 +\bb^%`Bi$aZdlZ1#(9q/l)d0XC(-WBe@#=)=4gk[Je)oKYLEe<5^^I#Z:V"m(Wr=GEkJT]CI_4o1(RGr +n:t5!5kTCC1*V\PffG@E?ut6`(sf@IbFA7sppLC>YJ?N][:sXbabgLK>rj)n>c]mo^tAR;dZ@0Q +%S@!:M.-qWQA\?FSq%LcFoI`BL\SWFq&oAd5E'$cOq4I@%\mP1hki@uqtZoY&&5ut&O^=URTcA[ +\\Qu+T\O&AM[2RQWT2J+i_*ZG&cEil#lf?&?ecb.1O5)1DDQluio>$kk[ZH:TdJg!Yh1TPP^u1f +";Vu%&.HQF!Q`bUB/6##VaDoSlsVdX--#N_O?dbDS,l!>b\Z)U&.D#qJH4+i-BoIG;TX$rfeT!j +VZQWuW8_rd$cjSq5s4:G0V$AhpaMX=Bf[;(k6#/Bk&#_)"m3]ObiWK:e]d2$.>F%0WuE2eP:="J +D*!Vm-52W<>m)rO%VJ^S[eOPqi=6)@):ZZJKH(FZ.RBBl=#ZY.L1;gFh$#Qlo]Ai@bf:CK$d%O` +C`pX!2qMj=)Qh:^QSKN*pd6Lga'L[oq)8t4SC1o6<8e'2T2r+,VOXEhD1gX8DlLf,FYD_%V(%+0oVc%@N2(5j-C5\6%ER>Uae,tQ)1I+ +@[X*m\e(a"9H$V2LB4u2T*@T;D%!+8lUI^=.VqSQ2if0DVMsP['c82MW]V.'JVZT-`i;]tVCBn: +U,S+S>A2L&!L,;T6IIo=-)C&&D^WS&-se5[$Nf?F/0^RbbqP-P'[*0OeD/6$j4*G4$r#%!_2M&a +?6YDf$;NE$!mDWFV*T@t78\Z0d*o4`,ppL2j-gOs%>dF$Zngs7l8U)+YiHU\K=cV15[QF.W$3WDL$b_@q5_TE +*nS!JW`4WWF3n5Jh(=j32on:h?k +%%BeginResource: file (PDF Outline obj_6) +6 0 obj +<< /Title +<586D6C537461726C657420436F6D6D616E64204C696E6520584D4C20546F6F6C6B697420557365722773204775696465> + +/Dest +[4 0 R /XYZ 72.0 720.0 null] +/Parent 5 0 R +/Next 8 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_8) +8 0 obj +<< /Title +<5461626C65206F6620436F6E74656E7473> + +/Dest +[7 0 R /XYZ 72.0 720.0 null] +/Parent 5 0 R +/Prev 6 0 R +/Next 10 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_11) +11 0 obj +<< /Title + + +/Dest +[9 0 R /XYZ 72.0 690.141 null] +/Parent 10 0 R +/Next 12 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_12) +12 0 obj +<< /Title + + +/Dest +[9 0 R /XYZ 72.0 358.706 null] +/Parent 10 0 R +/Prev 11 0 R +/Next 14 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_14) +14 0 obj +<< /Title + + +/Dest +[13 0 R /XYZ 72.0 632.0 null] +/Parent 10 0 R +/Prev 12 0 R +/Next 15 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_15) +15 0 obj +<< /Title + + +/Dest +[13 0 R /XYZ 72.0 399.117 null] +/Parent 10 0 R +/Prev 14 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_10) +10 0 obj +<< /Title + + +/Dest +[9 0 R /XYZ 72.0 720.0 null] +/Count -4 /Parent 5 0 R +/Prev 8 0 R +/Next 17 0 R +/First 11 0 R /Last 15 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_18) +18 0 obj +<< /Title + + +/Dest +[16 0 R /XYZ 72.0 690.141 null] +/Parent 17 0 R +/Next 19 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_19) +19 0 obj +<< /Title + + +/Dest +[16 0 R /XYZ 72.0 555.258 null] +/Parent 17 0 R +/Prev 18 0 R +/Next 20 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_20) +20 0 obj +<< /Title + + +/Dest +[16 0 R /XYZ 72.0 464.375 null] +/Parent 17 0 R +/Prev 19 0 R +/Next 21 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_21) +21 0 obj +<< /Title + + +/Dest +[16 0 R /XYZ 72.0 395.492 null] +/Parent 17 0 R +/Prev 20 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_17) +17 0 obj +<< /Title + + +/Dest +[16 0 R /XYZ 72.0 720.0 null] +/Count -4 /Parent 5 0 R +/Prev 10 0 R +/Next 23 0 R +/First 18 0 R /Last 21 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_24) +24 0 obj +<< /Title + + +/Dest +[22 0 R /XYZ 72.0 690.141 null] +/Parent 23 0 R +/Next 25 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_25) +25 0 obj +<< /Title + + +/Dest +[22 0 R /XYZ 72.0 313.667 null] +/Parent 23 0 R +/Prev 24 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_23) +23 0 obj +<< /Title + + +/Dest +[22 0 R /XYZ 72.0 720.0 null] +/Count -2 /Parent 5 0 R +/Prev 17 0 R +/Next 27 0 R +/First 24 0 R /Last 25 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_28) +28 0 obj +<< /Title + + +/Dest +[26 0 R /XYZ 72.0 679.827 null] +/Parent 27 0 R +/Next 30 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_30) +30 0 obj +<< /Title + + +/Dest +[29 0 R /XYZ 72.0 222.096 null] +/Parent 27 0 R +/Prev 28 0 R +/Next 32 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_32) +32 0 obj +<< /Title + + +/Dest +[31 0 R /XYZ 72.0 188.592 null] +/Parent 27 0 R +/Prev 30 0 R +/Next 34 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_34) +34 0 obj +<< /Title + + +/Dest +[33 0 R /XYZ 72.0 480.0 null] +/Parent 27 0 R +/Prev 32 0 R +/Next 36 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_36) +36 0 obj +<< /Title + + +/Dest +[35 0 R /XYZ 72.0 650.864 null] +/Parent 27 0 R +/Prev 34 0 R +/Next 38 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_38) +38 0 obj +<< /Title + + +/Dest +[37 0 R /XYZ 72.0 481.572 null] +/Parent 27 0 R +/Prev 36 0 R +/Next 40 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_40) +40 0 obj +<< /Title + + +/Dest +[39 0 R /XYZ 72.0 640.524 null] +/Parent 27 0 R +/Prev 38 0 R +/Next 42 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_42) +42 0 obj +<< /Title + + +/Dest +[41 0 R /XYZ 72.0 337.405 null] +/Parent 27 0 R +/Prev 40 0 R +/Next 44 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_44) +44 0 obj +<< /Title + + +/Dest +[43 0 R /XYZ 72.0 352.0 null] +/Parent 27 0 R +/Prev 42 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_27) +27 0 obj +<< /Title + + +/Dest +[26 0 R /XYZ 72.0 720.0 null] +/Count -9 /Parent 5 0 R +/Prev 23 0 R +/Next 46 0 R +/First 28 0 R /Last 44 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_47) +47 0 obj +<< /Title + + +/Dest +[45 0 R /XYZ 72.0 690.141 null] +/Parent 46 0 R +/Next 49 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_49) +49 0 obj +<< /Title + + +/Dest +[48 0 R /XYZ 72.0 628.72 null] +/Parent 46 0 R +/Prev 47 0 R +/Next 50 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_50) +50 0 obj +<< /Title + + +/Dest +[48 0 R /XYZ 72.0 363.437 null] +/Parent 46 0 R +/Prev 49 0 R +/Next 52 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_52) +52 0 obj +<< /Title + + +/Dest +[51 0 R /XYZ 72.0 696.0 null] +/Parent 46 0 R +/Prev 50 0 R +>> +endobj +%%EndResource +%%BeginResource: file (PDF Outline obj_46) +46 0 obj +<< /Title + + +/Dest +[45 0 R /XYZ 72.0 720.0 null] +/Count -4 /Parent 5 0 R +/Prev 27 0 R +/Next 54 0 R +/First 47 0 R /Last 52 0 R +>> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_57) +57 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_61) +61 0 obj +<> +endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_62) +62 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_63) +63 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_64) +64 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_65) +65 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_66) +66 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_67) +67 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_68) +68 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_69) +69 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_70) +70 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_71) +71 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_72) +72 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_73) +73 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_74) +74 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_75) +75 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_76) +76 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_77) +77 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_78) +78 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_79) +79 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_80) +80 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_81) +81 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_82) +82 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_83) +83 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_84) +84 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_85) +85 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_86) +86 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_87) +87 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_88) +88 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_89) +89 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_90) +90 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_91) +91 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_92) +92 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_93) +93 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_94) +94 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_95) +95 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_96) +96 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_97) +97 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_98) +98 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_99) +99 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_100) +100 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_101) +101 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_102) +102 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_103) +103 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_104) +104 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_105) +105 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_106) +106 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_107) +107 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_108) +108 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_109) +109 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_110) +110 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_111) +111 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_112) +112 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_113) +113 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_114) +114 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_115) +115 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_116) +116 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_117) +117 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_118) +118 0 obj +<>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_119) +119 0 obj +<>endobj +%%EndResource +%%BeginResource: font (PDF Font obj_121) +121 0 obj +<> +endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_122) +122 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_123) +123 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_124) +124 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_125) +125 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_126) +126 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_127) +127 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_128) +128 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_129) +129 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_130) +130 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: font (PDF Font obj_132) +132 0 obj +<> +endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_133) +133 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_134) +134 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_135) +135 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_136) +136 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_137) +137 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_138) +138 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_139) +139 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_140) +140 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_141) +141 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_142) +142 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_143) +143 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_144) +144 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_145) +145 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_146) +146 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_147) +147 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_148) +148 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_149) +149 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_150) +150 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: font (PDF Font obj_152) +152 0 obj +<> +endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_153) +153 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_154) +154 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_155) +155 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_156) +156 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_157) +157 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_158) +158 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_159) +159 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_160) +160 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: font (PDF Font obj_163) +163 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_165) +165 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_168) +168 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_171) +171 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_173) +173 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_176) +176 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_179) +179 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_182) +182 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_185) +185 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_188) +188 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_190) +190 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_192) +192 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_195) +195 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_198) +198 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_201) +201 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_203) +203 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_205) +205 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_207) +207 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_210) +210 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_212) +212 0 obj +<> +endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_213) +213 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_214) +214 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: font (PDF Font obj_216) +216 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_218) +218 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_220) +220 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_222) +222 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_224) +224 0 obj +<> +endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_225) +225 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_226) +226 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_227) +227 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_228) +228 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_229) +229 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_230) +230 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_231) +231 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_232) +232 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_233) +233 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_234) +234 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_235) +235 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_236) +236 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: file (PDF Annotation obj_237) +237 0 obj +< + +/S/URI>> +/Subtype/Link>>endobj +%%EndResource +%%BeginResource: font (PDF Font obj_239) +239 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_60) +60 0 obj +<> +endobj +%%EndResource +%%BeginResource: encoding (PDF Encoding obj_240) +240 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_162) +162 0 obj +<> +endobj +%%EndResource +%%BeginResource: encoding (PDF Encoding obj_241) +241 0 obj +<> +endobj +%%EndResource +%%BeginResource: font (PDF Font obj_56) +56 0 obj +<> +endobj +%%EndResource +%%BeginResource: encoding (PDF Encoding obj_242) +242 0 obj +<> +endobj +%%EndResource +%%BeginResource: file (PDF object obj_1) +1 0 obj +<<>>endobj +%%EndResource +%%EndProlog +%%Page: 1 1 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +4 0 obj +<> +/Contents 55 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +55 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'al8(`!10X`"Xq[`^CDp5_9ms+Vb#EnrV@;+;kUl_h#VI5ZBO.j02sJ +e7/Y#%KllBaP^;^(s@euiB^l*Cakn`-R3&akTD%)GS4K8PmnDPmrIhd@c"n1*"HV +UR?Ch'h'I5-0FfEYh!NdPtkpiOIYGU,FqOU9'(@h-'O9Wio--e?j[iKL80V0QtIn;c)nGFBr' +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 2 2 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +58 0 obj +<> +/Contents 59 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +59 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWRXJGRac3qK,@K4k[o1U>'I%i2o.DPIRI[E]*6[ +P97j0_Y8C_T)UHac"@.qC+Y@Ob/7G0SrGW4+kQEp4`[X,qrspC=FRrt[J0G"/hG0/cE?V7cKHtN +_q;aSO=NAJ"t3_%&4.d15_apn&?#a9ifImo6@ke7)?^,7bQT.\3Xh2t!J3'G#7*#^LBRapg,9:J +TY`\uK.,pp#\/,52N/l"a:JZ18DGtR!l16O7&,"`2@X.iIO^@f.-)&%C+/@(N.WNV.Lf54U`1Ir +XA'B5@;o`s`^4&I'FCO*ehdd[8D'Ys6`B-(8OK#J4G=q<'I(G0U8WTm~> +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 3 3 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +7 0 obj +<> +/Annots[62 0 R +63 0 R +64 0 R +65 0 R +66 0 R +67 0 R +68 0 R +69 0 R +70 0 R +71 0 R +72 0 R +73 0 R +74 0 R +75 0 R +76 0 R +77 0 R +78 0 R +79 0 R +80 0 R +81 0 R +82 0 R +83 0 R +84 0 R +85 0 R +86 0 R +87 0 R +88 0 R +89 0 R +90 0 R +91 0 R +92 0 R +93 0 R +94 0 R +95 0 R +96 0 R +97 0 R +98 0 R +99 0 R +100 0 R +101 0 R +102 0 R +103 0 R +104 0 R +105 0 R +106 0 R +107 0 R +108 0 R +109 0 R +110 0 R +111 0 R +112 0 R +113 0 R +114 0 R +115 0 R +116 0 R +117 0 R +118 0 R +119 0 R]/Contents 120 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +120 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWRXJGRac3qK,@K4k[o1U>'I%i2o.DPIRI[E]*6[ +P97j0_Y8C_T)UHac"@.qC+Y@Ob/7G0SrGW4n&1"j@=L!:aq,\ML^6F7:qWSC+`FT`1BC$E%YFso +J79<"!LQ+iLEUVQ)[@P-5Umqn5gp0r,,!Eh#d<8bofVYoq":IWX*k\hNl&[K4)VA$(kG><1:fO8 +@h0?gN!)WI5*>sa2SW&Jr#1=9W\TFJn0AGC^8YLX(^?[QA;ikEaJ^eO6X\%J%HB--+cYN$kVCB" +S3%7rci`Qe^hR7^*/7:/W$VO3TN!Ls&6M13Ks-SX3NE0GP;<\9GfVq)A"_:+Kd!f?*/4L0DA5n= +#[n"HTpSXm:^pu#:kf]%>>\?74\Jc)'dZRTeQ%$!=&kNV@p7G`c#I%?Q0iKsSiCgJ_rD`$"eoX]`oAZoY!$U;j4#BMM5P%AR=.3Xd6t]K-3>LhISM+dFcI5$<"]GMa;c%tS-"/s2oC3^+"Ml5F92G%.D515e^_ +rP,;qHL@E)lh^=?Yj@i#c)5CSk0$oe\*=KAlZQrNq--s%InaTYSh#_nRG_d)j1,)sf490ZE<_*u +BYlTcgasimK`WsN0TLdaj>+t_ep&1/gUlRi+%gc'Ba"%LGY/@*/5V%VE0_> +JDN:[j!VZ75p<-K-k2]>c1R(/c?C_[qnKuUJXao.:CZ8J=-i0F1^JX$%KsBKMOd]aPATZ;i'=4m +"!Ch`K+M>u6.O\Sg"8'$O88;JLWBf'P8&>i6,,/;!r"uJ4+%/Bei-uqir^Nb%.MK#(m&J>!u$W* +U#mC`:iHaDJ7/jpX>#BQ0FC^i49dDYs$K%Zh4XBLM_J`E7EDkQ@,o1/i5ch*i["(=#C'MoL!!AR]%ibFGKe;\F^*N";T&Ur4N<-U6#KiaXRktS8eOM%l,c.43&!4#e2*nc)-"Or% +P4E>D2,I]I_6OW(D8o=C=PFfA7%9G3W]7/ig@=8Db*=_o2E*Jt8_!Bq+HdQU"#s8ffXq5O;Ml9r +"T4nnb#O8?(cP!I_]mm1O)_KMAOUj(R9p*IDS\'I#>jq)&6a0Rch_KHH"ed?2!C3GSlr]aWl@u, +jH_R,G0[YI4_IaiT*q$CRcmH@B$5J@L]2FcC,A(BnG"(5u:PmRhRW: +;"r0Qhl(Q).B4eKG39n0jUS!uZ?fF&=\Iqk/skWeMkJ''4R%OmVc2lK;n;V<8N?nXd?4GbY[LAe +r<.gre/VD5')/>,/VM2:kKt.^,:8SAWc?SQ;7`QVC?(/-5s-UHWkh\%`)&cOkSq&>buH!r4f=P, +\^MJ\l^Fb0S06A9]UIqXlb.eP6h4QAn)P7elQ'_D/9BcJWb\G"-Tj&,KrZW;Z].ZCM.0aq`mc( +THf1fkbEcP41S2dRBouKc+,/s@(&DFj,@"6iQm`5+KK4dKa&\1>(N86*1'Z+Z(di7Q"g`/,-1q:;?ilR?Tfb;3 +91X[bCq7IY*i@4ugNbH$0YTNcEA^R1Q"t%l[[5_bj%O)8S!m=]Df*,G$kX)fV2ShBiQbgj@3EC$ +;eLX@+u:q<)$A)D;`RK#.HY4^P[fu!q.tX`g@u!g%V3^iieRbgRM.JX>m16?2hj$O)cK*`]5[Hn +B,P]Mmg_,"3;KPY<"eQMc1I<*"!6[Fki&d^GKZES,e(8cH,7'%Z7sF3.3npaR=d8,N8!GYnh^gW +Wg=&YPVWMF/fTE[A\/BA:Z';HVl7n$crr@ol_q\NDb1,TR.">@c&JuO7YH^r)b!$9V/NWO,U6;3 +'E`^]8[]?>H[$1%WG4.m6ATd7fk0HuU,%+gmV^;eIrh(1ar*"U-87HqW:F]$DbKok?_Q2*K-lQSG30:%74MbFeUn"mT3%@lRl[%Ikag%pG:VO%8Bh,$ +ciZM=XH`8%A97$qDba:[Au-so-jnEc1knSs\T%Rm#;DXPDSI0er9%bU!R],j/aJOHI7JBbpV$=i +>GF.ZOp73CU%_?"lRC%g298Zdq3:(-PNY!c50MY_'WY9*R[)+U)>lKi]CIosBB:31\ZjFXkdR0> +\%L>B&6aqXmh>7eES&hA$1t[&ih53:$l]:FEUA1pn`[S&N&rp7_nMs8ko<4eId\%JKd=iP(49c; +#])1gX;pe]oWp"sUs?bdbgPQk#(.ekqJ;o,CoC8#Yi[,TJ.&fj&01b3b5P02rbLSGj=6`I\@liT +ouk2tm;V470'ij=,j^d".LuLGWj69-\&aU3a2m10jol/IIE@R:B')F1:^R3.$O=KQX+'*q/nY_V +KLbtJ$sa%@7gi,:Y6Z33Ua1o&i(pY9Wc^8N2t>?d8Lbl^jp9P6"H'ecLhRM`uS%0=3(G0-q+(B/4"91 +H406%.?pcMFSP*^QK^U6T\dQ/1m[;gM$4MbTZVa2Ee]07'M9r!b_I3Y@3T[3Ms9)ABLN)?lPrdV +,-j3-/*@=RJd+JW*earK&g2S#aM7-F,;=5TXYNMrrWN:l$nUo\BU!QH[j)Ln#dSX+9i1]R=:?>; +%>J!GB4gB=g][]6-H@fs/Ro_N6:"rP?("B9L8uYJhK,CdjI*gBP]+[ ++G:[h&iVpo_`SU^[ki^h/c$a_kc"*b3ee:$mfJl?7VcrE_s_.T5YqdFkR@u+X%m:C:/5COWmm2l +W_R/`l6+Vbk%-g=egE4FW(eQ/r>IDI4B+I,O'mP%YXoHad<%ZBo6S*Nn9N/>5h%e8c\,c'680U^ ++ +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 4 4 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +9 0 obj +<> +/Annots[122 0 R +123 0 R +124 0 R +125 0 R +126 0 R +127 0 R +128 0 R +129 0 R +130 0 R]/Contents 131 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +131 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWRXJGRac3qK,@K4k[o1U>'I%i2o.DPIRI[E]*6[ +P97j0_Y8C_T)UHac"@.qC+Y@Ob/7G0SrGW4n&1"j@=L!:aq,\ML^6F7:qWSC+`FT`1BC$E%YFso +J7bV^@E;[m#/SB$&.454:`+m1T[X,NYN&IP4RRgroqb?_I1ioI_S[$KDR0-TJP1nV\iT:i%hu^9 +"?u]HOl@39^JEnf)MZ'.A/YWf^i11.O:FcWi/-`-Za=(R=L@Ck(/VZ&0Jh[_pW9=d#")-=9Ne7Vu2@Q@R;A6gK +quVSu@A%QN"eh#m(Jj"WBaP9!:pq&G!bdum;H0J.'SW6M>m,n5\54c:"/+j;#=3T@4Aj"e+uohE +SJ!pk@joP[N^GeK(Celm?7pmGV/-rL(!tAhgGQ$;5GGtZ_f4@OpeX!![me;o#%9dR1L8Si@Mo=O +(u@01UBoX1?FNb`1toF@\eJ"/:'W_:[fs0`_*L>r'Fob?hDPjQi)>0_!C6'0%3l_;J;6).rIY:t +TP>/L6S:r`?%X7t/rG6[$RlFI(oS0LGceh$6#Zg5(ug15r&NHjOP1I_q?UN'K`d.s0b62[I\N+8g?1CR8YrZN_@;kI&)+SlRk2"";e[FW>i$IG_O6%FTAb +7L>LFZIn?c@8rFK0TR@]jl9SbrX5NT*:Ujt";;(27Ii:3^cM5MG;(M'_FUp$N^G5RVIhks_E3a' +B&YTTg0imEA6NBj2rL-9.P\[YV\V:He@Hit6,RPYTh`B@qrapF[P5b2!5i-dQk&X_&3@o:,srMi +%4Ql-5N$)Q!K:?FO;]f'"X^i]U.^,uh0?-%o&BaeWb>eVY!N=u.Ss?GDU=f*2^l'`V:-_pl\8OS +Kle?rd_9[a&mWT"FW0A[Ws3@X+j@e20q1k@R'P,,6E+FGi0(ZZ@>SFt`2,;'%,%)tc<>sja;i*- +F-]9B&r()q21_th,f$*[X7_(Kegg8$J@T=tE*iQIUiL)Vl(.s,P35f?Al:(k34?1>7Mh6[EM0n$ +X.[W-g`sQDdbV4Ja@O\r'D,G7=KFC$.,jCTnk9A*2`l*s%V]T)H&Z+48BFQ,W3fl49I5D3VQiks +UKe<"&rkCu>T8<,7],]-U'CsYn&#g2WO5Th#$>4Al"*G]2$AhhM)<;KMH^M:4?<^K_^/B"Vjqgn +.7'us4;;!5M_@LP#2n(B)=V`jTRnOh0\@>^JmqspT#!fQ>r^OpRW<=#1VOXCB%DKJ@o)bk8bA2H +V&^!Jn#S;HFi,V8i&I?-WENJ^FKU0Vmgb;6dot6A"K?N":+dI7+"2Z8W?o66^n_R!rdsC(C"fi+c_aBD6.Daj8=V:#Fm^arK2r/FW +E2,s#;N^l4[S+dM=(;331!ThYO?n"1Ha'_4%S$`']cVkLD.&9M1q"^'#T0#sA^g<[/1$QcQ>9&q +92TJ4g`@I!!uP.u]o>-ckT3\pRp56=T1<;JB-7)EPY_uj;rs':'qdQd@+:;q8V`CJ)2VpDJ2Q26 +>EFZf0F$IoFjW*6fC!fQ"j2*h0h@LoZ6htNQPq@7r.gDBr9g_GLF=+MQE*JtnS:64[^h\[AkC-QUDO5A'9mTEkE[!mN'^QnQo(`iOioRA\8:]-Uh0_&E#+2J +7g.cQUP8uQh0Zc9<4LE]:SaG];C&?C8*]Z&$oM[#Ym'.[-@LT=Bh +O2pgdB57g!;0ES]QAXutm?P5jff%+.lf$aW4hREYP8"Nc-Zd578dXZ4[G&4BLs]4:YkJ:'G-]"r +10JHtB3#p#(f1c)HP&[qW#uL#H/S#4EG(pS4/%P8+"JA1h]V&paSS%K=G`BXaNYNPb:](KFK/el +>kST"QDN139YqVEhW<]Q,_\sHan%k%=gZd`j[MGTF"I0_RJSN>nF*Bf%YglWLKX0frE)'=)$]Ss +3,J#QXariZ=OLk;0V.U]\fOhKI=du#eIc2s'Qes;%;#g3Ta%YJD?[Z:0a9hslnL85PI>X2,ca83 +_S!>^8bXD2Ar.WtA?PDnohSU7r=?O^;)P\%3[6IFZ!&]Ab&mqWVA=3WAXL" +FoF^0=$[:DK&4t;-uBS,D3Lki(IB-03mq-[e+(XSFa1H9/a59/;S(tAlaqpL^00?O;`eFm-W-S$>rBCTT#PD8EB7=Whe.\`8"TMS0E\gO8mV%[MW]8Oi:JaqE3X<`SOa#rf/Aq^_"%BO$krq[RFBSnP%U`0WN21Qj +'$?;r:T6O9V09b5rkmic#c48!AZ?5j?>1bi"lOj8V%O7<^'u4+#G`L3^gmhMXU,*jA?7Be0TZM$ +mZar&$Dg:-jmZWVH@&KdPTXdK-3dSt!*=l%_k:?K/Q,_*0#UT%>1"J3&KkJ8T#E"7;F"EiVd*Ef +1k3I/8AYW:jRPm8'PsU0eYa@%;+\laU8o"i)+(l$t.]tW1:,.FQ"Pr#>og,#t#I\-3oK_#JaN8+CIit>4_.h9P1qR#o$6k +o[j>__^@Eb`a&$6fEJ.8E+$ajXZAZYepSZ+#_8iZL6r>KV]c%*$:e>0+Rf]QNtcPRJC2FBZ-=9l +\817/%?]Zkk,,CpkR.B`Cdpmhkk:/Mf\i^ZObjEc;QTD8`=3eX=eAqO#\QfeEG1eF.0=sZNZPq_!3.)F3b(iKe*4$""'8*.h&4lAaM8AdGdmTd`HA4?GH;$^QcS4s4+VN]1g1XeUOFXbf_Y`nB,LTr3\Zrg2ZOK&1IJ>rrA +R0h:kB9WWG5_Mj,Nu;i&P,-N#WnOT<:HjTX4(]gc%E`o@`i3U.B>@8P$V]GK1jOi8HmIKN#Z>.T +;_,4l-o*VQo+[&0=Cp!=51-<'#a/Q=aLfr#&:h#Z&[$u5dR0c2.Y7^~> +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 5 5 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +13 0 obj +<> +/Annots[133 0 R +134 0 R +135 0 R +136 0 R +137 0 R +138 0 R +139 0 R +140 0 R +141 0 R +142 0 R +143 0 R +144 0 R +145 0 R +146 0 R +147 0 R +148 0 R +149 0 R +150 0 R]/Contents 151 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +151 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3g]R)E8D +QGuD3ErB,Lt2nJtl43FW#rO<4Kiq,5= +ldl9?ch!J-\8)KWq5u?=klJK_>E]:RX9p)h0bFI(2R1JY,g%hi>;".)BJ=$8#&6tH*/255C`J3^ +.o$s?Xh/Wb/[0m`^-W-)T(C%Kgc1Hfn#Aqg_Cg`,l8m9k#c5YK])_<<9WJ_YZ)i9raihpZ0[2AS +8m!$e/Fu@P!CGF`*/:0V=rTRi5d2SlN*p*5%Er4s2`>/:`\8U)&3r8*6Q"9?";BSe0oZ8@j=n"E.-*CA"&/l)%KiZn&.X=@n2aG= +N@dh!F0+gmM?B,l@>oh0j>+.GGiUu?!tBNY"9Te'0oi#Bb10WOPqPhaeDO.H[UZ^f@GDWch@L"q +aKQ3af$N/@"9RLX0jDODa:L7MZ+TSB#NWY!C@c66rfg]>DOP2_8ZQ)fb1DuK")$[X[>FFY7 +fTBHM,>ED:WZ(Pb2iPQQiM2F%:7$W1,Il,g%2F]Q2@6rq:5WP1O(iXQ7^ATB_Gng;riIN0nZ*9U$kLt9)Y+UV[$?70YS +TS_7US5hTq$3=h@eoOl!Hc^sC#a=7N5sV_7Ni:ma1Q<.e`K6$'(@bj?iu$W2NWW(d6/_M4f<4I^ +#i7TO("ITFNVkJ+PN=f2>F2Z6Nb0&]D"_a\=jSQ$J@H-nB0`YQ3$8W%q-,Gdi3!/a@1;FlVP81T +MV=.DC5l=6""40#Rc;"rm=[L.2Td#W9#Xkk\e'X`TV.MVL^n4U1HGa$h&ES=D\$"U/[in,+HiXA +`nBB3Q]TP1Qph,XU_\T5B%9Wn2['4K+@.l1'-_BQ"T`K*LHsc-JTrgXnVe7h0^9Xq-n]k_[8I5` +?5s`BG#=-W3#^7P*@#ZY=d`B"'NNZCKKFTh5>(` +=I;ATJ2mg3W#:4Q;(ncN"_+`S0#dV'+'`b=1VoSCL-X#lK-I'$_85LgF`\#/ODkZ%Zo81)4rMjY +Z44UZ3!Ook&(ER\#G@;!"CS6G<(JU'dXk$+n5*q$4T#K5<&RBoVb62,b'8*(-a;%j:S#;!<'/TdY1c5kRMLaZArt +/%u0$C5rEf$FRd@E=*D-&5jE:(h4D,"k9)AcY@/e6$gLPn^K:FqKi]\h%=jq@FM9-5jG!l^(#3c +C=5Xf)k8H8Q2uq"[$W0JPq[<>iK,cb0ZO<3r:LO7RS-\9o24:W;04fQ+T>BKGUaaiVd*8I>c+WYX=$9T;tZkKU, +MJE:g->J0XD[!6Mj?sqc)\kn_"gs6( +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 6 6 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +16 0 obj +<> +/Annots[153 0 R +154 0 R +155 0 R +156 0 R +157 0 R +158 0 R +159 0 R +160 0 R]/Contents 161 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +161 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWRXJGRac3qK,@K4k[o1U>'I%i2o.DPIRI[E]*6[ +P97j0_Y8C_T)UHac"@.qC+Y@Ob/7G0SrGW4n&1"j@=L!:aq,\ML^6F7:qWSC+`FT`1BC$E%YFso +J7bV^@E;[m#/SB$&.454:`4s2T[X,NYN&IP4RRgroqb?_I1ioI_S[$KDR0-TJP1nV\iT:i%hu^9 +"?u]HOl@39^JEnf)MZ'.A/YWf^i11.O:FcWi/-`-Z_/O#^6=QUU/VZ&4cSWmfCu74*'O[:bNPh^a'SPr@rrAa6 +fOu6-!GH!^Ku'F"X29K7[N^b7.)nIuj>][2B[RG&")-@U%RXXH3X):o?#pMWD$i,"oBi\=dZh*=qU7?N$66o> +%0dLVoml.+h%r%:8.:,Aa#=F8(uR*,@p$T(eg%Q?3R._G?$N)?V$8CQ6J,*cNT6s&'[sm[D'TO%dP4ahXtNDmZ8)_`cVP`g:"-HI65WNV +0Mp@pdmV_E:"ZQeQATg^au#-%9Ds.h^fP5G<##sY\bB)m/=VI=\rN:_1XYBd)R]T[t5:sfAeJq,#pZNaEA*12@J +BbD%?[,u\\g'j(+:5CXHB.#$0^b6/uO>-h1gtWOs$Xp,!1:EM"$fL)H>[_dk"XJoiPJaX+:rV.e +;R6i66:clLrC&gp(_t[I[WsO*jf+$joAX9.H@RH*"]t'i)03rEi7J`,WPWG,\29_8&i;@8`.M*X +.$lNNrk\9S$XWPToIMJ"`Z'I +M]?6PKon,WZCdeL%Lo,-1UG),;o+XlS:TL'#>2-b.`rMeCEAjX!$5d">KBahXqY`kTh(R^kS@]TO^_rkp8*]+V,LGhlU;I)C`&(?f(Hk:[3A*[.urp +_nD`I_2c_g$V%;8I(X=``gAO8R$d#f^R@Q1L'E>T/Q[fM0I9PGJ,~> +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 7 7 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +22 0 obj +<> +/Contents 164 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +164 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWRXJGRac3qK,@K4k[o1U>'I%i2o.DPIRI[E]*6[ +P97j0_Y8C_T)UHac"@.qC+Y@Ob/7G0SrGW4n&1"j@=L!:aq,\ML^6F7:qWSC+`FT`1BC$E%YFso +J7bV^@E;[m#/SB$&.454:`9K]T[X,NYN&IP4RRgroqb?_I1ioI_S[$KDR0-TJP1nV\iT:i%hu^9 +"?u]HOl@39^JEnf)MZ'.A/YWf^i11.Ol>'UR*m^B!Z9cPNM?d71'OC_e1u[Y +I)%Ruj)F,pK^\7,!24JlBgDp.4OalJO$FdM3E&>2GEV5hD^FH=OK58<,HDB%$eWa9FeC"fl`9! +.-;'L_gKLCM3c4Z.ZS!Ec8+4aYh0Kp@Gp$;e"`:X/qa8`a*5s?p)/bt[&+p%i]*M44,jmg0oKND +-8[R:FR:b@N7J/!'Ef;PbBW0C!4W_M_$4h#Mh+WES;!X:MDAIGGcE_3K+,U.?i^8K2iM7Fg+q9j +f]Spc=if_\iH_SMT'Q+n`]@co*f;E5""qp!Bu:3BSrP%s`'!<$#,S>7g;_JRCO-b>/.)FaW$DP7 +nE;UmR@\F[9R4q(1%H$?kC/FYDUY>;K9n168/dMdWp9H,!ORlo<7e&U@UQ1sct6Q@$Sat;NVVOXOdF;#+AmE%YZmMt+G6YkXC;aI7sl*N#9H*Z[q(p00/1?R$@K.Atdb#`(0/eCHJ +_\L(R=aTMb3!YQ8$X)d&%FH@;Y2J(UP7Vhel)6WIn3@ZhaB3hMAbNIQ#H$/f6,jDhq$L2SUc],+?Q_J;%9TXs6: +qb\N]^8El$*>8!r$DC&c_AFmBQ_]_6&AU&U(#og2:i$Sk\SS'aQjNnfH&0ZjCU%$lXdN,$RBsG] +KM\0R![prV:17=$[;RqT'*)9'a`9p!=9ok2(S-K?H%H>0\ee=tOJ%09[r>["_k8Z?NOUitpF<)3 +!ndc.D/R!ViicG<4/@G8Ijp'#kTN'OC[,:a-@k"aJTrhV:r,*mi8u!:=CVcB@=s0nk>5LUG"BO_ +)lKL#!eG*aGGldH"*KER'mM,aag=)6:rj\V;J](Daop@!(u4%j;$`3t^FU&rJ.JZV5aCS5Uk!7j +e-1@'6#75<.b@Zd!%A)La_;A1EXDonBXKb"(]oGiCsS1k;F0Gm=IX;I6b;Rm(B%qq!,$*u6=[E( +Yf,-n]\]bg%RNG%)Zu"8AJOU=\j50lK.q(]"0K#E1&Q<2u?+_<+BqR;(H),q8^+S,\;SH#/H?+tOAZ+FY^$C^TNJ]t2p(W2d"rGsl1GWDiCB'fbiZgNq\^s!]! +D"jlL[Z\oS%nDA&6koePG`Z)^7Y:SCW3d=edbUa]agDBW'ET~> +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 8 8 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +166 0 obj +<> +/Contents 167 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +167 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOPFUi +*(Jr8Og*V+2^4aQR1j$;-&G;&:BTL^e,WW8'If0Vh=A]UKEarQ;jnXdj`c +icRAU#Ug\YeS]fQkLaNS$93QN0H#)35%0/2e`ZZsr;N=I0@)TJrU(\QT54#i43KGB^O]0!WrYHq +.`D3IY%mh.6-Ag(kX&$2_ZW13Mm0cY&#,BQ6>mM=LbVRk8qmeVF!/R[N(Ol/ZRf8g)280\PSo6" +E,6Hu+j3X1L98pLhaD6r.h=:pW`87HP$>a6Ulo6[P!fkfXLUDFg`HZuEg4)L4HV]T`$&r4*ls4) +Lhmqtbr[W(19=)M)hoMpF;d[-:f%^!PN[6ONeau0ZZo`7?:!jKO"%\kFs(X[=F$U`;s +'/MNRJn4OtVOCN`DBWeL#L#jk.!rOlfa-Bnb^F%We@N9Us-^bPoaNo)Dgp!?lK7OW9:PeJT@n%hQqBHn+$7,QgWrTZ^:nLp%pt/39Qh7U(,BgrfWV( +nXs+Z#7pkL#2m?=K1KWuO3S2#`pC.OW+U77A/@O>o!O+7,_+0XlNN'K%$AH)H`qke]\"Y;JUfat +mZIbd8;%r?'JY<'29IFJAo1OhJ;&\f)SKP8*"?ta%Vs&U^9sJ!_5dP::V#f)OAZNbauiaEmI36J +I+RCGEsL5p9(FMOjH,i!3u +DK7b>[FmDUT&ZLRTtsf%n8fMt>2Ba?ePUq_1_&Mb>Qk.*]=<,>*8EBJC`oFtLBg!]<-W5@Oo-(T +jT;5gpc((FTlNQ#D\.OGQZk2#3D4nDTUOMNI1N=N/NCi]UG+8M0DP7]=1oP['8N)G&>m.]3"DDT +l^X)l1=$iXN@1OH%B`sj^E?H;Ve@JX@EiT,.HN`)rhu)1VQgQacoLtsaI"cDY>0U6\EbVX +N3$F7FZfpX+<.%AlOH4CXtI:%!1"8#NR'Qq;\L#.JHPaR!4J:#3@a=W7,!S8EqkSDm=[#*LKPB;2-B.oVQ@.2ZVO4l=uJ&^Y4hm( +'ghLdFrnk+7J1"(m+l&$*EP&jCgTei`YcPZ6r;2Ps_=r*ZC)N.OBX^78jai'a$N660` +HAj4cM\'-.URp']j\s1/kNVri=#VGk<=1$nY2C_*l2p5+]:i(-^"\0[nuYZVbB)Z+`k=/Dp!XbC +EUQjaLA,AFK/`<\iTP@eQ^0XaB<>+8rV6U51AkJZ:`\>7$,EbL$t.LYjPS^+_4\Vo\C4WSYX>h5 +QuY6B):a-(^(4'!Z>I=`s'mPNGH%a$mj^F(N"ee=UIDM?KiG,&BF?q%9M!l8%Cd:&BLM'PrU`mpSomT>I4 +`KpAD2$gs9X6#mXX1pSs-0o-o](rOQYMUB=)GRiPg4)aH +P_` +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 9 9 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +169 0 obj +<> +/Contents 170 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +170 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOPFUi +*(Jr8Og*V+2^4aQR1j$;-&G;&:BTL^e,WW8'If0Vh=A]UKEarQ;jnXdj`c +icRAU#Ug\YeS]fQkLaNS$93QN0H#)35%0/2e`ZZsr;N=I0@)TJrU(\QT54#i43KGB^O]0!WrYHq +.`D3IY%mh.6-Ag(kX&$2_ZW13Mm0cY&#,BQ6>mM=LbVRk8qmeVF!/R[N(Ol/ZRf8g)280\PSo6" +E,6Hu+j3X1L<\1lhaD6r.h=:pW`87HP$>a6Ulo6[P!fkfXLUDFg`HZuEg4)L4HV]T`$&r4*ls4) +Lhmqtbr[W(19=)M)hoMpF;d[-:f'7`UL7E^$q"FF(QLj2`YXF596/jp1LR..:K-?Q5YtE+$l=o@ +W7iI*,:M4"K_16#5E%E.#=?etR-6Ofj#oCu<#$,q;UVs<;c(e_*@Xq8oM&h#eo`i%6dmmJ4&=H# +Pt>Ca!I[sK2ALY&:rSV;_??`?cO5.Qp.uT)` +]f\2`!Pi4b"Tt^dHt9cO0G]]$Uhc2)A%9rJ$tDaA2;ts6 +#i%1EM*9EDN8k:QX5TaiFZS>g.-r^L6dEf&2>O*/OQm`IiYZMNL*S`f5tJR:#uk\98-K)j4tqX, +d+Lhj!l1H_Ng^O%4:W&RjuJD^TNu*&>TEA[MZO0Q-jbJRF_%dV<7oAM#`r=1mi;"N&6$CLE"H)Z +FX>NmG-k\'"kM1Mfa7Q4-.CS39\22smn[>D>IF]u(t%+b-"YG(9nDY4K,D()#GF+d'8sTVY?fe& +`AM@2s#k)ag!sA4p3bEBhdQES=2Gi&T<3^I<4^%tMW+:\`@eLSR`Bi[g&jM$^^7iHrIBtb!%^Xl +!h])>I4ugX_1b4<$DCEA+9~> +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 10 10 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +26 0 obj +<> +/Contents 172 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +172 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWRXJGRac3qK,@K4k[o1U>'I%i2o.DPIRI[E]*6[ +P97j0_Y8C_T)UHac"@.qC+Y@Ob/7G0SrGW4n&1"j@=L!:aq,\ML^6F7:qWSC+`FT`1BC$E%YFso +J7bV^@E;[m#/SB$&.454:`G*4T[X,NYN&IP4RRgroqb?_I1ioI_S[$KDR0-TJP1nV\iT:i%hu^9 +"?u]HOl@39^JEnf)MZ'.A/YWf^i11.OLaK!enueTPtGGToa%?8Q*XN"Uea,cSWmfCu,^,+_j[e.j;,n'96QRgbFh? +4aCBlaLqin%J(Te?brFd@q"#bAX-u;ctI;8g(OJ72iZBoW#XRN5fPM5[btG+g>`afF'52g9G@uF +.*6d@iQ\G<%YK3*GQe2/+up/mjdfg`3$%s5fX"u*1gsIiAQr(M:h+.eFR;7N<&AaR#)6.iOZMIS +-r;a\GgL#X%jQ&M3"C4G"rngq5g:rYGRUM\X=#?;d:(l$J'"TflL +G\F/*;V86J9iGTY3!t:_hDPgQ8E_&s!hG9*f`;)s3GF_k1QKr7!4W^Q@c11a#!*NU.ZS!Ec8+dU +0\N7(_#S^9NIuJo0TCX$Aia1,E985F"5%lQNMD$V0[(^0q@F$^G8(gO_bAn3"l4u"0'Y_fmPI\P +W'SIE*1&+t>ZW:3<]kbj-cPZSc?Z\H6,e!nWK\U)BU_bZ!H +W8odg)qa:6%$[ZtQJWo=p,%`Lk#n/$]D&,a_^hF&DO'3B#=RemS'2!D)+c8G/GIZCiFD,f41;"7 +cGO.SJuVhH1DJC])N(=]m;s%%pPeRt9>Yb,Z,AU,"I@lr/I5a8L4[cUdbP;CLJYra1<9sB>W?Up +:a(7@J>Nt]UXB=>8fB$9Cu#2>E//E%3'Ogl'GH+;Jo7MI\Q><,!VAtkOYp/@eA<7NPZ)oP^$`SP +i6A#XE,T0I3JJ+1)^B\]Hggc.!f1:u@jEs1OjW^:\$I4-">l+AFsR8_!Xi:=F:<%>*\"C?'OdYO +D*WZk.Al%e_ipm;,sb-NR/7:Y'TZilM:%(9f#qL[Ee#=G4"iH>bsOI.IfZBg^+e[h!t'9uD:'Il +!9l&21b_p\3QD?ecLo$;4:]Y68@cct'jn7fPcpKNbP?`-=_iAPb'_IMB\8gU4,S)EkS)"YPn`D7 +nV9Dr&4s\"*(+*sI6k@`/K'/0UkJIOO%O[o=EY?f]9m\5bSJFD;W`N5/>=h/2huVD$_gHLLf(%% +4@^h)S!%]!@"9F)5`!TcC7oE0VJnmoC7+5;G?Q/mN4XVm*%:0=LX(m4dpV+`Tc6?l@87=;&FeJB +C^,E2J[S$Uq$j?'#]\?Wc,/[8mFa`eWf`$7WkcY"g/r;)/m8+)_!s)\TP0e?Ah'cJiE02QDgrp< +-j1*[&ci.-RfUd&Y"4ctUjUW#MFOm4WmP"I]N.cC#tVs+k?Vl:H*$SZ^,_RF^nIfpO_MTP55;2s +lWf;WOh%8]GTA4H%&'>:G)]+n.8F\RDC:""43C*J&tdF:HZX"8cs#+3T$VA^NjUf?`TH%0BN5C* +13Z7M=HG)W:(EMKZWMLT%ka+lY*I_R=0!cW6ZbqKQKkcQ(Z-JjZohf7^bqamF5A7*[L0I^$6\M*Zkd\k.s6eG]c0 +JV5d3]KH&.'AZu>7f$S5du%'5`krHS%9gQd,Jt5$$obVT]ps*\ES[sLn2_jnLn"i?RaFk=c;%Je +%+6n2_25GE0t4XXM1[[b\aB1:]8:(jZ=>d#!9btdTX5(T,WZ;DbRamnM#s!'<51_P3N%D_r)BU= +bqAHBZY:EQF+A;V5`.U8<:-7Z5'j96ln%;@R@kC1A9 +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 11 11 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +174 0 obj +<> +/Contents 175 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +175 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98g&-]2'=tt[2&F_Xf,G!HmW&Y8Ge\4$QTb[H3Kbtj<*=d]MgM5-EkhARc@n#f%kLWg5=(k\ia(>dF +/rcZ?WSkWON46=]9833?=qGGBeus&Y=ub32le;W_:MdV(GSfDO-F^JJ]/G;Skdu#r2f&9r7Bu,= +#-#7o@sHooKqin;5Ysfr`]@H!'cms)]N3Fmk@&&H0^66FA'=I$XY7Fi)c&iKoX#-)bZ@bd4kJ`/9o#!h#^_lI0J +b7lQ1L3?')@bk5smA5S,kSp%dh.-qNOuJ"o_@:`B%Um"2LEh&h_`232_78/"ohN*V@]N:U%PF69 +S-T3iDJ7&Rf0n`c#Qq)X=J;rUL*ert__?+`,nq^0nO=W8YmnSBud5[;JMEo(Ai+Pal`A/I[)C^tHU?_[20*?Cl-a-e@:Mh=8kee]7DRStUN&TD=h"3b#;dirZSY]'pp@e4GP>&he@>redl +Fq*E-%aDPM%VBBu%T&<9/Xb?RB>LQQ&k[LGn8gVJ.gode5(]'H:p_VJe-6SV3#d[A6tYf."VGUU +;2Mpm+[#XPoQlA,Ddg)--mNJ[6p-Kg;)097U!UQji,'K2?:j +JX"9Zb=u`,R>kj]!UR)7@aj$"@Laprd02G&f@$T@CMcY6VJuMWa%<[U/V#6SME9Ns=g)]p%3&QL +`oKhI[q@=1@"\+6g"PA)%;,B9Kbm2"1g-Sj0"g)3+kGZ0)g?RF^aKZ.]\2+=$4\WV-oW_edpD$0 +>H6)S>IV/1?BFRn'Q)6\2I;a'X+_d2C-2]NjG?m;k0[hCaMC;Q*5lPm1m-b_#89#ci0h30/%!06 +ZP*iO9IX#8c!1F>HFG-`clI%B'#XHL@FB=-N5;V,%0=15@=gRJ+W_cc +nhnd8AZd^P$.jOp%[.SgZG>&2g6S`E+Z(SM^krVjO@+qg]unf8M\B9/jTHLF=p@tBDIgCUh%J6r +VXl?N&\:,uno&?V,m^30!$ZEoZoUTWX;`=E@15WD(RpN+$c@'P#f3?'#";:_9m7809>,JkADiF6 +%.?[m"b+_:!0MdbF.4Y82i,=k,ksCq)6b`UY9HX[u3`VaMhKopiX5[ +2Y"LB&"!&IDZ*M7#/J=5OuZJkKEM~> +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 12 12 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +177 0 obj +<> +/Contents 178 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +178 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98gHnNfo7SNa]R*r +E9Q'de=bGVKu!bJ2i_&_UtLe)0^^cWK4$r*l%&h0(5QBY5W=]*T[GcYfsXm?B.X$jR:H=@6&KO5 +B&1$$!Gc9_Nkk]`0ob4rZn;L_Ih@GE3.T2*N+%.n@uGn/7;mo<(1n6cJc?8m%aDfP]oCR4ne_Kq +rZjT9@pjFFO"H1M1^pLQ@G,gp[U'Pbm9&.(LL&ik=cEN\80%lmGjk$R_n:&r%,lG@+9s'7YUPE[ +Gc3V25'Y>X%D=q9`-L=lWSWZ,VlVk)!IsMV"/%8o!56MZd+[A!P,3Vg5W6#(d/KWKfmiJq!Pm(G +)B_Y$JRI[s2)*2V+64&\:f'/9(cp6cQn<`[OiIZfg)38J)0qp\qM&W6(uYSqJoD&0K(s/"gXCP) +/2@[Aa79M-X:]s/NZLA$N=b!:c?]h4*5X)n'3Fg09&9%(I1tV)k]SeMkT*%51=Q&eP&J\!4X_/_+Z1c8;Y-f2&cZXl`(E6KW_LnY# +O)Z3d_ABTR"&NKiJ]K^h:u3-re,h/n#:ng]S +-aPAcXLET'U0YYc+E!a>Hj-N$1;`al$U]KU%)J`%6NDGM'DNc'A9%nV#Yrd@pgXF=)KhuMbnoPJ +GR_q>5)/;#)Is522KHB25DFq%,uY%PP))/R5fsI/aE%iq!c1T1\Mo'R((Cqa3A/:8%j$fnEibCc +[s6=A!GdJpZl2d[p87CH&:'!@0gecL[&h/aDZi>=h7M$V+eN3pCTtKTW+JXB'M5Q1^pT$JC2k.@ +X1i@XZoCUr[lFPdLfRotM^mF89nOBkERRsc_;]_nE%^&dnNDAF,,-4dE +A^u!P*L*:a"gZ^%bs9;]gnU/FNa^0N[lEQA"/9,iOjd5tgJM]cD1gB)N4]CKnI:ZtB'o\cZa>8/ +5sS!MoYjPM\PCPKaAe_(e2%;@L)];#790W:0dot:ajjlM:$f*]1A#JC'CBseiR-T$$SZDQLiSq= +J_RiY2Y +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 13 13 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +180 0 obj +<> +/Contents 181 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +181 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98gL]B1JFh^Q3Q<(@i_p.3#!&3K>?V-#=G0,2N@lI_a,Z&#hh%hTb-E)KL,6bb_AhGR6?3( +"T(E=6a4Ec%\kFU2iPQQjta@i)!OMK@sI8t%YEV8(QT#-?IoT[LgJkq@;u[.Y](c+rl]"g+0K3"CR3hDYQ> +8EPp@,Cn]-N0hds2hV7JVBuY$"ee90j!\.D$2::_2d^&#bs;h*!)Iimi<*CAhj=$;JI\%o%>4j! +70_QXK:$`pfjU-5)Bs1rWCr,":pqDM+fKc(L)FldAq+o%_&5=<&j)%%3lGMBn\Tsla,lg +JM0??`O?IJ[=dC(s]R +p+u8nhXA08if/#&15B2^JaN9lcSK'[hKR`^"1W%SJ[,3hKPh5"6+M;;/crb"TF)co%KN^9B\OA7YB#%rha"``Nfu@N@^-e]6=_:5`.8qd0)3f+FXP$6u +Kkg](49St@_,@9e5R=65n7\JO\mrbQ_OH[X +_-G0X)$K[=.\nh7Qa=P:1HC4!V``rs1U,D]!+lY7GVN*th*'*r`B%X:jWa<+afZn$NPT\_#6Ys" +8;S'+,]msl1!3rQ[=moa/=hb.D12^[70qNo:f-,EP_XeJ!eZsU":E7OWrU$7.=`cTo;FFEVE5/c +K#XOKmU+!7Bg:hJjd@X7fu)0%$c.6Y%941DW`gE.k:I1<'G*0"6t'#,P!5R\'\^@1jZVB=q3QrH +Zqos[0pT-0X&Y=h;.D=M*e61+[!"jY\JldHM_bQ&j;GiXL8X,GdUWt;'N;M:as7=G +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 14 14 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +183 0 obj +<> +/Contents 184 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +184 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98g0#K#ue)-aj24^YfZCPU;"drr''R@E86^.`/ca8bcqSXb/Ql/ +HQpSUbqh&u19=)M)oi62ClPg[:f&?o!XP5C$%a^aVBDR_B[VciAFq"'K-8T$%,h3/fT!#[kW+:u +#i%16,G=6\%3lGL3XiC2l8d8aLrMB5UMVk`%?u+[&-V%2Q[;sYKNG#:15&\qGSf*X +p)AE^0plS!UB/UOAC$J4!C9esPa[5%1XMnDN^LlQ/.&%^gc(1%XXZ7fFa-/2%RYK^3k(BihDnQ" +j[_KlD/dGGj^OL)A)\7EMdtqD7E\rj6"m68g\2/_([K>%?JLK_m4]^h6?%#^g#<"[10UF1\V>i# +7?S3dUU?^o[s*A4'Q?D^=;-aH3*8+R686k[o%_8B3RdXs4j\0AW*2,a%:86Plf0C!D!Wm2bC8@D +%/#20\3:R[loQ7mLun`*BH1KT5\<1`TpM+o<"skbHJ\Qi'g2agkDU>jJtU;i"_2(K>\..!MN9o!-AUbG^"j,\3#h-_O0*Wj"*.m[a'Z+62$A$;n#;FBP_e:6* +9(g-.-_1A6E?Ff<52'"k`m$<3'"h`?ptn")r0^W`2#1d)a9HfQ:Z/%?!Vn +F;uL)/.KFL9!SUA_LnVT2DGIQZ?Y1F+lI3sJ>*34`CLq8KN(p(EHj%S5RZQbjDg=s*iK:jrYDj!=MY]V,M9(37p%SB?M3):clAW7=[6-2+B&&XJ\%&&Ae/[Jn'_k`?2D:C>M +FdF@RkU:G6g/A57Y7ea;;@ZBP.0hYRVU\;hA&3k;#E[mqJJ4O_TnqJU=X>iYA[B%P!5TN4F +hj5LR1l!GL[9I+`Qlq7.auPYH,blPio<:#Dl1E%:KU*+.:!1"j1?RBXT3YDVdCN=#l.8k5>'$9I +5fs3IBI*kM%"K"C?q+RUfI*<5l:J:<9eIaA]F>LZQUkgJ.TIcONR0]c5nN9").R5hj:mJ-`b:uC +qLN(VkShr]oFqbY;P&HN:UMbYZ_Q&2TYu(1WObmX_n3eS@/NeE=IHj +3enj5%[t&C2DID*[ai+PWHE4d:Y=GZ-pq6jG\R]HM-Pfa..$9c[9mkjq6lBJ)l(1kEcrE\=IU+: +CjhgmopPT[-kP)u+cK_B_SfQW(iCo7Obf')63Ho("XgZYK)gc81E-`'sg#$)9`&nHNm`n9U_B&_n;%DR0O98XJ +9*##k#c\"N[e:#;'`4((OYk^B^g[Z[l\AOL266uZ"s#BG+Mmh@2Dg5l"i4ZX%;Vat# +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 15 15 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +186 0 obj +<> +/Contents 187 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +187 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98g0#K#ue)-aj24^YfZCPU;"drr''R@E86^.`/ca8bcqSXb/Ql/ +HQjmC/G*E#1CV_^`2/$p@Mm.&$Vgj/!<>A0$:9!+&.M!O`?I)]P>!PE-.63]8gfK_#_jZ3TdWYMK_/qDjVBOM( +i-6'!".8(+#=F=4g^bS$P8DHlJg3A_1$j?=;1V)L3KBkEAiGaFT]("Ho46Y"1C0(I(e3^H_-%+S +/Qa0RJHa+L=/2$::",jc=;ZaNm6?(0"*ip7@#]tE&7RUSTJqg>%5p/)fU1eYN?_i`3S?/&(KjQK +'a[611[%+pdPRLF98Zgl3DWTh'hAm8eO#rKTEEuY2ompORQ8Oe,gCnsH);CJN:)!u. +^k*nj'kNPbAE'7]/VO7Vj>;k@Qr>.Q5t1o:N+8OGgk6VNg5uU`5i+;7]3o:lL-`FL-Ae5Xg)(%Q +Qr#QH,AVG0Do'>M'Fpn0cnk14f+Gt4%::k/E^?SY`cM(a;+uon+RCekFrrIXL*<4+e;>*idF[nu +^u4".I'u!poXpf!@W'9=A(gIKB7nSAI4's"EaosC2N>Em?fU^0R)1Y<[.mNOMLngZ2UPTXRCi<"jodjZcl.f=4ZTRH(A-MY2`+fF%4;?tKX/l2-&4=rj$hD@A-X9Y\(W +)ISA>%Z4hoWPHs&+K-^oTs-5OfL#h80H^PG3&*b@*#kNnqbN7u(Uj%sgqtNmGq69>5%%pO;=diq ++h;`b2)>[bZZ7uYkgdB/TY$gG10u;Tp&gLNs+0*:"tNjU.&[!8U<7\[VCooCnit=$^U-FJ&+r<#+'iX6c9WJ#/h'Ii'8,F!+uc"]j_12ar=X] +F:LuZ&&SVF:BN)[Eoo*::E\L5+]q8o!L@c=#G`?1ikQ#>P'r%7V@s$,Ul"Z2+%8]K()CZ3=/"^- +LG7'm9opJ-`o5eZi-GZm^b>mVJ`MRDjpn?7-Og+(FT\Q,*U1?l%eE,E#&mlW;=HRLoJe0!n>SP7 +E+WOpZk5bdqRAiQ)$`g.FY8b@o[MeNGp'P>"uo1:f\IkW60j +3W^`GZDs"*2=O;25qpJRgI+I9b_.b$cs!a@c$Ko)^8QfETj5KOj'u%#lA%XE)C[X!WN. +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 16 16 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +29 0 obj +<> +/Contents 189 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +189 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98g0#K#ue)-aj24^YfZCPU;"drr''R@E86^.`/ca8bcqSXb/Ql/ +HQjmC/G*E#1CV_^`2/$p@Mm.&$Vgj/!<>A+%g/3O*=QE`fJWo.TZT0Q"(9#8-\D]Y15DP7kSSt= +G^Ubl+d5SH:P%G25gXUQ)+RP'fM>>nJ^mIadGlf'8^auU79*-Io`7>`6SR@W"f!K_0oZ26jta@i +)!OYHiHS@,Kf*-45>UrhI:-/X-&lFD[T+e2[ppiK3`k9Wb@?Na0Q\=.*;U6OokCbVNIH +9pQA#e<%g*"TmU\9\n*C@UN#'N?itr93K58VdPm0<"p?!pf,ca_i)YQ.K3FPr#C2;q +Xm^Yl\(FFl"Sa:<>i=-J&2R_)/Os,Np'la5B/i'9H="L;nT8?LW(n!/CbU(#doi6>RqJ'>Z_2&: +V+X8.'i)*+d!$>tfT'H,b1Ti.I*FVO8@f/0;tJq)/-mG5TI'rTQt8AaiL"O*MNn0<-k8U8gtC&l +@\L[KA!fQW"9ZHd3]1=Ga>]&fXXD$KCm<[M1SIo_J-Eah=mG7? +E)6(YriSW>NS\$3l!3)DQm@O*?a]T]^?C(c%EeHgn%nfW-)fnBTPt-/2:VoM`bWD0Et.*X3?,r? +)8djTFofr+\^MnZd@6m8i4p;CGG5EGRZ^OJapGkFl5_#=T2"g/^,ffsi1@GQHQ[jh)T,fr*JdXG +E)\TGAUamb!)m@(p#eIC"T@6$g49eaB#,lE"en*sK4)>O#9_kAR:pY@B!)Ao-p"BEPW)C"jrM@g +>&2B>ZNsuA.E%U.D],%jFV-q,F);\#dB\iWS2>iE`8Q8lFq#UZ43/iV)!#4; +J^FBPOVlRT,@fGed/H#7pYldEb@ORd4;S.\AKG<$I#jC\3^B)5)5Tl;Q!r*/_8s5)is_B8Z,TPY +QVf/>i(XN?^*"@SKb`Z.Eet00bm-7;*oFnaO7?7<6$Td]VP%c0i;>CMi9D9`ph:.eoc=3JT&-:@ +a9rY2AkGnR(dgi1E5A*aXuWZljd^dcYtu7_V8j`'Zp^D3p4A$f%msD;L0)h2++hk\)+1^NK>>tU +!Wl-]!M(6#@'gh5H:U=&_8\=*:bjE95&$VhD@UGe2UAps'-+?GF%5@S9k/X@d=\-0[$V^5:gDl3 +fqtU=THkJ1AODb;H""P*ME'_#ojDGU%Y;aqL+qI'B=MgfJE]fhjPR +<'Y&f+d=&M!;6dfJ:%O'3$'a'-4b[k4CnoM*s^OO[7saTZpr#U/-mXBD(%$H5_(Jp+R[pBbQ_`] +L=+^U$k#VepjP+J`N3J2f[gdKFueZN:-bCY/-7%Tlgei%+\*Su'q[ +o).?P-%C1,6R9WG[gkS*-\ehRNXGkQ+GE(B#QlK"MlV\l0o)&%!>$V`DAL-r*'ac3Lim.kb9>3E +$EDN/<% +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 17 17 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +31 0 obj +<> +/Contents 191 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +191 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98g0#K#ue)-aj24^YfZCPU;"drr''R@E86^.`/ca8bcqSXb/Ql/ +HQjmC/G*E#1CV_^`2/$p@Mm.&$Vgj/![[g.2@UlR_bJ\!35\Bp_B>d$:a:5H8IT)oau52;[:aji'sQKH?^:lqJ@=L8.M-%@ +KnG5ki\m)MO,ek,,W4HOW*2;]eaVm2?a_rN&.8P4FuF!n/IjcMmGR/B;YCCPTaYG5(,n-n +Yi%R&RE`R,%i+2$1gjDA4%D5Hc82:,R'J\*kC[ZS@uS#@]oIfA5j;ch1]Ge([UUYRX(A$`:cXGb +9c_.U'n6n("9Lie-Ad9Rc&#pKmPg[FGWe)HN:[R03f\M_VBbYjB0Cce4LUXn"J%b*08O'CW$$qK +G`FG5_FU%b ++ikH)0]!g;Oh??5S2,]YBFETfh?Hd;4p3j,DHao;%ACSi_WD@=>pD%%+c&5c2sfjq_*n[H4=5_` +"Kqn@CK8L[/-R_p'cL:NAe>k?62"#+VRiBhntTjT!rd%KjXMR,'0[8<9$0LU`D3I+JY_ZKE[9fr67'bk +=Z`H<0<2];$M`c5'n0P09j=e/7'AtPf*%@t3`s!kB.3GR%(!$1!JL(#+(>3W\MOA@ajfc%A +L_GAJ7U^l#-b,)m*a%.DB7he/%2MS%"03k]Ch4Z`'/G]*9!p!Z`32>2->8)+\DSd@DO&Xh)UZ-[ +E34pPTO?7g!Wl+)J[dMNW6?$08S/>rRWo&[d2n`aaIaok+:,2[l)BJRaUslNpuh +M!AD\)4^+9.+EM@T)ts4$o'Ob@qXR-"$6LC2@3;5[8s=qfK?MYQlcR[5ShpccipUdfW/uP$XuA8 +8eZr5Pkh3qZLTT0hZtK;)@H1Qi;T9dsJq[urIF.YIp~> +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 18 18 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +193 0 obj +<> +/Contents 194 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +194 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98gL]B1JFh^Q3Q<(@i_p.3#!&0!<@@,2.:1B1q"Q@hDkb7W8odj_#RXM%3oiM3jrM5RO/.> ++Pni5UMFu)cu"Yb0[mjd'JtIEi(uFoK-_a5%UfA&3K0^Z+>Y6p8EMq\,<31IaCpP'-;S(.c8H-l +&Ag>%_gpr-NT5!@7^_8)F;0DpaCNb%PN.-G\X='.b3N445pSm!:SGVb>s9a3>2,BIHWNWTZ63T*s-=sr7g +Q,knDUIaSaN.WOu2I.#G=dK7*[5"'2D12:p%G(l1+4(*t5Sn,8pjHN1\0.>,%FlTD*s\Ltm:D?V"_2;#(1!"`etI:*a)mPi0?i--Ltc(@@hn&_$oMEYA(`f]0k^/B +(@-PUUHls[%Mt^:hX<:L?''43a?e^.(_C7ecXX_;gs=XiE&S$S&7]R7QL3:.@2XiLfj7VV695Ps +cZat@*t9H=[XU13o[1pSX>Mq+ +$UY<=>_.Pf5HrqFT9JJiDqGagL\1TI80EE/!WbPTr;kW);LrdEqnU9'"Q4o8I7t*%.i6&B_l.#R +_7c56i:-R"TIkhYRJjnL@fP?lG^s`K(dOI!US4J0L&2BAT6"U!Q7pSqG3OZ`aD^Lia%%t/7LHo2rOa:S5j@)._ODYI-S?)kp'J'@uRM5g279]"faX5!8AW4G<"k4\8 +:nU8`![H`U0WHMFdQ#!R>.nPl62ABrNk:S9d@/Q6U;EaCbQ.\fSd)?1L(M:>6$^!L@;I%jON7qu +3&1WqF:gIsG\a;Vqe3&VC>%&bX=8+1R`KU!gZ.\^]QZs]b.Zu/10i$_C`XrY3e'V@\Q:c:'p +FG%_hUae>J"sAf7/uTD\683+tiK,-EY\"CHG]'`$#W>dT7pT,(MdR;)_1UcPA:lia$IDhl=VZ9p +/8]f2eHM@E.dYB[^c_fcb._!SiF7FVTWisj)?XaeCb:pHXql?*fZOO8+;L?OJA0kEHZN]`77+B3 +hP48IB5:udFgi.]*s0f#@I-^HZF7;.>[)8hCtr:%YStjD99Eoj*H\P$atPAMFrMU\3OXL$Z?nU?:(.Tar[He$?D#gYJns^lg-G.YIp~> +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 19 19 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +196 0 obj +<> +/Contents 197 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +197 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98g0#K#ue)-aj24^YfZCPU;"drr''R@E86^.`/ca8bcqSXb/Ql/ +HQjn06'Pj-1CV_^`2/$p@Mm.&$Vgj/!6>Y>16-P?c`$"Eep'2gRK-;'L_YZ!(6632Os4N*=C6(PUNj^7"kgnZ(i*A&j1OY< +Su\jr>/pg#l^0:a'P*P3/`G$ljiMRJQ<08OFSdA"k1Ol7M/?+Wh1QU@p,:`3>#p&57p4?$-VDhe +&$bTM*H9Pi@_?*l=UG%UbNaD]0]4r#j+D:k"3EZS9#s#IORsDjWJ4=>mJalio(s0?%"H+9!'hkX +XIo[p6'H,T]:[A?@!p10CSC?p2!1Zm&/bI8>.X`'pdDil!NI$[rf)KuOs2-tR9IiOV*= +ADP(C[qZXmuqh.@#c'D2l@:+T9BgE/5.u-7k2NM)jq,9lk[.OIa/s=BJqT,0tK;9WWRKd +B6$;h53HBih4%&t&]q^JVQ:dYlDmIp:oY'<~> +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 20 20 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +199 0 obj +<> +/Contents 200 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +200 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98gL]B1JFh^Q3Q<(@i_p.3#!&3K>U_388Q@Xdg;5j5S+0[E5^DU!BglZd1+1:2i^6J5W"FN +kX68@<,E^J;$1e&2Mf7Aau0ZZn7!7>@GkKi<0]=<:B_I:%NZ*iT]@qh_`^XkeLbW^?A&Ba_DVn! +/R;W6FnK6fe*`&.su)eM#;,A>7p$22%m>#s.'GW61#Gi7?eK?AIWgYi_+1lk!U3l=tL +7FcPl2^QX8?WU@kG2;lb20Retk_Lq#f?Mcq?+9Jm='F1o[>@`]I3hKh(7$>-d^6\C&I)5%UJK[q +Kn!6[@A%I=AQF77>M5;'SR;]>TZTATFu>Cn"o59IQ/fDD?'&a.SSt<7<7#9AA(IMeS-?<4@8Z6V +SIqQ-oq&^d=Z0Q.Rqk#JQ&OrDoj(!`Rl+J9%@$Kl1T#NG.&fOe![t8qM5#Nf,38*Tfg2pf +_B]p%Bb^ldcX@YU.ZOTX(c$aH[?"jO"*i$$$mTs]3c&:;l8gl2F]Un*H[n@:d_TV^&-P:Ji"td5 +/i@I'@KeG,L19@Rh[G&I5SfC+:dNj`6#J.gDB(/S\jh'Rn/@tTJ5@Wcj+gAMH<`SglEgD%BH2/Y +k2B*YIarAlirS6fVUKjG;-W=.SQAkBqSm(!QR]L]D%2ma->]qlgH]P6Q)LrG.^iC3n6??Xq_iUE +^fTP"?7X9HYAdmeQeMULYQ96VFrpohis#W[+aX=R(;iFc(kbUtMCj&qr*@rbIP8t'Z:HJG?co?Z +XM+V6(3'WtS-rq&l(1.pIb9s&$u"#M*Nb[l%:T-3J'Cik6s-8hRbS!\Whlo7R%W+Sr!dKNA[OUM +_P4ptZu,(+kp$EGh4D73DiOS.3%#!,S2+rAmOe#oLU?-4UR$$4Ad#Zr53Q9tZ!5&S3\kp5h]6dB +Gj`i1]ZArG@EZ?.i5OYC(Q@nj4IusW3GZ;1 +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 21 21 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +33 0 obj +<> +/Contents 202 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +202 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98g0#K#ue)-aj24^YfZCPU;"drr''R@E86^.`/ca8bcqSXb/Ql/ +HQjmC/G*E#1CV_^`2/$p@Mm.&$Vgj/!T;k64\&E"m;6cHKEABp2@cK62%66!AiC,CBZj'Up74'C<`Fm"3"A<#i7nfpb'@gX@1_QXO$bKW_c9bac#aIT +"iEabf/Vl6h0.='FPQN@LbQ6gXil3"2q:&k>#qK%LJ]4C-]/.nSL[?d6'XB@e$g&p?.Io$BH'rS +*LDXaG"$C^=+Tk>162m8Kjn0#IU-4>Q=ZVBimt7eNDe9AB926LL/jUpTo`oOe2cr"7-AiL?`N8^ +/WX+IqNaE[ep7VBI8s6P)m@djpt8Ct6)\T2,iN][)=?s]=rIVH!*^D_@?0j+%$TU_(K`R9/VI]o +!3df,JH3bMN-,MM3Y$6G?SbFW`)j*!cW3?Ol%gdD(4i +rh&6MC[+;'LN#NEgXI6CTs=_\os>SQgNn%'(c!e#80-Y/,nu-P;)dpN'6Y#/) +%4/\SLd2>6BOhU7TH6LoaT3M&Fcn@b.3BA^,X!N>o&&T>^rWpg;m+[$USf& +O)aeGa7*9s,S@P0&>afoQS2jkP\lup(diTY,4:UkY7m4sV)RiW&]V%bT-_*Y71%T8'ot-o%n)bV#dHQ4,7qH+[at<[&rRU8$,np"S"DOj;3PIaRt+4(CX`R +(TV1n*8P]mI4q_r^#pHt95uDA[8Z?=(>+4qd;d`b@Y:ms56VutS +lCr&`%h+9,?soIr@XJHT?m(-LTG%AW+>QNr6dkeS+#Hg7Ks +eR?<3SE$>LFUT`R14nh`g9-NHJI>-f4"u$iiTPGbFFCY$i(OPFfH=@kU6^BrIr((5Qpu8SPClha +C-b*\%^dAV]Cd7^h@_SgNu9!;E+=8I*Wi^WimZN& +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 22 22 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +35 0 obj +<> +/Contents 204 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +204 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98g0#K#ue)-aj24^YfZCPU;"drr''R@E86^.`/ca8bcqSXb/Ql/ +HQjmC/G*E#1CV_^`2/$p@Mm.&$Vgj/"2e.N%`8S)&-\gD#W[P?^udBUm;U"rL"&r@7(%,M_afZm +N;l*OPd&(ANT1T#9i,8[Hl%`o.-qb0_l23G#@RVT0oZ9[5S==m,hEkgbebWb#%>/n.LDEi]*=\3a;]F`GCF,R)1Y<]$>5^KEBeOQXI^Ugc:/,kWg1fJS<7a[NY=Z'Fs.m9tftI +:@5[s%=,;b>@jq/2i;R&$YRY:]fsFOdG5$nd<48NO_$F\ +^909q'Qm]5EC4qKajD,AC)2h>JAU/?!TdKCLX[YJTAlBMDe(rchY6405#7J"inT;V>BQ@rXqoP4 +*=(8=r>3]2k5S!)fD$;np)iGWZZ2@M_<=:Y!Iu@!mKrDD0Vmf_P(X"9j=uD`o`AK1ZZi+a4M0-\ +"!DTn42IVB15-;1K9L%K%h1i.8.boU+ED&0O?+gM,5XY,\IGcShRHrY&H[2E$@u_9"BR,lTrTPK +mbuQJ2o;1-#Xa:5@?uX%aM@re089\l3'T3D@j63$"9HbM[oY'IK;6'hJWr892Hm+i4-=Pl3[M=% +k5']Y@QlgC(5.Lt)?Z^`Nf_+$]nTu/!i$0iNq([[ +@+ZGFgb93=ab-'CN#WW61/CPSY;G9ICnUBZB5I9%.59Djff4(gD,mXQ?pG]!WONH]]J@S?kR5q8 +ZOLY+3Cb4Sbh*S?D!CJn6rkSP'L\ah"EAt1+Pf4"j2$X^Q'9CFOq*%f02mGGf*E2j<4/ +!oVjMJUFb.`_DDo1YPjFRb1De'J'@uRM5g27AO]bBe/5t[ActN"Dqk(6.u+e-i9Ht0T'ek-YkoF +aCBk&EDJ1:7a8j1PYc56-98!&k@kjI7TA&K/1P\Fek4,_D%`tXAZE/l>C8;I&TH3\Gb^c:K*RJm +PQjYU$pbVE"V3VM"CTXq6XXF0c'TB$`E?P`rIM.;nqp,\&RVUCJi0tsKSg$]ui&X/#h.Y^;0FpI8]U3IDC4h5A%lU:">EIr^D%dS4f!aAcOGOZ']tLmU +//R"7]5o*+MlqW.])j*d?>GbNZ^(k7YDWj5XA+;L3;+g\JjZHNCIa;OF%crP?^=k?aQ +%.;#pYCX.WK$\(;Cd%^/f8Man9B1Bf?1#?"`jl0JU::gj<% +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 23 23 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +37 0 obj +<> +/Contents 206 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +206 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98gL]B1JFh^Q3Q<(@i_p.3#!&3JU:WV2Bh^Ib_AhGR6Alk_cK,,o2K,@1BEa.)hnC'EC3N2 +.'OhNU4AUTKf!Qk2Ggc4,>!X>\>_iL!?5]-N+7,!g`qFWfJJjeo3kl#JkZ+1601qgcCFIAX+(UZ[GRb;Ludpgol)k9\1S;Mj#0p_M2l)E`K+H$ +G#^`e\NVO!:QtK&K]..#*Hk0)ScMG]emP,=hcJo2SC08`?;F7?6MT%,1^H>^_;KPJ%QH:0\,+X,li.3@Utpd@lKo=R/IfP?(;9t_ +%ta*k%cO,31+"@ITB#o[5df/rFn56r]#@e6c4IRqWX&[a-t)"s#!0e1"4cG5Ee'YqJoJ4,@.X2E +@F>4ofC9.gEmT@*!FuBO)$9t%^'YD_&-c5>DF9o#E[tlIYpd:%iredpYbCJEG7rojCQEH)F:\RO +nAYQ]Z!V6'Og-Th\!<>$Ma=ioJgBam!>%J2Z$7;nLo1h,E,:,6kViSLqAKI29F!hq(PWK,'r->b +"j4bAJgh?W_f.>mnjGH/0O>Tl]Pe7a`%lon#/m3oP]/qX&4o-;$@r>eP)WF$^b^3FJ^>m%iGHH$ +`X].;Crd)pQ!;H=64Tl#AIYY&h-$.6&[d +Bi\d7N%esnlGJ1`It?R25$"@9UC@6s;SWu+E7c4;Y]>Vpic)^/jQbbUhMi&&_o)9&)l1[DG7oS# +"!C@EVW,g/Dq4a&B-\Fe>Ea6RUc4'RTcD^3;-H5nQUF)C-Qu]sTM[$OR)]RPT)7K+:WPW1#DD61 +F>7$/QnY[nks_JW1T$k>[8V:%:1F_qM0)3C^'N0^cLs1eCKs9-[I)5D.cWX(SQ[p.qg*"68X56iPC*7iJRT?Au8X>j3aiJQ>6MWNC(bB$)oPfn2i +6:ja;SAEHp/e2\G3?,rEqS@;&%Y29l.-91.Pa[kNl=E\heNV?HnhOm[#4\_Ga\V,c?F^j=Lc_Np +<3'S2W:fWk194V/V-n?JlWJjq+R0f]TQN1DFn^NuX))Pg,R +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 24 24 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +208 0 obj +<> +/Contents 209 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +209 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98g0#K#ue)-aj24^YfZCPU;"drr''R@E86^.`/ca8bcqSXb/Ql/ +HQpSUbqh&u19=)M)hoMpG1*bU:f&Es_gq%*Ku%_7162MCg,Lu8QsMm4@t,9d +,hZkX"i6R8)@$^*R6:e-#\"kZ+ZhFs<7B2Z&61Ng=]YbASS)-WeSSl'=*7L-(kqXrIpId% +'j"aD2:Zph=Oq>?B@rN0Ve")]KpcIRT!a> +WXL@ViBX#"cblT,a]"IW/BhGN'hMM]'s3E3eedFt?;mj(*/a#=k:SGA)c(j6#"tL +(-.Lg*BSI?DfhYqUrUG;EJgdiGM5#Nf,3[Z3Ob>O` +&8R*ZTbp$G$)1fn64@@3l8ahKYfaro,B2Ku%3l_,2@UnX_E&,fI=6o[Pf"A9NPPTu(@6TcmPKrV +5[#n%j(R0&%YL-75gXU)%n+feBZIndm9_5,:m3,A!F?I<0b`//X3D3s#Gj. +l5`]GFcIblKn,i^?D4EGcX7Rlcp[jSqr%r:p!F]pbi:u'+UsNmqSHoBrh&632B[kL0Yk1**saJ% +!UpXa&:b+^*(>DC):CR`GRf;O.LUd&/[j,QUVh=s"gMSRLH"'-U4`f#iKa1lfF8(VC;rf`:oY'<~> +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 25 25 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +39 0 obj +<> +/Contents 211 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +211 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98g:f&O"US-R0aE(0ecUK^*+rH$M]]RZLPL+P5"sM@9fSug`nCE1@C_.la +87uGP@;''YA26qOa?V9_U0p5?NPcl(-jq675Vil0OP2D?D>_p$1T$_I +.&h"d!^go^KEFd-&.W3kgc(5qScs2k+TP;2NI_)f4HBM)(cRG`?,@UY/BGi^ +es$_),D1'5f,%iDV@DQD]1+bL>4 +']>oL"lW]2XT4l^LbhJJNG[+E#>V$-cp9%:g_PZQ_A`SJA9^k.(,XU6e6=&52\=1h]uF)T"LikWWj;52#A.-9oG77o](PbQVVI0O%FY)qA\A`R*g+0?OMktq` +2urH:@nDSNJj?=o+QZ=F@#RCo1+ns=)C&0c=Ga.HUG_P86%Cq?!2(NiJ:\G$J4p6KnW,(f6TQ;PJTQNj\VYgn\.#F&%D +L:=Z6?pHjXmmK/?7ZT+:4W">&ni2CoiXfgF8:Z8br!%>c)$/g+Akg7U"2MdG6UL#B_$,H18O#sa +qp;9@omm;q#7P;X0r6GX$L&STeE@)FPMV0]>1qNdTi'2/L>1(&-M3n%]*q>j +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 26 26 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +41 0 obj +<> +/Annots[213 0 R +214 0 R]/Contents 215 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +215 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98g0#K#ue)-aj24^YfZCPU;"drr''R@E86^.`/ca8bcqSXb/Ql/ +HQjmC/G*E#1CV_^`2/$p@Mm.&$Vgj/!GI'INQn-52[kio1)VpcAG@b\,7*Qq%0Lk9'SQ)9=tU28 +FX]b5"%_Q/;cK\l+H7Tj'2?fYBOi$:+dt#'#;npf:K/&t020q_8AmHHj'?Lq<&@m'?4CD82]']e +Js[?GTqb40;*ppT/VO7VZ7H+Z86QkO6#^i]#1Vl"Ctj.#?lXk&%EWJl@.4,1>R-@^MqUg +96<3'[5G@8?.&.<1K$SR_V*i@0Q7n;FHu08LDX5n-Ae+="*=sh94Mu#3/.PtN<;_k1h,!i(bsB^ +Y]:S8JO%2#A%3!c1^p-ei%kk.8b4#[8eK5e9OaN&]<_ke69>QI;Zh.4$Wl8db4 +h8=LA,3YsO;"RHV0ob4,`HbkO8Dc[mj%UX-2^:M,f;]XPl$VB7aJpTo2TEfri7\1n3oj]L_f=uE ++BT0`mE"8*N$Gj`(K5"4QlH=;7A2mJiulK(%jSkb&.RZMl*X>En3O,@3$@;%D0d>c3V:;dQ>8NCb2hV7P.EYUV.'OhNU4AUTKGj99R^Q:j_DZ%/39W@3,8D7TNc\Z6dptR0,Fm9$ +]d;Jn5.K:@%,]I +*#*WMJh6+L36*!E!GHWZ!.YXbi.;5c"Lm%0=O2L3N8-!T5Vg;,L9p`>kZfPZ:Ne#sq)u +cD3gl:JZN2=pEo4Wg.%r"tIJDa&qC0,7I$NEW/5)8n3iN8Pj@7dC:oDl]?]1Ej$P989/h2N7c9<>q(?CW+658:cG["V,c;L,ZWcf]89^lDPYS +0MnQ4]WNaTJK-7AY;2HUX'q^DK.r.8[F2fm4T2EFcUqLasM"n6=E +Y7SVlNHf`D@('gRa(A4:5]el&]GcE15Y8e6`MLZ"(;SQf%+E.`,3G7J-bs]r_CWA/+i#jbn>a.d +'gr0*cD!/)Y45VfN"$!)geq^BDpqsJ7RgjV!nC=@Q"<'RP!n*AB+U^V/$rQ"ckF:*^_klHIrHQm +*@PDD&#[8*.>7#)1g+BCb.OtmBl.uD19X;K5U[?d20R'mK&Gc1mhrc\cfc/u0^&o5.[=-JrWO28 +)$A_ob^%#?*iA5o&8U&3"EmP9Y=gN\C4d73G';32=I0KM6*m>Pat?i_`Yi16&qs?b?H@q4P?)'K +L9NccL?NfXdP4]NKEM~> +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 27 27 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +43 0 obj +<> +/Contents 217 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +217 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP"+_ +)G=Qb@CUie%MTZfVS\bJ_K%OP:4`P0Pg!]!),8+,.&)gG0_[8f3]?RSOn(d6q +>1q*.c6lQ4n:H5>]iO=OI[u4i`1r+mUC@/Me*F^(A4Qj'JBCd98g0#K#ue)-aj24^YfZCPU;"drr''R@E86^.`/ca8bcqSXb/Ql/ +HQjmC/G*E#1CV_^`2/$p@Mm.&$Vgj/!T:g3LXID&))T3@p^dQAo^>%uoK@IcPQu3mIK-^75"9MuZ3OWE?dbKdk +T\_[>+TTA>KEArX-;[`Zh\kXH0Ou)U_5;^VMOJK\,W>fR6)fM>R.<0Fj+-=*%,0?!'9GR+%HD]c22riRFf=SOY-'PG3o7KPloQ6L6Um7j2q8&=Lg%%@6Ie$p7T/`sdiUdPl't +f1"+GHI+o:Nig+f(Q>r0kSK1f7p%X&j.PJnK:C9uY0H=A0L-KXHc-AjkW1U%\-a:>*,BEEo=uKc +*l#PP>QlX"afOQ8X$LdS8'YWhKn+ag6@_`8 +YgIBtFi7qE.QDK%p"u_!biN9O3a.GECb;Ko':bNL7St2L`2@>\*U9/$EIID5!."p'OEV3IVDZAd +7+\1o-V:8p(^"`V*6>?<$W4Pp`tOhdbVXL("_Kp,R*H*bGs%&RLb]%\EZDuu$Ns)l8culQ#U;0> +%e;YT`fOCD_[M!SEX"UX5\^d"]S2E>ME+35lR?C-WK#l^1TJOQ)l#NVOs-&+"">*5el8!"14!D$ +\NqX?FFoamjWR6qOW>cJVjXj91P:3f/`k&bOq9/\45#.d'`;B=Bc*ib637~> +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 28 28 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +45 0 obj +<> +/Contents 219 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +219 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWRXJGRac3qK,@K4k[o1U>'I%i2o.DPIRI[E]*6[ +P97j0_Y8C_T)UHac"@.qC+Y@Ob/7G0SrGW4n&1"j@=L!:aq,\ML^6F7:qWSC+`FT`1BC$E%YFso +KFf,W_6@_qLEQYrLBR^?C(uPX:_Y+gNC24e\dRQLPqoK68CBR-$qfoubNr=7/hG0/lb/6>;"cRS +oBcI$##!iA5*!O0g@jT!":f&-(_3PuEXKd%f5W+R;>C9VLj#;WY1.LD9b@knA.#hh%o@t;ENd=D;72[k6;a>/^l +#jO;XM<,IA;:L+o'>LaK!ensoTPtGGTp5R-L9cW61''_o:a_7?-pSK@E+j81L*8h=1KS__DAZ/X +5j1%+J>T[Pb.G0I"(gS5>:3n(PYTG`Fb +^tL[RA"^\!:,f;$)[?DJC(pg2R*.IJA"ZVA?M5)PHX6_9_DL6(KB+$);Z50*?+77#'Fc:SFc?SB +i'])T(<,X(L>bDQ2q_\3gb[d5G\qg;UBp'lrZNQ#nNYOQb3u7@RN^H@_1g[f`@D(8\ +IdO7FTg]_=KMs!l_f6>Hd5>oWT,KH5=B@:cj-CcO@+fX5S$=/a+Ak&Ao8MkOmJK.>^?s74&"2pu +Ni-:XK7q-Xk^"WlV,l*Uc'r=ua![gd+fKBup&W-84ZdFj:4d0,?;()iX^WukRL6oY6Jsg%fq'[Q15>aW3uR@_k`1oTp9\R +OR45*1dHhIck`h3nsi!Z<"CVV&Kc\UQm)Zh9EF'4!q=2L_jo6\ntnZFkfk<(KYs1`*"bl4YqlHK +@rNlGB[&6S2--6iRimT*c-XrW6aGR?6)?6[.EO51/AI_hW&i.:OYu9+opV(JI0W?Ng#hXl#Adpmrfp_s-+!74FKmtX&r.dJKD\p;KA2d!3!fHk+e_S,/5f&hn>Jc#2*#;2Jf'ZetfRn&kgq;6A!$f%f80H,#\ACB&ZJ?Uo%013D+]JPr`=B'J2*?A#4Fam4M5:3((MLIR&/MH1,/=XqVfI;aSA0H +-]bNG0SPRG)!)0?"'\4pD/Ni38V`fC!u'"W%[N8>a-s8CT%.*M(.]!>79C5!,`&!(2Fkk,-4?WNQ]jIG6HS=lAaIX$%fkn?.a(%i +6Zo3)dH\b1oW]#1/5>!K4jb^%!u8=1/'egI&MBp5&="Q?LtJ0I"@a1o>s?M!YZ9HKVln[#&q]#k +j2skLg$0,]W`ul^anh@4a"cd0oLoncq=qj$rJ./[Tp[has(gtL^EBn4kluLYbo/Xp_=h2*e,4@0 +_)%_&qHkQtrFE&(.J-WAs*Nhld$]_:'S"aIJ)>mWLZYW"l3SWG;lSL!n`"m<2:bC5FitQiMbran +e-CNFMoc6d^uk#Y*pnq4"i.tY`MO*D2@gr&R]RE;bo5td,*F(h!X-gNE%7B=dYRrh"9( +9WKT +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 29 29 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +48 0 obj +<> +/Contents 221 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +221 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP4"r +NQ%YQi;lgr-m>))VUKh#5]A_&bXTK![,ree)M(:]Ki0$NXOa.cmJt+d.^&=.4Ic'hq\HV[D=`V6 +npDRQF"^P(pBR0rWGe`p!N4tHCBn>`\pr8F_Q +UXnP1YB1Vb5V@.$j")l?m'sXMU^[&JDIas\0IVPf`'e9Hg;brWP:4ACCqDIATY["((l'8RC`C`,[$ +.ko4'X@cS6L*;Ll)Fn13:_3a3R*%/e!GKUe"QPkU&.\kVfJa:KE)[m3<)>t!L#Y-g+&%f$/Be;s +P:.E+%4IW+$0.uJ3)i17:GPVm74sDF;8dQ+;rKud1(E7\I8_pX7:A8R!T8PO%YH1l3X:4aIp>b- +!-fXjot=.("ne^/>V\UDC_.lNE,HQInShYM;k[l;3C[H"$n;[LZd'*h@t;]VN?\_]`XN"Uj=lO9 +#isaL1p"GL!ETF#clf$>0%/Q"fMF$)6R_.TNOBB`'S\o@>T)"ATMRJ*A!lS=@[OGR)?sV8_DkiQ +[O6slprH8nN?b+DQ/^H7iY5^oE6'pH,B1ttAZEOB2iQGpC`%j.S_\Ns=otuJLB0Z\HJ\D;bC,)5 +29hp,j$p4:j>h*r5j2Ai\hD +#)Eh&;u"A`N5MUV1ps\bED4C)`B.@_JQ+`]G@>7NN21qfeVM`O-ks4l5Ye)iau(.++bf;R8Z.\ +7F*+rUR7e`)OPG>!:VNQa$:MAA*XT^L`Zb&>d6W25&C>j67?C8im[5""fRq-Kn-TC"*CFGTUo-b +E4VZ/YTO+t>tZBl0W'DQS;JsWK`t$N$!oNCtDC3B/YS[ +8:Qi6P)";D3.[U`#6<#.4d^^_-U[-8N-Zd(pnp-MGV5J&7Ueh@:=a'S$D&f]1^98D5TZa'Be2Qt +6Rj:=_5g+KYZ?ER)=e+\<;<$bh@mJ&d+B^/)5QlLR%otB"_3KQS^a(91!24FJO"5cTt4gFpEC#U +dWUSqn_]*N)SStbpP_UM3AVBL!Ss,eF`+Pt3a")8ACSpp^t]b/3Bk(2<25\a"c1_Qbu +q:*s%puTDI?]utB:+GKm?0/bGYCM0oK(qAE6JK6a_9amBd,l,F7D'+sTIp;-=:(cris/t`p]k$b +HU@+R"egsoWcb>Lf#l`OVI=DG'ur_3WsDJE=a!!K*m^(F.^:=/JHFC.S6.i9:;JZ?-l7+F6X"sJ +,sj>@YX&?i +,C&`@4#R,S(Ut1NK;!/I_rf/uX,<$^jgBA0\?`fGfm-l>IH8S%^8Im\%M8`g:'X%mmK(c8b9$_cd1_lBg87VM,BIZ8Mabsp%r=*oZ2SlD#0K"Ui9Zo$N!9)G4tNh8TNl&T2Qhsn8o!&cK:jsU9-]%-^,?oi +G7!-;Rtbq%K?(Ia+l\CNMf3:UT9mGOY:I7HE@j$G%AmrIr68cQh5K`DQIl[K!')INJ/m>P3fs%L +1-6Vr?GjqRh,ubdLFW_;1[]\<.HhP]cBt@/X!h`@ZnhoOp)P\;4'sHn6?57?dC6?'?;,jSZsMk? +F8;rb2lm^,9b!ftAr7&/KR]lXQ\Wl<3.ZP*B0EP.YU]LJ,~> +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 30 30 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +51 0 obj +<> +/Contents 223 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +223 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWR3-D.]C?'LCdmf!XNIiKN&*_b!TiK.&^_]6D3gVOP4"r +NQ%YQi;lgr-m>))VUKh#5]A_&bXTK![,ree)M(:]Ki0$NXOa.cmJt+d.^&=.4Ic'hq\HV[D=`V6 +npDRQF"^P(pBR0rWGe`p!N4tHCBn>`\pr8F_Q +UXnP1YB1Vb5V@.$j")l?m'sXMU^[&JDIas\0IVPf`'e9Hg;brWP:4ACCqDIATY["((l'8RC`b0jTiCJ#"F%6>9VG+i]$rjIaKleb'CWqh! +5h!L+\3:ff> +endstream +endobj +pagesave restore +%%PageTrailer +%%Page: 31 31 +%%PageBoundingBox: 0 0 612 792 +%%BeginPageSetup +/pagesave save def +53 0 obj +<> +/Annots[225 0 R +226 0 R +227 0 R +228 0 R +229 0 R +230 0 R +231 0 R +232 0 R +233 0 R +234 0 R +235 0 R +236 0 R +237 0 R]/Contents 238 0 R +/CropBox +[0 0 612.0 792.0] +>> +endobj +%%EndPageSetup +238 0 obj +<>stream +J/grZ!H?$`#D,6r&9A_r'QF9bL-pc!gh8D]Mh[r3F@mr(M[X*-^eift'oU/oZ?ZRZ1FeS\-'Cgk +aql<[!fGt>E%3bi"[^H*&HNqS.#^WjOVjW5?6GCF_*o2c-tYFW;lNUY]k1ImW)Fr3)-#2%:RY3n +ZT>L'D./s[kHk"2%MqU@887b?Fe4jqWRXJGRac3qK,@K4k[o1U>'I%i2o.DPIRI[E]*6[ +P97j0_Y8C_T)UHac"@.qC+Y@Ob/7G0SrGW4n&1"j@=L!:aq,\ML^6F7:qWSC+`FT`1BC$E%YFso +KFf,W_6@_qLEQYrLBRsN;CW,@:l>60%o^d;099:9b.#b;8F.l^,IZnkYuh^MZR_fRp+Z"ufYBkX +ZfrJRK5:,Y5Ja:7&-bFn>T-(m&.1cQju8-$%PjN'anI.EZ0_LBPc6'!l16O9s]6,3X7qN;dBUL +G]F]+!tC6#,;9+,'FLUSdQC\%FeXfu"/+L0NIt?^3S=&T)ek8KI)C!X.*uuPfiONT]pj"T[Yd\CKm1Q3R*doD+>(u@0)peDSXN?ahQ3mPQj65G8! +kbodmW*!4?ao\C\'P(]%^).'jGk!YLj.+pb:-j-:=(V2J,t@u9X`%Ir@=V3_dqmjjE=KfI2fXfj +9n0*D@0QU[?s"`a46>[n>VqC,DDR9+iulK+%&74e3(sFgVE*g<=C*n&"-hY)kZgrEE$MIKtmhTE:!HB[2(rW@_*itg]3e%TeX1PO\Ic8gmeGj2WrM)\l]"lXuQ]T&EujcjaF +D%E"J!C__YoUR\Y(A5@jA(ci!([9b0gb@C-d(g!%WZ@k@-BbL$CJ@GqD2AJTaKs]"":#69pG$e; +Z/CL=Jnr:O5lrHsi1P:0&9rd/E,aspK3V/JO[ZU1o*-?8-A!Gd'_@'uP[^fq).1h9=!RBF=. +1B>ol0i@?nVCTH^*8%l(%`+u6.L.(%""7\bCT4KjpQjI!3,i?cX>L5_3tNUO0+@rp40@FJ*lDf* +"n +endstream +endobj +pagesave restore +%%PageTrailer +%%Trailer +%%EOF diff --git a/doc/xmlstarlet-ug.xml b/doc/xmlstarlet-ug.xml new file mode 100644 index 0000000..95a2baa --- /dev/null +++ b/doc/xmlstarlet-ug.xml @@ -0,0 +1,1741 @@ + + + XmlStarlet Command Line XML Toolkit User's Guide + + + June 17, 2012 + + + + Mikhail + Grushinskiy + + + + + + Introduction + + + About XmlStarlet + + XMLStarlet is + a set of command line utilities (tools) which can be used to transform, + query, validate, and edit XML documents and files using simple set of + shell commands in similar way it is done for plain text files using UNIX + grep, sed, awk, diff, patch, join, etc commands. + + This set of command line utilities can be used by those who deal + with many XML documents on UNIX shell command prompt as well as for + automated XML processing with shell scripts. + + XMLStarlet command line utility is written in C and uses libxml2 + and libxslt from http://xmlsoft.org/. Implementation of + extensive choice of options for XMLStarlet utility was only possible + because of rich feature set of libxml2 and libxslt (many thanks to the + developers of those libraries for great work). + + 'diff' and 'patch' options are not currently implemented. Other + features need some work too. Please, send an email to the project + administrator (see http://sourceforge.net/projects/xmlstar/) + if you wish to help. + + XMLStarlet is linked statically to both libxml2 and libxslt, so + generally all you need to process XML documents is one executable file. + To run XmlStarlet utility you can simple type '' on command line and + see list of options available. + + XMLStarlet is open source freeware under MIT license which allows + free use and distribution for both commercial and non-commercial + projects. + + We welcome any user's feedback on this project which would greatly + help us to improve its quality. Comments, suggestions, feature requests, + bug reports can be done via SourceForge project web site (see XMLStarlet + Sourceforge forums, or XMLStarlet + mailing list) + + + + Main Features + + The toolkit's feature set includes options to: + + + + Check or validate XML files (simple well-formedness check, + DTD, XSD, RelaxNG) + + + + Calculate values of XPath expressions on XML files (such as + running sums, etc) + + + + Search XML files for matches to given XPath expressions + + + + Apply XSLT stylesheets to XML documents (including EXSLT + support, and passing parameters to stylesheets) + + + + Query XML documents (ex. query for value of some elements of + attributes, sorting, etc) + + + + Modify or edit XML documents (ex. delete some elements) + + + + Format or "beautify" XML documents (as changing indentation, + etc) + + + + Fetch XML documents using http:// or ftp:// URLs + + + + Browse tree structure of XML documents (in similar way to 'ls' + command for directories) + + + + Include one XML document into another using XInclude + + + + XML c14n canonicalization + + + + Escape/unescape special XML characters in input text + + + + Print directory as XML document + + + + Convert XML into PYX format (based on ESIS - ISO 8879), and + vice versa + + + + + + + + Supported Platforms + + Here is a list of platforms on which XmlStarlet is known to + work. + + + + Linux + + + + + + Solaris + + + + + + Windows + + + + + + MacOS X + + + + + + FreeBSD/NetBSD + + + + + + HP-UX + + + + + + AIX + + + + You might be able to compile and make it on others too. + + + + Finding binary packages + + Here is a list of sites where you can also find XmlStarlet binary + packages. + + + + SuSE + Packages + + + + + + SuSE + Guru's RPM Site + + + + + + FreeBSD + Ports + + + + + + FreeBSD Fresh + Ports + + + + + + Mac OS + Fink + + + + + + Mandrake + RPMs + + + + + + Gentoo + Portage + + + + + + Debian + + + + + + + Installation + + + Installation on Linux + + Execute the following command as rootrpm -i xmlstarlet-x.x.x-1.i386.rpm + + where x.x.x indicates package version. + + You can use http://rpmfind.net + to search for RPM appropriate for your distribution. + + + + Installation on Solaris + + Execute the following commands as rootgunzip xmlstarlet-x.x.x-sol8-sparc-local.gz +pkgadd -d xmlstarlet-x.x.x-sol8-sparc-local all + + + + Installation on MacOS X + + XmlStarlet is available on MacOS in Fink. See + fink.sourceforge.net + + + + Installation on Windows + + Unzip the file xmlstarlet-x.x.x-win32.zip to some directory. To + take advantage of UNIX shell scripting you might want to run XmlStarlet + from Cygwin. Consider installing Cygwin on your Windows + machine. + + + + + Getting Started + + + Basic Command-Line Options + + Basic command line syntax: bash-2.03$ +XMLStarlet Toolkit: Command line utilities for XML +Usage: [<options>] <command> [<cmd-options>] +where <command> is one of: + ed (or edit) - Edit/Update XML document(s) + sel (or select) - Select data or query XML document(s) (XPATH, etc) + tr (or transform) - Transform XML document(s) using XSLT + val (or validate) - Validate XML document(s) (well-formed/DTD/XSD/RelaxNG) + fo (or format) - Format XML document(s) + el (or elements) - Display element structure of XML document + c14n (or canonic) - XML canonicalization + ls (or list) - List directory as XML + esc (or escape) - Escape special XML characters + unesc (or unescape) - Unescape special XML characters + pyx (or xmln) - Convert XML into PYX format (based on ESIS - ISO 8879) + p2x (or depyx) - Convert PYX into XML +<options> are: + --version - show version + --help - show help +Wherever file name mentioned in command help it is assumed +that URL can be used instead as well. + +Type: <command> --help <ENTER> for command help + +XMLStarlet is a command line toolkit to query/edit/check/transform +XML documents (for more information see http://xmlstar.sourceforge.net/) + + + + Studying Structure of XML Document + + Before you do anything with your XML document you probably would + like to know its structure at first. 'el' option could be used for this + purpose. + + Let's say you have the following XML document (table.xml) + + <xml> + <table> + <rec id="1"> + <numField>123</numField> + <stringField>String Value</stringField> + </rec> + <rec id="2"> + <numField>346</numField> + <stringField>Text Value</stringField> + </rec> + <rec id="3"> + <numField>-23</numField> + <stringField>stringValue</stringField> + </rec> + </table> +</xml> + + el table.xml + + would produce the following output. + + xml +xml/table +xml/table/rec +xml/table/rec/numField +xml/table/rec/stringField +xml/table/rec +xml/table/rec/numField +xml/table/rec/stringField +xml/table/rec +xml/table/rec/numField +xml/table/rec/stringField + + Every line in this output is an XPath expression which indicates a + 'path' to elements in XML document. You would use these XPath + expressions to navigate through your XML documents in other XmlStarlet + options. + + XML documents can be pretty large but with a very simple + structure. (This is espesially true for data driven XML documents ex: + XML formatted result of select from SQL table). If you just interested + in structure but not order of the elements you can use -u switch + combined with 'el' option. + + EXAMPLE: + + el -u table.xml + + Output: + + xml +xml/table +xml/table/rec +xml/table/rec/numField +xml/table/rec/stringField + + If you are interested not just in elements of your XML document, + but you want to see attributes as well you can use -a switch with 'el' + option. And every line of the output will still be a valid XPath + expression. + + EXAMPLE: + + el -a table.xml + + Output: + + xml +xml/table +xml/table/rec +xml/table/rec/@id +xml/table/rec/numField +xml/table/rec/stringField +xml/table/rec +xml/table/rec/@id +xml/table/rec/numField +xml/table/rec/stringField +xml/table/rec +xml/table/rec/@id +xml/table/rec/numField +xml/table/rec/stringField + + If you are looking for attribute values as well use -v switch of + 'el' option. And again - every line of output is a valid XPath + expression. + + EXAMPLE: + + el -v table.xml + + Output: + + xml +xml/table +xml/table/rec[@id='1'] +xml/table/rec/numField +xml/table/rec/stringField +xml/table/rec[@id='2'] +xml/table/rec/numField +xml/table/rec/stringField +xml/table/rec[@id='3'] +xml/table/rec/numField +xml/table/rec/stringField + + + + + XmlStarlet Reference + + + + + Querying XML documents + + XmlStarlet 'select' or 'sel' option can be used to query or search + XML documents. Here is synopsis for ' sel' command: + + XMLStarlet Toolkit: Select from XML document(s) +Usage: sel <global-options> {<template>} [ <xml-file> ... ] +where + <global-options> - global options for selecting + <xml-file> - input XML document file name/uri (stdin is used if missing) + <template> - template for querying XML document with following syntax: + +<global-options> are: + -C or --comp - display generated XSLT + -R or --root - print root element <xsl-select> + -T or --text - output is text (default is XML) + -I or --indent - indent output + -D or --xml-decl - do not omit xml declaration line + -B or --noblanks - remove insignificant spaces from XML tree + -N <name>=<value> - predefine namespaces (name without 'xmlns:') + ex: xsql=urn:oracle-xsql + Multiple -N options are allowed. + --net - allow fetch DTDs or entities over network + --help - display help + +Syntax for templates: -t|--template <options> +where <options> + -c or --copy-of <xpath> - print copy of XPATH expression + -v or --value-of <xpath> - print value of XPATH expression + -o or --output <string> - output string literal + -n or --nl - print new line + -f or --inp-name - print input file name (or URL) + -m or --match <xpath> - match XPATH expression + -i or --if <test-xpath> - check condition <xsl:if test="test-xpath"> + -e or --elem <name> - print out element <xsl:element name="name"> + -a or --attr <name> - add attribute <xsl:attribute name="name"> + -b or --break - break nesting + -s or --sort op xpath - sort in order (used after -m) where + op is X:Y:Z, + X is A - for order="ascending" + X is D - for order="descending" + Y is N - for data-type="numeric" + Y is T - for data-type="text" + Z is U - for case-order="upper-first" + Z is L - for case-order="lower-first" + +There can be multiple --match, --copy-of, --value-of, etc options +in a single template. The effect of applying command line templates +can be illustrated with the following XSLT analogue + + sel -t -c "xpath0" -m "xpath1" -m "xpath2" -v "xpath3" \ + -t -m "xpath4" -c "xpath5" + +is equivalent to applying the following XSLT + +<?xml version="1.0"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> +<xsl:template match="/"> + <xsl:call-template name="t1"/> + <xsl:call-template name="t2"/> +</xsl:template> +<xsl:template name="t1"> + <xsl:copy-of select="xpath0"/> + <xsl:for-each select="xpath1"> + <xsl:for-each select="xpath2"> + <xsl:value-of select="xpath3"/> + </xsl:for-each> + </xsl:for-each> +</xsl:template> +<xsl:template name="t2"> + <xsl:for-each select="xpath4"> + <xsl:copy-of select="xpath5"/> + </xsl:for-each> +</xsl:template> +</xsl:stylesheet> + +XMLStarlet is a command line toolkit to query/edit/check/transform +XML documents (for more information see http://xmlstar.sourceforge.net/) + +Current implementation uses libxslt from GNOME codebase as XSLT processor +(see http://xmlsoft.org/ for more details) + + + 'select' option allows you basically avoid writting XSLT + stylesheet to perform some queries on XML documents. I.e. various + combinations of command line parameters will let you to generate XSLT + stylesheet and apply in to XML documents with a single command line. + Very often you do not really care what XSLT was created for you 'select' + command, but in those cases when you do; you can always use -C or --comp + switch which will let you see exactly which XSLT is applied to your + input. + + 'select' option supports many EXSLT functions in XPath + expressions. + + Here are few examples which will help to understand how ' + select' works: + + EXAMPLE: + + Count elements matching XPath expression: + + + + sel -t -v "count(/xml/table/rec/numField)" table.xml + + Input (table.xml): + + <xml> + <table> + <rec id="1"> + <numField>123</numField> + <stringField>String Value</stringField> + </rec> + <rec id="2"> + <numField>346</numField> + <stringField>Text Value</stringField> + </rec> + <rec id="3"> + <numField>-23</numField> + <stringField>stringValue</stringField> + </rec> + </table> +</xml> + + Output: + + 3 + + + Let's take a close look what it did internally. For that we will + use '-C' option + + $ sel -C -t -v "count(/xml/table/rec/numField)" +<?xml version="1.0"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exslt="http://exslt.org/common" + xmlns:math="http://exslt.org/math" + xmlns:date="http://exslt.org/dates-and-times" + xmlns:func="http://exslt.org/functions" + xmlns:set="http://exslt.org/sets" + xmlns:str="http://exslt.org/strings" + xmlns:dyn="http://exslt.org/dynamic" + xmlns:saxon="http://icl.com/saxon" + xmlns:xalanredirect="org.apache.xalan.xslt.extensions.Redirect" + xmlns:xt="http://www.jclark.com/xt" + xmlns:libxslt="http://xmlsoft.org/XSLT/namespace" + xmlns:test="http://xmlsoft.org/XSLT/" + extension-element-prefixes= + "exslt math date func set str dyn saxon xalanredirect xt libxslt test" + exclude-result-prefixes="math str"> +<xsl:output omit-xml-declaration="yes" indent="no"/> +<xsl:param name="inputFile">-</xsl:param> +<xsl:template match="/"> + <xsl:call-template name="t1"/> +</xsl:template> +<xsl:template name="t1"> + <xsl:value-of select="count(/xml/table/rec/numField)"/> +</xsl:template> +</xsl:stylesheet> + + Ignoring some XSLT stuff to make it brief: + + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> +<xsl:output omit-xml-declaration="yes" indent="no"/> +<xsl:param name="inputFile">-</xsl:param> +<xsl:template match="/"> + <xsl:call-template name="t1"/> +</xsl:template> +<xsl:template name="t1"> + <xsl:value-of select="count(/xml/table/rec/numField)"/> +</xsl:template> +</xsl:stylesheet> + + Every -t option is mapped into XSLT template. Options after '-t' + are mapped into XSLT elements: + + + + -v to <xsl:value-of> + + + + -c to <xsl:copy-of> + + + + -e to <xsl:element> + + + + -a to <xsl:attribute> + + + + -s to <xsl:sort> + + + + -m to <xsl:for-each> + + + + -i to <xsl:if> + + + + and so on + + + + By default subsequent options (for instance: -m) will result in + nested corresponding XSLT elements (<xsl:for-each> for '-m'). To + break this nesting you would have to put '-b' or '--break' after first + '-m'. + + Below are few more examples: + + EXAMPLE + + Count all nodes in XML documents. Print input name and node count + after it. + + sel -t -f -o " " -v "count(//node())" xml/table.xml xml/tab-obj.xml + + Output: + + xml/table.xml 32 +xml/tab-obj.xml 41 + + + + EXAMPLE + + Find XML files matching XPath expression (containing 'object' + element) + + sel -t -m //object -f xml/table.xml xml/tab-obj.xml + + Result output: + + xml/tab-obj.xml + + + + EXAMPLE + + Calculate EXSLT (XSLT extentions) XPath value + + echo "<x/>" | sel -t -v "math:abs(-1000)" + + Result output: + + 1000 + + + + EXAMPLE + + Adding elements and attributes using command line ' sel' + + echo "<x/>" | sel -t -m / -e xml -e child -a data -o value + + Result Output: + + <xml><child data="value"/></xml> + + + + EXAMPLE + + Query XML document and produce sorted text table + + sel -T -t -m /xml/table/rec -s D:N:- "@id" \ + -v "concat(@id,'|',numField,'|',stringField)" -n xml/table.xml + + Result Output: + + 3|-23|stringValue +2|346|Text Value +1|123|String Value + + Equivalent stylesheet + + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> +<xsl:output omit-xml-declaration="yes" indent="no" method="text"/> +<xsl:param name="inputFile">-</xsl:param> +<xsl:template match="/"> + <xsl:call-template name="t1"/> +</xsl:template> +<xsl:template name="t1"> + <xsl:for-each select="/xml/table/rec"> + <xsl:sort order="descending" data-type="number" + case-order="upper-first" select="@id"/> + <xsl:value-of select="concat(@id,'|',numField,'|',stringField)"/> + <xsl:value-of select="'&#10;'"/> + </xsl:for-each> +</xsl:template> +</xsl:stylesheet> + + + + EXAMPLE + + Predefine namespaces for XPath expressions + + sel -N xsql=urn:oracle-xsql -t -v /xsql:query xsql/jobserve.xsql + + Input (xsql/jobserve.xsql) + + $ cat xsql/jobserve.xsql +<?xml version="1.0"?> +<?xml-stylesheet type="text/xsl" href="jobserve.xsl"?> +<xsql:query connection="jobs" xmlns:xsql="urn:oracle-xsql" max-rows="5"> + SELECT substr(title,1,26) short_title, title, location, skills + FROM job + WHERE UPPER(title) LIKE '%ORACLE%' + ORDER BY first_posted DESC +</xsql:query> + + Result output + + SELECT substr(title,1,26) short_title, title, location, skills + FROM job + WHERE UPPER(title) LIKE '%ORACLE%' + ORDER BY first_posted DESC + + + + + EXAMPLE + + Print structure of XML element using sel (advanced XPath + expressions and sel command usage) + + sel -T -t -m '//*' \ +-m 'ancestor-or-self::*' -v 'name()' -i 'not(position()=last())' -o . -b -b -n \ +xml/structure.xml + + Input (xml/structure.xml) + + <a1> + <a11> + <a111> + <a1111/> + </a111> + <a112> + <a1121/> + </a112> + </a11> + <a12/> + <a13> + <a131/> + </a13> +</a1> + + Result Output: + + a1 +a1.a11 +a1.a11.a111 +a1.a11.a111.a1111 +a1.a11.a112 +a1.a11.a112.a1121 +a1.a12 +a1.a13 +a1.a13.a131 + + This example is a good demonstration of nesting control. Here is + corresponding XSLT: + + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> +<xsl:output omit-xml-declaration="yes" indent="no" method="text"/> +<xsl:param name="inputFile">-</xsl:param> +<xsl:template match="/"> + <xsl:call-template name="t1"/> +</xsl:template> +<xsl:template name="t1"> + <xsl:for-each select="//*"> + <xsl:for-each select="ancestor-or-self::*"> + <xsl:value-of select="name()"/> + <xsl:if test="not(position()=last())"> + <xsl:value-of select="'.'"/> + </xsl:if> + </xsl:for-each> + <xsl:value-of select="'&#10;'"/> + </xsl:for-each> +</xsl:template> +</xsl:stylesheet> + + + + + + EXAMPLE + + Print all links of xhtml document + + sel --net --html -T -t -m "//*[local-name()='a']" \ + -o 'NAME: ' -v "translate(. , '&#10;', ' ')" -n \ + -o 'LINK: ' -v @href -n -n \ + http://xmlstar.sourceforge.net/ + + Sample output + + NAME: XmlStarlet SourceForge Site +LINK: http://sourceforge.net/projects/xmlstar/ + +NAME: XmlStarlet CVS Source +LINK: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/xmlstar/ + +NAME: XmlStarlet on Freshmeat.Net +LINK: http://freshmeat.net/projects/xmlstarlet/ + +NAME: XMLStarlet Sourceforge forums +LINK: http://sourceforge.net/forum/?group_id=66612 + +NAME: XMLStarlet mailing list +LINK: http://lists.sourceforge.net/lists/listinfo/xmlstar-devel + + + + + + + Transforming XML documents + + Here is synopsis for ' tr' command: + + XMLStarlet Toolkit: Transform XML document(s) using XSLT +Usage: tr [<options>] <xsl-file> {-p|-s <name>=<value>} [ <xml-file-or-uri> ... ] +where + <xsl-file> - main XSLT stylesheet for transformation + <xml-file> - input XML document file name (stdin is used if missing) + <name>=<value> - name and value of the parameter passed to XSLT processor + -p - parameter is XPATH expression ("'string'" to quote string) + -s - parameter is a string literal +<options> are: + --omit-decl - omit xml declaration <?xml version="1.0"?> + --show-ext - show list of extensions + --val - allow validate against DTDs or schemas + --net - allow fetch DTDs or entities over network + --xinclude - do XInclude processing on document input + --maxdepth val - increase the maximum depth + --html - input document(s) is(are) in HTML format + --catalogs - use SGML catalogs from $SGML_CATALOG_FILES + otherwise XML catalogs starting from + file:///etc/xml/catalog are activated by default + +XMLStarlet is a command line toolkit to query/edit/check/transform +XML documents (for more information see http://xmlstar.sourceforge.net/) + +Current implementation uses libxslt from GNOME codebase as XSLT processor +(see http://xmlsoft.org/ for more details) + + + EXAMPLE: + + # Transform passing parameters to XSLT stylesheet + tr xsl/param1.xsl -p Count='count(/xml/table/rec)' -s Text="Count=" xml/table.xml + + + Input xsl/params1.xsl + + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> +<xsl:output method="text"/> +<xsl:param name="Text"/> +<xsl:param name="Count"/> +<xsl:template match="/"> + <xsl:call-template name="t1"/> +</xsl:template> +<xsl:template name="t1"> + <xsl:for-each select="/xml"> + <xsl:value-of select="$Text"/> + <xsl:value-of select="$Count"/> + <xsl:value-of select="'&#10;'"/> + </xsl:for-each> +</xsl:template> +</xsl:stylesheet> + + Output + + Count=3 + + + + + Editing XML documents + + Here is the synopsis for ' ed' command: + + XMLStarlet Toolkit: Edit XML document(s) +Usage: ed <global-options> {<action>} [ <xml-file-or-uri> ... ] +where + <global-options> - global options for editing + <xml-file-or-uri> - input XML document file name/uri (stdin is used if missing) + +<global-options> are: + -P (or --pf) - preserve original formatting + -S (or --ps) - preserve non-significant spaces + -O (or --omit-decl) - omit XML declaration (<?xml ...?>) + -N <name>=<value> - predefine namespaces (name without 'xmlns:') + ex: xsql=urn:oracle-xsql + Multiple -N options are allowed. + -N options must be last global options. + --help or -h - display help + +where <action> + -d or --delete <xpath> + -i or --insert <xpath> -t (--type) elem|text|attr -n <name> -v (--value) <value> + -a or --append <xpath> -t (--type) elem|text|attr -n <name> -v (--value) <value> + -s or --subnode <xpath> -t (--type) elem|text|attr -n <name> -v (--value) <value> + -m or --move <xpath1> <xpath2> + -r or --rename <xpath1> -v <new-name> + -u or --update <xpath> -v (--value) <value> + -x (--expr) <xpath> (-x is not implemented yet) + +XMLStarlet is a command line toolkit to query/edit/check/transform +XML documents (for more information see http://xmlstar.sourceforge.net/) + + + EXAMPLE: + + # Delete elements matching XPath expression + ed -d "/xml/table/rec[@id='2']" xml/table.xml + + + Input + + <xml> + <table> + <rec id="1"> + <numField>123</numField> + <stringField>String Value</stringField> + </rec> + <rec id="2"> + <numField>346</numField> + <stringField>Text Value</stringField> + </rec> + <rec id="3"> + <numField>-23</numField> + <stringField>stringValue</stringField> + </rec> + </table> +</xml> + + + Output + + <xml> + <table> + <rec id="1"> + <numField>123</numField> + <stringField>String Value</stringField> + </rec> + <rec id="3"> + <numField>-23</numField> + <stringField>stringValue</stringField> + </rec> + </table> +</xml> + + + EXAMPLE + + # Move element node +echo '<x id="1"><a/><b/></x>' | ed -m "//b" "//a" + + + Output + + <x id="1"> + <a> + <b/> + </a> +</x> + + + EXAMPLE + + # Rename attributes + ed -r "//*/@id" -v ID xml/tab-obj.xml + + + Output: + + <xml> + <table> + <rec ID="1"> + <numField>123</numField> + <stringField>String Value</stringField> + <object name="Obj1"> + <property name="size">10</property> + <property name="type">Data</property> + </object> + </rec> + <rec ID="2"> + <numField>346</numField> + <stringField>Text Value</stringField> + </rec> + <rec ID="3"> + <numField>-23</numField> + <stringField>stringValue</stringField> + </rec> + </table> +</xml> + + + EXAMPLE + + # Rename elements + ed -r "/xml/table/rec" -v record xml/tab-obj.xml + + + Output: + + <xml> + <table> + <record id="1"> + <numField>123</numField> + <stringField>String Value</stringField> + <object name="Obj1"> + <property name="size">10</property> + <property name="type">Data</property> + </object> + </record> + <record id="2"> + <numField>346</numField> + <stringField>Text Value</stringField> + </record> + <record id="3"> + <numField>-23</numField> + <stringField>stringValue</stringField> + </record> + </table> +</xml> + + + EXAMPLE + + # Update value of an attribute + ed -u "/xml/table/rec[@id=3]/@id" -v 5 xml/tab-obj.xml + + + Output: + + <xml> + <table> + <rec id="1"> + <numField>123</numField> + <stringField>String Value</stringField> + <object name="Obj1"> + <property name="size">10</property> + <property name="type">Data</property> + </object> + </rec> + <rec id="2"> + <numField>346</numField> + <stringField>Text Value</stringField> + </rec> + <rec id="5"> + <numField>-23</numField> + <stringField>stringValue</stringField> + </rec> + </table> +</xml> + + + EXAMPLE + + # Update value of an element + ed -u "/xml/table/rec[@id=1]/numField" -v 0 xml/tab-obj.xml + + + Output: + + <xml> + <table> + <rec id="1"> + <numField>0</numField> + <stringField>String Value</stringField> + <object name="Obj1"> + <property name="size">10</property> + <property name="type">Data</property> + </object> + </rec> + <rec id="2"> + <numField>346</numField> + <stringField>Text Value</stringField> + </rec> + <rec id="3"> + <numField>-23</numField> + <stringField>stringValue</stringField> + </rec> + </table> +</xml> + + + + + Validating XML documents + + Here is synopsis for ' val' command: + + XMLStarlet Toolkit: Validate XML document(s) +Usage: val <options> [ <xml-file-or-uri> ... ] +where <options> + -w or --well-formed - validate well-formedness only (default) + -d or --dtd <dtd-file> - validate against DTD + -s or --xsd <xsd-file> - validate against XSD schema + -r or --relaxng <rng-file> - validate against Relax-NG schema + -e or --err - print verbose error messages on stderr + -b or --list-bad - list only files which do not validate + -g or --list-good - list only files which validate + -q or --quiet - do not list files (return result code only) + +NOTE: XML Schemas are not fully supported yet due to its incomplete + support in libxml (see http://xmlsoft.org) + +XMLStarlet is a command line toolkit to query/edit/check/transform +XML documents (for more information see http://xmlstar.sourceforge.net/) + + + EXAMPLE + + # Validate XML document against DTD + val --dtd dtd/table.dtd xml/tab-obj.xml >/dev/null 2>&1; echo $? + + + Output: + + 1 + + + EXAMPLE + + # Validate against XSD schema + val -b -s xsd/table.xsd xml/table.xml xml/tab-obj.xml 2>/dev/null; echo $? + + + Output: + + xml/tab-obj.xml +1 + + + + + Formatting XML documents + + Here is synopsis for ' fo' command: + + XMLStarlet Toolkit: Format XML document +Usage: fo [<options>] <xml-file> +where <options> are + -n or --noindent - do not indent + -t or --indent-tab - indent output with tabulation + -s or --indent-spaces <num> - indent output with <num> spaces + -o or --omit-decl - omit xml declaration <?xml version="1.0"?> + -R or --recover - try to recover what is parsable + -D or --dropdtd - remove the DOCTYPE of the input docs + -C or --nocdata - replace cdata section with text nodes + -N or --nsclean - remove redundant namespace declarations + -e or --encode <encoding> - output in the given encoding (utf-8, unicode...) + -H or --html - input is HTML + -h or --help - print help + +XMLStarlet is a command line toolkit to query/edit/check/transform +XML documents (for more information see http://xmlstar.sourceforge.net/) + + + EXAMPLE + + # Format XML document disabling indent +cat xml/tab-obj.xml | fo --noindent + + + Output: + + <xml> +<table> +<rec id="1"> +<numField>123</numField> +<stringField>String Value</stringField> +<object name="Obj1"> +<property name="size">10</property> +<property name="type">Data</property> +</object> +</rec> +<rec id="2"> +<numField>346</numField> +<stringField>Text Value</stringField> +</rec> +<rec id="3"> +<numField>-23</numField> +<stringField>stringValue</stringField> +</rec> +</table> +</xml> + + + EXAMPLE + + # Recover malformed XML document + fo -R xml/malformed.xml 2>/dev/null + + + Input: + + <test_output> + <test_name>foo</testname> + <subtest>...</subtest> +</test_output> + + + Output: + + <test_output> + <test_name>foo</test_name> + <subtest>...</subtest> +</test_output> + + + + + Canonicalization of XML documents + + Here is synopsis for ' c14n' command: + + XMLStarlet Toolkit: XML canonicalization +Usage: c14n <mode> <xml-file> [<xpath-file>] [<inclusive-ns-list>] +where + <xml-file> - input XML document file name (stdin is used if '-') + <xpath-file> - XML file containing XPath expression for + c14n XML canonicalization + Example: + <?xml version="1.0"?> + <XPath xmlns:n0="http://a.example.com" xmlns:n1="http://b.example"> + (//. | //@* | //namespace::*)[ancestor-or-self::n1:elem1] + </XPath> + + <inclusive-ns-list> - the list of inclusive namespace prefixes + (only for exclusive canonicalization) + Example: 'n1 n2' + + <mode> is one of following: + --with-comments XML file canonicalization w comments (default) + --without-comments XML file canonicalization w/o comments + --exc-with-comments Exclusive XML file canonicalization w comments + --exc-without-comments Exclusive XML file canonicalization w/o comments + +XMLStarlet is a command line toolkit to query/edit/check/transform +XML documents (for more information see http://xmlstar.sourceforge.net/) + + + EXAMPLE + + # XML canonicalization + c14n --with-comments ../examples/xml/structure.xml ; echo $? + + + Input ../examples/xml/structure.xml + + <a1> + <a11> + <a111> + <a1111/> + </a111> + <a112> + <a1121/> + </a112> + </a11> + <a12/> + <a13> + <a131/> + </a13> +</a1> + + Output + + <a1> + <a11> + <a111> + <a1111></a1111> + </a111> + <a112> + <a1121></a1121> + </a112> + </a11> + <a12></a12> + <a13> + <a131></a131> + </a13> +</a1> +0 + + + EXAMPLE + + # XML exclusive canonicalization + c14n --exc-with-comments ../examples/xml/c14n.xml ../examples/xml/c14n.xpath + + + Input + + ../examples/xml/c14n.xml + +<n0:pdu xmlns:n0='http://a.example.com'> +<n1:elem1 xmlns:n1='http://b.example'> +content +</n1:elem1> +</n0:pdu> + +../examples/xml/c14n.xpath + +<XPath xmlns:n0="http://a.example.com" xmlns:n1="http://b.example"> +(//. | //@* | //namespace::*)[ancestor-or-self::n1:elem1] +</XPath> + + + + Output + + <n1:elem1 xmlns:n1="http://b.example"> +content +</n1:elem1> + + + + + XML and PYX format + + Here is synopsis for ' pyx' command: + + XMLStarlet Toolkit: Convert XML into PYX format (based on ESIS - ISO 8879) +Usage: pyx {<xml-file>} +where + <xml-file> - input XML document file name (stdin is used if missing) + +The PYX format is a line-oriented representation of +XML documents that is derived from the SGML ESIS format. +(see ESIS - ISO 8879 Element Structure Information Set spec, +ISO/IEC JTC1/SC18/WG8 N931 (ESIS)) + +A non-validating, ESIS generating tool originally developed for +pyxie project (see http://pyxie.sourceforge.net/) +ESIS Generation by Sean Mc Grath http://www.digitome.com/sean.html + +XMLStarlet is a command line toolkit to query/edit/check/transform +XML documents (for more information see http://xmlstar.sourceforge.net/) + + + EXAMPLE + + pyx input.xml + + + Input (input.xml) + + <books> +<book type='hardback'> +<title>Atlas Shrugged</title> +<author>Ayn Rand</author> +<isbn id='1'>0525934189</isbn> +</book> +</books> + + Output + + (books +-\n +(book +Atype hardback +-\n +(title +-Atlas Shrugged +)title +-\n +(author +-Ayn Rand +)author +-\n +(isbn +Aid 1 +-0525934189 +)isbn +-\n +)book +-\n +)books + + PYX is a line oriented format for XML files which can be helpful + (and very efficient) when used in combination with regular line oriented + UNIX command such as sed, grep, awk. + + 'depyx' option is used for conversion back from PYX into + XML. + + EXAMPLE (Delete all attributes). This should work really fast for + very large XML documents. + + pyx input.xml | grep -v "^A" | depyx + + Output + + <books> +<book> +<title>Atlas Shrugged</title> +<author>Ayn Rand</author> +<isbn>0525934189</isbn> +</book> +</books> + + Here is an article which describes how PYX format can be used to + grep XML. http://www-106.ibm.com/developerworks/xml/library/x-matters17.html + + + + Escape/Unescape special XML characters + + Here is synopsis for ' esc' command: + + esc --help +XMLStarlet Toolkit: Escape special XML characters +Usage: esc [<options>] [<string>] +where <options> are + --help - print usage + (TODO: more to be added in future) +if <string> is missing stdin is used instead. + +XMLStarlet is a command line toolkit to query/edit/check/transform +XML documents (for more information see http://xmlstar.sourceforge.net/) + + + EXAMPLE + + # Escape special XML characters +cat xml/structure.xml | esc + + + Input + + <a1> + <a11> + <a111> + <a1111/> + </a111> + <a112> + <a1121/> + </a112> + </a11> + <a12/> + <a13> + <a131/> + </a13> +</a1> + + Output + + &lt;a1&gt; + &lt;a11&gt; + &lt;a111&gt; + &lt;a1111/&gt; + &lt;/a111&gt; + &lt;a112&gt; + &lt;a1121/&gt; + &lt;/a112&gt; + &lt;/a11&gt; + &lt;a12/&gt; + &lt;a13&gt; + &lt;a131/&gt; + &lt;/a13&gt; +&lt;/a1&gt; + + + + + List directory as XML + + Here is synopsis for ' ls' command: + + XMLStarlet Toolkit: List directory as XML +Usage: ls +Lists current directory in XML format. + +XMLStarlet is a command line toolkit to query/edit/check/transform +XML documents (for more information see http://xmlstar.sourceforge.net/) + + + EXAMPLE + + ls + + + Output + + <xml> +<d p="rwxrwxrwx" a="20050107T050740Z" m="20050107T050740Z" s="0" n="old-resume"/> +<f p="rw-rw-rw-" a="20050107T045941Z" m="20050107T045941Z" s="12" n="resume.2old"/> +<f p="rw-rw-rw-" a="20050107T045924Z" m="20050107T045924Z" s="81" n="resume.xml"/> +</xml> + + + + + + Common problems + + + Namespaces and default namespace + + One of the commonly asked questions about XmlStarlet 'select' or + 'edit' options is: "Why nothing matched for my XPath expression which + seems right to me?". Common cause of these problems is not properly + defining a namespace for XPath. This chapter will show several examples + to illustrate these issues you might encounter. + + For example the following XHTML document has a default namespace + declaration + + <html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Query Page</title> +<meta http-equiv="Content-Style-Type" content="text/css" /> +<meta http-equiv="Content-Script-Type" content="text/javascript" /> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> +<meta name="robots" content="noindex,nofollow" /> +</head> +<body> +... +</body> +</html> + + + And the following (initially looking correct) query to print all + links + + sel -t -m "//a" -c . -n + + would return nothing. The issue with this query is that it is not + addressing element <a> in the right namespace. XPath requires all + namespaces used in XPath expression be defined. So for declared + namespace <html xmlns="http://www.w3.org/1999/xhtml"> in input + XML, you have to do same for XPath (or XSLT). There is another important + detail: namespace equivalency is determined not by namespace prefix, but + by URI. See query below, which would return expected result + + sel -N x="http://www.w3.org/1999/xhtml" -t -m "//x:a" -c . -n + + Example of deleting namespace declarations. + + Delete namespace declarations and all elements from non default + namespace from the following XML document: + + Input (file ns2.xml)<doc xmlns="http://www.a.com/xyz" xmlns:ns="http://www.c.com/xyz"> + <A>test</A> + <B> + <ns:C>xyz</ns:C> + </B> +</doc> + + + Command: ed -N N="http://www.c.com/xyz" -d '//N:*' ns2.xml | \ + sed -e 's/ xmlns.*=".*"//g' + + Output<doc> + <A>test</A> + <B/> +</doc> + + + + + Special characters + + Sometimes issues appear with handling of special characters, where + 'special' means in XML sence as well as in 'shell' terms. Examples below + should clear at least some of the confusions. + + You should not forget about the fact that your command lines are + executed by shell and shell does substitutions of its special characters + too. So for example, one may ask: + + "Why does the following query return nothing?" + echo '<X name="foo">EEE</X>' | sel -t -m /X[@name='foo'] -v . + + The answer lies in the way shell substitues 'foo', which simply + becomes foo before the command is run. So the correct way to write that + would be + + echo '<X name="foo">EEE</X>' | sel -t -m "/X[@name='foo']" -v . + + Another example involves XML special characters. Question: How to + search for &apos; in text nodes? + + The following should help sel -t -m "//line[contains(text(),&quot;'&quot;)]" -c . + + + + + Sorting + + Let's take a look at XSLT produced by the following ' sel' + command: + + # Query XML document and produce sorted text table + sel -T -t -m /xml/table/rec -s D:N:- "@id" \ + -v "concat(@id,'|',numField,'|',stringField)" -n xml/table.xml + + + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> +<xsl:output omit-xml-declaration="yes" indent="no" method="text"/> +<xsl:param name="inputFile">-</xsl:param> +<xsl:template match="/"> + <xsl:call-template name="t1"/> +</xsl:template> +<xsl:template name="t1"> + <xsl:for-each select="/xml/table/rec"> + <xsl:sort order="descending" data-type="number" + case-order="upper-first" select="@id"/> + <xsl:value-of select="concat(@id,'|',numField,'|',stringField)"/> + <xsl:value-of select="'&#10;'"/> + </xsl:for-each> +</xsl:template> +</xsl:stylesheet> + + + -s option of ' sel' command controls 'order', 'data-type', and + 'case-order' attributes of <xsl:sort/> element . + + + + Validation + + Many questions are asked about XSD (XML schema) validation. Well, + XmlStarlet relies on libxml2 which has incomplete support for XML + schemas. Untill it is done in libxml2 it will not be in + XmlStarlet. + + + + + + + + + Other XmlStarlet Resources + + Here are few articles on the Internet. + + + + XMLStarlet: + a Unix toolkit for XML + + + + Start + working with XMLStarlet + + + + XMLStarlet: + A gentle introduction into XSLT + + + + Command + line XML with XMLStarlet + + + + Using + vi as XML editor + + + + diff --git a/doc/xmlstarlet.1 b/doc/xmlstarlet.1 new file mode 100644 index 0000000..383b155 --- /dev/null +++ b/doc/xmlstarlet.1 @@ -0,0 +1,136 @@ +'\" t +.\" Title: xmlstarlet +.\" Author: Mikhail Grushinskiy +.\" Generator: DocBook XSL-NS Stylesheets v1.76.1 +.\" Date: 08/26/2012 +.\" Manual: XMLStarlet Manual +.\" Source: Version 1.4.0 +.\" Language: English +.\" +.TH "XMLSTARLET" "1" "08/26/2012" "Version 1.4.0" "XMLStarlet Manual" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +xmlstarlet \- command line XML/XSLT toolkit +.SH "SYNOPSIS" +.HP \w'\fBxml\fR\ 'u +\fBxml\fR [\fIoptions\fR...] {\fIcommand\fR} [\fIcmd\-options\fR...] +.SH "INTRODUCTION" +.PP +XMLStarlet is a set of command line utilities (tools) which can be used to transform, query, validate, and edit XML documents and files using simple set of shell commands in similar way it is done for plain text files using UNIX grep, sed, awk, diff, patch, join, etc commands\&. This set of command line utilities can be used by those who deal with many XML documents on UNIX shell command prompt as well as for automated XML processing with shell scripts\&. +.SH "OPTIONS" +.PP +\fB\-\-version\fR +.RS 4 +Display the version of +xmlstarlet\&. +.RE +.PP +\fB\-\-help\fR +.RS 4 +Display help\&. +.RE +.SH "COMMANDS" +.PP +\fBxml\fR +\fIcommand\fR +\fB\-\-help\fR +for command specific help +.PP +Available commands include: +.PP +\fBed (or edit)\fR +.RS 4 +Edit/update XML document(s)\&. +.RE +.PP +\fBsel (or select)\fR +.RS 4 +Select data or query XML document(s) (XPATH, etc)\&. +.RE +.PP +\fBtr (or transform)\fR +.RS 4 +Transform XML documents(s) using XSLT\&. +.RE +.PP +\fBval (or validate)\fR +.RS 4 +Validate XML document(s) (well\-formed/DTD/XSD/RelaxNG)\&. +.RE +.PP +\fBfo (or format)\fR +.RS 4 +Format XML document(s)\&. +.RE +.PP +\fBel (or elements)\fR +.RS 4 +Display element structure of XML document\&. +.RE +.PP +\fBc14n (or canonic)\fR +.RS 4 +XML canonicalization\&. +.RE +.PP +\fBls (or list)\fR +.RS 4 +List directory as XML\&. +.RE +.PP +\fBesc (or escape)\fR +.RS 4 +Escape special XML characters\&. +.RE +.PP +\fBunesc (or unescape)\fR +.RS 4 +Unescape special XML characters\&. +.RE +.PP +\fBpyx (or xmln)\fR +.RS 4 +Convert XML into PYX format (based on ESIS \- ISO 8879)\&. +.RE +.PP +\fBp2x (or depyx)\fR +.RS 4 +Convert PYX into XML\&. +.RE +.SH "REFERENCES" +.PP +XMLStarlet is a command line toolkit to query/edit/check/transform XML documents (for more information see http://xmlstar\&.sourceforge\&.net/)\&. +.SH "BUGS" +.PP +Report bugs to the mailing list, +xmlstar\-devel@lists\&.sourceforge\&.net +or the bug tracker: +\m[blue]\fB\%http://sourceforge.net/tracker/?group_id=66612&atid=515106\fR\m[]\&. +.SH "AUTHOR" +.PP +\fBMikhail Grushinskiy\fR +.RS 4 +XMLStarlet creator\&. +.RE +.SH "COPYRIGHT" +.br +Copyright \(co 2012 +.br diff --git a/doc/xmlstarlet.txt b/doc/xmlstarlet.txt new file mode 100644 index 0000000..309030d --- /dev/null +++ b/doc/xmlstarlet.txt @@ -0,0 +1,1325 @@ + + + XMLSTARLET USER'S GUIDE + + see also http://xmlstar.sourceforge.net/ + + + + +1. BASIC COMMAND LINE OPTIONS +==================================================== + +xml --help +XMLStarlet Toolkit: Command line utilities for XML +Usage: xml [] [] +where is one of: + ed (or edit) - Edit/Update XML document(s) + sel (or select) - Select data or query XML document(s) (XPATH, etc) + tr (or transform) - Transform XML document(s) using XSLT + val (or validate) - Validate XML document(s) (well-formed/DTD/XSD/RelaxNG) + fo (or format) - Format XML document(s) + el (or elements) - Display element structure of XML document + c14n (or canonic) - XML canonicalization + ls (or list) - List directory as XML + esc (or escape) - Escape special XML characters + unesc (or unescape) - Unescape special XML characters + pyx (or xmln) - Convert XML into PYX format (based on ESIS - ISO 8879) + p2x (or depyx) - Convert PYX into XML + are: + --version - show version + --help - show help +Wherever file name mentioned in command help it is assumed +that URL can be used instead as well. + +Type: xml --help for command help + + + + +2. Select/Query XML documents +==================================================== + +xml sel --help +XMLStarlet Toolkit: Select from XML document(s) +Usage: xml sel {