[gtk/render-node-types: 1/3] Add macro for exported variables



commit aa5e706b5283f9993e6a4ec20b43fdccfe51da9c
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Tue Apr 7 23:32:22 2020 +0100

    Add macro for exported variables
    
    The logic is based on the similar macro in GLib, but with the
    appropriate GDK symbols.

 gdk/gdktypes.h | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
---
diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h
index 39f38788a0..96d2b25427 100644
--- a/gdk/gdktypes.h
+++ b/gdk/gdktypes.h
@@ -624,4 +624,26 @@ typedef enum
 
 G_END_DECLS
 
+/*< private >
+ * GDK_EXTERN_VAR:
+ *
+ * A macro to annotate extern variables so that they show up properly in
+ * Windows DLLs.
+ */
+#ifndef GDK_EXTERN_VAR
+#  ifdef G_PLATFORM_WIN32
+#    ifdef GTK_COMPILATION
+#      ifdef DLL_EXPORT
+#        define GDK_EXTERN_VAR __declspec(dllexport)
+#      else /* !DLL_EXPORT */
+#        define GDK_EXTERN_VAR extern
+#      endif /* !DLL_EXPORT */
+#    else /* !GTK_COMPILATION */
+#      define GDK_EXTERN_VAR extern __declspec(dllimport)
+#    endif /* !GTK_COMPILATION */
+#  else /* !G_PLATFORM_WIN32 */
+#    define GDK_EXTERN_VAR _GDK_EXTERN
+#  endif /* !G_PLATFORM_WIN32 */
+#endif /* GDK_EXTERN_VAR */
+
 #endif /* __GDK_TYPES_H__ */


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