aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2019-06-22 02:27:31 +0200
committerJay Berkenbilt <ejb@ql.org>2019-06-22 04:29:31 +0200
commit864a546af6e1c17e0de2dc2be6da105f454b6e54 (patch)
tree8c57f3d83d46b4391c40f093a22425c39db200de /configure.ac
parent97833d7cf385b98854df62ee529b507d627cb829 (diff)
downloadqpdf-864a546af6e1c17e0de2dc2be6da105f454b6e54.tar.zst
Build with -fvisibility=hidden when supported
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac27
1 files changed, 27 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 541b8c52..9cb99184 100644
--- a/configure.ac
+++ b/configure.ac
@@ -60,6 +60,33 @@ AC_SUBST(LT_AGE)
LT_SONAME=$(expr $LT_CURRENT - $LT_AGE)
AC_SUBST(LT_SONAME)
+AC_MSG_CHECKING(for -fvisibility=hidden)
+try_flags=-fvisibility=hidden
+oCXXFLAGS=$CXXFLAGS
+CXXFLAGS="$CXXFLAGS $try_flags"
+AC_LANG_PUSH([C++])
+AC_LINK_IFELSE([AC_LANG_PROGRAM(
+ [[class X
+{
+ public:
+ __attribute__ ((visibility ("default")))
+ X() {}
+ __attribute__ ((visibility ("default")))
+ void f() {}
+};
+ ]],[[X x; x.f();]])],
+ [qpdf_VISIBILITY_HIDDEN=1],
+ [qpdf_VISIBILITY_HIDDEN=0])
+AC_LANG_POP
+if test "$qpdf_VISIBILITY_HIDDEN" = "0"; then
+ AC_MSG_RESULT(no)
+ CXXFLAGS=$oCXXFLAGS
+else
+ AC_MSG_RESULT(yes)
+ CFLAGS="$CFLAGS $try_flags"
+fi
+
+AC_MSG_CHECKING(whether to use insecure random numbers)
AC_ARG_ENABLE(insecure-random,
AS_HELP_STRING([--enable-insecure-random],
[whether to use stdlib's random number generator (default is no)]),