diff options
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index a5cc8a7..1d73705 100644 --- a/configure.ac +++ b/configure.ac @@ -89,6 +89,36 @@ PKG_CHECK_MODULES([CLUTTER_GTK_DEPS], [clutter-1.0 >= clutter_req_version gtk+-3 AC_SUBST([CLUTTER_GTK_DEPS_CFLAGS]) AC_SUBST([CLUTTER_GTK_DEPS_LIBS]) +CLUTTER_GTK_HIDDEN_VISIBILITY_CFLAGS="" +case "$host" in + *-*-mingw*) + dnl on mingw32 we do -fvisibility=hidden and __declspec(dllexport) + AC_DEFINE([CLUTTER_GTK_EXTERN], [__attribute__((visibility("default"))) __declspec(dllexport) extern], + [defines how to decorate public symbols while building]) + CFLAGS="${CFLAGS} -fvisibility=hidden" + ;; + *) + dnl on other compilers, check if we can do -fvisibility=hidden + SAVED_CFLAGS="${CFLAGS}" + CFLAGS="-fvisibility=hidden" + AC_MSG_CHECKING([for -fvisibility=hidden compiler flag]) + AC_TRY_COMPILE([], [return 0], + AC_MSG_RESULT(yes) + enable_fvisibility_hidden=yes, + AC_MSG_RESULT(no) + enable_fvisibility_hidden=no) + CFLAGS="${SAVED_CFLAGS}" + + AS_IF([test "${enable_fvisibility_hidden}" = "yes"], [ + AC_DEFINE([CLUTTER_GTK_EXTERN], [__attribute__((visibility("default"))) extern], + [defines how to decorate public symbols while building]) + CLUTTER_GTK_HIDDEN_VISIBILITY_CFLAGS="-fvisibility=hidden" + ]) + ;; +esac +AC_SUBST(CLUTTER_GTK_HIDDEN_VISIBILITY_CFLAGS) + + m4_define([deprecated_default], [m4_if(m4_eval(clutter_gtk_minor % 2), [1], [no], |