68 Commits

Author SHA1 Message Date
Nick Wellnhofer
e1291059af build: Don't check for pthread.h
The Autotools build still checks for pthread.h (and zlib.h and lzma.h)
but the result isn't needed in config.h.
2024-07-22 23:03:55 +02:00
Nick Wellnhofer
481fd6bbee tests: Remove testThreads.c
This was merged into runtest.c some time ago.
2024-06-16 18:47:12 +02:00
Miklos Vajna
7e83a08994 win32, msvc: fix missing linking against Bcrypt.lib
Fixes this link error:

dict.obj : error LNK2019: unresolved external symbol BCryptGenRandom referenced in function xmlInitRandom

Commit 2e9e758d1ecb52b73a43db79d326c18d7d94c8d7 (dict: Get random seed
from system PRNG, 2023-12-24) updated cmake, but not nmake, correct
this.
2024-06-14 22:31:52 +02:00
Nick Wellnhofer
dba1ed85a3 ftp: Remove FTP support
Remove the built-in FTP client. If you configure --with-legacy, old
symbols are retained for ABI compatibility.
2024-06-12 18:19:55 +02:00
Nick Wellnhofer
609d2666fa Stop defining _REENTRANT
This macro is obsolete, see `man feature_test_macros`.
2024-05-13 13:08:14 +02:00
Nick Wellnhofer
b173b724d1 globals: Use thread-local storage if available
Also use thread-local storage to store globals on POSIX platforms.

Most importantly, this makes sure that global variable access can't fail
when allocating the global state struct.
2023-09-20 22:06:49 +02:00
Nick Wellnhofer
11a95279a9 win32: Don't depend on removed .def file
Fixes broken build after 21cec82b.

Fixes #532.
2023-05-02 13:36:04 +02:00
Nick Wellnhofer
1e60c76821 Remove HAVE_WIN32_THREADS configuration flag
Check for LIBXML_THREAD_ENABLED and _WIN32 instead.
2022-09-04 01:49:41 +02:00
Nick Wellnhofer
caef85633e Move automata test to runtest.c 2022-09-02 18:33:36 +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
4a8c71eb7c Remove DOCBparser
This code has been broken and deprecated since version 2.6.0, released
in 2003. Because of a bug in commit 961b535c, DOCBparser.c was never
compiled since 2012. I couldn't find a Debian package using any of its
symbols, so it seems safe to remove this module.
2022-03-04 22:56:21 +01:00
Michael Stahl
a230b728f1 win32: allow passing *FLAGS on command line
nmake is a primitive tool, so this is a primitive implementation:
append EXTRA_CFLAGS etc. variables.

Command line variables should be appended to allow overriding flags set
in the makefile.

It doesn't work to pass in CFLAGS like in make because that always
overrides the assignments in the makefile.
2020-05-04 14:16: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
Nick Wellnhofer
fc27759d2a Fix MSVC build with lzma 2018-11-06 10:17:35 +01:00
Nick Wellnhofer
8ac759a6e6 Build more test executables on Windows/MSVC
Build all test executables required by 'make checktests'.
2017-11-27 18:26:32 +01:00
Nick Wellnhofer
706926fddf Fix ICU library filenames on Windows/MSVC
Fixes bug 790119.
2017-11-27 18:26:24 +01:00
ccpaging
d404919870 Add resource file to Windows DLL
Add a resource file containing verison information for the Windows DLL.
This is only used by the MSVC build for now.
2017-11-27 16:33:00 +01:00
Nick Wellnhofer
cb5541c9f3 Fix libz and liblzma detection
If libz or liblzma are detected with pkg-config, AC_CHECK_HEADERS must
not be run because the correct CPPFLAGS aren't set. It is actually not
required have separate checks for LIBXML_ZLIB_ENABLED and HAVE_ZLIB_H.
Only check for LIBXML_ZLIB_ENABLED and remove HAVE_ZLIB_H macro.

Fixes bug 764657, bug 787041.
2017-11-27 14:33:37 +01:00
Nick Wellnhofer
25499fc229 Increase warning level to /W3 under MSVC
With the exception of timsort.h and warnings 4244 and 4267, the MSVC
build is now warnings-free with /W3.
2017-10-09 16:52:34 +02:00
Nick Wellnhofer
e3890546d7 Fix the Windows header mess
Don't include windows.h and wsockcompat.h from config.h but only when
needed.

