diff options
author | Tim-Philipp Müller <tim@centricular.com> | 2017-11-26 16:25:50 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2017-11-26 16:25:50 +0000 |
commit | 26b13f16d63aa0524407362a6caf7a40f8f08e98 (patch) | |
tree | dd0d45ecd60e0956430342e971a39e2dda9c341f /configure.ac | |
parent | 0ba57d0b8c88bc595732c97091f50422c89e6ac1 (diff) |
autotools: stop controlling symbol visibility with -export-symbols-regex
Instead, use -fvisibility=hidden and explicit exports via GST_EXPORT.
This should result in consistent behaviour for the autotools and
Meson builds.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/configure.ac b/configure.ac index c972284cc..67b324e84 100644 --- a/configure.ac +++ b/configure.ac @@ -3538,6 +3538,16 @@ else fi AC_SUBST(DEPRECATED_CFLAGS) +VISIBILITY_CFLAGS="" +AS_COMPILER_FLAG([-fvisibility=hidden], [VISIBILITY_CFLAGS="-fvisibility=hidden"]) +AC_SUBST(VISIBILITY_CFLAGS) + +VISIBILITY_CXXFLAGS="" +if test "x$HAVE_CXX" = "xyes"; then + AS_CXX_COMPILER_FLAG([-fvisibility=hidden], [VISIBILITY_CXXFLAGS="-fvisibility=hidden"]) +fi +AC_SUBST(VISIBILITY_CXXFLAGS) + dnl every flag in GST_OPTION_CFLAGS and GST_OPTION_CXXFLAGS can be overridden dnl at make time with e.g. make ERROR_CFLAGS="" GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)" @@ -3552,9 +3562,9 @@ dnl prefer internal headers to already installed ones dnl also add builddir include for enumtypes and marshal dnl add GST_OPTION_CFLAGS, but overridable GST_CFLAGS="$GST_CFLAGS $GST_STATIC_CFLAGS -DGST_USE_UNSTABLE_API" -GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)" -GST_OBJCFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)" -GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)" +GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS) \$(VISIBILITY_CXXFLAGS)" +GST_OBJCFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS) \$(VISIBILITY_CFLAGS)" +GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS) \$(VISIBILITY_CFLAGS)" AC_SUBST(GST_CFLAGS) AC_SUBST(GST_CXXFLAGS) AC_SUBST(GST_OBJCFLAGS) @@ -3578,12 +3588,12 @@ dnl GST_LIB_LDFLAGS dnl linker flags shared by all libraries dnl LDFLAGS modifier defining exported symbols from built libraries dnl (export _gst_foo but not __gst_foo) -GST_LIB_LDFLAGS="-export-symbols-regex ^_?\(gst_\|Gst\|GST_\).*" +GST_LIB_LDFLAGS="" AC_SUBST(GST_LIB_LDFLAGS) dnl this really should only contain flags, not libs - they get added before dnl whatevertarget_LIBS and -L flags here affect the rest of the linking -GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_.*' $GST_ALL_LDFLAGS" +GST_PLUGIN_LDFLAGS="-module -avoid-version $GST_ALL_LDFLAGS" AC_SUBST(GST_PLUGIN_LDFLAGS) dnl *** output files *** |