From 1b53faea6edfc566e7b147f3db96d590fe7bb14a Mon Sep 17 00:00:00 2001
From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= <vslavik@fastmail.fm>
Date: Sun, 10 Apr 2005 19:41:03 +0000
Subject: [PATCH] splitted gizmos library into gizmos and gizmos_xrc in order
 to fix broken compilation of DLLs

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 autoconf_inc.m4                         | 12 ++++++++++++
 contrib/build/gizmos/gizmos.bkl         | 22 +++++++++++++++++++++-
 contrib/include/wx/gizmos/gizmos.h      |  8 ++++++++
 contrib/include/wx/gizmos/xh_statpict.h |  3 ++-
 4 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/autoconf_inc.m4 b/autoconf_inc.m4
index ade3761380..bc3fe699cc 100644
--- a/autoconf_inc.m4
+++ b/autoconf_inc.m4
@@ -398,6 +398,12 @@ dnl ### begin block 20_COND_SHARED_0_USE_GUI_1_WXUSE_LIBTIFF_BUILTIN[wx.bkl] ###
         COND_SHARED_0_USE_GUI_1_WXUSE_LIBTIFF_BUILTIN=""
     fi
     AC_SUBST(COND_SHARED_0_USE_GUI_1_WXUSE_LIBTIFF_BUILTIN)
+dnl ### begin block 20_COND_SHARED_0_USE_XRC_1[../../contrib/build/gizmos/gizmos.bkl] ###
+    COND_SHARED_0_USE_XRC_1="#"
+    if test "x$SHARED" = "x0" -a "x$USE_XRC" = "x1" ; then
+        COND_SHARED_0_USE_XRC_1=""
+    fi
+    AC_SUBST(COND_SHARED_0_USE_XRC_1)
 dnl ### begin block 20_COND_SHARED_0_WXUSE_EXPAT_BUILTIN[wx.bkl] ###
     COND_SHARED_0_WXUSE_EXPAT_BUILTIN="#"
     if test "x$SHARED" = "x0" -a "x$wxUSE_EXPAT" = "xbuiltin" ; then
@@ -434,6 +440,12 @@ dnl ### begin block 20_COND_SHARED_1_USE_GUI_1_USE_OPENGL_1[wx.bkl] ###
         COND_SHARED_1_USE_GUI_1_USE_OPENGL_1=""
     fi
     AC_SUBST(COND_SHARED_1_USE_GUI_1_USE_OPENGL_1)
+dnl ### begin block 20_COND_SHARED_1_USE_XRC_1[../../contrib/build/gizmos/gizmos.bkl] ###
+    COND_SHARED_1_USE_XRC_1="#"
+    if test "x$SHARED" = "x1" -a "x$USE_XRC" = "x1" ; then
+        COND_SHARED_1_USE_XRC_1=""
+    fi
+    AC_SUBST(COND_SHARED_1_USE_XRC_1)
 dnl ### begin block 20_COND_TOOLKIT_[wx.bkl] ###
     COND_TOOLKIT_="#"
     if test "x$TOOLKIT" = "x" ; then
diff --git a/contrib/build/gizmos/gizmos.bkl b/contrib/build/gizmos/gizmos.bkl
index 31bb831e16..7f6500c0fd 100644
--- a/contrib/build/gizmos/gizmos.bkl
+++ b/contrib/build/gizmos/gizmos.bkl
@@ -12,6 +12,9 @@
         multicell.cpp
         splittree.cpp
         statpict.cpp
+    </set>
+    
+    <set var="GIZMOS_XRC_SRC">
         xh_statpict.cpp
     </set>
 
@@ -23,8 +26,8 @@
             wx/gizmos/multicell.h
             wx/gizmos/splittree.h
             wx/gizmos/statpict.h
-            wx/gizmos/xh_statpict.h
             wx/gizmos/gizmos.h
+            wx/gizmos/xh_statpict.h
         </files>
     </headers>
 
@@ -32,14 +35,31 @@
         <define>WXUSINGDLL</define>
         <define>WXMAKINGDLL_GIZMOS</define>
         <sources>$(GIZMOS_SRC)</sources>
+        <wx-lib>core</wx-lib>
         <wx-lib>base</wx-lib>
+    </dll>
+    
+    <dll id="gizmos_xrcdll" template="wx_contrib_dll"
+         cond="SHARED=='1' and USE_XRC=='1'">
+        <define>WXUSINGDLL</define>
+        <define>WXMAKINGDLL_GIZMOS_XRC</define>
+        <sources>$(GIZMOS_XRC_SRC)</sources>
+        <library>gizmosdll</library>
+        <wx-lib>xrc</wx-lib>
         <wx-lib>core</wx-lib>
+        <wx-lib>base</wx-lib>
     </dll>
 
     <lib id="gizmoslib" template="wx_contrib_lib" cond="SHARED=='0'">
         <sources>$(GIZMOS_SRC)</sources>
     </lib>
+
+    <lib id="gizmos_xrclib" template="wx_contrib_lib"
+         cond="SHARED=='0' and USE_XRC=='1'">
+        <sources>$(GIZMOS_XRC_SRC)</sources>
+    </lib>
     
     <set var="MSVC6PRJ_MERGED_TARGETS" append="1">gizmos=gizmoslib+gizmosdll</set>
+    <set var="MSVC6PRJ_MERGED_TARGETS" append="1">gizmos_xrc=gizmos_xrclib+gizmos_xrcdll</set>
 
 </makefile>
diff --git a/contrib/include/wx/gizmos/gizmos.h b/contrib/include/wx/gizmos/gizmos.h
index d9a8aadfc6..7093f400e0 100644
--- a/contrib/include/wx/gizmos/gizmos.h
+++ b/contrib/include/wx/gizmos/gizmos.h
@@ -9,4 +9,12 @@
     #define WXDLLIMPEXP_GIZMOS
 #endif
 
+#ifdef WXMAKINGDLL_GIZMOS_XRC
+    #define WXDLLIMPEXP_GIZMOS_XRC WXEXPORT
+#elif defined(WXUSINGDLL)
+    #define WXDLLIMPEXP_GIZMOS_XRC WXIMPORT
+#else // not making nor using DLL
+    #define WXDLLIMPEXP_GIZMOS
+#endif
+
 #endif
diff --git a/contrib/include/wx/gizmos/xh_statpict.h b/contrib/include/wx/gizmos/xh_statpict.h
index d562f71267..e9d20c15fc 100644
--- a/contrib/include/wx/gizmos/xh_statpict.h
+++ b/contrib/include/wx/gizmos/xh_statpict.h
@@ -21,7 +21,8 @@
 // XML resource handler for the wxStaticPicture class in wxContrib.
 //
 
-class WXDLLIMPEXP_GIZMOS wxStaticPictureXmlHandler : public wxXmlResourceHandler
+class WXDLLIMPEXP_GIZMOS_XRC wxStaticPictureXmlHandler
+    : public wxXmlResourceHandler
 {
 public:
 
-- 
2.47.2