Don't define _WINSOCKAPI_ manually. This was apparently done to stop
windows.h from including winsock.h which is a problem if winsock2.h
wasn't included first. But on MinGW, this causes compiler warnings.
Define WIN32_LEAN_AND_MEAN instead which has the same effect.

Always use the compiler-defined _WIN32 macro instead of WIN32.
2017-10-09 14:35:40 +02:00
Daniel Veillard
afb0f93c12 Revert "Allow build on Visual Studio 2017 community edition for WIN32 on a 64 bit machine."
This reverts commit 605899cf22d185f537eb5efb97a55be30467eb17.
2017-08-28 17:45:47 +02:00
Boris Shtrasman
605899cf22 Allow build on Visual Studio 2017 community edition for WIN32 on a 64 bit machine.
This patch hold the necessary changes to build libxml2 with Visual
Studio 2017 for WIN32 on a 64 bit machine.

Today 64 bit windows installation are very common, and Visual Studio
2017 community is the most recent version i have access to.

I have chosen 32 bit and SDK 8.1 to be as close as possible to Igor Zlatkovic work.
2017-08-28 14:58:21 +02:00
Roumen Petrov
f3efaba30e remove HAVE_CONFIG_H dependency in testlimits.c 2014-10-16 12:01:09 +08:00
Daniel Richard
bbe194518f Windows build fixes
Building 2.9.0 on MSVC7.1 was failing

This is because HAVE_CONFIG_H is not #defined
The patch addresses the above, adds testrecurse.exe and the
standard "make check" suite of tests to the MSVC makefile, and also
fixes the following (MSVC7.1) warnings:
buf.c(674) : warning C4028: formal parameter 1 different from
declaration
libxml2\timsort.h(71) : warning C4028: formal parameter 1 different from
declaration
2012-09-18 11:15:06 +08:00
Eric Zurcher
e02869807e More changes for Win32 compilation 2012-08-15 15:42:11 +08:00
Eric Zurcher
414f269a4f Basic changes for Win32 builds of release 2.9.0: compile buf.c
Makes builds on Windows (whether by MSVC, BCB, or MinGW) to compile buf.c
2012-08-15 13:52:09 +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
Rob Richards
2d84ea149b Fix windows build from lzma addition 2012-03-21 10:37:06 -04:00
Patrick von Reth
f1da8abb62 Fix the Windows build files
Patches comming from KDE project for Windows portability

https://projects.kde.org/projects/kdesupport/emerge/repository/revisions/master/entry/portage/testing/libxml2-test/libxml2-2.7.8-20110801.diff

To build libxml2 I had to patch the build system a little bit.
The windows build system tries to link about zdll, but on windows
its called zlib* too, so linking against z is enough.
Also the --include and the --lib command was ignored.

For the http and ftp stuff linking against some windows library's was
forgotten for mingw.
2011-09-14 16:00:28 +08:00
Daniel Veillard
ae874211d4 634846 Remove a linking option breaking Windows VC10
as pointed out by David Connet <dcon@agilityrecordbook.com>
2010-11-17 14:10:39 +01:00
Rob Richards
364e3d2b05 fix win build 2010-11-10 10:13:51 -05:00
Giuseppe Iuculano
48f7dcb724 480323 add code to plug in ICU converters by default
This is not configured in by default but after some serious massaging
incorporate that patch from Chromium/Chrome.
2010-11-04 17:42:42 +01:00
Rob Richards
a295fbc4cc Fix Win32 build
* libxml.h win32/Makefile.bcb win32/Makefile.mingw win32/Makefile.msvc: add
  NOLIBTOOL flag to prevent automatic define of LIBXML_STATIC
2010-03-19 06:31:55 -04:00
Daniel Veillard
f3da06d6f7 EOL cleanups from Florent Guiliani Daniel
* macos/src/XMLTestPrefix2.h win32/Makefile.msvc: EOL cleanups
  from Florent Guiliani
Daniel

svn path=/trunk/; revision=3692
2008-02-15 07:43:00 +00:00
Rob Richards
82fbf579b2 fix build under VS 2008. patch by David Wimsey
* include/win32config.h win32/Makefile.msvc: fix build under VS 2008.
  patch by David Wimsey

