mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-24 14:36:13 +01:00
giomodules: g_io_module_* must always be exported
Those symbols are not used by GIO itself but by external modules.
This commit is contained in:
parent
e5565f6635
commit
90fcbc7dfc
@ -103,7 +103,11 @@ GIO_AVAILABLE_IN_ALL
|
||||
GTypeClass* g_io_extension_ref_class (GIOExtension *extension);
|
||||
|
||||
|
||||
/* API for the modules to implement */
|
||||
/* API for the modules to implement.
|
||||
* Note that those functions are not implemented by libgio, they are declared
|
||||
* here to be implemented in modules, that's why it uses G_MODULE_EXPORT
|
||||
* instead of GIO_AVAILABLE_IN_ALL.
|
||||
*/
|
||||
|
||||
/**
|
||||
* g_io_module_load: (skip)
|
||||
@ -123,7 +127,7 @@ GTypeClass* g_io_extension_ref_class (GIOExtension
|
||||
* statically. The old symbol names continue to be supported, but cannot be used
|
||||
* for static builds.
|
||||
**/
|
||||
GIO_AVAILABLE_IN_ALL
|
||||
G_MODULE_EXPORT
|
||||
void g_io_module_load (GIOModule *module);
|
||||
|
||||
/**
|
||||
@ -143,7 +147,7 @@ void g_io_module_load (GIOModule *module);
|
||||
* statically. The old symbol names continue to be supported, but cannot be used
|
||||
* for static builds.
|
||||
**/
|
||||
GIO_AVAILABLE_IN_ALL
|
||||
G_MODULE_EXPORT
|
||||
void g_io_module_unload (GIOModule *module);
|
||||
|
||||
/**
|
||||
@ -187,7 +191,7 @@ void g_io_module_unload (GIOModule *module);
|
||||
*
|
||||
* Since: 2.24
|
||||
**/
|
||||
GIO_AVAILABLE_IN_ALL
|
||||
G_MODULE_EXPORT
|
||||
char **g_io_module_query (void);
|
||||
|
||||
G_END_DECLS
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
/* This is the same check that's done in configure to create config.h */
|
||||
#ifdef _WIN32
|
||||
#ifdef GLIB_STATIC_COMPILATION
|
||||
#ifdef GLIB_TEST_STATIC_COMPILATION
|
||||
#define GLIB_TEST_EXPORT_SYMBOL extern
|
||||
#else
|
||||
#ifdef _MSC_VER
|
||||
|
@ -20,8 +20,6 @@
|
||||
* if advised of the possibility of such damage.
|
||||
*/
|
||||
|
||||
#include "config.h" /* for _GLIB_EXTERN */
|
||||
|
||||
#include <gio/gio.h>
|
||||
|
||||
#include "symbol-visibility.h"
|
||||
|
@ -20,8 +20,6 @@
|
||||
* if advised of the possibility of such damage.
|
||||
*/
|
||||
|
||||
#include "config.h" /* for _GLIB_EXTERN */
|
||||
|
||||
#include <gio/gio.h>
|
||||
|
||||
#include "symbol-visibility.h"
|
||||
|
@ -6,8 +6,6 @@
|
||||
* g_io_module*() symbols, is defined to be _GLIB_EXTERN,
|
||||
* which must be overridden to export the symbols.
|
||||
*/
|
||||
#include "modules/symbol-visibility.h"
|
||||
#define _GLIB_EXTERN GLIB_TEST_EXPORT_SYMBOL
|
||||
|
||||
#include <gio/gio.h>
|
||||
|
||||
|
@ -178,6 +178,11 @@
|
||||
* non-default
|
||||
* [visibility flag](https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#index-fvisibility-1260)
|
||||
* such as `hidden`.
|
||||
*
|
||||
* This macro must only be used when compiling a shared module. Modules that
|
||||
* support both shared and static linking should define their own macro that
|
||||
* expands to %G_MODULE_EXPORT when compiling the shared module, but is empty
|
||||
* when compiling the static module on Windows.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
@ -35,14 +35,16 @@ G_BEGIN_DECLS
|
||||
/* exporting and importing functions, this is special cased
|
||||
* to feature Windows dll stubs.
|
||||
*/
|
||||
#define G_MODULE_IMPORT extern
|
||||
#ifdef G_PLATFORM_WIN32
|
||||
# define G_MODULE_EXPORT __declspec(dllexport)
|
||||
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||
# define G_MODULE_EXPORT __declspec(dllexport)
|
||||
# define G_MODULE_IMPORT __declspec(dllimport) extern
|
||||
#elif __GNUC__ >= 4
|
||||
# define G_MODULE_EXPORT __attribute__((visibility("default")))
|
||||
#else /* !G_PLATFORM_WIN32 && __GNUC__ < 4 */
|
||||
# define G_MODULE_EXPORT
|
||||
#endif /* !G_PLATFORM_WIN32 */
|
||||
# define G_MODULE_EXPORT __attribute__((visibility("default")))
|
||||
# define G_MODULE_IMPORT extern
|
||||
#else /* !defined(_WIN32) && !defined(__CYGWIN__) && __GNUC__ < 4 */
|
||||
# define G_MODULE_EXPORT
|
||||
# define G_MODULE_IMPORT extern
|
||||
#endif
|
||||
|
||||
/**
|
||||
* GModuleFlags:
|
||||
|
Loading…
Reference in New Issue
Block a user