1
0
mirror of https://github.com/GNOME/libxml2.git synced 2025-05-11 22:21:52 +08:00

24 Commits

Author SHA1 Message Date
Nick Wellnhofer
988a5a3b6b Build test programs only when needed
Add test programs to 'check_PROGRAMS' instead of 'noinst_PROGRAMS'.

Fixes bug 760457.
2017-06-17 15:44:50 +02:00
Nick Wellnhofer
b9b4b6b513 Fix doc/examples/index.py
In my previous commit that silenced some test output I didn't realize
that doc/examples/Makefile.am was autogenerated.

Also make index.py output deterministic by sorting the glob results.
2017-06-17 15:43:29 +02:00
Daniel Veillard
e00778b492 Followup to LibXML2 docs/examples cleanup patch 2012-09-08 21:09:26 +08:00
Daniel Richard
878ec9db9d Second round of cleanups for LibXML2 docs/examples
configure.am:

* Explicitly disallow --enable-rebuild-docs when builddir != srcdir, per
   what you said about needing to build docs with an in-source build

doc/Makefile.am:

* Ensure that xmlversion.h is in the source tree before running
   apibuild.py, to avoid generating an incomplete libxml2-api.xml

* Update the .PHONY target (forgot to do this earlier)

doc/devhelp/Makefile.am:

* Wrap the doc-generating rule in an "if REBUILD_DOCS" conditional so it
   doesn't cause trouble for regular users

* Added a handy-dandy "rebuild" target

doc/examples/index.py:

* NOTE: You need to run this script to regenerate the files it creates,
   and then commit the newly-updated files! The generated files currently
   in git master (e.g. doc/examples/Makefile.am) are out of date even
   before this patch!

* index.html really needs to be in EXTRA_DIST

* Wrap the doc-generating rules in an "if REBUILD_DOCS" conditional,
   because they shouldn't be active otherwise
2012-09-07 14:52:17 +08:00
Daniel Richard G
6842ee810e More cleanups to the documentation part of libxml2
doc/Makefile.am:

* Build what's in doc/ before doc/devhelp/, as the dependency graph flows
   that way

* Add "--path $(srcdir)" so that xsltproc can find DTDs in srcdir

* Replaced $(top_srcdir)/doc with an equivalent $(srcdir)

* Qualified libxml2-api.xml with $(srcdir) as it's always generated there

* Rewrote the dependencies for libxml2-api.xml so that xmlversion.h
   doesn't throw everything off

doc/devhelp/Makefile.am:

* Use Automake constructs to install the HTML files instead of an
   install-data-local rule

* Reorganized the file a bit (hello whitespace!)

* EXTRA_DIST doesn't need to list so many files now that dist_devhelp_DATA
   is being used

* Only print "Rebuilding devhelp files" if rebuilding is actually
   occurring

doc/examples/index.py:

* Make the "this file is auto-generated" banner more prominent

* Autotools updates: Use AM_CPPFLAGS/AM_CFLAGS instead of INCLUDES

* Got rid of DEPS as it's not needed (Automake already sees the dependency
   on libxml2.la by way of LDADD(S))

* Replaced LDADDS with LDADD, which is applied to all programs listed
   in the file. Since all the test programs have the same link
   dependencies, this way is more concise yet equivalent.

* Remove the *.tmp files via "make clean" instead of having the test
   programs do it themselves (more on this later)

* Invoke index.py in srcdir, as it pretty much needs to run there

* Restructured the index.html rule so that only the xmllint invocation is
   allowed to fail

* Use $(MKDIR_P) instead of $(mkinstalldirs), $(VAR) instead of @VAR@

* Remove symlinks for test?.xml in an out-of-source build

* Sort lists for neatness

* Better formatting for EXTRA_DIST and noinst_PROGRAMS variables

* Simplified the Automake bits printed for each program: *_LDFLAGS doesn't
   need to be specified as it's empty anyway, *_DEPENDENCIES is redundant,
   *_LDADD isn't needed due to the global LDADD

* Added a bit that symlinks in test?.xml from srcdir in out-of-source
   builds. This allows the reader4 test to read these files in the current
   directory, which ensures that the output always looks the same (i.e.
   does not contain references to srcdir)

* Don't hide the test program invocation (or else it's hard to tell which
   test failed), and don't use superfluous parentheses

* NOTE: If you check in these changes, be sure to run this script and also
   check in the updated files that it generates!

