[amtk] Replace _AMTK_EXTERN by G_MODULE_EXPORT



commit f97cffe040f072a6a18d457236ef407ea52cfc75
Author: Sébastien Wilmet <sebastien wilmet gmail com>
Date:   Thu Sep 9 16:00:50 2021 +0200

    Replace _AMTK_EXTERN by G_MODULE_EXPORT
    
    G_MODULE_EXPORT exists, no need to create the custom _AMTK_EXTERN macro.
    As far as I know, it will have the same effect, on all supported
    platforms for Amtk.
    
    More code simplification will be done in later commits.
    
    On Linux, I've checked the result with `nm`:
    
            List of exported/public symbols:
            $ nm -D libsomething.so | grep T
    
    There are no difference before/after this commit, there are 76
    public/exported amtk symbols.

 amtk/amtk-action-info-central-store.h |  6 +++---
 amtk/amtk-action-info-store.h         | 14 ++++++------
 amtk/amtk-action-info.h               | 36 +++++++++++++++----------------
 amtk/amtk-action-map.h                |  2 +-
 amtk/amtk-application-window.h        | 18 ++++++++--------
 amtk/amtk-factory.h                   | 40 +++++++++++++++++------------------
 amtk/amtk-gmenu.h                     |  4 ++--
 amtk/amtk-init.h                      |  4 ++--
 amtk/amtk-macros.h                    | 10 +--------
 amtk/amtk-menu-item.h                 |  6 +++---
 amtk/amtk-menu-shell.h                |  6 +++---
 amtk/amtk-shortcuts.h                 |  6 +++---
 amtk/amtk-utils.h                     |  8 +++----
 amtk/meson.build                      |  8 ++-----
 14 files changed, 78 insertions(+), 90 deletions(-)
---
diff --git a/amtk/amtk-action-info-central-store.h b/amtk/amtk-action-info-central-store.h
index bd5c025..1a7505e 100644
--- a/amtk/amtk-action-info-central-store.h
+++ b/amtk/amtk-action-info-central-store.h
@@ -55,14 +55,14 @@ struct _AmtkActionInfoCentralStoreClass
        gpointer padding[12];
 };
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GType          amtk_action_info_central_store_get_type         (void);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 AmtkActionInfoCentralStore *
                amtk_action_info_central_store_get_singleton    (void);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 AmtkActionInfo *amtk_action_info_central_store_lookup          (AmtkActionInfoCentralStore *central_store,
                                                                 const gchar                *action_name);
 
diff --git a/amtk/amtk-action-info-store.h b/amtk/amtk-action-info-store.h
index 7a727bc..10691b8 100644
--- a/amtk/amtk-action-info-store.h
+++ b/amtk/amtk-action-info-store.h
@@ -55,31 +55,31 @@ struct _AmtkActionInfoStoreClass
        gpointer padding[12];
 };
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GType                  amtk_action_info_store_get_type                 (void);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 AmtkActionInfoStore *  amtk_action_info_store_new                      (void);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void                   amtk_action_info_store_add                      (AmtkActionInfoStore *store,
                                                                         AmtkActionInfo      *info);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void                   amtk_action_info_store_add_entries              (AmtkActionInfoStore       *store,
                                                                         const AmtkActionInfoEntry *entries,
                                                                         gint                       n_entries,
                                                                         const gchar               
*translation_domain);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 AmtkActionInfo *       amtk_action_info_store_lookup                   (AmtkActionInfoStore *store,
                                                                         const gchar         *action_name);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void                   amtk_action_info_store_set_all_accels_to_app    (AmtkActionInfoStore *store,
                                                                         GtkApplication      *application);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void                   amtk_action_info_store_check_all_used           (AmtkActionInfoStore *store);
 
 G_END_DECLS
