diff --git a/meson.build b/meson.build index 95aac5c..afe576b 100644 --- a/meson.build +++ b/meson.build @@ -140,9 +140,11 @@ foreach cflag: test_cflags endif endforeach -# Visibility compiler flags -visibility_cflags = [] -if get_option('default_library') != 'static' +libtype = get_option('default_library') + +# Visibility compiler flags; we only use this for shared libraries +if libtype == 'shared' + visibility_cflags = [] if host_system == 'windows' conf.set('DLL_EXPORT', true) if cc.get_id() == 'msvc' @@ -152,7 +154,7 @@ if get_option('default_library') != 'static' visibility_cflags += [ '-fvisibility=hidden' ] endif else - conf.set('EPOXY_PUBLIC', '__attribute__((visibility("default")))') + conf.set('EPOXY_PUBLIC', '__attribute__((visibility("default"))) extern') visibility_cflags += [ '-fvisibility=hidden' ] endif endif diff --git a/src/meson.build b/src/meson.build index a3d76db..ce6fe45 100644 --- a/src/meson.build +++ b/src/meson.build @@ -68,8 +68,6 @@ if host_system == 'windows' endif # Allow building a static version of epoxy -libtype = get_option('default_library') - if libtype != 'shared' libepoxy_static = static_library('epoxy', sources: epoxy_sources + epoxy_headers, @@ -88,7 +86,7 @@ if libtype != 'static' install: true, dependencies: epoxy_deps, include_directories: libepoxy_inc, - c_args: common_cflags, + c_args: common_cflags + visibility_cflags, link_args: common_ldflags) libepoxy = libepoxy_shared endif