66 Commits

Author SHA1 Message Date
Nick Wellnhofer
92bb889be3 Don't index anything in DOC_DISABLE sections
Somewhat misleadingly, the DOC_DISABLE directive only disabled warnings.
Now we really stop the documentation generator from indexing.

This results in additional warnings for xmlThrDef* functions. This should
be fixed by documenting or deprecating them.
2022-08-24 00:51:52 +02:00
Nick Wellnhofer
a7af2c99e3 Fix order of exports in libxml2-api.xml
The values passed to the `uniq` function are dictionary keys and should
already be unique. On older Python versions, this would reshuffle the
list after it had just been sorted.
2022-08-18 21:31:36 +02:00
Nick Wellnhofer
f82b56c6c9 Remove libxml2-refs.xml
The cross-reference was only used by the old website.
2022-08-18 21:31:36 +02:00
David Seifert
a62b31f43f
Use portable python shebangs
* In conda or Gentoo Prefix, we don't want to use the system python and
  instead rely on PATH lookup.
2022-04-06 19:57:30 +02:00
Nick Wellnhofer
5ce893c0c4 Move regexp tests to runtest 2022-04-04 04:28:15 +02:00
Nick Wellnhofer
48b03c8479 Remove major parts of old test suite
Remove all the parts of the old test suite which are covered by
runtest.c for quite some time.

The following test programs are removed:

- testC14N
- testHTML
- testReader
- testRelax
- testSAX
- testSchemas
- testURI
- testXPath

This also removes a few results of unimportant tests only run by the old
test suite.
2022-04-04 04:14:55 +02:00
Nick Wellnhofer
d4f90698f4 Add XML_DEPRECATED to ignored keywords
Fixes the API documentation generator.
2022-03-05 17:27:14 +01:00
Nick Wellnhofer
346c3a930c Remove elfgcchack.h
The same optimization can be enabled with -fno-semantic-interposition
since GCC 5. clang has always used this option by default.
2022-02-20 21:49:04 +01:00
Nick Wellnhofer
b041d829a2 Remove xmlwin32version.h
This file was undocumented and never used anywhere. Maybe users were
supposed to rename this file to xmlversion.h manually. These days, both
CMake and win32/configure.js generate xmlversion.h from xmlversion.h.in,
just like the Autotools build.
2022-02-16 19:55:30 +01:00
Martin Vidner
43a8836cde Fix rebuilding docs, by hiding __attribute__((...)) behind a macro.
When enabled via `./configure --enable-rebuild-docs`,
`make -C doc libxml2-api.xml` will invoke apibuild.py
to rebuild libxml2-api.xml from the sources.
But the code added in
9fa3200cb366c726f7c8ef234282603bb9e8816d made it error out with

```
Parsing ../parser.c
Parse Error: parsing type : expecting a name
('Got token ', ('sep', '('))
('Last token: ', ('sep', '('))
('Token queue: ', [('name', 'destructor'), ('sep', ')'), ('sep', ')')])
('Line 14689 end: ', '')
```
2020-06-24 19:55:52 +02:00
Nick Wellnhofer
20c60886e4 Fix typos
Resolves #133.
2020-03-08 17:41:53 +01:00
Nick Wellnhofer
2e55f6dc67 Make apibuild.py ignore ATTRIBUTE_NO_SANITIZE 2019-09-30 18:05:45 +02:00
Nick Wellnhofer
37189c08e6 dict.h: gcc 2.95 doesn't allow multiple storage classes
This is a partial revert of commit c71f9305. I'm not sure what issue
this commit was trying to solve but it seems to be related to a
circular dependency. It might be related to tree.h being included
from dict.h which is unnecessary.

