1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2024-10-26 12:25:09 +03:00
Commit Graph

218 Commits

Author SHA1 Message Date
Chun-wei Fan
dbfe6151ff Python distutils: Make DLL packaging more flexible
This updates setup.py.in to pack the DLLs according to the options we specified
to configure.js or CMake (or, even configure, although autotools builds are not
likely to build the libxml2 Python module via distutils).

At this point, we can pack only the DLLs that libxml2 really depends on, and
pack the libxslt DLLs only if we really built the libxslt Python modules.

Also make the DLL filenames more easily configured
2022-01-16 15:18:06 +01:00
Nick Wellnhofer
4e9cc18ba9 Fix variable name in win32/configure.js
Fix copy/paste error from previous commit.
2020-09-21 11:00:23 +02:00
Nick Wellnhofer
5614c07854 Fix version parsing in win32/configure.js
Adjust to configure.ac changes.

Should fix #185.
2020-09-21 10:55:45 +02: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
20c60886e4 Fix typos
Resolves #133.
2020-03-08 17:41:53 +01:00
Nick Wellnhofer
3e7e75bed2 Minor fixes to configure.js
- Semicolon coding style
- Remove duplicated option check

Found by lgtm.com
2020-01-02 15:24:23 +01:00
Nick Wellnhofer
64966ebefd Rebuild docs 2019-09-30 18:05:45 +02:00
Jared Yanovich
2a350ee9b4 Large batch of typo fixes
Closes #109.
2019-09-30 18:04:38 +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
bf3b456350 Remove unused AC_CHECKs 2017-11-27 14:35:29 +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 605899cf22.
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
Bruce Dawson
dfbacd4f41 win32\VC10\config.h and VS 2015
--047d7bacb4ee71848a052d7c673a
Content-Type: text/plain; charset=UTF-8

The config.h file in win32\VC10 is incompatible with VS 2015 because VS
2015 provides an implementation of snprintf and prohibits using the
preprocessor to define it. Therefor an ifdef check is needed around that
definition in VC10\config.h. Here is a patch that is compatible with the
change that we made to Chromium's copy:
2016-03-11 16:02:03 +08:00
Daniel Veillard
7580ce0a7f Update Win32 configure.js to search for configure.ac
as configure.in was renamed
2014-10-28 18:13:53 +08:00
Roumen Petrov
f3efaba30e remove HAVE_CONFIG_H dependency in testlimits.c 2014-10-16 12:01:09 +08:00
Roumen Petrov
21fec4999b win32/libxml2.def.src after rebuild in doc 2014-10-16 11:44:33 +08:00
Daniel Richard
a0571ebeac Fix for win32/configure.js and WITH_THREAD_ALLOC
Building git master gives me the following error on Windows; this patch
fixes it:

	icl /EP /nologo /I..\include /D "NOLIBTOOL" /D "_REENTRANT"
libxml2.def.
src > int.msvc\libxml2.def
libxml2.def.src
Z:\...\libxml2-git8123c4f6_debug\win32\../include/libxml/xmlversion.h(105):
error: unrecognized token
  #if @WITH_THREAD_ALLOC@
      ^
Z:\...\libxml2-git8123c4f6_debug\win32\../include/libxml/xmlversion.h(105):
error: expected an expression
  #if @WITH_THREAD_ALLOC@
      ^
Z:\...\libxml2-git8123c4f6_debug\win32\../include/libxml/xmlversion.h(105):
error: unrecognized token
  #if @WITH_THREAD_ALLOC@
                        ^
NMAKE : fatal error U1077: 'icl' : return code '0x2'
Stop.
2012-12-12 17:16:00 +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
Daniel Veillard
857104cd49 Remove all .cvsignore as they are not used anymore
For https://bugzilla.gnome.org/show_bug.cgi?id=682985
suggested by Adrian Bunk <bunk@stusta.de>
2012-09-04 14:25:23 +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
Patrick Gansterer
aabc08477c Fix compiler warnings of wincecompat.c
For https://bugzilla.gnome.org/show_bug.cgi?id=681592

*) Add and explicit cast when converting FILE* to int
*) Don't assign a c-string to the element of an char-array
2012-08-13 18:00:22 +08:00
Roumen Petrov
1f0453f715 minimize use of HAVE_CONFIG_H
as build process for supported platforms provide "config.h" header file
2012-08-13 16:57:30 +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
Thomas Lemm
066c697772 Allow to compile with Visual Studio 2010
For https://bugzilla.gnome.org/show_bug.cgi?id=666491

This patch adds project files to compile and debug libxml2 using Visual
Studio 2010. Only few minor changes have been made to the actual source
code.

This patch also requires for the iconv package to be compiled with visual
studio 2010 which has been submitted to the iconv project (see:
https://savannah.gnu.org/bugs/?35088)
2012-05-09 18:27:04 +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
f447ab8f97 Regenerated API and symbols
* doc/Makefile.am: make the check for symbols pbm a make api failure
* doc/symbols.xml: added xmlXIncludeProcessTreeFlagsData
* doc//* elfgcchack.h libxml2.syms testapi.c: regenerated
2009-08-24 19:47:00 +02:00
Daniel Veillard
472b1e1150 Regenerate symbols and API after previous patches
* doc/symbols.xml: new global data xmlStructuredErrorContext
* doc/checkapisym.xsl: slightly improve output
* doc/* libxml2.syms win32/libxml2.def.src: regenerated the API
2009-08-24 17:39:07 +02:00
Daniel Veillard
48b3eb22c2 fixes for Borland/CodeGear/Embarcadero compilers by Eric Zurcher Daniel
* include/wsockcompat.h win32/Makefile.bcb xpath.c: fixes for
  Borland/CodeGear/Embarcadero compilers by Eric Zurcher
Daniel

svn path=/trunk/; revision=3822
2009-03-25 09:51:19 +00:00
Daniel Veillard
be2bd6ac6f adds element traversal support avoid a warning regenerated daniel
* include/libxml/tree.h tree.c python/generator.py: adds
  element traversal support
* valid.c: avoid a warning
* doc/*: regenerated
daniel

svn path=/trunk/; revision=3804
2008-11-27 15:26:28 +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
05b37c6893 trying to clarify even more the xmlCleanupParser() use and the memory
* parser.c docs/*: trying to clarify even more the xmlCleanupParser()
  use and the memory documentation
Daniel

svn path=/trunk/; revision=3719
2008-03-31 08:27:07 +00: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
f779da3172 fixed windows path determination (patch from Roland Schwarz, bug #462877)
* xmlIO.c: fixed windows path determination (patch from
  Roland Schwarz, bug #462877)
* win32/Makefile.mingw win32/configure.js: fixed mingw build
  (patch from Roland Schwarz, bug #462877)

svn path=/trunk/; revision=3648
2007-08-14 09:41:21 +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
Daniel Veillard
59d3ed8fe0 applied patch from Andreas Stricke to ease the compilation on Windows CE
* catalog.c libxml.h win32/wince/wincecompat.h win32/wince/wincecompat.c
  xmlIO.c nanohttp.c nanoftp.c trio.c triostr.c triostr.h: applied 
  patch from Andreas Stricke to ease the compilation on Windows CE
Daniel

svn path=/trunk/; revision=3600
2007-04-17 12:44:58 +00:00
William M. Brack
7f28a01d6b Re-generated the documentation (API chunks 27-29 were missing) (also
* Re-generated the documentation (API chunks 27-29 were missing)
          (also causes changes to testapi.c, elfgcchack.h and
          win32/libxml2.def.src)

svn path=/trunk/; revision=3574
2007-01-11 23:42:10 +00:00