doc/examples/*.c:

* Updated the test: lines so that

   + "&&" is used to separate commands instead of ";" so that errors are
     not masked

   + reference files are qualified with $(srcdir)/

   + no "rm" takes place -- these are a problem because (1) if a test
     fails, it's useful to have the output file ready for inspection; (2)
     the "rm" invocation masks a potential non-zero exit status from diff

     (This is why I added the CLEANFILES line above)

doc/examples/io1.res:

* Updated this ref file so that the test passes. (This is correct, right?)

doc/examples/reader4.res:

* Changed this back to its original form, as the symlinking of test?.xml
   means this file no longer has to contain path prefixes on the filenames

doc/examples/testWriter.c:

* Changed the output filenames to *.tmp instead of *.res, partly for
   consistency, partly to not have to add special cases to CLEANFILES

doc/examples/xpath1.c:

* Removed the "./" prefix on the test invocation, which is redundant as
   index.py already adds one
2012-08-17 09:58:38 +08:00
Daniel Richard G
5706b6d876 Various "make distcheck" and portability fixups
Makefile.am:

* Don't use @VAR@, use $(VAR). Autoconf's AC_SUBST provides us the Make
   variable, it allows overriding the value at the command line, and
   (notably) it avoids a Make parse error in the libxml2_la_LDFLAGS
   assignment when @MODULE_PLATFORM_LIBS@ is empty

* Changed how the THREADS_W32 mechanism switches the build between
   testThreads.c and testThreadsWin32.c as appropriate; using AM_CONDITIONAL
   allows this to work cleanly and plays well with dependencies

* testapi.c should be specified as BUILT_SOURCES

* Create symlinks to the test/ and result/ subdirs so that the runtests
   target is usable in out-of-source-tree builds

* Don't do MAKEFLAGS+=--silent as this is not portable to non-GNU Makes

* Fixed incorrect find(1) syntax in the "cleanup" rule, and doing "rm -f"
   instead of just "rm" is good form

* (DIST)CLEANFILES needed a bit more coverage to allow "make distcheck" to
   pass

configure.in:

* Need AC_PROG_LN_S to create test/ and result/ symlinks in Makefile.am

* AC_LIBTOOL_WIN32_DLL and AM_PROG_LIBTOOL are obsolete; these have been
   superceded by LT_INIT

* Don't rebuild docs by default, as this requires GNU Make (as
   implemented)

* Check for uint32_t as some platforms don't provide it

* Check for some more functions, and undefine HAVE_MMAP if we don't also
   HAVE_MUNMAP (one system I tested on actually needed this)

* Changed THREADS_W32 from a filename insert into an Automake conditional

* The "Copyright" file will not be in the current directory if builddir !=
   srcdir

doc/Makefile.am:

* EXTRA_DIST cannot use wildcards when they refer to generated files; this
   breaks dependencies. What I did was define EXTRA_DIST_wc, which uses GNU
   Make $(wildcard) directives to build up a list of files, and EXTRA_DIST,
   as a literal expansion of EXTRA_DIST_wc. I also added a new rule,
   "check-extra-dist", to simplify checking that the two variables are
   equivalent. (Note that this works only when builddir == srcdir)

   (I can implement this differently if desired; this is just one way of
   doing it)

* Don't define an "all" target; this steps on Automake's toes

* Fixed up the "libxml2-api.xml ..." rule by using $(wildcard) for
   dependencies (as Make doesn't process the wildcards otherwise) and
   qualifying appropriate files with $(srcdir)

   (Note that $(srcdir) is not needed in the dependencies, thanks to VPATH,
   which we can count on as this is GNU-Make-only code anyway)

doc/devhelp/Makefile.am:

* Qualified appropriate files with $(srcdir)

* Added an "uninstall-local" rule so that "make distcheck" passes

doc/examples/Makefile.am:

* Rather than use a wildcard that doesn't work, use a substitution that
   most Make programs can handle

doc/examples/index.py:

* Do the same here

include/libxml/nanoftp.h:

* Some platforms (e.g. MSVC 6) already #define INVALID_SOCKET:

     user@host:/cygdrive/c/Program Files/Microsoft Visual Studio/VC98/\
     Include$ grep -R INVALID_SOCKET .
     ./WINSOCK.H:#define INVALID_SOCKET  (SOCKET)(~0)
     ./WINSOCK2.H:#define INVALID_SOCKET  (SOCKET)(~0)

include/libxml/xmlversion.h.in:

* Support ancient GCCs (I was actually able to build the library with 2.5
   but for this bit)

python/Makefile.am:

* Expanded CLEANFILES to allow "make distcheck" to pass

python/tests/Makefile.am:

* Define CLEANFILES instead of a "clean" rule, and added tmp.xml to allow
   "make distcheck" to pass

testRelax.c:

* Use HAVE_MMAP instead of the less explicit HAVE_SYS_MMAN_H (as some
   systems have the header but not the function)

testSchemas.c:

* Use HAVE_MMAP instead of the less explicit HAVE_SYS_MMAN_H

testapi.c:

* Don't use putenv() if it's not available

threads.c:

* This fixes the following build error on Solaris 8:

     libtool: compile:  cc -DHAVE_CONFIG_H -I. -I./include -I./include \
     -D_REENTRANT -D__EXTENSIONS__ -D_REENTRANT -Dsparc -Xa -mt -v \
     -xarch=v9 -xcrossfile -xO5 -c threads.c  -KPIC -DPIC -o threads.o
     "threads.c", line 442: controlling expressions must have scalar type
     "threads.c", line 512: controlling expressions must have scalar type
     cc: acomp failed for threads.c
     *** Error code 1

trio.c:

* Define isascii() if the system doesn't provide it

trio.h:

* The trio library's HAVE_CONFIG_H header is not the same as LibXML2's
   HAVE_CONFIG_H header; this change is needed to avoid a double-inclusion

win32/configure.js:

* Added support for the LZMA compression option

win32/Makefile.{bcb,mingw,msvc}:

* Added appropriate bits to support WITH_LZMA=1

* Install the header files under $(INCPREFIX)\libxml2\libxml instead of
   $(INCPREFIX)\libxml, to mirror the install location on Unix+Autotools

xml2-config.in:

* @MODULE_PLATFORM_LIBS@ (usually "-ldl") needs to be in there in order for
   `xml2-config --libs` to provide a complete set of dependencies

xmllint.c:

* Use HAVE_MMAP instead of the less-explicit HAVE_SYS_MMAN_H
2012-08-06 11:32:54 +08:00
Daniel Veillard
25c90c589b try to fix a problem with valgrind. applied memory leak fix from Brent
* Makefile.am doc/examples/Makefile.am python/tests/Makefile.am
  xstc/Makefile.am: try to fix a problem with valgrind.
* python/generator.py python/libxml.c python/tests/Makefile.am
  python/tests/tstmem.py: applied memory leak fix from Brent Hendricks
  c.f. bug #165349
Daniel
2005-03-02 10:47:41 +00:00
William M. Brack
cb40c222a4 changed changed sys.path setting from 'append' to 'insert' (patch supplied
* check-relaxng-test-suite.py, check-relaxng-test-suite2.py,
  check-xinclude-test-suite.py, check-xml-test-suite.py,
  check-xsddata-test-suite.py, doc/examples/index.py: changed
  changed sys.path setting from 'append' to 'insert' (patch
  supplied by Malcolm Tredinnick) (bug 153716)
2004-10-02 22:55:49 +00:00
Daniel Veillard
eb70f93ffa make the push interfaces synchronous added a specific test added the new
* parser.c: make the push interfaces synchronous
* python/tests/sync.py: added a specific test
* python/tests/Makefile.am doc/examples/Makefile.am
  doc/examples/index.py: added the new test, cleaning up
  "make tests" output
Daniel
2004-07-05 16:46:09 +00:00
Daniel Veillard
b5eb714320 added a test template added a new example, and make valgrind target Daniel
* doc/examples/xpath1.c: added a test template
* doc/examples/xpath2.c doc/examples/xpath2.res doc/examples/*:
  added a new example, and make valgrind target
Daniel
2004-03-26 13:55:38 +00:00
Daniel Veillard
fc97906edf paalied patch from Julio M. Merino Vidal fixing bug #134751 to fix
* configure.in doc/Makefile.am include/libxml/Makefile.am:
  paalied patch from Julio M. Merino Vidal fixing bug #134751
  to fix --with-html-dir option.
* doc/*: rebuilt fully the docs
* doc/html/libxml-xmlsave.html: new file from new header.
Daniel
2004-03-04 22:07:16 +00:00
Daniel Veillard
c3a429aac8 don't rely on . being on the path for make tests, should keep Mr. Crozat
* doc/examples/index.py: don't rely on . being on the path for
  make tests, should keep Mr. Crozat quiet until next time...
Daniel
2004-01-26 11:55:11 +00:00
Daniel Veillard
4773df2a58 added io1.c an example ox xmlIO usage and io1.res test result, fixed a
* doc/examples/*: added io1.c an example ox xmlIO usage and io1.res
  test result, fixed a awful lot of memory leaks showing up in
  testWriter.c, changed the examples and the Makefiles to test
  memory leaks.
* xmlwriter.c: fixed a memory leak
* Makefile.am: run the doc/examples regression tests as part of
  make tests
* xpath.c include/libxml/xpath.h: added xmlXPathCtxtCompile() to
  compile an XPath expression within a context, currently the goal
  is to be able to reuse the XSLT stylesheet dictionnary, but this
  opens the door to others possible optimizations.
* dict.c include/libxml/dict.h: added xmlDictCreateSub() which allows
  to build a new dictionnary based on another read-only dictionnary.
  This is needed for XSLT to keep the stylesheet dictionnary read-only
  while being able to reuse the strings for the transformation
  dictionnary.
* xinclude.c: fixed a dictionnar reference counting problem occuring
  when document parsing failed.
* testSAX.c: adding option --repeat for timing 100times the parsing
* doc/* : rebuilt all the docs
Daniel
2004-01-23 13:15:13 +00:00
Daniel Veillard
7ecced58c1 base64Binary is supported now, Daniel 2003-12-18 14:22:09 +00:00
Daniel Veillard
b286d84b86 don't call the result files .out but .res as the Makefiles tend to try
* doc/examples/*: don't call the result files .out but .res as
  the Makefiles tend to try generating binaries for .out targets...
Daniel
2003-12-17 15:08:55 +00:00
Daniel Veillard
f2a1283564 more XML Schemas fixes based on Eric van der Vlist examples added
* xmlregexp.c xmlschemas.c: more XML Schemas fixes based
  on Eric van der Vlist examples
* result/schemas/vdv-first4* test/schemas/vdv-first4*:
  added regression tests
* doc/examples/Makefile.am doc/examples/index.py: do not
  regenerate the index on make all target, but only on
  make rebuild to avoid troubles.
Daniel
2003-11-24 13:04:35 +00:00
Daniel Veillard
16ed597a93 added two xmlReader examples cleaned up some bugs in the process Daniel
* doc/examples/*: added two xmlReader examples
* xmlreader.c: cleaned up some bugs in the process
Daniel
2003-11-20 18:22:31 +00:00
Daniel Veillard
8d7b5c7ecd fixed some wording make sure doc/examples is packaged fixed the really
* Copyright: fixed some wording
* libxml.spec.in: make sure doc/examples is packaged
* include/libxml/tree.h valid.c xmlreader.c: fixed the really
  annoying problem about xmlRemoveID and xmlReader streaming.
  Thing looks fixed now, add to add a doc reference to the
  xmlID structure though...
Daniel
2003-11-15 18:24:36 +00:00
Daniel Veillard
d9d63d6e53 added Dodji's example, added output handling Daniel
* doc/examples/*: added Dodji's example, added output handling
Daniel
2003-11-13 11:45:43 +00:00
Daniel Veillard
241e19d4af added Aleksey XPath example, fixed bugs in the indexer Daniel
* doc/examples/*: added Aleksey XPath example, fixed bugs
  in the indexer
Daniel
2003-11-13 10:39:27 +00:00
Daniel Veillard
a59853a3cc integrating the examples in the navigation menus added make tests, updated
* doc/*: integrating the examples in the navigation menus
* doc/examples/*: added make tests, updated the navigation,
  added a new test, cleanups, updates.
Daniel
2003-11-12 22:50:47 +00:00
Daniel Veillard
8c03401bda rebuilt the generated HTML pages updated the stylesheets, added a
* doc/*.html: rebuilt the generated HTML pages
* doc/examples/*: updated the stylesheets, added a synopsis,
  Makefile.am is now generated by index.py
Daniel
2003-11-12 16:54:26 +00:00
Daniel Veillard
b72876d262 added autogeneration of a web page for the examples updated the
* doc/site.xsl doc/examples/Makefile.am doc/examples/index.html:
  added autogeneration of a web page for the examples
* doc/examples/example1.c doc/examples/.cvsignore
  doc/examples/examples.xml doc/examples/index.py: updated the
  informations extracted, improved the format and indexing.
Daniel
2003-11-12 00:40:33 +00:00
Daniel Veillard
d8cf90610c less verbose on difference cleanup fixed xmlCleanupParser() doc work on
* check-xinclude-test-suite.py: less verbose on difference
* libxml.spec.in: cleanup
* parser.c: fixed xmlCleanupParser() doc
* doc/Makefile.am doc/apibuild.py doc/libxml2-api.xml
  doc/examples/Makefile.am doc/examples/example1.c
  doc/examples/examples.xml doc/examples/index.py
  doc/examples/test1.xml: work on adding C examples and
  generating automated information about those. examples.xml
  is autogenerated describing the examples.
* example/Makefile.am: cleanup
Daniel
2003-11-11 21:12:36 +00:00