configure.ac revision e124844907ed6973915e4d56f5442ecd07535a12
2454dfa32c93c20a8522c6ed42fe057baaac9f9aStephan BoschAC_PREREQ(2.59)
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo SirainenAC_INIT([sssd],
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen VERSION_NUMBER,
bdd36cfdba3ff66d25570a9ff568d69e1eb543cfTimo Sirainen [sssd-devel@lists.fedorahosted.org])
643a81fff9003cba13deb49a565a3c8171da524dTimo Sirainenm4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
643a81fff9003cba13deb49a565a3c8171da524dTimo Sirainen [AC_USE_SYSTEM_EXTENSIONS],
643a81fff9003cba13deb49a565a3c8171da524dTimo Sirainen [AC_GNU_SOURCE])
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo SirainenCFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
643a81fff9003cba13deb49a565a3c8171da524dTimo SirainenAC_CONFIG_SRCDIR([BUILD.txt])
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenAC_CONFIG_AUX_DIR([build])
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo SirainenAM_INIT_AUTOMAKE([-Wall foreign subdir-objects tar-pax])
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo SirainenAM_PROG_CC_C_O
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo SirainenAC_DISABLE_STATIC
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo SirainenAC_PROG_INSTALL
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo SirainenAC_PROG_LIBTOOL
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo SirainenAC_CONFIG_MACRO_DIR([m4])
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo SirainenAM_GNU_GETTEXT([external])
fcaf124d4a727424a338cccfd4274c2393818cd3Timo SirainenAM_GNU_GETTEXT_VERSION([0.14])
0dffa25d211be541ee3c953b23566a1a990789dfTimo SirainenAC_SUBST([PRERELEASE_VERSION],
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen PRERELEASE_VERSION_NUMBER)
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenAC_DEFINE([PRERELEASE_VERSION], "PRERELEASE_VERSION_NUMBER",
421d30619384e72a27e2a5d13ff6525aff4d17feTimo Sirainen [Prerelease version number of package])
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenAM_CONDITIONAL([GIT_CHECKOUT], [git log -1 &>/dev/null])
421d30619384e72a27e2a5d13ff6525aff4d17feTimo Sirainenm4_pattern_allow([AM_SILENT_RULES])
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenAM_SILENT_RULES
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenAM_CONDITIONAL([HAVE_GCC], [test "$ac_cv_prog_gcc" = yes])
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenAC_CONFIG_HEADER(config.h)
6a262c9bd8f57cf1e57112e0522dbdab28ae8c29Timo SirainenAC_CHECK_TYPES([errno_t], [], [], [[#include <errno.h>]])
bf7dc750b95039981c0e9d728f313d50cf38a156Martti RannanjärviBUILD_WITH_SHARED_BUILD_DIR
6a262c9bd8f57cf1e57112e0522dbdab28ae8c29Timo SirainenAC_COMPILE_IFELSE(
6a262c9bd8f57cf1e57112e0522dbdab28ae8c29Timo Sirainen [AC_LANG_PROGRAM([[#include <pthread.h>]],
6a262c9bd8f57cf1e57112e0522dbdab28ae8c29Timo Sirainen [[pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;]])],
bf7dc750b95039981c0e9d728f313d50cf38a156Martti Rannanjärvi [AC_DEFINE([HAVE_PTHREAD], [1], [Pthread mutexes available.])],
bf7dc750b95039981c0e9d728f313d50cf38a156Martti Rannanjärvi [AC_MSG_WARN([Pthread library not found! Clients will not be thread safe...])])
6a262c9bd8f57cf1e57112e0522dbdab28ae8c29Timo Sirainen#Check for PAM headers
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenAC_CHECK_HEADERS([security/pam_appl.h security/pam_misc.h security/pam_modules.h],
421d30619384e72a27e2a5d13ff6525aff4d17feTimo Sirainen [AC_CHECK_LIB(pam, pam_get_item, [ PAM_LIBS="-lpam" ], [AC_MSG_ERROR([PAM must support pam_get_item])])],
421d30619384e72a27e2a5d13ff6525aff4d17feTimo Sirainen [AC_MSG_ERROR([PAM development libraries not installed])]
421d30619384e72a27e2a5d13ff6525aff4d17feTimo Sirainen#Set the NSS library install path
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenAC_ARG_ENABLE([nsslibdir], [AS_HELP_STRING([--enable-nsslibdir],
421d30619384e72a27e2a5d13ff6525aff4d17feTimo Sirainen [Where to install nss libraries ($libdir)])],
421d30619384e72a27e2a5d13ff6525aff4d17feTimo Sirainen [nsslibdir=$enableval],
421d30619384e72a27e2a5d13ff6525aff4d17feTimo Sirainen [nsslibdir=$libdir])
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenAC_SUBST(nsslibdir)
421d30619384e72a27e2a5d13ff6525aff4d17feTimo Sirainen#Set the PAM module install path
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenAC_ARG_ENABLE([pammoddir], [AS_HELP_STRING([--enable-pammoddir],
421d30619384e72a27e2a5d13ff6525aff4d17feTimo Sirainen [Where to install pam modules ($libdir/security)])],
421d30619384e72a27e2a5d13ff6525aff4d17feTimo Sirainen [pammoddir=$enableval],
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenAC_SUBST(pammoddir)
421d30619384e72a27e2a5d13ff6525aff4d17feTimo Sirainen#Include here cause WITH_INIT_DIR requires $osname set in platform.m4
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenWITH_DISTRO_VERSION
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenWITH_PLUGIN_PATH
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenWITH_PUBCONF_PATH
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenWITH_PIPE_PATH
bf7dc750b95039981c0e9d728f313d50cf38a156Martti RannanjärviWITH_XML_CATALOG
bf7dc750b95039981c0e9d728f313d50cf38a156Martti RannanjärviWITH_KRB5_PLUGIN_PATH
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenWITH_KRB5_RCACHE_DIR
6a262c9bd8f57cf1e57112e0522dbdab28ae8c29Timo SirainenWITH_PYTHON_BINDINGS
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenWITH_NOLOGIN_SHELL
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenWITH_SUDO_LIB_PATH
421d30619384e72a27e2a5d13ff6525aff4d17feTimo SirainenWITH_UNICODE_LIB
402e999a878e0cc41a0afb830fea0a93afc75f0dTimo Sirainenif test x$unicode_lib = xlibunistring; then
bf7dc750b95039981c0e9d728f313d50cf38a156Martti Rannanjärvi m4_include([src/external/libunistring.m4])
5fbccc935e3f7b916aa7c6e302a212821072e83aTimo Sirainen AC_DEFINE_UNQUOTED(HAVE_LIBUNISTRING, 1, [Using libunistring for unicode])
643a81fff9003cba13deb49a565a3c8171da524dTimo Sirainen UNICODE_LIBS=-lunistring
421d30619384e72a27e2a5d13ff6525aff4d17feTimo Sirainen AC_SUBST(UNICODE_LIBS)
5fbccc935e3f7b916aa7c6e302a212821072e83aTimo Sirainen AC_DEFINE_UNQUOTED(HAVE_GLIB2, 1, [Using libunistring for unicode])
5fbccc935e3f7b916aa7c6e302a212821072e83aTimo Sirainen UNICODE_LIBS=$GLIB2_LIBS
643a81fff9003cba13deb49a565a3c8171da524dTimo Sirainen AC_SUBST(UNICODE_LIBS)
643a81fff9003cba13deb49a565a3c8171da524dTimo SirainenWITH_INITSCRIPT
643a81fff9003cba13deb49a565a3c8171da524dTimo Sirainenif test x$initscript = xsystemd; then
0950aed81d1e9618264e6aa4d214d89e005ec8d6Timo Sirainen WITH_SYSTEMD_UNIT_DIR
0950aed81d1e9618264e6aa4d214d89e005ec8d6Timo SirainenPKG_CHECK_MODULES([DBUS],[dbus-1])
0950aed81d1e9618264e6aa4d214d89e005ec8d6Timo Sirainendnl if test -n "`$PKG_CONFIG --modversion dbus-1 | grep '^0\.'`" ; then
0950aed81d1e9618264e6aa4d214d89e005ec8d6Timo Sirainenif ! $PKG_CONFIG --atleast-version 1.0.0 dbus-1; then
0950aed81d1e9618264e6aa4d214d89e005ec8d6Timo Sirainen DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_API_SUBJECT_TO_CHANGE"
0950aed81d1e9618264e6aa4d214d89e005ec8d6Timo Sirainen AC_MSG_RESULT([setting -DDBUS_API_SUBJECT_TO_CHANGE])
0950aed81d1e9618264e6aa4d214d89e005ec8d6Timo Sirainenif test x$has_dbus != xno; then
0950aed81d1e9618264e6aa4d214d89e005ec8d6Timo Sirainen SAFE_LIBS="$LIBS"
0950aed81d1e9618264e6aa4d214d89e005ec8d6Timo Sirainen LIBS="$DBUS_LIBS"
0950aed81d1e9618264e6aa4d214d89e005ec8d6Timo Sirainen AC_CHECK_FUNC([dbus_watch_get_unix_fd],
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen AC_DEFINE([HAVE_DBUS_WATCH_GET_UNIX_FD], [1],
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen [Define if dbus_watch_get_unix_fd exists]))
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen LIBS="$SAFE_LIBS"
adea69875046ece77dc36abd3f88a241a3f17ad9Timo Sirainenif test x$HAVE_MANPAGES != x; then
0950aed81d1e9618264e6aa4d214d89e005ec8d6Timo Sirainen CHECK_XML_TOOLS
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen DOCBOOK_XSLT=http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen CHECK_STYLESHEET([$SGML_CATALOG_FILES],
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen [$DOCBOOK_XSLT],
d03a871a77f8ec36f48f5fea98d810e51b186fdbTimo Sirainen [Docbook XSL profiling templates],
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen [HAVE_PROFILE_CATALOGS=1],
d03a871a77f8ec36f48f5fea98d810e51b186fdbTimo Sirainen [AC_MSG_WARN([Man pages might contain documentation for experimental features])])
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen if test x$HAVE_PROFILE_CATALOGS == x; then
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen DOCBOOK_XSLT=http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen CHECK_STYLESHEET([$SGML_CATALOG_FILES],
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen [$DOCBOOK_XSLT],
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen [Docbook XSL templates],
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen [AC_MSG_ERROR([could not find the docbook xsl catalog])])
643a81fff9003cba13deb49a565a3c8171da524dTimo Sirainen AC_CHECK_PROG([PO4A],[po4a],[po4a],[no])
737561538a2dcdcda948a1da2830a612d8263a23Timo Sirainen AC_SUBST(DOCBOOK_XSLT)
643a81fff9003cba13deb49a565a3c8171da524dTimo SirainenAM_CONDITIONAL([HAVE_PROFILE_CATALOGS], [test "x$HAVE_PROFILE_CATALOGS" != "x"])
3e0bae44b65f5c46989fcef3d1e07203f496327eTimo SirainenAM_CONDITIONAL([HAVE_MANPAGES], [test "x$HAVE_MANPAGES" != "x"])
643a81fff9003cba13deb49a565a3c8171da524dTimo SirainenAM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A" != "xno"])
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainenif test x$HAVE_PYTHON_BINDINGS != x; then
5fbccc935e3f7b916aa7c6e302a212821072e83aTimo Sirainen AM_PATH_PYTHON([2.4])
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen AM_CHECK_PYTHON_HEADERS([],
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen AC_MSG_ERROR([Could not find python headers]))
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen AM_PYTHON_CONFIG
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen AM_CHECK_PYTHON_COMPAT
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainenif test x$HAVE_SELINUX != x; then
643a81fff9003cba13deb49a565a3c8171da524dTimo Sirainen AM_CHECK_SELINUX
643a81fff9003cba13deb49a565a3c8171da524dTimo Sirainenif test x$HAVE_SEMANAGE != x -a x$HAVE_SELINUX != x; then
643a81fff9003cba13deb49a565a3c8171da524dTimo Sirainen AM_CHECK_SEMANAGE
402e999a878e0cc41a0afb830fea0a93afc75f0dTimo Sirainenif test x$BUILD_LIBNL != x; then
5fbccc935e3f7b916aa7c6e302a212821072e83aTimo Sirainen AM_CHECK_LIBNL
5fbccc935e3f7b916aa7c6e302a212821072e83aTimo Sirainenif test x$HAVE_SYSTEMD_UNIT != x; then
643a81fff9003cba13deb49a565a3c8171da524dTimo Sirainen AM_CHECK_SYSTEMD
d4847b921058734e0668bc7690465c91523d9ec0Martti RannanjärviAM_CONDITIONAL([HAVE_NSS], [test x"$NSS_CFLAGS" != x])
5fbccc935e3f7b916aa7c6e302a212821072e83aTimo SirainenAC_CHECK_HEADERS([sys/inotify.h])
5fbccc935e3f7b916aa7c6e302a212821072e83aTimo SirainenAC_CHECK_HEADERS([sasl/sasl.h],,AC_MSG_ERROR([Could not find SASL headers]))
643a81fff9003cba13deb49a565a3c8171da524dTimo SirainenAC_CACHE_CHECK([whether compiler supports __attribute__((destructor))],
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen sss_client_cv_attribute_destructor,
643a81fff9003cba13deb49a565a3c8171da524dTimo Sirainen [AC_COMPILE_IFELSE(
643a81fff9003cba13deb49a565a3c8171da524dTimo Sirainen [AC_LANG_SOURCE([__attribute__((destructor)) static void cleanup(void) { }])],
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen sss_client_cv_attribute_destructor=yes)
643a81fff9003cba13deb49a565a3c8171da524dTimo Sirainenif test x"$sss_client_cv_attribute_destructor" = xyes ; then
643a81fff9003cba13deb49a565a3c8171da524dTimo Sirainen AC_DEFINE(HAVE_FUNCTION_ATTRIBUTE_DESTRUCTOR, 1,
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen [whether compiler supports __attribute__((destructor))])
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo SirainenPKG_CHECK_MODULES([CHECK], [check >= 0.9.5], [have_check=1], [have_check=])
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainenif test x$have_check = x; then
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen AC_MSG_WARN([Without the 'CHECK' libraries, you will be unable to run all tests in the 'make check' suite])
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen AC_CHECK_HEADERS([check.h],,AC_MSG_ERROR([Could not find CHECK headers]))
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo SirainenAC_PATH_PROG([DOXYGEN], [doxygen], [false])
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo SirainenAM_CONDITIONAL([HAVE_DOXYGEN], [test x$DOXYGEN != xfalse ])
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo SirainenAM_CONDITIONAL([HAVE_CHECK], [test x$have_check != x])
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainenabs_build_dir=`pwd`
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo SirainenAC_DEFINE_UNQUOTED([ABS_BUILD_DIR], ["$abs_build_dir"], [Absolute path to the build directory])
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo SirainenAC_SUBST([abs_builddir], $abs_build_dir)
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo SirainenAC_CONFIG_FILES([Makefile contrib/sssd.spec src/examples/rwtab src/doxy.config
6c00502d4ece417ead501db8f0ee3e8287ba4459Timo Sirainen src/sysv/systemd/sssd.service po/Makefile.in src/man/Makefile