Fix mingw cross-build of libxml2.

This commit is contained in:
Jan Holesovsky 2011-08-23 10:39:59 +02:00
parent b6768c5073
commit 8e0c60ac14
2 changed files with 22 additions and 48 deletions

View file

@ -1,48 +1,11 @@
--- misc/libxml2-2.7.6/configure 2008-01-11 17:01:56.000000000 +0900
+++ misc/build/libxml2-2.7.6/configure 2009-09-07 20:48:47.656250000 +0900
@@ -19914,6 +19914,8 @@
if test "$with_modules" != "no" ; then
case "$host" in
+ *-*-mingw*)
+ ;;
*-*-cygwin*)
MODULE_EXTENSION=".dll"
{ $as_echo "$as_me:$LINENO: checking for dlopen in -lcygwin" >&5
@@ -20632,11 +20636,10 @@
fi
case $host_os in
- *mingw32*) if test "$THREAD_LIBS" != "-lpthread"; then
+ *mingw32*)
WITH_THREADS="1"
THREADS_W32="Win32"
THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_WIN32_THREADS"
- fi
;;
*cygwin*) THREAD_LIBS=""
;;
--- misc/libxml2-2.7.6/libxml.h 2007-11-23 19:47:23.000000000 +0900
+++ misc/build/libxml2-2.7.6/libxml.h 2009-07-10 14:37:34.988250000 +0900
@@ -30,6 +30,10 @@
#include <libxml/xmlversion.h>
#else
#include "config.h"
+#ifdef __MINGW32__
+#undef HAVE_LIBPTHREAD
+#undef HAVE_PTHREAD_H
+#endif
#include <libxml/xmlversion.h>
#endif
--- misc/libxml2-2.7.6/include/libxml/xmlexports.h 2009-09-25 00:31:59.000000000 +0900
+++ misc/build/libxml2-2.7.6/include/libxml/xmlexports.h 2010-06-06 11:15:54.160750000 +0900
@@ -113,7 +113,7 @@
* _imp__xmlFree listed as missing. Try to workaround the problem
* by also making that declaration when compiling client code.
*/
- #if !defined(LIBXML_STATIC)
+ #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
--- misc/build/libxml2-2.7.6/include/libxml/xmlexports.h.orig 2011-08-23 10:26:54.000000000 +0200
+++ misc/build/libxml2-2.7.6/include/libxml/xmlexports.h 2011-08-23 10:27:21.000000000 +0200
@@ -56,7 +56,7 @@
#undef XMLPUBVAR
#undef XMLCALL
#undef XMLCDECL
- #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
+ #if 0
#define XMLPUBFUN __declspec(dllexport)
#define XMLPUBVAR __declspec(dllexport)
#else

View file

@ -54,7 +54,8 @@ PATCH_FILES=libxml2-configure.patch \
libxml2-xpath.patch \
libxml2-global-symbols.patch \
libxml2-aix.patch \
libxml2-vc10.patch
libxml2-vc10.patch \
libxml2-mingw.patch
.IF "$(OS)" == "WNT"
PATCH_FILES+= libxml2-long-path.patch
@ -74,8 +75,19 @@ xml2_LIBS+=$(MINGW_SHARED_LIBSTDCPP)
.ENDIF
CONFIGURE_DIR=
CONFIGURE_ACTION=.$/configure
CONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --enable-static=no --without-debug --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(xml2_CC)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc-v2 -L$(ILIB:s/;/ -L/)" LIBS="$(xml2_LIBS)" OBJDUMP=objdump
.IF "$(CROSS_COMPILING)"=="YES"
BUILD_AND_HOST=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
.ELSE
BUILD_AND_HOST=--build=i586-pc-mingw32 --host=i586-pc-mingw32
.ENDIF
.IF "$(ILIB)" == ""
CONF_ILIB=
.ELSE
CONF_ILIB=-L$(ILIB:s/;/ -L/)
.ENDIF
CONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --enable-static=no --without-debug $(BUILD_AND_HOST) lt_cv_cc_dll_switch="-shared" CC="$(xml2_CC)" LDFLAGS="-Wl,--no-undefined -Wl,--enable-runtime-pseudo-reloc-v2 $(CONF_ILIB)" LIBS="$(xml2_LIBS)" OBJDUMP=objdump
BUILD_ACTION=$(GNUMAKE)
BUILD_FLAGS+= -j$(EXTMAXPROCESS)
BUILD_DIR=$(CONFIGURE_DIR)
.ELSE
CONFIGURE_DIR=win32
@ -129,7 +141,6 @@ OUT2BIN+=xml2-config
.ELIF "$(OS)"=="WNT"
.IF "$(COM)"=="GCC"
OUT2LIB+=.libs$/libxml2*.a
OUT2BIN+=.libs$/libxml2*.dll
OUT2BIN+=.libs$/xmllint.exe
OUT2BIN+=xml2-config
.ELSE