Build media backends with common_cflags and export the symbol
authorQiu Wenbo <qiuwenbo@phytium.com.cn>
Fri, 22 May 2020 08:45:44 +0000 (16:45 +0800)
committerQiu Wenbo <qiuwenbo@phytium.com.cn>
Fri, 22 May 2020 09:00:06 +0000 (17:00 +0800)
Fixes: #2771
modules/media/gtkgstmediafile.c
modules/media/meson.build
modules/printbackends/gtkprintbackendcloudprint.c
modules/printbackends/gtkprintbackendcups.c
modules/printbackends/gtkprintbackendfile.c
modules/printbackends/gtkprintbackendlpr.c

index 745ba3bc8889ca8ece462968447593b18b369a3a..5988ef38c33002bb17a076bb0907a8780bf19844 100644 (file)
@@ -96,6 +96,8 @@ gtk_gst_media_file_paintable_init (GdkPaintableInterface *iface)
 G_DEFINE_TYPE_EXTENDED (GtkGstMediaFile, gtk_gst_media_file, GTK_TYPE_MEDIA_FILE, 0,
                         G_IMPLEMENT_INTERFACE (GDK_TYPE_PAINTABLE,
                                                gtk_gst_media_file_paintable_init))
+
+G_MODULE_EXPORT
 void
 g_io_module_load (GIOModule *module)
 {
@@ -107,17 +109,20 @@ g_io_module_load (GIOModule *module)
                                   10);
 }
 
+G_MODULE_EXPORT
+G_GNUC_NORETURN
 void
 g_io_module_unload (GIOModule *module)
 {
   g_assert_not_reached ();
 }
 
+G_MODULE_EXPORT
 char **
 g_io_module_query (void)
 {
   char *eps[] = {
-    GTK_MEDIA_FILE_EXTENSION_POINT_NAME,
+    (char *) GTK_MEDIA_FILE_EXTENSION_POINT_NAME,
     NULL
   };
 
index 8a05ccb565e2c6df707beaa4158c134f2e0c5d9f..c6dbed1f263015a948fcd9b65df911b7610a4960 100644 (file)
@@ -24,11 +24,7 @@ media_subdir = 'gtk-4.0/@0@/media'.format(gtk_binary_version)
 media_install_dir = join_paths(get_option('libdir'), media_subdir)
 
 extra_c_args = ['-DGTK_COMPILATION']
-
-# Detect and set symbol visibility
-if cc.get_id() == 'msvc'
-  extra_c_args += ['-D_GLIB_EXTERN=__declspec (dllexport) extern']
-endif
+extra_c_args += common_cflags
 
 if media_backends.contains('ffmpeg')
   libavfilter_dep = dependency('libavfilter', version: '>= 6.47.100', required: true)
index 6a5d7755afb32743ea682a4ea7270c0dc1ca631b..99dc5f3665543d771746fd5333c649939c7ac92e 100644 (file)
@@ -103,6 +103,7 @@ void                 t_goa_account_free                 (gpointer data);
 
 G_DEFINE_DYNAMIC_TYPE (GtkPrintBackendCloudprint, gtk_print_backend_cloudprint, GTK_TYPE_PRINT_BACKEND)
 
+G_MODULE_EXPORT
 void
 g_io_module_load (GIOModule *module)
 {
@@ -118,11 +119,13 @@ g_io_module_load (GIOModule *module)
                                   10);
 }
 
+G_MODULE_EXPORT
 void
 g_io_module_unload (GIOModule *module)
 {
 }
 
+G_MODULE_EXPORT
 char **
 g_io_module_query (void)
 {
index fe6150e165e9f931bc92d213b9aa494d049fb24a..e875e9403b2c5dcb64459014448f7f217b3e7895 100644 (file)
@@ -236,6 +236,7 @@ static void                 secrets_service_vanished_cb             (GDBusConnec
 
 G_DEFINE_DYNAMIC_TYPE(GtkPrintBackendCups, gtk_print_backend_cups, GTK_TYPE_PRINT_BACKEND)
 
+G_MODULE_EXPORT
 void
 g_io_module_load (GIOModule *module)
 {
@@ -250,11 +251,13 @@ g_io_module_load (GIOModule *module)
                                   10);
 }
 
+G_MODULE_EXPORT
 void
 g_io_module_unload (GIOModule *module)
 {
 }
 
+G_MODULE_EXPORT
 char **
 g_io_module_query (void)
 {
index 071ebec3597de726b33bac78392b5b27edddb0e1..3486805688127c4e05a3c12daee383de335890e6 100644 (file)
@@ -102,6 +102,7 @@ static GtkPageSetup *       file_printer_get_default_page_size     (GtkPrinter
 
 G_DEFINE_DYNAMIC_TYPE(GtkPrintBackendFile, gtk_print_backend_file, GTK_TYPE_PRINT_BACKEND)
 
+G_MODULE_EXPORT
 void
 g_io_module_load (GIOModule *module)
 {
@@ -115,11 +116,13 @@ g_io_module_load (GIOModule *module)
                                   10);
 }
 
+G_MODULE_EXPORT
 void
 g_io_module_unload (GIOModule *module)
 {
 }
 
+G_MODULE_EXPORT
 char **
 g_io_module_query (void)
 {
index cef1501c3006294a10e7188cd820de15c5888029..0626e594fa51b6f868e9e69c392cff44a6ada262 100644 (file)
@@ -83,6 +83,7 @@ static void                 gtk_print_backend_lpr_print_stream    (GtkPrintBacke
 
 G_DEFINE_DYNAMIC_TYPE (GtkPrintBackendLpr, gtk_print_backend_lpr, GTK_TYPE_PRINT_BACKEND)
 
+G_MODULE_EXPORT
 void
 g_io_module_load (GIOModule *module)
 {
@@ -96,11 +97,13 @@ g_io_module_load (GIOModule *module)
                                   10);
 }
 
+G_MODULE_EXPORT
 void
 g_io_module_unload (GIOModule *module)
 {
 }
 
+G_MODULE_EXPORT
 char **
 g_io_module_query (void)
 {