dnl configure.ac dnl dnl xfconf - dbus-based configuration daemon and library for xfce dnl dnl Copyright (c) 2007 Brian Tarricone dnl dnl version info m4_define([libxfconf_verinfo], [2:0:0]) m4_define([libxfconf_version_api], [0]) m4_define([xfconf_version_major], [4]) m4_define([xfconf_version_minor], [7]) m4_define([xfconf_version_micro], [0]) m4_define([xfconf_version_nano], []) m4_define([xfconf_version_build], [r@REVISION@]) m4_define([xfconf_version_tag], [svn]) m4_define([xfconf_version], [xfconf_version_major().xfconf_version_minor().xfconf_version_micro()ifelse(xfconf_version_nano(), [], [], [.xfconf_version_nano()])ifelse(xfconf_version_tag(), [svn], [xfconf_version_tag()-xfconf_version_build()], [xfconf_version_tag()])]) dnl init autoconf AC_INIT([xfconf], [xfconf_version], [http://bugzilla.xfce.org/]) AC_PREREQ([2.50]) dnl init automake AM_INIT_AUTOMAKE([1.8 dist-bzip2 tar-ustar]) AM_CONFIG_HEADER([config.h]) AM_MAINTAINER_MODE dnl check for UNIX variants AC_AIX AC_ISC_POSIX AC_MINIX dnl check for basic programs AC_PROG_CC AM_PROG_CC_C_O AC_PROG_INSTALL AC_PROG_LIBTOOL AC_PROG_MAKE_SET AC_PROG_LN_S dnl check for standard header files AC_HEADER_STDC AC_CHECK_HEADERS([errno.h fcntl.h grp.h locale.h \ signal.h stdlib.h string.h \ sys/stat.h sys/time.h sys/types.h sys/wait.h \ unistd.h]) dnl AC_CHECK_FUNCS([fdwalk getdtablesize setlocale setsid sysconf]) AC_CHECK_FUNCS([fdatasync fsync setlocale]) dnl version information XFCONF_VERSION=xfconf_version LIBXFCONF_VERSION_API=libxfconf_version_api LIBXFCONF_VERINFO=libxfconf_verinfo AC_SUBST(XFCONF_VERSION) AC_SUBST(LIBXFCONF_VERSION_API) AC_SUBST(LIBXFCONF_VERINFO) dnl Check for i18n support XDT_I18N([@LINGUAS@]) dnl Check for X11 installed dnl XDT_CHECK_LIBX11_REQUIRE dnl required XDT_CHECK_PACKAGE([GLIB], [gobject-2.0], [2.12.0]) XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.6.0]) XDT_CHECK_PACKAGE([DBUS], [dbus-1], [1.0.0]) XDT_CHECK_PACKAGE([DBUS_GLIB], [dbus-glib-1], [0.72]) dnl see if we can build the perl bindings AC_ARG_ENABLE([perl-bindings], [AC_HELP_STRING([--disable-perl-bindings], [Don't try to build the perl bindings (default=auto)])], [use_perl=$enableval], [use_perl=auto]) PERL_GLIB_REQUIRED_VERSION=1.020 PERL_EXTUTILS_DEPENDS_REQUIRED_VERSION=0.300 PERL_EXTUTILS_PKGCONFIG_REQUIRED_VERSION=1.000 if test "x$use_perl" != "xno"; then AC_PATH_PROGS([PERL], [perl5.8 perl5.6 perl5 perl]) if test "$PERL"; then # we need Glib, as well as a few support modules AC_MSG_CHECKING([for perl modules: ExtUtils::Depends, ExtUtils::PkgConfig, Glib]) if `$PERL -e "use Glib '$PERL_GLIB_REQUIRED_VERSION'; \ use ExtUtils::Depends '$PERL_EXTUTILS_DEPENDS_REQUIRED_VERSION'; \ use ExtUtils::PkgConfig '$PERL_EXTUTILS_PKGCONFIG_REQUIRED_VERSION';" \ >/dev/null 2>&1` then have_perl=yes AC_MSG_RESULT([yes]) else have_perl=no AC_MSG_RESULT([no]) echo ' *** Required perl modules not found to build perl bindings. Requirements are: *** *** ExtUtils::Depends '"$PERL_EXTUTILS_DEPENDS_REQUIRED_VERSION"' *** ExtUtils::PkgConfig '"$PERL_EXTUTILS_PKGCONFIG_REQUIRED_VERSION"' *** Glib '"$PERL_GLIB_REQUIRED_VERSION"' *** *** Please install the required dependencies and run '"$0"' again. ' fi fi fi AM_CONDITIONAL([BUILD_PERL_BINDINGS], [test "x$have_perl" = "xyes"]) AC_SUBST([PERL_GLIB_REQUIRED_VERSION]) AC_SUBST([PERL_EXTUTILS_DEPENDS_REQUIRED_VERSION]) AC_SUBST([PERL_EXTUTILS_PKGCONFIG_REQUIRED_VERSION]) dnl Options to pass when configuring Perl bindings AC_ARG_WITH([perl-options], [AC_HELP_STRING([--with-perl-options=OPTIONS], [options to pass on command-line when generating Perl bindings build file])], [perl_makeopts="$withval"], [perl_makeopts=""]) PERL_MAKE_OPTIONS="$perl_makeopts" AC_SUBST(PERL_MAKE_OPTIONS) dnl check alignment for struct returns AC_DEFUN([BT_GLIB_CHECK_ALIGNOF], [ saved_CFLAGS="$CFLAGS" saved_LIBS="$LIBS" CFLAGS="$CFLAGS $GLIB_CFLAGS" LIBS="$LIBS $GLIB_LIBS" AC_CHECK_ALIGNOF([$1], [#include ]) CFLAGS="$saved_CFLAGS" LIBS="$saved_LIBS" ]) BT_GLIB_CHECK_ALIGNOF(guchar) BT_GLIB_CHECK_ALIGNOF(gchar) BT_GLIB_CHECK_ALIGNOF(guint16) BT_GLIB_CHECK_ALIGNOF(gint16) BT_GLIB_CHECK_ALIGNOF(guint32) BT_GLIB_CHECK_ALIGNOF(gint32) BT_GLIB_CHECK_ALIGNOF(guint64) BT_GLIB_CHECK_ALIGNOF(gint64) BT_GLIB_CHECK_ALIGNOF(gfloat) BT_GLIB_CHECK_ALIGNOF(gdouble) BT_GLIB_CHECK_ALIGNOF(gboolean) BT_GLIB_CHECK_ALIGNOF(gpointer) dnl gtk-doc GTK_DOC_CHECK([1.0]) dnl backends dnl always build the perchannel-xml backend xfconf_backend_perchannel_xml=yes AM_CONDITIONAL([BUILD_XFCONF_BACKEND_PERCHANNEL_XML], [test "x$xfconf_backend_perchannel_xml" = "xyes"]) if test "x$xfconf_backend_perchannel_xml" = "xyes"; then AC_DEFINE([BUILD_XFCONF_BACKEND_PERCHANNEL_XML], [1], [Define if the perchannel-xml backend should be built]) fi dnl check for debugging support XDT_FEATURE_DEBUG dnl if test "x$enable_debug" = "xfull"; then dnl if test "x$CC" = "xgcc"; then dnl CFLAGS="$CFLAGS -fno-strict-aliasing" dnl fi dnl fi AC_ARG_ENABLE([checks], AC_HELP_STRING([--enable-checks], [Enables some runtime checks for libxfconf that print debugging information at a slight cost to library code size and speed]), [enable_checks=yes]) if test "x$enable_checks" = "xyes"; then AC_DEFINE([XFCONF_ENABLE_CHECKS], [1], [Define if runtime checks should be performed]) fi dnl check whether the compiler supports the visibility attribute AC_ARG_ENABLE([visibility], AC_HELP_STRING([--disable-visibility], [Don't use ELF visibility attributes]), [], [enable_visibility=yes]) have_gnuc_visibility=no if test "x$enable_visibility" != "xno"; then save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Wall -Werror" AC_MSG_CHECKING([whether $CC supports the GNUC visibility attribute]) AC_COMPILE_IFELSE(AC_LANG_SOURCE( [ 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 AC_MSG_RESULT([yes]) ], [ AC_MSG_RESULT([no]) ]) CFLAGS="$save_CFLAGS" fi if test "x$have_gnuc_visibility" = "xyes"; then CPPFLAGS="$CPPFLAGS -DHAVE_GNUC_VISIBILITY" fi AM_CONDITIONAL([HAVE_GNUC_VISIBILITY], [test "x$have_gnuc_visibility" = "xyes"]) AC_ARG_ENABLE([profiling], AC_HELP_STRING([--enable-profiling], [Enable gprof profiling support]), [enable_profiling=yes]) if test "x$enable_profiling" = "xyes"; then AC_DEFINE([XFCONF_ENABLE_PROFILING], [1], [Define if gprof profiling should be compiled in]) fi AM_CONDITIONAL([ENABLE_PROFILING], [test "x$enable_profiling" = "xyes"]) AC_OUTPUT([ Makefile common/Makefile docs/Makefile docs/reference/Makefile docs/reference/version.xml docs/spec/Makefile po/Makefile.in tests/Makefile tests/set-properties/Makefile tests/has-properties/Makefile tests/get-properties/Makefile tests/reset-properties/Makefile tests/property-changed-signal/Makefile xfconf/Makefile xfconf/libxfconf-0.pc xfconf-perl/Makefile.PL xfconf-perl/Makefile xfconf-perl/Xfconf.pm xfconf-perl/xs/Makefile xfconf-query/Makefile xfconfd/Makefile ])