Add a template setup.py.in which will be used by the win32 Makefiles so that we
can generate the full setup.py which can be used to build the libxslt Python
bindings, if chosen to do so when configuring via 'cscript configure.js'.
- Handle Python 3 types similar to libxml2
- Copy new versions of libxml_xmlXPathDestructNsNode and
libxml_xmlXPathObjectPtrConvert from libxml2
- Fix compiler warnings
- Fix whitespace
- Remove unneeded imports from __future__
- Remove test in extelem.py (StringIO can't be converted to FILE under
Python 3)
- string.lower() works in both Python 2 and 3
Closes#25.
* doc/xsltproc.xml: moved to new place for docbook stylesheet and work
around a missing / inrewrite of docbook xsl catalog in Fedora 30
* tests/fuzz/Makefile.am: add fuzz.h to sources
* python/Makefile.am: there is no more TODO
* libxslt.spec.in: run make tests instead of check to avoid fuzz in that
environment, and drop python TODO
Commit a2cd8a03 broke the --with-python build by moving includes from
INCLUDES to AM_CPPFLAGS. AM_CPPFLAGS gets ignored when a target-specific
*_CPPFLAGS variable exists, but at least some automake versions
automatically add "libxsltmod_la_CPPFLAGS = -shared" to python/Makefile.in
https://bugzilla.gnome.org/show_bug.cgi?id=684637
Makefile.am:
* Use $(VAR), not @VAR@, as the former is the correct form for AC_SUBST'ed
variables in Makefile.am files
* Touch these *.xml/*.syms files in the "dist-hook" target to prevent them
from being regenerated, because the "make dist" process in itself
updates the timestamps of the source files when it copies them into
$(distdir)
* Add EXTRA_LIBS (-lrt on my system) to xsltConf.sh, as this is a required
dependency when client applications link against -lxslt
(note that the definition of EXTRA_LIBS has been changed; see below)
* Removed MAKEFLAGS+=--silent bits, as this is not compatible with non-GNU
Make programs
autogen.sh:
* Add --warnings=all options to automake and autoconf invocations, to
better catch potential problems (most of which I've fixed in this patch)
configure.in:
* Replaced obsolete macros with their current equivalents; for reference,
see
http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html
(I removed AC_ISC_POSIX outright because the doc states it is no longer
useful)
* test(1) uses "=" as an operator, not "=="
* Fixed quoting on an AC_LINK_IFELSE() invocation to quell Autoconf errors
* Don't add redundant libraries to EXTRA_LIBS, because (1) this variable
already contains LibXSLT's own additional system-library deps, and is
useful in that form, and (2) the LibXML2 deps are already handled by
Libtool
* Don't delete files in srcdir, and don't create the symlink to
"Copyright" there either
(I don't understand why this is being symlinked in the first place...)
doc/Makefile.am:
* Can't use wildcards in EXTRA_DIST, because this breaks dependencies
(e.g. you can't "make EXSLT/\*.html"), and they only work properly when
building inside the source tree; these have been replaced with their
expansions. Other entries have been added here in lieu of the wildcards
in the dist-hook target, as well as opportunistic use of the $(*PAGES)
variables.
* Don't define an "all" target, because this steps on Automake's toes; use
"all-local" instead
* Define and use an "xsltproc" variable to reference an in-tree-built
version of xsltproc, instead of e.g. $(bindir)/xsltproc
NOTE: The makefile also uses $(XSLTPROC), which names an external
instance of the program found at configure time. Some instances of this
could probably be changed to $(xsltproc) to remove the dependency on an
existing installed program.
* Qualified various filenames as appropriate with $(srcdir)
* Use $(XMLLINT) consistently instead of $(bindir)/xmllint
* In the "libxslt-api.xml ..." rule, cd into $(srcdir) before invoking
apibuild.py as this script has to run in srcdir anyway
* In the "clean-local" rule, clear out some additional files to allow
"make distcheck" to pass
* Eliminated the redundant "maintainer-clean-local" rule
* Added a "distclean-local" rule to clear out the build directory in an
out-of-source build to allow "make distcheck" to pass
* Added a "check-extra-dist" target to make it easier to check that
EXTRA_DIST isn't missing anything
* Use $(MKDIR_P), not $(mkinstalldirs), as the latter name is obsolete
* Use $(VAR) instead of @VAR@
* The "dist-hook" target didn't work (if any generated files were in
builddir and not in srcdir), and is no longer needed thanks to the
comprehensive EXTRA_DIST variable
* Added an "uninstall-local" rule to allow "make distcheck" to pass
* Updated the .PHONY target list, removed non-existent targets
doc/symbols.xml:
* Needed to add this bit to make the generation scripts shut up
libexslt/Makefile.am:
* AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
obsolete name
* Moved $(LIBXML_CFLAGS) to AM_CFLAGS, to segregate CFLAGS from CPPFLAGS
(Note that $(CFLAGS) need not be added to AM_CFLAGS, because Automake
already references both in the build rules)
* Use $(VAR) instead of @VAR@
libxslt.pc.in:
* Add EXTRA_LIBS (-lrt on my system), as this is a required dependency
when client applications link against -lxslt
libxslt/Makefile.am:
* AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
obsolete name
* Moved $(LIBXML_CFLAGS) to AM_CFLAGS, to segregate CFLAGS from CPPFLAGS
* Use $(VAR) instead of @VAR@, $(MKDIR_P) instead of $(mkinstalldirs)
* Use $(MKDIR_P), not $(mkinstalldirs), as the latter name is obsolete
libxslt/xsltutils.c:
* Some systems don't know about CLOCK_MONOTONIC; older Solaris knows about
CLOCK_HIGHRES. Some systems, alas, have no usable alternative to
CLOCK_REALTIME.
python/Makefile.am:
* AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
obsolete name
* Moved $(LIBXML_CFLAGS) to AM_CFLAGS, to segregate CFLAGS from CPPFLAGS
* Because libxslt-py.c is (presumably) supposed to be generated every time
at build time, don't bundle it in the dist tarball
* Use $(VAR) instead of @VAR@
* libxsltclass.py is a generated file, so it doesn't get qualified with
$(srcdir)
* Use $(MKDIR_P) instead of (mkinstalldirs)
* Added an uninstall-local rule so that "make distcheck" passes
* Removed the $(srcdir) qualifications in the GENERATED file list, as
these files may exist in builddir
* In the gen_prog rule, qualify the script invocation with $(srcdir), and
set the SRCDIR environment variable so that the script can find the
files it needs when builddir != srcdir
* Don't define an "all" target, as this steps on Automake's toes
python/generator.py:
* Get the source directory from the SRCDIR environment variable, and use
it appropriately
python/tests/Makefile.am:
* Set CLEANFILES instead of defining a "clean" rule
* Use $(VAR) instead of @VAR@, $(MKDIR_P) instead of $(mkinstalldirs)
tests/*/Makefile.am, tests/exslt/*/Makefile.am:
* Need to clean up .memdump files for "make distcheck" to pass
* Don't define an "all" target, as this steps on Automake's toes
tests/REC/Makefile.am:
* Added two missing *.stand.out files to EXTRA_DIST
tests/XSLTMark/Makefile.am:
* Replaced the GNU-Make-specific %.out bit with a more broadly compatible
rule
(the "dummy" bit shuts up Automake)
* Use "$(xsltproc)" instead of "$(top_builddir)/xsltproc/xsltproc"
* Use a less $(MAKE)-heavy invocation in the "tests" target
* Replaced a conflicting "clean" target with CLEANFILES
* Added a dependency on $(xsltproc) to all the test targets
* Added a .PHONY target list
tests/docbook/Makefile.am:
* Ditched the "echo -n" bit, because it wasn't working as advertised
* Create output directories for out-of-source builds
* "$(basename $$i)" is a typo in a makefile
* Don't embed $(srcdir) in $out/$html/$fo/$msg/$xhtml, so that we can
refer to these files in builddir or srcdir
* Add a trailing "echo" to complete the "echo -n"
* Don't output files unconditionally to srcdir (it may be read-only, for
starters)
tests/plugins/Makefile.am:
* AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
obsolete name
(Note that the "$(LIBXML_CFLAGS) $(LIBXSLT_CFLAGS)" bit that was here
can be dropped entirely, because these already appear in
xmlsoft_org_xslt_testplugin_la_CFLAGS)
* Use noinst_LTLIBRARIES inside the WITH_MODULES conditional instead of
EXTRA_LTLIBRARIES, as this is cleaner (and disallows building the plugin
if module support is disabled)
* Need to clean up *.res files for "make distcheck" to pass
* Use the abs_builddir variable conveniently provided to us by Automake
instead of a GNU Make $(shell ...) construct
xslt-config.in:
* Add EXTRA_LIBS (-lrt on my system), as this is a required dependency
when client applications link against -lxslt
xsltproc/Makefile.am:
* AM_CPPFLAGS should be used instead of INCLUDES, as the latter is an
obsolete name
* Moved $(LIBXML_CFLAGS) into AM_CFLAGS
* Use $(VAR) instead of @VAR@
* Need to clean .memdump for "make distcheck" to pass
* Added rules to build lib[e]xslt.la if needed, which allows test
makefiles to build xsltproc on the fly even if nothing else has been
built already
* Create .memdump file in the "tests" target, as it's being grepped
afterward
* doc/symbols.xml doc/syms.xsl doc/checkapisym.xsl libxslt/libxslt.syms:
the new symbol files, checking and stylesheets, based on libxml2 ones
* configure.in doc/Makefile.am libxslt/Makefile.am: modifications needed
to activate the symbol versioning
* doc/libxslt-api.xml doc/libxslt-refs.xml doc/EXSLT/libexslt-api.xml
doc/EXSLT/libexslt-refs.xml: regenerated
* libexslt/crypto.c libxslt/Makefile.am libxslt/keys.c libxslt/variables.c
libxslt/xslt.c libxslt/xsltInternals.h libxslt/xsltlocale.c
libxslt/xsltlocale.h: various cleanups
* python/Makefile.am libxslt/Makefile.am configure.in
libexslt/Makefile.am: applied patch from Roumen Petrov for
mingw cross compilation problems raised by Rich Jones
daniel
svn path=/trunk/; revision=1493
* libxslt/win32config.h: patch from Rob Richards for VS 2008
* python/types.c: fix a problem with namespace nodes coming from
XPath nodesets.
Daniel
svn path=/trunk/; revision=1458
* python/libxslt.c: applied patch from Daniel Gryniewicz to
fix a segfault caused by a parameter array not being preset
to zero.
svn path=/trunk/; revision=1444
* libexslt/strings.c: added new function replace from Joel
Reed.
* tests/exslt/Makefile.am, replace.1.xml, replace.1.xsl,
replace.1.out: added new test case for above.
* libxslt.spec.in: trivial change from Gnome to GNOME
* configure.in: trivial change for flags on my compilations
* libxslt/documents.c, libxslt/documents.h, libxslt/keys.c,
libxslt/keys.h, libxslt/variables.c, libxslt/templates.c,
libxslt/transform.c, libxslt/variables.c, libxslt/xslt.c,
libxslt/xsltutils.c: fixed some documentation/comments and
compilation warnings - no change to logic.
* re-generated the documentation.
svn path=/trunk/; revision=1413
* configure python/generator.py python/libxsl.py
python/libxslt-python-api.xml python/libxslt.c
python/tests/2stage.py python/tests/loader.py: applied patch from
Nic James Ferrier to make stylesheets comparable and to add
transformContext handling
Daniel
* NEWS configure.in doc//*: preparing release of libxslt-1.1.18,
this bumps libxml2 requirement to 1.6.27
* libexslt/date.c libxslt/namespaces.h libxslt/xslt.c
libxslt/xsltInternals.h: cosmetic cleanups to restore the
API extraction
Daniel
* python/libxslt-python-api.xml: applied fix for accessor functions
of a stylesheet returning pointers to immutable strings, patch
from #320540
* xsltproc/xsltproc.c: fix the xinclude on stylehseet problem
by adding a new parameter to xsltproc names --xincludestyle
Daniel
* libxslt/Makefile.am: a missing DESTDIR
* python/Makefile.am: fix reference to build paths in python module
* libexslt/exsltconfig.h.in libxslt/xsltconfig.h.in: fix the header
comments on version values, the 3 are patches from Peter
Breitenlohner and should fix#340995
Daniel
* doc/xslt.html python/tests/pyxsltproc.py xsltproc/xsltproc.c:
applied patch from Daniel Leidert to fix some typo
* xsltproc.xml xsltproc.1: applied another patch from Daniel Leidert
and regenerated
Daniel
* tests/general/bug-36-inc.xsl tests/general/bug-37-inc.xsl
tests/general/bug-65-inc.xsl tests/general/bug-100.xsl
tests/REC/test-15-1.xsl tests/REC/test-7.1.1-3.xsl
tests/namespaces/extra2.xsl tests/extensions/module.xsl
tests/plugins/plugin.xsl python/tests/extelem.py
python/tests/extfunc.py: Fixed regression tests wrt
usage of the attributes "exclude-result-prefixes"
and "extension-element-prefixes". test-7.1.1-3.xsl fails
now, since the code still does not exclude ns-decls
correctly.
* python/libxslt-python-api.xml: fixed type for doctypeSystem
and doctypePublic (problem reported on the list by Sitsofe
Wheeler)
* doc/libxslt-api.xml: updated database.
* configure.in: convenience change
* python/libxsl.py python/libxslt-python-api.xml python/libxslt.c:
try to avoid calling libxml2 cleanup function directly but go
though the python wrapper of libxml2 for memory debug accounting.
Daniel