727af8dbef
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
69 lines
2.2 KiB
Diff
69 lines
2.2 KiB
Diff
From 4719e586c0f92fa7546fa954115b92d2ae9aee9f Mon Sep 17 00:00:00 2001
|
|
From: Emmanuele Bassi <ebassi@gnome.org>
|
|
Date: Thu, 9 Mar 2017 21:21:09 +0000
|
|
Subject: [PATCH 5/6] Add missing visibility compiler flags
|
|
|
|
We have been building the shared library for Epoxy without the symbol
|
|
visibility flags for the compiler, which means we've been leaking
|
|
internal symbols all over the floor.
|
|
|
|
Fixes: #111
|
|
---
|
|
meson.build | 10 ++++++----
|
|
src/meson.build | 4 +---
|
|
2 files changed, 7 insertions(+), 7 deletions(-)
|
|
|
|
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
|
|
--
|
|
2.12.0
|
|
|