1998-07-24 23:24:09 +04:00
## Process this file with automake to produce Makefile.in
2001-06-30 01:31:07 +04:00
2010-03-09 13:32:46 +03:00
ACLOCAL_AMFLAGS = -I m4
2022-09-04 19:22:30 +03:00
SUBDIRS = include . doc example xstc
2022-03-29 14:37:16 +03:00
i f W I T H _ P Y T H O N
SUBDIRS += python
e n d i f
2022-09-04 19:22:30 +03:00
i f W I T H _ G L O B
SUBDIRS += fuzz
e n d i f
1999-02-06 21:12:01 +03:00
2020-10-25 22:02:23 +03:00
DIST_SUBDIRS = include . doc example fuzz python xstc
2002-09-21 17:08:14 +04:00
2022-03-30 01:32:35 +03:00
AM_CPPFLAGS = -I$( top_builddir) /include -I$( srcdir) /include -DSYSCONFDIR= '"$(sysconfdir)"'
2012-08-17 06:04:30 +04:00
2022-04-03 21:36:38 +03:00
check_PROGRAMS = \
runsuite \
runtest \
runxmlconf \
testModule \
testapi \
testchar \
testdict \
testlimits \
2023-10-22 14:56:55 +03:00
testparser \
2022-04-03 21:36:38 +03:00
testrecurse
1998-10-17 10:47:46 +04:00
2001-08-20 04:08:40 +04:00
bin_PROGRAMS = xmllint xmlcatalog
2000-09-24 22:49:59 +04:00
2022-08-29 17:13:50 +03:00
bin_SCRIPTS = xml2-config
2001-02-23 20:55:21 +03:00
lib_LTLIBRARIES = libxml2.la
2022-09-02 03:08:44 +03:00
libxml2_la_CFLAGS = $( AM_CFLAGS) $( XML_PRIVATE_CFLAGS)
2022-04-03 03:20:04 +03:00
libxml2_la_LIBADD = $( XML_PRIVATE_LIBS)
2001-02-23 20:55:21 +03:00
2022-09-02 18:00:05 +03:00
libxml2_la_LDFLAGS = $( AM_LDFLAGS) -no-undefined \
2024-06-21 04:26:54 +03:00
-version-info $( LIBXML_VERSION_INFO)
2022-09-01 06:53:51 +03:00
i f U S E _ V E R S I O N _ S C R I P T
libxml2_la_LDFLAGS += $( VERSION_SCRIPT_FLAGS) $( srcdir) /libxml2.syms
e n d i f
2001-02-23 20:55:21 +03:00
2022-09-01 06:53:51 +03:00
libxml2_la_SOURCES = buf.c chvalid.c dict.c entities.c encoding.c error.c \
globals.c hash.c list.c parser.c parserInternals.c \
SAX2.c threads.c tree.c uri.c valid.c xmlIO.c \
xmlmemory.c xmlstring.c
i f W I T H _ C 1 4 N _ S O U R C E S
libxml2_la_SOURCES += c14n.c
e n d i f
i f W I T H _ C A T A L O G _ S O U R C E S
libxml2_la_SOURCES += catalog.c
e n d i f
i f W I T H _ D E B U G _ S O U R C E S
libxml2_la_SOURCES += debugXML.c
e n d i f
i f W I T H _ H T M L _ S O U R C E S
libxml2_la_SOURCES += HTMLparser.c HTMLtree.c
e n d i f
i f W I T H _ H T T P _ S O U R C E S
libxml2_la_SOURCES += nanohttp.c
e n d i f
i f W I T H _ L E G A C Y _ S O U R C E S
libxml2_la_SOURCES += legacy.c
e n d i f
i f W I T H _ L Z M A _ S O U R C E S
libxml2_la_SOURCES += xzlib.c
e n d i f
i f W I T H _ M O D U L E S _ S O U R C E S
libxml2_la_SOURCES += xmlmodule.c
e n d i f
i f W I T H _ O U T P U T _ S O U R C E S
libxml2_la_SOURCES += xmlsave.c
e n d i f
i f W I T H _ P A T T E R N _ S O U R C E S
libxml2_la_SOURCES += pattern.c
e n d i f
i f W I T H _ R E A D E R _ S O U R C E S
libxml2_la_SOURCES += xmlreader.c
e n d i f
i f W I T H _ R E G E X P S _ S O U R C E S
libxml2_la_SOURCES += xmlregexp.c xmlunicode.c
e n d i f
i f W I T H _ S C H E M A S _ S O U R C E S
libxml2_la_SOURCES += relaxng.c xmlschemas.c xmlschemastypes.c
i f ! W I T H _ X P A T H _ S O U R C E S
libxml2_la_SOURCES += xpath.c
e n d i f
e n d i f
i f W I T H _ S C H E M A T R O N _ S O U R C E S
libxml2_la_SOURCES += schematron.c
e n d i f
i f W I T H _ W R I T E R _ S O U R C E S
libxml2_la_SOURCES += xmlwriter.c
e n d i f
i f W I T H _ X I N C L U D E _ S O U R C E S
libxml2_la_SOURCES += xinclude.c
e n d i f
i f W I T H _ X P A T H _ S O U R C E S
libxml2_la_SOURCES += xpath.c
e n d i f
i f W I T H _ X P T R _ S O U R C E S
libxml2_la_SOURCES += xlink.c xpointer.c
e n d i f
2001-02-23 20:55:21 +03:00
2023-12-20 19:42:08 +03:00
DEPS = libxml2.la
LDADDS = libxml2.la
2003-08-14 05:23:25 +04:00
2005-06-27 01:49:08 +04:00
runtest_SOURCES = runtest.c
runtest_DEPENDENCIES = $( DEPS)
2024-06-16 22:52:12 +03:00
runtest_LDADD = $( THREAD_LIBS) $( LDADDS)
2005-06-30 17:04:44 +04:00
2008-08-28 19:36:32 +04:00
testrecurse_SOURCES = testrecurse.c
testrecurse_DEPENDENCIES = $( DEPS)
2022-04-03 02:42:17 +03:00
testrecurse_LDADD = $( LDADDS)
2008-08-28 19:36:32 +04:00
2012-07-18 13:43:34 +04:00
testlimits_SOURCES = testlimits.c
testlimits_DEPENDENCIES = $( DEPS)
2022-04-03 02:42:17 +03:00
testlimits_LDADD = $( LDADDS)
2012-07-18 13:43:34 +04:00
2008-07-29 13:02:27 +04:00
testchar_SOURCES = testchar.c
testchar_DEPENDENCIES = $( DEPS)
2022-04-03 02:42:17 +03:00
testchar_LDADD = $( LDADDS)
2008-07-29 13:02:27 +04:00
2008-08-08 16:03:22 +04:00
testdict_SOURCES = testdict.c
testdict_DEPENDENCIES = $( DEPS)
2022-04-03 02:42:17 +03:00
testdict_LDADD = $( LDADDS)
2008-08-08 16:03:22 +04:00
2023-10-22 14:56:55 +03:00
testparser_SOURCES = testparser.c
testparser_DEPENDENCIES = $( DEPS)
testparser_LDADD = $( LDADDS)
2005-06-30 17:04:44 +04:00
runsuite_SOURCES = runsuite.c
runsuite_DEPENDENCIES = $( DEPS)
2022-04-03 02:42:17 +03:00
runsuite_LDADD = $( LDADDS)
2005-06-27 01:49:08 +04:00
2024-06-16 18:57:12 +03:00
xmllint_SOURCES = xmllint.c shell.c
2023-05-06 00:34:57 +03:00
xmllint_CFLAGS = $( AM_CFLAGS) $( RDL_CFLAGS) $( ICONV_CFLAGS)
2000-04-03 23:48:13 +04:00
xmllint_DEPENDENCIES = $( DEPS)
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 07:32:54 +04:00
xmllint_LDADD = $( RDL_LIBS) $( LDADDS)
1998-07-24 23:24:09 +04:00
2001-08-20 04:08:40 +04:00
xmlcatalog_SOURCES = xmlcatalog.c
2023-05-06 00:34:57 +03:00
xmlcatalog_CFLAGS = $( AM_CFLAGS) $( RDL_CFLAGS) $( ICONV_CFLAGS)
2001-08-20 04:08:40 +04:00
xmlcatalog_DEPENDENCIES = $( DEPS)
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 07:32:54 +04:00
xmlcatalog_LDADD = $( RDL_LIBS) $( LDADDS)
2001-05-10 18:17:55 +04:00
2005-01-04 18:10:22 +03:00
testModule_SOURCES = testModule.c
testModule_DEPENDENCIES = $( DEPS)
testModule_LDADD = $( LDADDS)
noinst_LTLIBRARIES = testdso.la
testdso_la_SOURCES = testdso.c
2022-09-02 17:45:06 +03:00
testdso_la_LDFLAGS = $( AM_LDFLAGS) \
-module -no-undefined -avoid-version -rpath $( libdir)
2005-01-04 18:10:22 +03:00
2005-01-26 02:45:06 +03:00
# that one forces the rebuild when "make rebuild" is run on doc/
rebuild_testapi :
-@( if [ " $( PYTHON) " != "" ] ; then \
2024-07-12 17:28:18 +03:00
$( PYTHON) $( srcdir) /tools/gentest.py $( srcdir) ; fi )
2005-01-26 02:45:06 +03:00
2004-11-02 17:52:23 +03:00
testapi_SOURCES = testapi.c
testapi_DEPENDENCIES = $( DEPS)
testapi_LDADD = $( LDADDS)
2008-07-29 20:12:31 +04:00
runxmlconf_SOURCES = runxmlconf.c
runxmlconf_DEPENDENCIES = $( DEPS)
runxmlconf_LDADD = $( LDADDS)
2022-04-04 06:19:33 +03:00
check-local :
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 07:32:54 +04:00
[ -d test ] || $( LN_S) $( srcdir) /test .
[ -d result ] || $( LN_S) $( srcdir) /result .
2022-04-04 06:19:33 +03:00
$( CHECKER) ./runtest$( EXEEXT)
$( CHECKER) ./testrecurse$( EXEEXT)
2022-12-08 20:38:45 +03:00
$( CHECKER) ./testapi$( EXEEXT)
2022-04-04 06:19:33 +03:00
$( CHECKER) ./testchar$( EXEEXT)
$( CHECKER) ./testdict$( EXEEXT)
2023-10-22 14:56:55 +03:00
$( CHECKER) ./testparser$( EXEEXT)
2022-04-04 06:19:33 +03:00
$( CHECKER) ./testModule$( EXEEXT)
$( CHECKER) ./runxmlconf$( EXEEXT)
2022-12-08 02:24:53 +03:00
$( CHECKER) ./runsuite$( EXEEXT)
2024-06-22 04:28:27 +03:00
i f W I T H _ D E B U G _ S O U R C E S
test/scripts/test.sh ./xmllint$( EXEEXT)
e n d i f
i f W I T H _ C A T A L O G _ S O U R C E S
ASAN_OPTIONS = detect_leaks = 0 test/catalogs/test.sh ./xmlcatalog$( EXEEXT)
e n d i f
2022-04-04 06:19:33 +03:00
# Compatibility name of the check target
runtests : check
check-valgrind valgrind :
2008-08-08 16:14:37 +04:00
@echo '## Running the regression tests under Valgrind'
@echo '## Go get a cup of coffee it is gonna take a while ...'
2022-04-04 06:19:33 +03:00
$( MAKE) CHECKER = 'valgrind -q' check
2008-08-08 16:14:37 +04:00
2016-05-04 07:33:32 +03:00
asan :
@echo '## rebuilding for ASAN'
./configure CFLAGS = "-fsanitize=address,undefined -Wformat -Werror=format-security -Werror=array-bounds -g" CXXFLAGS = "-fsanitize=address,undefined -Wformat -Werror=format-security -Werror=array-bounds -g" LDFLAGS = "-fsanitize=address,undefined" CC = "clang" CXX = "clang++" --disable-shared ; OptimOff ; $( MAKE) clean ; $( MAKE)
2003-11-19 02:52:38 +03:00
cleanup :
-@( find . -name .\# \* -exec rm { } \; )
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 07:32:54 +04:00
-@( find . -name \* .gcda -o -name \* .gcno -exec rm -f { } \; )
-@( find . -name \* .orig -o -name \* .rej -o -name \* .old -exec rm -f { } \; )
2003-11-19 02:52:38 +03:00
2022-08-26 18:37:09 +03:00
dist-hook : cleanup
2023-11-23 17:59:41 +03:00
( cd $( srcdir) ; tar -cf - --exclude .git win32 os400 test result) | ( cd $( distdir) ; tar xf -)
1999-02-22 00:20:12 +03:00
2023-02-13 13:14:34 +03:00
CLEANFILES = runsuite.log runxmlconf.log test.out *.gcda *.gcno *.res
2012-09-11 09:37:30 +04:00
DISTCLEANFILES = COPYING missing.lst
2001-02-23 20:55:21 +03:00
2024-06-22 05:18:14 +03:00
EXTRA_DIST = Copyright libxml2-config.cmake.in autogen.sh \
2024-06-28 21:37:47 +03:00
libxml.h iso8859x.inc \
2024-07-12 17:28:18 +03:00
tools/gentest.py \
2024-08-18 13:16:34 +03:00
tools/genChRanges.py tools/genEscape.py tools/genUnicode.py \
2022-12-21 23:47:10 +03:00
libxml2.syms timsort.h \
2022-02-14 05:40:59 +03:00
README.zOS README.md \
2024-04-04 13:14:46 +03:00
CMakeLists.txt config.h.cmake.in libxml2-config.cmake.cmake.in \
meson.build meson_options.txt
2003-09-18 02:33:22 +04:00
2001-02-23 20:55:21 +03:00
pkgconfigdir = $( libdir) /pkgconfig
2022-08-29 17:13:50 +03:00
pkgconfig_DATA = libxml-2.0.pc
2001-02-23 20:55:21 +03:00
2014-10-11 23:50:41 +04:00
cmakedir = $( libdir) /cmake/libxml2
cmake_DATA = libxml2-config.cmake
2004-08-14 15:15:13 +04:00
tst : tst .c
2012-05-08 06:59:41 +04:00
$( CC) $( CFLAGS) -Iinclude -o tst tst.c .libs/libxml2.a -lpthread -lm -lz -llzma
2005-07-30 02:02:24 +04:00
sparse : clean
$( MAKE) CC = cgcc
2008-08-27 19:33:28 +04:00
#
# Coverage support, largely borrowed from libvirt
# Both binaries comes from the lcov package in Fedora
#
LCOV = /usr/bin/lcov
GENHTML = /usr/bin/genhtml
cov : clean -cov
2022-09-02 17:45:06 +03:00
if [ " `echo $( AM_LDFLAGS) | grep coverage` " = "" ] ; then \
2008-08-27 19:33:28 +04:00
echo not configured with coverage; exit 1 ; fi
if [ ! -x $( LCOV) -o ! -x $( GENHTML) ] ; then \
echo Need $( LCOV) and $( GENHTML) excecutables; exit 1 ; fi
-@( $( MAKE) check)
-@( ./runsuite$( EXEEXT) )
mkdir $( top_builddir) /coverage
$( LCOV) -c -o $( top_builddir) /coverage/libxml2.info.tmp -d $( top_srcdir)
$( LCOV) -r $( top_builddir) /coverage/libxml2.info.tmp -o $( top_builddir) /coverage/libxml2.info *usr*
rm $( top_builddir) /coverage/libxml2.info.tmp
$( GENHTML) -s -t "libxml2" -o $( top_builddir) /coverage --legend $( top_builddir) /coverage/libxml2.info
echo " Coverage report is in $( top_builddir) /coverage/index.html "
clean-cov :
rm -rf $( top_builddir) /coverage