Commit c97ef81a authored by Emmanuele Bassi's avatar Emmanuele Bassi
Browse files

build: Add missing symbol visibility flags

GTK symbols are not visible by default, and only the ones annotated with
_GDK_EXTERN (and wrapper macros) are exported. We need to define
_GDK_EXTERN during the configuration, depending on the platform and
compiler we use.
parent 68039b61
......@@ -255,6 +255,22 @@ foreach cflag: test_cflags
endif
endforeach
# Symbol visibility
if get_option('default_library') != 'static'
if host_machine.system() == 'windows'
cdata.set('DLL_EXPORT', true)
if cc.get_id() == 'msvc'
cdata.set('_GDK_EXTERN', '__declspec(dllexport) extern')
else
cdata.set('_GDK_EXTERN', '__attribute__((visibility("default"))) __declspec(dllexport) extern')
common_cflags += ['-fvisibility=hidden']
endif
else
cdata.set('_GDK_EXTERN', '__attribute__((visibility("default"))) extern')
common_cflags += ['-fvisibility=hidden']
endif
endif
confinc = include_directories('.')
gdkinc = include_directories('gdk')
gtkinc = include_directories('gtk')
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment