dnl configure.ac dnl dnl xfconf - dbus-based configuration daemon and library for xfce dnl dnl Copyright (c) 2007-2011 Brian Tarricone dnl Copyright (c) 2011-2020 Xfce Development Team dnl dnl version info m4_define([libxfconf_verinfo], [3:0:0]) m4_define([libxfconf_version_api], [0]) m4_define([xfconf_version_major], [4]) m4_define([xfconf_version_minor], [16]) m4_define([xfconf_version_micro], [0]) m4_define([xfconf_version_nano], []) m4_define([xfconf_version_build], [@REVISION@]) m4_define([xfconf_version_tag], [git]) 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()])]) m4_define([xfconf_default_debug], [ifelse(xfconf_version_tag(), [git], [yes], [minimum])]) dnl init autoconf AC_INIT([xfconf], [xfconf_version], [https://gitlab.xfce.org/xfconf/xfconf]) AC_CONFIG_MACRO_DIRS([m4]) AC_PREREQ([2.69]) dnl init automake AM_INIT_AUTOMAKE([1.11 dist-bzip2 tar-ustar no-dist-gzip foreign subdir-objects]) AC_CONFIG_HEADERS([config.h]) AM_MAINTAINER_MODE AM_SILENT_RULES([yes]) dnl set helper path prefix AC_ARG_WITH([helper-path-prefix], [AS_HELP_STRING([--with-helper-path-prefix=PATH], [Path prefix under which helper executables will be installed (default: $libdir)])], [HELPER_PATH_PREFIX="$withval"], [HELPER_PATH_PREFIX="$libdir"]) AC_SUBST([HELPER_PATH_PREFIX]) dnl check for basic programs AC_PROG_CC AM_PROG_CC_C_O AC_PROG_INSTALL AC_PROG_MAKE_SET AC_PROG_LN_S IT_PROG_INTLTOOL([0.35.0]) LT_PREREQ([2.2.6]) LT_INIT([disable-static]) dnl check for standard header files 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([]) dnl Check for gdbus-codegen AC_ARG_VAR([GDBUS_CODEGEN], [D-Bus code and documentation generator from XML D-Bus interface definitions]) AC_PATH_PROG([GDBUS_CODEGEN], [gdbus-codegen], [no]) if test x"$GDBUS_CODEGEN" = x"no"; then AC_MSG_ERROR([could not find gdbus-codegen in \$PATH. You can run ./configure GDBUS_CODEGEN=/path/to/gdbus-codegen to define a custom location for it.]) fi dnl Check for X11 installed dnl XDT_CHECK_LIBX11_REQUIRE dnl required XDT_CHECK_PACKAGE([GLIB], [gobject-2.0], [2.50.0]) XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.50.0]) XDT_CHECK_PACKAGE([GIO_UNIX], [gio-unix-2.0], [2.50.0]) XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.50.0]) XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.14.0]) dnl check for make-exo-alias.pl AC_PATH_PROGS([PERL], [perl5.8 perl5.6 perl5 perl]) 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.20]) 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 GSettings backend support AC_ARG_ENABLE([gsettings_backend], AS_HELP_STRING([--disable-gsettings-backend], [Don't build GSettings backend module]), [ac_gsettings_backend=$enableval], [ac_gsettings_backend=yes]) AC_MSG_CHECKING([whether to build the GSettings backend module]) AM_CONDITIONAL([XFCONF_ENABLE_GSETTINGS_BACKEND], [test x"$ac_gsettings_backend" = x"yes"]) AC_MSG_RESULT([$ac_gsettings_backend]) dnl GModule is required in order to build the GSettings backend module if test "x$ac_gsettings_backend"; then XDT_CHECK_PACKAGE([GMODULE], [gmodule-2.0], [2.50.0]) GIO_MODULE_DIR=$libdir/gio/modules AC_SUBST(GIO_MODULE_DIR) fi dnl check for GObject Introspection GOBJECT_INTROSPECTION_CHECK([1.30.0]) dnl check for Vala support VAPIGEN_CHECK() dnl check for debugging support XDT_FEATURE_DEBUG([xfconf_default_debug]) dnl gtk-doc is broken XDT_SUPPORTED_FLAGS([GTK_DOC_EXTRA_CFLAGS], [-Wno-sign-compare]) AC_SUBST([GTK_DOC_EXTRA_CFLAGS]) AC_ARG_ENABLE([checks], AS_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=$enableval]) 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 XDT_FEATURE_VISIBILITY if test "x$have_gnuc_visibility" = "xyes"; then AC_DEFINE([XFCONF_EXPORT], [__attribute__((visibility("default")))], [defines how to decorate public symbols while building]) else AC_DEFINE([XFCONF_EXPORT], [], [defines how to decorate public symbols while building]) fi dnl add -O1 and --as-needed to LDFLAGS if supported XDT_FEATURE_LINKER_OPTS AC_ARG_ENABLE([profiling], AS_HELP_STRING([--enable-profiling], [Enable gprof profiling support]), [enable_profiling=$enableval]) 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"]) dnl Bash completion for xfconf-query. AC_ARG_WITH([bash-completion-dir], AS_HELP_STRING([--with-bash-completion-dir[=PATH]], [Install the bash-completion script in this directory. @<:@default=yes@:>@]), [], [with_bash_completion_dir=yes]) AS_IF([test "x$with_bash_completion_dir" = xyes], [AC_MSG_CHECKING([for bash-completion directory]) AS_IF([test "x$PKG_CONFIG" != x \ && bash_completion_prefix=`$PKG_CONFIG --print-errors --variable=prefix bash-completion 2>&AS_MESSAGE_LOG_FD` \ && bash_completion_dir=`$PKG_CONFIG --print-errors --variable=completionsdir bash-completion 2>&AS_MESSAGE_LOG_FD`], [bash_completion_dir="${bash_completion_dir#"$bash_completion_prefix"}" bash_completion_dir="${bash_completion_dir#/}" BASH_COMPLETION_DIR='${prefix}'/"$bash_completion_dir"], [BASH_COMPLETION_DIR='${datadir}/bash-completion/completions']) AC_MSG_RESULT([$BASH_COMPLETION_DIR])], [BASH_COMPLETION_DIR="$with_bash_completion_dir"]) AC_SUBST([BASH_COMPLETION_DIR]) AM_CONDITIONAL([ENABLE_BASH_COMPLETION], [test "x$with_bash_completion_dir" != xno]) AC_CONFIG_FILES([ Makefile common/Makefile docs/Makefile docs/reference/Makefile 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/object-bindings/Makefile tests/property-changed-signal/Makefile tests/others/Makefile tests/tests-end/Makefile xfconf/Makefile xfconf/libxfconf-0.pc xfconf-query/Makefile xfconfd/Makefile gsettings-backend/Makefile completions/Makefile ]) AC_OUTPUT dnl *************************** dnl *** Print configuration *** dnl *************************** echo echo "Build Configuration:" echo echo " * GSettings Backend: $ac_gsettings_backend" echo " * GObject Introspection: $enable_introspection" echo " * Vala support: $enable_vala" if test "x$with_bash_completion_dir" != "xno"; then echo " * Bash completion path: $BASH_COMPLETION_DIR" else echo " * Bash completion: no" fi echo echo " * Debug: $enable_debug" echo