summaryrefslogtreecommitdiff
path: root/liborcus
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2013-05-22 16:09:33 +0200
committerStephan Bergmann <sbergman@redhat.com>2013-05-22 16:09:33 +0200
commit913ba61d008c6629272ba3df8d22dbff0e2dc4f9 (patch)
treec1c12c86a58bc1a5c9a36165b07f28adadcf9081 /liborcus
parentd003010030b0ca5b828d1c6bf02be6dd350375f2 (diff)
Make liborcus -fvisibility setting consistent with LO one
Esp. since LO links against a liborcus.a, this would otherwise cause linker warnings like ld: warning: direct access in orcus::orcus_xml::read_file(char const*) to global weak symbol boost::unordered_detail::prime_list_template<unsigned long>::value means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings. on Mac OS X (where HAVE_GCC_VISIBILITY_FEATURE is unset). Change-Id: I6f09b61aa77b6d5c3f8b53407d8faff4fb3bb8a1
Diffstat (limited to 'liborcus')
-rw-r--r--liborcus/UnpackedTarball_liborcus.mk4
-rw-r--r--liborcus/visibility.patch11
2 files changed, 15 insertions, 0 deletions
diff --git a/liborcus/UnpackedTarball_liborcus.mk b/liborcus/UnpackedTarball_liborcus.mk
index e43144db031b..cb615736e337 100644
--- a/liborcus/UnpackedTarball_liborcus.mk
+++ b/liborcus/UnpackedTarball_liborcus.mk
@@ -26,6 +26,10 @@ ifeq ($(OS),MACOSX)
liborcus_patches += liborcus_0.1.0-tac.patch
endif
+ifneq ($(HAVE_GCC_VISIBILITY_FEATURE),TRUE)
+liborcus_patches += visibility.patch
+endif
+
# <https://gitorious.org/orcus/orcus/merge_requests/2#
# f60d6eecee72349993a392a9a63ddf3383d3b8c8-
# f60d6eecee72349993a392a9a63ddf3383d3b8c8@2>:
diff --git a/liborcus/visibility.patch b/liborcus/visibility.patch
new file mode 100644
index 000000000000..a5af6398b839
--- /dev/null
+++ b/liborcus/visibility.patch
@@ -0,0 +1,11 @@
+--- configure
++++ configure
+@@ -3211,7 +3211,7 @@
+ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+-CXXFLAGS="$CXXFLAGS -O2 -fvisibility=hidden -Wall"
++CXXFLAGS="$CXXFLAGS -O2 -Wall"
+
+ # ===========================
+ # Find required base packages