[gtkmm/use-dllexport-3-24-meson: 14/16] [gdk|gtk]mmconfig.h.meson: Define [GDK|GTK]MM_API appropriately
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkmm/use-dllexport-3-24-meson: 14/16] [gdk|gtk]mmconfig.h.meson: Define [GDK|GTK]MM_API appropriately
- Date: Wed, 13 May 2020 09:14:35 +0000 (UTC)
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]