[libxml2] Fix build with mingw
- From: Daniel Veillard <veillard src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libxml2] Fix build with mingw
- Date: Wed, 10 Mar 2010 09:11:43 +0000 (UTC)
commit 120a269976f4198e54cc7b848dd78fca81bb9179
Author: Roumen Petrov <bugtrack roumenpetrov info>
Date: Wed Mar 10 10:07:49 2010 +0100
Fix build with mingw
- include/libxml/xmlexports.h: restore export decoration otherwise
xsltproc and xmlsec crash
- libxml.h: define LIBXML_STATIC for static build
- configure.in: enable modules support for mingw* builds
- Makefile.am: flags for testdso if modules support enabled
Makefile.am | 2 +-
configure.in | 4 ++++
include/libxml/xmlexports.h | 2 +-
libxml.h | 3 +++
4 files changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index c7f140c..967afbd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -159,7 +159,7 @@ testModule_LDADD= $(LDADDS)
noinst_LTLIBRARIES = testdso.la
testdso_la_SOURCES = testdso.c
-testdso_la_LDFLAGS = -module -rpath $(libdir)
+testdso_la_LDFLAGS = -module -no-undefined -avoid-version -rpath $(libdir)
# that one forces the rebuild when "make rebuild" is run on doc/
rebuild_testapi:
diff --git a/configure.in b/configure.in
index 3e4a601..5c9ffbd 100644
--- a/configure.in
+++ b/configure.in
@@ -779,6 +779,10 @@ if test "$with_modules" != "no" ; then
AC_DEFINE([HAVE_DLOPEN], [], [Have dlopen based dso])
])
;;
+ *-*-mingw*)
+ MODULE_EXTENSION=".dll"
+ WITH_MODULES=1
+ ;;
*)
AC_CHECK_FUNC(shl_load, libxml_have_shl_load=yes, [
AC_CHECK_LIB(dld, shl_load, [
diff --git a/include/libxml/xmlexports.h b/include/libxml/xmlexports.h
index b90659f..9c6790c 100644
--- a/include/libxml/xmlexports.h
+++ b/include/libxml/xmlexports.h
@@ -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)
#define XMLPUBFUN __declspec(dllexport)
#define XMLPUBVAR __declspec(dllexport)
#else
diff --git a/libxml.h b/libxml.h
index 3c44c83..1656ac2 100644
--- a/libxml.h
+++ b/libxml.h
@@ -90,4 +90,7 @@ void __xmlGlobalInitMutexDestroy(void);
#endif
#endif
#endif
+#ifndef PIC
+# define LIBXML_STATIC
+#endif
#endif /* ! __XML_LIBXML_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]