glib/gio/tests/modules/symbol-visibility.h
Xavier Claessens 90fcbc7dfc giomodules: g_io_module_* must always be exported
Those symbols are not used by GIO itself but by external modules.
2022-10-13 20:53:56 -04:00

21 lines
639 B
C

#ifndef GLIB_TEST_SYMBOL_VISIBILITY
#define GLIB_TEST_SYMBOL_VISIBILITY
/* This is the same check that's done in configure to create config.h */
#ifdef _WIN32
#ifdef GLIB_TEST_STATIC_COMPILATION
#define GLIB_TEST_EXPORT_SYMBOL extern
#else
#ifdef _MSC_VER
#define GLIB_TEST_EXPORT_SYMBOL __declspec(dllexport) extern
#else
#define GLIB_TEST_EXPORT_SYMBOL __attribute__ ((visibility ("default"))) __declspec(dllexport) extern
#endif
#endif
/* Matches GCC and Clang */
#elif defined(__GNUC__) && (__GNUC__ >= 4)
# define GLIB_TEST_EXPORT_SYMBOL __attribute__((visibility("default"))) extern
#endif
#endif /* GLIB_TEST_SYMBOL_VISIBILITY */