diff --git a/amtk/amtk-action-info.h b/amtk/amtk-action-info.h
index f038c7c..d535e4a 100644
--- a/amtk/amtk-action-info.h
+++ b/amtk/amtk-action-info.h
@@ -65,64 +65,64 @@ struct _AmtkActionInfoEntry
        gpointer padding[3];
 };
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GType                  amtk_action_info_get_type               (void);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 AmtkActionInfo *       amtk_action_info_new                    (void);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 AmtkActionInfo *       amtk_action_info_new_from_entry         (const AmtkActionInfoEntry *info_entry,
                                                                 const gchar               
*translation_domain);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 AmtkActionInfo *       amtk_action_info_ref                    (AmtkActionInfo *info);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void                   amtk_action_info_unref                  (AmtkActionInfo *info);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 AmtkActionInfo *       amtk_action_info_copy                   (const AmtkActionInfo *info);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 const gchar *          amtk_action_info_get_action_name        (const AmtkActionInfo *info);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void                   amtk_action_info_set_action_name        (AmtkActionInfo *info,
                                                                 const gchar    *action_name);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 const gchar *          amtk_action_info_get_icon_name          (const AmtkActionInfo *info);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void                   amtk_action_info_set_icon_name          (AmtkActionInfo *info,
                                                                 const gchar    *icon_name);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 const gchar *          amtk_action_info_get_label              (const AmtkActionInfo *info);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void                   amtk_action_info_set_label              (AmtkActionInfo *info,
                                                                 const gchar    *label);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 const gchar *          amtk_action_info_get_tooltip            (const AmtkActionInfo *info);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void                   amtk_action_info_set_tooltip            (AmtkActionInfo *info,
                                                                 const gchar    *tooltip);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 const gchar * const *  amtk_action_info_get_accels             (const AmtkActionInfo *info);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void                   amtk_action_info_set_accels             (AmtkActionInfo      *info,
                                                                 const gchar * const *accels);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void                   amtk_action_info_mark_as_used           (AmtkActionInfo *info);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 gboolean               amtk_action_info_has_been_used          (const AmtkActionInfo *info);
 
 G_END_DECLS
diff --git a/amtk/amtk-action-map.h b/amtk/amtk-action-map.h
index 8ee9967..fab94bb 100644
--- a/amtk/amtk-action-map.h
+++ b/amtk/amtk-action-map.h
@@ -29,7 +29,7 @@
 
 G_BEGIN_DECLS
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void   amtk_action_map_add_action_entries_check_dups   (GActionMap         *action_map,
                                                         const GActionEntry *entries,
                                                         gint                n_entries,
diff --git a/amtk/amtk-application-window.h b/amtk/amtk-application-window.h
index 180cf56..47b4075 100644
--- a/amtk/amtk-application-window.h
+++ b/amtk/amtk-application-window.h
@@ -54,35 +54,35 @@ struct _AmtkApplicationWindowClass
        gpointer padding[12];
 };
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GType                  amtk_application_window_get_type                        (void);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 AmtkApplicationWindow *        amtk_application_window_get_from_gtk_application_window (GtkApplicationWindow 
*gtk_window);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkApplicationWindow * amtk_application_window_get_application_window          (AmtkApplicationWindow 
*amtk_window);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkStatusbar *         amtk_application_window_get_statusbar                   (AmtkApplicationWindow 
*amtk_window);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void                   amtk_application_window_set_statusbar                   (AmtkApplicationWindow 
*amtk_window,
                                                                                 GtkStatusbar          
*statusbar);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void                   amtk_application_window_connect_menu_to_statusbar       (AmtkApplicationWindow 
*amtk_window,
                                                                                 GtkMenuShell          
*menu_shell);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void                   amtk_application_window_connect_recent_chooser_menu_to_statusbar
                                                                                (AmtkApplicationWindow 
*amtk_window,
                                                                                 GtkRecentChooserMenu  *menu);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkWidget *            amtk_application_window_create_open_recent_menu         (AmtkApplicationWindow 
*amtk_window);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkWidget *            amtk_application_window_create_open_recent_menu_item    (AmtkApplicationWindow 
*amtk_window);
 
 G_END_DECLS
