dnl
dnl This file was autogenerated from "configure.ac.in".
dnl Edit that file instead!
dnl

dnl configure.ac
dnl
dnl xfconf - dbus-based configuration daemon and library for xfce
dnl
dnl Copyright (c) 2007 Brian Tarricone <bjt23@cornell.edu>
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], [6])
m4_define([xfconf_version_micro], [2])
m4_define([xfconf_version_nano], [])
m4_define([xfconf_version_build], [4fb6d99])
m4_define([xfconf_version_tag], [])
m4_define([xfconf_version], [xfconf_version_major().xfconf_version_minor().xfconf_version_micro()ifelse(xfconf_version_nano(), [], [], [.xfconf_version_nano()])ifelse(xfconf_version_tag(), [git], [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_INTLTOOL
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([am ast ca cs da de es eu fi fr gl hu id it ja kk lv nb nl pl pt_BR pt ro ru sv tr ug uk ur_PK ur zh_CN ])

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 <glib.h>])
    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
])