Resolves !22.
2019-07-08 12:23:13 +02:00
Nick Wellnhofer
57d4329bd7 Merge testThreadsWin32.c into testThreads.c
Apply the same cross-platform modifications as previously in runtest.c.
2019-01-06 14:32:28 +01:00
Daniel Veillard
8effcb578e Fix apibuild for a recently added construct
commit c71f9305a99b6aa03cb08fab31106c9c56f1be4f added __XML_EXTERNC
cpp construct which not understood by apibuild, leading to make dist
failures, ask to ignore that construct.
2016-05-09 10:31:09 +08:00
Daniel Veillard
d8a75bffa4 Converting apibuild.py to python3
not finished ....
2013-03-30 22:33:06 +08:00
Vojtech Fried
3e031b7dae Switching XPath node sorting to Timsort
I use libxml xpath engine on quite large (and mostly "flat") xml files.
It seems that Shellsort, that is used in xmlXPathNodeSetSort is a
performance bottleneck for my case. I have read some posts about sorting
in libxml in the libxml archive, but I agree that qsort was not the way
to go. I experimented with Timsort instead and my results were good for
me. For about 10000 nodes, my test was about 5x faster with Timsort,
for 1000 nodes about 10% faster, for small data files, the difference
was not measurable.
* timsort.h: the algorithm, kept in a separate header
* xpath.c: plug in the new algorithm in xmlXPathNodeSetSort
* Makefile.am: add the header to the EXTRA_DIST
* doc/apibuild.py: avoid indexing the new header
2012-08-24 16:52:44 +08:00
Daniel Veillard
64d11249a5 Fix missing xmlsave.h module which was ignored in recent builds
due to "save.h" rule discarding it too
2012-08-15 09:15:30 +08:00
Daniel Veillard
28cc42d068 Regenerating docs and API files
Various cleanups
* configure.in: force regeneration of APIs in my environment
* buf.c buf.h enc.h encoding.c include/libxml/tree.h
  include/libxml/xmlerror.h save.h tree.c: various comment cleanups
  pointed by apibuild