diff --git a/amtk/amtk-factory.h b/amtk/amtk-factory.h
index afef326..3577cc7 100644
--- a/amtk/amtk-factory.h
+++ b/amtk/amtk-factory.h
@@ -88,86 +88,86 @@ typedef enum
        AMTK_FACTORY_IGNORE_ACCELS_FOR_APP      = 1 << 6,
 } AmtkFactoryFlags;
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GType                  amtk_factory_get_type                           (void);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 AmtkFactory *          amtk_factory_new                                (GtkApplication *application);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 AmtkFactory *          amtk_factory_new_with_default_application       (void);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkApplication *       amtk_factory_get_application                    (AmtkFactory *factory);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 AmtkFactoryFlags       amtk_factory_get_default_flags                  (AmtkFactory *factory);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void                   amtk_factory_set_default_flags                  (AmtkFactory      *factory,
                                                                         AmtkFactoryFlags  default_flags);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkWidget *            amtk_factory_create_menu_item                   (AmtkFactory *factory,
                                                                         const gchar *action_name);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkWidget *            amtk_factory_create_menu_item_full              (AmtkFactory      *factory,
                                                                         const gchar      *action_name,
                                                                         AmtkFactoryFlags  flags);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkWidget *            amtk_factory_create_check_menu_item             (AmtkFactory *factory,
                                                                         const gchar *action_name);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkWidget *            amtk_factory_create_check_menu_item_full        (AmtkFactory      *factory,
                                                                         const gchar      *action_name,
                                                                         AmtkFactoryFlags  flags);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkWidget *            amtk_factory_create_simple_menu                 (AmtkFactory               *factory,
                                                                         const AmtkActionInfoEntry *entries,
                                                                         gint                       
n_entries);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkWidget *            amtk_factory_create_simple_menu_full            (AmtkFactory               *factory,
                                                                         const AmtkActionInfoEntry *entries,
                                                                         gint                       n_entries,
                                                                         AmtkFactoryFlags           flags);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GMenuItem *            amtk_factory_create_gmenu_item                  (AmtkFactory *factory,
                                                                         const gchar *action_name);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GMenuItem *            amtk_factory_create_gmenu_item_full             (AmtkFactory      *factory,
                                                                         const gchar      *action_name,
                                                                         AmtkFactoryFlags  flags);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkToolItem *          amtk_factory_create_tool_button                 (AmtkFactory *factory,
                                                                         const gchar *action_name);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkToolItem *          amtk_factory_create_tool_button_full            (AmtkFactory      *factory,
                                                                         const gchar      *action_name,
                                                                         AmtkFactoryFlags  flags);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkMenuToolButton *    amtk_factory_create_menu_tool_button            (AmtkFactory *factory,
                                                                         const gchar *action_name);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkMenuToolButton *    amtk_factory_create_menu_tool_button_full       (AmtkFactory      *factory,
                                                                         const gchar      *action_name,
                                                                         AmtkFactoryFlags  flags);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkWidget *            amtk_factory_create_shortcut                    (AmtkFactory *factory,
                                                                         const gchar *action_name);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkWidget *            amtk_factory_create_shortcut_full               (AmtkFactory      *factory,
                                                                         const gchar      *action_name,
                                                                         AmtkFactoryFlags  flags);
diff --git a/amtk/amtk-gmenu.h b/amtk/amtk-gmenu.h
index 05a0e7e..18aec25 100644
--- a/amtk/amtk-gmenu.h
+++ b/amtk/amtk-gmenu.h
@@ -29,11 +29,11 @@
 
 G_BEGIN_DECLS
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void   amtk_gmenu_append_item          (GMenu     *menu,
                                         GMenuItem *item);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void   amtk_gmenu_append_section       (GMenu       *menu,
                                         const gchar *label,
                                         GMenu       *section);
diff --git a/amtk/amtk-init.h b/amtk/amtk-init.h
index 99d9cd5..a43e950 100644
--- a/amtk/amtk-init.h
+++ b/amtk/amtk-init.h
@@ -29,10 +29,10 @@
 
 G_BEGIN_DECLS
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void   amtk_init               (void);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void   amtk_finalize           (void);
 
 G_END_DECLS
diff --git a/amtk/amtk-macros.h b/amtk/amtk-macros.h
index 3fc2bbb..177c70b 100644
--- a/amtk/amtk-macros.h
+++ b/amtk/amtk-macros.h
@@ -24,14 +24,6 @@
 #error "Only <amtk/amtk.h> can be included directly."
 #endif
 
-#include <glib.h>
-
-G_BEGIN_DECLS
-
-#ifndef _AMTK_EXTERN
-#define _AMTK_EXTERN extern
-#endif
-
-G_END_DECLS
+#include <gmodule.h>
 
 #endif /* AMTK_MACROS_H */
