qt: Set default visibility of all symbols to hidden

* configure.ac: Add -fvisibility=hidden to GPGME_QT_CFLAGS if gcc
supports the flag.
--

With this change all defined symbols are hidden by default, so that they
are not exported anymore. All symbols that are part of the ABI and that
shall still be exported are already marked as having default visibility.

GnuPG-bug-id: 5906
This commit is contained in:
Ingo Klöcker 2022-03-28 17:21:44 +02:00
parent fe588fef09
commit 3b3b36a607

View File

@ -402,6 +402,16 @@ if test "$found" = "1"; then
fi fi
fi fi
fi fi
# Check if compiler supports visibility attribute (if qt is enabled)
LIST_MEMBER("qt", $enabled_languages)
if test "$found" = "1"; then
AX_GCC_FUNC_ATTRIBUTE(visibility)
if test "$ax_cv_have_func_attribute_visibility" = "yes"; then
GPGME_QT_CFLAGS="$GPGME_QT_CFLAGS -fvisibility=hidden"
fi
fi
AM_CONDITIONAL([HAVE_DOXYGEN], AM_CONDITIONAL([HAVE_DOXYGEN],
[test -n "$DOXYGEN"]) [test -n "$DOXYGEN"])
if test -n "$GRAPHVIZ"; then if test -n "$GRAPHVIZ"; then