You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@corinthia.apache.org by ja...@apache.org on 2015/03/23 11:46:34 UTC

[41/51] [abbrv] [partial] incubator-corinthia git commit: added libxml2 2.9.2 from xmlsoft.org

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/e181189e/DocFormats/platform/3rdparty/libxml2-2.9.2/TODO
----------------------------------------------------------------------
diff --git a/DocFormats/platform/3rdparty/libxml2-2.9.2/TODO b/DocFormats/platform/3rdparty/libxml2-2.9.2/TODO
new file mode 100644
index 0000000..9c32224
--- /dev/null
+++ b/DocFormats/platform/3rdparty/libxml2-2.9.2/TODO
@@ -0,0 +1,278 @@
+124907 HTML parse buffer problem when parsing larse in-memory docs
+124110 DTD validation && wrong namespace
+123564 xmllint --html --format
+
+           TODO for the XML parser and stuff:
+	   ==================================
+
+      $Id$
+
+    this tend to be outdated :-\ ...
+
+DOCS:
+=====
+
+- use case of using XInclude to load for example a description.
+  order document + product base -(XSLT)-> quote with XIncludes 
+                                                   |
+  HTML output with description of parts <---(XSLT)--
+
+TODO:
+=====
+- XInclude at the SAX level (libSRVG)
+- fix the C code prototype to bring back doc/libxml-undocumented.txt
+  to a reasonable level
+- Computation of base when HTTP redirect occurs, might affect HTTP
+  interfaces.
+- Computation of base in XInclude. Relativization of URIs.
+- listing all attributes in a node.
+- Better checking of external parsed entities TAG 1234
+- Go through erratas and do the cleanup.
+  http://www.w3.org/XML/xml-19980210-errata ... started ...
+- jamesh suggestion: SAX like functions to save a document ie. call a
+  function to open a new element with given attributes, write character
+  data, close last element, etc
+  + inversted SAX, initial patch in April 2002 archives.
+- htmlParseDoc has parameter encoding which is not used.
+  Function htmlCreateDocParserCtxt ignore it.
+- fix realloc() usage.
+- Stricten the UTF8 conformance (Martin Duerst):
+  http://www.w3.org/2001/06/utf-8-test/.
+  The bad files are in http://www.w3.org/2001/06/utf-8-wrong/.
+- xml:id normalized value
+
+TODO:
+=====
+
+- move all string manipulation functions (xmlStrdup, xmlStrlen, etc.) to
+  global.c. Bjorn noted that the following files depends on parser.o solely
+  because of these string functions: entities.o, global.o, hash.o, tree.o,
+  xmlIO.o, and xpath.o.
+
+- Optimization of tag strings allocation ?
+
+- maintain coherency of namespace when doing cut'n paste operations
+  => the functions are coded, but need testing
+
+- function to rebuild the ID table
+- functions to rebuild the DTD hash tables (after DTD changes).
+   
+
+EXTENSIONS:
+===========
+
+- Tools to produce man pages from the SGML docs.
+
+- Add Xpointer recognition/API
+
+- Add Xlink recognition/API
+  => started adding an xlink.[ch] with a unified API for XML and HTML.
+     it's crap :-(
+
+- Implement XSchemas
+  => Really need to be done <grin/>
+  - datatype are complete, but structure support is very limited.
+
+- extend the shell with:
+   - edit
+   - load/save
+   - mv (yum, yum, but it's harder because directories are ordered in
+     our case, mvup and mvdown would be required)
+
+
+Done:
+=====
+
+- Add HTML validation using the XHTML DTD
+  - problem: do we want to keep and maintain the code for handling
+    DTD/System ID cache directly in libxml ?
+  => not really done that way, but there are new APIs to check elements
+     or attributes. Otherwise XHTML validation directly ...
+
+- XML Schemas datatypes except Base64 and BinHex
+
+- Relax NG validation
+
+- XmlTextReader streaming API + validation
+
+- Add a DTD cache prefilled with xhtml DTDs and entities and a program to
+  manage them -> like the /usr/bin/install-catalog from SGML
+  right place seems $datadir/xmldtds
+  Maybe this is better left to user apps
+  => use a catalog instead , and xhtml1-dtd package
+
+- Add output to XHTML
+  => XML serializer automatically recognize the DTd and apply the specific
+     rules.
+
+- Fix output of <tst val="x&#xA;y"/>
+
+- compliance to XML-Namespace checking, see section 6 of
+  http://www.w3.org/TR/REC-xml-names/
+
+- Correct standalone checking/emitting (hard)
+  2.9 Standalone Document Declaration
+
+- Implement OASIS XML Catalog support
+  http://www.oasis-open.org/committees/entity/
+
+- Get OASIS testsuite to a more friendly result, check all the results
+  once stable. the check-xml-test-suite.py script does this
+
+- Implement XSLT
+  => libxslt
+
+- Finish XPath
+  => attributes addressing troubles
+  => defaulted attributes handling
+  => namespace axis ?
+  done as XSLT got debugged
+
+- bug reported by Michael Meallin on validation problems
+  => Actually means I need to add support (and warn) for non-deterministic
+     content model.
+- Handle undefined namespaces in entity contents better ... at least
+  issue a warning
+- DOM needs
+  int xmlPruneProp(xmlNodePtr node, xmlAtttrPtr attr);
+  => done it's actually xmlRemoveProp xmlUnsetProp xmlUnsetNsProp
+
+- HTML: handling of Script and style data elements, need special code in
+  the parser and saving functions (handling of < > " ' ...):
+  http://www.w3.org/TR/html4/types.html#type-script
+  Attributes are no problems since entities are accepted.
+- DOM needs
+  xmlAttrPtr xmlNewDocProp(xmlDocPtr doc, const xmlChar *name, const xmlChar *value)
+- problem when parsing hrefs with & with the HTML parser (IRC ac)
+- If the internal encoding is not UTF8 saving to a given encoding doesn't
+  work => fix to force UTF8 encoding ...
+  done, added documentation too
+- Add an ASCII I/O encoder (asciiToUTF8 and UTF8Toascii)
+- Issue warning when using non-absolute namespaces URI.
+- the html parser should add <head> and <body> if they don't exist
+  started, not finished.
+  Done, the automatic closing is added and 3 testcases were inserted
+- Command to force the parser to stop parsing and ignore the rest of the file.
+  xmlStopParser() should allow this, mostly untested
+- support for HTML empty attributes like <hr noshade>
+- plugged iconv() in for support of a large set of encodings.
+- xmlSwitchToEncoding() rewrite done
+- URI checkings (no fragments) rfc2396.txt
+- Added a clean mechanism for overload or added input methods:
+  xmlRegisterInputCallbacks()
+- dynamically adapt the alloc entry point to use g_alloc()/g_free()
+  if the programmer wants it: 
+    - use xmlMemSetup() to reset the routines used.
+- Check attribute normalization especially xmlGetProp()
+- Validity checking problems for NOTATIONS attributes
+- Validity checking problems for ENTITY ENTITIES attributes
+- Parsing of a well balanced chunk xmlParseBalancedChunkMemory()
+- URI module: validation, base, etc ... see uri.[ch]
+- turn tester into a generic program xmllint installed with libxml
+- extend validity checks to go through entities content instead of
+  just labelling them PCDATA
+- Save Dtds using the children list instead of dumping the tables,
+  order is preserved as well as comments and PIs
+- Wrote a notice of changes requires to go from 1.x to 2.x
+- make sure that all SAX callbacks are disabled if a WF error is detected
+- checking/handling of newline normalization
+  http://localhost/www.xml.com/axml/target.html#sec-line-ends
+- correct checking of '&' '%' on entities content.
+- checking of PE/Nesting on entities declaration
+- checking/handling of xml:space
+   - checking done.
+   - handling done, not well tested
+- Language identification code, productions [33] to [38]
+  => done, the check has been added and report WFness errors
+- Conditional sections in DTDs [61] to [65]
+  => should this crap be really implemented ???
+  => Yep OASIS testsuite uses them
+- Allow parsed entities defined in the internal subset to override
+  the ones defined in the external subset (DtD customization).
+  => This mean that the entity content should be computed only at
+     use time, i.e. keep the orig string only at parse time and expand
+     only when referenced from the external subset :-(
+     Needed for complete use of most DTD from Eve Maler
+- Add regression tests for all WFC errors
+  => did some in test/WFC
+  => added OASIS testsuite routines
+     http://xmlsoft.org/conf/result.html
+
+- I18N: http://wap.trondheim.com/vaer/index.phtml is not XML and accepted
+  by the XML parser, UTF-8 should be checked when there is no "encoding"
+  declared !
+- Support for UTF-8 and UTF-16 encoding
+  => added some convertion routines provided by Martin Durst
+     patched them, got fixes from @@@
+     I plan to keep everything internally as UTF-8 (or ISO-Latin-X)
+     this is slightly more costly but more compact, and recent processors
+     efficiency is cache related. The key for good performances is keeping
+     the data set small, so will I.
+  => the new progressive reading routines call the detection code
+     is enabled, tested the ISO->UTF-8 stuff
+- External entities loading: 
+   - allow override by client code
+   - make sure it is alled for all external entities referenced
+  Done, client code should use xmlSetExternalEntityLoader() to set
+  the default loading routine. It will be called each time an external
+  entity entity resolution is triggered.
+- maintain ID coherency when removing/changing attributes
+  The function used to deallocate attributes now check for it being an
+  ID and removes it from the table.
+- push mode parsing i.e. non-blocking state based parser
+  done, both for XML and HTML parsers. Use xmlCreatePushParserCtxt()
+  and xmlParseChunk() and html counterparts.
+  The tester program now has a --push option to select that parser 
+  front-end. Douplicated tests to use both and check results are similar.
+
+- Most of XPath, still see some troubles and occasionnal memleaks.
+- an XML shell, allowing to traverse/manipulate an XML document with
+  a shell like interface, and using XPath for the anming syntax
+  - use of readline and history added when available
+  - the shell interface has been cleanly separated and moved to debugXML.c
+- HTML parser, should be fairly stable now
+- API to search the lang of an attribute
+- Collect IDs at parsing and maintain a table. 
+   PBM: maintain the table coherency
+   PBM: how to detect ID types in absence of DtD !
+- Use it for XPath ID support
+- Add validity checking
+  Should be finished now !
+- Add regression tests with entity substitutions
+
+- External Parsed entities, either XML or external Subset [78] and [79]
+  parsing the xmllang DtD now works, so it should be sufficient for
+  most cases !
+
+- progressive reading. The entity support is a first step toward
+  asbtraction of an input stream. A large part of the context is still
+  located on the stack, moving to a state machine and putting everyting
+  in the parsing context should provide an adequate solution.
+  => Rather than progressive parsing, give more power to the SAX-like
+     interface. Currently the DOM-like representation is built but
+     => it should be possible to define that only as a set of SAX callbacks
+	and remove the tree creation from the parser code.
+	DONE
+
+- DOM support, instead of using a proprietary in memory
+  format for the document representation, the parser should
+  call a DOM API to actually build the resulting document.
+  Then the parser becomes independent of the in-memory
+  representation of the document. Even better using RPC's
+  the parser can actually build the document in another
+  program.
+  => Work started, now the internal representation is by default
+     very near a direct DOM implementation. The DOM glue is implemented
+     as a separate module. See the GNOME gdome module.
+
+- C++ support : John Ehresman <je...@dsg.harvard.edu>
+- Updated code to follow more recent specs, added compatibility flag
+- Better error handling, use a dedicated, overridable error
+  handling function.
+- Support for CDATA.
+- Keep track of line numbers for better error reporting.
+- Support for PI (SAX one).
+- Support for Comments (bad, should be in ASAP, they are parsed
+  but not stored), should be configurable.
+- Improve the support of entities on save (+SAX).
+

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/e181189e/DocFormats/platform/3rdparty/libxml2-2.9.2/TODO_SCHEMAS
----------------------------------------------------------------------
diff --git a/DocFormats/platform/3rdparty/libxml2-2.9.2/TODO_SCHEMAS b/DocFormats/platform/3rdparty/libxml2-2.9.2/TODO_SCHEMAS
new file mode 100644
index 0000000..145a4ed
--- /dev/null
+++ b/DocFormats/platform/3rdparty/libxml2-2.9.2/TODO_SCHEMAS
@@ -0,0 +1,31 @@
+- implement counted transitions at the automata level
+
+- Unicode:
+  + upgrade to 3.2
+  + improve the python script to generate better test
+    expressions to check the list of ranges.
+
+- Implement the interface at the SAX level
+
+- Implement the missing parts in the Structure part
+   + all content model
+   + enumerations
+   + countless others c.f. the TODO scattered in the code
+
+- Complete the Built-In datatype collections and Facets implementations
+
+- Regression tests based on
+  + the primer:
+    http://www.w3.org/TR/xmlschema-0/
+  + the Schemas Test Collection:
+    http://www.w3.org/2001/05/xmlschema-test-collection/
+  + archives of the schemas-dev list
+
+- Integrity constraints:
+  + what's that ? How need to read about it
+
+- "formal" checking, i.e. go through the full Structure spec and
+  bind code and associated parts of the Schemas spec
+
+- go though the erratas
+  http://www.w3.org/2001/05/xmlschema-errata

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/e181189e/DocFormats/platform/3rdparty/libxml2-2.9.2/VxWorks/README
----------------------------------------------------------------------
diff --git a/DocFormats/platform/3rdparty/libxml2-2.9.2/VxWorks/README b/DocFormats/platform/3rdparty/libxml2-2.9.2/VxWorks/README
new file mode 100644
index 0000000..b756677
--- /dev/null
+++ b/DocFormats/platform/3rdparty/libxml2-2.9.2/VxWorks/README
@@ -0,0 +1,86 @@
+             libxml2 on VxWorks 6.4+
+
+Here are my instructions for building on VxWorks.... I am very ashamed of
+how I did this because it is a complete hack, but it works great, so I
+can't complain too much.
+
+General Information
+
+1. The only way to build for VxWorks is to cross compile from a windows or
+linux system.  We use a RedHat 5.1 workstation system as our build
+environment.
+
+2. VxWorks 6.X has two main types of executable, DKMs (dynamic kernel
+modules), and RTPs (real-time processes).  Kernel modules are the bread
+and butter of VxWorks, but they look nothing like processes/threads in
+normal UNIX/Windows systems.  RTPs are more like processes that have
+memory protection, threads, etc.  VxWorks 6.X also introduces some level
+of POSIX conformance to their environment.  The POSIX conformance was the
+key for us to be able to port libxml2.  We support accessing libxml2 from
+both DKMs and RTPs.
+
+3. There are 2 compilers for VxWorks, the WindRiver compiler, and a port
+of the GNU toolchain, we have only tested and built with the GNU
+toolchain.
+
+How To Build
+
+1. Run the configure on your native linux system (this is the cheesy
+hack).  Since the VxWorks GNU toolchain is very close in version to the
+one in red hat, it generates a good config.h file.  We configured libxml2
+with the following to keep the size down, (but we have done basic testing
+with everything compiled in).
+
+./configure --with-minimum --with-reader --with-writer --with-regexps
+--with-threads --with-thread-alloc
+
+2. Rename the libxml2 folder to "src".  This step is required for our
+replacement makefile to work.
+
+3. Run the replacement makefile.  I wrote a new makefile that sets all the
+proper vxworks defines and uses the correct compilers.  The two defines on
+the make command line are to tell it which VxWorks Target (SH3.2 little
+endian), and the executable type.  We have tested this code on PENTIUM2gnu
+and SH32gnule.
+
+This makefile creates a shared library that runs on VxWorks: (libxml2.so)
+make -f Makefile.vxworks clean all VXCPU=SH32gnule VXTYPE=RTP
+
+This makefile creates a kernel module that runs on VxWorks: (xml2.out)
+make -f Makefile.vxworks clean all VXCPU=SH32gnule VXTYPE=DKM
+
+Important Notes
+
+1. There are several ways that this process could be improved, but at the
+end of the day, we make products, not port libraries, so we did a meets
+minimum for our needs.
+
+2. VxWorks is the devil, give me embedded linux every day.
+
+3. No matter what I tried, I couldn't get the configure to pick up the
+VxWorks toolchain, and in my investigation, it has something to do with
+automake/autoconf, not any individual package.  VxWorks doesn't play by
+the normal rules for building toolchains.
+
+4. The PIC flag in VxWorks (especially for SH processors) is very
+important, and very troublesome.  On linux, you can liberally use the PIC
+flag when compiling and the compiler/linker will ignore it as needed, on
+VxWorks if must always be on for shared libraries, and always be off for
+static libraries and executables.
+
+5. If anyone wants to work on a better way to do the build of libxml2 for
+VxWorks, I'm happy to help as much as I can, but I'm not looking to
+support it myself.
+
+Attached Files
+
+1. To use my Makefile for vxworks, you should enter the vxworks
+environment (/opt/windriver/wrenv.linux -p vxworks-6.4 for me).
+2. Run: build.sh libxml2-2.6.32 SH32gnule RTP (where you have
+libxml2-2.6.32.tar.gz and the Makefile in the same directory as the script
+file).
+
+Thanks,
+
+Jim Wert Jr.
+JWert@ILSTechnology.com

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/e181189e/DocFormats/platform/3rdparty/libxml2-2.9.2/VxWorks/build.sh
----------------------------------------------------------------------
diff --git a/DocFormats/platform/3rdparty/libxml2-2.9.2/VxWorks/build.sh b/DocFormats/platform/3rdparty/libxml2-2.9.2/VxWorks/build.sh
new file mode 100644
index 0000000..d555139
--- /dev/null
+++ b/DocFormats/platform/3rdparty/libxml2-2.9.2/VxWorks/build.sh
@@ -0,0 +1,85 @@
+LIBXML2=$1
+TARGETCPU=$2
+TARGETTYPE=$3
+
+if [ -z "$2" ]; then
+	TARGETCPU=SIMPENTIUMgnu
+fi
+
+if [ -z "$3" ]; then
+	TARGETTYPE=RTP
+fi
+
+echo "LIBXML2 Version:     ${LIBXML2}"
+echo "LIBXML2 Target CPU:  ${TARGETCPU}"
+echo "LIBXML2 Target Type: ${TARGETTYPE}"
+
+rm -fR src
+tar xvzf ${LIBXML2}.tar.gz
+mv ${LIBXML2} src
+cd src
+
+./configure --with-minimum --with-reader --with-writer --with-regexps --with-threads --with-thread-alloc
+
+find . -name '*.in' -exec rm -fR {} +
+find . -name '*.am' -exec rm -fR {} +
+rm -fR *.m4
+rm -fR *.pc
+rm -fR *.pl
+rm -fR *.py
+rm -fR *.spec
+rm -fR .deps
+rm -fR AUTHORS
+rm -fR bakefile
+rm -fR ChangeLog
+rm -fR config.guess
+rm -fR config.log
+rm -fR config.status
+rm -fR config.stub
+rm -fR config.sub
+rm -fR configure
+rm -fR COPYING
+rm -fR Copyright
+rm -fR depcomp
+rm -fR doc
+rm -fR example
+rm -fR INSTALL
+rm -fR install-sh
+rm -fR libxml.3
+rm -fR ltmain.sh
+rm -fR Makefile
+rm -fR Makefile.tests
+rm -fR macos
+rm -fR mkinstalldirs
+rm -fR missing
+rm -fR nanoftp.c
+rm -fR nanohttp.c
+rm -fR NEWS
+rm -fR python
+rm -fR README
+rm -fR README.tests
+rm -fR regressions.xml
+rm -fR result
+rm -fR runsuite.c
+rm -fR runtest.c
+rm -fR test
+rm -fR test*.c
+rm -fR TODO*
+rm -fR trio*
+rm -fR vms
+rm -fR win32
+rm -fR xml2*
+rm -fR xmllint.c
+rm -fR xstc
+
+cd ..
+
+make clean all VXCPU=${TARGETCPU} VXTYPE=${TARGETTYPE}
+
+if [ "${TARGETTYPE}" = "RTP" ]; then
+	cp libxml2.so ../../lib/.
+else
+	cp xml2.out ../../bin/.
+fi
+
+cp -R src/include/libxml ../../include/.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/e181189e/DocFormats/platform/3rdparty/libxml2-2.9.2/acinclude.m4
----------------------------------------------------------------------
diff --git a/DocFormats/platform/3rdparty/libxml2-2.9.2/acinclude.m4 b/DocFormats/platform/3rdparty/libxml2-2.9.2/acinclude.m4
new file mode 100644
index 0000000..7ad8630
--- /dev/null
+++ b/DocFormats/platform/3rdparty/libxml2-2.9.2/acinclude.m4
@@ -0,0 +1,28 @@
+dnl Like AC_TRY_EVAL but also errors out if the compiler generates
+dnl _any_ output. Some compilers might issue warnings which we want
+dnl to catch.
+AC_DEFUN([AC_TRY_EVAL2],
+[{ (eval echo configure:__oline__: \"[$]$1\") 1>&AS_MESSAGE_LOG_FD; dnl
+(eval [$]$1) 2>&AS_MESSAGE_LOG_FD; _out=`eval [$]$1 2>&1` && test "x$_out" = x; }])
+
+dnl Like AC_TRY_COMPILE but calls AC_TRY_EVAL2 instead of AC_TRY_EVAL
+AC_DEFUN([AC_TRY_COMPILE2],
+[cat > conftest.$ac_ext <<EOF
+[#]line __oline__ "configure"
+#include "confdefs.h"
+[$1]
+int main(void) {
+[$2]
+; return 0; }
+EOF
+if AC_TRY_EVAL2(ac_compile); then
+  ifelse([$3], , :, [rm -rf conftest*
+  $3])
+else
+  echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
+  cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
+ifelse([$4], , , [  rm -rf conftest*
+  $4
+])dnl
+fi
+rm -f conftest*])

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/e181189e/DocFormats/platform/3rdparty/libxml2-2.9.2/autogen.sh
----------------------------------------------------------------------
diff --git a/DocFormats/platform/3rdparty/libxml2-2.9.2/autogen.sh b/DocFormats/platform/3rdparty/libxml2-2.9.2/autogen.sh
new file mode 100644
index 0000000..8b47ea5
--- /dev/null
+++ b/DocFormats/platform/3rdparty/libxml2-2.9.2/autogen.sh
@@ -0,0 +1,81 @@
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=. 
+
+THEDIR=`pwd`
+cd $srcdir
+DIE=0
+
+(autoconf --version) < /dev/null > /dev/null 2>&1 || {
+	echo
+	echo "You must have autoconf installed to compile libxml."
+	echo "Download the appropriate package for your distribution,"
+	echo "or see http://www.gnu.org/software/autoconf"
+	DIE=1
+}
+
+(libtoolize --version) < /dev/null > /dev/null 2>&1 || {
+	echo
+	echo "You must have libtool installed to compile libxml."
+	echo "Download the appropriate package for your distribution,"
+	echo "or see http://www.gnu.org/software/libtool"
+	DIE=1
+}
+
+(automake --version) < /dev/null > /dev/null 2>&1 || {
+	echo
+	DIE=1
+	echo "You must have automake installed to compile libxml."
+	echo "Download the appropriate package for your distribution,"
+	echo "or see http://www.gnu.org/software/automake"
+}
+
+if test "$DIE" -eq 1; then
+	exit 1
+fi
+
+test -f entities.c || {
+	echo "You must run this script in the top-level libxml directory"
+	exit 1
+}
+
+EXTRA_ARGS=
+if test "x$1" = "x--system"; then
+    shift
+    prefix=/usr
+    libdir=$prefix/lib
+    sysconfdir=/etc
+    localstatedir=/var
+    if [ -d /usr/lib64 ]; then
+      libdir=$prefix/lib64
+    fi
+    EXTRA_ARGS="--prefix=$prefix --sysconfdir=$sysconfdir --localstatedir=$localstatedir --libdir=$libdir"
+    echo "Running ./configure with $EXTRA_ARGS $@"
+else
+    if test -z "$NOCONFIGURE" && test -z "$*"; then
+        echo "I am going to run ./configure with no arguments - if you wish "
+        echo "to pass any to it, please specify them on the $0 command line."
+    fi
+fi
+
+if [ ! -d $srcdir/m4 ]; then
+        mkdir $srcdir/m4
+fi
+
+# Replaced by autoreconf below
+autoreconf -if -Wall
+
+cd $THEDIR
+
+if test x$OBJ_DIR != x; then
+    mkdir -p "$OBJ_DIR"
+    cd "$OBJ_DIR"
+fi
+
+if test -z "$NOCONFIGURE"; then
+    $srcdir/configure $EXTRA_ARGS "$@"
+    echo
+    echo "Now type 'make' to compile libxml2."
+fi

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/e181189e/DocFormats/platform/3rdparty/libxml2-2.9.2/bakefile/Bakefiles.bkgen
----------------------------------------------------------------------
diff --git a/DocFormats/platform/3rdparty/libxml2-2.9.2/bakefile/Bakefiles.bkgen b/DocFormats/platform/3rdparty/libxml2-2.9.2/bakefile/Bakefiles.bkgen
new file mode 100644
index 0000000..5254d49
--- /dev/null
+++ b/DocFormats/platform/3rdparty/libxml2-2.9.2/bakefile/Bakefiles.bkgen
@@ -0,0 +1,15 @@
+<?xml version="1.0" ?>
+<!-- $Id$ -->
+
+<bakefile-gen>
+    
+    <disable-formats>gnu,dmars,cbx_unix,cbuilderx</disable-formats>
+    <input>libxml2.bkl</input>
+
+    <!-- List of output formats to generate: -->
+    <add-formats>
+        borland,dmars,mingw,msvc,msvc6prj,watcom,cbuilderx,cbx_unix,gnu
+    </add-formats>
+
+
+</bakefile-gen>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/e181189e/DocFormats/platform/3rdparty/libxml2-2.9.2/bakefile/Readme.txt
----------------------------------------------------------------------
diff --git a/DocFormats/platform/3rdparty/libxml2-2.9.2/bakefile/Readme.txt b/DocFormats/platform/3rdparty/libxml2-2.9.2/bakefile/Readme.txt
new file mode 100644
index 0000000..b44d3ac
--- /dev/null
+++ b/DocFormats/platform/3rdparty/libxml2-2.9.2/bakefile/Readme.txt
@@ -0,0 +1,92 @@
+
+ LIBXML2 build system for Win32 README
+ -------------------------------------
+
+ In this folder are stored all the files required to compile LIBXML2 with win32 compilers.
+ Bakefile (http://bakefile.sourceforge.net) is used as makefile generator.
+
+ Supported makefiles:
+ - makefile.vc     for Microsoft NMAKE
+ - makefile.bcc    for Borland MAKE
+ - makefile.wat    for OpenWatcom MAKE
+ - makefile.gcc    for MinGW MINGW32-MAKE
+ - all DSP & DSW   for Microsoft VisualC++ 6.0 (can be used also with VS.NET AFAIK)
+
+ This readme is organized as:
+   1.0 HOWTO compile LIBXML2 using makefiles     <-- for users who want to build the library using *command-line*
+   1.1 HOWTO compile LIBXML2 using an IDE        <-- for users who want to build the library using an *IDE*
+   1.2 HOWTO regenerate makefiles for LIBXML2    <-- for libxml2 mantainers/developers/advanced users
+
+ If you just want to compile the library (and the test programs) you should definitely avoid the
+ section 1.1 and focus on the 1.0.
+ 
+
+
+
+
+
+ 1.0 HOWTO compile LIBXML2 using makefiles
+ -----------------------------------------
+ 
+ Choose your preferred compiler among those actually supported (see above) and then run
+ 
+                              mycompilermake -fmakefile.makefileext [options]
+
+ for a full list of the available options you should open with a notepad (or something like that)
+ the makefile you want to use; at the beginning you should see a section which starts as:
+
+     # -------------------------------------------------------------------------
+     # These are configurable options:
+     # -------------------------------------------------------------------------
+
+ here you can find all the options actually used by that makefile. 
+ They can be customized when running the makefile writing something like:
+
+ nmake -fmakefile.vc BUILD=release
+ mingw32-make -fmakefile.gcc BUILD=debug ICONV_DIR=c:\myiconv
+
+ or they can be permanently changed modifying the makefile.
+ That's all: for any problem/compile-error/suggestion, write to 
+ frm@users.sourceforge.net with the word "libxml2" in the subject.
+
+
+
+
+
+ 1.1 HOWTO compile LIBXML2 using an IDE
+ --------------------------------------
+ 
+ Actually only the Microsoft VisualC++ 6.0 project files are generated.
+ In future other Integrated Development Environments (IDEs) will be supported as well.
+ 
+ With MSVC++ 6.0, you should open the DSW file and then set as the active project the
+ "libxml2" project, if you want to build the library or one of the test projects if you
+ want to run them.
+ Using the command "Build->Set Active Configuration" you can choose one of the predefined
+ configuration.
+
+
+
+
+
+ 1.2 HOWTO regenerate makefiles for LIBXML2
+ ------------------------------------------
+ 
+ Be sure to have installed Bakefile (http://bakefile.sourceforge.net).
+ Just run the "bakefile_gen" command inside the folder containing the "libxml2.bkl" file.
+ NOTE: if you want to remove all the makefiles, you can use the "bakefile_gen -c" command.
+ 
+ The template files used to generate all makefiles are only two:
+ - libxml2.bkl      (the main one)
+ - Bakefiles.bkgen
+ All the other files can be dinamically regenerated.
+
+
+
+
+
+ If you have problems with the compilation of LIBXML2 under windows (using one of the supported compiler)
+ please write to:
+
+     Francesco Montorsi <fr...@users.sourceforge.net>
+

http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/e181189e/DocFormats/platform/3rdparty/libxml2-2.9.2/bakefile/libxml2.bkl
----------------------------------------------------------------------
diff --git a/DocFormats/platform/3rdparty/libxml2-2.9.2/bakefile/libxml2.bkl b/DocFormats/platform/3rdparty/libxml2-2.9.2/bakefile/libxml2.bkl
new file mode 100644
index 0000000..b241ed2
--- /dev/null
+++ b/DocFormats/platform/3rdparty/libxml2-2.9.2/bakefile/libxml2.bkl
@@ -0,0 +1,749 @@
+<?xml version="1.0" ?>
+
+<!-- Author: Francesco Montorsi <fr...@users.sourceforge.net>         -->
+<!-- Date: 30/8/2004                                                -->
+<!-- Last revision: 26/1/2005                                       -->
+
+
+<!--                    LIBXML2 BAKEFILE                            -->
+<!--                                                                -->
+<!--    The bakefile used to build the library and the test         -->
+<!--    programs. The makefiles output is put:                      -->
+<!--                                                                -->
+<!--    - in the ..\LIB folder                                      -->
+<!--    - in the ..\BIN folder                                      -->
+<!--                                                                -->
+
+<makefile>
+
+    <using module="datafiles"/>
+    <requires version="0.1.5"/>
+    
+
+    <!-- This is a bakefile, that is, a generic template used to    -->
+    <!-- generate makefiles ALL supported compilers.                -->
+    <!-- To use this project file you need Bakefile installed.      -->
+    <!-- With the command "bakefile_gen" you can regen all the      -->
+    <!-- makefiles and project files.                               -->
+    <!-- See http://bakefile.sourceforge.net for more info.         -->
+
+
+	<!--
+	 This file is divided in:
+		- generic options
+		- generic variables
+		- libxml2 options
+		- libxml2 variables
+		- about config.h creation
+		- templates
+		- libxml2 library target
+		- libxml2 test program targets
+	-->
+
+
+
+    <!--                                                            -->
+    <!--                      GENERIC OPTIONS                       -->
+    <!--                                                            -->
+
+     
+    <!--    This is a standard option that determines               -->
+    <!--    whether the user wants to build this library as         -->
+    <!--    a dll or as a static library.                           -->
+    <option name="SHARED">
+        <values>0,1</values>
+        <values-description>,DLL</values-description>
+        <default-value>0</default-value>
+        <description>If set to zero a STATIC libxml library will be built</description>
+    </option>
+
+    <!-- Configuration for building the bakefile with               -->
+    <!-- unicode strings or not (unicode or ansi).                  -->
+    <option name="UNICODE">
+        <values>0,1</values>
+        <values-description>,Unicode</values-description>
+        <default-value>0</default-value>        
+        <description>Compile Unicode build?</description>
+    </option>
+
+
+    <!-- There are several options that deal with build             -->
+    <!-- types. First, there's this one, BUILD.                     -->
+    <!--                                                            -->
+    <!-- BUILD determines whether or not we want to build           -->
+    <!-- in release or debug mode.  Note that in practice           -->
+    <!-- this means modifying the optimize tag, which by            -->
+    <!-- default is set to off.  In this case debug means           -->
+    <!-- off (no optimizations), and release means speed            -->
+    <!-- (fast with inlining).  There is also a size option         -->
+    <!-- that is not addressed in this example bakefile.            -->
+    <option name="BUILD">
+        <values>debug,release</values>
+        <values-description>Debug,Release</values-description>
+        <default-value>release</default-value>
+        <description>
+            Type of compiled binaries
+        </description>
+    </option>
+
+
+
+    <!--                                                            -->
+    <!--                    GENERIC VARIABLES                       -->
+    <!--                                                            -->
+
+    <!--    Set the ISDLL variable, so that we can use it           -->
+    <!--    inside an if statement later on (options not            -->
+    <!--    allowed in if statements).                              -->
+    <set var="ISDLL" cond="SHARED=='1'">1</set>
+    <set var="ISDLL" cond="SHARED=='0'">0</set>
+
+    <!--    The unicode define we want.  By default bakefile        -->
+    <!--    makes variables an empty string, so if unicode          -->
+    <!--    is not defined $(UNICODE_DEFINE) would expand           -->
+    <!--    to nothing (literally).                                 -->
+    <set var="UNICODE_DEFINE">
+        <if cond="FORMAT!='autoconf' and UNICODE=='1'">_UNICODE</if>
+    </set>    
+    
+    <!--    The debug define we need with win32 compilers           -->    
+    <!--    (on Linux, the wx-config program is used).              -->    
+    <set var="DEBUG_DEFINE">        
+        <if cond="FORMAT!='autoconf' and BUILD=='debug'">
+            __WXDEBUG__
+        </if>    
+    </set>
+
+    <!--    Value we will use later on for the debug-info           -->
+    <!--    tag inside our templates.                               -->
+    <set var="DEBUGINFO">
+        <if cond="BUILD=='debug'">on</if>
+        <if cond="BUILD=='release'">off</if>
+    </set>
+
+    <!--    Value we will use later on for the debug-runtime        -->
+    <!--    tag inside our templates.                               -->
+    <set var="DEBUGRUNTIME">
+        <if cond="BUILD=='debug'">on</if>
+        <if cond="BUILD=='release'">off</if>
+    </set>
+
+    <!--    Value for optimize tag.                                 -->
+    <set var="OPTIMIZEFLAG">
+        <if cond="BUILD=='debug'">off</if>
+        <if cond="BUILD=='release'">speed</if>
+    </set>
+
+    <!-- Level of warnings.  Here we max it out in debug            -->
+    <!-- mode, and turn them off in release mode.                   -->
+    <set var="WARNINGS">
+        <if cond="BUILD=='debug'">max</if>
+        <if cond="BUILD=='release'">no</if>
+    </set>
+
+    <!-- Set MYCPPFLAGS as empty; maybe it will be filled later...  -->
+    <set var="MYCPPFLAGS"></set>
+    <if cond="FORMAT=='mingw' or FORMAT=='autoconf'">
+
+        <!-- With GCC, settings warnings to MAX would force         -->
+        <!-- Bakefile to call GCC with "-W -Wall" which generates   -->
+        <!-- a *lot* of warnings about wxWidgets headers...         -->
+        <!-- this is why "-W -Wall" is here replaced by "-Wall".    -->
+        <set var="WARNINGS">default</set>
+        <set var="MYCPPFLAGS">-Wall</set>
+    </if>
+    
+    
+    
+  
+
+
+    <!--                                                            -->
+    <!--                      LIBXML2 OPTIONS                       -->
+    <!--                                                            -->
+    <!-- Note #1: not all of them are used by win32 makefiles       -->
+	<!--                                                            -->
+	<!-- Note #2: since all combinations of non-path options are    -->
+	<!--          translated into different 'configurations' by     -->
+	<!--          Bakefile when using the MSVC6PRJ output, we must  -->
+	<!--          avoid to create a 10 MB libxml2.dsp file forcing  -->
+	<!--          some options to their default values... this      -->
+	<!--          behaviour can be overridden by the                -->
+	<!--                        FULL_OPTIONS_SUPPORT                -->
+	<!--          variable defined below...                         -->
+    
+	<set var="FULL_OPTIONS_SUPPORT">
+		<if cond="FORMAT=='msvc6prj'">0</if>
+		<if cond="FORMAT!='msvc6prj'">1</if>
+	</set>
+
+    <option name="ICONV_DIR" category="path">
+        <default-value>c:\iconv</default-value>
+        <description>The iconv library main folder</description>
+    </option>
+
+    <option name="WITH_TRIO">
+    	<values>0,1</values>
+        <default-value>0</default-value>
+        <description>Enable TRIO string manipulator</description>
+    </option>
+
+	<!-- see the note #2 -->
+	<if cond="FULL_OPTIONS_SUPPORT=='0'">
+		<set var="WITH_THREADS">native</set>
+	</if>
+	<if cond="FULL_OPTIONS_SUPPORT=='1'">
+		<option name="WITH_THREADS">
+    		<values>no,ctls,native,posix</values>
+			<default-value>native</default-value>
+			<description>Enable thread safety</description>
+		</option>
+    </if>
+
+    <option name="WITH_FTP">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable FTP client</description>
+    </option>
+
+    <option name="WITH_HTTP">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable HTTP client</description>
+    </option>
+
+    <option name="WITH_C14N">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable C14N support</description>
+    </option>
+
+    <option name="WITH_CATALOG">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable catalog support</description>
+    </option>
+
+    <option name="WITH_DOCB">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable DocBook support</description>
+    </option>
+	
+    <option name="WITH_XPATH">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable XPath support</description>
+    </option>
+	
+    <option name="WITH_XPTR">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable XPointer support</description>
+    </option>
+	
+    <option name="WITH_XINCLUDE">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable XInclude support</description>
+    </option>
+	
+	<!-- see the note #2 -->
+	<if cond="FULL_OPTIONS_SUPPORT=='0'">
+		<set var="WITH_ICONV">1</set>
+	</if>
+	<if cond="FULL_OPTIONS_SUPPORT=='1'">
+		<option name="WITH_ICONV">
+    		<values>0,1</values>
+			<default-value>1</default-value>
+			<description>Enable iconv support</description>
+		</option>
+	</if>
+	
+    <option name="WITH_ISO8859X">
+    	<values>0,1</values>
+        <default-value>0</default-value>
+        <description>Enable iso8859x support</description>
+    </option>
+	
+	<!-- see the note #2 -->
+	<if cond="FULL_OPTIONS_SUPPORT=='0'">
+		<set var="WITH_ZLIB">0</set>
+	</if>
+	<if cond="FULL_OPTIONS_SUPPORT=='1'">
+		<option name="WITH_ZLIB">
+    		<values>0,1</values>
+			<default-value>0</default-value>
+			<description>Enable ZLIB support</description>
+		</option>
+	</if>
+	
+    <option name="WITH_REGEXPS">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable regular expressions</description>
+    </option>
+	
+    <option name="WITH_TREE">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable tree api</description>
+    </option>
+	
+    <option name="WITH_READER">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable xmlReader api</description>
+    </option>
+	
+    <option name="WITH_WRITER">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable xmlWriter api</description>
+    </option>
+	
+    <option name="WITH_WALKER">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable xmlDocWalker api</description>
+    </option>    
+	
+    <option name="WITH_PATTERN">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable xmlPattern api</description>
+    </option>
+	
+    <option name="WITH_PUSH">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable push api</description>
+    </option>
+	
+    <option name="WITH_VALID">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable DTD validation support</description>
+    </option>
+	
+    <option name="WITH_SAX1">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable SAX1 api</description>
+    </option>    
+                	
+    <option name="WITH_SCHEMAS">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable XML Schema support</description>
+    </option>
+	
+    <option name="WITH_LEGACY">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable deprecated APIs</description>
+    </option>    
+                	
+    <option name="WITH_OUTPUT">
+    	<values>0,1</values>
+        <default-value>1</default-value>
+        <description>Enable serialization support</description>
+    </option>					
+                	
+    <option name="WITH_PYTHON">
+    	<values>0,1</values>
+        <default-value>0</default-value>
+        <description>Build Python bindings</description>
+    </option>
+
+
+ 
+
+    <!--                                                            -->
+    <!--                    LIBXML2 VARIABLES                       -->
+    <!--                                                            -->   
+
+    <!-- Put all the objects files generated by         -->
+    <!-- the compilation in a subfolder of BUILD        -->
+    <set var="BUILDDIR">$(FORMAT)</set>
+    
+    <!-- This variable is set to 1 when the current output writer supports -->
+   	<!-- the __DEFINE_ARG variable. Otherwise it's set to zero. -->
+   	<set var="HAS_DEFINE_ARG">
+   		<if cond="FORMAT!='msvc6prj'">1</if>
+   		<if cond="FORMAT=='msvc6prj'">0</if>   		
+   	</set>
+
+	<!-- The root directory of libxml2 -->
+	<set var="XMLBASEDIR">..</set>
+	
+	<!-- The directory where libxml2' tests will be put -->
+	<set var="XMLTESTDIR">$(XMLBASEDIR)$(DIRSEP)bin</set>
+	
+	<set var="LIBXML_MAJOR_VERSION">2</set>
+	<set var="LIBXML_MINOR_VERSION">6</set>
+	<set var="LIBXML_MICRO_VERSION">16</set>
+	
+	<!-- some defines related to threads -->
+	<set var="THREADS_DEF">
+		<if cond="HAS_DEFINE_ARG=='1' and WITH_THREADS=='native'">
+			$(__DEFINE_ARG)_REENTRANT $(__DEFINE_ARG)HAVE_WIN32_THREADS
+		</if>
+		<if cond="HAS_DEFINE_ARG=='1' and WITH_THREADS=='ctls'">
+			$(__DEFINE_ARG)_REENTRANT $(__DEFINE_ARG)HAVE_WIN32_THREADS $(__DEFINE_ARG)HAVE_COMPILER_TLS
+		</if>
+		<if cond="HAS_DEFINE_ARG=='1' and WITH_THREADS=='posix'">
+			$(__DEFINE_ARG)_REENTRANT $(__DEFINE_ARG)HAVE_PTHREAD_H
+		</if>
+	</set>
+	<if cond="FORMAT=='borland'">
+		<set var="THREADS_DEF">
+			<if cond="WITH_THREADS=='native'">$(THREADS_DEF) $(__DEFINE_ARG)__MT__</if>
+			<if cond="WITH_THREADS=='ctls'">$(THREADS_DEF) $(__DEFINE_ARG)__MT__</if>
+			<if cond="WITH_THREADS=='posix'">$(THREADS_DEF) $(__DEFINE_ARG)__MT__</if>
+		</set>
+	</if>	
+	
+	
+	<!-- some other conditional defines -->
+	<set var="ZLIB_DEF"><if cond="WITH_ZLIB=='1'">HAVE_ZLIB_H</if></set>
+	<set var="DEBUG_DEF"><if cond="BUILD=='debug'">_DEBUG</if></set>
+	<set var="DEBUG_DEF"><if cond="BUILD=='release'">NDEBUG</if></set>
+	
+	<!-- this is very very important when compiling with MINGW: without this line,
+	the test programs (and all the programs built with libxml2 which use xmlFree)
+	won't build because of "undefined references to __xmlFree" -->
+	<set var="STATIC_DEF"><if cond="SHARED=='0'">LIBXML_STATIC</if></set>
+	
+	<!-- some conditional libraries dependencies -->
+	<set var="ICONV_LIB"><if cond="WITH_ICONV=='1'">iconv</if></set>
+	<set var="WSOCK32_LIB"><if cond="WITH_THREADS=='native'">wsock32</if></set>
+	<set var="ZLIB_LIB"><if cond="WITH_ZLIB=='1'">zdll</if></set>
+	<set var="POSIX_LIB"><if cond="WITH_THREADS=='posix'">pthreadVC</if></set>
+	
+	<set var="XMLINCLUDEDIR">$(XMLBASEDIR)$(DIRSEP)include$(DIRSEP)libxml$(DIRSEP)</set>
+
+  
+
+ 
+    <!--                                                            -->
+    <!--               ABOUT CONFIG.H HEADER CREATION               -->
+    <!--                                                            -->   
+    
+    <set var="CONFIG_SRCNAME">win32config.h</set>
+    <set var="CONFIG_DSTNAME">config.h</set>
+    
+	<if cond="FORMAT!='msvc6prj' and FORMAT!='autoconf' and FORMAT!='gnu'">
+		<copy-file-to-file id="setup">
+			<!-- On win32 we need to manually copy a default config.h file -->
+			<!-- from the include/mc/msw folder to include/mc			   -->
+			<src>../include/$(CONFIG_SRCNAME)</src>
+			<dst>../$(CONFIG_DSTNAME)</dst>
+			<dependency-of>all</dependency-of>
+
+			<!-- With autoconf, we will use the configure script to translate -->
+			<!-- include/mc/config.h.in to include/mc/config.h and thus we do -->
+			<!-- not need to do anything here...							  -->
+		</copy-file-to-file>
+	</if>
+    
+	<if cond="FORMAT!='msvc6prj'">
+	    
+		<mkdir id="setuplibdir"><dir>$(XMLBASEDIR)$(DIRSEP)lib</dir></mkdir>
+		<mkdir id="setupbindir"><dir>$(XMLBASEDIR)$(DIRSEP)bin</dir></mkdir>
+			
+	    <!-- Creates all output folders -->	
+	    <phony id="setupdirs">
+			<dependency-of>all</dependency-of>	    
+	    	<depends>setuplibdir</depends>
+	    	<depends>setupbindir</depends>
+	    </phony>
+	</if>
+
+    <!-- This defines a tag which includes headers on MSVC          -->
+    <!-- Note that $(value) is stuck in there by bakefile,          -->
+    <!-- and is the value between the beginning and end tag.        -->
+    <define-tag name="headers" rules="dll,lib,exe">
+        <if cond="FORMAT=='msvc6prj'">
+            <msvc-project-files>
+                $(value)
+            </msvc-project-files>
+        </if>
+    </define-tag>
+    		
+	<!-- Creates the following custom build rule for MSVC6PRJ file:
+	     copies ..\include\win32config.h into ..\config.h
+	     NOTE: this tag must be used before the <sources> tag if you want that the configuration
+	           file will be created before any other source file is compiled... -->
+    <define-tag name="msvc-copy-setup-h" rules="dll,lib,action">
+        <if cond="FORMAT=='msvc6prj'">
+	        <headers>$(XMLBASEDIR)\include\$(CONFIG_SRCNAME)</headers>
+	        <set var="__subdir">$(value)</set>
+            <set var="_custom_build_files" append="1">$(XMLBASEDIR)\include\$(CONFIG_SRCNAME)</set>
+            <set var="_custom_build____include_win32config_h">
+Creating the configuration file ..\$(CONFIG_DSTNAME) from ..\include\$(CONFIG_SRCNAME)
+InputPath=..\include\$(CONFIG_SRCNAME)
+
+"..\$(CONFIG_DSTNAME)" : $(DOLLAR)(SOURCE) "$(DOLLAR)(INTDIR)" "$(DOLLAR)(OUTDIR)"
+$(TAB)copy "$(DOLLAR)(InputPath)" ..\$(CONFIG_DSTNAME)
+            </set>
+        </if>
+    </define-tag>
+
+ 
+
+
+
+    <!--                                                            -->
+    <!--                          TEMPLATES                         -->
+    <!--                                                            -->   
+
+	<!-- The basic template: used by all the targets -->
+    <template id="base">
+        <if cond="FORMAT=='mingw'">                    
+            <define>HAVE_W32API_H</define>
+            <ldflags>-mthreads</ldflags>
+        </if>
+
+        <cxxflags>$(MYCPPFLAGS)</cxxflags>
+        <warnings>$(WARNINGS)</warnings>
+        <define>$(UNICODE_DEFINE)</define>
+        <optimize>$(OPTIMIZEFLAG)</optimize>
+        <debug-info>$(DEBUGINFO)</debug-info>
+        <debug-runtime-libs>$(DEBUGRUNTIME)</debug-runtime-libs>
+	</template>
+	
+	<!-- The template used both by the library and by the test programs -->
+    <template id="xml2" template="base">
+    
+        <!-- -I & -L equivalents -->
+        <include>$(XMLBASEDIR)$(DIRSEP)include</include>
+        <include>$(ICONV_DIR)$(DIRSEP)include</include>
+        <lib-path>$(ICONV_DIR)$(DIRSEP)lib</lib-path>    
+        
+		<!-- some conditional define flags -->
+        <cflags>$(THREADS_DEF)</cflags>
+		<define>$(ZLIB_DEF)</define>
+		<define>$(DEBUG_DEF)</define>
+		<define>$(STATIC_DEF)</define>
+	
+		<if cond="HAS_DEFINE_ARG=='0'">
+		
+			<!-- we are probably using an IDE output: defaults to WITH_THREADS=='native' -->
+			<define>_REENTRANT</define>
+			<define>HAVE_WIN32_THREADS</define>
+		</if>
+
+		
+		<!-- these must always be defined on win32 -->
+		<define>WIN32</define>		
+		<define>_WINDOWS</define>
+		<define>_MBCS</define>
+
+		<if cond="FORMAT=='borland'">
+			<define>_NO_VCL</define>
+			<define>EILSEQ=2</define>
+		</if>
+    </template>
+    
+	<!-- The template used by libxml2 test programs -->
+	<template id="xml2test" template="xml2">
+        <dirname>$(XMLTESTDIR)</dirname>
+        <app-type>console</app-type>        
+
+        <library>libxml2</library>
+		
+        <sys-lib>$(ICONV_LIB)</sys-lib>
+        <sys-lib>$(WSOCK32_LIB)</sys-lib>
+		<sys-lib>$(ZLIB_LIB)</sys-lib> 
+        <sys-lib>$(POSIX_LIB)</sys-lib>
+	</template>
+
+
+
+
+ 
+
+    <!--                                                            -->
+    <!--                  LIBXML2 LIBRARY TARGET                    -->
+    <!--                                                            -->  
+    
+    <lib id="libxml2" template="xml2">
+    	
+    	<!-- this is useful only when using MSVC6PRJ -->
+    	<if cond="FORMAT=='msvc6prj'">
+    		<msvc-copy-setup-h/>
+    		<msvc-file-group>Config headers:*config.h</msvc-file-group>
+    	</if>
+    	<if cond="FORMAT!='msvc6prj'">
+	    	<depends>setup</depends>
+    		<depends>setuplibdir</depends>
+    	</if>
+    	    
+    	<!-- output folder -->
+        <dirname>$(XMLBASEDIR)$(DIRSEP)lib</dirname>
+		
+		<!-- The output name must be "libxml2.lib" with all compilers.
+		     Since mingw format autoadds the "lib" prefix to the library
+			 name, we must intercept that case to avoid to get "liblibxml2.a" -->
+		<if cond="FORMAT!='mingw'">
+	        <libname>libxml2</libname>
+		</if>
+		<if cond="FORMAT=='mingw'">
+	        <libname>xml2</libname>
+		</if>
+		        
+        <!-- the list of source files to compile -->            
+        <sources>
+			$(XMLBASEDIR)$(DIRSEP)c14n.c
+			$(XMLBASEDIR)$(DIRSEP)catalog.c
+			$(XMLBASEDIR)$(DIRSEP)chvalid.c
+			$(XMLBASEDIR)$(DIRSEP)debugXML.c
+			$(XMLBASEDIR)$(DIRSEP)dict.c
+			$(XMLBASEDIR)$(DIRSEP)DOCBparser.c
+			$(XMLBASEDIR)$(DIRSEP)encoding.c
+			$(XMLBASEDIR)$(DIRSEP)entities.c
+			$(XMLBASEDIR)$(DIRSEP)error.c
+			$(XMLBASEDIR)$(DIRSEP)globals.c
+			$(XMLBASEDIR)$(DIRSEP)hash.c
+			$(XMLBASEDIR)$(DIRSEP)HTMLparser.c
+			$(XMLBASEDIR)$(DIRSEP)HTMLtree.c
+			$(XMLBASEDIR)$(DIRSEP)legacy.c
+			$(XMLBASEDIR)$(DIRSEP)list.c
+			$(XMLBASEDIR)$(DIRSEP)nanoftp.c
+			$(XMLBASEDIR)$(DIRSEP)nanohttp.c
+			$(XMLBASEDIR)$(DIRSEP)parser.c
+			$(XMLBASEDIR)$(DIRSEP)parserInternals.c
+			$(XMLBASEDIR)$(DIRSEP)pattern.c
+			$(XMLBASEDIR)$(DIRSEP)relaxng.c
+			$(XMLBASEDIR)$(DIRSEP)SAX2.c
+			$(XMLBASEDIR)$(DIRSEP)SAX.c
+			$(XMLBASEDIR)$(DIRSEP)threads.c
+			$(XMLBASEDIR)$(DIRSEP)tree.c
+			$(XMLBASEDIR)$(DIRSEP)uri.c
+			$(XMLBASEDIR)$(DIRSEP)valid.c
+			$(XMLBASEDIR)$(DIRSEP)xinclude.c
+			$(XMLBASEDIR)$(DIRSEP)xlink.c
+			$(XMLBASEDIR)$(DIRSEP)xmlIO.c
+			$(XMLBASEDIR)$(DIRSEP)xmlmemory.c
+			$(XMLBASEDIR)$(DIRSEP)xmlreader.c
+			$(XMLBASEDIR)$(DIRSEP)xmlregexp.c
+			$(XMLBASEDIR)$(DIRSEP)xmlsave.c
+			$(XMLBASEDIR)$(DIRSEP)xmlschemas.c
+			$(XMLBASEDIR)$(DIRSEP)xmlschemastypes.c
+			$(XMLBASEDIR)$(DIRSEP)xmlunicode.c
+			$(XMLBASEDIR)$(DIRSEP)xmlwriter.c
+			$(XMLBASEDIR)$(DIRSEP)xpath.c
+			$(XMLBASEDIR)$(DIRSEP)xpointer.c
+			$(XMLBASEDIR)$(DIRSEP)xmlstring.c
+        </sources>
+        
+        <!-- the list of header files (for IDE projects) -->
+        <headers>
+			$(XMLINCLUDEDIR)c14n.h
+			$(XMLINCLUDEDIR)catalog.h
+			$(XMLINCLUDEDIR)chvalid.h
+			$(XMLINCLUDEDIR)debugXML.h
+			$(XMLINCLUDEDIR)dict.h
+			$(XMLINCLUDEDIR)DOCBparser.h
+			$(XMLINCLUDEDIR)encoding.h
+			$(XMLINCLUDEDIR)entities.h
+			$(XMLINCLUDEDIR)globals.h
+			$(XMLINCLUDEDIR)hash.h
+			$(XMLINCLUDEDIR)HTMLparser.h
+			$(XMLINCLUDEDIR)HTMLtree.h
+			$(XMLINCLUDEDIR)list.h
+			$(XMLINCLUDEDIR)nanoftp.h
+			$(XMLINCLUDEDIR)nanohttp.h
+			$(XMLINCLUDEDIR)parser.h
+			$(XMLINCLUDEDIR)parserInternals.h
+			$(XMLINCLUDEDIR)pattern.h
+			$(XMLINCLUDEDIR)relaxng.h
+			$(XMLINCLUDEDIR)SAX.h
+			$(XMLINCLUDEDIR)SAX2.h
+			$(XMLINCLUDEDIR)schemasInternals.h
+			$(XMLINCLUDEDIR)threads.h
+			$(XMLINCLUDEDIR)tree.h
+			$(XMLINCLUDEDIR)uri.h
+			$(XMLINCLUDEDIR)valid.h
+			$(XMLINCLUDEDIR)xinclude.h
+			$(XMLINCLUDEDIR)xlink.h
+			$(XMLINCLUDEDIR)xmlautomata.h
+			$(XMLINCLUDEDIR)xmlerror.h
+			$(XMLINCLUDEDIR)xmlexports.h
+			$(XMLINCLUDEDIR)xmlIO.h
+			$(XMLINCLUDEDIR)xmlmemory.h
+			$(XMLINCLUDEDIR)xmlmodule.h
+			$(XMLINCLUDEDIR)xmlreader.h
+			$(XMLINCLUDEDIR)xmlregexp.h
+			$(XMLINCLUDEDIR)xmlsave.h
+			$(XMLINCLUDEDIR)xmlschemas.h
+			$(XMLINCLUDEDIR)xmlschemastypes.h
+			$(XMLINCLUDEDIR)xmlstring.h
+			$(XMLINCLUDEDIR)xmlunicode.h
+			$(XMLINCLUDEDIR)xmlversion.h			
+			$(XMLINCLUDEDIR)xmlwriter.h
+			$(XMLINCLUDEDIR)xpath.h
+			$(XMLINCLUDEDIR)xpathInternals.h
+			$(XMLINCLUDEDIR)xpointer.h
+		</headers>
+
+		<!-- these ones are not inside the include/libxml folder -->
+		<headers>
+			$(XMLBASEDIR)$(DIRSEP)libxml.h
+			$(XMLBASEDIR)$(DIRSEP)triodef.h
+			$(XMLBASEDIR)$(DIRSEP)trionan.h
+			$(XMLBASEDIR)$(DIRSEP)include$(DIRSEP)wsockcompat.h			
+       </headers>
+    </lib>
+
+
+
+    <!--                                                -->
+    <!--               LIBXML2 test programs            -->
+    <!--                                                -->
+	
+	<set var="BUILD_ALL_TESTS">
+
+		<!-- when using full options support with MSVC6PRJ we should
+		     avoid to create all the DSP files required for the test
+			 programs: they would take a _lot_ of space !! -->
+		<if cond="FORMAT=='msvc6prj' and FULL_OPTIONS_SUPPORT=='1'">0</if>
+
+		<!-- when creating a makefile or using MSVC6PRJ with limited
+		     options support, then we can build all the tests safely -->
+		<if cond="FORMAT!='msvc6prj' or FULL_OPTIONS_SUPPORT=='0'">1</if>
+
+	</set>
+
+    <if cond="BUILD_ALL_TESTS=='1'">
+
+		<exe id="testAutomata" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testAutomata.c</sources></exe>
+		<exe id="testC14N" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testC14N.c</sources></exe>
+		<exe id="testHTML" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testHTML.c</sources></exe>
+		<exe id="testReader" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testReader.c</sources></exe>
+		<exe id="testRegexp" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testRegexp.c</sources></exe>
+		<exe id="testRelax" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testRelax.c</sources></exe>
+		<exe id="testSax" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testSax.c</sources></exe>
+		<exe id="testSchemas" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testSchemas.c</sources></exe>
+		<exe id="testURI" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testURI.c</sources></exe>
+		<exe id="testXPath" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testXPath.c</sources></exe>
+		<exe id="xmllint" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)xmllint.c</sources></exe>
+
+		<if cond="FORMAT=='autoconf'">
+			<exe id="testdso" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testdso.c</sources></exe>
+		</if>
+
+	<!-- FIXME:
+		<exe id="testModule" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testModule.c</sources></exe>
+
+		<if cond="WITH_THREADS=='posix'">
+			<exe id="testThreads" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testThreads.c</sources></exe>
+		</if>
+		<if cond="WITH_THREADS=='ctls' or WITH_THREADS=='native'">
+			<exe id="testThreadsWin32" template="xml2test"><sources>$(XMLBASEDIR)$(DIRSEP)testThreadsWin32.c</sources></exe>
+		</if>
+	-->
+	</if>
+
+</makefile>