1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2026-01-26 21:41:34 +03:00
Commit Graph

63 Commits

Author SHA1 Message Date
Dan Yeaw
38cc2b53ed python: Stop generating libxml2class.txt 2025-04-12 17:08:54 +02:00
Dan Yeaw
ffef921be3 python: Concat generated files in generator.py 2025-04-12 17:08:54 +02:00
Jan Alexander Steffens (heftig)
c2e2d76211 python: Pass destination dir to generator.py
Simplify usage across build systems.
2025-02-20 13:53:25 +01:00
Vincent Torri
5732ce56f3 meson: Initial commit 2024-04-04 12:23:39 +02:00
Nick Wellnhofer
56944c517f python: Make sure to distribute new files
Add pyproject.toml and tests/setup_test.py to Makefile.am.
2023-11-04 19:32:07 +01:00
Nick Wellnhofer
c74e590395 Remove ancient TODOs 2022-12-21 22:30:25 +01:00
Nick Wellnhofer
ea8f7c92a9 autotools: Disable parallel Python build
Makefile rules with multiple output files don't work reliably with
parallel builds. There are several ways to fix this issue with GNU Make,
but they aren't portable. I'd be really interested in a totally
reliable, cross-platform solution to this problem.

.NOTPARALLEL is also understood by BSD make, at least.
2022-09-06 01:07:24 +02:00
Nick Wellnhofer
ad6f10a81b Fix Python build on Windows
Build Python bindings with -no-undefined on Windows. Remove libs that
should already be set by PKG_CHECK_MODULE.
2022-09-04 18:36:04 +02:00
Nick Wellnhofer
513d65fee8 Use AM_CFLAGS and AM_LDFLAGS consistently 2022-09-02 18:33:36 +02:00
Nick Wellnhofer
b0916e0e96 Also clean *.pyc files for Python 2 2022-08-26 17:57:58 +02:00
Nick Wellnhofer
7f7961df25 Remove generated files from distribution
- libxml2.spec
- libxml-2.0.pc
- xml2-config
- include/libxml/xmlversion.h
- python/libxml2.py
- python/libxml2-export.c
- python/libxml2-py.c
- python/libxml2-py.h
- python/libxml2class.py
- python/libxml2class.txt
- python/setup.py
2022-08-25 14:35:31 +02:00
Nick Wellnhofer
3f74e42bae Simplify 'make check' targets 2022-04-04 05:41:51 +02:00
David Seifert
438209f3e1 python/Makefile.am: nest python docs in $(docdir) 2022-03-30 16:51:15 +02:00
David Seifert
9e30435358 python/Makefile.am: rely on global AM_INIT_AUTOMAKE
* Even Debian oldoldstable has Automake 1.15 available nowadays.
2022-03-30 16:51:14 +02:00
David Seifert
d9335077dd Use AM_PATH_PYTHON/PKG_CHECK_MODULES for python bindings
* `AM_PATH_PYTHON` is a much more common idiom for building
  and installing python modules than writing your own.
* It also makes cross-compiling the python bindings possible.
  Previously the `PYTHON_CFLAGS`/`PYTHON_LIBS` would have been
  based on the `--build` python and not the `--host` python.
  By using `pkg-config`, we can always redirect the python-X.Y.pc.

Bug: https://bugs.gentoo.org/582130
2022-03-29 13:37:16 +02:00
Sam James
a0f9211b52 python/Makefile.am: use *_LIBADD, not *_LDFLAGS for LIBS
This fixes over-linking in the built Python modules with various libraries.

*_LIBADD is intended for adding additional libraries for linking, while
*_LDFLAGS is for miscellaneous extra flags (possibly user-supplied).

If using -Wl,-as-needed within user-supplied LDFLAGS, it is passed too
late (after the library link line) and therefore has no effect.

Notes:

* Noticed while working on Gentoo's migration to libxcrypt because
libxml2's Python modules were linking to libcrypt (and other libraries)
unexpectedly.

* It was suggested we could actually stop linking explicitly with all
of Python's libraries / don't copy its LDFLAGS, but this resolves
the original issue downstream and is a separate discussion. I couldn't
find any clear documentation for/against such a change.

Bug: https://bugs.gentoo.org/798942
Signed-off-by: Sam James <sam@gentoo.org>
2022-01-16 13:58:43 +01:00
Daniel Veillard
c0a8dd14f8 Fix a linking error for python bindings
Showing up apparently in Debian BTS distro
https://bugzilla.gnome.org/show_bug.cgi?id=685515
2013-04-19 15:02:33 +08:00
Daniel Veillard
a5e513a552 Fix a uneeded and wrong extra link parameter 2013-03-30 22:33:06 +08:00
Daniel Richard G
d10a72ce8c Bundles all generated files for python into the distribution
So end users building the Python module don't need to
regenerate any source files. some clean-up too.
2012-08-14 12:50:25 +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
Pacho Ramos
1ea6b14125 Fix undefined reference in python module
For https://bugzilla.gnome.org/show_bug.cgi?id=622023
when compiled with LDFLAGS="${LDFLAGS} -Wl,-z,-defs -Wl,--no-undefined"
the python module would failed due to the undefined. This add an
explicit reference to python lib.
2012-05-15 19:36:02 +08:00
LRN
fbd4ddf226 607273 Fix python detection on MSys/Windows
Fix the lookup for python executable and headers, add an
extra variable for new dependancies when linking for Python
on Win32
2010-11-04 15:45:46 +01:00
Paul Smith
38af74f7b1 fix build error in libxml2/python
There are missing $(srcdir) values in libxml2/python/Makefile.am which
cause it to fail if built remote from out of tree.
2010-03-15 10:22:25 +01:00
Frederic Crozat
e21731dec8 link python module with python library
* configure.in python/Makefile.am: libxml2 python module wasn't linked
  with python library
