summaryrefslogtreecommitdiff
path: root/libxml2
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@suse.cz>2011-08-23 10:39:59 +0200
committerJan Holesovsky <kendy@suse.cz>2011-08-23 10:42:18 +0200
commit8e0c60ac1415de1b0fe27747f5d47fac993ab273 (patch)
treee72fc461e17fcf9aec4723fe4897f7fb712613f6 /libxml2
parentb6768c50736c6994e28de51c5f54cdadfd6f45f1 (diff)
Fix mingw cross-build of libxml2.
Diffstat (limited to 'libxml2')
-rw-r--r--libxml2/libxml2-mingw.patch53
-rw-r--r--libxml2/makefile.mk17
2 files changed, 22 insertions, 48 deletions
diff --git a/libxml2/libxml2-mingw.patch b/libxml2/libxml2-mingw.patch
index 651b0c13f1bb..1dda894cb6e0 100644
--- a/libxml2/libxml2-mingw.patch
+++ b/libxml2/libxml2-mingw.patch
@@ -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
diff --git a/libxml2/makefile.mk b/libxml2/makefile.mk
index 0eb08019f1b6..5c832888fcf2 100644
--- a/libxml2/makefile.mk
+++ b/libxml2/makefile.mk
@@ -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