[gtkmm/use-dllexport-3-24-meson: 14/16] [gdk|gtk]mmconfig.h.meson: Define [GDK|GTK]MM_API appropriately



commit 2a14ffe775cf9adb7987ad5a78db45841228eefd
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Wed May 13 16:24:54 2020 +0800

    [gdk|gtk]mmconfig.h.meson: Define [GDK|GTK]MM_API appropriately
    
    Like in the [gdk|gtk]mmconfig.h.in files, we want to put the definitions of
    [GDK|GTK]MM_API in there appropriately, so that we may be able to build without
    gendef.exe

 gdk/gdkmmconfig.h.meson | 17 +++++++++++++++++
 gtk/gtkmmconfig.h.meson | 18 ++++++++----------
 2 files changed, 25 insertions(+), 10 deletions(-)
---
diff --git a/gdk/gdkmmconfig.h.meson b/gdk/gdkmmconfig.h.meson
index a8187b3a..19335e73 100644
--- a/gdk/gdkmmconfig.h.meson
+++ b/gdk/gdkmmconfig.h.meson
@@ -18,4 +18,21 @@
 /* Micro version number of gdkmm. */
 #mesondefine GDKMM_MICRO_VERSION
 
+/* Enable DLL-specific stuff only when not building a static library nor using gendef. */
+#if !defined(__CYGWIN__) && defined(_WIN32) && \
+    !defined(GDKMM_STATIC_LIB) && !defined(GDKMM_USE_GENDEF)
+# define GDKMM_DLL 1
+#endif
+
+#ifdef GDKMM_DLL
+# ifdef GDKMM_BUILD
+#  define GDKMM_API __declspec(dllexport)
+# else
+#  define GDKMM_API __declspec(dllimport)
+# endif /* GDKMM_BUILD */
+#else
+/* Build a static library or a non-native-Windows library */
+# define GDKMM_API
+#endif /* GDKMM_DLL */
+
 #endif /* !_GDKMM_CONFIG_H */
diff --git a/gtk/gtkmmconfig.h.meson b/gtk/gtkmmconfig.h.meson
index bbacb747..c7e92dd0 100644
--- a/gtk/gtkmmconfig.h.meson
+++ b/gtk/gtkmmconfig.h.meson
@@ -21,22 +21,20 @@
 /* Define when building gtkmm as a static library. */
 #mesondefine GTKMM_STATIC_LIB
 
-/* Enable DLL-specific stuff only when not building a static library. */
-#if (!defined(GTKMM_STATIC_LIB) && !defined(__CYGWIN__) && defined(_WIN32))
+/* Enable DLL-specific stuff only when not building a static library  nor using gendef. */
+#if !defined(__CYGWIN__) && defined(_WIN32) && \
+    !defined(GTKMM_STATIC_LIB) && !defined(GTKMM_USE_GENDEF)
 # define GTKMM_DLL 1
 #endif
 
 #ifdef GTKMM_DLL
-# if defined(GTKMM_BUILD) && defined(_WINDLL)
-   /* Do not dllexport as it is handled by gendef on MSVC. */
-#  define GTKMM_API
-# elif !defined(GTKMM_BUILD)
-#  define GTKMM_API __declspec(dllimport)
+# if defined(GTKMM_BUILD)
+#  define GTKMM_API __declspec(dllexport)
 # else
-   /* Build a static library. */
-#  define GTKMM_API
-# endif /* GTKMM_BUILD - _WINDLL */
+#  define GTKMM_API __declspec(dllimport)
+# endif
 #else
+/* Build a static library or a non-native Windows library or gendef is used. */
 # define GTKMM_API
 #endif /* GTKMM_DLL */
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]