* doc/apibuild.py: added the 3 new internal headers in the excludes
* doc/libxml2-api.xml doc/libxml2-refs.xml: regenerated the API
* doc/symbols.xml: listing new entry points for 2.9.0
* doc/devhelp/*: regenerated
2012-08-10 10:00:18 +08:00
Daniel Veillard
79ee284abb Fix various problems with "make dist"
* tree.c: missing documentation for xmlBufferDetach
* doc/symbols.xml: add two new symbols xmlTextReaderRelaxNGValidateCtxt
                   and xmlBufferDetach
* doc/apibuild.py: ignore internal header xzlib.h
2012-05-15 10:25:31 +08:00
Daniel Veillard
293416828e Release of libxml2-2.7.4
* configure.in: new version
* libxml.spec.in: cleanup
* xmlregexp.c: fix a comment
* doc/apibuild.py: update
* doc/*: regenerate everything
2009-09-10 18:23:39 +02:00
Daniel Veillard
7b465bdf11 Fixed apibuild.py, regenerated doc and interfaces
* doc/apibuild.py: fixed the parsing after the change of
  macro name
* doc/* testapi.c: regenerated
2009-07-24 09:02:51 +02:00
Daniel Veillard
f63085de5e port patch from Marcus Meissner to add gcc checking for printf like
* include/libxml/parser.h include/libxml/xmlwriter.h
  include/libxml/relaxng.h include/libxml/xmlversion.h.in
  include/libxml/xmlwin32version.h.in include/libxml/valid.h
  include/libxml/xmlschemas.h include/libxml/xmlerror.h:
  port patch from Marcus Meissner to add gcc checking for
  printf like functions parameters, should fix #65068
* doc/apibuild.py doc/*: modified the script accordingly
  and regenerated
* xpath.c xmlmemory.c threads.c: fix a few warnings
Daniel

svn path=/trunk/; revision=3813
2009-01-18 20:53:59 +00:00
Daniel Veillard
d4d4705780 apply patch from Marcus Meissner to add gcc attribute alloc_size should
* include/libxml/xmlversion.h.in include/libxml/xmlmemory.h:
  apply patch from Marcus Meissner to add gcc attribute alloc_size
  should fix #552505
* doc/apibuild.py doc/* testapi.c: regenerate the API
* include/libxml/parserInternals.h: fix a comment problem raised
  by apibuild.py
daniel

svn path=/trunk/; revision=3811
2009-01-18 17:26:02 +00:00
Daniel Veillard
28b7b4bd80 regenerated Daniel
* doc/* testapi.c: regenerated
Daniel

svn path=/trunk/; revision=3786
2008-08-30 08:19:02 +00:00
Daniel Veillard
dee23485f6 added new function xmlSchemaValidCtxtGetParserCtxt based on Holger
* include/libxml/xmlschemas.h xmlschemas.c: added new function
  xmlSchemaValidCtxtGetParserCtxt based on Holger Kaelberer patch
* doc/apibuild.py doc/*: regenerated the doc, chased why the new
  function didn't got any documentation, added more checking in the
  generator
* include/libxml/relaxng.h include/libxml/schematron.h
  include/libxml/xmlschemas.h include/libxml/c14n.h
  include/libxml/xmlregexp.h include/libxml/globals.h
  include/libxml/xmlreader.h threads.c xmlschemas.c: various changes
  and cleanups following the new reports
Daniel

svn path=/trunk/; revision=3738
2008-04-11 12:58:43 +00:00
Daniel Veillard
6ad5c4af74 fixed a weird error where validity context whould not show up if warnings
* valid.c: fixed a weird error where validity context whould not
  show up if warnings were disabled pointed out by Bob Stayton
* xmlIO.c doc/generator.py: cleanup and fix to regenerate the docs
* doc//* testapi.c: rebuilt the docs
Daniel
2006-10-11 16:43:06 +00:00
Daniel Veillard
33b20b70e2 release of 2.6.22 updated doc and rebuild. added XML_SAVE_NO_XHTML
* NEWS configure.in doc//*: release of 2.6.22 updated doc and
  rebuild.
* xmlsave.c include/libxml/xmlsave.h: added XML_SAVE_NO_XHTML
  xmlSaveOption
* xmlschemas.c: minor cleanups
Daniel
2005-09-12 21:43:20 +00:00
Daniel Veillard
99b78502b6 started work needed to generate devhelp content, not too hard based on the
* configure.in doc/Makefile.am doc/apibuild.py doc/libxml2-api.xml
  doc/devhelp/*: started work needed to generate devhelp content,
  not too hard based on the existing format and extractor.
Daniel
2005-09-11 22:04:08 +00:00
Daniel Veillard
5eee767ca9 rescanned code and rebuilt small cleanup cleanup problems from code
* elfgcchack.h testapi.c doc/*: rescanned code and rebuilt
* xmlregexp.c: small cleanup
* include/libxml/schematron.h include/libxml/xmlexports.h
  include/libxml/xmlversion.h.in: cleanup problems from code scanner
Daniel
2005-08-22 21:22:27 +00:00
Daniel Veillard
95175012ec fixing #307823 and a couple of assorted bugs fixed conditionals in
* testapi.c runsuite.c runtest.c: fixing #307823 and a couple of
  assorted bugs
* python/generator.py python/libxml2-python-api.xml: fixed
  conditionals in generator too
* doc/apibuild.py doc/libxml2-api.xml doc/* elfgcchack.h: some
  cleanups too and rebuilt
Daniel
2005-07-03 16:09:51 +00:00
William M. Brack
fbb619f476 Enhanced xmlXPathRunStreamEval, fixed handling of depth/level for cases
* xpath.c, pattern.c: Enhanced xmlXPathRunStreamEval, fixed
  handling of depth/level for cases like union operator
  (bug #306348 reported by Bob Stayton).  Also enhanced
  several comments throughout pattern.c.
* doc/apibuild.py: fixed problem in handling of
  'signed' declaration.  Rebuilt the docs.
2005-06-06 13:49:18 +00:00
Daniel Veillard
99dd7636a4 fixing bug #303068 increasing the nanoftp buffer. fixed __attribute()
* nanoftp.c: fixing bug #303068 increasing the nanoftp buffer.
* doc/apibuild.py: fixed __attribute() parsing problem
* doc/* testapi.c: regenerated the descriptions and docs.
Daniel
2005-05-06 11:40:56 +00:00
Daniel Veillard
771971f2e5 preparing release 2.6.19, updated docs and rebuilding. Daniel
* doc/* configure.in NEWS: preparing release 2.6.19, updated docs and
  rebuilding.
Daniel
2005-04-02 10:49:51 +00:00
Daniel Veillard
5d4644ef6e revamped the elfgcchack.h format to cope with gcc4 change of aliasing
* doc/apibuild.py doc/elfgcchack.xsl: revamped the elfgcchack.h
  format to cope with gcc4 change of aliasing allowed scopes, had
  to add extra informations to doc/libxml2-api.xml to separate
  the header from the c module source.
* *.c: updated all c library files to add a #define bottom_xxx
  and reimport elfgcchack.h thereafter, and a bit of cleanups.
* doc//* testapi.c: regenerated when rebuilding the API
Daniel
2005-04-01 13:11:58 +00:00
Daniel Veillard
f6b71bd176 making DSO support an option code and documentation cleanups regenerated
* configure.in: making DSO support an option
* xmlmodule.c xmlreader.c include/libxml/xmlmodule.h: code
  and documentation cleanups
* elfgcchack.h testapi.c doc/*: regenerated the docs and
  checks for new module
* test/valid/REC-xml-19980210.xml: fix a small change introduced
  previously
Daniel
2005-01-04 17:50:14 +00:00
William M. Brack
21e4ef20f6 Re-examined the problems of configuring a "minimal" library.
Synchronized the header files with the library code in order
to assure that all the various conditionals (LIBXML_xxxx_ENABLED)
were the same in both.  Modified the API database content to more
accurately reflect the conditionals.  Enhanced the generation
of that database.  Although there was no substantial change to
any of the library code's logic, a large number of files were
modified to achieve the above, and the configuration script
was enhanced to do some automatic enabling of features (e.g.
--with-xinclude forces --with-xpath).  Additionally, all the format
errors discovered by apibuild.py were corrected.
* configure.in: enhanced cross-checking of options
* doc/apibuild.py, doc/elfgcchack.xsl, doc/libxml2-refs.xml,
  doc/libxml2-api.xml, gentest.py: changed the usage of the
  <cond> element in module descriptions
* elfgcchack.h, testapi.c: regenerated with proper conditionals
* HTMLparser.c, SAX.c, globals.c, tree.c, xmlschemas.c, xpath.c,
  testSAX.c: cleaned up conditionals
* include/libxml/[SAX.h, SAX2.h, debugXML.h, encoding.h, entities.h,
  hash.h, parser.h, parserInternals.h, schemasInternals.h, tree.h,
  valid.h, xlink.h, xmlIO.h, xmlautomata.h, xmlreader.h, xpath.h]:
  synchronized the conditionals with the corresponding module code
* doc/examples/tree2.c, doc/examples/xpath1.c, doc/examples/xpath2.c:
  added additional conditions required for compilation
* doc/*.html, doc/html/*.html: rebuilt the docs
2005-01-02 09:53:13 +00:00
Daniel Veillard
e43cc574e4 more fixes and extending the tests coverage more hardeing of APIs skip
* gentest.py testapi.c: more fixes and extending the tests coverage
* xmlwriter.c list.c: more hardeing of APIs
* doc/apibuild.py: skip testapi.c when scanning the C files.
Daniel
2004-11-03 11:50:29 +00:00
Daniel Veillard
add93d3e9e fixed a bug which prevented building with --with-minimum Daniel
* elfgcchack.h doc/apibuild.py doc/libxml2-api.xml: fixed a bug
  which prevented building with --with-minimum
Daniel
2004-07-06 22:47:07 +00:00
Daniel Veillard
a2351322c8 hack based on Arjan van de Ven suggestion to reduce ELF footprint and
* elfgcchack.h doc/elfgcchack.xsl libxml.h: hack based on Arjan van de
  Ven suggestion to reduce ELF footprint and generated code. Based on
  aliasing of libraries function to generate direct call instead of
  indirect ones
* doc/libxml2-api.xml doc/Makefile.am doc/apibuild.py: added automatic
  generation of elfgcchack.h based on the API description, extended
  the API description to show the conditionals configuration flags
  required for symbols.
* nanohttp.c parser.c xmlsave.c include/libxml/*.h: lot of cleanup
* doc/*: regenerated the docs.
Daniel
2004-06-27 12:08:10 +00:00
Daniel Veillard
189f46b18c preparing release 2.6.5, rebuilt the docs, checked rngparser stuff does
* configure.in NEWS doc/*: preparing release 2.6.5, rebuilt the
  docs, checked rngparser stuff does not end up in the tarball
Daniel
2004-01-25 21:03:04 +00:00
William M. Brack
a2e844a3b3 moved string and UTF8 routines out of parser.c and encoding.c into a new
* encoding.c, parser.c, xmlstring.c, Makefile.am,
  include/libxml/Makefile.am, include/libxml/catalog.c,
  include/libxml/chvalid.h, include/libxml/encoding.h,
  include/libxml/parser.h, include/libxml/relaxng.h,
  include/libxml/tree.h, include/libxml/xmlwriter.h,
  include/libxml/xmlstring.h:
  moved string and UTF8 routines out of parser.c and encoding.c
  into a new module xmlstring.c with include file
  include/libxml/xmlstring.h mostly using patches from Reid
  Spencer.  Since xmlChar now defined in xmlstring.h, several
  include files needed to have a #include added for safety.
* doc/apibuild.py: added some additional sorting for various
  references displayed in the APIxxx.html files.  Rebuilt the
  docs, and also added new file for xmlstring module.
* configure.in: small addition to help my testing; no effect on
  normal usage.
* doc/search.php: added $_GET[query] so that persistent globals
  can be disabled (for recent versions of PHP)
2004-01-06 11:52:13 +00:00
William M. Brack
09a4d0abf3 fixed apibuild.py's generation of "constructors" to be in alphabetical
* doc/apibuild.py, doc/APIconstructors.html, doc/libxml2-refs.xml,
  win32/libxml2.def.src: fixed apibuild.py's generation of
  "constructors" to be in alphabetical order (instead of previous
  random sequence); regenerated resulting files.
2004-01-05 14:28:43 +00:00
William M. Brack
cf9eadf7f9 fixed missing dictionaries for Memory and Doc parser contexts (problem
* xmlschemas.c: fixed missing dictionaries for Memory and Doc
  parser contexts (problem reported on mailing list)
* doc/apibuild.py: small change to prevent duplicate lines
  on API functions list.  It will take effect the next time
  the docs are rebuilt.
2003-12-25 13:24:05 +00:00
William M. Brack
966668a703 fixed xmlXPathReturnString to cater for NULL pointer (bug 129561) added
* include/libxml/xpathInternals.h: fixed xmlXPathReturnString
  to cater for NULL pointer (bug 129561)
* globals.c: added comment to suppress documentation warning
* doc/apibuild.py: fixed problem which caused last APIchunkxx.html
  to be lost.  Rebuilt doc/* (including adding APIchunk26.html)
2003-12-20 02:10:28 +00:00
Daniel Veillard
1e90661bb8 cleanup the make rebuild in doc, this include new directive to stop
* globals.c xmlwriter.c doc/apibuild.py include/libxml/globals.h
  include/libxml/pattern.h include/libxml/schemasInternals.h
  include/libxml/xmlexports.h include/libxml/xmlwriter.h: cleanup
  the make rebuild in doc, this include new directive to stop
  documentation warnings
* doc/* doc/html/*: rebuilt the docs
* pattern.c xmlreader.c include/libxml/pattern.h
  include/libxml/xmlreader.h: adding xmlTextReaderPreservePattern()
  to save nodes while scanning the tree with the reader, cleanup
  the way element were freed, and xmlTextReaderPreserve()
  implementation, the API might change for namespace binding support
  when compiling patterns.
* doc/examples/*: added reader3.c exposing the xmlTextReaderPreserve()
Daniel
2003-12-05 14:57:46 +00:00
Daniel Veillard
1a79241a3c do not package cvs versioning temp files. more cleanup, slightly improved
* Makefile.am: do not package cvs versioning temp files.
* doc/apibuild.py doc/libxml2-api.xml doc/newapi.xsl: more cleanup,
  slightly improved the API xml format, fixed a lot of small
  rendering problems
* doc/html/libxml*.html: rebuilt
Daniel
2003-11-18 23:52:38 +00:00
Daniel Veillard
be5869729a modified the file header to add more informations, painful... updated to
* include/libxml/*.h include/libxml/*.h.in: modified the file
  header to add more informations, painful...
* genChRanges.py genUnicode.py: updated to generate said changes
  in headers
* doc/apibuild.py: extract headers, add them to libxml2-api.xml
* *.html *.xsl *.xml: updated the stylesheets to flag geprecated
  APIs modules. Updated the stylesheets, some cleanups, regenerated
* doc/html/*.html: regenerated added back book1 and libxml-lib.html
Daniel
2003-11-18 20:56:51 +00:00
Daniel Veillard
e8ba84ef7e cleaned up the build process to remove all remains from the old gtk-doc
* doc/Makefile.am doc/*.xsl doc/*.html doc/apibuild.py: cleaned up
  the build process to remove all remains from the old gtk-doc
  inherited, libxml2-refs.xml is now generated by apibuild.py, the
  stylesheets have been improved, and the API*html now generated
  are XHTML1 valid too
Daniel
2003-11-18 13:54:15 +00:00
William M. Brack
b1d531659b minor enhancement to prevent comment with unreferenced variable. edited
* genChRanges.py, chvalid.c, include/libxml/chvalid.h: minor
  enhancement to prevent comment with unreferenced variable.
* threads.c xmlreader.c xmlwriter.c: edited some comments to
  improve auto-generation of documentation
* apibuild.py: minor change to an error message
2003-11-18 06:54:40 +00:00