diff --git a/amtk/amtk-menu-item.h b/amtk/amtk-menu-item.h
index 18fe64d..91ba702 100644
--- a/amtk/amtk-menu-item.h
+++ b/amtk/amtk-menu-item.h
@@ -29,14 +29,14 @@
 
 G_BEGIN_DECLS
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 const gchar *  amtk_menu_item_get_long_description     (GtkMenuItem *menu_item);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void           amtk_menu_item_set_long_description     (GtkMenuItem *menu_item,
                                                         const gchar *long_description);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void           amtk_menu_item_set_icon_name            (GtkMenuItem *item,
                                                         const gchar *icon_name);
 
diff --git a/amtk/amtk-menu-shell.h b/amtk/amtk-menu-shell.h
index 75fa72e..5ee0111 100644
--- a/amtk/amtk-menu-shell.h
+++ b/amtk/amtk-menu-shell.h
@@ -62,13 +62,13 @@ struct _AmtkMenuShellClass
        gpointer padding[12];
 };
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GType          amtk_menu_shell_get_type                (void);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 AmtkMenuShell *        amtk_menu_shell_get_from_gtk_menu_shell (GtkMenuShell *gtk_menu_shell);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkMenuShell * amtk_menu_shell_get_menu_shell          (AmtkMenuShell *amtk_menu_shell);
 
 G_END_DECLS
diff --git a/amtk/amtk-shortcuts.h b/amtk/amtk-shortcuts.h
index 487c5da..be303a1 100644
--- a/amtk/amtk-shortcuts.h
+++ b/amtk/amtk-shortcuts.h
@@ -29,13 +29,13 @@
 
 G_BEGIN_DECLS
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkShortcutsWindow *   amtk_shortcuts_window_new       (GtkWindow *parent);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkContainer *         amtk_shortcuts_section_new      (const gchar *title);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 GtkContainer *         amtk_shortcuts_group_new        (const gchar *title);
 
 G_END_DECLS
diff --git a/amtk/amtk-utils.h b/amtk/amtk-utils.h
index 76a3074..838f16b 100644
--- a/amtk/amtk-utils.h
+++ b/amtk/amtk-utils.h
@@ -36,23 +36,23 @@ gchar *             _amtk_utils_replace_home_dir_with_tilde         (const gchar 
*filename);
 
 /* String utilities */
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 gchar *                amtk_utils_remove_mnemonic                      (const gchar *str);
 
 /* GTK utilities */
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 gchar *                amtk_utils_recent_chooser_menu_get_item_uri     (GtkRecentChooserMenu *menu,
                                                                 GtkMenuItem          *item);
 
 G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void           amtk_utils_bind_g_action_to_gtk_action          (GActionMap     *g_action_map,
                                                                 const gchar    
*detailed_g_action_name_without_prefix,
                                                                 GtkActionGroup *gtk_action_group,
                                                                 const gchar    *gtk_action_name);
 
-_AMTK_EXTERN
+G_MODULE_EXPORT
 void           amtk_utils_create_gtk_action                    (GActionMap     *g_action_map,
                                                                 const gchar    
*detailed_g_action_name_with_prefix,
                                                                 GtkActionGroup *gtk_action_group,
diff --git a/amtk/meson.build b/amtk/meson.build
index 35c61e6..0711a09 100644
--- a/amtk/meson.build
+++ b/amtk/meson.build
@@ -38,18 +38,14 @@ install_headers(
 
 amtk_enum_types = GNOME.mkenums_simple(
   'amtk-enum-types',
-  decorator: '_AMTK_EXTERN',
-  header_prefix: '#include <amtk/amtk-macros.h>',
+  decorator: 'G_MODULE_EXPORT',
+  header_prefix: '#include <gmodule.h>',
   sources: amtk_public_headers,
   install_header: true,
   install_dir: headers_install_dir
 )
 
 amtk_static_lib_c_args = [ '-DAMTK_COMPILATION' ]
-if meson.get_compiler('c').get_argument_syntax() == 'msvc'
-  amtk_static_lib_c_args += '-D_AMTK_EXTERN=__declspec(dllexport) extern'
-endif
-
 amtk_static_lib = static_library(
   'amtk-static',
   [amtk_public_c_files,


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