<?xml version="1.0" ?> <!-- Author: Francesco Montorsi <frm@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>