[libxml2] Fix build with mingw



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]