2009-09-12 18:02:40 +02:00
Daniel Veillard
5ac88237e1 applied cleanup patches for cross compilation and MinGW from Roumen Petrov
* python/Makefile.am python/tests/Makefile.am: applied cleanup
  patches for cross compilation and MinGW from Roumen Petrov
Daniel

svn path=/trunk/; revision=3696
2008-02-19 07:54:52 +00:00
Daniel Veillard
9ebb632238 patches from John Carr to start cleaning up 'make diskcheck' problems c.f.
* check-relaxng-test-suite2.py check-relaxng-test-suite.py
  Makefile.am python/tests/Makefile.am python/Makefile.am
  check-xsddata-test-suite.py: patches from John Carr to
  start cleaning up 'make diskcheck' problems c.f. #506228
Daniel

svn path=/trunk/; revision=3674
2008-01-11 07:19:24 +00:00
Daniel Veillard
04db684ba9 remove the build path recorded in the python shared module as Peter
* python/Makefile.am: remove the build path recorded in the python
  shared module as Peter Breitenlohner pointed out, should fix #346022
Daniel
2006-10-11 09:27:56 +00:00
William M. Brack
106cad6619 enhanced for enabling build in a different directory. Added (optional)
* Makefile.am, gentest.py: enhanced for enabling build in
  a different directory.  Added (optional) param to gentest.py
  to specify the source directory (bug #155468)
* doc/Makefile.am: changed destination of NEWS from (top_srcdir)
  to (top_builddir) (bug #155468)
* python/Makefile.am, python/generator.py: enhanced for enabling
  build in a different directory(bug #155468).  Added (optional)
  param to generator.py to specify the source directory.  Added
  a new table of functions which have possible "foreign" encodings
  (e.g. UTF16), and code to use python 't' format instead of
  'z' format (mostly solving bug #152286, but still need to
  populate the table).
2004-12-23 15:56:12 +00:00
Daniel Veillard
43b8e5790c applied patch from Thomas Fitzsimmons fixing #155240 building outside the
* python/Makefile.am: applied patch from Thomas Fitzsimmons fixing
  #155240 building outside the source tree. but make tests fails.
Daniel
2004-10-12 22:20:10 +00:00
Daniel Veillard
d392ba7ef1 applied a patch from Gerrit P. Haase to get python bindings on Cygwin
* Makefile.am config.h.in configure.in python/Makefile.am:
  applied a patch from Gerrit P. Haase to get python bindings
  on Cygwin
Daniel
2004-08-04 14:56:45 +00:00
William M. Brack
e9449c5d29 added an encoding "special comment" to avoid warning message in python2.3
* python/drv_libxml.py: added an encoding "special comment" to avoid
  warning message in python2.3 (bug 146889)
* Makefile.am, python/Makefile.am, python/tests/Makefile.am: small
  change to make "make tests" a little quieter (MAKEFLAGS+=--silent)
* xpath.c: enhanced to take advantage of current libxslt handling
  of tmpRVT.  Fixes bug 145547.
2004-07-11 14:41:20 +00:00
Daniel Veillard
377e1a9059 move the TODO as comments as the function while not finished are usable
* xmlsave.c: move the TODO as comments as the function while not
  finished are usable as-is
* xmlschemas.c include/libxml/xmlerror.h: patch from Kasimier Buchcik
  implementing union
* test/schemas/union_0_0.x* result/schemas/union_0_0*: added example
* python/Makefile.am: applied fix from Mike Hommey
Daniel
2004-04-16 16:30:05 +00:00
William M. Brack
cafe885168 applied fixes to allow build from 'outside' directory (Bug 129172)
* python/Makefile.am, python/tests/Makefile.am,
  doc/Makefile.am: applied fixes to allow build from
  'outside' directory (Bug 129172)
2003-12-21 10:14:35 +00:00
Daniel Veillard
38b80a8faa trying to conciliate --with-python= requirements and RPM builds, a PITA
* configure.in libxml.spec.in python/Makefile.am: trying
  to conciliate --with-python= requirements and RPM builds,
  a PITA really...
Daniel
2003-05-14 18:59:00 +00:00
Daniel Veillard
7b4b2f9d8f preparing 2.5.0 release only warn in pedantic mode about namespace name
* configure.in NEWS: preparing 2.5.0 release
* SAX.c: only warn in pedantic mode about namespace name
  brokeness
* globals.c: fix a doc generation problem
* uri.c: fix #101520
* doc/*: updated and rebuilt the doc for the release, includuding
  stylesheet update
* python/Makefile.am: fix a filename bug
Daniel
2003-01-06 13:11:20 +00:00
Daniel Veillard
4f86020248 integrated drv_libxml2.py Python xml.sax driver from Stphane Bidoul based
* libxml.spec.in python/Makefile.am python/drv_libxml2.py:
  integrated drv_libxml2.py Python xml.sax driver from Stphane Bidoul
  based on the python XmlTextReader interface.
Daniel
2003-01-02 13:00:02 +00:00
Daniel Veillard
66651aa8a0 trying to fix bug #98517 about building outside the source tree fixed the
* Makefile.am python/Makefile.am python/tests/Makefile.am:
  trying to fix bug #98517 about building outside the source tree
* doc/xml.html doc/FAQ.html: fixed the link to libiconv #94585
Daniel
2002-11-15 11:21:43 +00:00
Daniel Veillard
2206dbfabe applied patch from Christophe Merlet to reestablish DESTDIR Daniel
* python/Makefile.am: applied patch from Christophe Merlet to
  reestablish DESTDIR
Daniel
2002-09-05 08:09:37 +00:00
Daniel Veillard
08cccaa05a typo in target name resulted in libxml2.py to not be rebuilt. fixed
* python/Makefile.am: typo in target name resulted in libxml2.py
  to not be rebuilt. fixed DESTDIR similary to the libxslt one.
Daniel
2002-08-22 09:47:29 +00:00
Daniel Veillard
b6984efcc9 more AMD 64 induced changes from Frederic Crozat Daniel
* configure.in python/Makefile.am: more AMD 64 induced changes from
  Frederic Crozat
Daniel
2002-08-14 16:55:31 +00:00
William M. Brack
61eaba5b75 fixed python/Makefile.am for bug 72012 2002-07-21 11:14:18 +00:00
Daniel Veillard
f544f1935c patch from Cristian Gafton to build on Red Hat 6.2, should also fix #75779
* python/Makefile.am: patch from Cristian Gafton to build on
  Red Hat 6.2, should also fix #75779
Daniel
2002-04-15 12:56:56 +00:00
Daniel Veillard
5fc1f0893a Added Igor Zlatkovic as official maintainer Albert Chin pointed that
* AUTHORS HACKING: Added Igor Zlatkovic as official maintainer
* python/Makefile.am python/tests/Makefile.am: Albert Chin pointed
  that $(datadir) should be used for docs
Daniel
2002-03-27 09:05:40 +00:00
Daniel Veillard
5997aca8b8 humm, changed the way the SAX parser work when
* parser.c: humm, changed the way the SAX parser work when
  xmlSubstituteEntitiesDefault(1) is set, it will then
  do the entity registration and loading by itself in case the
  user provided SAX getEntity() returns NULL.
* testSAX.c: added --noent to test the behaviour.
Daniel
2002-03-18 18:36:20 +00:00
Daniel Veillard
38bf6f0425 small fix to avoid potential problem due to ordering of freeing data
* xpath.c: small fix to avoid potential problem due to
  ordering of freeing data
* python/Makefile.am: people were complaining about
  the generated file in python dir not being built
Daniel
2002-03-16 22:03:31 +00:00
Daniel Veillard
d2379010b1 Cleanup of the python Makefiles based on Jacob and James feedback, fixed
* libxml.spec.in python/Makefile.am python/tests/Makefile.am
  python/generator.py python/libxml.c python/types.c: Cleanup
  of the python Makefiles based on Jacob and James feedback,
  fixed the spec file accordingly, fixed the number of warning
  that passing my pedantic CFLAGS was generating. Conclusion
  is that Python includes are real crap.
Daniel
2002-03-15 22:24:56 +00:00
jacob berkman
9be6586ca9 remove LDADD and CFLAGS as this is broken usage, redundant, and gcc
2002-03-13  jacob berkman  <jacob@ximian.com>

	* python/Makefile.am: remove LDADD and CFLAGS as this is broken
	usage, redundant, and gcc specific
2002-03-14 02:15:56 +00:00
Daniel Veillard
a6d2e9ec00 config.py* was missing, Daniel 2002-03-09 10:22:50 +00:00
Daniel Veillard
bb7ddb3429 python script to run regression tests against the XML Test suite of
* check-xml-test-suite.py: python script to run regression tests
  against the XML Test suite of W3C/OASis
* SAX.c: fixed a validation bug
* parser.c: fixed 3 errors pointed by the test suite
* doc/buildDocBookCatalog: fixed a typo pointed by drake
* python/Makefile.am: fixed a dependendy
Daniel
2002-02-17 21:26:33 +00:00
Daniel Veillard
1c18e30b46 seems some version of automake didn't generate the dependancies right as
* python/Makefile.am: seems some version of automake didn't
  generate the dependancies right as Jacob found out. Add
  an extra dependancy rule.
Daniel
2002-02-09 22:16:40 +00:00