qt-watch.moc3: qt-watch.cpp
$(MOC_QT3) $^ > $@
-libavahi_qt3_la_CPPFLAGS = $(AM_CFLAGS) $(QT3_CFLAGS)
+libavahi_qt3_la_CPPFLAGS = $(AM_CFLAGS) $(QT3_CFLAGS) $(VISIBILITY_HIDDEN_CFLAGS)
libavahi_qt3_la_LIBADD = $(AM_LDADD) ../avahi-common/libavahi-common.la $(QT3_LIBS)
libavahi_qt3_la_LDFLAGS = $(AM_LDFLAGS) -export-dynamic -version-info $(LIBAVAHI_QT3_VERSION_INFO)
-
endif
if HAVE_QT4
qt-watch.moc4: qt-watch.cpp
$(MOC_QT4) $^ > $@
-libavahi_qt4_la_CPPFLAGS = $(AM_CFLAGS) $(QT4_CFLAGS) -DQT4
+libavahi_qt4_la_CPPFLAGS = $(AM_CFLAGS) $(QT4_CFLAGS) -DQT4 $(VISIBILITY_HIDDEN_CFLAGS)
libavahi_qt4_la_LIBADD = $(AM_LDADD) ../avahi-common/libavahi-common.la $(QT4_LIBS)
-libavahi_qt4_la_LDFLAGS = $(AM_LDFLAGS) -export-dynamic -version-info $(LIBAVAHI_QT4_VERSION_INFO)
-
+libavahi_qt4_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBAVAHI_QT4_VERSION_INFO)
endif
CLEANFILES = $(BUILT_SOURCES)
AVAHI_C_DECL_BEGIN
/** Setup abstract poll structure for integration with Qt main loop */
-const AvahiPoll* avahi_qt_poll_get(void);
+const AvahiPoll* avahi_qt_poll_get(void)
+#ifdef HAVE_VISIBILITY_HIDDEN
+__attribute__ ((visibility("default")))
+#endif
+;
AVAHI_C_DECL_END
--- /dev/null
+dnl @synopsis CHECK_VISIBILITY([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+dnl
+dnl @summary check for the gcc -fvisibility flag
+dnl
+
+AC_DEFUN([CHECK_VISIBILITY_HIDDEN], [
+ save_CFLAGS="$CFLAGS"
+ VISIBILITY_HIDDEN_CFLAGS=""
+ OPTION=-fvisibility=hidden
+
+ AC_MSG_CHECKING(for gcc $OPTION support)
+
+ CFLAGS="$CFLAGS $OPTION"
+
+ AC_TRY_COMPILE([
+ int default_vis __attribute__ ((visibility("default")));
+ int hidden_vis __attribute__ ((visibility("hidden")));
+ ],
+ [],
+ ac_visibility_supported=yes,
+ ac_visibility_supported=no)
+ AC_MSG_RESULT($ac_visibility_supported)
+
+ if test x"$ac_visibility_supported" = xyes; then
+ ifelse([$1],,AC_DEFINE(HAVE_GCC_VISIBILITY,1,[Define if you have gcc -fvisibility=hidden support ]),[$1])
+ VISIBILITY_HIDDEN_CFLAGS="$OPTION -DHAVE_VISIBILITY_HIDDEN"
+ AC_DEFINE(HAVE_VISIBILITY_HIDDEN,[],[Support for visibility hidden])
+ else
+ $2
+ :
+ fi
+
+ AC_SUBST(VISIBILITY_HIDDEN_CFLAGS)
+
+ CFLAGS="$save_CFLAGS"
+])
AC_CHECK_DECLS(environ)
+# check if gcc's -fvisibility is supported
+CHECK_VISIBILITY_HIDDEN
+
enable_chroot=yes
AC_CHECK_HEADERS([sys/capability.h],,enable_chroot=no)
AC_CHECK_HEADERS([sys/prctl.h],,enable_chroot=no)