mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-03 04:13:31 +00:00
Cleanup of libxml2 library - removing all stuff which is not needed for building the library.
Whole version of this version of libxml2 is stored in vendor/libxml2/current, and future updates will be done only via proper vendor imports. svn path=/trunk/; revision=25351
This commit is contained in:
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!-- $Id: Bakefiles.bkgen,v 1.1 2005/01/27 23:59:14 veillard Exp $ -->
|
||||
|
||||
<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>
|
||||
@@ -1,92 +0,0 @@
|
||||
|
||||
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
|
||||
[email protected] 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 <[email protected]>
|
||||
|
||||
-749
@@ -1,749 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
|
||||
<!-- Author: Francesco Montorsi <[email protected]> -->
|
||||
<!-- 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\win32\$(CONFIG_SRCNAME)
|
||||
InputPath=..\include\$(CONFIG_SRCNAME)
|
||||
|
||||
"..\include\$(CONFIG_SRCNAME)" : $(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>
|
||||
@@ -1,10 +0,0 @@
|
||||
noinst_PROGRAMS = gjobread
|
||||
|
||||
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I@srcdir@/include @THREAD_CFLAGS@ @Z_CFLAGS@
|
||||
DEPS = $(top_builddir)/libxml2.la
|
||||
LDADDS = @STATIC_BINARIES@ $(top_builddir)/libxml2.la @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) -lm @WIN32_EXTRA_LIBADD@
|
||||
|
||||
gjobread_SOURCES=gjobread.c
|
||||
gjobread_LDFLAGS=
|
||||
gjobread_DEPENDENCIES= $(DEPS)
|
||||
gjobread_LDADD= @RDL_LIBS@ $(LDADDS)
|
||||
-539
@@ -1,539 +0,0 @@
|
||||
# Makefile.in generated by automake 1.9.2 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004 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@
|
||||
|
||||
SOURCES = $(gjobread_SOURCES)
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
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@
|
||||
noinst_PROGRAMS = gjobread$(EXEEXT)
|
||||
subdir = example
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
||||
$(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
PROGRAMS = $(noinst_PROGRAMS)
|
||||
am_gjobread_OBJECTS = gjobread.$(OBJEXT)
|
||||
gjobread_OBJECTS = $(am_gjobread_OBJECTS)
|
||||
am__DEPENDENCIES_1 =
|
||||
am__DEPENDENCIES_2 = $(top_builddir)/libxml2.la $(am__DEPENDENCIES_1)
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
SOURCES = $(gjobread_SOURCES)
|
||||
DIST_SOURCES = $(gjobread_SOURCES)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_THREAD_LIBS = @BASE_THREAD_LIBS@
|
||||
C14N_OBJ = @C14N_OBJ@
|
||||
CATALOG_OBJ = @CATALOG_OBJ@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
|
||||
CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
|
||||
DEBUG_OBJ = @DEBUG_OBJ@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DOCB_OBJ = @DOCB_OBJ@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
F77 = @F77@
|
||||
FFLAGS = @FFLAGS@
|
||||
FTP_OBJ = @FTP_OBJ@
|
||||
HAVE_ISINF = @HAVE_ISINF@
|
||||
HAVE_ISNAN = @HAVE_ISNAN@
|
||||
HTML_DIR = @HTML_DIR@
|
||||
HTML_OBJ = @HTML_OBJ@
|
||||
HTTP_OBJ = @HTTP_OBJ@
|
||||
ICONV_LIBS = @ICONV_LIBS@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIBXML_MAJOR_VERSION = @LIBXML_MAJOR_VERSION@
|
||||
LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@
|
||||
LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@
|
||||
LIBXML_VERSION = @LIBXML_VERSION@
|
||||
LIBXML_VERSION_EXTRA = @LIBXML_VERSION_EXTRA@
|
||||
LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@
|
||||
LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MODULE_EXTENSION = @MODULE_EXTENSION@
|
||||
MODULE_PLATFORM_LIBS = @MODULE_PLATFORM_LIBS@
|
||||
MV = @MV@
|
||||
M_LIBS = @M_LIBS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PYTHON = @PYTHON@
|
||||
PYTHON_INCLUDES = @PYTHON_INCLUDES@
|
||||
PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
|
||||
PYTHON_SUBDIR = @PYTHON_SUBDIR@
|
||||
PYTHON_TESTS = @PYTHON_TESTS@
|
||||
PYTHON_VERSION = @PYTHON_VERSION@
|
||||
RANLIB = @RANLIB@
|
||||
RDL_LIBS = @RDL_LIBS@
|
||||
READER_TEST = @READER_TEST@
|
||||
RELDATE = @RELDATE@
|
||||
RM = @RM@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STATIC_BINARIES = @STATIC_BINARIES@
|
||||
STRIP = @STRIP@
|
||||
TAR = @TAR@
|
||||
TEST_C14N = @TEST_C14N@
|
||||
TEST_CATALOG = @TEST_CATALOG@
|
||||
TEST_DEBUG = @TEST_DEBUG@
|
||||
TEST_HTML = @TEST_HTML@
|
||||
TEST_MODULES = @TEST_MODULES@
|
||||
TEST_PATTERN = @TEST_PATTERN@
|
||||
TEST_PHTML = @TEST_PHTML@
|
||||
TEST_PUSH = @TEST_PUSH@
|
||||
TEST_REGEXPS = @TEST_REGEXPS@
|
||||
TEST_SAX = @TEST_SAX@
|
||||
TEST_SCHEMAS = @TEST_SCHEMAS@
|
||||
TEST_THREADS = @TEST_THREADS@
|
||||
TEST_VALID = @TEST_VALID@
|
||||
TEST_VTIME = @TEST_VTIME@
|
||||
TEST_XINCLUDE = @TEST_XINCLUDE@
|
||||
TEST_XPATH = @TEST_XPATH@
|
||||
TEST_XPTR = @TEST_XPTR@
|
||||
THREADS_W32 = @THREADS_W32@
|
||||
THREAD_CFLAGS = @THREAD_CFLAGS@
|
||||
THREAD_LIBS = @THREAD_LIBS@
|
||||
U = @U@
|
||||
VERSION = @VERSION@
|
||||
WIN32_EXTRA_LDFLAGS = @WIN32_EXTRA_LDFLAGS@
|
||||
WIN32_EXTRA_LIBADD = @WIN32_EXTRA_LIBADD@
|
||||
WITH_C14N = @WITH_C14N@
|
||||
WITH_CATALOG = @WITH_CATALOG@
|
||||
WITH_DEBUG = @WITH_DEBUG@
|
||||
WITH_DOCB = @WITH_DOCB@
|
||||
WITH_FTP = @WITH_FTP@
|
||||
WITH_HTML = @WITH_HTML@
|
||||
WITH_HTTP = @WITH_HTTP@
|
||||
WITH_ICONV = @WITH_ICONV@
|
||||
WITH_ISO8859X = @WITH_ISO8859X@
|
||||
WITH_LEGACY = @WITH_LEGACY@
|
||||
WITH_MEM_DEBUG = @WITH_MEM_DEBUG@
|
||||
WITH_MODULES = @WITH_MODULES@
|
||||
WITH_OUTPUT = @WITH_OUTPUT@
|
||||
WITH_PATTERN = @WITH_PATTERN@
|
||||
WITH_PUSH = @WITH_PUSH@
|
||||
WITH_PYTHON_FALSE = @WITH_PYTHON_FALSE@
|
||||
WITH_PYTHON_TRUE = @WITH_PYTHON_TRUE@
|
||||
WITH_READER = @WITH_READER@
|
||||
WITH_REGEXPS = @WITH_REGEXPS@
|
||||
WITH_RUN_DEBUG = @WITH_RUN_DEBUG@
|
||||
WITH_SAX1 = @WITH_SAX1@
|
||||
WITH_SCHEMAS = @WITH_SCHEMAS@
|
||||
WITH_THREADS = @WITH_THREADS@
|
||||
WITH_TREE = @WITH_TREE@
|
||||
WITH_TRIO = @WITH_TRIO@
|
||||
WITH_TRIO_SOURCES_FALSE = @WITH_TRIO_SOURCES_FALSE@
|
||||
WITH_TRIO_SOURCES_TRUE = @WITH_TRIO_SOURCES_TRUE@
|
||||
WITH_VALID = @WITH_VALID@
|
||||
WITH_WRITER = @WITH_WRITER@
|
||||
WITH_XINCLUDE = @WITH_XINCLUDE@
|
||||
WITH_XPATH = @WITH_XPATH@
|
||||
WITH_XPTR = @WITH_XPTR@
|
||||
XINCLUDE_OBJ = @XINCLUDE_OBJ@
|
||||
XMLLINT = @XMLLINT@
|
||||
XML_CFLAGS = @XML_CFLAGS@
|
||||
XML_INCLUDEDIR = @XML_INCLUDEDIR@
|
||||
XML_LIBDIR = @XML_LIBDIR@
|
||||
XML_LIBS = @XML_LIBS@
|
||||
XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
|
||||
XPATH_OBJ = @XPATH_OBJ@
|
||||
XPTR_OBJ = @XPTR_OBJ@
|
||||
XSLTPROC = @XSLTPROC@
|
||||
Z_CFLAGS = @Z_CFLAGS@
|
||||
Z_LIBS = @Z_LIBS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_AS = @ac_ct_AS@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
||||
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@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
pythondir = @pythondir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I@srcdir@/include @THREAD_CFLAGS@ @Z_CFLAGS@
|
||||
DEPS = $(top_builddir)/libxml2.la
|
||||
LDADDS = @STATIC_BINARIES@ $(top_builddir)/libxml2.la @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) -lm @WIN32_EXTRA_LIBADD@
|
||||
gjobread_SOURCES = gjobread.c
|
||||
gjobread_LDFLAGS =
|
||||
gjobread_DEPENDENCIES = $(DEPS)
|
||||
gjobread_LDADD = @RDL_LIBS@ $(LDADDS)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu example/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu example/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
clean-noinstPROGRAMS:
|
||||
@list='$(noinst_PROGRAMS)'; for p in $$list; do \
|
||||
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
||||
echo " rm -f $$p $$f"; \
|
||||
rm -f $$p $$f ; \
|
||||
done
|
||||
gjobread$(EXEEXT): $(gjobread_OBJECTS) $(gjobread_DEPENDENCIES)
|
||||
@rm -f gjobread$(EXEEXT)
|
||||
$(LINK) $(gjobread_LDFLAGS) $(gjobread_OBJECTS) $(gjobread_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gjobread.Po@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
|
||||
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; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
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; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
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; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(PROGRAMS)
|
||||
installdirs:
|
||||
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:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
|
||||
mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
||||
clean-libtool clean-noinstPROGRAMS ctags distclean \
|
||||
distclean-compile distclean-generic distclean-libtool \
|
||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-exec \
|
||||
install-exec-am install-info install-info-am install-man \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||
pdf pdf-am ps ps-am tags uninstall uninstall-am \
|
||||
uninstall-info-am
|
||||
|
||||
# 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:
|
||||
-307
@@ -1,307 +0,0 @@
|
||||
/*
|
||||
* gjobread.c : a small test program for gnome jobs XML format
|
||||
*
|
||||
* See Copyright for the status of this software.
|
||||
*
|
||||
* [email protected]
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*
|
||||
* This example should compile and run indifferently with libxml-1.8.8 +
|
||||
* and libxml2-2.1.0 +
|
||||
* Check the COMPAT comments below
|
||||
*/
|
||||
|
||||
/*
|
||||
* COMPAT using xml-config --cflags to get the include path this will
|
||||
* work with both
|
||||
*/
|
||||
#include <libxml/xmlmemory.h>
|
||||
#include <libxml/parser.h>
|
||||
|
||||
#define DEBUG(x) printf(x)
|
||||
|
||||
/*
|
||||
* A person record
|
||||
* an xmlChar * is really an UTF8 encoded char string (0 terminated)
|
||||
*/
|
||||
typedef struct person {
|
||||
xmlChar *name;
|
||||
xmlChar *email;
|
||||
xmlChar *company;
|
||||
xmlChar *organisation;
|
||||
xmlChar *smail;
|
||||
xmlChar *webPage;
|
||||
xmlChar *phone;
|
||||
} person, *personPtr;
|
||||
|
||||
/*
|
||||
* And the code needed to parse it
|
||||
*/
|
||||
static personPtr
|
||||
parsePerson(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur) {
|
||||
personPtr ret = NULL;
|
||||
|
||||
DEBUG("parsePerson\n");
|
||||
/*
|
||||
* allocate the struct
|
||||
*/
|
||||
ret = (personPtr) malloc(sizeof(person));
|
||||
if (ret == NULL) {
|
||||
fprintf(stderr,"out of memory\n");
|
||||
return(NULL);
|
||||
}
|
||||
memset(ret, 0, sizeof(person));
|
||||
|
||||
/* We don't care what the top level element name is */
|
||||
/* COMPAT xmlChildrenNode is a macro unifying libxml1 and libxml2 names */
|
||||
cur = cur->xmlChildrenNode;
|
||||
while (cur != NULL) {
|
||||
if ((!xmlStrcmp(cur->name, (const xmlChar *)"Person")) &&
|
||||
(cur->ns == ns))
|
||||
ret->name = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
|
||||
if ((!xmlStrcmp(cur->name, (const xmlChar *)"Email")) &&
|
||||
(cur->ns == ns))
|
||||
ret->email = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
|
||||
cur = cur->next;
|
||||
}
|
||||
|
||||
return(ret);
|
||||
}
|
||||
|
||||
/*
|
||||
* and to print it
|
||||
*/
|
||||
static void
|
||||
printPerson(personPtr cur) {
|
||||
if (cur == NULL) return;
|
||||
printf("------ Person\n");
|
||||
if (cur->name) printf(" name: %s\n", cur->name);
|
||||
if (cur->email) printf(" email: %s\n", cur->email);
|
||||
if (cur->company) printf(" company: %s\n", cur->company);
|
||||
if (cur->organisation) printf(" organisation: %s\n", cur->organisation);
|
||||
if (cur->smail) printf(" smail: %s\n", cur->smail);
|
||||
if (cur->webPage) printf(" Web: %s\n", cur->webPage);
|
||||
if (cur->phone) printf(" phone: %s\n", cur->phone);
|
||||
printf("------\n");
|
||||
}
|
||||
|
||||
/*
|
||||
* a Description for a Job
|
||||
*/
|
||||
typedef struct job {
|
||||
xmlChar *projectID;
|
||||
xmlChar *application;
|
||||
xmlChar *category;
|
||||
personPtr contact;
|
||||
int nbDevelopers;
|
||||
personPtr developers[100]; /* using dynamic alloc is left as an exercise */
|
||||
} job, *jobPtr;
|
||||
|
||||
/*
|
||||
* And the code needed to parse it
|
||||
*/
|
||||
static jobPtr
|
||||
parseJob(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur) {
|
||||
jobPtr ret = NULL;
|
||||
|
||||
DEBUG("parseJob\n");
|
||||
/*
|
||||
* allocate the struct
|
||||
*/
|
||||
ret = (jobPtr) malloc(sizeof(job));
|
||||
if (ret == NULL) {
|
||||
fprintf(stderr,"out of memory\n");
|
||||
return(NULL);
|
||||
}
|
||||
memset(ret, 0, sizeof(job));
|
||||
|
||||
/* We don't care what the top level element name is */
|
||||
cur = cur->xmlChildrenNode;
|
||||
while (cur != NULL) {
|
||||
|
||||
if ((!xmlStrcmp(cur->name, (const xmlChar *) "Project")) &&
|
||||
(cur->ns == ns)) {
|
||||
ret->projectID = xmlGetProp(cur, (const xmlChar *) "ID");
|
||||
if (ret->projectID == NULL) {
|
||||
fprintf(stderr, "Project has no ID\n");
|
||||
}
|
||||
}
|
||||
if ((!xmlStrcmp(cur->name, (const xmlChar *) "Application")) &&
|
||||
(cur->ns == ns))
|
||||
ret->application =
|
||||
xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
|
||||
if ((!xmlStrcmp(cur->name, (const xmlChar *) "Category")) &&
|
||||
(cur->ns == ns))
|
||||
ret->category =
|
||||
xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
|
||||
if ((!xmlStrcmp(cur->name, (const xmlChar *) "Contact")) &&
|
||||
(cur->ns == ns))
|
||||
ret->contact = parsePerson(doc, ns, cur);
|
||||
cur = cur->next;
|
||||
}
|
||||
|
||||
return(ret);
|
||||
}
|
||||
|
||||
/*
|
||||
* and to print it
|
||||
*/
|
||||
static void
|
||||
printJob(jobPtr cur) {
|
||||
int i;
|
||||
|
||||
if (cur == NULL) return;
|
||||
printf("======= Job\n");
|
||||
if (cur->projectID != NULL) printf("projectID: %s\n", cur->projectID);
|
||||
if (cur->application != NULL) printf("application: %s\n", cur->application);
|
||||
if (cur->category != NULL) printf("category: %s\n", cur->category);
|
||||
if (cur->contact != NULL) printPerson(cur->contact);
|
||||
printf("%d developers\n", cur->nbDevelopers);
|
||||
|
||||
for (i = 0;i < cur->nbDevelopers;i++) printPerson(cur->developers[i]);
|
||||
printf("======= \n");
|
||||
}
|
||||
|
||||
/*
|
||||
* A pool of Gnome Jobs
|
||||
*/
|
||||
typedef struct gjob {
|
||||
int nbJobs;
|
||||
jobPtr jobs[500]; /* using dynamic alloc is left as an exercise */
|
||||
} gJob, *gJobPtr;
|
||||
|
||||
|
||||
static gJobPtr
|
||||
parseGjobFile(char *filename) {
|
||||
xmlDocPtr doc;
|
||||
gJobPtr ret;
|
||||
jobPtr curjob;
|
||||
xmlNsPtr ns;
|
||||
xmlNodePtr cur;
|
||||
|
||||
#ifdef LIBXML_SAX1_ENABLED
|
||||
/*
|
||||
* build an XML tree from a the file;
|
||||
*/
|
||||
doc = xmlParseFile(filename);
|
||||
if (doc == NULL) return(NULL);
|
||||
#else
|
||||
/*
|
||||
* the library has been compiled without some of the old interfaces
|
||||
*/
|
||||
return(NULL);
|
||||
#endif /* LIBXML_SAX1_ENABLED */
|
||||
|
||||
/*
|
||||
* Check the document is of the right kind
|
||||
*/
|
||||
|
||||
cur = xmlDocGetRootElement(doc);
|
||||
if (cur == NULL) {
|
||||
fprintf(stderr,"empty document\n");
|
||||
xmlFreeDoc(doc);
|
||||
return(NULL);
|
||||
}
|
||||
ns = xmlSearchNsByHref(doc, cur,
|
||||
(const xmlChar *) "http://www.gnome.org/some-location");
|
||||
if (ns == NULL) {
|
||||
fprintf(stderr,
|
||||
"document of the wrong type, GJob Namespace not found\n");
|
||||
xmlFreeDoc(doc);
|
||||
return(NULL);
|
||||
}
|
||||
if (xmlStrcmp(cur->name, (const xmlChar *) "Helping")) {
|
||||
fprintf(stderr,"document of the wrong type, root node != Helping");
|
||||
xmlFreeDoc(doc);
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* Allocate the structure to be returned.
|
||||
*/
|
||||
ret = (gJobPtr) malloc(sizeof(gJob));
|
||||
if (ret == NULL) {
|
||||
fprintf(stderr,"out of memory\n");
|
||||
xmlFreeDoc(doc);
|
||||
return(NULL);
|
||||
}
|
||||
memset(ret, 0, sizeof(gJob));
|
||||
|
||||
/*
|
||||
* Now, walk the tree.
|
||||
*/
|
||||
/* First level we expect just Jobs */
|
||||
cur = cur->xmlChildrenNode;
|
||||
while ( cur && xmlIsBlankNode ( cur ) )
|
||||
{
|
||||
cur = cur -> next;
|
||||
}
|
||||
if ( cur == 0 )
|
||||
return ( NULL );
|
||||
if ((xmlStrcmp(cur->name, (const xmlChar *) "Jobs")) || (cur->ns != ns)) {
|
||||
fprintf(stderr,"document of the wrong type, was '%s', Jobs expected",
|
||||
cur->name);
|
||||
fprintf(stderr,"xmlDocDump follows\n");
|
||||
#ifdef LIBXML_OUTPUT_ENABLED
|
||||
xmlDocDump ( stderr, doc );
|
||||
fprintf(stderr,"xmlDocDump finished\n");
|
||||
#endif /* LIBXML_OUTPUT_ENABLED */
|
||||
xmlFreeDoc(doc);
|
||||
free(ret);
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
/* Second level is a list of Job, but be laxist */
|
||||
cur = cur->xmlChildrenNode;
|
||||
while (cur != NULL) {
|
||||
if ((!xmlStrcmp(cur->name, (const xmlChar *) "Job")) &&
|
||||
(cur->ns == ns)) {
|
||||
curjob = parseJob(doc, ns, cur);
|
||||
if (curjob != NULL)
|
||||
ret->jobs[ret->nbJobs++] = curjob;
|
||||
if (ret->nbJobs >= 500) break;
|
||||
}
|
||||
cur = cur->next;
|
||||
}
|
||||
|
||||
return(ret);
|
||||
}
|
||||
|
||||
static void
|
||||
handleGjob(gJobPtr cur) {
|
||||
int i;
|
||||
|
||||
/*
|
||||
* Do whatever you want and free the structure.
|
||||
*/
|
||||
printf("%d Jobs registered\n", cur->nbJobs);
|
||||
for (i = 0; i < cur->nbJobs; i++) printJob(cur->jobs[i]);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
int i;
|
||||
gJobPtr cur;
|
||||
|
||||
/* COMPAT: Do not genrate nodes for formatting spaces */
|
||||
LIBXML_TEST_VERSION
|
||||
xmlKeepBlanksDefault(0);
|
||||
|
||||
for (i = 1; i < argc ; i++) {
|
||||
cur = parseGjobFile(argv[i]);
|
||||
if ( cur )
|
||||
handleGjob(cur);
|
||||
else
|
||||
fprintf( stderr, "Error parsing file '%s'\n", argv[i]);
|
||||
|
||||
}
|
||||
|
||||
/* Clean up everything else before quitting. */
|
||||
xmlCleanupParser();
|
||||
|
||||
return(0);
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<gjob:Helping xmlns:gjob="http://www.gnome.org/some-location">
|
||||
<gjob:Jobs>
|
||||
|
||||
<gjob:Job>
|
||||
<gjob:Project ID="3"/>
|
||||
<gjob:Application>GBackup</gjob:Application>
|
||||
<gjob:Category>Development</gjob:Category>
|
||||
|
||||
<gjob:Update>
|
||||
<gjob:Status>Open</gjob:Status>
|
||||
<gjob:Modified>Mon, 07 Jun 1999 20:27:45 -0400 MET DST</gjob:Modified>
|
||||
<gjob:Salary>USD 0.00</gjob:Salary>
|
||||
</gjob:Update>
|
||||
|
||||
<gjob:Developers>
|
||||
<gjob:Developer>
|
||||
</gjob:Developer>
|
||||
</gjob:Developers>
|
||||
|
||||
<gjob:Contact>
|
||||
<gjob:Person>Nathan Clemons</gjob:Person>
|
||||
<gjob:Email>[email protected]</gjob:Email>
|
||||
<gjob:Company>
|
||||
</gjob:Company>
|
||||
<gjob:Organisation>
|
||||
</gjob:Organisation>
|
||||
<gjob:Webpage>
|
||||
</gjob:Webpage>
|
||||
<gjob:Snailmail>
|
||||
</gjob:Snailmail>
|
||||
<gjob:Phone>
|
||||
</gjob:Phone>
|
||||
</gjob:Contact>
|
||||
|
||||
<gjob:Requirements>
|
||||
The program should be released as free software, under the GPL.
|
||||
</gjob:Requirements>
|
||||
|
||||
<gjob:Skills>
|
||||
</gjob:Skills>
|
||||
|
||||
<gjob:Details>
|
||||
A GNOME based system that will allow a superuser to configure
|
||||
compressed and uncompressed files and/or file systems to be backed
|
||||
up with a supported media in the system. This should be able to
|
||||
perform via find commands generating a list of files that are passed
|
||||
to tar, dd, cpio, cp, gzip, etc., to be directed to the tape machine
|
||||
or via operations performed on the filesystem itself. Email
|
||||
notification and GUI status display very important.
|
||||
</gjob:Details>
|
||||
|
||||
</gjob:Job>
|
||||
|
||||
</gjob:Jobs>
|
||||
</gjob:Helping>
|
||||
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
This is a MacOS port contribution (not to be used for MacOS-X)
|
||||
for the CodeWarrior environment.
|
||||
Please contact the author directly in case of problems:
|
||||
Eric <[email protected]>
|
||||
|
||||
thanks,
|
||||
|
||||
Daniel
|
||||
@@ -1,267 +0,0 @@
|
||||
(This file must be converted with BinHex 4.0)
|
||||
:%faTBRKYE$)ZE@0`,RKYE#jcDA3!8dP8090*9#%!N!3aG3#3"!p[8h4eCQC*G#!
|
||||
SBbNa16Nh,6)`-$%J3@aKC'4TEL"6HA0dC@ec,#"*EQ-Z,#"SG(4`1Lm[Gj!$,Q&
|
||||
XB@4ND@jcHA-ZBfpY,e0dG@CQ5A3[$3SD!!83!!!aG3#3!h)!!3#3!h+,E`fPT9*
|
||||
PFf9bGQ9NTD8!TC!%!3!!2`!3Z$,!1,Jb`$J!N!d2*kd!#kD6!!!`S!#3"!m!E'P
|
||||
LH'eX-LjYBh!ZH'eX!!#Ec&4&@&4$9dP&!3!"J!!"!*!+J!#3"d,"e5%1mE,3PTT
|
||||
e%qciJM!83K&J"3$c)Ci-RLl*Jj&KYk6LMHPcX8k"VfYVbpc+6J"MIMCMT8+`(1i
|
||||
58pfYfaf$DRNpGF+I2Uqri(%MYPj*RHkh`84'!1b-(0aakcC-j6S3IbdRP[K!N!!
|
||||
Liq5aS+@E&STcZ'NAH!p%'FU(UeiGbT[LIha$)jh2$NMlf2[[ah9a-IlElkZ$PNe
|
||||
V4iS[!jVf@LKE9h3B+[8)Qk#MlZ$k+DpGa,5eMaXSC2%EC*FhFlaJYNTakfZJpF*
|
||||
f#Sm53bfNiMV@RKXN4)`K%+6k`C!!ZKeM9'-J6C0HG!!qG1#fH0@mSZeZG0$IBSV
|
||||
%iP%Nmkpb#T8%YRU9"ilEN!!HjfD"iMpY'AD20KerK6rD28Vja6Z)X,lJ2T`KSU1
|
||||
H9d5aXqEDfLe2abB[!bQdYH03K5MPm6YP,#"p9@(3iT[,0A!M-LHV&V0RSkAdBCS
|
||||
Y+r-2[FK6$BVPQ(82mEHmlI(fXpVHR,AKe!K)AHN(hKdrr$1LqkTR`X#Cd*MUBje
|
||||
T`JL@D(NDaKedj!DVqVK2H)40b20B86$%`f5)E"Id`#5,1YK#)fl3@'D5!-S5"(X
|
||||
d`K2J(&*8GP6FfUqS@5kY"DrqT5jXN9Ep'U6h(eRrAP@fF+qqQ4SBP&hi1["!U`e
|
||||
CL9`1Gq!X0RLRlE0rBHN,`hmJV2ZMJhCFHFMEj1IV(55eh[M#F"C)i,-*jH-*%$)
|
||||
kmPpSXLS1AA9KH)Y9MRUYaJ6m2f'AURTca'-409*)aQ''XIpFV[2Tb&0A!U9`CDD
|
||||
aM(19P!G`[1L[NmTPEm0C+&['U-a6TkJMjN0Lf+#C'M4F#+H[mf"TN`i5&p%Gq4'
|
||||
2Gq+P&PG$$8AF3Hcr`+a`+UAi!GI'P+Vj1&3@e+hkaK*CHd6ll1ZXGaN5I1Hip@L
|
||||
frl+%HQd#Y%*I0[b*YbeUClA$90Nq1bq+9BcE'JJhJ,(ELMQj45#D0@la%&(DiT@
|
||||
0J-$8Dh!PD6d@1UB'a(Ra)a'3!)6JX*U+h5rS#YP%I4!Y$$kf+FTJV8X@+b5+D,#
|
||||
MIR9Ha3erq+fpl&kp[BQ4M-RSNDeC%280dXPZ9@JAA1mQ`YKCNI4cNrjZm121rm(
|
||||
0hFQdJ0%hEe&L8P"8Pd$!Tqi4ElJa+akC*Mrfdfk"GeJ`*1hP#Ne1E,Db[hGcq*%
|
||||
XD4QeT"p5SX*EYZNA81#,HR)+*J`A*S-C&eB&%eVjFcG"F"6DPQl0V4D$`9k!Je,
|
||||
-"j*-EXIERUe&@lAFCfl!&APmZYINP'2+'RHYS1mehXCEUAGYbKe%DGJPB9i-H!i
|
||||
HPPe1'#18`-UaSjNFMmi$r5V901iYN!#i1(rY[S5#@M+ZQYV)U)3-MPDcDX"hNpG
|
||||
KaNXjbTZP18(Sd9kLM@"i@"[3JQ+T8Pk1VYYYrB"3KTqQMFG"918VEN80GP-CEq6
|
||||
82'-3GhThLj%Z,jNb+lHEA-Uc@lLrrLq,9phe'8kpPKfCY*&TjMLU2[I$HF6qZ2R
|
||||
XFZM2bfkjr,il23`S+3#IrMTUjLDFi"JdqD'[QSFh!5ar3Kdh(,*HPELp(bc*PZb
|
||||
90Jh'iT2!PIJ)D&+RqMH8ZIJSLXakp@q6Xh4b%bBf%QJG`U%Fa6kiCE*Pad(&dLp
|
||||
1fP33pMiFc*-KMk+RQNBAf3d2-A'5k'HIrM0k*Le0e1A@![39*ICcm23M$!85JlX
|
||||
Vr-+BrIE$L!8"bQ"pXcIlKVBY2EhdNlSN4*mhp@+Jm#i"c1@e5*,j8J)b%QB%fU"
|
||||
0&ZNqAeQc%L&AZZ0lpp6UjCXXj[%m'qS8+4Dra&+E!JQF6c21$h,0mZYF3D[NiGr
|
||||
#2d!aZID(m!hc2!)AMV(bKPEe9lf%*qK+T2V3RDe`)+YRr[QmNriTXaIIM@-BTI+
|
||||
pH1pY+%AM0HR*$%C9#Ghr(,Imk[#([a)RFVZ#B%`r53(GZmRSG8`L!pJQ-&(d(U&
|
||||
CD&UL@cYdZ&j0HEV'rFja@c`IPQ*GbZ6MKIMEFEPF)+YY[+KK9k9JDp4-$MKm0rr
|
||||
RfQQ6T&%!V#BS2Ukq2Sq*28`)`fI$TRBph'X%)SfQ0V*8-ia5Y20rTAI-8"f,X[+
|
||||
9BVIMdj&c5"jM6GfI'P$0b5"2V-*#QI5M8RlIY$U&bSe'[V%&J63`Y-C-SQPI@NK
|
||||
KKLD`qaEFU'#RI$ZCE,pB+F@$+GD8L#JDjG2H1ALUJ23+'J&DB-fEiAEmI)-H%ME
|
||||
C!21@cP1+rPPfEN+Mi@AkN89a4jC6S38,Y-+!82'L",+(89rIVQLqD)&56ZiI!BM
|
||||
dEKR[NTPASR@R)S3D8lNrjX3$c[h%jlVrVkU5C(ebrk(d@Xj-KQ,XPQl0j&G#4X3
|
||||
e-Z3Lkl+Y,E1GB,DkQ1IK(ibLB%k-KpTUEm[kBhZ9h1HFmC&$H(AB,`Mkl8H"Dq,
|
||||
DmAI0cI$iUG8&cMHR#Gb`@r,`'NM0SYH'NB6qbpYp[q0$e`I[SJi[5F[iHrKAY8p
|
||||
XTe%##-l)kQL4V!@[r`UI8pb,2MT0PL3jUX2ZJ#Qp9e9+Cjp`S0$cT,5ZB@Zl80D
|
||||
HFQeDT8HRD*!!9+Kk(9[,h9$DNa'(5l5p#9*lP8i)hS'lPaBQV4lXkFP60Zi-fi,
|
||||
44'S@mHA9q@V-(`Br`,j2R,4GaKPMDhF%#Z1NLfJr@'f`9F+dk,dq1%KTYN,`9dD
|
||||
2'&#UjmDIIK3VZ4*&ld5YraQS)!0`2BjN6pU8CJ(JCT)m'kTh)(9"Aiq"pHkV*mb
|
||||
E$&Y6FdXGqA9dF46dEEd'emEhcGT%q@AP+H"PfE8aq4B6p3K3Vf`mPB+&hh1kNrr
|
||||
Y)aY"IEC9PA)Z'kBjp3Q6Flqr@Gk2M2*pY@ViVlea*R5E%$S@BqC#q9m)hj08`ki
|
||||
q-!22J4GALA2Gf-r8NJpMV10V9AVG"3Ji(mbAf!4hB*[U"Z!k`i#JHp(Vd+!)[6i
|
||||
&Mch&2ph54+DTXqlRr#8r'Q%3cXh%aNiiEf14l,M'8J'f(L4MA,4a&%d2j@*m1,j
|
||||
V'8%ZdI$$(NJY#ZUUhFp`9MBd2S4Bkc[8X`HdBCEYlTC9&lXD%DqK5QIE%C8,E5U
|
||||
rD$3hjp`ZM#Lc4iRf!3q3!&f@Jl'DF6-3jiM15-l@@@Z0*1c-B)PfNL$BqZ,XYTV
|
||||
PA0`C+db3!#C9!j0`5MplSdBhU1kE1EG-h@Kja&kr#*(BcrV'l5B6TCZ#NK8rpC%
|
||||
"(RD0TCl,5p8D5iT5QFpmf!$)-6XQ3deZC6A,LB6MJ2,5m&e+2YF,C4RaL2-"+59
|
||||
YS14-rVrF#2j!P!RaqRbRqJ0Y-dh@D5)"qpe")lVT4A5G4bA,VXcHp88p)eGB#&D
|
||||
Zpm1ZAr+5@r+Q80@Ad4%FHFPr-HPFhPMhFA%K*Vc$)S&4bqP%2a8R9(P45+Ff#9f
|
||||
Q%KTj`&S'Rf@UN@S&Ga%&dUaA8LMXSX%%)-br8E3LB5*Fq2BMbe-8eEGcLc'kM4J
|
||||
4UQDX$DDAGJ0(ZH&G5PV&5+#cXDU4JAT+rQ"8'[e$GhklGBN'VdeB62A*rr9X9fL
|
||||
QYGqf-!%II"MXa)kFD%afKXieB#)ZbqB9MXA(lm1'YBEc5JNKd6"JNa'fX[J+Gi+
|
||||
l6Ue*EXGq4#*-3i+dij0i"qV%@b+`U(rF(Gm2!`QMl08FeY[LMdhU,@-kaLa!NUL
|
||||
Gd(-,Z96mRc4'miNaf!"FjKl)-E5U#*UXBR)HVI(Y"#qR!M[N,Jk%@Y-UYqmFihK
|
||||
9Gh"0'%HFr%*A0iq3!+JGHhlia$%BqDjVaiSAk@0#R9F3UbkXM2Bi-j,2IY[GCmd
|
||||
Db#BE9QUTNGG&-9VaR`kc[aDi"MfZ3QRIQiK&!1QQU(bMa!&iLY228pZrqI[1Zm5
|
||||
!TGRZ#4QPD*PbBC,C&ZILe%68Dj8,2ebjd#H'ZUbeY!miLR)[U-K-TZRQ)&h'IdJ
|
||||
HC*NP#3qV+jiL`[4"e+Eka%EM4ZGik@UfL5a+DqI[eXJji`"SK!mdNkYFCbaL-$e
|
||||
i@$[MB)#(f5)f#a%%BS#TTLQkhX95Lb2'YJpDHCce#QB*[hhN5N,a1#dYQ%YE@m(
|
||||
SV'hKeM`U8Hcq-'+Gm,eaIC`8`T`)Qmh3R"EhFlX2m`2Sf9!Y299Jr%[cj'a,&@l
|
||||
aq(DNk&&a+ZRh#JR(@(EdmACB5Q"XZmXX@ECVDGj%JD$Cca5r-!&!0D`2R)jqL1[
|
||||
qF95MLX@N"ShEM2Vd'iN6fU@P',LfcARZ`2!2R*Z"er[MBLchA)0B%`SJjV)&-"D
|
||||
pS4(X[VDdU5[Hh!rfr9a5Gp*2L4b5lX+ML(%@`ZlL`$ZK*6liZh$L!r9j$2P21G9
|
||||
j#qJ`2e+K2(qQ5&P!m5kACR[60`P80eU!)0pLk*X@5VrJN9INKI4cIl3V,QXFIi0
|
||||
lRp5UQl@qiLR8l3d`C2J+dLTB*KrVf#C)Jh$-bmFXjB(H+4aBbK&!+VJf"MpHPIm
|
||||
ap,JI1m(H)q[K#A2HK2S4Q5J'Y9VF(8H@@5)h&r@$r(FiPpSMAL1SBJm"2m3!R"C
|
||||
[+JFMkK0e$GSPMZe0`l"qdHET4`%plD0Lq$-J0bdB&bZH+P)6Zr-Z2-S2F)%R!f3
|
||||
N9Z`@2GIU+1I2YA6AUf-)"!U,B[L!DT+%9AG'hCN)&AIr*8p2c"bMA2#rMJb-85N
|
||||
#"B6F+b-rSp'GfD[2"$PLe-9*5!qAR1*VFeiC1ZcSq`CrrMNU-#56h55Mh%1*XUD
|
||||
h,1iP42BABKR"efD6%$BD`5a))&jdieSj02V!'4YcU#ahYFMhRkrNcLlcS+'a%(P
|
||||
l`),$rh"cqCj*k3'AAK-+q%V-"5M51JSC@M'KQA[)d[ja*-Lb8VmLJ-&MdB+AJq!
|
||||
VLQjFBTHNG8CYUVbJlN*$Vp5,Q(4ie&3QYVe8UJ9Qh%T+e,Q(IAU8YKfSp8QA6Y+
|
||||
Bf69`3pER5R[#[M5Xmq1@SPaqp5$(rfmK!5j2LE1T@hJDV94f,I,[0MbAqP5Hh"K
|
||||
-)G-q`dVrj@-c@#BPKb+r#&FQr#dK'h(@,B6"LaqAhhGA'+j,Xh$raYdDlk%CbC1
|
||||
+KDaRqPDYJFIaBCbH,-bk56Se0VXF2Q[P%9GXa!4imM@5h93HhdidM#*M5Pp5mTS
|
||||
&I&*1J[BK1R*kP-+f)DAbh9Zaki8+P-Q'$i)XB568d`Mp1FUflbbV`LF#CXPDikb
|
||||
$Ve3rdC2R*YImeT!!H03R+9`Z*XJf@0@C&Fc@Kd%ZdU[kELrqHi2+R#2$LE1F*Ec
|
||||
dfZJlieqTAHVa"Kq)U((5N9@)fh#ERTT!Pc5-$-$4r!T8$+2X9kKL2i['Shd!EiM
|
||||
)4i3H2d8q5[Bj#q%aR[RZ$[`"5%4+SCX+@ZPIL``qiLU@T%B2JMa$J0`%[l,c)jY
|
||||
a'+FrEDI14dMD)M1cf3JDUScE05PD"5PKmhm9bp9#9Z9'9E)8ir+@8Ec+FV"`GRc
|
||||
1qpmDG,Y$VdN0UCNebp*'r2)CllpIa%1`$'eN+4#UCib4#CVKGMqm8!CTYQR'RBS
|
||||
4T&JQUIVld64'Z,fQ(aN*B84m'ERb+`$`ec)a'&p&(j%Q3m%'5ppVQEF%H%ZT!F%
|
||||
DTam+apNGm@ij$-`[9+XR8F)kBm[,%k$AV!Ar1lIKiP8*p0P*BU62-SJ,(lATG-M
|
||||
&VaKj*FqH+Y$5MKSH!3!q0+RqC8aZNMf%!AVi,[M,[N8H'Gi4XG@K`AdGIbX`h@X
|
||||
`!f(DTZ(X6XmF$T19-CC8a'Zk8,K`&bpkR,4,1965R(E52!qbXA!cjG`X0$qD9Bd
|
||||
Jql)[&+&S9Fmrf)P$PGa-Ld#h'EAR(2a+ALC&9CPNbkTEJLZRiij`KrBZ9X3FrBp
|
||||
1NI'k8kH'j*LRr3LCT@F#"A0*[DT-pXpj@aB[#qhL'cYPP8E8,#BXVRYV0ca20N4
|
||||
49j9e%"8%9[@[Lbp$qLSiQ6,Hq$VCQcN2[5Sqe6,kbiThV335N!#eIf#*d6pmcc1
|
||||
"FCJ9jlVkTBEbIdDSVdG#NBG"jBTMk*!!KLVS5XCY#!b)&PAVrDC"14THIl*0dMb
|
||||
iX,MM'VG`Am&&f*&TEE8%$JZVVF%A$*`lCjm!ki"EfLHAr(5mH3M#i+hU(Hm!fc0
|
||||
G3h1MLJ,-2bYFE!!'e58MMiHS#'kXdSDLa`qmLI[qkHUfM4mZLNIEaj&`TU3B#Lh
|
||||
8p3lD-j`@943Am`E"Y&LF[DpP`&F20UU'4Sa,&@$!dXRbU[E0)h)UKKG#0+*3lFK
|
||||
*-`UGrdCkL$*93-"I96'Db@rDNed5)3h(4H,@d6`5VjZV@84!fc(4NNNe'h"BfpT
|
||||
cU(5'#X',[p0[+`c`C!`Y%V6@e`hTLb0T18GE`BSpR!AE-5QbeTdYrV@6R12C9pJ
|
||||
!I6U5QqRBTf2(JiSb*!&BGQ4Zr4"#`PMV2DQGMq#%JqI`GbJEfem0e8iUr,YR6rP
|
||||
1fZ9iTAcV%M0[53rN5J+V$!m#HbIGQpDM#(XI"`e0Rm+LeK!'m$Jb[PT!D"2kaTQ
|
||||
PD41V,6FqQV6@1)K"f#iS#mP8R4,1e%I'+HJ-TXZK2%X3iipeYIGc(89aU`I@DIG
|
||||
[Nd*i4dRYrDHCpQ-MA3@(pPh&QUXTJam9crlBpYcle9b51Y%Kh4LY1@*NbVr"@Be
|
||||
A5r1*ZQ9AD#FYPS!40QVa`j4RZlB2Vrb3!-)RV4"M5iRQAMqb&41`XV1l)1%CQIP
|
||||
DGkD-$)dDLi"aKGp)ZeqimRbl2#$[DaG&5$TReaa,T'S-$R(+q)$%iJQ#G1@ZTkc
|
||||
3aTj9hi,55L0Xk`4pF4FEMX2i"9KXr,LPekQ)MFIM`22D$*+1R-$0+'VU1CQd3$M
|
||||
#F$DhBUb8mA#pdM`0'AZC`[mTl+'6LXA+XdfRf34G1[LDipik`D3`M$iMaXfcA(q
|
||||
99[@03r[28S&&pC30RB@ZTHbkcC1P$Z4DRfAeb2c&1fQK*GrEH$ePaiBrRL(c*55
|
||||
Uq&V0@QP(B2afNiQS[&q)e+[22Iq&2KlG(0p(F"#DjF#Jf*b*Qm%#V,DYbN2"kaK
|
||||
ML90PE4@5C[p"KNMKE,mqcfEQD9V2@qb1"dHBC&KdGlEba&*4@U,rC9DfrdRj6K,
|
||||
ldb`ZCSQ+XNNEANeD0N@%r6NhNL1mm'9F+hP6J)RBiHT%-fc4eck,(21H,FL0Qp4
|
||||
4&r5VV&(NS6U"9#%'[pPCDN3J%YfPp,NdmSHMS$iP9q,CkBRrdcQ9)92bkR@+(8+
|
||||
2Yd1F1@HJ&+iED,d!K8qdNRr+%Bd[!@8YN!"@'R(pm#GQE%C,Z2mKj$mNUjKUf4'
|
||||
Teq#1"dB$',jhRET3j*&b'*XN0pNbXSTG[`CEJjiH!3U5(Sp21C0*SEJrF3l2KZP
|
||||
f`h11DA&Qif9)$-$mjB59qcBU4QNXr1"keDI@GLTkpUc'Cfrh-qP$Tb8h46[1'%`
|
||||
`l!ZrjIL!)RNVP93+(h)r8f1!14(+,`08Pl6p,42dl,0HIVa&EVIPVc+ff+9(pK"
|
||||
%'$$!iJ2N9r+P!Gh#6kBX*64pp0&4%'L@YJGMqp(D%&10MLkk'E(1&YMEX9kG(kj
|
||||
fFMfEdMI3+)!3*XD$@$4ep81ljV!9Z)X#j'CL1QbNi[#k-mGSH#`@P-Y8Gf3J"ER
|
||||
mVKd+28pjVK&H6ZPHQGlIC&)[hR+V4RZEPUk`rdhhhq4+e@Q#Zja(HQqq1'kZ*[+
|
||||
r[VlqA3YpEQMHL6d)+r%i4@A@SI*Y[c20(KHk)$)NlU0!Lj5KEM#V#Qqhb)39T)m
|
||||
%If#X8'aG0VFNREEY9[B"LqM-"D,F*Y--VM2EjY'0#+%`V&@'0aVV)8rF8+*3l5Y
|
||||
KKd!3h@lrBaTCpjEi1&KSD`A+Q$-KX2rLr8(,"`4FjiT2+K5G09ZDZ[1-eA!B)G1
|
||||
N03#`H568SX$iUK@e'2iRT!+l8,jibK)c58qcFIVSZ'mlX5$Uqmk8U3Sf`R$K9!Z
|
||||
M81R%r)Zb*TPjZP$D4Ga2(d"pp8'&U563((EF*CS5`H!'h-qhG,6-cfURU#JGfDr
|
||||
LfEEGV)&1M"Q3!+1ZMpZ+E6U*`Uj[2#b@`3hP)ZCqh((-e4FKA)Jm'+[SAG(14[)
|
||||
9b6(eG(GiDNbK$ThUDbmK,RJHPe82a@MY6&jj&[bK!3'X5f'9JD1I2D$23%*f,'S
|
||||
pNdN&UkaaCUCIF`ZHBLBC5bYq!,A-(3Yi5-pe&H"lV@4VEj0`L$h3U'kqp(rL%aq
|
||||
h*hjN*ZFd*lpcA`1CUN80lJN03f9)5HM@HjV[bP2P!JBMl"RS1rPMY"U)XmibF)R
|
||||
I5A(hFa,+TQ5kmF&`&-rS!r%-jJMBLM#ICV6lC9RhkaTh$3jkML1[DqY`&8b&q#1
|
||||
%+K,lpe3TH[6i+(hdhlN2ZX*3E30V+C)[1R2Jkk%$)$amb1@BdehidBEG!MAi3h!
|
||||
3B1Gd'IrTqY60bD*4l1U2bafI*I)48c68prXT5fmRJ4CqhaC)0CKfHTJUKGp)E+J
|
||||
QX&)!VmAk3!T(rrDRAFIj8#DKF#FmNRM8L8r6GJqS@6lc9d@KQNK)Kmd'ILRI#m$
|
||||
3e5+KTf8AriK0%6B065QEb2apXF9(E5[$c68k%r3R'U0biTSG+1A9U-YJUL*@ffM
|
||||
!Kl,pQ`JEiVK0&M!@AbfdX&R$Ce*"rch"Ea4fm8CmPFkSM5b&L6BNeCDFT28F+cR
|
||||
j(J&X"f*UU6!B!C5caJl`qT4%A*UTN!!BRh2BUl0Q[Bjeldik2A-U&H)N#$+BfAY
|
||||
+HD5HI@BFS@lI',mkFU%)hTXZK#8`5b'LD'-5ULKi*X,30-q`BGq1@UZ"U$+lia'
|
||||
cb3CK'UG-kfD9d@+fKUU*VQkEk@#ZL1k!qq9m(%#dhpF@%I'N$$iN!k"ALFrE1+'
|
||||
$$Q6rJFHPMk&S+H2$lrC@,IAQ6)PAHiU8@dmQlRZ&*mYKD*40&-LZRcQDbAbM-j4
|
||||
lp$d35aGj2q1F1)43TUpSHca@r0#P,9G4+Q6,[dPL)3q6UARe[FY-*Eiq08N!KKd
|
||||
b'I5a)D6jdZ4BIEiK&6fX433Kam*S@ceYd4#qL!-91*c&%RY4mIj#ELKf-c$+j5l
|
||||
3P*m#Ii5a0LKSXrLEYVEpcJ0([&`(6RN(&q&frRNB[hB[TZSjZFTY(!5aP+k,#BV
|
||||
!8jaSX`qirr&TSa2a*-rb#ERNIC@bU)@i-I*"TYEeQAVD-Nir+X2Kl$'#Be44+d*
|
||||
N$$QJKBXmN5UXB5m@@%T@pPrKacq$'3LP$('80+YjYdf"j$K4r&0lGELAM#pf4D)
|
||||
14SUH4hb$Kl)'r%N3l`N5c5+[B*3XZC!!2G+'rQ-rU#&kL(bbbjX[a#a$D6bmKaU
|
||||
K)E)@KB668cG"M5"+lZ@DYB9&Q3pqckb6,8Hr[BN%)YMZ-DS8IfS9cfli3dJ)#5U
|
||||
3!,Dl3U(9eQaEc'`3ZB1lrSHYK`&+E"GT)qS"jG`-"8'1NYDAeqbEENcmZEI9JG@
|
||||
FJ-K"%Z2RZrLL&CY'P8KQ"#Z(LS'1HbP'SmbB!hj%Y3-M2lKY#XD1l`NPr2YpL[G
|
||||
p6YF8BqH0`PT1D884$-Dpp`XN,F3%&Dqbr%QRBTE@AINe5D("mkY+UpP(NH,1YXc
|
||||
)ie221a'3!(@10a&DY+18d-e3F+,eKCA*(V3RSp&eR)",f8E2Me"j)HU4H)bT4ST
|
||||
p(HE"hbe&CaEDSJ&d9p(2JX+2)8%T-,jAQQAG)l&FaIp@U&L&-IGZCLe[jDjh[%h
|
||||
"mNC529(I"HE&Z[L*09QhYXFPd+aG6UKf,hIhbF`bNXDpV8Q,8YP,A!rlfDm1qaF
|
||||
pcaSh'kTk5LjJL(dh,AlifN3CCd&9kPTk,X&B@MN0c0kmrUhci#*(cj%q0184%P@
|
||||
+62ELf@0HC4D'`l!m`,2VeGFPmAkN98fF&p(fN!!H'i*GmKe4C3#+N`Vq3a[DA)L
|
||||
#b#kjf9V6Emk2iIKCBMc$dj@qTm2-hq4pfdSqjPM[E(5eTeZ'1-+MELGTQj!!!A*
|
||||
rQ0V%'jGp3"4FcCVAN!#BHZ,5UAh+LI[+aU'DPLcAhhE3lGI0r[ff$6+YSIE#ir"
|
||||
98L@%YZXV&R0JaZb8rKPkY9VJ-rKI)jChGP,DpG!DVj!!Ch5CE#[A%40%PdJ`ER+
|
||||
U0PjXF%LADA`bKm9@*MTA(fm4E3DILCaeB"1CRZrh(MX1N!#FBpIfPh1RQQBqMjp
|
||||
hIh&MAUjRI#1hXE)!X9l-P(2hKqKfiChFkE8[2JPQ%i3Hi18([a)JhfB9)%@NaAb
|
||||
4C'k@F$MGp2)leMbkdYGa%eH!"R`KFEc3KHBA,ENbkGekhYhUUH&GQ4A*i3YSlYT
|
||||
!9V[2VM'-%H5l8c0Ml63[ffljh9VDrD*HeICH2qkl&lLepPB(LL-QC61dQUbXipK
|
||||
VfZ$qP%hE&bm-NT)`NU'-6Q1PSYEV@ciV!Fl3rL,jXe)5f---"K'lP#jKT5@6U49
|
||||
dBRpSTU+2LS1iB44TJ,c0C@fqPcUN&lR8D-MHAjblAPMF,T!!f$$J[H%2b[(`a2V
|
||||
!j&ZGNbSpGH")"3D1-d&R[&ScPCK35-`KhZMm`H%hKU(Z"BD[Kq2X-X'I+!9cUHq
|
||||
c[Ed6T0LRdU4pBXYA#SZkaKK*`+22Hd$S!(p8A6MMq6[HNRrH'84hi,06GcS6)M+
|
||||
EN!$dVrC*[r@Mh8d%,eZdjYJMANpL2ak+b4Tj3f3++-DNYAEe@jl(Z%A5kc*"l!J
|
||||
A,eP"Ihd#lkhED'V[j9'BZa#i2(#BZ`KSGi5p$eMP)qRT'-Y-qd5T*AYJC4FfmJp
|
||||
p!6RJ`MCR24'(QledJDVENlD,alX8QXcP6XR,-f!Np8kI)YhBqa)J@KYjHUqQFT!
|
||||
!Q*m4j0C"Ke0H1#`+'Z)DdC!!P$qmXU1eRU%qXN"K%i$S8@6fJ8%'9%0N)&Z@M$c
|
||||
C9[c!hp0i4e9)qXNTIemr(N"AFB3$@Bfe861h1h""#e8RF06BHGGep3DDD@+C+IC
|
||||
j6dHD"M9plFIVBa8%-U,EU5VUjPA("8[8&X3F*PHM'PUQ3PKX@3N"&ZdjhmlRcr5
|
||||
`m3fF3348Vc95&NK`X+61RGdfZ"RBM,'*"aQ1&He(91[2hha'VB9F5dc5RTS-YlN
|
||||
@J1XMS68pb6QDIfA-kL*lr,#@[6[R-4SI--iD9&B,K3%m1cYHBkHcFI`DAJ9cN!!
|
||||
5%pN%NYM2(PM#6c*Zqj1lTreCT-C%-mcmd"HkZLX(@iiqE2D1(lqNKGN-bmZS1UP
|
||||
D6$'RAN'8Gm3P8"km2lQD!3KBhN-b!m(X5iq0RNqh`IDP3f"SiSpZM[b0l`L#PE@
|
||||
GaKjJr12$YL'()jmIU,L`MD1XY&M!`qDQ&p'pL#-#[0+$dCYTN!#*kb-i#1`PGUr
|
||||
820-ENP%JRTVP3'`XVZ@c,$T-a34dB-+KS9)bSTMK8dY&Z"-*d,a$VXPA$E(icT6
|
||||
fI[EN"T*hJ1ZHd281K1#,$j[YRL3FXca'mF8khR,ZkKa6YYeJa#D3!,ra36"cHJJ
|
||||
Ki+'3!'XL"9HQ*jU@UjQI8#'+dd8r'hIRDpd"[eUKC%I+VFIUrM$J!lQbGYdK,V*
|
||||
R'f!RFqMYNBZTN!!R(M%Bm9D,eqNC2(d&hf*DrfY0UC)`h3m)jC+d@+PhZmCf[(L
|
||||
i%"2+@iRD!kB1`FK4(lbjP$aKRGLi6eRA!!KJ6dBX3drdH@V',NR(82GfS*2Ah%b
|
||||
QKc+IJm,)F5m(!Q9S#jdX0mCCUZH0j@dReFCm@rE`lI@)Cp8e,0&U$FS$)i1F8BA
|
||||
06(%cC(-9k)r-C60ZE(%Z9icHl1q#R@V1!$D1MrRjL6J`Tf&#eb`P!&Z*2+CMKa[
|
||||
e+3G80!Nh!1E%dTrb[H'3!)Fbmq03UYUQfKeqTPkAc+HNIrkb9PP(14eNIe2b)k3
|
||||
65Q"qqq*rZ`'0S)3eG,,`AX+04NPYp3p"BGCL)I,Ta2mhC%5",Ub!S6K8,mq`YYP
|
||||
1dj5Xmb+eA-kbKX[DPZ!M*TeN@A6$A*c2CI!d)9#P%c6&-3T6V!Qq`9@U*FB#fY0
|
||||
f*)MD1LGaihP0S"r6X54GI*8j962*GMPI4"fpdhkDC4KJSXjAp5p6'c")LP+X821
|
||||
-@jA'6VU[68+$b+5J0fP6@9!Y++,2*K66q&a#E,qRbD@qS(&mXJLp3'-L1@AAkL4
|
||||
K@#(mFl8F68JN8Yh'L6--qL0#403RL2@Fl*J6kQXr8U-R*lLGP9'6ZITYJA32UFN
|
||||
Fm2$2e%S,qP+Qcq3e@M9l3BSk4,LNZqRb0D++"E2"f5Q`"QrE&!8rI@`*eH"`IV3
|
||||
X3c*)BC%khQX[NjMlliHcm$Pq!rflL-,'"2F3m[`jT+f8mZp`-$1SYdMLBSLYY1G
|
||||
m"pU[M2cJ4*Q[)M!#lGfeI2eS$EeE9&38q)*'ehPbmY2pSi0iX%%!(2HGFG-Lb(I
|
||||
MA$T'55UIMHfp)[qZVA`iHF)A"c&E*Z,TrZp,M5B#&I3A(VmYG54!%iI"`LeVQ(Y
|
||||
6RGdTr6U#!k'VLrkkJpPjmQX66Yl1[4SSf*B+BjpVfpBa9&)KZphfFhTre8D,#`q
|
||||
her!mfD5+rVPr8c$(qMh!R,k4b@lm2MpRZC[Q2RTp2M!M1**2J'-br2Br[`r-h[r
|
||||
1IG2dk!V&YN)4lIaEZdKHMkBPHam*MVVNSZV8hNiVlQa9E8L$H8D6'[qK6rarr"6
|
||||
Il0VAJ9&Gr&RhM'P+1E@X5TkGK4[14"i+EKP6m`ib6mKcm'Ym$-e3+VqkY)mFYEI
|
||||
U#YVQ+r6%90+r&B5T"(RGS[VBq@DD*l@)4LmNY53-kkFp'LbhfSZ&5$j63%[5ilG
|
||||
$JNd+HiLi*SkKKB0PAi"Y5495GF48lcVmHkL1UB1[[INqP8kPB`ai#q-(-,Z8YI2
|
||||
'bml`q@eU#H66D)LHGHh8dmQe+PQc4*`,bqa9Me0ddq0'h%GPcU'5(,52kr80!%r
|
||||
8p6H%DGGHjGjdflF)qYCk5BYZ91l@&S'6U0VJ9@em6'#H5CH#%*5CG6p[pJJ0a[-
|
||||
6pq+R'heN6!)[bD(Ch'E*NbaZA@m'h@5rdMr1R5+TlA4C4AEp55cm4Q%P!h*le2,
|
||||
'4[4J1R#Q%q13!![-lrI+Q5aQcd(R"&pcJ%RJ9dBP4VCQ`r*JlCceY0I2DlFB6[0
|
||||
!VhITUJ#(,69+d3`98pkKC9!Np,Yr(9b$8QVSaY3BIl3,BJbJX9[LjU1c&PKMFDG
|
||||
4VhUKME$Y"bXYr[dRhAH0*LJ0G9+r&VlRaHKDF@!TX2&+6I"*iMdm@!CUde@C"AD
|
||||
i,,h)pNpDmGrR!Pf@d6d+m,*L4NA1Q6CKReAQY",Q,43reH`SXA$&@2K0A`$#5aU
|
||||
f(dSd6S9kK['l6Jj0qhel8BYa[PqK0V9BBX@rQCXr6lEL,5lhiA9p0Ye%1q11fMb
|
||||
MNecMU3aH@dRe&lA[XMUrCcaL#)%0EaQ##-0TCBT*I6,d3e+#aGkqpai3X[l5#dD
|
||||
SIYlc'6"(J3-P*)X"ehiL8d3Dr#jJh`V(G`[[JYmFDLD%(j6@b%Pc4UU,arF)#Sh
|
||||
&"G``)M[)BD$"D3J5KNTdJd63$1SH'd%3PXBFhICG[VH)m'I4r-#)EmLZ!b4DECe
|
||||
+c2kKfEYU(8bLYIR(`ULj2[%PmMpbi+rG*!HCG[h(S02efTp"h&la(E(MYSE2Dkj
|
||||
[JeBI-Nj"j14JUBe39hla'6rCHU9Y91bm`T-'`qpZbUNEp!$9mA,XT,QcZ)XFJr#
|
||||
3!*DR9hr14YS,9NrN&k[(@`6!Q9kCreGQK#DQIX3#4ZjFrhY2f93E%K6DckX14dR
|
||||
9LbG##jijr9,!XY9r"2iZGM#EU@3KqcpZNa14KAZqPkBAB`"`jA&emSrZ2qcU5'J
|
||||
cB-h3TKGhA+)aY(!Zq)akeKPPqpGlIRciHXBZG`5CImR4d)'lFdbZ)%MrY,-%b5[
|
||||
LZjN@b8!#fQCV&q4192U1GcfdYU!NU0!NMaRFEr`a[-$0Vr@@rQk!VAfJBH+NGeQ
|
||||
M11pI,6HCaG[He9cG"p8L!([cAE4AI4dIh%D)T6YQm&A(r1F9*+Far&TIaJ(pN!$
|
||||
[rj!!h+Hhr*ZYbr5KG-k-'edr-kRC0b*N*aK$%[0$rGE$KTm[b8[aP'VJ3pH(Xiq
|
||||
rj8hTmi8`YFHH'%0EeP!Cr!8C`%hIXMSPMlATrD[X(#%Q@k[(b!-FE[FH13$pJ-C
|
||||
RRXk+$D`MAT&'iU1"Vq6"G8cQYi6V)6I0CNr2l@mVrQ5kH6Uaj$VJ*I22q2iTqFl
|
||||
SEGGD+b8M$H3RU5Br2ph-DC!!#[Q$bVkEH+Z[K#HK$A#03AEbI+Hf-U@jc(D8$2X
|
||||
NbX#ER+%4&1KCQEPb+K(Ud#@6+hG@qd4"96#3!1LM36ZM'5AK$5m0A+5F)bQQC[G
|
||||
&[#eQYhM0992'P02j6Ii)j62#(TT3NQU'Y4FN!*R!0L&!m#J)DekGqh#b8KR8qdf
|
||||
GRP2GAP-KiU!L"B%*Sk5d5)6EaH#)[PIDY%S1@r*6qYD5UVY)!6#+`rCT90@@9Pe
|
||||
f2`GT'%#NQ#rGViDr-TX*c4h*ZF&UDGhd8#EVl2LPpXTG,1UBF+D[#,LFFA'M6hk
|
||||
aJlBC8ddU!5Jbm*cPYFM`F6U4T3P"cP5M4EI0#+a8Q&2*TZfZ$l3IHC-,JBb`J%Z
|
||||
M`R!22V-D@MMYTEq0m*B$""L&-$@R%596"[Y'"qFra9-Ll2Z-cHJL[EXIP'YaGET
|
||||
P'3DN&iTMTYek#5*m+A@ETbN-G05Sc1+XHL(!DZY!%dkdDD6R-hV,'3Ikh+&mSN&
|
||||
-$+H4C`,MB)CXi!6q#APCi06hY-'MNZSFYk)HqJTBrM*2fl@e2TE3,dRPR3l'SjS
|
||||
G+-r!A3fY2ah6+jU&d+ri0$T43"64%'$1#d6LUFZ92*J)LB*L!Qk[(fX1er@U!4%
|
||||
Llp(48ifPZ"mbC[CZfd+SP`!`D9p(TPP,TXVfC4Xm8Dj@CqdY&8jm(+Y4&LfUEL&
|
||||
P)G!9k1%F5EXQAZZkZcKeG"+M(VS9++C3`L(1*0B$Q9P`1[I00-iHaEaJ!$*#K*!
|
||||
!9I$I8E4Y&N93S$IC+3YfR"!"rR+SU0YPEL+0FM`*IpkDSHLXH4$#SVXmC6[%'bf
|
||||
3!#I5Af,bTHD$ik9fPDU"*TL8I#!9$8r9bK'KX@R21k6B#Q+#8d+(SHA-G$0p%Fb
|
||||
Y+*IGiF,D"rkEcVBL,Tq*PhSSM''Y65ddf,lBF-6FQVaEV6BZBqZVIi,VCa2`N9J
|
||||
ldk3`Tf0jM0@3!2fZqZ80lVFI!k`AD2LAf`AV$pie&$'BpGPE,2&q)&mpa01GL"i
|
||||
I,aVddjPG4NUYPi"QlZN[N!$D0Q0`$q6@5-Zi)d[%6%26i2M8K(,#@hLj#-EA6!J
|
||||
pKr$AaV*JP@S"IMX)VFiPjm@N[Y&"bXdQ,A+YYih0"P`dH5VrG$Ij"aT#N!!b,3q
|
||||
HVfA3*UBE`AMTjm[f,b$bB3c"NC!!-RIDMC%$8k,emVqD@Nb(qjMPS$iF@LSm)r`
|
||||
lE#GT$83$1MriQh8q`dC'm1`E(k86FZ@a@T'JXQXT(f-!VbbiQ(bG+qKIdf4Ik@j
|
||||
AX6mhU1l[#@e,M-r%66H2Ecm+FX2FDX"IpEBpL(,SGMTb$lD0SmTe(X0&qLaA,ji
|
||||
VR!lL`lU1aERrM1d%bPK1'KqK%LV8XZD%U4cMK#3ik%bi&Ccc!m(maEM)c%#[l4h
|
||||
kBhF(8Pf-Y(9V9b6mi,&XRMmpY4-XeQS9cl&U,liFY-L@**E)$rGS&Ej9("ddMEF
|
||||
kpV9"led`(i5pIXPjjCKL(C`8qFpbj"&6V8A6c*F5G@EMACK6'N$alR2-0(`$FPB
|
||||
la`e#rPpr`"MIBA"V,VV$)`M@Mal5S)c5l5HQB+ZK8AVAR'Qi(`k+T('9+)95H0K
|
||||
@9Z4lE'-,T3fV0,CIUm#i%ReI*aGc01!)k1+IkjrhcM"eZ$DD&RrXGH86d'P4I`'
|
||||
Ib4#'LU"mH`+!d&q''ilmFe!cl+"'aak)[&'NBEFeUMI'`l3+%ircfca0iYef#1j
|
||||
*c2,QihC"$T!!jTT#c,fl,c4HcK[-&0aER!$%Zm@k1`2UfL`8+KH(2b3Jbh&-TAf
|
||||
%Xk!d@RqR+c`)%D',mBMNb1$9iI'`%SY0-Z"!Z63*%Q&-hRKKL$-,84KUQ`raX#'
|
||||
RJRpA4,@-*iM2MaAH*`[apdZ`QK$5rdAd+d2H$&10b`RKB!"A61'$!f9(HX[2pSp
|
||||
j)R#*3Z5aT6p+"T!!1`lrFHp2TPchN!!9aHdQeYLBr(DbIP%%hd0(N!!YUZkEQ5Z
|
||||
+6#P"dQ5pbYpS%BTRb4PUB58'@fSCjfBSF#V*5MNiRdihbSGSYdU5*9NPiT6i4XB
|
||||
Ge[1'E#V`AEpDcD((Y"b3!*f6S!F(ilCmBh)$Y@(cNE5hDpJqj[qH8QVXQ!'C"k-
|
||||
&Jf!H0a5"h6@"0UXcCPNSQa@2$1B(1bM'6TMZ51ATGpTfN!!M6[l[QJI"%l((dX)
|
||||
TlV0E-qd[KFI46`9!1YJj`SY`"VBaC#jCDj*iEjhN3dLFN5@'e0k5"Ck'@pdBXaD
|
||||
,#ElN(2A4[pJ-PJPA"*[V['1DSBqKGG,ahhJCqffGdUT$4q"ddpLQBm9NbeRkA'`
|
||||
eDqB!k2qVPc-b%D$PPCBkjU&2G*-#Z6L#E6qKI`l5ZCr&"6Vd+FBiNNFdLi&h5G+
|
||||
dQPQ'm$@5Uj[S6ZSJ6G*8GMc6Zr*Dkkb"i)3NrD&4rVpJZXkH*kq8G2IhLacGU,%
|
||||
h!-(A5hc8TV1&M!XRD,5-cEc%6[pB&CFJl0(mEq-!DcQi5D%%B3jqT-&!-kl[edk
|
||||
Pl-E0cVFIA"'&H8'K9hS5eZEr`VTD%&NV&%&iGE%I%&FiX"YSa$KpRmGeB&AcT0i
|
||||
Iad9M6U(d9mR#$Lq@iZa'*iKN`XLdh68@-"*LN!$64'++F,d`dHA$CSPm2*D"R6H
|
||||
BTI1#V$r5949LiNdJ*"HZ0a,M9IA8!2!"fL&(2kiH,!YYUP1)3!bFKq#F2)Gd62r
|
||||
dG)S[eX,fCrm4ipd-QrJH-#"b6-6[jd0I0bL"JHb$fQ!q!%F8R80cVjMJ$RFrUkT
|
||||
LKU2BML-FEDhN`'8D!!!:␍
|
||||
@@ -1,3 +0,0 @@
|
||||
int test_main(int argc, char **argv);
|
||||
|
||||
#define main(X,Y) test_main(X,Y)␍
|
||||
@@ -1,3 +0,0 @@
|
||||
int test_main(int argc, char* argv[]);
|
||||
|
||||
#define main() test_main(int argc, char* argv[])
|
||||
-201
@@ -1,201 +0,0 @@
|
||||
/* config.h generated manually for macos. */
|
||||
|
||||
/* Define if you have the strftime function. */
|
||||
#define HAVE_STRFTIME
|
||||
|
||||
/* Define if you have the ANSI C header files. */
|
||||
#define STDC_HEADERS
|
||||
|
||||
#define PACKAGE
|
||||
#define VERSION
|
||||
|
||||
#undef HAVE_LIBZ
|
||||
#undef HAVE_LIBM
|
||||
#undef HAVE_ISINF
|
||||
#undef HAVE_ISNAN
|
||||
#undef HAVE_LIBHISTORY
|
||||
#undef HAVE_LIBREADLINE
|
||||
|
||||
#define XML_SOCKLEN_T socklen_t
|
||||
#define HAVE_LIBPTHREAD
|
||||
#define HAVE_PTHREAD_H
|
||||
#define LIBXML_THREAD_ENABLED
|
||||
|
||||
/* Define if you have the _stat function. */
|
||||
#define HAVE__STAT
|
||||
|
||||
/* Define if you have the class function. */
|
||||
#undef HAVE_CLASS
|
||||
|
||||
/* Define if you have the finite function. */
|
||||
#undef HAVE_FINITE
|
||||
|
||||
/* Define if you have the fp_class function. */
|
||||
#undef HAVE_FP_CLASS
|
||||
|
||||
/* Define if you have the fpclass function. */
|
||||
#undef HAVE_FPCLASS
|
||||
|
||||
/* Define if you have the fprintf function. */
|
||||
#define HAVE_FPRINTF
|
||||
|
||||
/* Define if you have the isnand function. */
|
||||
#undef HAVE_ISNAND
|
||||
|
||||
/* Define if you have the localtime function. */
|
||||
#define HAVE_LOCALTIME
|
||||
|
||||
/* Define if you have the printf function. */
|
||||
#define HAVE_PRINTF
|
||||
|
||||
/* Define if you have the signal function. */
|
||||
#define HAVE_SIGNAL
|
||||
|
||||
/* Define if you have the snprintf function. */
|
||||
#define HAVE_SNPRINTF
|
||||
|
||||
/* Define if you have the sprintf function. */
|
||||
#define HAVE_SPRINTF
|
||||
|
||||
/* Define if you have the sscanf function. */
|
||||
#define HAVE_SSCANF
|
||||
|
||||
/* Define if you have the stat function. */
|
||||
#define HAVE_STAT
|
||||
|
||||
/* Define if you have the strdup function. */
|
||||
#define HAVE_STRDUP
|
||||
|
||||
/* Define if you have the strerror function. */
|
||||
#define HAVE_STRERROR
|
||||
|
||||
/* Define if you have the strftime function. */
|
||||
#define HAVE_STRFTIME
|
||||
|
||||
/* Define if you have the strndup function. */
|
||||
#define HAVE_STRNDUP
|
||||
|
||||
/* Define if you have the vfprintf function. */
|
||||
#define HAVE_VFPRINTF
|
||||
|
||||
/* Define if you have the vsnprintf function. */
|
||||
#define HAVE_VSNPRINTF
|
||||
|
||||
/* Define if you have the vsprintf function. */
|
||||
#define HAVE_VSPRINTF
|
||||
|
||||
/* Define if you have the <ansidecl.h> header file. */
|
||||
#define HAVE_ANSIDECL_H
|
||||
|
||||
/* Define if you have the <arpa/inet.h> header file. */
|
||||
#define HAVE_ARPA_INET_H
|
||||
|
||||
/* Define if you have the <ctype.h> header file. */
|
||||
#define HAVE_CTYPE_H
|
||||
|
||||
/* Define if you have the <dirent.h> header file. */
|
||||
#define HAVE_DIRENT_H
|
||||
|
||||
/* Define if you have the <dlfcn.h> header file. */
|
||||
#define HAVE_DLFCN_H
|
||||
|
||||
/* Define if you have the <errno.h> header file. */
|
||||
#define HAVE_ERRNO_H
|
||||
|
||||
/* Define if you have the <fcntl.h> header file. */
|
||||
#define HAVE_FCNTL_H
|
||||
|
||||
/* Define if you have the <float.h> header file. */
|
||||
#define HAVE_FLOAT_H
|
||||
|
||||
/* Define if you have the <fp_class.h> header file. */
|
||||
#define HAVE_FP_CLASS_H
|
||||
|
||||
/* Define if you have the <ieeefp.h> header file. */
|
||||
#define HAVE_IEEEFP_H
|
||||
|
||||
/* Define if you have the <malloc.h> header file. */
|
||||
#undef HAVE_MALLOC_H
|
||||
|
||||
/* Define if you have the <math.h> header file. */
|
||||
#define HAVE_MATH_H
|
||||
|
||||
/* Define if you have the <nan.h> header file. */
|
||||
#define HAVE_NAN_H
|
||||
|
||||
/* Define if you have the <ndir.h> header file. */
|
||||
#define HAVE_NDIR_H
|
||||
|
||||
/* Define if you have the <netdb.h> header file. */
|
||||
#define HAVE_NETDB_H
|
||||
|
||||
/* Define if you have the <netinet/in.h> header file. */
|
||||
#define HAVE_NETINET_IN_H
|
||||
|
||||
/* Define if you have the <signal.h> header file. */
|
||||
#define HAVE_SIGNAL_H
|
||||
|
||||
/* Define if you have the <stdarg.h> header file. */
|
||||
#define HAVE_STDARG_H
|
||||
|
||||
/* Define if you have the <stdlib.h> header file. */
|
||||
#define HAVE_STDLIB_H
|
||||
|
||||
/* Define if you have the <string.h> header file. */
|
||||
#define HAVE_STRING_H
|
||||
|
||||
/* Define if you have the <sys/dir.h> header file. */
|
||||
#define HAVE_SYS_DIR_H
|
||||
|
||||
/* Define if you have the <sys/mman.h> header file. */
|
||||
#undef HAVE_SYS_MMAN_H
|
||||
|
||||
/* Define if you have the <sys/ndir.h> header file. */
|
||||
#undef HAVE_SYS_NDIR_H
|
||||
|
||||
/* Define if you have the <sys/select.h> header file. */
|
||||
#define HAVE_SYS_SELECT_H
|
||||
|
||||
/* Define if you have the <sys/socket.h> header file. */
|
||||
#define HAVE_SYS_SOCKET_H
|
||||
|
||||
/* Define if you have the <sys/stat.h> header file. */
|
||||
#define HAVE_SYS_STAT_H
|
||||
|
||||
/* Define if you have the <sys/time.h> header file. */
|
||||
#define HAVE_SYS_TIME_H
|
||||
|
||||
/* Define if you have the <sys/types.h> header file. */
|
||||
#define HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define if you have the <time.h> header file. */
|
||||
#define HAVE_TIME_H
|
||||
|
||||
/* Define if you have the <unistd.h> header file. */
|
||||
#define HAVE_UNISTD_H
|
||||
|
||||
/* Define if you have the <zlib.h> header file. */
|
||||
#undef HAVE_ZLIB_H
|
||||
|
||||
/* Define if you have the inet library (-linet). */
|
||||
#undef HAVE_LIBINET
|
||||
|
||||
/* Define if you have the nsl library (-lnsl). */
|
||||
#undef HAVE_LIBNSL
|
||||
|
||||
/* Define if you have the socket library (-lsocket). */
|
||||
#undef HAVE_LIBSOCKET
|
||||
|
||||
/* Name of package */
|
||||
#define PACKAGE
|
||||
|
||||
/* Version number of package */
|
||||
#define VERSION
|
||||
|
||||
/* Define if compiler has function prototypes */
|
||||
#define PROTOTYPES
|
||||
|
||||
#include <libxml/xmlversion.h>
|
||||
#include <sys/types.h>
|
||||
#include <extra/stricmp.h>
|
||||
#include <extra/strdup.h>
|
||||
@@ -1,79 +0,0 @@
|
||||
/**************** BEGIN GUSI CONFIGURATION ****************************
|
||||
*
|
||||
* GUSI Configuration section generated by GUSI Configurator
|
||||
* last modified: Wed Oct 31 17:07:45 2001
|
||||
*
|
||||
* This section will be overwritten by the next run of Configurator.
|
||||
*/
|
||||
|
||||
#define GUSI_SOURCE
|
||||
#include <GUSIConfig.h>
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
/* Declarations of Socket Factories */
|
||||
|
||||
__BEGIN_DECLS
|
||||
void GUSIwithInetSockets();
|
||||
void GUSIwithLocalSockets();
|
||||
void GUSIwithMTInetSockets();
|
||||
void GUSIwithMTTcpSockets();
|
||||
void GUSIwithMTUdpSockets();
|
||||
void GUSIwithOTInetSockets();
|
||||
void GUSIwithOTTcpSockets();
|
||||
void GUSIwithOTUdpSockets();
|
||||
void GUSIwithPPCSockets();
|
||||
void GUSISetupFactories();
|
||||
__END_DECLS
|
||||
|
||||
/* Configure Socket Factories */
|
||||
|
||||
void GUSISetupFactories()
|
||||
{
|
||||
#ifdef GUSISetupFactories_BeginHook
|
||||
GUSISetupFactories_BeginHook
|
||||
#endif
|
||||
GUSIwithInetSockets();
|
||||
#ifdef GUSISetupFactories_EndHook
|
||||
GUSISetupFactories_EndHook
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Declarations of File Devices */
|
||||
|
||||
__BEGIN_DECLS
|
||||
void GUSIwithNullSockets();
|
||||
void GUSISetupDevices();
|
||||
__END_DECLS
|
||||
|
||||
/* Configure File Devices */
|
||||
|
||||
void GUSISetupDevices()
|
||||
{
|
||||
#ifdef GUSISetupDevices_BeginHook
|
||||
GUSISetupDevices_BeginHook
|
||||
#endif
|
||||
GUSIwithNullSockets();
|
||||
#ifdef GUSISetupDevices_EndHook
|
||||
GUSISetupDevices_EndHook
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef __cplusplus
|
||||
#error GUSISetupConfig() needs to be written in C++
|
||||
#endif
|
||||
|
||||
GUSIConfiguration::FileSuffix sSuffices[] = {
|
||||
"", '????', '????'
|
||||
};
|
||||
|
||||
extern "C" void GUSISetupConfig()
|
||||
{
|
||||
GUSIConfiguration * config =
|
||||
GUSIConfiguration::CreateInstance(GUSIConfiguration::kNoResource);
|
||||
|
||||
config->ConfigureDefaultTypeCreator('TEXT', 'CWIE');
|
||||
config->ConfigureSuffices(
|
||||
sizeof(sSuffices)/sizeof(GUSIConfiguration::FileSuffix)-1, sSuffices);
|
||||
}
|
||||
|
||||
/**************** END GUSI CONFIGURATION *************************/␍
|
||||
@@ -1,17 +0,0 @@
|
||||
#include <GUSICommandLine.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#undef main
|
||||
|
||||
DECLARE_MAIN(test)
|
||||
|
||||
REGISTER_MAIN_START
|
||||
REGISTER_MAIN(test)
|
||||
REGISTER_MAIN_END
|
||||
|
||||
int main()
|
||||
{
|
||||
(void) exec_commands();
|
||||
|
||||
return 0;
|
||||
}␍
|
||||
-261
@@ -1,261 +0,0 @@
|
||||
$! BUILD_LIBXML.COM
|
||||
$!
|
||||
$! Build the LIBXML library
|
||||
$!
|
||||
$! Arguments:
|
||||
$!
|
||||
$! "DEBUG" - build everything in debug
|
||||
$!
|
||||
$! This procedure creates an object library XML_LIBDIR:LIBXML.OLB directory.
|
||||
$! After the library is built, you can link LIBXML routines into
|
||||
$! your code with the command
|
||||
$!
|
||||
$! $ LINK your_modules,XML_LIBDIR:LIBXML.OLB/LIBRARY
|
||||
$!
|
||||
$! Change History
|
||||
$! --------------
|
||||
$! Command file author : John A Fotheringham ([email protected])
|
||||
$! Update history : 13 October 2003 Craig Berry ([email protected])
|
||||
$! more new module additions
|
||||
$! : 25 April 2003 Craig Berry ([email protected])
|
||||
$! added xmlreader.c and relaxng.c to source list
|
||||
$! : 28 September 2002 Craig Berry ([email protected])
|
||||
$! updated to work with current sources
|
||||
$! miscellaneous enhancements to build process
|
||||
$!
|
||||
$!- configuration -------------------------------------------------------------
|
||||
$!
|
||||
$!- compile command. If p1="nowarn" suppress the expected warning types
|
||||
$!
|
||||
$ cc_opts = "/NAMES=(SHORTENED)/FLOAT=IEEE/IEEE_MODE=DENORM_RESULTS"
|
||||
$!
|
||||
$ if p1.eqs."DEBUG" .or. p2.eqs."DEBUG"
|
||||
$ then
|
||||
$ debug = "Y"
|
||||
$ cc_command = "CC''cc_opts'/DEBUG/NOOPTIMIZE/LIST/SHOW=ALL"
|
||||
$ else
|
||||
$ debug = "N"
|
||||
$ cc_command = "CC''cc_opts'"
|
||||
$ endif
|
||||
$!
|
||||
$!- list of sources to be built into the LIBXML library. Compare this list
|
||||
$! to the definition of "libxml2_la_SOURCES" in the file MAKEFILE.IN.
|
||||
$! Currently this definition includes the list WITH_TRIO_SOURCES_TRUE
|
||||
$!
|
||||
$ sources = "SAX.c entities.c encoding.c error.c parserInternals.c"
|
||||
$ sources = sources + " parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c"
|
||||
$ sources = sources + " valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c"
|
||||
$ sources = sources + " xpointer.c xinclude.c nanohttp.c nanoftp.c DOCBparser.c"
|
||||
$ sources = sources + " catalog.c globals.c threads.c c14n.c xmlstring.c"
|
||||
$ sources = sources + " xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c"
|
||||
$ sources = sources + " triostr.c trio.c xmlreader.c relaxng.c dict.c SAX2.c"
|
||||
$ sources = sources + " xmlwriter.c legacy.c chvalid.c pattern.c xmlsave.c"
|
||||
$!
|
||||
$!- list of main modules to compile and link. Compare this list to the
|
||||
$! definition of bin_PROGRAMS in MAKEFILE.IN
|
||||
$!
|
||||
$ bin_progs = "xmllint xmlcatalog"
|
||||
$!
|
||||
$!- list of test modules to compile and link. Compare this list to the
|
||||
$! definition of noinst_PROGRAMS in MAKEFILE.
|
||||
$!
|
||||
$ noinst_PROGRAMS = "testSchemas testRelax testSAX testHTML testXPath testURI " -
|
||||
+ "testThreads testC14N testAutomata testRegexp testReader"
|
||||
$!
|
||||
$!- set up build logicals -----------------------------------------------------\
|
||||
$!
|
||||
$!
|
||||
$!- start from where the procedure is in case it's submitted in batch ----------\
|
||||
$!
|
||||
$ whoami = f$parse(f$environment("PROCEDURE"),,,,"NO_CONCEAL")
|
||||
$ procdir = f$parse(whoami,,,"DEVICE") + f$parse(whoami,,,"DIRECTORY")
|
||||
$ set default 'procdir'
|
||||
$!
|
||||
$ if f$trnlnm("XML_LIBDIR").eqs.""
|
||||
$ then
|
||||
$ if f$search("[-]lib.dir") .eqs. ""
|
||||
$ then
|
||||
$ create/directory/log [-.lib]
|
||||
$ endif
|
||||
$ xml_libdir = f$parse("[-.lib]",,,"DEVICE") + f$parse("[-.lib]",,,"DIRECTORY")
|
||||
$ define/process XML_LIBDIR 'xml_libdir'
|
||||
$ write sys$output "Defining XML_LIBDIR as """ + f$trnlnm("XML_LIBDIR") + """
|
||||
$ endif
|
||||
$!
|
||||
$ if f$trnlnm("XML_SRCDIR").eqs.""
|
||||
$ then
|
||||
$ globfile = f$search("[-...]globals.c")
|
||||
$ if globfile.eqs.""
|
||||
$ then
|
||||
$ write sys$output "Can't locate globals.c. You need to manually define a XML_SRCDIR logical"
|
||||
$ exit
|
||||
$ else
|
||||
$ srcdir = f$parse(globfile,,,"DEVICE") + f$parse(globfile,,,"DIRECTORY")
|
||||
$ define/process XML_SRCDIR "''srcdir'"
|
||||
$ write sys$output "Defining XML_SRCDIR as ""''srcdir'"""
|
||||
$ endif
|
||||
$ endif
|
||||
$!
|
||||
$ copy/log config.vms xml_srcdir:config.h
|
||||
$!
|
||||
$ if f$trnlnm("libxml").eqs.""
|
||||
$ then
|
||||
$ globfile = f$search("[-...]globals.h")
|
||||
$ if globfile.eqs.""
|
||||
$ then
|
||||
$ write sys$output "Can't locate globals.h. You need to manually define a LIBXML logical"
|
||||
$ exit
|
||||
$ else
|
||||
$ includedir = f$parse(globfile,,,"DEVICE") + f$parse(globfile,,,"DIRECTORY")
|
||||
$ define/process libxml "''includedir'"
|
||||
$ write sys$output "Defining libxml as ""''includedir'"""
|
||||
$ endif
|
||||
$ endif
|
||||
$!
|
||||
$!- set up error handling (such as it is) -------------------------------------
|
||||
$!
|
||||
$ exit_status = 1
|
||||
$ saved_default = f$environment("default")
|
||||
$ on error then goto ERROR_OUT
|
||||
$ on control_y then goto ERROR_OUT
|
||||
$!
|
||||
$!- move to the source directory and create any necessary subdirs and the
|
||||
$! object library
|
||||
$!
|
||||
$ set default xml_srcdir
|
||||
$ if f$search("DEBUG.DIR").eqs."" then create/dir [.DEBUG]
|
||||
$ if f$search("XML_LIBDIR:LIBXML.OLB").eqs.""
|
||||
$ then
|
||||
$ write sys$output "Creating new object library XML_LIBDIR:LIBXML.OLB"
|
||||
$ library/create XML_LIBDIR:LIBXML.OLB
|
||||
$ endif
|
||||
$!
|
||||
$ goto start_here
|
||||
$ start_here: ! move this line to debug/rerun parts of this command file
|
||||
$!
|
||||
$!- compile modules into the library ------------------------------------------
|
||||
$!
|
||||
$ lib_command = "LIBRARY/REPLACE/LOG XML_LIBDIR:LIBXML.OLB"
|
||||
$ link_command = ""
|
||||
$!
|
||||
$ write sys$output ""
|
||||
$ write sys$output "Building modules into the LIBXML object library"
|
||||
$ write sys$output ""
|
||||
$!
|
||||
$ s_no = 0
|
||||
$ sources = f$edit(sources,"COMPRESS")
|
||||
$!
|
||||
$ source_loop:
|
||||
$!
|
||||
$ next_source = f$element (S_no," ",sources)
|
||||
$ if next_source.nes."" .and. next_source.nes." "
|
||||
$ then
|
||||
$!
|
||||
$ on error then goto ERROR_OUT
|
||||
$ on control_y then goto ERROR_OUT
|
||||
$ call build 'next_source'
|
||||
$ s_no = s_no + 1
|
||||
$ goto source_loop
|
||||
$!
|
||||
$ endif
|
||||
$!
|
||||
$!- now build self-test programs ----------------------------------------------
|
||||
$!
|
||||
$! these programs are built as ordinary modules into XML_LIBDIR:LIBXML.OLB. Here they
|
||||
$! are built a second time with /DEFINE=(STANDALONE) in which case a main()
|
||||
$! is also compiled into the module
|
||||
$
|
||||
$ lib_command = ""
|
||||
$ link_command = "LINK"
|
||||
$!
|
||||
$ library/compress XML_LIBDIR:LIBXML.OLB
|
||||
$ purge XML_LIBDIR:LIBXML.OLB
|
||||
$!
|
||||
$ write sys$output ""
|
||||
$ write sys$output "Building STANDALONE self-test programs"
|
||||
$ write sys$output ""
|
||||
$!
|
||||
$ call build NANOFTP.C /DEFINE=(STANDALONE)
|
||||
$ call build NANOHTTP.C /DEFINE=(STANDALONE)
|
||||
$ call build TRIONAN.C /DEFINE=(STANDALONE)
|
||||
$!
|
||||
$!- now build main and test programs ------------------------------------------
|
||||
$!
|
||||
$!
|
||||
$ lib_command = ""
|
||||
$ link_command = "LINK"
|
||||
$!
|
||||
$ write sys$output ""
|
||||
$ write sys$output "Building main programs and test programs"
|
||||
$ write sys$output ""
|
||||
$!
|
||||
$ p_no = 0
|
||||
$ all_progs = bin_progs + " " + noinst_PROGRAMS
|
||||
$ all_progs = f$edit(all_progs,"COMPRESS")
|
||||
$!
|
||||
$ prog_loop:
|
||||
$!
|
||||
$ next_prog = f$element (p_no," ",all_progs)
|
||||
$ if next_prog.nes."" .and. next_prog.nes." "
|
||||
$ then
|
||||
$!
|
||||
$ on error then goto ERROR_OUT
|
||||
$ on control_y then goto ERROR_OUT
|
||||
$ call build 'next_prog'.c
|
||||
$ p_no = p_no + 1
|
||||
$ goto prog_loop
|
||||
$!
|
||||
$ endif
|
||||
$!
|
||||
$!- Th-th-th-th-th-that's all folks! ------------------------------------------
|
||||
$!
|
||||
$ goto exit_here ! move this line to avoid parts of this command file
|
||||
$ exit_here:
|
||||
$!
|
||||
$ exit
|
||||
$ goto exit_out
|
||||
$!
|
||||
$!
|
||||
$EXIT_OUT:
|
||||
$!
|
||||
$ purge/nolog [.debug]
|
||||
$ set default 'saved_default
|
||||
$ exit 'exit_status
|
||||
$!
|
||||
$
|
||||
$ERROR_OUT:
|
||||
$ exit_status = $status
|
||||
$ write sys$output "''f$message(exit_status)'"
|
||||
$ goto EXIT_OUT
|
||||
$!
|
||||
$!- the BUILD subroutine. Compile then insert into library or link as required
|
||||
$!
|
||||
$BUILD: subroutine
|
||||
$ on warning then goto EXIT_BUILD
|
||||
$ source_file = p1
|
||||
$ name = f$parse(source_file,,,"NAME")
|
||||
$ object_file = f$parse("[.debug].OBJ",name,,,"SYNTAX_ONLY")
|
||||
$!
|
||||
$!- compile
|
||||
$!
|
||||
$ write sys$output "''cc_command'''p2'/object=''object_file' ''source_file'"
|
||||
$ cc_command'p2' /object='object_file 'source_file'
|
||||
$!
|
||||
$!- insert into library if command defined
|
||||
$!
|
||||
$ if lib_command.nes."" then lib_command 'object_file'
|
||||
$!
|
||||
$!- link module if command defined
|
||||
$ if link_command.nes.""
|
||||
$ then
|
||||
$ opts = ""
|
||||
$ if debug then opts = "/DEBUG"
|
||||
$ write sys$output "''link_command'''opts' ''object_file',XML_LIBDIR:libxml.olb/library"
|
||||
$ link_command'opts' 'object_file',-
|
||||
XML_LIBDIR:libxml.olb/library
|
||||
$ endif
|
||||
$!
|
||||
$EXIT_BUILD:
|
||||
$ exit $status
|
||||
$!
|
||||
$endsubroutine
|
||||
-218
@@ -1,218 +0,0 @@
|
||||
/* config.h */
|
||||
|
||||
#define VMS 1
|
||||
|
||||
/* Define if you have the strftime function. */
|
||||
#define HAVE_STRFTIME 1
|
||||
|
||||
/* Define if you have the ANSI C header files. */
|
||||
#define STDC_HEADERS 1
|
||||
|
||||
#undef PACKAGE
|
||||
#undef VERSION
|
||||
#undef HAVE_LIBZ
|
||||
#undef HAVE_LIBM
|
||||
#undef HAVE_ISINF
|
||||
#if defined(_IEEE_FP) && (__CRTL_VER >= 60200000)
|
||||
# define HAVE_ISNAN 1
|
||||
#endif
|
||||
#undef HAVE_LIBHISTORY
|
||||
#undef HAVE_LIBREADLINE
|
||||
|
||||
/* Define if you have the class function. */
|
||||
#undef HAVE_CLASS
|
||||
|
||||
/* Define if you have the finite function. */
|
||||
#undef HAVE_FINITE
|
||||
|
||||
/* Define if you have the fp_class function. */
|
||||
#define HAVE_FP_CLASS 1
|
||||
|
||||
/* Define if you have the fpclass function. */
|
||||
#undef HAVE_FPCLASS
|
||||
|
||||
/* Define if you have the isnand function. */
|
||||
#undef HAVE_ISNAND
|
||||
|
||||
/* Define if you have the localtime function. */
|
||||
#define HAVE_LOCALTIME 1
|
||||
|
||||
/* Define if you have the snprintf function. */
|
||||
#undef HAVE_SNPRINTF
|
||||
|
||||
/* Define if you have the strdup function. */
|
||||
#define HAVE_STRDUP 1
|
||||
|
||||
/* Define if you have the strerror function. */
|
||||
#define HAVE_STRERROR 1
|
||||
|
||||
/* Define if you have the strftime function. */
|
||||
#define HAVE_STRFTIME 1
|
||||
|
||||
/* Define if you have the strndup function. */
|
||||
#undef HAVE_STRNDUP
|
||||
|
||||
/* Define if you have the <arpa/inet.h> header file. */
|
||||
#undef HAVE_ARPA_INET_H
|
||||
|
||||
/* Define if you have the <ctype.h> header file. */
|
||||
#define HAVE_CTYPE_H 1
|
||||
|
||||
/* Define if you have the <dirent.h> header file. */
|
||||
#define HAVE_DIRENT_H 1
|
||||
|
||||
/* Define if you have the <errno.h> header file. */
|
||||
#define HAVE_ERRNO_H 1
|
||||
|
||||
/* Define if you have the <fcntl.h> header file. */
|
||||
#define HAVE_FCNTL_H 1
|
||||
|
||||
/* Define if you have the <float.h> header file. */
|
||||
#define HAVE_FLOAT_H 1
|
||||
|
||||
/* Define if you have the <fp_class.h> header file. */
|
||||
#define HAVE_FP_CLASS_H 1
|
||||
|
||||
/* Define if you have the <ieeefp.h> header file. */
|
||||
#undef HAVE_IEEEFP_H
|
||||
|
||||
/* Define if you have the <malloc.h> header file. */
|
||||
#undef HAVE_MALLOC_H
|
||||
|
||||
/* Define if you have the <math.h> header file. */
|
||||
#define HAVE_MATH_H 1
|
||||
|
||||
/* Define if you have the <nan.h> header file. */
|
||||
#undef HAVE_NAN_H
|
||||
|
||||
/* Define if you have the <ndir.h> header file. */
|
||||
#undef HAVE_NDIR_H
|
||||
|
||||
/* Define if you have the <netdb.h> header file. */
|
||||
#define HAVE_NETDB_H 1
|
||||
|
||||
/* Define if you have the <netinet/in.h> header file. */
|
||||
#undef HAVE_NETINET_IN_H
|
||||
|
||||
/* Define if you have the <stdarg.h> header file. */
|
||||
#define HAVE_STDARG_H 1
|
||||
|
||||
/* Define if you have the <stdlib.h> header file. */
|
||||
#define HAVE_STDLIB_H 1
|
||||
|
||||
/* Define to 1 if you have the `strdup' function. */
|
||||
#define HAVE_STRDUP 1
|
||||
|
||||
/* Define to 1 if you have the `strerror' function. */
|
||||
#define HAVE_STRERROR 1
|
||||
|
||||
/* Define to 1 if you have the `strftime' function. */
|
||||
#define HAVE_STRFTIME 1
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#define HAVE_STRINGS_H 1
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#define HAVE_STRING_H 1
|
||||
|
||||
/* Define to 1 if you have the `strndup' function. */
|
||||
#undef HAVE_STRNDUP
|
||||
|
||||
/* Define if you have the <sys/dir.h> header file. */
|
||||
#undef HAVE_SYS_DIR_H
|
||||
|
||||
/* Define if you have the <sys/mman.h> header file. */
|
||||
#undef HAVE_SYS_MMAN_H
|
||||
|
||||
/* Define if you have the <sys/ndir.h> header file. */
|
||||
#undef HAVE_SYS_NDIR_H
|
||||
|
||||
/* Define if you have the <sys/select.h> header file. */
|
||||
#undef HAVE_SYS_SELECT_H
|
||||
|
||||
/* Define if you have the <sys/socket.h> header file. */
|
||||
#define HAVE_SYS_SOCKET_H 1
|
||||
|
||||
/* Define if you have the <sys/stat.h> header file. */
|
||||
#define HAVE_SYS_STAT_H 1
|
||||
|
||||
/* Define if you have the <sys/time.h> header file. */
|
||||
#undef HAVE_SYS_TIME_H
|
||||
|
||||
/* Define if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define if you have the <time.h> header file. */
|
||||
#define HAVE_TIME_H 1
|
||||
|
||||
/* Define if you have the <unistd.h> header file. */
|
||||
#define HAVE_UNISTD_H 1
|
||||
|
||||
/* Define if you have the <zlib.h> header file. */
|
||||
#undef HAVE_ZLIB_H
|
||||
|
||||
/* Define if you have the inet library (-linet). */
|
||||
#undef HAVE_LIBINET
|
||||
|
||||
/* Define if you have the nsl library (-lnsl). */
|
||||
#undef HAVE_LIBNSL
|
||||
|
||||
/* Define if you have the socket library (-lsocket). */
|
||||
#undef HAVE_LIBSOCKET
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
/* Up to this point this is just a hard-wired version of
|
||||
* config.h. After this will be anything else we need
|
||||
* that is VMS-specific.
|
||||
*/
|
||||
|
||||
/* For best results, compile with /NAMES=(SHORTENED), which requires
|
||||
* DEC C 5.7 or later. For older compilers, the shortened names below
|
||||
* are the same ones the mangler generates in C 5.7 and later. These may
|
||||
* work, though there will probably be some conflicts with redefinitions
|
||||
* in globals.h.
|
||||
*/
|
||||
|
||||
#if __DECC_VER < 57000000
|
||||
/* 0 1 2 3 0 1 2 3
|
||||
* 123456789012345678901234567890123456789 1234567890123456789012345678901
|
||||
*/
|
||||
#define __xmlDoValidityCheckingDefaultValue __xmlDoValidityChecking3qad3pq$
|
||||
#define __xmlSubstituteEntitiesDefaultValue __xmlSubstituteEntities0pij13u$
|
||||
#define trio_locale_set_thousand_separator trio_locale_set_thousan259ikkk$
|
||||
#define xmlDoValidityCheckingDefaultValue xmlDoValidityCheckingDe1bcsei4$
|
||||
#define xmlParseBalancedChunkMemoryRecover xmlParseBalancedChunkMe1lu1e86$
|
||||
#define xmlParseElementChildrenContentDecl xmlParseElementChildren1mp6pcb$
|
||||
#define xmlParserInputBufferCreateFilename xmlParserInputBufferCre36lujn2$
|
||||
#define xmlRegisterDefaultInputCallbacks xmlRegisterDefaultInput3vin0cp$
|
||||
#define xmlRegisterDefaultOutputCallbacks xmlRegisterDefaultOutpu0q443dd$
|
||||
#define xmlSubstituteEntitiesDefaultValue xmlSubstituteEntitiesDe28k2c80$
|
||||
#define xmlUCSIsAlphabeticPresentationForms xmlUCSIsAlphabeticPrese2qr24s3$
|
||||
#define xmlUCSIsArabicPresentationFormsB xmlUCSIsArabicPresentat1gajvg8$
|
||||
#define xmlUCSIsArabicPresentationFormsA xmlUCSIsArabicPresentat3sq1bti$
|
||||
#define xmlUCSIsCJKCompatibilityIdeographsSupplement xmlUCSIsCJKCompatibilit0or40ki$
|
||||
#define xmlUCSIsCJKCompatibilityIdeographs xmlUCSIsCJKCompatibilit2nodmc5$
|
||||
#define xmlUCSIsCJKSymbolsandPunctuation xmlUCSIsCJKSymbolsandPu0a3i7ra$
|
||||
#define xmlUCSIsCJKUnifiedIdeographsExtensionA xmlUCSIsCJKUnifiedIdeog11ig3fd$
|
||||
#define xmlUCSIsCJKUnifiedIdeographsExtensionB xmlUCSIsCJKUnifiedIdeog3d22n2n$
|
||||
#define xmlUCSIsCombiningDiacriticalMarks xmlUCSIsCombiningDiacri3tj3nl8$
|
||||
#define xmlUCSIsCombiningMarksforSymbols xmlUCSIsCombiningMarksf3ftqd7s$
|
||||
#define xmlUCSIsEnclosedCJKLettersandMonths xmlUCSIsEnclosedCJKLett0nq67g4$
|
||||
#define xmlUCSIsHalfwidthandFullwidthForms xmlUCSIsHalfwidthandFul047l0a1$
|
||||
#define xmlUCSIsHighPrivateUseSurrogates xmlUCSIsHighPrivateUseS071kh83$
|
||||
#define xmlUCSIsIdeographicDescriptionCharacters xmlUCSIsIdeographicDesc1rovf8g$
|
||||
#define xmlUCSIsMathematicalAlphanumericSymbols xmlUCSIsMathematicalAlp2ag8r44$
|
||||
#define xmlUCSIsOpticalCharacterRecognition xmlUCSIsOpticalCharacte1juuh06$
|
||||
#define xmlUCSIsSuperscriptsandSubscripts xmlUCSIsSuperscriptsand3fi4eup$
|
||||
#define xmlUCSIsUnifiedCanadianAboriginalSyllabics xmlUCSIsUnifiedCanadian0lbvi9b$
|
||||
#define xmlValidCtxtNormalizeAttributeValue xmlValidCtxtNormalizeAt0q11n5f$
|
||||
#define xmlXPathRegisteredVariablesCleanup xmlXPathRegisteredVaria1uvs4uc$
|
||||
|
||||
#endif
|
||||
|
||||
#define xmlBufferWriteChar xmlBufferWriteChar2
|
||||
-192
@@ -1,192 +0,0 @@
|
||||
--------------------------------------------------------------------------
|
||||
GLOBALS.C
|
||||
|
||||
105a106
|
||||
> int xmlDoValidityCheckingDefaultValue = 0;
|
||||
111,121c112,113
|
||||
< #if defined(VMS) || defined(__VMS)
|
||||
< #define PLATFORM_VMS
|
||||
< /* int xmlDoValidityCheckingDefaultVal = 0;
|
||||
< * int xmlSubstituteEntitiesDefaultVal = 0;
|
||||
< */
|
||||
< #define xmlDoValidityCheckingDefaultValue xmlDoValidityCheckingDefaultVal
|
||||
< #define xmlSubstituteEntitiesDefaultValue xmlSubstituteEntitiesDefaultVal
|
||||
< #else
|
||||
< int xmlDoValidityCheckingDefaultValue = 0;
|
||||
< int xmlSubstituteEntitiesDefaultValue = 0;
|
||||
< #endif
|
||||
---
|
||||
> int xmlSubstituteEntitiesDefaultValue = 0;
|
||||
>
|
||||
289,291d280
|
||||
< #ifdef PLATFORM_VMS
|
||||
< gs->xmlDoValidityCheckingDefaultVal = 0;
|
||||
< #else
|
||||
293,294d281
|
||||
< #endif
|
||||
<
|
||||
316,318d302
|
||||
< #ifdef PLATFORM_VMS
|
||||
< gs->xmlSubstituteEntitiesDefaultVal = 0;
|
||||
< #else
|
||||
320d303
|
||||
< #endif
|
||||
404,419c387,390
|
||||
< #ifdef PLATFORM_VMS
|
||||
< extern int xmlDoValidityCheckingDefaultVal;
|
||||
< #undef xmlDoValidityCheckingDefaultVal
|
||||
< int *
|
||||
< __xmlDoValidityCheckingDefVal(void) {
|
||||
< if (IS_MAIN_THREAD)
|
||||
< return (&xmlDoValidityCheckingDefaultVal);
|
||||
< else
|
||||
< return (&xmlGetGlobalState()->xmlDoValidityCheckingDefaultVal);
|
||||
< }
|
||||
< #define __xmlDoValidityCheckingDefaultValue __xmlDoValidityCheckingDefVal
|
||||
< #else
|
||||
< extern int xmlDoValidityCheckingDefaultValue;
|
||||
< #undef xmlDoValidityCheckingDefaultValue
|
||||
< int *
|
||||
< __xmlDoValidityCheckingDefaultValue(void) {
|
||||
---
|
||||
> extern int xmlDoValidityCheckingDefaultValue;
|
||||
> #undef xmlDoValidityCheckingDefaultValue
|
||||
> int *
|
||||
> __xmlDoValidityCheckingDefaultValue(void) {
|
||||
424,425c395
|
||||
< }
|
||||
< #endif
|
||||
---
|
||||
> }
|
||||
577,592c547,550
|
||||
< #ifdef PLATFORM_VMS
|
||||
< extern int xmlSubstituteEntitiesDefaultVal;
|
||||
< #undef xmlSubstituteEntitiesDefaultVal
|
||||
< int *
|
||||
< __xmlSubsEntitiesDefaultValue(void) {
|
||||
< if (IS_MAIN_THREAD)
|
||||
< return (&xmlSubstituteEntitiesDefaultVal);
|
||||
< else
|
||||
< return (&xmlGetGlobalState()->xmlSubstituteEntitiesDefaultVal);
|
||||
< }
|
||||
< #define __xmlSubstituteEntitiesDefaultValue __xmlSubsEntitiesDefaultValue
|
||||
< #else
|
||||
< extern int xmlSubstituteEntitiesDefaultValue;
|
||||
< #undef xmlSubstituteEntitiesDefaultValue
|
||||
< int *
|
||||
< __xmlSubstituteEntitiesDefaultValue(void) {
|
||||
---
|
||||
> extern int xmlSubstituteEntitiesDefaultValue;
|
||||
> #undef xmlSubstituteEntitiesDefaultValue
|
||||
> int *
|
||||
> __xmlSubstituteEntitiesDefaultValue(void) {
|
||||
597,598c555
|
||||
< }
|
||||
< #endif
|
||||
---
|
||||
> }
|
||||
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
TRIO.C
|
||||
113,116d112
|
||||
< #if defined(VMS) || defined(__VMS)
|
||||
< # include <unistd.h>
|
||||
< #endif /* Platform is VMS */
|
||||
<
|
||||
123d118
|
||||
<
|
||||
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
GLOBALS.H
|
||||
78,86c78,79
|
||||
< #if defined(VMS) || defined(__VMS)
|
||||
< int xmlSubstituteEntitiesDefaultVal; /* 31 character name limit */
|
||||
< int xmlDoValidityCheckingDefaultVal;
|
||||
< #define xmlSubstituteEntitiesDefaultValue xmlSubstituteEntitiesDefaultVal
|
||||
< #define xmlDoValidityCheckingDefaultValue xmlDoValidityCheckingDefaultVal
|
||||
< #else
|
||||
< int xmlSubstituteEntitiesDefaultValue;
|
||||
< int xmlDoValidityCheckingDefaultValue;
|
||||
< #endif
|
||||
---
|
||||
> int xmlSubstituteEntitiesDefaultValue;
|
||||
> int xmlDoValidityCheckingDefaultValue;
|
||||
211,226c204,209
|
||||
< #if defined(VMS) || defined(__VMS)
|
||||
< #ifdef LIBXML_THREAD_ENABLED
|
||||
< extern int *__xmlDoValidityCheckingDefaultVal(void);
|
||||
< #define xmlDoValidityCheckingDefaultVal \
|
||||
< (*(__xmlDoValidityCheckingDefaultVal()))
|
||||
< #else
|
||||
< LIBXML_DLL_IMPORT extern int xmlDoValidityCheckingDefaultVal;
|
||||
< #endif
|
||||
< #else
|
||||
< #ifdef LIBXML_THREAD_ENABLED
|
||||
< extern int *__xmlDoValidityCheckingDefaultValue(void);
|
||||
< #define xmlDoValidityCheckingDefaultValue \
|
||||
< (*(__xmlDoValidityCheckingDefaultValue()))
|
||||
< #else
|
||||
< LIBXML_DLL_IMPORT extern int xmlDoValidityCheckingDefaultValue;
|
||||
< #endif
|
||||
---
|
||||
> #ifdef LIBXML_THREAD_ENABLED
|
||||
> extern int *__xmlDoValidityCheckingDefaultValue(void);
|
||||
> #define xmlDoValidityCheckingDefaultValue \
|
||||
> (*(__xmlDoValidityCheckingDefaultValue()))
|
||||
> #else
|
||||
> LIBXML_DLL_IMPORT extern int xmlDoValidityCheckingDefaultValue;
|
||||
317,332c300,305
|
||||
< #if defined(VMS) || defined(__VMS)
|
||||
< #ifdef LIBXML_THREAD_ENABLED
|
||||
< extern int *__xmlSubsEntitiesDefaultValue(void);
|
||||
< #define xmlSubsEntitiesDefaultValue \
|
||||
< (*(__xmlSubsEntitiesDefaultValue()))
|
||||
< #else
|
||||
< LIBXML_DLL_IMPORT extern int xmlSubsEntitiesDefaultValue;
|
||||
< #endif
|
||||
< #else
|
||||
< #ifdef LIBXML_THREAD_ENABLED
|
||||
< extern int *__xmlSubstituteEntitiesDefaultValue(void);
|
||||
< #define xmlSubstituteEntitiesDefaultValue \
|
||||
< (*(__xmlSubstituteEntitiesDefaultValue()))
|
||||
< #else
|
||||
< LIBXML_DLL_IMPORT extern int xmlSubstituteEntitiesDefaultValue;
|
||||
< #endif
|
||||
---
|
||||
> #ifdef LIBXML_THREAD_ENABLED
|
||||
> extern int *__xmlSubstituteEntitiesDefaultValue(void);
|
||||
> #define xmlSubstituteEntitiesDefaultValue \
|
||||
> (*(__xmlSubstituteEntitiesDefaultValue()))
|
||||
> #else
|
||||
> LIBXML_DLL_IMPORT extern int xmlSubstituteEntitiesDefaultValue;
|
||||
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
XMLIO.H
|
||||
79,82d78
|
||||
< #if defined(VMS) || defined(__VMS)
|
||||
< void xmlRegisterDefInputCallbacks (void);
|
||||
< #define xmlRegisterDefaultInputCallbacks xmlRegisterDefInputCallbacks
|
||||
< #else
|
||||
84d79
|
||||
< #endif
|
||||
130,133d124
|
||||
< #if defined(VMS) || defined(__VMS)
|
||||
< void xmlRegisterDefOutputCallbacks(void);
|
||||
< #define xmlRegisterDefaultOutputCallbacks xmlRegisterDefOutputCallbacks
|
||||
< #else
|
||||
135,136d125
|
||||
< #endif
|
||||
<
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
XPATHINTERNALS.H
|
||||
433,436d432
|
||||
< #if defined(VMS) || defined(__VMS)
|
||||
< void xmlXPathRegisteredVarsCleanup(xmlXPathContextPtr ctxt);
|
||||
< #define xmlXPathRegisteredVariablesCleanup xmlXPathRegisteredVarsCleanup
|
||||
< #else
|
||||
438d433
|
||||
< #endif
|
||||
-143
@@ -1,143 +0,0 @@
|
||||
Issues in porting libxml to VMS
|
||||
===============================
|
||||
|
||||
Here's a summary of the issues I encountered when building LIBXML under
|
||||
VMS. There was some VMS support in the version I got, but it was a little
|
||||
out of date with the result that some newer files had problems.
|
||||
|
||||
I present this list "as is" to hopefully act as a guide to anyone having
|
||||
problems in the future.
|
||||
|
||||
That's it. Good luck!
|
||||
|
||||
John A Fotheringham ([email protected])
|
||||
October 2001
|
||||
|
||||
Updated October 2002 by Craig A Berry ([email protected])
|
||||
|
||||
Installation kit
|
||||
----------------
|
||||
|
||||
- File attributes. Having downloaded essentially a Unix distribution, some
|
||||
of the file attributes weren't correct... especially those in the [.VMS]
|
||||
subdirectory. In EDT you could see line feeds and carriage returns as
|
||||
<LF><CR> etc. To correct this use the command
|
||||
|
||||
$ set file <filespec> /attr=rfm=stm
|
||||
|
||||
This sets the record format to be "stream". Other variants may be used
|
||||
instead depending on how you got the files onto your system. Files will
|
||||
look okay in an EDT editor once the attributes are set. Without
|
||||
this the command file may not run correctly, since it may be interpreted
|
||||
as a single line.
|
||||
|
||||
- VMS-specific files are in a [.VMS] directory. If you've found this file
|
||||
then you already know this :-) This directory contains
|
||||
|
||||
BUILD_LIBXML.COM - a build command file, which I've radically re-worked
|
||||
CONFIG.VMS - a configuration file to replace config.h
|
||||
|
||||
- Don't execute BUILD_LIBXML.COM until you've done all the following
|
||||
|
||||
- read these notes
|
||||
- reviewed the configuration section of BUILD_LIBXML.COM, and in particular
|
||||
updated the module lists in line with MAKEFILE
|
||||
- identified the location of the include files, so that you can manually
|
||||
set the LIBXML logical if need be.
|
||||
- re-read these notes :-p
|
||||
|
||||
instructions for all these steps are below.
|
||||
|
||||
- the file [.vms]config.vms is used in lieu of a Configure-generated config.h.
|
||||
This file contains a number of define statements that identify the software
|
||||
options required under VMS
|
||||
|
||||
- The include files are in a [.INCLUDE.LIBXML] subdirectory. You need
|
||||
a logical "libxml" to point to this so that include statements of the
|
||||
form
|
||||
|
||||
#include <libxml/parser.h>
|
||||
|
||||
will work correctly. The source files are mostly two levels above this
|
||||
directory, although there are some .h files there as well.
|
||||
|
||||
- The command file BUILD_LIBXML.COM will do the following
|
||||
|
||||
- setup some logicals
|
||||
- set def to the source directory
|
||||
- compile modules and place them into a LIBXML.OLB library
|
||||
- compile and link a number of self-test programs
|
||||
- compile and link a number of utilities and test programs
|
||||
- set def back to the original directory (i.e. if it fails you might not be
|
||||
where you started :-)
|
||||
|
||||
before running this command file review the configuration segment at
|
||||
the top. In particular compare the lists of modules with those in the
|
||||
most recent version of the Unix MAKEFILE. Instructions are contained
|
||||
in the command file itself.
|
||||
|
||||
The command file will attempt to set two logicals
|
||||
|
||||
- xml_srcdir. The directory containing the source files
|
||||
- libxml. The include file directory.
|
||||
|
||||
It attempts this by looking for modules globals.c and globals.h in
|
||||
nearby directories. If this logic fails, you'll need to manually define
|
||||
these logicals.
|
||||
|
||||
|
||||
The TRIO package
|
||||
----------------
|
||||
- A sub-package TRIO is used to provide some functions not naturally available
|
||||
under VMS. These include support for infinite and undefined numbers,
|
||||
and specialised print functions like "snprintf"
|
||||
|
||||
I had to make several changes to trionan.c in discussion with the author
|
||||
(hopefully these are now included in the distro, so I won't list them here)
|
||||
|
||||
To build this software we need to add
|
||||
|
||||
/IEEE_MODE=UNDERFLOW_TO_ZERO/FLOAT=IEEE
|
||||
|
||||
to the compile command for xpath.c and trio.c, and to any main program
|
||||
that uses this functionality. BUILD_LIBXML.COM should do this for you.
|
||||
|
||||
- to build in trio support you need the define WITH_TRIO to be set. This
|
||||
is done by default for VMS in xmlversion.h
|
||||
|
||||
|
||||
Compiler and linker errors
|
||||
--------------------------
|
||||
- the DEC C compiler may produce a number of warnings when compiling the
|
||||
C code. These include
|
||||
|
||||
- Implicit function warnings. These indicate functions whose type is
|
||||
not defined in a .h file. This will probably only happen if your
|
||||
configuration is not correct (e.g. for "snprintf" if you haven't
|
||||
edited xmlversion.h to set WITH_TRIO
|
||||
|
||||
- uninitialised variables. Not usually a problem. You can solve this
|
||||
by editing the code to initialise the variables affected
|
||||
|
||||
Changes made to the codebase
|
||||
----------------------------
|
||||
- I changed all dummy declarations in trio.c to be
|
||||
|
||||
va_list dummy = NULL;
|
||||
|
||||
to prevent compiler whinge in TRIO.C about uninitialised variables
|
||||
|
||||
- I had to add the following to nanoftp.c
|
||||
|
||||
#if defined(VMS) || defined(__VMS)
|
||||
#define SOCKLEN_T unsigned int
|
||||
#endif
|
||||
|
||||
This matches similar lines already added to nanohttp.c
|
||||
|
||||
- Several variables and function names exceed the 31 character limit
|
||||
of the VMS linker. The solution adopted has been to use the
|
||||
/NAMES=SHORTENED compiler option, which requires DEC/Compaq C 5.7
|
||||
or later. For a complete list of the names that needed shortening
|
||||
and the short names generated by the compiler, see [.vms]config.vms.
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
Makefile
|
||||
config.*
|
||||
depends.*
|
||||
int.*
|
||||
bin.*
|
||||
*.win32
|
||||
*.win32.zip
|
||||
-342
@@ -1,342 +0,0 @@
|
||||
# Makefile for libxml2, specific for Windows, BCB6 and Borland make.
|
||||
#
|
||||
# Take a look at the beginning and modify the variables to suit your
|
||||
# environment. Having done that, you can do a
|
||||
#
|
||||
# make [all] to build the libxml and the accompanying utilities.
|
||||
# make clean to remove all compiler output files and return to a
|
||||
# clean state.
|
||||
# make rebuild to rebuild everything from scratch. This basically does
|
||||
# a 'nmake clean' and then a 'nmake all'.
|
||||
# make install to install the library and its header files.
|
||||
#
|
||||
# August 2003, Eric Zurcher <[email protected]>
|
||||
# based on the MSVC version of
|
||||
# March 2002, Igor Zlatkovic <[email protected]>
|
||||
#
|
||||
|
||||
# There should never be a need to modify anything below this line.
|
||||
# ----------------------------------------------------------------
|
||||
|
||||
AUTOCONF = .\config.bcb
|
||||
!include $(AUTOCONF)
|
||||
|
||||
!if !$d(BCB)
|
||||
BCB = $(MAKEDIR)\..
|
||||
!endif
|
||||
.autodepend
|
||||
|
||||
# Names of various input and output components.
|
||||
XML_NAME = xml2
|
||||
XML_BASENAME = lib$(XML_NAME)
|
||||
XML_SO = $(XML_BASENAME).dll
|
||||
XML_IMP = $(XML_BASENAME).lib
|
||||
XML_DEF = $(XML_BASENAME).def
|
||||
XML_A = $(XML_BASENAME)_a.lib
|
||||
DUMMY = dir.exists
|
||||
|
||||
# Place where we let the compiler put its intermediate trash.
|
||||
BINDIR = bin.bcb
|
||||
XML_INTDIR = int.bcb
|
||||
XML_INTDIR_A = int.a.bcb
|
||||
UTILS_INTDIR = int.utils.bcb
|
||||
|
||||
# The preprocessor and its options.
|
||||
CPP = cpp32.exe -P- -DWIN32
|
||||
CPPFLAGS = -I"$(XML_SRCDIR)\include"
|
||||
!if "$(WITH_THREADS)" != "no"
|
||||
CPPFLAGS = $(CPPFLAGS) -D_REENTRANT -D__MT__
|
||||
!endif
|
||||
|
||||
# The compiler and its options.
|
||||
CC = bcc32.exe
|
||||
CFLAGS = -q -DWIN32 -D_NO_VCL -D_WINDOWS -D_MBCS -DEILSEQ=2 -w-
|
||||
CFLAGS = $(CFLAGS) -I"$(XML_SRCDIR)" -I"$(XML_SRCDIR)\include" -I"$(INCPREFIX)" -I"$(INCLUDE)"
|
||||
!if "$(WITH_THREADS)" != "no"
|
||||
CFLAGS = $(CFLAGS) -D_REENTRANT -tWM
|
||||
!endif
|
||||
!if "$(DYNRUNTIME)" == "1"
|
||||
CFLAGS = $(CFLAGS) -tWR
|
||||
!endif
|
||||
!if "$(WITH_THREADS)" == "yes" || "$(WITH_THREADS)" == "ctls"
|
||||
CFLAGS = $(CFLAGS) -DHAVE_WIN32_THREADS -DHAVE_COMPILER_TLS
|
||||
!else if "$(WITH_THREADS)" == "native"
|
||||
CFLAGS = $(CFLAGS) -DHAVE_WIN32_THREADS
|
||||
!else if "$(WITH_THREADS)" == "posix"
|
||||
CFLAGS = $(CFLAGS) -DHAVE_PTHREAD_H
|
||||
!endif
|
||||
!if "$(WITH_ZLIB)" == "1"
|
||||
CFLAGS = $(CFLAGS) -DHAVE_ZLIB_H
|
||||
!endif
|
||||
|
||||
# The linker and its options.
|
||||
LD = ilink32.exe
|
||||
LDFLAGS = -q -U$(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION)
|
||||
LDFLAGS = $(LDFLAGS) -L"$(BINDIR);$(LIBPREFIX);$(LIB);$(BCB)\lib\PSdk"
|
||||
LIBS = import32.lib
|
||||
!if "$(WITH_THREADS)" != "no" && "$(DYNRUNTIME)" == "1"
|
||||
LIBS = $(LIBS) cw32mti.lib
|
||||
!elif "$(WITH_THREADS)" != "no"
|
||||
LIBS = $(LIBS) cw32mt.lib
|
||||
!elif "$(DYNRUNTIME)" == "1"
|
||||
LIBS = $(LIBS) cw32i.lib
|
||||
!else
|
||||
LIBS = $(LIBS) cw32.lib
|
||||
!endif
|
||||
!if "$(WITH_FTP)" == "1" || "$(WITH_HTTP)" == "1"
|
||||
LIBS = $(LIBS) wsock32.lib
|
||||
!endif
|
||||
!if "$(WITH_ICONV)" == "1"
|
||||
LIBS = $(LIBS) iconvomf.lib
|
||||
!endif
|
||||
!if "$(WITH_ZLIB)" == "1"
|
||||
LIBS = $(LIBS) zlibomf.lib
|
||||
!endif
|
||||
!if "$(WITH_THREADS)" == "posix"
|
||||
LIBS = $(LIBS) pthreadVC.lib
|
||||
!endif
|
||||
!if "$(WITH_MODULES)" == "1"
|
||||
LIBS = $(LIBS) kernel32.lib
|
||||
!endif
|
||||
|
||||
# The archiver and its options.
|
||||
AR = tlib.exe
|
||||
ARFLAGS = /P64 /0
|
||||
|
||||
# Optimisation and debug symbols.
|
||||
!if "$(DEBUG)" == "1"
|
||||
CFLAGS = $(CFLAGS) -D_DEBUG -Od -v
|
||||
LDFLAGS = $(LDFLAGS) -v
|
||||
!else
|
||||
CFLAGS = $(CFLAGS) -DNDEBUG -O2
|
||||
LDFLAGS = $(LDFLAGS)
|
||||
!endif
|
||||
|
||||
# Libxml object files.
|
||||
XML_OBJS = $(XML_INTDIR)\c14n.obj\
|
||||
$(XML_INTDIR)\catalog.obj\
|
||||
$(XML_INTDIR)\chvalid.obj\
|
||||
$(XML_INTDIR)\debugXML.obj\
|
||||
$(XML_INTDIR)\dict.obj\
|
||||
$(XML_INTDIR)\DOCBparser.obj\
|
||||
$(XML_INTDIR)\encoding.obj\
|
||||
$(XML_INTDIR)\entities.obj\
|
||||
$(XML_INTDIR)\error.obj\
|
||||
$(XML_INTDIR)\globals.obj\
|
||||
$(XML_INTDIR)\hash.obj\
|
||||
$(XML_INTDIR)\HTMLparser.obj\
|
||||
$(XML_INTDIR)\HTMLtree.obj\
|
||||
$(XML_INTDIR)\legacy.obj\
|
||||
$(XML_INTDIR)\list.obj\
|
||||
$(XML_INTDIR)\nanoftp.obj\
|
||||
$(XML_INTDIR)\nanohttp.obj\
|
||||
$(XML_INTDIR)\parser.obj\
|
||||
$(XML_INTDIR)\parserInternals.obj\
|
||||
$(XML_INTDIR)\pattern.obj\
|
||||
$(XML_INTDIR)\relaxng.obj\
|
||||
$(XML_INTDIR)\SAX.obj\
|
||||
$(XML_INTDIR)\SAX2.obj\
|
||||
$(XML_INTDIR)\threads.obj\
|
||||
$(XML_INTDIR)\tree.obj\
|
||||
$(XML_INTDIR)\uri.obj\
|
||||
$(XML_INTDIR)\valid.obj\
|
||||
$(XML_INTDIR)\xinclude.obj\
|
||||
$(XML_INTDIR)\xlink.obj\
|
||||
$(XML_INTDIR)\xmlIO.obj\
|
||||
$(XML_INTDIR)\xmlmemory.obj\
|
||||
$(XML_INTDIR)\xmlreader.obj\
|
||||
$(XML_INTDIR)\xmlregexp.obj\
|
||||
$(XML_INTDIR)\xmlmodule.obj\
|
||||
$(XML_INTDIR)\xmlsave.obj\
|
||||
$(XML_INTDIR)\xmlschemas.obj\
|
||||
$(XML_INTDIR)\xmlschemastypes.obj\
|
||||
$(XML_INTDIR)\xmlunicode.obj\
|
||||
$(XML_INTDIR)\xmlwriter.obj\
|
||||
$(XML_INTDIR)\xpath.obj\
|
||||
$(XML_INTDIR)\xpointer.obj\
|
||||
$(XML_INTDIR)\xmlstring.obj
|
||||
|
||||
# Static libxml object files.
|
||||
XML_OBJS_A = $(XML_INTDIR_A)\c14n.obj\
|
||||
$(XML_INTDIR_A)\catalog.obj\
|
||||
$(XML_INTDIR_A)\chvalid.obj\
|
||||
$(XML_INTDIR_A)\debugXML.obj\
|
||||
$(XML_INTDIR_A)\dict.obj\
|
||||
$(XML_INTDIR_A)\DOCBparser.obj\
|
||||
$(XML_INTDIR_A)\encoding.obj\
|
||||
$(XML_INTDIR_A)\entities.obj\
|
||||
$(XML_INTDIR_A)\error.obj\
|
||||
$(XML_INTDIR_A)\globals.obj\
|
||||
$(XML_INTDIR_A)\hash.obj\
|
||||
$(XML_INTDIR_A)\HTMLparser.obj\
|
||||
$(XML_INTDIR_A)\HTMLtree.obj\
|
||||
$(XML_INTDIR_A)\legacy.obj\
|
||||
$(XML_INTDIR_A)\list.obj\
|
||||
$(XML_INTDIR_A)\nanoftp.obj\
|
||||
$(XML_INTDIR_A)\nanohttp.obj\
|
||||
$(XML_INTDIR_A)\parser.obj\
|
||||
$(XML_INTDIR_A)\parserInternals.obj\
|
||||
$(XML_INTDIR_A)\pattern.obj\
|
||||
$(XML_INTDIR_A)\relaxng.obj\
|
||||
$(XML_INTDIR_A)\SAX.obj\
|
||||
$(XML_INTDIR_A)\SAX2.obj\
|
||||
$(XML_INTDIR_A)\threads.obj\
|
||||
$(XML_INTDIR_A)\tree.obj\
|
||||
$(XML_INTDIR_A)\uri.obj\
|
||||
$(XML_INTDIR_A)\valid.obj\
|
||||
$(XML_INTDIR_A)\xinclude.obj\
|
||||
$(XML_INTDIR_A)\xlink.obj\
|
||||
$(XML_INTDIR_A)\xmlIO.obj\
|
||||
$(XML_INTDIR_A)\xmlmemory.obj\
|
||||
$(XML_INTDIR_A)\xmlreader.obj\
|
||||
$(XML_INTDIR_A)\xmlregexp.obj\
|
||||
$(XML_INTDIR_A)\xmlmodule.obj\
|
||||
$(XML_INTDIR_A)\xmlsave.obj\
|
||||
$(XML_INTDIR_A)\xmlschemas.obj\
|
||||
$(XML_INTDIR_A)\xmlschemastypes.obj\
|
||||
$(XML_INTDIR_A)\xmlunicode.obj\
|
||||
$(XML_INTDIR_A)\xmlwriter.obj\
|
||||
$(XML_INTDIR_A)\xpath.obj\
|
||||
$(XML_INTDIR_A)\xpointer.obj\
|
||||
$(XML_INTDIR_A)\xmlstring.obj
|
||||
|
||||
# Xmllint and friends executables.
|
||||
UTILS = $(BINDIR)\xmllint.exe\
|
||||
$(BINDIR)\xmlcatalog.exe\
|
||||
$(BINDIR)\testAutomata.exe\
|
||||
$(BINDIR)\testC14N.exe\
|
||||
$(BINDIR)\testDocbook.exe\
|
||||
$(BINDIR)\testHTML.exe\
|
||||
$(BINDIR)\testReader.exe\
|
||||
$(BINDIR)\testRelax.exe\
|
||||
$(BINDIR)\testRegexp.exe\
|
||||
$(BINDIR)\testModule.exe\
|
||||
$(BINDIR)\testSAX.exe\
|
||||
$(BINDIR)\testSchemas.exe\
|
||||
$(BINDIR)\testURI.exe\
|
||||
$(BINDIR)\testXPath.exe\
|
||||
$(BINDIR)\runtest.exe\
|
||||
$(BINDIR)\runsuite.exe
|
||||
|
||||
|
||||
!if "$(WITH_THREADS)" == "yes" || "$(WITH_THREADS)" == "ctls" || "$(WITH_THREADS)" == "native"
|
||||
UTILS = $(UTILS) $(BINDIR)\testThreadsWin32.exe
|
||||
!else if "$(WITH_THREADS)" == "posix"
|
||||
UTILS = $(UTILS) $(BINDIR)\testThreads.exe
|
||||
!endif
|
||||
|
||||
|
||||
all : libxml libxmla utils
|
||||
|
||||
libxml : $(BINDIR)\$(XML_SO)
|
||||
|
||||
libxmla : $(BINDIR)\$(XML_A)
|
||||
|
||||
utils : $(UTILS)
|
||||
|
||||
clean :
|
||||
if exist $(XML_INTDIR) rmdir /S /Q $(XML_INTDIR)
|
||||
if exist $(XML_INTDIR_A) rmdir /S /Q $(XML_INTDIR_A)
|
||||
if exist $(UTILS_INTDIR) rmdir /S /Q $(UTILS_INTDIR)
|
||||
if exist $(BINDIR) rmdir /S /Q $(BINDIR)
|
||||
|
||||
distclean : clean
|
||||
if exist config.* del config.*
|
||||
if exist Makefile del Makefile
|
||||
|
||||
rebuild : clean all
|
||||
|
||||
install-libs : all
|
||||
if not exist "$(INCPREFIX)\libxml" mkdir "$(INCPREFIX)\libxml"
|
||||
if not exist "$(BINPREFIX)" mkdir "$(BINPREFIX)"
|
||||
if not exist "$(LIBPREFIX)" mkdir "$(LIBPREFIX)"
|
||||
copy $(XML_SRCDIR)\include\libxml\*.h "$(INCPREFIX)\libxml"
|
||||
copy $(BINDIR)\$(XML_SO) "$(SOPREFIX)"
|
||||
copy $(BINDIR)\$(XML_A) "$(LIBPREFIX)"
|
||||
copy $(BINDIR)\$(XML_IMP) "$(LIBPREFIX)"
|
||||
copy $(BINDIR)\*.exe "$(BINPREFIX)"
|
||||
|
||||
install : install-libs
|
||||
copy $(BINDIR)\*.exe "$(BINPREFIX)"
|
||||
|
||||
install-dist : install-libs
|
||||
copy $(BINDIR)\xml*.exe "$(BINPREFIX)"
|
||||
|
||||
# This is a target for me, to make a binary distribution. Not for the public use,
|
||||
# keep your hands off :-)
|
||||
BDVERSION = $(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION).$(LIBXML_MICRO_VERSION)
|
||||
BDPREFIX = $(XML_BASENAME)-$(BDVERSION).win32
|
||||
bindist : all
|
||||
$(MAKE) /nologo PREFIX=$(BDPREFIX) SOPREFIX=$(BDPREFIX)\bin install-dist
|
||||
cscript //NoLogo configure.js genreadme $(XML_BASENAME) $(BDVERSION) $(BDPREFIX)\readme.txt
|
||||
|
||||
|
||||
# Makes the output directory.
|
||||
$(BINDIR)\$(DUMMY) :
|
||||
if not exist $(BINDIR) mkdir $(BINDIR)
|
||||
touch $(BINDIR)\$(DUMMY)
|
||||
|
||||
# Makes the libxml intermediate directory.
|
||||
$(XML_INTDIR)\$(DUMMY) :
|
||||
if not exist $(XML_INTDIR) mkdir $(XML_INTDIR)
|
||||
touch $(XML_INTDIR)\$(DUMMY)
|
||||
|
||||
# Makes the static libxml intermediate directory.
|
||||
$(XML_INTDIR_A)\$(DUMMY) :
|
||||
if not exist $(XML_INTDIR_A) mkdir $(XML_INTDIR_A)
|
||||
touch $(XML_INTDIR_A)\$(DUMMY)
|
||||
|
||||
# An implicit rule for libxml compilation.
|
||||
{$(XML_SRCDIR)}.c{$(XML_INTDIR)}.obj:
|
||||
$(CC) $(CFLAGS) -n$(XML_INTDIR) -c $<
|
||||
|
||||
# An implicit rule for static libxml compilation.
|
||||
{$(XML_SRCDIR)}.c{$(XML_INTDIR_A)}.obj:
|
||||
$(CC) $(CFLAGS) -DLIBXML_STATIC -n$(XML_INTDIR_A)\ -c $<
|
||||
|
||||
# Compiles libxml source. Uses the implicit rule for commands.
|
||||
$(XML_OBJS) : $(XML_INTDIR)\$(DUMMY)
|
||||
|
||||
# Compiles static libxml source. Uses the implicit rule for commands.
|
||||
$(XML_OBJS_A) : $(XML_INTDIR_A)\$(DUMMY)
|
||||
|
||||
#def4bcb.exe : def4bcb.c
|
||||
|
||||
# Creates the export definition file (DEF) for libxml.
|
||||
#$(XML_INTDIR)\$(XML_DEF) : $(XML_INTDIR)\$(DUMMY) $(XML_DEF).src def4bcb.exe
|
||||
# $(CPP) $(CPPFLAGS) -o $(XML_INTDIR)\$(XML_DEF).tmp $(XML_DEF).src
|
||||
# def4bcb -msnames < $(XML_INTDIR)\$(XML_DEF).tmp > $(XML_INTDIR)\$(XML_DEF)
|
||||
|
||||
# Creates the libxml shared object.
|
||||
$(BINDIR)\$(XML_SO) : $(BINDIR)\$(DUMMY) $(XML_OBJS)
|
||||
$(LD) $(LDFLAGS) -Tpd -Gi c0d32.obj $(XML_OBJS),$(BINDIR)\$(XML_SO),,$(LIBS)
|
||||
|
||||
#$(BINDIR)\$(XML_SO) : $(BINDIR)\$(DUMMY) $(XML_OBJS) $(XML_INTDIR)\$(XML_DEF)
|
||||
# $(LD) $(LDFLAGS) -Tpd -Gi c0d32.obj $(XML_OBJS),$(BINDIR)\$(XML_SO),,$(LIBS),$(XML_INTDIR)\$(XML_DEF)
|
||||
|
||||
# Creates the libxml archive.
|
||||
$(BINDIR)\$(XML_A) : $(BINDIR)\$(DUMMY) $(XML_OBJS_A)
|
||||
$(AR) $(BINDIR)\$(XML_A) $(ARFLAGS) /u $(XML_OBJS_A)
|
||||
|
||||
# Makes the utils intermediate directory.
|
||||
$(UTILS_INTDIR)\$(DUMMY) :
|
||||
if not exist $(UTILS_INTDIR) mkdir $(UTILS_INTDIR)
|
||||
touch $(UTILS_INTDIR)\$(DUMMY)
|
||||
|
||||
# An implicit rule for xmllint and friends.
|
||||
!if "$(STATIC)" == "1"
|
||||
{$(UTILS_SRCDIR)}.c{$(BINDIR)}.exe:
|
||||
$(CC) -DLIBXML_STATIC -w -tWC $(CFLAGS) -o$(UTILS_INTDIR)\$&.obj -c $<
|
||||
$(LD) $(LDFLAGS) c0x32.obj $(UTILS_INTDIR)\$&.obj,$@,,$(LIBS) $(XML_A)
|
||||
!else
|
||||
{$(UTILS_SRCDIR)}.c{$(BINDIR)}.exe:
|
||||
$(CC) $(CFLAGS) -tWC -o$(UTILS_INTDIR)\$&.obj -c $<
|
||||
$(LD) $(LDFLAGS) c0x32.obj $(UTILS_INTDIR)\$&.obj $(XML_IMP),$@,,$(LIBS)
|
||||
!endif
|
||||
|
||||
# Builds xmllint and friends. Uses the implicit rule for commands.
|
||||
$(UTILS) : $(UTILS_INTDIR)\$(DUMMY) $(BINDIR)\$(DUMMY) $(BINDIR)\$(XML_SO) $(BINDIR)\$(XML_A)
|
||||
|
||||
# Source dependences should be autogenerated somehow here, but how to
|
||||
# do it? I have no clue.
|
||||
|
||||
-336
@@ -1,336 +0,0 @@
|
||||
# Makefile for libxml2, specific for Windows, GCC (mingw) and GNU make.
|
||||
#
|
||||
# Take a look at the beginning and modify the variables to suit your
|
||||
# environment. Having done that, you can do a
|
||||
#
|
||||
# nmake [all] to build the libxml and the accompanying utilities.
|
||||
# nmake clean to remove all compiler output files and return to a
|
||||
# clean state.
|
||||
# nmake rebuild to rebuild everything from scratch. This basically does
|
||||
# a 'nmake clean' and then a 'nmake all'.
|
||||
# nmake install to install the library and its header files.
|
||||
#
|
||||
# November 2002, Igor Zlatkovic <[email protected]>
|
||||
|
||||
# There should never be a need to modify anything below this line.
|
||||
# ----------------------------------------------------------------
|
||||
|
||||
AUTOCONF = .\config.mingw
|
||||
include $(AUTOCONF)
|
||||
|
||||
# Names of various input and output components.
|
||||
XML_NAME = xml2
|
||||
XML_BASENAME = lib$(XML_NAME)
|
||||
XML_SO = $(XML_BASENAME).dll
|
||||
XML_IMP = $(XML_BASENAME).lib
|
||||
XML_A = $(XML_BASENAME).a
|
||||
|
||||
# Place where we let the compiler put its output.
|
||||
BINDIR = bin.mingw
|
||||
XML_INTDIR = int.mingw
|
||||
XML_INTDIR_A = int.a.mingw
|
||||
UTILS_INTDIR = int.utils.mingw
|
||||
|
||||
# The preprocessor and its options.
|
||||
CPP = gcc.exe -E
|
||||
CPPFLAGS += -I$(XML_SRCDIR)/include
|
||||
ifeq ($(WITH_THREADS),1)
|
||||
CPPFLAGS += -D_REENTRANT
|
||||
endif
|
||||
|
||||
# The compiler and its options.
|
||||
CC = gcc.exe
|
||||
CFLAGS += -DWIN32 -D_WINDOWS -D_MBCS
|
||||
CFLAGS += -I$(XML_SRCDIR) -I$(XML_SRCDIR)/include -I$(INCPREFIX)
|
||||
ifneq ($(WITH_THREADS),no)
|
||||
CFLAGS += -D_REENTRANT
|
||||
endif
|
||||
ifeq ($(WITH_THREADS),yes)
|
||||
CFLAGS += -DHAVE_WIN32_THREADS -DHAVE_COMPILER_TLS
|
||||
endif
|
||||
ifeq ($(WITH_THREADS),ctls)
|
||||
CFLAGS += -DHAVE_WIN32_THREADS -DHAVE_COMPILER_TLS
|
||||
endif
|
||||
ifeq ($(WITH_THREADS),native)
|
||||
CFLAGS += -DHAVE_WIN32_THREADS
|
||||
endif
|
||||
ifeq ($(WITH_THREADS),posix)
|
||||
CFLAGS += -DHAVE_PTHREAD_H
|
||||
endif
|
||||
ifeq ($(WITH_ZLIB),1)
|
||||
CFLAGS += -DHAVE_ZLIB_H
|
||||
endif
|
||||
|
||||
# The linker and its options.
|
||||
LD = gcc.exe
|
||||
LDFLAGS += -Wl,--major-image-version,$(LIBXML_MAJOR_VERSION)
|
||||
LDFLAGS += -Wl,--minor-image-version,$(LIBXML_MINOR_VERSION)
|
||||
LDFLAGS += -Wl,-L,$(BINDIR) -Wl,-L,$(LIBPREFIX)
|
||||
LIBS =
|
||||
ifeq ($(WITH_FTP),1)
|
||||
CFLAGS += -D_WINSOCKAPI_
|
||||
LIBS += -lwsock32
|
||||
endif
|
||||
ifeq ($(WITH_HTTP),1)
|
||||
CFLAGS += -D_WINSOCKAPI_
|
||||
LIBS += -lwsock32
|
||||
endif
|
||||
ifeq ($(WITH_ICONV),1)
|
||||
LIBS += -liconv
|
||||
endif
|
||||
ifeq ($(WITH_ZLIB),1)
|
||||
LIBS += -lzdll
|
||||
endif
|
||||
ifeq ($(WITH_THREADS),posix)
|
||||
LIBS += -lpthreadGC
|
||||
endif
|
||||
ifeq ($(WITH_MODULES),1)
|
||||
LIBS += -lkernel32
|
||||
endif
|
||||
|
||||
# The archiver and its options.
|
||||
AR = ar.exe
|
||||
ARFLAGS = -r
|
||||
|
||||
# Optimisation and debug symbols.
|
||||
ifeq ($(DEBUG),1)
|
||||
CFLAGS += -D_DEBUG -g
|
||||
LDFLAGS +=
|
||||
else
|
||||
CFLAGS += -DNDEBUG -O2
|
||||
LDFLAGS +=
|
||||
endif
|
||||
|
||||
|
||||
# Libxml object files.
|
||||
XML_OBJS = $(XML_INTDIR)/c14n.o\
|
||||
$(XML_INTDIR)/catalog.o\
|
||||
$(XML_INTDIR)/chvalid.o\
|
||||
$(XML_INTDIR)/debugXML.o\
|
||||
$(XML_INTDIR)/dict.o\
|
||||
$(XML_INTDIR)/DOCBparser.o\
|
||||
$(XML_INTDIR)/encoding.o\
|
||||
$(XML_INTDIR)/entities.o\
|
||||
$(XML_INTDIR)/error.o\
|
||||
$(XML_INTDIR)/globals.o\
|
||||
$(XML_INTDIR)/hash.o\
|
||||
$(XML_INTDIR)/HTMLparser.o\
|
||||
$(XML_INTDIR)/HTMLtree.o\
|
||||
$(XML_INTDIR)/legacy.o\
|
||||
$(XML_INTDIR)/list.o\
|
||||
$(XML_INTDIR)/nanoftp.o\
|
||||
$(XML_INTDIR)/nanohttp.o\
|
||||
$(XML_INTDIR)/parser.o\
|
||||
$(XML_INTDIR)/parserInternals.o\
|
||||
$(XML_INTDIR)/pattern.o\
|
||||
$(XML_INTDIR)/relaxng.o\
|
||||
$(XML_INTDIR)/SAX.o\
|
||||
$(XML_INTDIR)/SAX2.o\
|
||||
$(XML_INTDIR)/threads.o\
|
||||
$(XML_INTDIR)/tree.o\
|
||||
$(XML_INTDIR)/uri.o\
|
||||
$(XML_INTDIR)/valid.o\
|
||||
$(XML_INTDIR)/xinclude.o\
|
||||
$(XML_INTDIR)/xlink.o\
|
||||
$(XML_INTDIR)/xmlIO.o\
|
||||
$(XML_INTDIR)/xmlmemory.o\
|
||||
$(XML_INTDIR)/xmlreader.o\
|
||||
$(XML_INTDIR)/xmlregexp.o\
|
||||
$(XML_INTDIR)/xmlmodule.o\
|
||||
$(XML_INTDIR)/xmlsave.o\
|
||||
$(XML_INTDIR)/xmlschemas.o\
|
||||
$(XML_INTDIR)/xmlschemastypes.o\
|
||||
$(XML_INTDIR)/xmlunicode.o\
|
||||
$(XML_INTDIR)/xmlwriter.o\
|
||||
$(XML_INTDIR)/xpath.o\
|
||||
$(XML_INTDIR)/xpointer.o\
|
||||
$(XML_INTDIR)/xmlstring.o
|
||||
|
||||
XML_SRCS = $(subst .o,.c,$(subst $(XML_INTDIR)/,$(XML_SRCDIR)/,$(XML_OBJS)))
|
||||
|
||||
# Static libxml object files.
|
||||
XML_OBJS_A = $(XML_INTDIR_A)/c14n.o\
|
||||
$(XML_INTDIR_A)/catalog.o\
|
||||
$(XML_INTDIR_A)/chvalid.o\
|
||||
$(XML_INTDIR_A)/debugXML.o\
|
||||
$(XML_INTDIR_A)/dict.o\
|
||||
$(XML_INTDIR_A)/DOCBparser.o\
|
||||
$(XML_INTDIR_A)/encoding.o\
|
||||
$(XML_INTDIR_A)/entities.o\
|
||||
$(XML_INTDIR_A)/error.o\
|
||||
$(XML_INTDIR_A)/globals.o\
|
||||
$(XML_INTDIR_A)/hash.o\
|
||||
$(XML_INTDIR_A)/HTMLparser.o\
|
||||
$(XML_INTDIR_A)/HTMLtree.o\
|
||||
$(XML_INTDIR_A)/legacy.o\
|
||||
$(XML_INTDIR_A)/list.o\
|
||||
$(XML_INTDIR_A)/nanoftp.o\
|
||||
$(XML_INTDIR_A)/nanohttp.o\
|
||||
$(XML_INTDIR_A)/parser.o\
|
||||
$(XML_INTDIR_A)/parserInternals.o\
|
||||
$(XML_INTDIR_A)/pattern.o\
|
||||
$(XML_INTDIR_A)/relaxng.o\
|
||||
$(XML_INTDIR_A)/SAX.o\
|
||||
$(XML_INTDIR_A)/SAX2.o\
|
||||
$(XML_INTDIR_A)/threads.o\
|
||||
$(XML_INTDIR_A)/tree.o\
|
||||
$(XML_INTDIR_A)/uri.o\
|
||||
$(XML_INTDIR_A)/valid.o\
|
||||
$(XML_INTDIR_A)/xinclude.o\
|
||||
$(XML_INTDIR_A)/xlink.o\
|
||||
$(XML_INTDIR_A)/xmlIO.o\
|
||||
$(XML_INTDIR_A)/xmlmemory.o\
|
||||
$(XML_INTDIR_A)/xmlreader.o\
|
||||
$(XML_INTDIR_A)/xmlregexp.o\
|
||||
$(XML_INTDIR_A)/xmlmodule.o\
|
||||
$(XML_INTDIR_A)/xmlsave.o\
|
||||
$(XML_INTDIR_A)/xmlschemas.o\
|
||||
$(XML_INTDIR_A)/xmlschemastypes.o\
|
||||
$(XML_INTDIR_A)/xmlunicode.o\
|
||||
$(XML_INTDIR_A)/xmlwriter.o\
|
||||
$(XML_INTDIR_A)/xpath.o\
|
||||
$(XML_INTDIR_A)/xpointer.o\
|
||||
$(XML_INTDIR_A)/xmlstring.o
|
||||
|
||||
XML_SRCS_A = $(subst .o,.c,$(subst $(XML_INTDIR_A)/,$(XML_SRCDIR)/,$(XML_OBJS_A)))
|
||||
|
||||
# Xmllint and friends executables.
|
||||
UTILS = $(BINDIR)/xmllint.exe\
|
||||
$(BINDIR)/xmlcatalog.exe\
|
||||
$(BINDIR)/testAutomata.exe\
|
||||
$(BINDIR)/testC14N.exe\
|
||||
$(BINDIR)/testDocbook.exe\
|
||||
$(BINDIR)/testHTML.exe\
|
||||
$(BINDIR)/testReader.exe\
|
||||
$(BINDIR)/testRegexp.exe\
|
||||
$(BINDIR)/testModule.exe\
|
||||
$(BINDIR)/testRelax.exe\
|
||||
$(BINDIR)/testSAX.exe\
|
||||
$(BINDIR)/testSchemas.exe\
|
||||
$(BINDIR)/testURI.exe\
|
||||
$(BINDIR)/testXPath.exe\
|
||||
$(BINDIR)/runtest.exe\
|
||||
$(BINDIR)/runsuite.exe
|
||||
ifeq ($(WITH_THREADS),yes)
|
||||
UTILS += $(BINDIR)/testThreadsWin32.exe
|
||||
endif
|
||||
ifeq ($(WITH_THREADS),ctls)
|
||||
UTILS += $(BINDIR)/testThreadsWin32.exe
|
||||
endif
|
||||
ifeq ($(WITH_THREADS),native)
|
||||
UTILS += $(BINDIR)/testThreadsWin32.exe
|
||||
endif
|
||||
ifeq ($(WITH_THREADS),posix)
|
||||
UTILS += $(BINDIR)/testThreads.exe
|
||||
endif
|
||||
|
||||
all : dep libxml libxmla utils
|
||||
|
||||
libxml : $(BINDIR)/$(XML_SO)
|
||||
|
||||
libxmla : $(BINDIR)/$(XML_A)
|
||||
|
||||
utils : $(UTILS)
|
||||
|
||||
clean :
|
||||
cmd.exe /C if exist $(XML_INTDIR) rmdir /S /Q $(XML_INTDIR)
|
||||
cmd.exe /C if exist $(XML_INTDIR_A) rmdir /S /Q $(XML_INTDIR_A)
|
||||
cmd.exe /C if exist $(UTILS_INTDIR) rmdir /S /Q $(UTILS_INTDIR)
|
||||
cmd.exe /C if exist $(BINDIR) rmdir /S /Q $(BINDIR)
|
||||
cmd.exe /C if exist depends.mingw del depends.mingw
|
||||
|
||||
distclean : clean
|
||||
cmd.exe /C if exist config.* del config.*
|
||||
cmd.exe /C if exist Makefile del Makefile
|
||||
|
||||
rebuild : clean all
|
||||
|
||||
install-libs : all
|
||||
cmd.exe /C if not exist $(INCPREFIX)\libxml mkdir $(INCPREFIX)\libxml
|
||||
cmd.exe /C if not exist $(BINPREFIX) mkdir $(BINPREFIX)
|
||||
cmd.exe /C if not exist $(LIBPREFIX) mkdir $(LIBPREFIX)
|
||||
cmd.exe /C copy $(XML_SRCDIR)\include\libxml\*.h $(INCPREFIX)\libxml
|
||||
cmd.exe /C copy $(BINDIR)\$(XML_SO) $(SOPREFIX)
|
||||
cmd.exe /C copy $(BINDIR)\$(XML_A) $(LIBPREFIX)
|
||||
cmd.exe /C copy $(BINDIR)\$(XML_IMP) $(LIBPREFIX)
|
||||
cmd.exe /C copy $(BINDIR)\xml*.exe $(BINPREFIX)
|
||||
|
||||
install : install-libs
|
||||
cmd.exe /C copy $(BINDIR)\*.exe $(BINPREFIX)
|
||||
|
||||
install-dist : install-libs
|
||||
cmd.exe /C copy $(BINDIR)\xml*.exe $(BINPREFIX)
|
||||
|
||||
# This is a target for me, to make a binary distribution. Not for the public use,
|
||||
# keep your hands off :-)
|
||||
BDVERSION = $(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION).$(LIBXML_MICRO_VERSION)
|
||||
BDPREFIX = $(XML_BASENAME)-$(BDVERSION).win32
|
||||
bindist : all
|
||||
$(MAKE) PREFIX=$(BDPREFIX) SOPREFIX=$(BDPREFIX)/bin install-dist
|
||||
cscript //NoLogo configure.js genreadme $(XML_BASENAME) $(BDVERSION) $(BDPREFIX)\readme.txt
|
||||
|
||||
|
||||
# Creates the dependency file
|
||||
dep :
|
||||
$(CC) $(CFLAGS) -M $(XML_SRCS) > depends.mingw
|
||||
|
||||
|
||||
# Makes the output directory.
|
||||
$(BINDIR) :
|
||||
cmd.exe /C if not exist $(BINDIR) mkdir $(BINDIR)
|
||||
|
||||
|
||||
# Makes the libxml intermediate directory.
|
||||
$(XML_INTDIR) :
|
||||
cmd.exe /C if not exist $(XML_INTDIR) mkdir $(XML_INTDIR)
|
||||
|
||||
# Makes the static libxml intermediate directory.
|
||||
$(XML_INTDIR_A) :
|
||||
cmd.exe /C if not exist $(XML_INTDIR_A) mkdir $(XML_INTDIR_A)
|
||||
|
||||
# An implicit rule for libxml compilation.
|
||||
$(XML_INTDIR)/%.o : $(XML_SRCDIR)/%.c
|
||||
$(CC) $(CFLAGS) -o $@ -c $<
|
||||
|
||||
# An implicit rule for static libxml compilation.
|
||||
$(XML_INTDIR_A)/%.o : $(XML_SRCDIR)/%.c
|
||||
$(CC) $(CFLAGS) -DLIBXML_STATIC -o $@ -c $<
|
||||
|
||||
|
||||
# Compiles libxml source. Uses the implicit rule for commands.
|
||||
$(XML_OBJS) : $(XML_INTDIR)
|
||||
|
||||
# Compiles static libxml source. Uses the implicit rule for commands.
|
||||
$(XML_OBJS_A) : $(XML_INTDIR_A)
|
||||
|
||||
# Creates the libxml shared object.
|
||||
XMLSO_LDFLAGS = $(LDFLAGS) -shared -Wl,--dll -Wl,--out-implib,$(BINDIR)/$(XML_IMP)
|
||||
$(BINDIR)/$(XML_SO) : $(BINDIR) $(XML_OBJS)
|
||||
$(LD) $(XMLSO_LDFLAGS) -o $(BINDIR)/$(XML_SO) $(XML_OBJS) $(LIBS)
|
||||
|
||||
# Creates the libxml archive.
|
||||
$(BINDIR)/$(XML_A) : $(BINDIR) $(XML_OBJS_A)
|
||||
$(AR) $(ARFLAGS) $(BINDIR)\$(XML_A) $(XML_OBJS_A)
|
||||
|
||||
|
||||
# Makes the utils intermediate directory.
|
||||
$(UTILS_INTDIR) :
|
||||
cmd.exe /C if not exist $(UTILS_INTDIR) mkdir $(UTILS_INTDIR)
|
||||
|
||||
# An implicit rule for xmllint and friends.
|
||||
ifeq ($(STATIC),1)
|
||||
$(BINDIR)/%.exe : $(UTILS_SRCDIR)/%.c
|
||||
$(CC) -DLIBXML_STATIC $(CFLAGS) -o $(subst .c,.o,$(UTILS_INTDIR)/$(<F)) -c $<
|
||||
$(LD) $(LDFLAGS) -o $@ $(subst .c,.o,$(UTILS_INTDIR)/$(<F)) -l$(XML_BASENAME) $(LIBS)
|
||||
else
|
||||
$(BINDIR)/%.exe : $(UTILS_SRCDIR)/%.c
|
||||
$(CC) $(CFLAGS) -o $(subst .c,.o,$(UTILS_INTDIR)/$(<F)) -c $<
|
||||
$(LD) $(LDFLAGS) -o $@ $(subst .c,.o,$(UTILS_INTDIR)/$(<F)) -l$(XML_BASENAME) $(LIBS)
|
||||
endif
|
||||
|
||||
# Builds xmllint and friends. Uses the implicit rule for commands.
|
||||
$(UTILS) : $(UTILS_INTDIR) $(BINDIR) libxml libxmla
|
||||
|
||||
# Source dependencies
|
||||
#-include depends.mingw
|
||||
|
||||
-382
@@ -1,382 +0,0 @@
|
||||
# Makefile for libxml2, specific for Windows, MSVC and NMAKE.
|
||||
#
|
||||
# Take a look at the beginning and modify the variables to suit your
|
||||
# environment. Having done that, you can do a
|
||||
#
|
||||
# nmake [all] to build the libxml and the accompanying utilities.
|
||||
# nmake clean to remove all compiler output files and return to a
|
||||
# clean state.
|
||||
# nmake rebuild to rebuild everything from scratch. This basically does
|
||||
# a 'nmake clean' and then a 'nmake all'.
|
||||
# nmake install to install the library and its header files.
|
||||
#
|
||||
# March 2002, Igor Zlatkovic <[email protected]>
|
||||
|
||||
# There should never be a need to modify anything below this line.
|
||||
# ----------------------------------------------------------------
|
||||
|
||||
AUTOCONF = .\config.msvc
|
||||
!include $(AUTOCONF)
|
||||
|
||||
# Names of various input and output components.
|
||||
XML_NAME = xml2
|
||||
XML_BASENAME = lib$(XML_NAME)
|
||||
XML_SO = $(XML_BASENAME).dll
|
||||
XML_IMP = $(XML_BASENAME).lib
|
||||
XML_DEF = $(XML_BASENAME).def
|
||||
XML_A = $(XML_BASENAME)_a.lib
|
||||
|
||||
# Place where we let the compiler put its output.
|
||||
BINDIR = bin.msvc
|
||||
XML_INTDIR = int.msvc
|
||||
XML_INTDIR_A = int.a.msvc
|
||||
UTILS_INTDIR = int.utils.msvc
|
||||
|
||||
# The preprocessor and its options.
|
||||
CPP = cl.exe /EP
|
||||
CPPFLAGS = /nologo /I$(XML_SRCDIR)\include
|
||||
!if "$(WITH_THREADS)" != "no"
|
||||
CPPFLAGS = $(CPPFLAGS) /D "_REENTRANT"
|
||||
!endif
|
||||
|
||||
# The compiler and its options.
|
||||
CC = cl.exe
|
||||
CFLAGS = /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" /W1 $(CRUNTIME)
|
||||
CFLAGS = $(CFLAGS) /I$(XML_SRCDIR) /I$(XML_SRCDIR)\include /I$(INCPREFIX)
|
||||
!if "$(WITH_THREADS)" != "no"
|
||||
CFLAGS = $(CFLAGS) /D "_REENTRANT"
|
||||
!endif
|
||||
!if "$(WITH_THREADS)" == "yes" || "$(WITH_THREADS)" == "ctls"
|
||||
CFLAGS = $(CFLAGS) /D "HAVE_WIN32_THREADS" /D "HAVE_COMPILER_TLS"
|
||||
!else if "$(WITH_THREADS)" == "native"
|
||||
CFLAGS = $(CFLAGS) /D "HAVE_WIN32_THREADS"
|
||||
!else if "$(WITH_THREADS)" == "posix"
|
||||
CFLAGS = $(CFLAGS) /D "HAVE_PTHREAD_H"
|
||||
!endif
|
||||
!if "$(WITH_ZLIB)" == "1"
|
||||
CFLAGS = $(CFLAGS) /D "HAVE_ZLIB_H"
|
||||
!endif
|
||||
|
||||
# The linker and its options.
|
||||
LD = link.exe
|
||||
LDFLAGS = /nologo /VERSION:$(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION)
|
||||
LDFLAGS = $(LDFLAGS) /LIBPATH:$(BINDIR) /LIBPATH:$(LIBPREFIX)
|
||||
LIBS =
|
||||
!if "$(WITH_FTP)" == "1" || "$(WITH_HTTP)" == "1"
|
||||
LIBS = $(LIBS) wsock32.lib
|
||||
!endif
|
||||
!if "$(WITH_ICONV)" == "1"
|
||||
LIBS = $(LIBS) iconv.lib
|
||||
!endif
|
||||
!if "$(WITH_ZLIB)" == "1"
|
||||
LIBS = $(LIBS) zdll.lib
|
||||
!endif
|
||||
!if "$(WITH_THREADS)" == "posix"
|
||||
LIBS = $(LIBS) pthreadVC.lib
|
||||
!endif
|
||||
!if "$(WITH_MODULES)" == "1"
|
||||
LIBS = $(LIBS) kernel32.lib
|
||||
!endif
|
||||
|
||||
# The archiver and its options.
|
||||
AR = lib.exe
|
||||
ARFLAGS = /nologo
|
||||
|
||||
# Optimisation and debug symbols.
|
||||
!if "$(DEBUG)" == "1"
|
||||
CFLAGS = $(CFLAGS) /D "_DEBUG" /Od /Z7
|
||||
LDFLAGS = $(LDFLAGS) /DEBUG
|
||||
!else
|
||||
CFLAGS = $(CFLAGS) /D "NDEBUG" /O2
|
||||
LDFLAGS = $(LDFLAGS) /OPT:NOWIN98
|
||||
!endif
|
||||
|
||||
# Libxml object files.
|
||||
XML_OBJS = $(XML_INTDIR)\c14n.obj\
|
||||
$(XML_INTDIR)\catalog.obj\
|
||||
$(XML_INTDIR)\chvalid.obj\
|
||||
$(XML_INTDIR)\debugXML.obj\
|
||||
$(XML_INTDIR)\dict.obj\
|
||||
$(XML_INTDIR)\DOCBparser.obj\
|
||||
$(XML_INTDIR)\encoding.obj\
|
||||
$(XML_INTDIR)\entities.obj\
|
||||
$(XML_INTDIR)\error.obj\
|
||||
$(XML_INTDIR)\globals.obj\
|
||||
$(XML_INTDIR)\hash.obj\
|
||||
$(XML_INTDIR)\HTMLparser.obj\
|
||||
$(XML_INTDIR)\HTMLtree.obj\
|
||||
$(XML_INTDIR)\legacy.obj\
|
||||
$(XML_INTDIR)\list.obj\
|
||||
$(XML_INTDIR)\nanoftp.obj\
|
||||
$(XML_INTDIR)\nanohttp.obj\
|
||||
$(XML_INTDIR)\parser.obj\
|
||||
$(XML_INTDIR)\parserInternals.obj\
|
||||
$(XML_INTDIR)\pattern.obj\
|
||||
$(XML_INTDIR)\relaxng.obj\
|
||||
$(XML_INTDIR)\SAX2.obj\
|
||||
$(XML_INTDIR)\SAX.obj\
|
||||
$(XML_INTDIR)\threads.obj\
|
||||
$(XML_INTDIR)\tree.obj\
|
||||
$(XML_INTDIR)\uri.obj\
|
||||
$(XML_INTDIR)\valid.obj\
|
||||
$(XML_INTDIR)\xinclude.obj\
|
||||
$(XML_INTDIR)\xlink.obj\
|
||||
$(XML_INTDIR)\xmlIO.obj\
|
||||
$(XML_INTDIR)\xmlmemory.obj\
|
||||
$(XML_INTDIR)\xmlreader.obj\
|
||||
$(XML_INTDIR)\xmlregexp.obj\
|
||||
$(XML_INTDIR)\xmlmodule.obj\
|
||||
$(XML_INTDIR)\xmlsave.obj\
|
||||
$(XML_INTDIR)\xmlschemas.obj\
|
||||
$(XML_INTDIR)\xmlschemastypes.obj\
|
||||
$(XML_INTDIR)\xmlunicode.obj\
|
||||
$(XML_INTDIR)\xmlwriter.obj\
|
||||
$(XML_INTDIR)\xpath.obj\
|
||||
$(XML_INTDIR)\xpointer.obj\
|
||||
$(XML_INTDIR)\xmlstring.obj
|
||||
|
||||
# Static libxml object files.
|
||||
XML_OBJS_A = $(XML_INTDIR_A)\c14n.obj\
|
||||
$(XML_INTDIR_A)\catalog.obj\
|
||||
$(XML_INTDIR_A)\chvalid.obj\
|
||||
$(XML_INTDIR_A)\debugXML.obj\
|
||||
$(XML_INTDIR_A)\dict.obj\
|
||||
$(XML_INTDIR_A)\DOCBparser.obj\
|
||||
$(XML_INTDIR_A)\encoding.obj\
|
||||
$(XML_INTDIR_A)\entities.obj\
|
||||
$(XML_INTDIR_A)\error.obj\
|
||||
$(XML_INTDIR_A)\globals.obj\
|
||||
$(XML_INTDIR_A)\hash.obj\
|
||||
$(XML_INTDIR_A)\HTMLparser.obj\
|
||||
$(XML_INTDIR_A)\HTMLtree.obj\
|
||||
$(XML_INTDIR_A)\legacy.obj\
|
||||
$(XML_INTDIR_A)\list.obj\
|
||||
$(XML_INTDIR_A)\nanoftp.obj\
|
||||
$(XML_INTDIR_A)\nanohttp.obj\
|
||||
$(XML_INTDIR_A)\parser.obj\
|
||||
$(XML_INTDIR_A)\parserInternals.obj\
|
||||
$(XML_INTDIR_A)\pattern.obj\
|
||||
$(XML_INTDIR_A)\relaxng.obj\
|
||||
$(XML_INTDIR_A)\SAX2.obj\
|
||||
$(XML_INTDIR_A)\SAX.obj\
|
||||
$(XML_INTDIR_A)\threads.obj\
|
||||
$(XML_INTDIR_A)\tree.obj\
|
||||
$(XML_INTDIR_A)\uri.obj\
|
||||
$(XML_INTDIR_A)\valid.obj\
|
||||
$(XML_INTDIR_A)\xinclude.obj\
|
||||
$(XML_INTDIR_A)\xlink.obj\
|
||||
$(XML_INTDIR_A)\xmlIO.obj\
|
||||
$(XML_INTDIR_A)\xmlmemory.obj\
|
||||
$(XML_INTDIR_A)\xmlreader.obj\
|
||||
$(XML_INTDIR_A)\xmlregexp.obj\
|
||||
$(XML_INTDIR_A)\xmlmodule.obj\
|
||||
$(XML_INTDIR_A)\xmlsave.obj\
|
||||
$(XML_INTDIR_A)\xmlschemas.obj\
|
||||
$(XML_INTDIR_A)\xmlschemastypes.obj\
|
||||
$(XML_INTDIR_A)\xmlunicode.obj\
|
||||
$(XML_INTDIR_A)\xmlwriter.obj\
|
||||
$(XML_INTDIR_A)\xpath.obj\
|
||||
$(XML_INTDIR_A)\xpointer.obj\
|
||||
$(XML_INTDIR_A)\xmlstring.obj
|
||||
|
||||
# Xmllint and friends executables.
|
||||
UTILS = $(BINDIR)\xmllint.exe\
|
||||
$(BINDIR)\xmlcatalog.exe\
|
||||
$(BINDIR)\testAutomata.exe\
|
||||
$(BINDIR)\testC14N.exe\
|
||||
$(BINDIR)\testDocbook.exe\
|
||||
$(BINDIR)\testHTML.exe\
|
||||
$(BINDIR)\testReader.exe\
|
||||
$(BINDIR)\testRelax.exe\
|
||||
$(BINDIR)\testRegexp.exe\
|
||||
$(BINDIR)\testModule.exe\
|
||||
$(BINDIR)\testSAX.exe\
|
||||
$(BINDIR)\testSchemas.exe\
|
||||
$(BINDIR)\testURI.exe\
|
||||
$(BINDIR)\testXPath.exe\
|
||||
$(BINDIR)\runtest.exe\
|
||||
$(BINDIR)\runsuite.exe
|
||||
|
||||
!if "$(WITH_THREADS)" == "yes" || "$(WITH_THREADS)" == "ctls" || "$(WITH_THREADS)" == "native"
|
||||
UTILS = $(UTILS) $(BINDIR)\testThreadsWin32.exe
|
||||
!else if "$(WITH_THREADS)" == "posix"
|
||||
UTILS = $(UTILS) $(BINDIR)\testThreads.exe
|
||||
!endif
|
||||
|
||||
all : libxml libxmla utils
|
||||
|
||||
libxml : $(BINDIR)\$(XML_SO)
|
||||
|
||||
libxmla : $(BINDIR)\$(XML_A)
|
||||
|
||||
utils : $(UTILS)
|
||||
|
||||
clean :
|
||||
if exist $(XML_INTDIR) rmdir /S /Q $(XML_INTDIR)
|
||||
if exist $(XML_INTDIR_A) rmdir /S /Q $(XML_INTDIR_A)
|
||||
if exist $(UTILS_INTDIR) rmdir /S /Q $(UTILS_INTDIR)
|
||||
if exist $(BINDIR) rmdir /S /Q $(BINDIR)
|
||||
|
||||
distclean : clean
|
||||
if exist config.* del config.*
|
||||
if exist Makefile del Makefile
|
||||
|
||||
rebuild : clean all
|
||||
|
||||
install-libs : all
|
||||
if not exist $(INCPREFIX)\libxml mkdir $(INCPREFIX)\libxml
|
||||
if not exist $(BINPREFIX) mkdir $(BINPREFIX)
|
||||
if not exist $(LIBPREFIX) mkdir $(LIBPREFIX)
|
||||
if not exist $(SOPREFIX) mkdir $(SOPREFIX)
|
||||
copy $(XML_SRCDIR)\include\libxml\*.h $(INCPREFIX)\libxml
|
||||
copy $(BINDIR)\$(XML_SO) $(SOPREFIX)
|
||||
copy $(BINDIR)\$(XML_A) $(LIBPREFIX)
|
||||
copy $(BINDIR)\$(XML_IMP) $(LIBPREFIX)
|
||||
|
||||
install : install-libs
|
||||
copy $(BINDIR)\*.exe $(BINPREFIX)
|
||||
-copy $(BINDIR)\*.pdb $(BINPREFIX)
|
||||
|
||||
install-dist : install-libs
|
||||
copy $(BINDIR)\xml*.exe $(BINPREFIX)
|
||||
-copy $(BINDIR)\xml*.pdb $(BINPREFIX)
|
||||
|
||||
# This is a target for me, to make a binary distribution. Not for the public use,
|
||||
# keep your hands off :-)
|
||||
BDVERSION = $(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION).$(LIBXML_MICRO_VERSION)
|
||||
BDPREFIX = $(XML_BASENAME)-$(BDVERSION).win32
|
||||
bindist : all
|
||||
$(MAKE) /nologo PREFIX=$(BDPREFIX) SOPREFIX=$(BDPREFIX)\bin install-dist
|
||||
cscript //NoLogo configure.js genreadme $(XML_BASENAME) $(BDVERSION) $(BDPREFIX)\readme.txt
|
||||
|
||||
|
||||
# Makes the output directory.
|
||||
$(BINDIR) :
|
||||
if not exist $(BINDIR) mkdir $(BINDIR)
|
||||
|
||||
|
||||
# Makes the libxml intermediate directory.
|
||||
$(XML_INTDIR) :
|
||||
if not exist $(XML_INTDIR) mkdir $(XML_INTDIR)
|
||||
|
||||
# Makes the static libxml intermediate directory.
|
||||
$(XML_INTDIR_A) :
|
||||
if not exist $(XML_INTDIR_A) mkdir $(XML_INTDIR_A)
|
||||
|
||||
# An implicit rule for libxml compilation.
|
||||
{$(XML_SRCDIR)}.c{$(XML_INTDIR)}.obj::
|
||||
$(CC) $(CFLAGS) /Fo$(XML_INTDIR)\ /c $<
|
||||
|
||||
# An implicit rule for static libxml compilation.
|
||||
{$(XML_SRCDIR)}.c{$(XML_INTDIR_A)}.obj::
|
||||
$(CC) $(CFLAGS) /D "LIBXML_STATIC" /Fo$(XML_INTDIR_A)\ /c $<
|
||||
|
||||
# Compiles libxml source. Uses the implicit rule for commands.
|
||||
$(XML_OBJS) : $(XML_INTDIR)
|
||||
|
||||
# Compiles static libxml source. Uses the implicit rule for commands.
|
||||
$(XML_OBJS_A) : $(XML_INTDIR_A)
|
||||
|
||||
# Creates the export definition file (DEF) for libxml.
|
||||
$(XML_INTDIR)\$(XML_DEF) : $(XML_INTDIR) $(XML_DEF).src
|
||||
$(CPP) $(CPPFLAGS) $(XML_DEF).src > $(XML_INTDIR)\$(XML_DEF)
|
||||
|
||||
# Creates the libxml shared object.
|
||||
$(BINDIR)\$(XML_SO) : $(BINDIR) $(XML_OBJS) $(XML_INTDIR)\$(XML_DEF)
|
||||
$(LD) $(LDFLAGS) /DLL \
|
||||
/IMPLIB:$(BINDIR)\$(XML_IMP) /OUT:$(BINDIR)\$(XML_SO) $(XML_OBJS) $(LIBS)
|
||||
|
||||
#$(BINDIR)\$(XML_SO) : $(BINDIR) $(XML_OBJS) $(XML_INTDIR)\$(XML_DEF)
|
||||
# $(LD) $(LDFLAGS) /DLL /DEF:$(XML_INTDIR)\$(XML_DEF) \
|
||||
# /IMPLIB:$(BINDIR)\$(XML_IMP) /OUT:$(BINDIR)\$(XML_SO) $(XML_OBJS) $(LIBS)
|
||||
|
||||
# Creates the libxml archive.
|
||||
$(BINDIR)\$(XML_A) : $(BINDIR) $(XML_OBJS_A)
|
||||
$(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(XML_A) $(XML_OBJS_A)
|
||||
|
||||
|
||||
# Makes the utils intermediate directory.
|
||||
$(UTILS_INTDIR) :
|
||||
if not exist $(UTILS_INTDIR) mkdir $(UTILS_INTDIR)
|
||||
|
||||
# An implicit rule for xmllint and friends.
|
||||
!if "$(STATIC)" == "1"
|
||||
{$(UTILS_SRCDIR)}.c{$(BINDIR)}.exe:
|
||||
$(CC) /D "LIBXML_STATIC" $(CFLAGS) /Fo$(UTILS_INTDIR)\ /c $<
|
||||
$(LD) $(LDFLAGS) /OUT:$@ $(XML_A) $(LIBS) $(UTILS_INTDIR)\$(<B).obj
|
||||
!else
|
||||
{$(UTILS_SRCDIR)}.c{$(BINDIR)}.exe:
|
||||
$(CC) $(CFLAGS) /Fo$(UTILS_INTDIR)\ /c $<
|
||||
$(LD) $(LDFLAGS) /OUT:$@ $(XML_IMP) $(LIBS) $(UTILS_INTDIR)\$(<B).obj
|
||||
!endif
|
||||
|
||||
# Builds xmllint and friends. Uses the implicit rule for commands.
|
||||
$(UTILS) : $(UTILS_INTDIR) $(BINDIR) libxml libxmla
|
||||
|
||||
# Source dependences should be autogenerated somehow here, but how to
|
||||
# do it? I have no clue.
|
||||
|
||||
# TESTS
|
||||
|
||||
tests : XPathtests
|
||||
|
||||
XPathtests : $(BINDIR)\testXPath.exe
|
||||
@echo. 2> .memdump
|
||||
@echo ## XPath regression tests
|
||||
@-$(BINDIR)\testXPath.exe | find /C "support not compiled in" 1>nul
|
||||
@if %ERRORLEVEL% NEQ 0 @( \
|
||||
echo Skipping debug not compiled in\
|
||||
@exit 0 \
|
||||
)
|
||||
@for %%I in ($(XML_SRCDIR)\test\XPath\expr\*.*) do @( \
|
||||
@IF NOT EXIST $(XML_SRCDIR)\result\XPath\expr\%%~nxI ( \
|
||||
@echo New test %%~nxI &&\
|
||||
@echo %%~nxI &&\
|
||||
$(BINDIR)\testXPath.exe -f --expr %%I > $(XML_SRCDIR)/result/XPath/expr/%%~nxI &&\
|
||||
findstr /C:"MEMORY ALLOCATED : 0" \
|
||||
) ELSE ( \
|
||||
$(BINDIR)\testXPath.exe -f --expr %%I 2>&1 > result.%%~nxI &&\
|
||||
fc $(XML_SRCDIR)\result\XPath\expr\%%~nxI result.%%~nxI >nul &\
|
||||
iF ERRORLEVEL 1 exit 1 & \
|
||||
findstr "MEMORY ALLOCATED" .memdump | findstr /C:"MEMORY ALLOCATED : 0" >nul &&\
|
||||
del result.%%~nxI \
|
||||
) \
|
||||
)
|
||||
@for %%I in ($(XML_SRCDIR)\test\XPath\docs\*.*) do @( \
|
||||
for %%J in ($(XML_SRCDIR)\test\XPath\tests\%%~nxI*.*) do @( \
|
||||
if not exist $(XML_SRCDIR)\result\XPath\tests\%%~nxJ ( \
|
||||
$(BINDIR)\testXPath.exe -f -i %%I %%J > $(XML_SRCDIR)\result\XPath\tests\%%~nxJ &&\
|
||||
findstr /C:"MEMORY ALLOCATED" .memdump | findstr /C:"MEMORY ALLOCATED : 0" > nul \
|
||||
) ELSE ( \
|
||||
$(BINDIR)\testXPAth.exe -f -i %%I %%J 2>&1 > result.%%~nxJ &&\
|
||||
findstr /C:"MEMORY ALLOCATED" .memdump | findstr /C:"MEMORY ALLOCATED : 0">null &&\
|
||||
fc $(XML_SRCDIR)\result\XPath\tests\%%~nxJ result.%%~nxJ >null & \
|
||||
IF ERRORLEVEL 1 (echo Error: %%I %%J & exit 1) & \
|
||||
del result.%%~nxJ \
|
||||
)\
|
||||
)\
|
||||
)
|
||||
|
||||
XMLtests : $(BINDIR)\xmllint.exe
|
||||
@echo. 2> .memdump
|
||||
@echo ## XML regression tests
|
||||
-@for %%I in ($(XML_SRCDIR)\test\*) do @( \
|
||||
if not exist $(XML_SRCDIR)\result\%%~nxI ( \
|
||||
echo New test file %%~nxI &\
|
||||
$(BINDIR)\xmllint.exe %%I > $(XML_SRCDIR)\result\%%~nxI && \
|
||||
findstr /C:"MEMORY ALLOCATED" .memdump | findstr /C:"MEMORY ALLOCATED : 0" > null \
|
||||
) ELSE ( \
|
||||
$(BINDIR)\xmllint.exe %%I 2>&1 > result.%%~nxI && \
|
||||
findstr /C:"MEMORY ALLOC" .memdump | findstr /C:"MEMORY ALLOCATED : 0" > null && \
|
||||
fc $(XML_SRCDIR)\result\%%~nxI result.%%~nxI > null && \
|
||||
$(BINDIR)\xmllint.exe result.%%~nxI 2>&1 > result2.%%~nxI | findstr /V /C:"failed to load external entity" && \
|
||||
fc result.%%~nxI result2.%%~nxI & \
|
||||
del result.%%~nxI result2.%%~nxI\
|
||||
) \
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-226
@@ -1,226 +0,0 @@
|
||||
|
||||
Windows port
|
||||
============
|
||||
|
||||
This directory contains the files required to build this software on the
|
||||
native Windows platform. This is not a place to look for help if you are
|
||||
using a POSIX emulator, such as Cygwin. Check the Unix instructions for
|
||||
that.
|
||||
|
||||
|
||||
|
||||
CONTENTS
|
||||
========
|
||||
|
||||
1. General
|
||||
1.1 Building From the Command-Line
|
||||
1.2 Configuring The Source
|
||||
1.3 Compiling
|
||||
1.4 Installing
|
||||
|
||||
2. Compiler Specifics
|
||||
2.1 Microsoft Visual C/C++
|
||||
2.1 GNU C/C++, Mingw Edition
|
||||
2.2 Borland C++ Builder
|
||||
2.2.1 Building with iconv support
|
||||
2.2.2 Compatability problems with MSVC (and probably CYGWIN)
|
||||
2.2.3 Other caveats
|
||||
|
||||
|
||||
|
||||
|
||||
1. General
|
||||
==========
|
||||
|
||||
|
||||
1.1 Building From The Command-Line
|
||||
----------------------------------
|
||||
|
||||
This is the easiest, preferred and currently supported method. It can
|
||||
be that a subdirectory of the directory where this file resides
|
||||
contains project files for some IDE. If you want to use that, please
|
||||
refer to the readme file within that subdirectory.
|
||||
|
||||
In order to build from the command-line you need to make sure that
|
||||
your compiler works from the command line. This is not always the
|
||||
case, often the required environment variables are missing. If you are
|
||||
not sure, test if this works first. If it doesn't, you will first have
|
||||
to configure your compiler suite to run from the command-line - please
|
||||
refer to your compiler's documentation regarding that.
|
||||
|
||||
The first thing you want to do is configure the source. You can have
|
||||
the configuration script do this automatically for you. The
|
||||
configuration script is written in JScript, a Microsoft's
|
||||
implementation of the ECMA scripting language. Almost every Windows
|
||||
machine can execute this through the Windows Scripting Host. If your
|
||||
system lacks the ability to execute JScript for some reason, you must
|
||||
perform the configuration manually and you are on your own with that.
|
||||
|
||||
The second step is compiling the source and, optionally, installing it
|
||||
to the location of your choosing.
|
||||
|
||||
|
||||
1.2 Configuring The Source
|
||||
--------------------------
|
||||
|
||||
The configuration script accepts numerous options. Some of these
|
||||
affect features which will be available in the compiled software,
|
||||
others affect the way the software is built and installed. To see a
|
||||
full list of options supported by the configuration script, run
|
||||
|
||||
cscript configure.js help
|
||||
|
||||
from the win32 subdirectory. The configuration script will present you
|
||||
the options it accepts and give a biref explanation of these. In every
|
||||
case you will have two sets of options. The first set is specific to
|
||||
the software you are building and the second one is specific to the
|
||||
Windows port.
|
||||
|
||||
Once you have decided which options suit you, run the script with that
|
||||
options. Here is an example:
|
||||
|
||||
cscript configure.js compiler=msvc prefix=c:\opt
|
||||
include=c:\opt\include lib=c:\opt\lib debug=yes
|
||||
|
||||
The previous example will configure the process to use the Microsoft's
|
||||
compiler, install the library in c:\opt, use c:\opt\include and
|
||||
c:\opt\lib as additional search paths for the compiler and the linker
|
||||
and build executables with debug symbols.
|
||||
|
||||
Note: Please do not use path names which contain spaces. This will
|
||||
fail. Allowing this would require me to put almost everything in the
|
||||
Makefile in quotas and that looks quite ugly with my
|
||||
syntax-highlighting engine. If you absolutely must use spaces in paths
|
||||
send me an email and tell me why. If there are enough of you out there
|
||||
who need this, or if a single one has a very good reason, I will
|
||||
modify the Makefile to allow spaces in paths.
|
||||
|
||||
|
||||
1.3 Compiling
|
||||
-------------
|
||||
|
||||
After the configuration stage has been completed, you want to build
|
||||
the software. You will have to use the make tool which comes with
|
||||
your compiler. If you, for example, configured the source to build
|
||||
with Microsoft's MSVC compiler, you would use the NMAKE utility. If
|
||||
you configured it to build with GNU C compiler, mingw edition, you
|
||||
would use the GNU make. Assuming you use MSVC, type
|
||||
|
||||
nmake /f Makefile.msvc
|
||||
|
||||
and if you use MinGW, you would type
|
||||
|
||||
make -f Makefile.mingw
|
||||
|
||||
and if you use Borland's compiler, you would type
|
||||
|
||||
bmake -f Makefile.bcb
|
||||
|
||||
in the win32 subdirectory. When the building completes, you will find
|
||||
the executable files in win32\bin.* directory, where * stands for the
|
||||
name of the compiler you have used.
|
||||
|
||||
|
||||
1.4 Installing
|
||||
--------------
|
||||
|
||||
You can install the software into the directory you specified to the
|
||||
configure script during the configure stage by typing (with MSVC in
|
||||
this example)
|
||||
|
||||
nmake /f Makefile.msvc install
|
||||
|
||||
That would be it, enjoy.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
2. Compiler Specifics
|
||||
=====================
|
||||
|
||||
|
||||
2.1 Microsoft Visual C/C++
|
||||
--------------------------
|
||||
|
||||
If you use the compiler which comes with Visual Studio .NET, note that
|
||||
it will link to its own C-runtime named msvcr70.dll or msvcr71.dll. This
|
||||
file is not available on any machine which doesn't have Visual Studio
|
||||
.NET installed.
|
||||
|
||||
|
||||
2.2 GNU C/C++, Mingw edition
|
||||
----------------------------
|
||||
|
||||
When specifying paths to configure.js, please use slashes instead of
|
||||
backslashes for directory separation. Sometimes Mingw needs this. If
|
||||
this is the case, and you specify backslashes, then the compiler will
|
||||
complain about not finding necessary header files.
|
||||
|
||||
|
||||
2.2 Borland C++ Builder
|
||||
-----------------------
|
||||
|
||||
To compile libxml2 with the BCB6 compiler and associated tools, just follow
|
||||
the basic instructions found in this file file. Be sure to specify
|
||||
the "compiler=bcb" option when running the configure script. To compile the
|
||||
library and test programs, just type
|
||||
|
||||
make -fMakefile.bcb
|
||||
|
||||
That should be all that's required. But there are a few other things to note:
|
||||
|
||||
2.2.1 Building with iconv support
|
||||
|
||||
If you configure libxml2 to include iconv support, you will obviously need to
|
||||
obtain the iconv library and include files. To get them, just follow the links
|
||||
at http://www.gnu.org/software/libiconv/ - there are pre-compiled Win32
|
||||
versions available, but note that these where built with MSVC. Hence the
|
||||
supplied import library is in COFF format rather than OMF format. You can
|
||||
convert this library by using Borland's COFF2OMF utility, or use IMPLIB to
|
||||
build a new import library from the DLL. Alternatively, it is possible to
|
||||
obtain the iconv source, and build the DLL using the Borland compiler.
|
||||
|
||||
There is a minor problem with the header files for iconv - they expect a
|
||||
macro named "EILSEQ" in errno.h, but this is not defined in the Borland
|
||||
headers, and its absence can cause problems. To circumvent this problem, I
|
||||
define EILSEQ=2 in Makefile.bcb. The value "2" is the value for ENOFILE (file
|
||||
not found). This should not have any disastrous side effects beyond possibly
|
||||
displaying a misleading error message in certain situations.
|
||||
|
||||
2.2.2 Compatability problems with MSVC (and probably CYGWIN)
|
||||
|
||||
A libxml2 DLL generated by BCB is callable from MSVC programs, but there is a
|
||||
minor problem with the names of the symbols exported from the library. The
|
||||
Borland compiler, by default, prepends an underscore character to global
|
||||
identifiers (functions and global variables) when generating object files.
|
||||
Hence the function "xmlAddChild" is added to the DLL with the name
|
||||
"_xmlAddChild". The MSVC compiler does not have this behaviour, and looks for
|
||||
the unadorned name. I currently circumvent this problem by writing a .def file
|
||||
which causes BOTH the adorned and unadorned names to be exported from the DLL.
|
||||
This behaviour may not be supported in the future.
|
||||
|
||||
An even worse problem is that of generating an import library for the DLL. The
|
||||
Borland-generated DLL is in OMF format. MSVC expects libraries in COFF format,
|
||||
but they don't provide a "OMF2COFF" utility, or even the equivalent of
|
||||
Borland's IMPLIB utility. But it is possible to create an import lib from the
|
||||
.def file, using the command:
|
||||
LIB /DEF:libxml2.def
|
||||
|
||||
If you don't have the .def file, it's possible to create one manually. Use
|
||||
DUMPBIN /EXPORTS /OUT:libxml2.tmp libxml2.dll to get a list of the exported
|
||||
names, and edit this into .def file format.
|
||||
|
||||
A similar problem is likely with Cygwin.
|
||||
|
||||
2.2.3 Other caveats
|
||||
|
||||
We have tested this only with BCB6, Professional Edition, and BCB 5.5 free
|
||||
command-line tools.
|
||||
|
||||
|
||||
|
||||
Authors: Igor Zlatkovic <[email protected]>
|
||||
Eric Zurcher <[email protected]>
|
||||
|
||||
|
||||
-662
@@ -1,662 +0,0 @@
|
||||
/* Configure script for libxml, specific for Windows with Scripting Host.
|
||||
*
|
||||
* This script will configure the libxml build process and create necessary files.
|
||||
* Run it with an 'help', or an invalid option and it will tell you what options
|
||||
* it accepts.
|
||||
*
|
||||
* March 2002, Igor Zlatkovic <[email protected]>
|
||||
*/
|
||||
|
||||
/* The source directory, relative to the one where this file resides. */
|
||||
var srcDirXml = "..";
|
||||
var srcDirUtils = "..";
|
||||
/* Base name of what we are building. */
|
||||
var baseName = "libxml2";
|
||||
/* Configure file which contains the version and the output file where
|
||||
we can store our build configuration. */
|
||||
var configFile = srcDirXml + "\\configure.in";
|
||||
var versionFile = ".\\config.msvc";
|
||||
/* Input and output files regarding the libxml features. */
|
||||
var optsFileIn = srcDirXml + "\\include\\libxml\\xmlversion.h.in";
|
||||
var optsFile = srcDirXml + "\\include\\libxml\\xmlversion.h";
|
||||
/* Version strings for the binary distribution. Will be filled later
|
||||
in the code. */
|
||||
var verMajor;
|
||||
var verMinor;
|
||||
var verMicro;
|
||||
var verMicroSuffix;
|
||||
var verCvs;
|
||||
var useCvsVer = true;
|
||||
/* Libxml features. */
|
||||
var withTrio = false;
|
||||
var withThreads = "native";
|
||||
var withFtp = true;
|
||||
var withHttp = true;
|
||||
var withHtml = true;
|
||||
var withC14n = true;
|
||||
var withCatalog = true;
|
||||
var withDocb = true;
|
||||
var withXpath = true;
|
||||
var withXptr = true;
|
||||
var withXinclude = true;
|
||||
var withIconv = true;
|
||||
var withIso8859x = false;
|
||||
var withZlib = false;
|
||||
var withDebug = true;
|
||||
var withMemDebug = false;
|
||||
var withSchemas = true;
|
||||
var withRegExps = true;
|
||||
var withModules = true;
|
||||
var withTree = true;
|
||||
var withReader = true;
|
||||
var withWriter = true;
|
||||
var withWalker = true;
|
||||
var withPattern = true;
|
||||
var withPush = true;
|
||||
var withValid = true;
|
||||
var withSax1 = true;
|
||||
var withLegacy = true;
|
||||
var withOutput = true;
|
||||
var withPython = false;
|
||||
/* Win32 build options. */
|
||||
var dirSep = "\\";
|
||||
var compiler = "msvc";
|
||||
var cruntime = "/MD";
|
||||
var dynruntime = true;
|
||||
var buildDebug = 0;
|
||||
var buildStatic = 0;
|
||||
var buildPrefix = ".";
|
||||
var buildBinPrefix = "";
|
||||
var buildIncPrefix = "";
|
||||
var buildLibPrefix = "";
|
||||
var buildSoPrefix = "";
|
||||
var buildInclude = ".";
|
||||
var buildLib = ".";
|
||||
/* Local stuff */
|
||||
var error = 0;
|
||||
|
||||
/* Helper function, transforms the option variable into the 'Enabled'
|
||||
or 'Disabled' string. */
|
||||
function boolToStr(opt)
|
||||
{
|
||||
if (opt == false)
|
||||
return "no";
|
||||
else if (opt == true)
|
||||
return "yes";
|
||||
error = 1;
|
||||
return "*** undefined ***";
|
||||
}
|
||||
|
||||
/* Helper function, transforms the argument string into a boolean
|
||||
value. */
|
||||
function strToBool(opt)
|
||||
{
|
||||
if (opt == 0 || opt == "no")
|
||||
return false;
|
||||
else if (opt == 1 || opt == "yes")
|
||||
return true;
|
||||
error = 1;
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Displays the details about how to use this script. */
|
||||
function usage()
|
||||
{
|
||||
var txt;
|
||||
txt = "Usage:\n";
|
||||
txt += " cscript " + WScript.ScriptName + " <options>\n";
|
||||
txt += " cscript " + WScript.ScriptName + " help\n\n";
|
||||
txt += "Options can be specified in the form <option>=<value>, where the value is\n";
|
||||
txt += "either 'yes' or 'no', if not stated otherwise.\n\n";
|
||||
txt += "\nXML processor options, default value given in parentheses:\n\n";
|
||||
txt += " trio: Enable TRIO string manipulator (" + (withTrio? "yes" : "no") + ")\n";
|
||||
txt += " threads: Enable thread safety [no|ctls|native|posix] (" + (withThreads) + ") \n";
|
||||
txt += " ftp: Enable FTP client (" + (withFtp? "yes" : "no") + ")\n";
|
||||
txt += " http: Enable HTTP client (" + (withHttp? "yes" : "no") + ")\n";
|
||||
txt += " html: Enable HTML processor (" + (withHtml? "yes" : "no") + ")\n";
|
||||
txt += " c14n: Enable C14N support (" + (withC14n? "yes" : "no") + ")\n";
|
||||
txt += " catalog: Enable catalog support (" + (withCatalog? "yes" : "no") + ")\n";
|
||||
txt += " docb: Enable DocBook support (" + (withDocb? "yes" : "no") + ")\n";
|
||||
txt += " xpath: Enable XPath support (" + (withXpath? "yes" : "no") + ")\n";
|
||||
txt += " xptr: Enable XPointer support (" + (withXptr? "yes" : "no") + ")\n";
|
||||
txt += " xinclude: Enable XInclude support (" + (withXinclude? "yes" : "no") + ")\n";
|
||||
txt += " iconv: Enable iconv support (" + (withIconv? "yes" : "no") + ")\n";
|
||||
txt += " iso8859x: Enable ISO8859X support (" + (withIso8859x? "yes" : "no") + ")\n";
|
||||
txt += " zlib: Enable zlib support (" + (withZlib? "yes" : "no") + ")\n";
|
||||
txt += " xml_debug: Enable XML debbugging module (" + (withDebug? "yes" : "no") + ")\n";
|
||||
txt += " mem_debug: Enable memory debugger (" + (withMemDebug? "yes" : "no") + ")\n";
|
||||
txt += " regexps: Enable regular expressions (" + (withRegExps? "yes" : "no") + ")\n";
|
||||
txt += " modules: Enable module support (" + (withModules? "yes" : "no") + ")\n";
|
||||
txt += " tree: Enable tree api (" + (withTree? "yes" : "no") + ")\n";
|
||||
txt += " reader: Enable xmlReader api (" + (withReader? "yes" : "no") + ")\n";
|
||||
txt += " writer: Enable xmlWriter api (" + (withWriter? "yes" : "no") + ")\n";
|
||||
txt += " walker: Enable xmlDocWalker api (" + (withWalker? "yes" : "no") + ")\n";
|
||||
txt += " pattern: Enable xmlPattern api (" + (withPattern? "yes" : "no") + ")\n";
|
||||
txt += " push: Enable push api (" + (withPush? "yes" : "no") + ")\n";
|
||||
txt += " valid: Enable DTD validation support (" + (withValid? "yes" : "no") + ")\n";
|
||||
txt += " sax1: Enable SAX1 api (" + (withSax1? "yes" : "no") + ")\n";
|
||||
txt += " legacy: Enable Deprecated api's (" + (withLegacy? "yes" : "no") + ")\n";
|
||||
txt += " output: Enable serialization support (" + (withOutput? "yes" : "no") + ")\n";
|
||||
txt += " schemas: Enable XML Schema support (" + (withSchemas? "yes" : "no") + ")\n";
|
||||
txt += " python: Build Python bindings (" + (withPython? "yes" : "no") + ")\n";
|
||||
txt += "\nWin32 build options, default value given in parentheses:\n\n";
|
||||
txt += " compiler: Compiler to be used [msvc|mingw|bcb] (" + compiler + ")\n";
|
||||
txt += " cruntime: C-runtime compiler option (only msvc) (" + cruntime + ")\n";
|
||||
txt += " dynruntime: Use the dynamic RTL (only bcb) (" + dynruntime + ")\n";
|
||||
txt += " debug: Build unoptimised debug executables (" + (buildDebug? "yes" : "no") + ")\n";
|
||||
txt += " static: Link xmllint statically to libxml2 (" + (buildStatic? "yes" : "no") + ")\n";
|
||||
txt += " Note: automatically enabled if cruntime is not /MD or /MDd\n";
|
||||
txt += " prefix: Base directory for the installation (" + buildPrefix + ")\n";
|
||||
txt += " bindir: Directory where xmllint and friends should be installed\n";
|
||||
txt += " (" + buildBinPrefix + ")\n";
|
||||
txt += " incdir: Directory where headers should be installed\n";
|
||||
txt += " (" + buildIncPrefix + ")\n";
|
||||
txt += " libdir: Directory where static and import libraries should be\n";
|
||||
txt += " installed (" + buildLibPrefix + ")\n";
|
||||
txt += " sodir: Directory where shared libraries should be installed\n";
|
||||
txt += " (" + buildSoPrefix + ")\n";
|
||||
txt += " include: Additional search path for the compiler, particularily\n";
|
||||
txt += " where iconv headers can be found (" + buildInclude + ")\n";
|
||||
txt += " lib: Additional search path for the linker, particularily\n";
|
||||
txt += " where iconv library can be found (" + buildLib + ")\n";
|
||||
WScript.Echo(txt);
|
||||
}
|
||||
|
||||
/* Discovers the version we are working with by reading the apropriate
|
||||
configuration file. Despite its name, this also writes the configuration
|
||||
file included by our makefile. */
|
||||
function discoverVersion()
|
||||
{
|
||||
var fso, cf, vf, ln, s, iDot, iSlash;
|
||||
fso = new ActiveXObject("Scripting.FileSystemObject");
|
||||
verCvs = "";
|
||||
if (useCvsVer && fso.FileExists("..\\CVS\\Entries")) {
|
||||
cf = fso.OpenTextFile("..\\CVS\\Entries", 1);
|
||||
while (cf.AtEndOfStream != true) {
|
||||
ln = cf.ReadLine();
|
||||
s = new String(ln);
|
||||
if (s.search(/^\/ChangeLog\//) != -1) {
|
||||
iDot = s.indexOf(".");
|
||||
iSlash = s.indexOf("/", iDot);
|
||||
verCvs = "CVS" + s.substring(iDot + 1, iSlash);
|
||||
break;
|
||||
}
|
||||
}
|
||||
cf.Close();
|
||||
}
|
||||
cf = fso.OpenTextFile(configFile, 1);
|
||||
if (compiler == "msvc")
|
||||
versionFile = ".\\config.msvc";
|
||||
else if (compiler == "mingw")
|
||||
versionFile = ".\\config.mingw";
|
||||
else if (compiler == "bcb")
|
||||
versionFile = ".\\config.bcb";
|
||||
vf = fso.CreateTextFile(versionFile, true);
|
||||
vf.WriteLine("# " + versionFile);
|
||||
vf.WriteLine("# This file is generated automatically by " + WScript.ScriptName + ".");
|
||||
vf.WriteBlankLines(1);
|
||||
while (cf.AtEndOfStream != true) {
|
||||
ln = cf.ReadLine();
|
||||
s = new String(ln);
|
||||
if (s.search(/^LIBXML_MAJOR_VERSION=/) != -1) {
|
||||
vf.WriteLine(s);
|
||||
verMajor = s.substring(s.indexOf("=") + 1, s.length)
|
||||
} else if(s.search(/^LIBXML_MINOR_VERSION=/) != -1) {
|
||||
vf.WriteLine(s);
|
||||
verMinor = s.substring(s.indexOf("=") + 1, s.length)
|
||||
} else if(s.search(/^LIBXML_MICRO_VERSION=/) != -1) {
|
||||
vf.WriteLine(s);
|
||||
verMicro = s.substring(s.indexOf("=") + 1, s.length)
|
||||
} else if(s.search(/^LIBXML_MICRO_VERSION_SUFFIX=/) != -1) {
|
||||
vf.WriteLine(s);
|
||||
verMicroSuffix = s.substring(s.indexOf("=") + 1, s.length)
|
||||
}
|
||||
}
|
||||
cf.Close();
|
||||
vf.WriteLine("XML_SRCDIR=" + srcDirXml);
|
||||
vf.WriteLine("UTILS_SRCDIR=" + srcDirUtils);
|
||||
vf.WriteLine("WITH_TRIO=" + (withTrio? "1" : "0"));
|
||||
vf.WriteLine("WITH_THREADS=" + withThreads);
|
||||
vf.WriteLine("WITH_FTP=" + (withFtp? "1" : "0"));
|
||||
vf.WriteLine("WITH_HTTP=" + (withHttp? "1" : "0"));
|
||||
vf.WriteLine("WITH_HTML=" + (withHtml? "1" : "0"));
|
||||
vf.WriteLine("WITH_C14N=" + (withC14n? "1" : "0"));
|
||||
vf.WriteLine("WITH_CATALOG=" + (withCatalog? "1" : "0"));
|
||||
vf.WriteLine("WITH_DOCB=" + (withDocb? "1" : "0"));
|
||||
vf.WriteLine("WITH_XPATH=" + (withXpath? "1" : "0"));
|
||||
vf.WriteLine("WITH_XPTR=" + (withXptr? "1" : "0"));
|
||||
vf.WriteLine("WITH_XINCLUDE=" + (withXinclude? "1" : "0"));
|
||||
vf.WriteLine("WITH_ICONV=" + (withIconv? "1" : "0"));
|
||||
vf.WriteLine("WITH_ISO8859X=" + (withIso8859x? "1" : "0"));
|
||||
vf.WriteLine("WITH_ZLIB=" + (withZlib? "1" : "0"));
|
||||
vf.WriteLine("WITH_DEBUG=" + (withDebug? "1" : "0"));
|
||||
vf.WriteLine("WITH_MEM_DEBUG=" + (withMemDebug? "1" : "0"));
|
||||
vf.WriteLine("WITH_SCHEMAS=" + (withSchemas? "1" : "0"));
|
||||
vf.WriteLine("WITH_REGEXPS=" + (withRegExps? "1" : "0"));
|
||||
vf.WriteLine("WITH_MODULES=" + (withModules? "1" : "0"));
|
||||
vf.WriteLine("WITH_TREE=" + (withTree? "1" : "0"));
|
||||
vf.WriteLine("WITH_READER=" + (withReader? "1" : "0"));
|
||||
vf.WriteLine("WITH_WRITER=" + (withWriter? "1" : "0"));
|
||||
vf.WriteLine("WITH_WALKER=" + (withWalker? "1" : "0"));
|
||||
vf.WriteLine("WITH_PATTERN=" + (withPattern? "1" : "0"));
|
||||
vf.WriteLine("WITH_PUSH=" + (withPush? "1" : "0"));
|
||||
vf.WriteLine("WITH_VALID=" + (withValid? "1" : "0"));
|
||||
vf.WriteLine("WITH_SAX1=" + (withSax1? "1" : "0"));
|
||||
vf.WriteLine("WITH_LEGACY=" + (withLegacy? "1" : "0"));
|
||||
vf.WriteLine("WITH_OUTPUT=" + (withOutput? "1" : "0"));
|
||||
vf.WriteLine("WITH_PYTHON=" + (withPython? "1" : "0"));
|
||||
vf.WriteLine("DEBUG=" + (buildDebug? "1" : "0"));
|
||||
vf.WriteLine("STATIC=" + (buildStatic? "1" : "0"));
|
||||
vf.WriteLine("PREFIX=" + buildPrefix);
|
||||
vf.WriteLine("BINPREFIX=" + buildBinPrefix);
|
||||
vf.WriteLine("INCPREFIX=" + buildIncPrefix);
|
||||
vf.WriteLine("LIBPREFIX=" + buildLibPrefix);
|
||||
vf.WriteLine("SOPREFIX=" + buildSoPrefix);
|
||||
if (compiler == "msvc") {
|
||||
vf.WriteLine("INCLUDE=$(INCLUDE);" + buildInclude);
|
||||
vf.WriteLine("LIB=$(LIB);" + buildLib);
|
||||
vf.WriteLine("CRUNTIME=" + cruntime);
|
||||
} else if (compiler == "mingw") {
|
||||
vf.WriteLine("INCLUDE+=;" + buildInclude);
|
||||
vf.WriteLine("LIB+=;" + buildLib);
|
||||
} else if (compiler == "bcb") {
|
||||
vf.WriteLine("INCLUDE=" + buildInclude);
|
||||
vf.WriteLine("LIB=" + buildLib);
|
||||
vf.WriteLine("DYNRUNTIME=" + (dynruntime? "1" : "0"));
|
||||
}
|
||||
vf.Close();
|
||||
}
|
||||
|
||||
/* Configures libxml. This one will generate xmlversion.h from xmlversion.h.in
|
||||
taking what the user passed on the command line into account. */
|
||||
function configureLibxml()
|
||||
{
|
||||
var fso, ofi, of, ln, s;
|
||||
fso = new ActiveXObject("Scripting.FileSystemObject");
|
||||
ofi = fso.OpenTextFile(optsFileIn, 1);
|
||||
of = fso.CreateTextFile(optsFile, true);
|
||||
while (ofi.AtEndOfStream != true) {
|
||||
ln = ofi.ReadLine();
|
||||
s = new String(ln);
|
||||
if (s.search(/\@VERSION\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@VERSION\@/,
|
||||
verMajor + "." + verMinor + "." + verMicro + verMicroSuffix));
|
||||
} else if (s.search(/\@LIBXML_VERSION_NUMBER\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@LIBXML_VERSION_NUMBER\@/,
|
||||
verMajor*10000 + verMinor*100 + verMicro*1));
|
||||
} else if (s.search(/\@LIBXML_VERSION_EXTRA\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@LIBXML_VERSION_EXTRA\@/, verCvs));
|
||||
} else if (s.search(/\@WITH_TRIO\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_TRIO\@/, withTrio? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_THREADS\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_THREADS\@/, withThreads == "no"? "0" : "1"));
|
||||
} else if (s.search(/\@WITH_FTP\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_FTP\@/, withFtp? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_HTTP\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_HTTP\@/, withHttp? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_HTML\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_HTML\@/, withHtml? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_C14N\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_C14N\@/, withC14n? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_CATALOG\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_CATALOG\@/, withCatalog? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_DOCB\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_DOCB\@/, withDocb? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_XPATH\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_XPATH\@/, withXpath? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_XPTR\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_XPTR\@/, withXptr? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_XINCLUDE\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_XINCLUDE\@/, withXinclude? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_ICONV\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_ICONV\@/, withIconv? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_ISO8859X\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_ISO8859X\@/, withIso8859x? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_ZLIB\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_ZLIB\@/, withZlib? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_DEBUG\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_DEBUG\@/, withDebug? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_MEM_DEBUG\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_MEM_DEBUG\@/, withMemDebug? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_SCHEMAS\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_SCHEMAS\@/, withSchemas? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_REGEXPS\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_REGEXPS\@/, withRegExps? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_MODULES\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_MODULES\@/, withModules? "1" : "0"));
|
||||
} else if (s.search(/\@MODULE_EXTENSION\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@MODULE_EXTENSION\@/, ".dll"));
|
||||
} else if (s.search(/\@WITH_TREE\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_TREE\@/, withTree? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_READER\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_READER\@/, withReader? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_WRITER\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_WRITER\@/, withWriter? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_WALKER\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_WALKER\@/, withWalker? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_PATTERN\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_PATTERN\@/, withPattern? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_PUSH\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_PUSH\@/, withPush? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_VALID\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_VALID\@/, withValid? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_SAX1\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_SAX1\@/, withSax1? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_LEGACY\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_LEGACY\@/, withLegacy? "1" : "0"));
|
||||
} else if (s.search(/\@WITH_OUTPUT\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_OUTPUT\@/, withOutput? "1" : "0"));
|
||||
} else
|
||||
of.WriteLine(ln);
|
||||
}
|
||||
ofi.Close();
|
||||
of.Close();
|
||||
}
|
||||
/* Configures Python bindings. Otherwise identical to the above */
|
||||
function configureLibxmlPy()
|
||||
{
|
||||
var pyOptsFileIn = srcDirXml + "\\python\\setup.py.in";
|
||||
var pyOptsFile = srcDirXml + "\\python\\setup.py";
|
||||
var fso, ofi, of, ln, s;
|
||||
fso = new ActiveXObject("Scripting.FileSystemObject");
|
||||
ofi = fso.OpenTextFile(pyOptsFileIn, 1);
|
||||
of = fso.CreateTextFile(pyOptsFile, true);
|
||||
while (ofi.AtEndOfStream != true) {
|
||||
ln = ofi.ReadLine();
|
||||
s = new String(ln);
|
||||
if (s.search(/\@LIBXML_VERSION\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@LIBXML_VERSION\@/,
|
||||
verMajor + "." + verMinor + "." + verMicro));
|
||||
} else if (s.search(/\@prefix\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@prefix\@/, buildPrefix));
|
||||
} else if (s.search(/\@WITH_THREADS\@/) != -1) {
|
||||
of.WriteLine(s.replace(/\@WITH_THREADS\@/, withThreads == "no"? "0" : "1"));
|
||||
} else
|
||||
of.WriteLine(ln);
|
||||
}
|
||||
ofi.Close();
|
||||
of.Close();
|
||||
}
|
||||
|
||||
/* Creates the readme file for the binary distribution of 'bname', for the
|
||||
version 'ver' in the file 'file'. This one is called from the Makefile when
|
||||
generating a binary distribution. The parameters are passed by make. */
|
||||
function genReadme(bname, ver, file)
|
||||
{
|
||||
var fso, f;
|
||||
fso = new ActiveXObject("Scripting.FileSystemObject");
|
||||
f = fso.CreateTextFile(file, true);
|
||||
f.WriteLine(" " + bname + " " + ver);
|
||||
f.WriteLine(" --------------");
|
||||
f.WriteBlankLines(1);
|
||||
f.WriteLine(" This is " + bname + ", version " + ver + ", binary package for the native Win32/IA32");
|
||||
f.WriteLine("platform.");
|
||||
f.WriteBlankLines(1);
|
||||
f.WriteLine(" The files in this package do not require any special installation");
|
||||
f.WriteLine("steps. Extract the contents of the archive whereever you wish and");
|
||||
f.WriteLine("make sure that your tools which use " + bname + " can find it.");
|
||||
f.WriteBlankLines(1);
|
||||
f.WriteLine(" For example, if you want to run the supplied utilities from the command");
|
||||
f.WriteLine("line, you can, if you wish, add the 'bin' subdirectory to the PATH");
|
||||
f.WriteLine("environment variable.");
|
||||
f.WriteLine(" If you want to make programmes in C which use " + bname + ", you'll");
|
||||
f.WriteLine("likely know how to use the contents of this package. If you don't, please");
|
||||
f.WriteLine("refer to your compiler's documentation.");
|
||||
f.WriteBlankLines(1);
|
||||
f.WriteLine(" If there is something you cannot keep for yourself, such as a problem,");
|
||||
f.WriteLine("a cheer of joy, a comment or a suggestion, feel free to contact me using");
|
||||
f.WriteLine("the address below.");
|
||||
f.WriteBlankLines(1);
|
||||
f.WriteLine(" Igor Zlatkovic ([email protected])");
|
||||
f.Close();
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* main(),
|
||||
* Execution begins here.
|
||||
*/
|
||||
|
||||
// Parse the command-line arguments.
|
||||
for (i = 0; (i < WScript.Arguments.length) && (error == 0); i++) {
|
||||
var arg, opt;
|
||||
arg = WScript.Arguments(i);
|
||||
opt = arg.substring(0, arg.indexOf("="));
|
||||
if (opt.length == 0)
|
||||
opt = arg.substring(0, arg.indexOf(":"));
|
||||
if (opt.length > 0) {
|
||||
if (opt == "trio")
|
||||
withTrio = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "threads")
|
||||
withThreads = arg.substring(opt.length + 1, arg.length);
|
||||
else if (opt == "ftp")
|
||||
withFtp = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "http")
|
||||
withHttp = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "html")
|
||||
withHtml = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "c14n")
|
||||
withC14n = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "catalog")
|
||||
withCatalog = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "docb")
|
||||
withDocb = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "xpath")
|
||||
withXpath = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "xptr")
|
||||
withXptr = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "xinclude")
|
||||
withXinclude = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "iconv")
|
||||
withIconv = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "iso8859x")
|
||||
withIso8859x = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "zlib")
|
||||
withZlib = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "xml_debug")
|
||||
withDebug = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "mem_debug")
|
||||
withMemDebug = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "schemas")
|
||||
withSchemas = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "regexps")
|
||||
withRegExps = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "tree")
|
||||
withTree = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "reader")
|
||||
withReader = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "writer")
|
||||
withWriter = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "walker")
|
||||
withWalker = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "pattern")
|
||||
withPattern = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "push")
|
||||
withPush = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "valid")
|
||||
withValid = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "sax1")
|
||||
withSax1 = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "legacy")
|
||||
withLegacy = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "output")
|
||||
withOutput = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "python")
|
||||
withPython = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "compiler")
|
||||
compiler = arg.substring(opt.length + 1, arg.length);
|
||||
else if (opt == "cruntime")
|
||||
cruntime = arg.substring(opt.length + 1, arg.length);
|
||||
else if (opt == "dynruntime")
|
||||
dynruntime = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "debug")
|
||||
buildDebug = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "static")
|
||||
buildStatic = strToBool(arg.substring(opt.length + 1, arg.length));
|
||||
else if (opt == "prefix")
|
||||
buildPrefix = arg.substring(opt.length + 1, arg.length);
|
||||
else if (opt == "incdir")
|
||||
buildIncPrefix = arg.substring(opt.length + 1, arg.length);
|
||||
else if (opt == "bindir")
|
||||
buildBinPrefix = arg.substring(opt.length + 1, arg.length);
|
||||
else if (opt == "libdir")
|
||||
buildLibPrefix = arg.substring(opt.length + 1, arg.length);
|
||||
else if (opt == "sodir")
|
||||
buildSoPrefix = arg.substring(opt.length + 1, arg.length);
|
||||
else if (opt == "incdir")
|
||||
buildIncPrefix = arg.substring(opt.length + 1, arg.length);
|
||||
else if (opt == "include")
|
||||
buildInclude = arg.substring(opt.length + 1, arg.length);
|
||||
else if (opt == "lib")
|
||||
buildLib = arg.substring(opt.length + 1, arg.length);
|
||||
else if (opt == "release")
|
||||
useCvsVer = false;
|
||||
else
|
||||
error = 1;
|
||||
} else if (i == 0) {
|
||||
if (arg == "genreadme") {
|
||||
// This command comes from the Makefile and will not be checked
|
||||
// for errors, because Makefile will always supply right the parameters.
|
||||
genReadme(WScript.Arguments(1), WScript.Arguments(2), WScript.Arguments(3));
|
||||
WScript.Quit(0);
|
||||
} else if (arg == "help") {
|
||||
usage();
|
||||
WScript.Quit(0);
|
||||
}
|
||||
|
||||
} else {
|
||||
error = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// If we fail here, it is because the user supplied an unrecognised argument.
|
||||
if (error != 0) {
|
||||
usage();
|
||||
WScript.Quit(error);
|
||||
}
|
||||
|
||||
// if user choses to link the c-runtime library statically into libxml2
|
||||
// with /MT and friends, then we need to enable static linking for xmllint
|
||||
if (cruntime == "/MT" || cruntime == "/MTd" ||
|
||||
cruntime == "/ML" || cruntime == "/MLd") {
|
||||
buildStatic = 1;
|
||||
}
|
||||
|
||||
dirSep = "\\";
|
||||
if (compiler == "mingw")
|
||||
dirSep = "/";
|
||||
if (buildBinPrefix == "")
|
||||
buildBinPrefix = "$(PREFIX)" + dirSep + "bin";
|
||||
if (buildIncPrefix == "")
|
||||
buildIncPrefix = "$(PREFIX)" + dirSep + "include";
|
||||
if (buildLibPrefix == "")
|
||||
buildLibPrefix = "$(PREFIX)" + dirSep + "lib";
|
||||
if (buildSoPrefix == "")
|
||||
buildSoPrefix = "$(PREFIX)" + dirSep + "lib";
|
||||
|
||||
// Discover the version.
|
||||
discoverVersion();
|
||||
if (error != 0) {
|
||||
WScript.Echo("Version discovery failed, aborting.");
|
||||
WScript.Quit(error);
|
||||
}
|
||||
|
||||
var outVerString = baseName + " version: " + verMajor + "." + verMinor + "." + verMicro;
|
||||
if (verMicroSuffix && verMicroSuffix != "")
|
||||
outVerString += "-" + verMicroSuffix;
|
||||
if (verCvs && verCvs != "")
|
||||
outVerString += "-" + verCvs;
|
||||
WScript.Echo(outVerString);
|
||||
|
||||
// Configure libxml.
|
||||
configureLibxml();
|
||||
if (error != 0) {
|
||||
WScript.Echo("Configuration failed, aborting.");
|
||||
WScript.Quit(error);
|
||||
}
|
||||
|
||||
if (withPython == true) {
|
||||
configureLibxmlPy();
|
||||
if (error != 0) {
|
||||
WScript.Echo("Configuration failed, aborting.");
|
||||
WScript.Quit(error);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Create the makefile.
|
||||
var fso = new ActiveXObject("Scripting.FileSystemObject");
|
||||
var makefile = ".\\Makefile.msvc";
|
||||
if (compiler == "mingw")
|
||||
makefile = ".\\Makefile.mingw";
|
||||
else if (compiler == "bcb")
|
||||
makefile = ".\\Makefile.bcb";
|
||||
fso.CopyFile(makefile, ".\\Makefile", true);
|
||||
WScript.Echo("Created Makefile.");
|
||||
// Create the config.h.
|
||||
var confighsrc = "..\\include\\win32config.h";
|
||||
var configh = "..\\config.h";
|
||||
var f = fso.FileExists(configh);
|
||||
if (f) {
|
||||
var t = fso.GetFile(configh);
|
||||
t.Attributes =0;
|
||||
}
|
||||
fso.CopyFile(confighsrc, configh, true);
|
||||
WScript.Echo("Created config.h.");
|
||||
|
||||
|
||||
// Display the final configuration.
|
||||
var txtOut = "\nXML processor configuration\n";
|
||||
txtOut += "---------------------------\n";
|
||||
txtOut += " Trio: " + boolToStr(withTrio) + "\n";
|
||||
txtOut += " Thread safety: " + withThreads + "\n";
|
||||
txtOut += " FTP client: " + boolToStr(withFtp) + "\n";
|
||||
txtOut += " HTTP client: " + boolToStr(withHttp) + "\n";
|
||||
txtOut += " HTML processor: " + boolToStr(withHtml) + "\n";
|
||||
txtOut += " C14N support: " + boolToStr(withC14n) + "\n";
|
||||
txtOut += " Catalog support: " + boolToStr(withCatalog) + "\n";
|
||||
txtOut += " DocBook support: " + boolToStr(withDocb) + "\n";
|
||||
txtOut += " XPath support: " + boolToStr(withXpath) + "\n";
|
||||
txtOut += " XPointer support: " + boolToStr(withXptr) + "\n";
|
||||
txtOut += " XInclude support: " + boolToStr(withXinclude) + "\n";
|
||||
txtOut += " iconv support: " + boolToStr(withIconv) + "\n";
|
||||
txtOut += " iso8859x support: " + boolToStr(withIso8859x) + "\n";
|
||||
txtOut += " zlib support: " + boolToStr(withZlib) + "\n";
|
||||
txtOut += " Debugging module: " + boolToStr(withDebug) + "\n";
|
||||
txtOut += " Memory debugging: " + boolToStr(withMemDebug) + "\n";
|
||||
txtOut += " Regexp support: " + boolToStr(withRegExps) + "\n";
|
||||
txtOut += " Module support: " + boolToStr(withModules) + "\n";
|
||||
txtOut += " Tree support: " + boolToStr(withTree) + "\n";
|
||||
txtOut += " Reader support: " + boolToStr(withReader) + "\n";
|
||||
txtOut += " Writer support: " + boolToStr(withWriter) + "\n";
|
||||
txtOut += " Walker support: " + boolToStr(withWalker) + "\n";
|
||||
txtOut += " Pattern support: " + boolToStr(withPattern) + "\n";
|
||||
txtOut += " Push support: " + boolToStr(withPush) + "\n";
|
||||
txtOut += "Validation support: " + boolToStr(withValid) + "\n";
|
||||
txtOut += " SAX1 support: " + boolToStr(withSax1) + "\n";
|
||||
txtOut += " Legacy support: " + boolToStr(withLegacy) + "\n";
|
||||
txtOut += " Output support: " + boolToStr(withOutput) + "\n";
|
||||
txtOut += "XML Schema support: " + boolToStr(withSchemas) + "\n";
|
||||
txtOut += " Python bindings: " + boolToStr(withPython) + "\n";
|
||||
txtOut += "\n";
|
||||
txtOut += "Win32 build configuration\n";
|
||||
txtOut += "-------------------------\n";
|
||||
txtOut += " Compiler: " + compiler + "\n";
|
||||
if (compiler == "msvc")
|
||||
txtOut += " C-Runtime option: " + cruntime + "\n";
|
||||
else if (compiler == "bcb")
|
||||
txtOut += " Use dynamic RTL: " + dynruntime + "\n";
|
||||
txtOut += " Debug symbols: " + boolToStr(buildDebug) + "\n";
|
||||
txtOut += " Static xmllint: " + boolToStr(buildStatic) + "\n";
|
||||
txtOut += " Install prefix: " + buildPrefix + "\n";
|
||||
txtOut += " Put tools in: " + buildBinPrefix + "\n";
|
||||
txtOut += " Put headers in: " + buildIncPrefix + "\n";
|
||||
txtOut += "Put static libs in: " + buildLibPrefix + "\n";
|
||||
txtOut += "Put shared libs in: " + buildSoPrefix + "\n";
|
||||
txtOut += " Include path: " + buildInclude + "\n";
|
||||
txtOut += " Lib path: " + buildLib + "\n";
|
||||
WScript.Echo(txtOut);
|
||||
|
||||
//
|
||||
|
||||
-288
@@ -1,288 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
win32/defgen.xsl
|
||||
This stylesheet is used to transform doc/libxml2-api.xml into a pseudo-source,
|
||||
which can then be preprocessed to get the .DEF file for the Microsoft's linker.
|
||||
|
||||
Use any XSLT processor to produce a file called libxml2.def.src in the win32
|
||||
subdirectory, for example, run xsltproc from the win32 subdirectory:
|
||||
|
||||
xsltproc -o libxml2.def.src defgen.xsl ../doc/libxml2-api.xml
|
||||
|
||||
Once that finishes, rest assured, the Makefile will know what to do with the
|
||||
generated file.
|
||||
|
||||
April 2003, Igor Zlatkovic <[email protected]>
|
||||
-->
|
||||
<!DOCTYPE xsl:stylesheet [ <!ENTITY nl '
'> ]>
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:strip-space elements="*"/>
|
||||
<xsl:output method="text"/>
|
||||
<xsl:template match="/">
|
||||
<xsl:text>#define LIBXML2_COMPILING_MSCCDEF&nl;</xsl:text>
|
||||
<xsl:text>#include "../include/libxml/xmlversion.h"&nl;</xsl:text>
|
||||
<xsl:text>LIBRARY libxml2&nl;</xsl:text>
|
||||
<xsl:text>EXPORTS&nl;</xsl:text>
|
||||
<xsl:for-each select="/api/symbols/*[self::variable or self::function]">
|
||||
<!-- Basic tests -->
|
||||
<xsl:if test="@file = 'c14n'">
|
||||
<xsl:text>#ifdef LIBXML_C14N_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'catalog'">
|
||||
<xsl:text>#ifdef LIBXML_CATALOG_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'debugXML'">
|
||||
<xsl:text>#ifdef LIBXML_DEBUG_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'DOCBparser'">
|
||||
<xsl:text>#ifdef LIBXML_DOCB_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@file = 'HTMLparser')
|
||||
or (@file = 'HTMLtree')">
|
||||
<xsl:text>#ifdef LIBXML_HTML_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'nanohttp'">
|
||||
<xsl:text>#ifdef LIBXML_HTTP_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'nanoftp'">
|
||||
<xsl:text>#ifdef LIBXML_FTP_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@file = 'relaxng')
|
||||
or (@file = 'xmlschemas')
|
||||
or (@file = 'xmlschemastypes')">
|
||||
<xsl:text>#ifdef LIBXML_SCHEMAS_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'xinclude'">
|
||||
<xsl:text>#ifdef LIBXML_XINCLUDE_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'xlink'">
|
||||
<xsl:text>#ifdef LIBXML_XLINK_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'xmlautomata'">
|
||||
<xsl:text>#ifdef LIBXML_AUTOMATA_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@file = 'xmlregexp')
|
||||
or (@file = 'xmlunicode')">
|
||||
<xsl:text>#ifdef LIBXML_REGEXP_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@file = 'xpath')
|
||||
or (@file = 'xpathInternals')">
|
||||
<xsl:text>#ifdef LIBXML_XPATH_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'xpointer'">
|
||||
<xsl:text>#ifdef LIBXML_XPTR_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<!-- Extended tests -->
|
||||
<xsl:if test="(@name = 'htmlDefaultSAXHandlerInit')
|
||||
or (@name = 'htmlInitAutoClose')
|
||||
or (@name = 'htmlCreateFileParserCtxt')
|
||||
or (@name = 'inithtmlDefaultSAXHandler')
|
||||
or (@name = 'xmlIsXHTML')
|
||||
or (@name = 'xmlIOHTTPOpenW')
|
||||
or (@name = 'xmlRegisterHTTPPostCallbacks')
|
||||
or (@name = 'xmlIOHTTPMatch')
|
||||
or (@name = 'xmlIOHTTPOpen')
|
||||
or (@name = 'xmlIOHTTPRead')
|
||||
or (@name = 'xmlIOHTTPClose')">
|
||||
<xsl:text>#ifdef LIBXML_HTML_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@name = 'docbDefaultSAXHandlerInit')
|
||||
or (@name = 'initdocbDefaultSAXHandler')">
|
||||
<xsl:text>#ifdef LIBXML_DOCB_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@name = 'xmlValidBuildContentModel'">
|
||||
<xsl:text>#ifdef LIBXML_REGEXP_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@name = 'xmlIOFTPMatch')
|
||||
or (@name = 'xmlIOFTPOpen')
|
||||
or (@name = 'xmlIOFTPRead')
|
||||
or (@name = 'xmlIOFTPClose')">
|
||||
<xsl:text>#ifdef LIBXML_FTP_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@name = 'xmlTextReaderRelaxNGValidate')
|
||||
or (@name = 'xmlTextReaderRelaxNGSetSchema')">
|
||||
<xsl:text>#ifdef LIBXML_SCHEMAS_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@name = 'xmlXPathDebugDumpObject')
|
||||
or (@name = 'xmlXPathDebugDumpCompExpr')">
|
||||
<xsl:text>#ifdef LIBXML_DEBUG_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@name = 'xmlMallocLoc')
|
||||
or (@name = 'xmlMallocAtomicLoc')
|
||||
or (@name = 'xmlReallocLoc')
|
||||
or (@name = 'xmlMemStrdupLoc')">
|
||||
<xsl:text>#ifdef DEBUG_MEMORY_LOCATION&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<!-- Symbol -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="(@name = 'xmlMalloc')
|
||||
or (@name = 'xmlMallocAtomic')
|
||||
or (@name = 'xmlRealloc')
|
||||
or (@name = 'xmlFree')
|
||||
or (@name = 'xmlMemStrdup')">
|
||||
<xsl:text>#ifdef LIBXML_THREAD_ALLOC_ENABLED&nl;</xsl:text>
|
||||
<xsl:text>__</xsl:text>
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:text>&nl;</xsl:text>
|
||||
<xsl:text>#else&nl;</xsl:text>
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:text> DATA&nl;</xsl:text>
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:when test="(@name = 'docbDefaultSAXHandler')
|
||||
or (@name = 'htmlDefaultSAXHandler')
|
||||
or (@name = 'oldXMLWDcompatibility')
|
||||
or (@name = 'xmlBufferAllocScheme')
|
||||
or (@name = 'xmlDefaultBufferSize')
|
||||
or (@name = 'xmlDefaultSAXHandler')
|
||||
or (@name = 'xmlDefaultSAXLocator')
|
||||
or (@name = 'xmlDoValidityCheckingDefaultValue')
|
||||
or (@name = 'xmlGenericError')
|
||||
or (@name = 'xmlGenericErrorContext')
|
||||
or (@name = 'xmlGetWarningsDefaultValue')
|
||||
or (@name = 'xmlIndentTreeOutput')
|
||||
or (@name = 'xmlTreeIndentString')
|
||||
or (@name = 'xmlKeepBlanksDefaultValue')
|
||||
or (@name = 'xmlLineNumbersDefaultValue')
|
||||
or (@name = 'xmlLoadExtDtdDefaultValue')
|
||||
or (@name = 'xmlParserDebugEntities')
|
||||
or (@name = 'xmlParserVersion')
|
||||
or (@name = 'xmlPedanticParserDefaultValue')
|
||||
or (@name = 'xmlSaveNoEmptyTags')
|
||||
or (@name = 'xmlSubstituteEntitiesDefaultValue')
|
||||
or (@name = 'xmlRegisterNodeDefaultValue')
|
||||
or (@name = 'xmlDeregisterNodeDefaultValue')">
|
||||
<xsl:text>#ifdef LIBXML_THREAD_ENABLED&nl;</xsl:text>
|
||||
<xsl:if test="@name = 'docbDefaultSAXHandler'">
|
||||
<xsl:text>#ifdef LIBXML_DOCB_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@name = 'htmlDefaultSAXHandler'">
|
||||
<xsl:text>#ifdef LIBXML_HTML_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:text>__</xsl:text>
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:text>&nl;</xsl:text>
|
||||
<xsl:if test="@name = 'docbDefaultSAXHandler'">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@name = 'htmlDefaultSAXHandler'">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:text>#else&nl;</xsl:text>
|
||||
<xsl:if test="@name = 'docbDefaultSAXHandler'">
|
||||
<xsl:text>#ifdef LIBXML_DOCB_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@name = 'htmlDefaultSAXHandler'">
|
||||
<xsl:text>#ifdef LIBXML_HTML_ENABLED&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:text> DATA&nl;</xsl:text>
|
||||
<xsl:if test="@name = 'docbDefaultSAXHandler'">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@name = 'htmlDefaultSAXHandler'">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="@name"/>
|
||||
<xsl:if test="self::variable">
|
||||
<xsl:text> DATA</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:text>&nl;</xsl:text>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<!-- Basic tests (close) -->
|
||||
<xsl:if test="@file = 'c14n'">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'catalog'">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'debugXML'">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'DOCBparser'">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@file = 'HTMLparser')
|
||||
or (@file = 'HTMLtree')">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'nanohttp'">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'nanoftp'">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@file = 'relaxng')
|
||||
or (@file = 'xmlschemas')
|
||||
or (@file = 'xmlschemastypes')">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'xinclude'">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'xlink'">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'xmlautomata'">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@file = 'xmlregexp')
|
||||
or (@file = 'xmlunicode')">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@file = 'xpath')
|
||||
or (@file = 'xpathInternals')">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@file = 'xpointer'">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<!-- Extended tests (close) -->
|
||||
<xsl:if test="(@name = 'htmlDefaultSAXHandlerInit')
|
||||
or (@name = 'htmlInitAutoClose')
|
||||
or (@name = 'htmlCreateFileParserCtxt')
|
||||
or (@name = 'inithtmlDefaultSAXHandler')
|
||||
or (@name = 'xmlIsXHTML')
|
||||
or (@name = 'xmlIOHTTPOpenW')
|
||||
or (@name = 'xmlRegisterHTTPPostCallbacks')
|
||||
or (@name = 'xmlIOHTTPMatch')
|
||||
or (@name = 'xmlIOHTTPOpen')
|
||||
or (@name = 'xmlIOHTTPRead')
|
||||
or (@name = 'xmlIOHTTPClose')">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@name = 'docbDefaultSAXHandlerInit')
|
||||
or (@name = 'initdocbDefaultSAXHandler')">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="@name = 'xmlValidBuildContentModel'">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@name = 'xmlIOFTPMatch')
|
||||
or (@name = 'xmlIOFTPOpen')
|
||||
or (@name = 'xmlIOFTPRead')
|
||||
or (@name = 'xmlIOFTPClose')">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@name = 'xmlTextReaderRelaxNGValidate')
|
||||
or (@name = 'xmlTextReaderRelaxNGSetSchema')">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@name = 'xmlXPathDebugDumpObject')
|
||||
or (@name = 'xmlXPathDebugDumpCompExpr')">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="(@name = 'xmlMallocLoc')
|
||||
or (@name = 'xmlMallocAtomicLoc')
|
||||
or (@name = 'xmlReallocLoc')
|
||||
or (@name = 'xmlMemStrdupLoc')">
|
||||
<xsl:text>#endif&nl;</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
|
||||
-3024
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
Microsoft C/C++ program database 2.00
|
||||
@@ -1,122 +0,0 @@
|
||||
<html>
|
||||
<body>
|
||||
<pre>
|
||||
<h1>Build Log</h1>
|
||||
<h3>
|
||||
--------------------Configuration: libxml2 - Win32 (WCE x86em) Debug--------------------
|
||||
</h3>
|
||||
<h3>Command Lines</h3>
|
||||
Creating temporary file "C:\DOCUME~1\fjvg\CONFIG~1\Temp\RSP12E.tmp" with contents
|
||||
[
|
||||
/nologo /W3 /Zi /Od /I "..\..\..\include" /I "..\..\include" /I "c:\ppc\libxml\XML\win32\wince" /D "DEBUG" /D _WIN32_WCE=300 /D "WIN32" /D "STRICT" /D "_WIN32_WCE_EMULATION" /D "INTERNATIONAL" /D "USA" /D "INTLMSG_CODEPAGE" /D "WIN32_PLATFORM_PSPC" /D "i486" /D UNDER_CE=300 /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /Fp"X86EMDbg/libxml2.pch" /YX /Fo"X86EMDbg/" /Fd"X86EMDbg/" /Gz /c
|
||||
"C:\ppc\libxml\XML\DOCBparser.c"
|
||||
"C:\ppc\libxml\XML\encoding.c"
|
||||
"C:\ppc\libxml\XML\entities.c"
|
||||
"C:\ppc\libxml\XML\error.c"
|
||||
"C:\ppc\libxml\XML\globals.c"
|
||||
"C:\ppc\libxml\XML\hash.c"
|
||||
"C:\ppc\libxml\XML\list.c"
|
||||
"C:\ppc\libxml\XML\parser.c"
|
||||
"C:\ppc\libxml\XML\parserInternals.c"
|
||||
"C:\ppc\libxml\XML\SAX.c"
|
||||
"C:\ppc\libxml\XML\threads.c"
|
||||
"C:\ppc\libxml\XML\tree.c"
|
||||
"C:\ppc\libxml\XML\uri.c"
|
||||
"C:\ppc\libxml\XML\valid.c"
|
||||
"C:\ppc\libxml\XML\win32\wince\wincecompat.c"
|
||||
"C:\ppc\libxml\XML\xlink.c"
|
||||
"C:\ppc\libxml\XML\xmlIO.c"
|
||||
"C:\ppc\libxml\XML\xmlmemory.c"
|
||||
"C:\ppc\libxml\XML\c14n.c"
|
||||
"C:\ppc\libxml\XML\catalog.c"
|
||||
"C:\ppc\libxml\XML\debugXML.c"
|
||||
"C:\ppc\libxml\XML\HTMLparser.c"
|
||||
"C:\ppc\libxml\XML\HTMLtree.c"
|
||||
"C:\ppc\libxml\XML\nanoftp.c"
|
||||
"C:\ppc\libxml\XML\nanohttp.c"
|
||||
"C:\ppc\libxml\XML\xinclude.c"
|
||||
"C:\ppc\libxml\XML\xpath.c"
|
||||
"C:\ppc\libxml\XML\xpointer.c"
|
||||
]
|
||||
Creating command line "cl.exe @C:\DOCUME~1\fjvg\CONFIG~1\Temp\RSP12E.tmp"
|
||||
Creating temporary file "C:\DOCUME~1\fjvg\CONFIG~1\Temp\RSP12F.tmp" with contents
|
||||
[
|
||||
corelibc.lib winsock.lib commctrl.lib coredll.lib /nologo /stack:0x10000,0x1000 /dll /incremental:yes /pdb:"X86EMDbg/libxml2.pdb" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:libc.lib /nodefaultlib:libcd.lib /nodefaultlib:libcmt.lib /nodefaultlib:libcmtd.lib /nodefaultlib:msvcrt.lib /nodefaultlib:msvcrtd.lib /nodefaultlib:oldnames.lib /def:".\libxml2.def" /out:"X86EMDbg/libxml2.dll" /implib:"X86EMDbg/libxml2.lib" /windowsce:emulation /MACHINE:IX86
|
||||
.\X86EMDbg\DOCBparser.obj
|
||||
.\X86EMDbg\encoding.obj
|
||||
.\X86EMDbg\entities.obj
|
||||
.\X86EMDbg\error.obj
|
||||
.\X86EMDbg\globals.obj
|
||||
.\X86EMDbg\hash.obj
|
||||
.\X86EMDbg\list.obj
|
||||
.\X86EMDbg\parser.obj
|
||||
.\X86EMDbg\parserInternals.obj
|
||||
.\X86EMDbg\SAX.obj
|
||||
.\X86EMDbg\threads.obj
|
||||
.\X86EMDbg\tree.obj
|
||||
.\X86EMDbg\uri.obj
|
||||
.\X86EMDbg\valid.obj
|
||||
.\X86EMDbg\wincecompat.obj
|
||||
.\X86EMDbg\xlink.obj
|
||||
.\X86EMDbg\xmlIO.obj
|
||||
.\X86EMDbg\xmlmemory.obj
|
||||
.\X86EMDbg\c14n.obj
|
||||
.\X86EMDbg\catalog.obj
|
||||
.\X86EMDbg\debugXML.obj
|
||||
.\X86EMDbg\HTMLparser.obj
|
||||
.\X86EMDbg\HTMLtree.obj
|
||||
.\X86EMDbg\nanoftp.obj
|
||||
.\X86EMDbg\nanohttp.obj
|
||||
.\X86EMDbg\xinclude.obj
|
||||
.\X86EMDbg\xpath.obj
|
||||
.\X86EMDbg\xpointer.obj
|
||||
]
|
||||
Creating command line "link.exe @C:\DOCUME~1\fjvg\CONFIG~1\Temp\RSP12F.tmp"
|
||||
<h3>Output Window</h3>
|
||||
Compiling...
|
||||
DOCBparser.c
|
||||
encoding.c
|
||||
entities.c
|
||||
error.c
|
||||
globals.c
|
||||
hash.c
|
||||
list.c
|
||||
parser.c
|
||||
C:\ppc\libxml\XML\parser.c(2282) : warning C4090: '=' : different 'const' qualifiers
|
||||
parserInternals.c
|
||||
SAX.c
|
||||
threads.c
|
||||
tree.c
|
||||
uri.c
|
||||
valid.c
|
||||
wincecompat.c
|
||||
C:\ppc\libxml\XML\win32\wince\wincecompat.c(37) : warning C4047: '=' : 'char ' differs in levels of indirection from 'char [2]'
|
||||
C:\ppc\libxml\XML\win32\wince\wincecompat.c(39) : warning C4047: '=' : 'char ' differs in levels of indirection from 'char [2]'
|
||||
C:\ppc\libxml\XML\win32\wince\wincecompat.c(40) : warning C4047: 'return' : 'int ' differs in levels of indirection from 'void *'
|
||||
xlink.c
|
||||
xmlIO.c
|
||||
C:\ppc\libxml\XML\xmlIO.c(2404) : warning C4101: 'dir' : unreferenced local variable
|
||||
C:\ppc\libxml\XML\xmlIO.c(2405) : warning C4101: 'cur' : unreferenced local variable
|
||||
xmlmemory.c
|
||||
c14n.c
|
||||
catalog.c
|
||||
debugXML.c
|
||||
HTMLparser.c
|
||||
HTMLtree.c
|
||||
nanoftp.c
|
||||
nanohttp.c
|
||||
C:\ppc\libxml\XML\nanoftp.c(892) : warning C4761: integral size mismatch in argument; conversion supplied
|
||||
xinclude.c
|
||||
C:\ppc\libxml\XML\nanohttp.c(921) : warning C4761: integral size mismatch in argument; conversion supplied
|
||||
xpath.c
|
||||
xpointer.c
|
||||
Linking...
|
||||
Creating library X86EMDbg/libxml2.lib and object X86EMDbg/libxml2.exp
|
||||
|
||||
|
||||
|
||||
<h3>Results</h3>
|
||||
libxml2.dll - 0 error(s), 8 warning(s)
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1 +0,0 @@
|
||||
ÐÏࡱ
|
||||
-5273
File diff suppressed because it is too large
Load Diff
@@ -1,41 +0,0 @@
|
||||
Microsoft eMbedded Visual Tools Workspace File, Format Version 3.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "libxml2"=.\libxml2.vcp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "ppcTest"=.\ppcTest\ppcTest.vcp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
/*
|
||||
* wincecompat.c : wince compatiblity module
|
||||
*
|
||||
* See Copyright for the status of this software.
|
||||
*
|
||||
* [email protected]
|
||||
*
|
||||
* 17 Sep 2002 created
|
||||
*/
|
||||
|
||||
#include "wincecompat.h"
|
||||
|
||||
char *strError[]= {"Error 0","","No such file or directory","","","","","Arg list too long",
|
||||
"Exec format error","Bad file number","","","Not enough core","Permission denied","","",
|
||||
"","File exists","Cross-device link","","","","Invalid argument","","Too many open files",
|
||||
"","","","No space left on device","","","","","Math argument","Result too large","",
|
||||
"Resource deadlock would occur", "Unknown error under wince"};
|
||||
|
||||
|
||||
int errno=0;
|
||||
|
||||
int read(int handle, char *buffer, unsigned int len)
|
||||
{
|
||||
return(fread(&buffer[0], len, 1, (FILE *) handle));
|
||||
}
|
||||
|
||||
int write(int handle, const char *buffer, unsigned int len)
|
||||
{
|
||||
return(fwrite(&buffer[0], len,1,(FILE *) handle));
|
||||
}
|
||||
|
||||
int open(const char *filename,int oflag, ...)
|
||||
{
|
||||
char mode[3]; /* mode[0] ="w/r/a" mode[1]="+" */
|
||||
mode[2]=0;
|
||||
if ( oflag==(O_WRONLY|O_CREAT) )
|
||||
mode[0]="w";
|
||||
else if (oflag==O_RDONLY)
|
||||
mode[0]="r";
|
||||
return fopen(filename, mode);
|
||||
|
||||
}
|
||||
|
||||
int close(int handle)
|
||||
{
|
||||
return ( fclose((FILE *) handle) );
|
||||
}
|
||||
|
||||
|
||||
char *getenv( const char *varname )
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
char *strerror(int errnum)
|
||||
{
|
||||
if (errnum>MAX_STRERROR)
|
||||
return strError[MAX_STRERROR];
|
||||
else
|
||||
return strError[errnum];
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
/*
|
||||
* wincecompat.h : wince compatiblity header file
|
||||
*
|
||||
* See Copyright for the status of this software.
|
||||
*
|
||||
* [email protected]
|
||||
*
|
||||
* 17 Sep 2002 created
|
||||
*/
|
||||
|
||||
#ifndef __WINCECOMPAT_H__
|
||||
#define __WINCECOMPAT_H__
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#define MAX_STRERROR 31
|
||||
|
||||
#define O_RDONLY 0x0000 /* open for reading only */
|
||||
#define O_WRONLY 0x0001 /* open for writing only */
|
||||
#define O_RDWR 0x0002 /* open for reading and writing */
|
||||
#define O_APPEND 0x0008 /* writes done at eof */
|
||||
|
||||
#define O_CREAT 0x0100 /* create and open file */
|
||||
#define O_TRUNC 0x0200 /* open and truncate */
|
||||
#define O_EXCL 0x0400 /* open only if file doesn't already exist */
|
||||
|
||||
extern int errno;
|
||||
/*
|
||||
Prototypes
|
||||
*/
|
||||
int read(int handle, char *buffer, unsigned int len);
|
||||
int write(int handle, const char *buffer, unsigned int len);
|
||||
int open(const char *filename,int oflag, ...);
|
||||
int close(int handle);
|
||||
char *getenv( const char *varname );
|
||||
char *strerror(int errnum);
|
||||
|
||||
/*
|
||||
Macro'ed inexistant funtion names
|
||||
|
||||
*/
|
||||
#define snprintf _snprintf
|
||||
#define vsnprintf(b,c,f,a) _vsnprintf(b,c,f,a)
|
||||
#define perror(_t) MessageBox(NULL, _T("_t"), _T("Error/Warning"), MB_OK)
|
||||
|
||||
#endif
|
||||
-131
@@ -1,131 +0,0 @@
|
||||
#
|
||||
# Definition for the tests from W3C
|
||||
#
|
||||
PYSCRIPTS=nist-test.py ms-test.py sun-test.py
|
||||
TESTDIR=Tests
|
||||
TESTDIRS=$(TESTDIR)/msxsdtest $(TESTDIR)/suntest $(TESTDIR)/Datatypes
|
||||
TARBALL=xsts-2002-01-16.tar.gz
|
||||
TARBALL_2=xsts-2004-01-14.tar.gz
|
||||
TSNAME=xmlschema2002-01-16
|
||||
TSNAME_2=xmlschema2004-01-14
|
||||
TARBALLURL=http://www.w3.org/XML/2004/xml-schema-test-suite/$(TSNAME)/$(TARBALL)
|
||||
TARBALLURL_2=http://www.w3.org/XML/2004/xml-schema-test-suite/$(TSNAME_2)/$(TARBALL_2)
|
||||
MSTESTDEF=MSXMLSchema1-0-20020116.testSet
|
||||
SUNTESTDEF=SunXMLSchema1-0-20020116.testSet
|
||||
NISTTESTDEF=NISTXMLSchema1-0-20020116.testSet
|
||||
NISTTESTDEF_2=NISTXMLSchemaDatatypes.testSet
|
||||
|
||||
#
|
||||
# The local data and scripts
|
||||
#
|
||||
EXTRA_DIST=xstc.py xstc-to-python.xsl
|
||||
#
|
||||
# Nothing is done by make, only make tests and
|
||||
# only if Python and Schemas are enabled.
|
||||
#
|
||||
all:
|
||||
|
||||
#
|
||||
# Rule to load the test description and extract the informations
|
||||
#
|
||||
$(TESTDIRS) Tests/Metadata/$(NISTTESTDEF_2) Tests/Metadata/$(MSTTESTDEF) Tests/Metadata/$(SUNTESTDEF):
|
||||
-@(if [ ! -d Tests ] ; then \
|
||||
mkdir Tests ; \
|
||||
fi)
|
||||
-@(if [ ! -f $(TARBALL_2) ] ; then \
|
||||
echo "Missing the test suite description (2004-01-14), trying to fetch it" ;\
|
||||
if [ -x /usr/bin/wget ] ; then \
|
||||
wget $(TARBALLURL_2) ; \
|
||||
else echo "Dont' know how to fetch $(TARBALLURL_2)" ; fi ; fi)
|
||||
-@(if [ -f $(TARBALL_2) ] ; then \
|
||||
echo -n "extracting test data (NIST)..." ; \
|
||||
$(TAR) -xzf $(TARBALL_2) '*/Datatypes' '*/Metadata/$(NISTTESTDEF_2)' ; \
|
||||
echo "done" ; \
|
||||
fi)
|
||||
-@(if [ ! -f $(TARBALL) ] ; then \
|
||||
echo "Missing the test suite description (2002-01-16), trying to fetch it" ;\
|
||||
if [ -x /usr/bin/wget ] ; then \
|
||||
wget $(TARBALLURL) ; \
|
||||
else echo "Dont' know how to fetch $(TARBALLURL)" ; fi ; fi)
|
||||
-@(if [ -f $(TARBALL) ] ; then \
|
||||
echo -n "extracting test data (Sun, Microsoft)..." ; \
|
||||
$(TAR) -C Tests -xzf $(TARBALL) '*/suntest' '*/msxsdtest' '*/$(MSTESTDEF)' '*/$(SUNTESTDEF)' ; \
|
||||
if [ -d Tests/suntest ] ; then rm -r Tests/suntest ; fi ; \
|
||||
if [ -d Tests/msxsdtest ] ; then rm -r Tests/msxsdtest ; fi ; \
|
||||
mv Tests/xmlschema2002-01-16/* Tests ; \
|
||||
mv Tests/*.testSet Tests/Metadata ; \
|
||||
rm -r Tests/xmlschema2002-01-16 ; \
|
||||
echo "done" ; \
|
||||
fi)
|
||||
|
||||
#
|
||||
# The python tests are generated via XSLT
|
||||
#
|
||||
nist-test.py: Tests/Metadata/$(NISTTESTDEF_2) xstc-to-python.xsl
|
||||
-@(if [ -x $(XSLTPROC) ] ; then \
|
||||
echo "Rebuilding script (NIST)" $@ ; \
|
||||
$(XSLTPROC) --nonet --stringparam vendor NIST-2 \
|
||||
$(srcdir)/xstc-to-python.xsl \
|
||||
$(srcdir)/Tests/Metadata/$(NISTTESTDEF_2) > $@ ; \
|
||||
chmod +x $@ ; fi )
|
||||
|
||||
ms-test.py: Tests/Metadata/$(MSTTESTDEF) xstc-to-python.xsl
|
||||
-@(if [ -x $(XSLTPROC) ] ; then \
|
||||
echo "Rebuilding script (Microsoft)" $@ ; \
|
||||
$(XSLTPROC) --nonet --stringparam vendor MS \
|
||||
$(srcdir)/xstc-to-python.xsl \
|
||||
$(srcdir)/Tests/Metadata/$(MSTESTDEF) > $@ ; \
|
||||
chmod +x $@ ; fi )
|
||||
|
||||
sun-test.py: Tests/Metadata/$(SUNTESTDEF) xstc-to-python.xsl
|
||||
-@(if [ -x $(XSLTPROC) ] ; then \
|
||||
echo "Rebuilding script (Sun)" $@ ; \
|
||||
$(XSLTPROC) --nonet --stringparam vendor SUN \
|
||||
$(srcdir)/xstc-to-python.xsl \
|
||||
$(srcdir)/Tests/Metadata/$(SUNTESTDEF) > $@ ; \
|
||||
chmod +x $@ ; fi )
|
||||
|
||||
#
|
||||
# The actual test run if present. PYTHONPATH is updated to make sure
|
||||
# we run the version from the loacl build and not preinstalled bindings
|
||||
#
|
||||
pytests: $(PYSCRIPTS) $(TESTDIRS)
|
||||
-@(if [ -x nist-test.py -a -d $(TESTDIR)/Datatypes ] ; then \
|
||||
echo "## Running XML Schema tests (NIST)"; \
|
||||
PYTHONPATH="../python:../python/.libs:..:../libs:$$PYTHONPATH" ;\
|
||||
export PYTHONPATH; \
|
||||
LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \
|
||||
export LD_LIBRARY_PATH; \
|
||||
$(CHECKER) $(PYTHON) nist-test.py -s -b $(srcdir) ; fi)
|
||||
-@(if [ -x sun-test.py -a -d $(TESTDIR)/suntest ] ; then \
|
||||
echo "## Running Schema tests (Sun)"; \
|
||||
PYTHONPATH="../python:../python/.libs:..:../libs:$$PYTHONPATH" ;\
|
||||
export PYTHONPATH; \
|
||||
LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \
|
||||
export LD_LIBRARY_PATH; \
|
||||
$(CHECKER) $(PYTHON) sun-test.py -s -b $(srcdir) ; fi)
|
||||
-@(if [ -x ms-test.py -a -d $(TESTDIR)/msxsdtest ] ; then \
|
||||
echo "## Running Schema tests (Microsoft)"; \
|
||||
PYTHONPATH="../python:../python/.libs:..:../libs:$$PYTHONPATH" ;\
|
||||
export PYTHONPATH; \
|
||||
LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \
|
||||
export LD_LIBRARY_PATH; \
|
||||
$(CHECKER) $(PYTHON) ms-test.py -s -b $(srcdir) ; fi)
|
||||
|
||||
tests:
|
||||
-@(if [ -x $(PYTHON) ] ; then \
|
||||
$(MAKE) MAKEFLAGS+=--silent pytests ; fi);
|
||||
|
||||
#
|
||||
# Heavy, works well only on RHEL3
|
||||
#
|
||||
valgrind:
|
||||
-@(if [ -x $(PYTHON) ] ; then \
|
||||
echo '## Running the regression tests under Valgrind' ; \
|
||||
$(MAKE) CHECKER='valgrind' MAKEFLAGS+=--silent pytests ; fi);
|
||||
|
||||
clean:
|
||||
rm -f $(PYSCRIPTS) test.log
|
||||
|
||||
distclean:
|
||||
rm -rf $(PYSCRIPTS) test.log # TESTDIRS
|
||||
-549
@@ -1,549 +0,0 @@
|
||||
# Makefile.in generated by automake 1.9.2 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004 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@
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
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@
|
||||
subdir = xstc
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
|
||||
$(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BASE_THREAD_LIBS = @BASE_THREAD_LIBS@
|
||||
C14N_OBJ = @C14N_OBJ@
|
||||
CATALOG_OBJ = @CATALOG_OBJ@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
|
||||
CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
|
||||
DEBUG_OBJ = @DEBUG_OBJ@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DOCB_OBJ = @DOCB_OBJ@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
F77 = @F77@
|
||||
FFLAGS = @FFLAGS@
|
||||
FTP_OBJ = @FTP_OBJ@
|
||||
HAVE_ISINF = @HAVE_ISINF@
|
||||
HAVE_ISNAN = @HAVE_ISNAN@
|
||||
HTML_DIR = @HTML_DIR@
|
||||
HTML_OBJ = @HTML_OBJ@
|
||||
HTTP_OBJ = @HTTP_OBJ@
|
||||
ICONV_LIBS = @ICONV_LIBS@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIBXML_MAJOR_VERSION = @LIBXML_MAJOR_VERSION@
|
||||
LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@
|
||||
LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@
|
||||
LIBXML_VERSION = @LIBXML_VERSION@
|
||||
LIBXML_VERSION_EXTRA = @LIBXML_VERSION_EXTRA@
|
||||
LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@
|
||||
LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MODULE_EXTENSION = @MODULE_EXTENSION@
|
||||
MODULE_PLATFORM_LIBS = @MODULE_PLATFORM_LIBS@
|
||||
MV = @MV@
|
||||
M_LIBS = @M_LIBS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PYTHON = @PYTHON@
|
||||
PYTHON_INCLUDES = @PYTHON_INCLUDES@
|
||||
PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
|
||||
PYTHON_SUBDIR = @PYTHON_SUBDIR@
|
||||
PYTHON_TESTS = @PYTHON_TESTS@
|
||||
PYTHON_VERSION = @PYTHON_VERSION@
|
||||
RANLIB = @RANLIB@
|
||||
RDL_LIBS = @RDL_LIBS@
|
||||
READER_TEST = @READER_TEST@
|
||||
RELDATE = @RELDATE@
|
||||
RM = @RM@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STATIC_BINARIES = @STATIC_BINARIES@
|
||||
STRIP = @STRIP@
|
||||
TAR = @TAR@
|
||||
TEST_C14N = @TEST_C14N@
|
||||
TEST_CATALOG = @TEST_CATALOG@
|
||||
TEST_DEBUG = @TEST_DEBUG@
|
||||
TEST_HTML = @TEST_HTML@
|
||||
TEST_MODULES = @TEST_MODULES@
|
||||
TEST_PATTERN = @TEST_PATTERN@
|
||||
TEST_PHTML = @TEST_PHTML@
|
||||
TEST_PUSH = @TEST_PUSH@
|
||||
TEST_REGEXPS = @TEST_REGEXPS@
|
||||
TEST_SAX = @TEST_SAX@
|
||||
TEST_SCHEMAS = @TEST_SCHEMAS@
|
||||
TEST_THREADS = @TEST_THREADS@
|
||||
TEST_VALID = @TEST_VALID@
|
||||
TEST_VTIME = @TEST_VTIME@
|
||||
TEST_XINCLUDE = @TEST_XINCLUDE@
|
||||
TEST_XPATH = @TEST_XPATH@
|
||||
TEST_XPTR = @TEST_XPTR@
|
||||
THREADS_W32 = @THREADS_W32@
|
||||
THREAD_CFLAGS = @THREAD_CFLAGS@
|
||||
THREAD_LIBS = @THREAD_LIBS@
|
||||
U = @U@
|
||||
VERSION = @VERSION@
|
||||
WIN32_EXTRA_LDFLAGS = @WIN32_EXTRA_LDFLAGS@
|
||||
WIN32_EXTRA_LIBADD = @WIN32_EXTRA_LIBADD@
|
||||
WITH_C14N = @WITH_C14N@
|
||||
WITH_CATALOG = @WITH_CATALOG@
|
||||
WITH_DEBUG = @WITH_DEBUG@
|
||||
WITH_DOCB = @WITH_DOCB@
|
||||
WITH_FTP = @WITH_FTP@
|
||||
WITH_HTML = @WITH_HTML@
|
||||
WITH_HTTP = @WITH_HTTP@
|
||||
WITH_ICONV = @WITH_ICONV@
|
||||
WITH_ISO8859X = @WITH_ISO8859X@
|
||||
WITH_LEGACY = @WITH_LEGACY@
|
||||
WITH_MEM_DEBUG = @WITH_MEM_DEBUG@
|
||||
WITH_MODULES = @WITH_MODULES@
|
||||
WITH_OUTPUT = @WITH_OUTPUT@
|
||||
WITH_PATTERN = @WITH_PATTERN@
|
||||
WITH_PUSH = @WITH_PUSH@
|
||||
WITH_PYTHON_FALSE = @WITH_PYTHON_FALSE@
|
||||
WITH_PYTHON_TRUE = @WITH_PYTHON_TRUE@
|
||||
WITH_READER = @WITH_READER@
|
||||
WITH_REGEXPS = @WITH_REGEXPS@
|
||||
WITH_RUN_DEBUG = @WITH_RUN_DEBUG@
|
||||
WITH_SAX1 = @WITH_SAX1@
|
||||
WITH_SCHEMAS = @WITH_SCHEMAS@
|
||||
WITH_THREADS = @WITH_THREADS@
|
||||
WITH_TREE = @WITH_TREE@
|
||||
WITH_TRIO = @WITH_TRIO@
|
||||
WITH_TRIO_SOURCES_FALSE = @WITH_TRIO_SOURCES_FALSE@
|
||||
WITH_TRIO_SOURCES_TRUE = @WITH_TRIO_SOURCES_TRUE@
|
||||
WITH_VALID = @WITH_VALID@
|
||||
WITH_WRITER = @WITH_WRITER@
|
||||
WITH_XINCLUDE = @WITH_XINCLUDE@
|
||||
WITH_XPATH = @WITH_XPATH@
|
||||
WITH_XPTR = @WITH_XPTR@
|
||||
XINCLUDE_OBJ = @XINCLUDE_OBJ@
|
||||
XMLLINT = @XMLLINT@
|
||||
XML_CFLAGS = @XML_CFLAGS@
|
||||
XML_INCLUDEDIR = @XML_INCLUDEDIR@
|
||||
XML_LIBDIR = @XML_LIBDIR@
|
||||
XML_LIBS = @XML_LIBS@
|
||||
XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
|
||||
XPATH_OBJ = @XPATH_OBJ@
|
||||
XPTR_OBJ = @XPTR_OBJ@
|
||||
XSLTPROC = @XSLTPROC@
|
||||
Z_CFLAGS = @Z_CFLAGS@
|
||||
Z_LIBS = @Z_LIBS@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_AS = @ac_ct_AS@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
||||
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@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
pythondir = @pythondir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
|
||||
#
|
||||
# Definition for the tests from W3C
|
||||
#
|
||||
PYSCRIPTS = nist-test.py ms-test.py sun-test.py
|
||||
TESTDIR = Tests
|
||||
TESTDIRS = $(TESTDIR)/msxsdtest $(TESTDIR)/suntest $(TESTDIR)/Datatypes
|
||||
TARBALL = xsts-2002-01-16.tar.gz
|
||||
TARBALL_2 = xsts-2004-01-14.tar.gz
|
||||
TSNAME = xmlschema2002-01-16
|
||||
TSNAME_2 = xmlschema2004-01-14
|
||||
TARBALLURL = http://www.w3.org/XML/2004/xml-schema-test-suite/$(TSNAME)/$(TARBALL)
|
||||
TARBALLURL_2 = http://www.w3.org/XML/2004/xml-schema-test-suite/$(TSNAME_2)/$(TARBALL_2)
|
||||
MSTESTDEF = MSXMLSchema1-0-20020116.testSet
|
||||
SUNTESTDEF = SunXMLSchema1-0-20020116.testSet
|
||||
NISTTESTDEF = NISTXMLSchema1-0-20020116.testSet
|
||||
NISTTESTDEF_2 = NISTXMLSchemaDatatypes.testSet
|
||||
|
||||
#
|
||||
# The local data and scripts
|
||||
#
|
||||
EXTRA_DIST = xstc.py xstc-to-python.xsl
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu xstc/Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu xstc/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile
|
||||
installdirs:
|
||||
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:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean-am: clean-am distclean-generic distclean-libtool
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||
distclean distclean-generic distclean-libtool distdir dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-exec install-exec-am \
|
||||
install-info install-info-am install-man install-strip \
|
||||
installcheck installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
|
||||
uninstall-info-am
|
||||
|
||||
#
|
||||
# Nothing is done by make, only make tests and
|
||||
# only if Python and Schemas are enabled.
|
||||
#
|
||||
all:
|
||||
|
||||
#
|
||||
# Rule to load the test description and extract the informations
|
||||
#
|
||||
$(TESTDIRS) Tests/Metadata/$(NISTTESTDEF_2) Tests/Metadata/$(MSTTESTDEF) Tests/Metadata/$(SUNTESTDEF):
|
||||
-@(if [ ! -d Tests ] ; then \
|
||||
mkdir Tests ; \
|
||||
fi)
|
||||
-@(if [ ! -f $(TARBALL_2) ] ; then \
|
||||
echo "Missing the test suite description (2004-01-14), trying to fetch it" ;\
|
||||
if [ -x /usr/bin/wget ] ; then \
|
||||
wget $(TARBALLURL_2) ; \
|
||||
else echo "Dont' know how to fetch $(TARBALLURL_2)" ; fi ; fi)
|
||||
-@(if [ -f $(TARBALL_2) ] ; then \
|
||||
echo -n "extracting test data (NIST)..." ; \
|
||||
$(TAR) -xzf $(TARBALL_2) '*/Datatypes' '*/Metadata/$(NISTTESTDEF_2)' ; \
|
||||
echo "done" ; \
|
||||
fi)
|
||||
-@(if [ ! -f $(TARBALL) ] ; then \
|
||||
echo "Missing the test suite description (2002-01-16), trying to fetch it" ;\
|
||||
if [ -x /usr/bin/wget ] ; then \
|
||||
wget $(TARBALLURL) ; \
|
||||
else echo "Dont' know how to fetch $(TARBALLURL)" ; fi ; fi)
|
||||
-@(if [ -f $(TARBALL) ] ; then \
|
||||
echo -n "extracting test data (Sun, Microsoft)..." ; \
|
||||
$(TAR) -C Tests -xzf $(TARBALL) '*/suntest' '*/msxsdtest' '*/$(MSTESTDEF)' '*/$(SUNTESTDEF)' ; \
|
||||
if [ -d Tests/suntest ] ; then rm -r Tests/suntest ; fi ; \
|
||||
if [ -d Tests/msxsdtest ] ; then rm -r Tests/msxsdtest ; fi ; \
|
||||
mv Tests/xmlschema2002-01-16/* Tests ; \
|
||||
mv Tests/*.testSet Tests/Metadata ; \
|
||||
rm -r Tests/xmlschema2002-01-16 ; \
|
||||
echo "done" ; \
|
||||
fi)
|
||||
|
||||
#
|
||||
# The python tests are generated via XSLT
|
||||
#
|
||||
nist-test.py: Tests/Metadata/$(NISTTESTDEF_2) xstc-to-python.xsl
|
||||
-@(if [ -x $(XSLTPROC) ] ; then \
|
||||
echo "Rebuilding script (NIST)" $@ ; \
|
||||
$(XSLTPROC) --nonet --stringparam vendor NIST-2 \
|
||||
$(srcdir)/xstc-to-python.xsl \
|
||||
$(srcdir)/Tests/Metadata/$(NISTTESTDEF_2) > $@ ; \
|
||||
chmod +x $@ ; fi )
|
||||
|
||||
ms-test.py: Tests/Metadata/$(MSTTESTDEF) xstc-to-python.xsl
|
||||
-@(if [ -x $(XSLTPROC) ] ; then \
|
||||
echo "Rebuilding script (Microsoft)" $@ ; \
|
||||
$(XSLTPROC) --nonet --stringparam vendor MS \
|
||||
$(srcdir)/xstc-to-python.xsl \
|
||||
$(srcdir)/Tests/Metadata/$(MSTESTDEF) > $@ ; \
|
||||
chmod +x $@ ; fi )
|
||||
|
||||
sun-test.py: Tests/Metadata/$(SUNTESTDEF) xstc-to-python.xsl
|
||||
-@(if [ -x $(XSLTPROC) ] ; then \
|
||||
echo "Rebuilding script (Sun)" $@ ; \
|
||||
$(XSLTPROC) --nonet --stringparam vendor SUN \
|
||||
$(srcdir)/xstc-to-python.xsl \
|
||||
$(srcdir)/Tests/Metadata/$(SUNTESTDEF) > $@ ; \
|
||||
chmod +x $@ ; fi )
|
||||
|
||||
#
|
||||
# The actual test run if present. PYTHONPATH is updated to make sure
|
||||
# we run the version from the loacl build and not preinstalled bindings
|
||||
#
|
||||
pytests: $(PYSCRIPTS) $(TESTDIRS)
|
||||
-@(if [ -x nist-test.py -a -d $(TESTDIR)/Datatypes ] ; then \
|
||||
echo "## Running XML Schema tests (NIST)"; \
|
||||
PYTHONPATH="../python:../python/.libs:..:../libs:$$PYTHONPATH" ;\
|
||||
export PYTHONPATH; \
|
||||
LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \
|
||||
export LD_LIBRARY_PATH; \
|
||||
$(CHECKER) $(PYTHON) nist-test.py -s -b $(srcdir) ; fi)
|
||||
-@(if [ -x sun-test.py -a -d $(TESTDIR)/suntest ] ; then \
|
||||
echo "## Running Schema tests (Sun)"; \
|
||||
PYTHONPATH="../python:../python/.libs:..:../libs:$$PYTHONPATH" ;\
|
||||
export PYTHONPATH; \
|
||||
LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \
|
||||
export LD_LIBRARY_PATH; \
|
||||
$(CHECKER) $(PYTHON) sun-test.py -s -b $(srcdir) ; fi)
|
||||
-@(if [ -x ms-test.py -a -d $(TESTDIR)/msxsdtest ] ; then \
|
||||
echo "## Running Schema tests (Microsoft)"; \
|
||||
PYTHONPATH="../python:../python/.libs:..:../libs:$$PYTHONPATH" ;\
|
||||
export PYTHONPATH; \
|
||||
LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \
|
||||
export LD_LIBRARY_PATH; \
|
||||
$(CHECKER) $(PYTHON) ms-test.py -s -b $(srcdir) ; fi)
|
||||
|
||||
tests:
|
||||
-@(if [ -x $(PYTHON) ] ; then \
|
||||
$(MAKE) MAKEFLAGS+=--silent pytests ; fi);
|
||||
|
||||
#
|
||||
# Heavy, works well only on RHEL3
|
||||
#
|
||||
valgrind:
|
||||
-@(if [ -x $(PYTHON) ] ; then \
|
||||
echo '## Running the regression tests under Valgrind' ; \
|
||||
$(MAKE) CHECKER='valgrind' MAKEFLAGS+=--silent pytests ; fi);
|
||||
|
||||
clean:
|
||||
rm -f $(PYSCRIPTS) test.log
|
||||
|
||||
distclean:
|
||||
rm -rf $(PYSCRIPTS) test.log # TESTDIRS
|
||||
# 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:
|
||||
@@ -1,114 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<xsl:stylesheet
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:ts="TestSuite" version="1.0"
|
||||
xmlns:xl="http://www.w3.org/1999/xlink">
|
||||
<xsl:param name="vendor" select="'NIST'"/>
|
||||
<xsl:output method="text"/>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:text>#!/usr/bin/python -u
|
||||
# -*- coding: UTF-8 -*-
|
||||
#
|
||||
# This file is generated from the W3C test suite description file.
|
||||
#
|
||||
|
||||
import xstc
|
||||
from xstc import XSTCTestRunner, XSTCTestGroup, XSTCSchemaTest, XSTCInstanceTest
|
||||
|
||||
xstc.vendor = "</xsl:text><xsl:value-of select="$vendor"/><xsl:text>"
|
||||
|
||||
r = XSTCTestRunner()
|
||||
|
||||
# Group definitions.
|
||||
|
||||
</xsl:text>
|
||||
|
||||
<xsl:apply-templates select="ts:testSet/ts:testGroup" mode="group-def"/>
|
||||
<xsl:text>
|
||||
|
||||
# Test definitions.
|
||||
|
||||
</xsl:text>
|
||||
<xsl:apply-templates select="ts:testSet/ts:testGroup" mode="test-def"/>
|
||||
<xsl:text>
|
||||
|
||||
r.run()
|
||||
|
||||
</xsl:text>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- groupName, descr -->
|
||||
<xsl:template match="ts:testGroup" mode="group-def">
|
||||
<xsl:text>r.addGroup(XSTCTestGroup("</xsl:text>
|
||||
<!-- group -->
|
||||
<xsl:value-of select="@name"/><xsl:text>", "</xsl:text>
|
||||
<!-- main schema -->
|
||||
<xsl:value-of select="ts:schemaTest[1]/ts:schemaDocument/@xl:href"/><xsl:text>", """</xsl:text>
|
||||
<!-- group-description -->
|
||||
<xsl:call-template name="str">
|
||||
<xsl:with-param name="str" select="ts:annotation/ts:documentation/text()"/>
|
||||
</xsl:call-template>
|
||||
<xsl:text>"""))
|
||||
</xsl:text>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="str">
|
||||
<xsl:param name="str"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($str, '"')">
|
||||
<xsl:call-template name="str">
|
||||
<xsl:with-param name="str" select="substring-before($str, '"')"/>
|
||||
</xsl:call-template>
|
||||
<xsl:text>'</xsl:text>
|
||||
<xsl:call-template name="str">
|
||||
<xsl:with-param name="str" select="substring-after($str, '"')"/>
|
||||
</xsl:call-template>
|
||||
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$str"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="ts:testGroup" mode="test-def">
|
||||
<xsl:param name="group" select="@name"/>
|
||||
<xsl:for-each select="ts:schemaTest">
|
||||
<!-- groupName, isSchema, Name, Accepted, File, Val, Descr -->
|
||||
<xsl:text>r.addTest(XSTCSchemaTest("</xsl:text>
|
||||
<!-- group -->
|
||||
<xsl:value-of select="$group"/><xsl:text>", "</xsl:text>
|
||||
<!-- test-name -->
|
||||
<xsl:value-of select="@name"/><xsl:text>", </xsl:text>
|
||||
<!-- accepted -->
|
||||
<xsl:value-of select="number(ts:current/@status = 'accepted')"/><xsl:text>, "</xsl:text>
|
||||
<!-- filename -->
|
||||
<xsl:value-of select="ts:schemaDocument/@xl:href"/><xsl:text>", </xsl:text>
|
||||
<!-- validity -->
|
||||
<xsl:value-of select="number(ts:expected/@validity = 'valid')"/><xsl:text>, "</xsl:text>
|
||||
<!-- test-description -->
|
||||
<xsl:value-of select="ts:annotation/ts:documentation/text()"/><xsl:text>"))
|
||||
</xsl:text>
|
||||
</xsl:for-each>
|
||||
<xsl:for-each select="ts:instanceTest">
|
||||
<!-- groupName, isSchema, Name, Accepted, File, Val, Descr -->
|
||||
<xsl:text>r.addTest(XSTCInstanceTest("</xsl:text>
|
||||
<!-- group -->
|
||||
<xsl:value-of select="$group"/><xsl:text>", "</xsl:text>
|
||||
<!-- test-name -->
|
||||
<xsl:value-of select="@name"/><xsl:text>", </xsl:text>
|
||||
<!-- accepted -->
|
||||
<xsl:value-of select="number(ts:current/@status = 'accepted')"/><xsl:text>, "</xsl:text>
|
||||
<!-- filename -->
|
||||
<xsl:value-of select="ts:instanceDocument/@xl:href"/><xsl:text>", </xsl:text>
|
||||
<!-- validity -->
|
||||
<xsl:value-of select="number(ts:expected/@validity = 'valid')"/><xsl:text>, "</xsl:text>
|
||||
<!-- test-description -->
|
||||
<xsl:value-of select="ts:annotation/ts:documentation/text()"/><xsl:text>"))
|
||||
</xsl:text>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
-693
@@ -1,693 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
#
|
||||
# This is the MS subset of the W3C test suite for XML Schemas.
|
||||
# This file is generated from the MS W3c test suite description file.
|
||||
#
|
||||
|
||||
import sys, os
|
||||
import exceptions, optparse
|
||||
import libxml2
|
||||
|
||||
opa = optparse.OptionParser()
|
||||
|
||||
opa.add_option("-b", "--base", action="store", type="string", dest="baseDir",
|
||||
default="",
|
||||
help="""The base directory; i.e. the parent folder of the
|
||||
"nisttest", "suntest" and "msxsdtest" directories.""")
|
||||
|
||||
opa.add_option("-o", "--out", action="store", type="string", dest="logFile",
|
||||
default="test.log",
|
||||
help="The filepath of the log file to be created")
|
||||
|
||||
opa.add_option("--log", action="store_true", dest="enableLog",
|
||||
default=False,
|
||||
help="Create the log file")
|
||||
|
||||
opa.add_option("--no-test-out", action="store_true", dest="disableTestStdOut",
|
||||
default=False,
|
||||
help="Don't output test results")
|
||||
|
||||
opa.add_option("-s", "--silent", action="store_true", dest="silent", default=False,
|
||||
help="Disables display of all tests")
|
||||
|
||||
opa.add_option("-v", "--verbose", action="store_true", dest="verbose",
|
||||
default=False,
|
||||
help="Displays all tests (only if --silent is not set)")
|
||||
|
||||
opa.add_option("-x", "--max", type="int", dest="maxTestCount",
|
||||
default="-1",
|
||||
help="The maximum number of tests to be run")
|
||||
|
||||
opa.add_option("-t", "--test", type="string", dest="singleTest",
|
||||
default=None,
|
||||
help="Runs the specified test only")
|
||||
|
||||
opa.add_option("--tsw", "--test-starts-with", type="string", dest="testStartsWith",
|
||||
default=None,
|
||||
help="Runs the specified test(s), starting with the given string")
|
||||
|
||||
opa.add_option("--rieo", "--report-internal-errors-only", action="store_true",
|
||||
dest="reportInternalErrOnly", default=False,
|
||||
help="Display erroneous tests of type 'internal' only")
|
||||
|
||||
opa.add_option("--rueo", "--report-unimplemented-errors-only", action="store_true",
|
||||
dest="reportUnimplErrOnly", default=False,
|
||||
help="Display erroneous tests of type 'unimplemented' only")
|
||||
|
||||
opa.add_option("--rmleo", "--report-mem-leak-errors-only", action="store_true",
|
||||
dest="reportMemLeakErrOnly", default=False,
|
||||
help="Display erroneous tests of type 'memory leak' only")
|
||||
|
||||
opa.add_option("-c", "--combines", type="string", dest="combines",
|
||||
default=None,
|
||||
help="Combines to be run (all if omitted)")
|
||||
|
||||
opa.add_option("--csw", "--csw", type="string", dest="combineStartsWith",
|
||||
default=None,
|
||||
help="Combines to be run (all if omitted)")
|
||||
|
||||
opa.add_option("--rc", "--report-combines", action="store_true",
|
||||
dest="reportCombines", default=False,
|
||||
help="Display combine reports")
|
||||
|
||||
opa.add_option("--rec", "--report-err-combines", action="store_true",
|
||||
dest="reportErrCombines", default=False,
|
||||
help="Display erroneous combine reports only")
|
||||
|
||||
opa.add_option("--debug", action="store_true",
|
||||
dest="debugEnabled", default=False,
|
||||
help="Displays debug messages")
|
||||
|
||||
opa.add_option("--info", action="store_true",
|
||||
dest="info", default=False,
|
||||
help="Displays info on the suite only. Does not run any test.")
|
||||
opa.add_option("--sax", action="store_true",
|
||||
dest="validationSAX", default=False,
|
||||
help="Use SAX2-driven validation.")
|
||||
opa.add_option("--tn", action="store_true",
|
||||
dest="displayTestName", default=False,
|
||||
help="Display the test name in every case.")
|
||||
|
||||
(options, args) = opa.parse_args()
|
||||
|
||||
if options.combines is not None:
|
||||
options.combines = options.combines.split()
|
||||
|
||||
################################################
|
||||
# The vars below are not intended to be changed.
|
||||
#
|
||||
|
||||
msgSchemaNotValidButShould = "The schema should be valid."
|
||||
msgSchemaValidButShouldNot = "The schema should be invalid."
|
||||
msgInstanceNotValidButShould = "The instance should be valid."
|
||||
msgInstanceValidButShouldNot = "The instance should be invalid."
|
||||
vendorNIST = "NIST"
|
||||
vendorNIST_2 = "NIST-2"
|
||||
vendorSUN = "SUN"
|
||||
vendorMS = "MS"
|
||||
|
||||
###################
|
||||
# Helper functions.
|
||||
#
|
||||
vendor = None
|
||||
|
||||
def handleError(test, msg):
|
||||
global options
|
||||
if not options.silent:
|
||||
test.addLibLog("'%s' LIB: %s" % (test.name, msg))
|
||||
if msg.find("Unimplemented") > -1:
|
||||
test.failUnimplemented()
|
||||
elif msg.find("Internal") > -1:
|
||||
test.failInternal()
|
||||
|
||||
|
||||
def fixFileNames(fileName):
|
||||
if (fileName is None) or (fileName == ""):
|
||||
return ""
|
||||
dirs = fileName.split("/")
|
||||
if dirs[1] != "Tests":
|
||||
fileName = os.path.join(".", "Tests")
|
||||
for dir in dirs[1:]:
|
||||
fileName = os.path.join(fileName, dir)
|
||||
return fileName
|
||||
|
||||
class XSTCTestGroup:
|
||||
def __init__(self, name, schemaFileName, descr):
|
||||
global vendor, vendorNIST_2
|
||||
self.name = name
|
||||
self.descr = descr
|
||||
self.mainSchema = True
|
||||
self.schemaFileName = fixFileNames(schemaFileName)
|
||||
self.schemaParsed = False
|
||||
self.schemaTried = False
|
||||
|
||||
def setSchema(self, schemaFileName, parsed):
|
||||
if not self.mainSchema:
|
||||
return
|
||||
self.mainSchema = False
|
||||
self.schemaParsed = parsed
|
||||
self.schemaTried = True
|
||||
|
||||
class XSTCTestCase:
|
||||
|
||||
# <!-- groupName, Name, Accepted, File, Val, Descr
|
||||
def __init__(self, isSchema, groupName, name, accepted, file, val, descr):
|
||||
global options
|
||||
#
|
||||
# Constructor.
|
||||
#
|
||||
self.testRunner = None
|
||||
self.isSchema = isSchema
|
||||
self.groupName = groupName
|
||||
self.name = name
|
||||
self.accepted = accepted
|
||||
self.fileName = fixFileNames(file)
|
||||
self.val = val
|
||||
self.descr = descr
|
||||
self.failed = False
|
||||
self.combineName = None
|
||||
|
||||
self.log = []
|
||||
self.libLog = []
|
||||
self.initialMemUsed = 0
|
||||
self.memLeak = 0
|
||||
self.excepted = False
|
||||
self.bad = False
|
||||
self.unimplemented = False
|
||||
self.internalErr = False
|
||||
self.noSchemaErr = False
|
||||
self.failed = False
|
||||
#
|
||||
# Init the log.
|
||||
#
|
||||
if not options.silent:
|
||||
if self.descr is not None:
|
||||
self.log.append("'%s' descr: %s\n" % (self.name, self.descr))
|
||||
self.log.append("'%s' exp validity: %d\n" % (self.name, self.val))
|
||||
|
||||
def initTest(self, runner):
|
||||
global vendorNIST, vendorSUN, vendorMS, vendorNIST_2, options, vendor
|
||||
#
|
||||
# Get the test-group.
|
||||
#
|
||||
self.runner = runner
|
||||
self.group = runner.getGroup(self.groupName)
|
||||
if vendor == vendorMS or vendor == vendorSUN:
|
||||
#
|
||||
# Use the last given directory for the combine name.
|
||||
#
|
||||
dirs = self.fileName.split("/")
|
||||
self.combineName = dirs[len(dirs) -2]
|
||||
elif vendor == vendorNIST:
|
||||
#
|
||||
# NIST files are named in the following form:
|
||||
# "NISTSchema-short-pattern-1.xsd"
|
||||
#
|
||||
tokens = self.name.split("-")
|
||||
self.combineName = tokens[1]
|
||||
elif vendor == vendorNIST_2:
|
||||
#
|
||||
# Group-names have the form: "atomic-normalizedString-length-1"
|
||||
#
|
||||
tokens = self.groupName.split("-")
|
||||
self.combineName = "%s-%s" % (tokens[0], tokens[1])
|
||||
else:
|
||||
self.combineName = "unkown"
|
||||
raise Exception("Could not compute the combine name of a test.")
|
||||
if (not options.silent) and (self.group.descr is not None):
|
||||
self.log.append("'%s' group-descr: %s\n" % (self.name, self.group.descr))
|
||||
|
||||
|
||||
def addLibLog(self, msg):
|
||||
"""This one is intended to be used by the error handler
|
||||
function"""
|
||||
global options
|
||||
if not options.silent:
|
||||
self.libLog.append(msg)
|
||||
|
||||
def fail(self, msg):
|
||||
global options
|
||||
self.failed = True
|
||||
if not options.silent:
|
||||
self.log.append("'%s' ( FAILED: %s\n" % (self.name, msg))
|
||||
|
||||
def failNoSchema(self):
|
||||
global options
|
||||
self.failed = True
|
||||
self.noSchemaErr = True
|
||||
if not options.silent:
|
||||
self.log.append("'%s' X NO-SCHEMA\n" % (self.name))
|
||||
|
||||
def failInternal(self):
|
||||
global options
|
||||
self.failed = True
|
||||
self.internalErr = True
|
||||
if not options.silent:
|
||||
self.log.append("'%s' * INTERNAL\n" % self.name)
|
||||
|
||||
def failUnimplemented(self):
|
||||
global options
|
||||
self.failed = True
|
||||
self.unimplemented = True
|
||||
if not options.silent:
|
||||
self.log.append("'%s' ? UNIMPLEMENTED\n" % self.name)
|
||||
|
||||
def failCritical(self, msg):
|
||||
global options
|
||||
self.failed = True
|
||||
self.bad = True
|
||||
if not options.silent:
|
||||
self.log.append("'%s' ! BAD: %s\n" % (self.name, msg))
|
||||
|
||||
def failExcept(self, e):
|
||||
global options
|
||||
self.failed = True
|
||||
self.excepted = True
|
||||
if not options.silent:
|
||||
self.log.append("'%s' # EXCEPTION: %s\n" % (self.name, e.__str__()))
|
||||
|
||||
def setUp(self):
|
||||
#
|
||||
# Set up Libxml2.
|
||||
#
|
||||
self.initialMemUsed = libxml2.debugMemory(1)
|
||||
libxml2.initParser()
|
||||
libxml2.lineNumbersDefault(1)
|
||||
libxml2.registerErrorHandler(handleError, self)
|
||||
|
||||
def tearDown(self):
|
||||
libxml2.schemaCleanupTypes()
|
||||
libxml2.cleanupParser()
|
||||
self.memLeak = libxml2.debugMemory(1) - self.initialMemUsed
|
||||
|
||||
def isIOError(self, file, docType):
|
||||
err = None
|
||||
try:
|
||||
err = libxml2.lastError()
|
||||
except:
|
||||
# Suppress exceptions.
|
||||
pass
|
||||
if (err is None):
|
||||
return False
|
||||
if err.domain() == libxml2.XML_FROM_IO:
|
||||
self.failCritical("failed to access the %s resource '%s'\n" % (docType, file))
|
||||
|
||||
def debugMsg(self, msg):
|
||||
global options
|
||||
if options.debugEnabled:
|
||||
sys.stdout.write("'%s' DEBUG: %s\n" % (self.name, msg))
|
||||
|
||||
def finalize(self):
|
||||
global options
|
||||
"""Adds additional info to the log."""
|
||||
#
|
||||
# Add libxml2 messages.
|
||||
#
|
||||
if not options.silent:
|
||||
self.log.extend(self.libLog)
|
||||
#
|
||||
# Add memory leaks.
|
||||
#
|
||||
if self.memLeak != 0:
|
||||
self.log.append("%s + memory leak: %d bytes\n" % (self.name, self.memLeak))
|
||||
|
||||
def run(self):
|
||||
"""Runs a test."""
|
||||
global options
|
||||
|
||||
##filePath = os.path.join(options.baseDir, self.fileName)
|
||||
# filePath = "%s/%s/%s/%s" % (options.baseDir, self.test_Folder, self.schema_Folder, self.schema_File)
|
||||
if options.displayTestName:
|
||||
sys.stdout.write("'%s'\n" % self.name)
|
||||
try:
|
||||
self.validate()
|
||||
except (Exception, libxml2.parserError, libxml2.treeError), e:
|
||||
self.failExcept(e)
|
||||
|
||||
def parseSchema(fileName):
|
||||
schema = None
|
||||
ctxt = libxml2.schemaNewParserCtxt(fileName)
|
||||
try:
|
||||
try:
|
||||
schema = ctxt.schemaParse()
|
||||
except:
|
||||
pass
|
||||
finally:
|
||||
del ctxt
|
||||
return schema
|
||||
|
||||
|
||||
class XSTCSchemaTest(XSTCTestCase):
|
||||
|
||||
def __init__(self, groupName, name, accepted, file, val, descr):
|
||||
XSTCTestCase.__init__(self, 1, groupName, name, accepted, file, val, descr)
|
||||
|
||||
def validate(self):
|
||||
global msgSchemaNotValidButShould, msgSchemaValidButShouldNot
|
||||
schema = None
|
||||
filePath = self.fileName
|
||||
# os.path.join(options.baseDir, self.fileName)
|
||||
valid = 0
|
||||
try:
|
||||
#
|
||||
# Parse the schema.
|
||||
#
|
||||
self.debugMsg("loading schema: %s" % filePath)
|
||||
schema = parseSchema(filePath)
|
||||
self.debugMsg("after loading schema")
|
||||
if schema is None:
|
||||
self.debugMsg("schema is None")
|
||||
self.debugMsg("checking for IO errors...")
|
||||
if self.isIOError(file, "schema"):
|
||||
return
|
||||
self.debugMsg("checking schema result")
|
||||
if (schema is None and self.val) or (schema is not None and self.val == 0):
|
||||
self.debugMsg("schema result is BAD")
|
||||
if (schema == None):
|
||||
self.fail(msgSchemaNotValidButShould)
|
||||
else:
|
||||
self.fail(msgSchemaValidButShouldNot)
|
||||
else:
|
||||
self.debugMsg("schema result is OK")
|
||||
finally:
|
||||
self.group.setSchema(self.fileName, schema is not None)
|
||||
del schema
|
||||
|
||||
class XSTCInstanceTest(XSTCTestCase):
|
||||
|
||||
def __init__(self, groupName, name, accepted, file, val, descr):
|
||||
XSTCTestCase.__init__(self, 0, groupName, name, accepted, file, val, descr)
|
||||
|
||||
def validate(self):
|
||||
instance = None
|
||||
schema = None
|
||||
filePath = self.fileName
|
||||
# os.path.join(options.baseDir, self.fileName)
|
||||
|
||||
if not self.group.schemaParsed and self.group.schemaTried:
|
||||
self.failNoSchema()
|
||||
return
|
||||
|
||||
self.debugMsg("loading instance: %s" % filePath)
|
||||
parserCtxt = libxml2.newParserCtxt()
|
||||
if (parserCtxt is None):
|
||||
# TODO: Is this one necessary, or will an exception
|
||||
# be already raised?
|
||||
raise Exception("Could not create the instance parser context.")
|
||||
if not options.validationSAX:
|
||||
try:
|
||||
try:
|
||||
instance = parserCtxt.ctxtReadFile(filePath, None, libxml2.XML_PARSE_NOWARNING)
|
||||
except:
|
||||
# Suppress exceptions.
|
||||
pass
|
||||
finally:
|
||||
del parserCtxt
|
||||
self.debugMsg("after loading instance")
|
||||
if instance is None:
|
||||
self.debugMsg("instance is None")
|
||||
self.failCritical("Failed to parse the instance for unknown reasons.")
|
||||
return
|
||||
try:
|
||||
#
|
||||
# Validate the instance.
|
||||
#
|
||||
self.debugMsg("loading schema: %s" % self.group.schemaFileName)
|
||||
schema = parseSchema(self.group.schemaFileName)
|
||||
try:
|
||||
validationCtxt = schema.schemaNewValidCtxt()
|
||||
#validationCtxt = libxml2.schemaNewValidCtxt(None)
|
||||
if (validationCtxt is None):
|
||||
self.failCritical("Could not create the validation context.")
|
||||
return
|
||||
try:
|
||||
self.debugMsg("validating instance")
|
||||
if options.validationSAX:
|
||||
instance_Err = validationCtxt.schemaValidateFile(filePath, 0)
|
||||
else:
|
||||
instance_Err = validationCtxt.schemaValidateDoc(instance)
|
||||
self.debugMsg("after instance validation")
|
||||
self.debugMsg("instance-err: %d" % instance_Err)
|
||||
if (instance_Err != 0 and self.val == 1) or (instance_Err == 0 and self.val == 0):
|
||||
self.debugMsg("instance result is BAD")
|
||||
if (instance_Err != 0):
|
||||
self.fail(msgInstanceNotValidButShould)
|
||||
else:
|
||||
self.fail(msgInstanceValidButShouldNot)
|
||||
|
||||
else:
|
||||
self.debugMsg("instance result is OK")
|
||||
finally:
|
||||
del validationCtxt
|
||||
finally:
|
||||
del schema
|
||||
finally:
|
||||
if instance is not None:
|
||||
instance.freeDoc()
|
||||
|
||||
|
||||
####################
|
||||
# Test runner class.
|
||||
#
|
||||
|
||||
class XSTCTestRunner:
|
||||
|
||||
CNT_TOTAL = 0
|
||||
CNT_RAN = 1
|
||||
CNT_SUCCEEDED = 2
|
||||
CNT_FAILED = 3
|
||||
CNT_UNIMPLEMENTED = 4
|
||||
CNT_INTERNAL = 5
|
||||
CNT_BAD = 6
|
||||
CNT_EXCEPTED = 7
|
||||
CNT_MEMLEAK = 8
|
||||
CNT_NOSCHEMA = 9
|
||||
CNT_NOTACCEPTED = 10
|
||||
CNT_SCHEMA_TEST = 11
|
||||
|
||||
def __init__(self):
|
||||
self.logFile = None
|
||||
self.counters = self.createCounters()
|
||||
self.testList = []
|
||||
self.combinesRan = {}
|
||||
self.groups = {}
|
||||
self.curGroup = None
|
||||
|
||||
def createCounters(self):
|
||||
counters = {self.CNT_TOTAL:0, self.CNT_RAN:0, self.CNT_SUCCEEDED:0,
|
||||
self.CNT_FAILED:0, self.CNT_UNIMPLEMENTED:0, self.CNT_INTERNAL:0, self.CNT_BAD:0,
|
||||
self.CNT_EXCEPTED:0, self.CNT_MEMLEAK:0, self.CNT_NOSCHEMA:0, self.CNT_NOTACCEPTED:0,
|
||||
self.CNT_SCHEMA_TEST:0}
|
||||
|
||||
return counters
|
||||
|
||||
def addTest(self, test):
|
||||
self.testList.append(test)
|
||||
test.initTest(self)
|
||||
|
||||
def getGroup(self, groupName):
|
||||
return self.groups[groupName]
|
||||
|
||||
def addGroup(self, group):
|
||||
self.groups[group.name] = group
|
||||
|
||||
def updateCounters(self, test, counters):
|
||||
if test.memLeak != 0:
|
||||
counters[self.CNT_MEMLEAK] += 1
|
||||
if not test.failed:
|
||||
counters[self.CNT_SUCCEEDED] +=1
|
||||
if test.failed:
|
||||
counters[self.CNT_FAILED] += 1
|
||||
if test.bad:
|
||||
counters[self.CNT_BAD] += 1
|
||||
if test.unimplemented:
|
||||
counters[self.CNT_UNIMPLEMENTED] += 1
|
||||
if test.internalErr:
|
||||
counters[self.CNT_INTERNAL] += 1
|
||||
if test.noSchemaErr:
|
||||
counters[self.CNT_NOSCHEMA] += 1
|
||||
if test.excepted:
|
||||
counters[self.CNT_EXCEPTED] += 1
|
||||
if not test.accepted:
|
||||
counters[self.CNT_NOTACCEPTED] += 1
|
||||
if test.isSchema:
|
||||
counters[self.CNT_SCHEMA_TEST] += 1
|
||||
return counters
|
||||
|
||||
def displayResults(self, out, all, combName, counters):
|
||||
out.write("\n")
|
||||
if all:
|
||||
if options.combines is not None:
|
||||
out.write("combine(s): %s\n" % str(options.combines))
|
||||
elif combName is not None:
|
||||
out.write("combine : %s\n" % combName)
|
||||
out.write(" total : %d\n" % counters[self.CNT_TOTAL])
|
||||
if all or options.combines is not None:
|
||||
out.write(" ran : %d\n" % counters[self.CNT_RAN])
|
||||
out.write(" (schemata) : %d\n" % counters[self.CNT_SCHEMA_TEST])
|
||||
# out.write(" succeeded : %d\n" % counters[self.CNT_SUCCEEDED])
|
||||
out.write(" not accepted : %d\n" % counters[self.CNT_NOTACCEPTED])
|
||||
if counters[self.CNT_FAILED] > 0:
|
||||
out.write(" failed : %d\n" % counters[self.CNT_FAILED])
|
||||
out.write(" -> internal : %d\n" % counters[self.CNT_INTERNAL])
|
||||
out.write(" -> unimpl. : %d\n" % counters[self.CNT_UNIMPLEMENTED])
|
||||
out.write(" -> skip-invalid-schema : %d\n" % counters[self.CNT_NOSCHEMA])
|
||||
out.write(" -> bad : %d\n" % counters[self.CNT_BAD])
|
||||
out.write(" -> exceptions : %d\n" % counters[self.CNT_EXCEPTED])
|
||||
out.write(" memory leaks : %d\n" % counters[self.CNT_MEMLEAK])
|
||||
|
||||
def displayShortResults(self, out, all, combName, counters):
|
||||
out.write("Ran %d of %d tests (%d schemata):" % (counters[self.CNT_RAN],
|
||||
counters[self.CNT_TOTAL], counters[self.CNT_SCHEMA_TEST]))
|
||||
# out.write(" succeeded : %d\n" % counters[self.CNT_SUCCEEDED])
|
||||
if counters[self.CNT_NOTACCEPTED] > 0:
|
||||
out.write(" %d not accepted" % (counters[self.CNT_NOTACCEPTED]))
|
||||
if counters[self.CNT_FAILED] > 0 or counters[self.CNT_MEMLEAK] > 0:
|
||||
if counters[self.CNT_FAILED] > 0:
|
||||
out.write(" %d failed" % (counters[self.CNT_FAILED]))
|
||||
out.write(" (")
|
||||
if counters[self.CNT_INTERNAL] > 0:
|
||||
out.write(" %d internal" % (counters[self.CNT_INTERNAL]))
|
||||
if counters[self.CNT_UNIMPLEMENTED] > 0:
|
||||
out.write(" %d unimplemented" % (counters[self.CNT_UNIMPLEMENTED]))
|
||||
if counters[self.CNT_NOSCHEMA] > 0:
|
||||
out.write(" %d skip-invalid-schema" % (counters[self.CNT_NOSCHEMA]))
|
||||
if counters[self.CNT_BAD] > 0:
|
||||
out.write(" %d bad" % (counters[self.CNT_BAD]))
|
||||
if counters[self.CNT_EXCEPTED] > 0:
|
||||
out.write(" %d exception" % (counters[self.CNT_EXCEPTED]))
|
||||
out.write(" )")
|
||||
if counters[self.CNT_MEMLEAK] > 0:
|
||||
out.write(" %d leaks" % (counters[self.CNT_MEMLEAK]))
|
||||
out.write("\n")
|
||||
else:
|
||||
out.write(" all passed\n")
|
||||
|
||||
def reportCombine(self, combName):
|
||||
global options
|
||||
|
||||
counters = self.createCounters()
|
||||
#
|
||||
# Compute evaluation counters.
|
||||
#
|
||||
for test in self.combinesRan[combName]:
|
||||
counters[self.CNT_TOTAL] += 1
|
||||
counters[self.CNT_RAN] += 1
|
||||
counters = self.updateCounters(test, counters)
|
||||
if options.reportErrCombines and (counters[self.CNT_FAILED] == 0) and (counters[self.CNT_MEMLEAK] == 0):
|
||||
pass
|
||||
else:
|
||||
if options.enableLog:
|
||||
self.displayResults(self.logFile, False, combName, counters)
|
||||
self.displayResults(sys.stdout, False, combName, counters)
|
||||
|
||||
def displayTestLog(self, test):
|
||||
sys.stdout.writelines(test.log)
|
||||
sys.stdout.write("~~~~~~~~~~\n")
|
||||
|
||||
def reportTest(self, test):
|
||||
global options
|
||||
|
||||
error = test.failed or test.memLeak != 0
|
||||
#
|
||||
# Only erroneous tests will be written to the log,
|
||||
# except @verbose is switched on.
|
||||
#
|
||||
if options.enableLog and (options.verbose or error):
|
||||
self.logFile.writelines(test.log)
|
||||
self.logFile.write("~~~~~~~~~~\n")
|
||||
#
|
||||
# if not @silent, only erroneous tests will be
|
||||
# written to stdout, except @verbose is switched on.
|
||||
#
|
||||
if not options.silent:
|
||||
if options.reportInternalErrOnly and test.internalErr:
|
||||
self.displayTestLog(test)
|
||||
if options.reportMemLeakErrOnly and test.memLeak != 0:
|
||||
self.displayTestLog(test)
|
||||
if options.reportUnimplErrOnly and test.unimplemented:
|
||||
self.displayTestLog(test)
|
||||
if (options.verbose or error) and (not options.reportInternalErrOnly) and (not options.reportMemLeakErrOnly) and (not options.reportUnimplErrOnly):
|
||||
self.displayTestLog(test)
|
||||
|
||||
|
||||
def addToCombines(self, test):
|
||||
found = False
|
||||
if self.combinesRan.has_key(test.combineName):
|
||||
self.combinesRan[test.combineName].append(test)
|
||||
else:
|
||||
self.combinesRan[test.combineName] = [test]
|
||||
|
||||
def run(self):
|
||||
|
||||
global options
|
||||
|
||||
if options.info:
|
||||
for test in self.testList:
|
||||
self.addToCombines(test)
|
||||
sys.stdout.write("Combines: %d\n" % len(self.combinesRan))
|
||||
sys.stdout.write("%s\n" % self.combinesRan.keys())
|
||||
return
|
||||
|
||||
if options.enableLog:
|
||||
self.logFile = open(options.logFile, "w")
|
||||
try:
|
||||
for test in self.testList:
|
||||
self.counters[self.CNT_TOTAL] += 1
|
||||
#
|
||||
# Filter tests.
|
||||
#
|
||||
if options.singleTest is not None and options.singleTest != "":
|
||||
if (test.name != options.singleTest):
|
||||
continue
|
||||
elif options.combines is not None:
|
||||
if not options.combines.__contains__(test.combineName):
|
||||
continue
|
||||
elif options.testStartsWith is not None:
|
||||
if not test.name.startswith(options.testStartsWith):
|
||||
continue
|
||||
elif options.combineStartsWith is not None:
|
||||
if not test.combineName.startswith(options.combineStartsWith):
|
||||
continue
|
||||
|
||||
if options.maxTestCount != -1 and self.counters[self.CNT_RAN] >= options.maxTestCount:
|
||||
break
|
||||
self.counters[self.CNT_RAN] += 1
|
||||
#
|
||||
# Run the thing, dammit.
|
||||
#
|
||||
try:
|
||||
test.setUp()
|
||||
try:
|
||||
test.run()
|
||||
finally:
|
||||
test.tearDown()
|
||||
finally:
|
||||
#
|
||||
# Evaluate.
|
||||
#
|
||||
test.finalize()
|
||||
self.reportTest(test)
|
||||
if options.reportCombines or options.reportErrCombines:
|
||||
self.addToCombines(test)
|
||||
self.counters = self.updateCounters(test, self.counters)
|
||||
finally:
|
||||
if options.reportCombines or options.reportErrCombines:
|
||||
#
|
||||
# Build a report for every single combine.
|
||||
#
|
||||
# TODO: How to sort a dict?
|
||||
#
|
||||
self.combinesRan.keys().sort(None)
|
||||
for key in self.combinesRan.keys():
|
||||
self.reportCombine(key)
|
||||
|
||||
#
|
||||
# Display the final report.
|
||||
#
|
||||
if options.silent:
|
||||
self.displayShortResults(sys.stdout, True, None, self.counters)
|
||||
else:
|
||||
sys.stdout.write("===========================\n")
|
||||
self.displayResults(sys.stdout, True, None, self.counters)
|
||||
Reference in New Issue
Block a user