svn path=/trunk/; revision=3681
2008-01-25 19:03:37 +00:00
Rob Richards
90ee8dfd3f add --vcmanifest flag (yes/no) for VC8 build support to embed manifest
* win32/configure.js win32/Makefile.msvc: add --vcmanifest flag (yes/no) 
  for VC8 build support to embed manifest within files. Under MS VC, build 
  libxml2_a_dll.lib by default (LIBXML_STATIC_FOR_DLL flag).

svn path=/trunk/; revision=3625
2007-06-08 19:47:37 +00:00
Kasimier T. Buchcik
2363555e76 Added changed as proposed on the mailing list by venkat naidu in order to
* tapi.c win32/Makefile.*: Added changed as proposed on
  the mailing list by venkat naidu in order to compile
  testapi.c on windows.
2006-02-01 11:28:14 +00:00
Daniel Veillard
5fe95a8fd9 applied patch from Rob Richards to add schematron to the build on Windows
* win32/Makefile.msvc win32/configure.js: applied patch from Rob
  Richards to add schematron to the build on Windows
* test/schematron/zvon3* result/schematron/zvon3*: second test
* test/schematron/zvon10* result/schematron/zvon10*: this is the
  real second test 10 and 2 are swapped.
Daniel
2005-07-31 14:05:18 +00:00
William M. Brack
d37988ac06 try again to fix file format for Windows
* win32/Makefile.msvc: try again to fix file format for Windows
2005-07-06 20:12:11 +00:00
William M. Brack
fa8d5d962e removed spurious ^M added check for option O_BINARY changed sticky tag to
* win32/Makefile.msvc: removed spurious ^M
* runtest.c: added check for option O_BINARY
* test/schemas/bug309338*, result/schemas/bug309338*: changed
  sticky tag to 'binary'
2005-07-06 19:44:03 +00:00
Kasimier T. Buchcik
87db1cf6d1 Tiny portability adjustment for win. Added runtest.exe and runsuite.exe to
* runsuite.c runtest.c: Tiny portability adjustment for win.
* win32/Makefile.*: Added runtest.exe and runsuite.exe to
  be created.
2005-07-05 10:40:52 +00:00
Igor Zlatkovic
f12177d977 make install cleanup 2005-04-06 21:14:06 +00:00
Daniel Veillard
ce1648b124 applied DSO support patch 2 from Joel Reed Daniel
* Makefile.am config.h.in configure.in error.c libxml-2.0.pc.in
  testModule.c testdso.c xml2-config.in xmllint.c xmlmodule.c
  include/libxml/Makefile.am include/libxml/xmlerror.h
  include/libxml/xmlmodule.h include/libxml/xmlversion.h.in
  include/libxml/xmlwin32version.h.in: applied DSO support
  patch 2 from Joel Reed
Daniel
2005-01-04 15:10:22 +00:00
Igor Zlatkovic
5b9d71462f upgraded to zlib 1.2.1 2004-08-24 14:42:56 +00:00
Igor Zlatkovic
72c2858596 minor changes for the windows binary package 2004-06-09 14:32:47 +00:00
Daniel Veillard
712096b3d0 applied a second patch from Mark Vakoc for regression tests on Windows
* win32/Makefile.msvc: applied a second patch from Mark Vakoc for
  regression tests on Windows
Daniel
2004-04-30 12:56:46 +00:00
Daniel Veillard
9ea6231ece patch from Mark Vakoc for regression tests on Windows. the NaN problem
* win32/Makefile.msvc: patch from Mark Vakoc for regression tests
  on Windows.
* xpath.c: the NaN problem also shows up on Borland
Daniel
2004-04-29 14:04:09 +00:00
William M. Brack
39111ecbbc added new module xmlsave with patch supplied by Eric Zurcher (second
* win32/Makefile.bcb, win32/Makefile.mingw, win32/Makefile.msvc:
  added new module xmlsave with patch supplied by Eric Zurcher
  (second attempt - don't know what happened to the first one!)
2004-03-09 10:53:42 +00:00
Daniel Veillard
abfca61504 applying patch from Mark Vakoc for Windows applied doc fixes from Sven
* win32/Makefile.bcb win32/Makefile.mingw win32/Makefile.msvc:
  applying patch from Mark Vakoc for Windows
* doc/catalog.html doc/encoding.html doc/xml.html: applied doc
  fixes from Sven Zimmerman
Daniel
2004-01-07 23:38:02 +00:00