diff --git a/configure.ac b/configure.ac index 3205d0b9b217147792d39762013bb861e62c0faa..4d18199c080a15edd4c554864e1b92fe7fe6806e 100644 --- a/configure.ac +++ b/configure.ac @@ -76,7 +76,6 @@ AC_PROG_CC() AM_PROG_CC_C_O() AC_PROG_INSTALL() AC_PATH_PROG([XDT_GEN_VISIBILITY], [xdt-gen-visibility]) -AC_PATH_PROG([XDT_CHECK_ABI], [xdt-check-abi]) dnl ************************** dnl *** Initialize libtool *** @@ -151,22 +150,27 @@ dnl *** Do not replace with the Xdt macro *** dnl *** because it cannot cope with the *** dnl *** libxfce4util_*_version variables *** dnl ***************************************** -AC_ARG_ENABLE([visibility], AS_HELP_STRING([--disable-visibility], [Do not use ELF visibility attributes]), [], [enable_visibility=yes]) +AC_ARG_ENABLE([visibility], + AS_HELP_STRING([--disable-visibility], + [Do not use ELF visibility attributes]), + [enable_visibility=$enableval], [enable_visibility=yes]) have_gnuc_visibility=no -if test x"$enable_visibility" != x"no"; then - dnl Check whether the compiler supports the visibility attribute - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -Wall -Werror" +if test "x$enable_visibility" != "xno"; then + XDT_SUPPORTED_FLAGS([xdt_vis_test_cflags], [-Wall -Werror -Wno-unused-parameter -fvisibility=hidden]) + saved_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $xdt_vis_test_cflags" AC_MSG_CHECKING([whether $CC supports the GNUC visibility attribute]) AC_COMPILE_IFELSE([AC_LANG_SOURCE( [ - void test_default (void); - void test_hidden (void); - - void __attribute__ ((visibility("default"))) test_default (void) {} - void __attribute__ ((visibility("hidden"))) test_hidden (void) {} - - int main (int argc, char **argv) { test_default (); test_hidden (); return 0; } + void test_default(void); + void test_hidden(void); + void __attribute__((visibility("default"))) test_default(void) {} + void __attribute__((visibility("hidden"))) test_hidden(void) {} + int main(int argc, char **argv) { + test_default(); + test_hidden(); + return 0; + } ])], [ have_gnuc_visibility=yes @@ -175,12 +179,12 @@ if test x"$enable_visibility" != x"no"; then [ AC_MSG_RESULT([no]) ]) - CFLAGS="$save_CFLAGS" + CFLAGS="$saved_CFLAGS" fi -if test x"$have_gnuc_visibility" = x"yes"; then - CPPFLAGS="$CPPFLAGS -DHAVE_GNUC_VISIBILITY" +if test "x$have_gnuc_visibility" = "xyes"; then + CPPFLAGS="$CPPFLAGS -DENABLE_SYMBOL_VISIBILITY=1" + CFLAGS="$CFLAGS -fvisibility=hidden" fi -AM_CONDITIONAL([HAVE_GNUC_VISIBILITY], [test x"$have_gnuc_visibility" = x"yes"]) dnl ***************************** dnl *** Generate output files ***