configure.ac revision f0beb4e313970ffd075cd711ed6cfbac03ad5af6
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_PREREQ(2.59)
33396dc46ea52c18f47db1b5d590880806521005Sumit BoseAC_INIT([sssd],
ee359fe1384507fed6c2274e7bfe81d288de4542Stephen Gallagher VERSION_NUMBER,
33396dc46ea52c18f47db1b5d590880806521005Sumit Bose [sssd-devel@lists.fedorahosted.org])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_CONFIG_SRCDIR([BUILD.txt])
324fb26ba803a999bedc29e93c46c84f27abf5b7Sumit BoseAC_CONFIG_AUX_DIR([build])
324fb26ba803a999bedc29e93c46c84f27abf5b7Sumit Bosem4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
324fb26ba803a999bedc29e93c46c84f27abf5b7Sumit Bose [AC_USE_SYSTEM_EXTENSIONS],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [AC_GNU_SOURCE])
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen GallagherCFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
e65df5b966b27e13283c65f59f99ac44781e0333Simo SorceAM_INIT_AUTOMAKE([-Wall -Wno-portability foreign subdir-objects tar-pax
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher parallel-tests])
672f430c2e5d55226261a281bc3fa77311ace5a4Jakub HrozekAM_PROG_CC_C_O
672f430c2e5d55226261a281bc3fa77311ace5a4Jakub Hrozekm4_ifdef([AM_PROG_AR], [AM_PROG_AR])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_DISABLE_STATIC
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_PROG_INSTALL
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherm4_ifdef([AC_PROG_MKDIR_P],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [AC_PROG_MKDIR_P],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [AC_SUBST([MKDIR_P], "mkdir -p")])
cc98edd9479d4622634a1275c98058916c14059aStephen GallagherAC_CONFIG_MACRO_DIR([m4])
ee359fe1384507fed6c2274e7bfe81d288de4542Stephen GallagherAM_GNU_GETTEXT([external])
cc98edd9479d4622634a1275c98058916c14059aStephen GallagherAM_GNU_GETTEXT_VERSION([0.14.4])
d3da1c165cdb4c1ec126a8f4b6b544ca415b9d20Pavel BřezinaAC_SUBST([PRERELEASE_VERSION],
d3da1c165cdb4c1ec126a8f4b6b544ca415b9d20Pavel Březina PRERELEASE_VERSION_NUMBER)
1183d29d87c5c7439cf2364b7d7324d4a13b6e35Stephen GallagherAC_DEFINE([PRERELEASE_VERSION], "PRERELEASE_VERSION_NUMBER",
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [Prerelease version number of package])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAM_CONDITIONAL([GIT_CHECKOUT], [git log -1 >/dev/null 2>&1])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherm4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAM_CONDITIONAL([HAVE_GCC], [test "$ac_cv_prog_gcc" = yes])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_CONFIG_HEADER(config.h)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_CHECK_TYPES([errno_t], [], [], [[#include <errno.h>]])
c89589fa349f38214c9cb8d9389c0fd557e5dca2Simo SorceBUILD_WITH_SHARED_BUILD_DIR
86b61156743b7ebdc049450a6f88452890fd9a61Jakub HrozekAC_COMPILE_IFELSE(
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozek [AC_LANG_PROGRAM([[#include <pthread.h>]],
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozek [[pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;
c89589fa349f38214c9cb8d9389c0fd557e5dca2Simo Sorce (void) m; /* unused */
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozek [AC_DEFINE([HAVE_PTHREAD], [1], [Pthread mutexes available.])
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozek HAVE_PTHREAD=1
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozek [AC_MSG_WARN([Pthread library not found! Clients will not be thread safe...])])
86b61156743b7ebdc049450a6f88452890fd9a61Jakub HrozekAM_CONDITIONAL([HAVE_PTHREAD], [test x"$HAVE_PTHREAD" != "x"])
86b61156743b7ebdc049450a6f88452890fd9a61Jakub HrozekSAVE_LIBS=$LIBS
86b61156743b7ebdc049450a6f88452890fd9a61Jakub HrozekLIBS="$LIBS -lpthread"
86b61156743b7ebdc049450a6f88452890fd9a61Jakub HrozekAC_CHECK_FUNCS([ pthread_mutexattr_setrobust \
48130eef6c5c64a07094b9e8582ba358b2048f24Jakub Hrozek pthread_mutex_consistent \
48130eef6c5c64a07094b9e8582ba358b2048f24Jakub Hrozek pthread_mutexattr_setrobust_np \
48130eef6c5c64a07094b9e8582ba358b2048f24Jakub Hrozek pthread_mutex_consistent_np ])
48130eef6c5c64a07094b9e8582ba358b2048f24Jakub HrozekLIBS=$SAVE_LIBS
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# Check for presence of modern functions for setting file timestamps
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_CHECK_FUNCS([ utimensat \
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher#Check for endian headers
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_CHECK_HEADERS([endian.h sys/endian.h byteswap.h])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_C_BIGENDIAN([AC_DEFINE(HAVE_BIG_ENDIAN, [1], [whether platform is big endian])],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [AC_DEFINE(HAVE_LITTLE_ENDIAN, [1], [whether platform is little endian])])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher#Set the NSS library install path
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_ARG_ENABLE([nsslibdir], [AS_HELP_STRING([--enable-nsslibdir],
d921c1eba437662437847279f251a0a5d8f70127Maxim [Where to install nss libraries ($libdir)])],
d921c1eba437662437847279f251a0a5d8f70127Maxim [nsslibdir=$enableval],
d921c1eba437662437847279f251a0a5d8f70127Maxim [nsslibdir=$libdir])
d921c1eba437662437847279f251a0a5d8f70127MaximAC_SUBST(nsslibdir)
d921c1eba437662437847279f251a0a5d8f70127Maxim#Set the PAM module install path
d921c1eba437662437847279f251a0a5d8f70127MaximAC_ARG_ENABLE([pammoddir], [AS_HELP_STRING([--enable-pammoddir],
327127bb7fcc07f882209f029e14026de1b23c94Maxim [Where to install pam modules ($libdir/security)])],
327127bb7fcc07f882209f029e14026de1b23c94Maxim [pammoddir=$enableval],
327127bb7fcc07f882209f029e14026de1b23c94Maxim [pammoddir=$libdir/security])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_SUBST(pammoddir)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher#Set the NFSv4 idmapd library install path
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_ARG_ENABLE([nfsidmaplibdir], [AS_HELP_STRING([--enable-nfsidmaplibdir],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [Where to install libnfsidmap libraries ($libdir/libnfsidmap)])],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [nfsidmaplibdir=$enableval],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [nfsidmaplibdir=$libdir/libnfsidmap])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_SUBST(nfsidmaplibdir)
bc9235cfb80bd64a3bfa959e8d26d5ad1be0bdf4Jakub Hrozek#Include here cause WITH_INIT_DIR requires $osname set in platform.m4
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_PLUGIN_PATH
90fd1bbd6035cdab46faa3a695a2fb2be6508b17Sumit BoseWITH_PUBCONF_PATH
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_MCACHE_PATH
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_DEFAULT_CCACHE_DIR
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_DEFAULT_CCNAME_TEMPLATE
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_ENVIRONMENT_FILE
068dbee9ca7bf5b37330eff91c94ae10f288d09fJakub HrozekWITH_INIT_DIR
98ce3c3e85a4bb2e1822bf8ab2a1c2ab9e3dd61dJakub HrozekWITH_TEST_DIR
be65f065fef1d387281096ef095a2acef39ecc12Jakub HrozekWITH_MANPAGES
e124844907ed6973915e4d56f5442ecd07535a12Jakub HrozekWITH_XML_CATALOG
f36078af138f052cd9a30360867b0ebd0805af5eJakub HrozekWITH_KRB5_PLUGIN_PATH
34c78b745eb349eef2b0f13ef2b722632aebe619Jan CholastaWITH_KRB5_RCACHE_DIR
e07a94a66985b674c5df11ca466792902164c4e2George McCollisterWITH_KRB5AUTHDATA_PLUGIN_PATH
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_PYTHON2_BINDINGS
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_PYTHON3_BINDINGS
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_CIFS_PLUGIN_PATH
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_WINBIND_PLUGIN_PATH
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_IPA_GETKEYTAB
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_AD_GPO_DEFAULT
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_GPO_CACHE_PATH
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_NOLOGIN_SHELL
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_SUDO_LIB_PATH
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_NFS_LIB_PATH
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_LIBWBCLIENT
2a5790216f57e9bdfb2930d52860bb5300366536Jakub HrozekSSSD_RUNSTATEDIR
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_SECRETS_DB_PATH
b32159300fea63222d8dd9200ed634087704ea74Stephen Gallagherm4_include([src/external/libcollection.m4])
b32159300fea63222d8dd9200ed634087704ea74Stephen Gallagherm4_include([src/external/libini_config.m4])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherm4_include([src/external/pac_responder.m4])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherif test x$with_secrets = xyes; then
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozekif test x$build_config_lib = xyes; then
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub HrozekWITH_UNICODE_LIB
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozekif test x$unicode_lib = xlibunistring; then
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozek AC_DEFINE_UNQUOTED(HAVE_LIBUNISTRING, 1, [Using libunistring for unicode])
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozek UNICODE_LIBS=$UNISTRING_LIBS
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozek AC_DEFINE_UNQUOTED(HAVE_GLIB2, 1, [Using glib2 for unicode])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher UNICODE_LIBS=$GLIB2_LIBS
8b1f525acd20f36c836e827de3c251088961c5d9Stephen GallagherAC_SUBST(UNICODE_LIBS)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherif test x$HAVE_NSCD; then
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher WITH_NSCD_CONF
72e60fd4eabcfbcdbfe01e8c38b94052bc6c2067Jakub HrozekWITH_INITSCRIPT
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherif test x$initscript = xsystemd; then
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher WITH_SYSTEMD_UNIT_DIR
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher WITH_SYSTEMD_CONF_DIR
3d038d2e0dc7af04ec2f7c85ae325accb39f6237Jakub Hrozek AC_CHECK_PROG(HAVE_SERVICE, service, yes, no)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher AS_IF([test x$HAVE_SERVICE = xyes],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [AC_DEFINE(HAVE_SERVICE, 1,
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [Whether the service command is available])])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherPKG_CHECK_MODULES([DBUS],[dbus-1])
5352c9b3609bca63814f9f6f03dbbbadf6c6333aStephen Gallagherdnl if test -n "`$PKG_CONFIG --modversion dbus-1 | grep '^0\.'`" ; then
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherif ! $PKG_CONFIG --atleast-version 1.0.0 dbus-1; then
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_API_SUBJECT_TO_CHANGE"
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher AC_MSG_RESULT([setting -DDBUS_API_SUBJECT_TO_CHANGE])
2a5790216f57e9bdfb2930d52860bb5300366536Jakub Hrozekif test x$has_dbus != xno; then
2a5790216f57e9bdfb2930d52860bb5300366536Jakub Hrozek SAFE_LIBS="$LIBS"
e07a94a66985b674c5df11ca466792902164c4e2George McCollister LIBS="$DBUS_LIBS"
e07a94a66985b674c5df11ca466792902164c4e2George McCollister SAFE_CFLAGS=$CFLAGS
e07a94a66985b674c5df11ca466792902164c4e2George McCollister CFLAGS="$CFLAGS $DBUS_CFLAGS"
e07a94a66985b674c5df11ca466792902164c4e2George McCollister AC_CHECK_FUNC([dbus_watch_get_unix_fd],
e07a94a66985b674c5df11ca466792902164c4e2George McCollister AC_DEFINE([HAVE_DBUS_WATCH_GET_UNIX_FD], [1],
172c07013d1ea99447a780fd36f49d5c3a76981bJakub Hrozek [Define if dbus_watch_get_unix_fd exists]))
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher AC_CHECK_TYPES([DBusBasicValue],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [ #include <dbus/dbus.h> ])
336879aabae137f9a81304f147fb0d43001654b0Simo Sorce LIBS="$SAFE_LIBS"
336879aabae137f9a81304f147fb0d43001654b0Simo Sorce CFLAGS=$SAFE_CFLAGS
336879aabae137f9a81304f147fb0d43001654b0Simo Sorce# work around a bug in cov-build from Coverity
336879aabae137f9a81304f147fb0d43001654b0Simo Sorcetest -n "$XML_CATALOG_FILES" || unset XML_CATALOG_FILES
336879aabae137f9a81304f147fb0d43001654b0Simo Sorceif test x$HAVE_MANPAGES != x; then
336879aabae137f9a81304f147fb0d43001654b0Simo Sorce CHECK_XML_TOOLS
336879aabae137f9a81304f147fb0d43001654b0Simo Sorce DOCBOOK_XSLT=http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher CHECK_STYLESHEET([$SGML_CATALOG_FILES],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [$DOCBOOK_XSLT],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [Docbook XSL profiling templates],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [HAVE_PROFILE_CATALOGS=1],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [AC_MSG_WARN([Man pages might contain documentation for experimental features])])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher if test x$HAVE_PROFILE_CATALOGS = x; then
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher DOCBOOK_XSLT=http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher CHECK_STYLESHEET([$SGML_CATALOG_FILES],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [$DOCBOOK_XSLT],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [Docbook XSL templates],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [AC_MSG_ERROR([could not find the docbook xsl catalog])])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher AC_CHECK_PROG([PO4A],[po4a],[po4a],[no])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher AC_SUBST(DOCBOOK_XSLT)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAM_CONDITIONAL([HAVE_PROFILE_CATALOGS], [test "x$HAVE_PROFILE_CATALOGS" != "x"])
96c73559adfbdac96720008fc022cb1d540b53c3Jakub HrozekAM_CONDITIONAL([HAVE_MANPAGES], [test "x$HAVE_MANPAGES" != "x"])
4dd615c01357b8715711aad6820ba9595d3ad377Stephen GallagherAM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A" != "xno"])
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit BoseAC_CHECK_PROG(HAVE_PYTHON2, python2, yes, no)
f1ce53a3b5656361557f80f61dfd42a371230c65Stephen GallagherAS_IF([test x$HAVE_PYTHON2 = xyes],
f1ce53a3b5656361557f80f61dfd42a371230c65Stephen Gallagher [AC_PATH_PROG(PYTHON2, python2)])
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen GallagherAC_CHECK_PROG(HAVE_PYTHON3, python3, yes, no)
AC_MSG_WARN([Without the 'CHECK' libraries, you will be unable to run all tests in the 'make check' suite])
AC_CHECK_HEADERS([check.h],,AC_MSG_ERROR([Could not find CHECK headers]))
AM_CONDITIONAL([HAVE_DEVSHM], [test -d /dev/shm])