configure.ac revision 0c1b38d1a86460a638fa0d97099a6eba10cfccf0
f79d43bbe70a01454049b77d6f15f6369744959eStéphane GraberAC_PREREQ(2.59)
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([version.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoAC_INIT([sssd],
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano VERSION_NUMBER,
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano [sssd-devel@lists.fedorahosted.org])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoAC_CONFIG_SRCDIR([BUILD.txt])
9afe19d634946d50eab30e3b90cb5cebcde39eeaDaniel LezcanoAC_CONFIG_AUX_DIR([build])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano [AC_USE_SYSTEM_EXTENSIONS],
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano [AC_GNU_SOURCE])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoCFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoAM_INIT_AUTOMAKE([-Wall -Wno-portability foreign subdir-objects tar-pax
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano parallel-tests])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoAM_PROG_CC_C_O
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_ifdef([AM_PROG_AR], [AM_PROG_AR])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoAC_DISABLE_STATIC
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoAC_PROG_INSTALL
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoLT_INIT
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_ifdef([AC_PROG_MKDIR_P],
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano [AC_PROG_MKDIR_P],
7f95145833bb24f54e037f73ecc37444d6635697Dwight Engen [AC_SUBST([MKDIR_P], "mkdir -p")])
99e4008cad9e959b683c6f48411fcf15a92be3b5Michel NormandLT_LIB_DLLOAD
10fba81b9d0221b8e47aa1e0b43236413b7d28dfMichel NormandAC_CONFIG_MACRO_DIR([m4])
99e4008cad9e959b683c6f48411fcf15a92be3b5Michel NormandAM_GNU_GETTEXT([external])
99e4008cad9e959b683c6f48411fcf15a92be3b5Michel NormandAM_GNU_GETTEXT_VERSION([0.14.4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoAC_SUBST([PRERELEASE_VERSION],
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano PRERELEASE_VERSION_NUMBER)
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoAC_DEFINE([PRERELEASE_VERSION], "PRERELEASE_VERSION_NUMBER",
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano [Prerelease version number of package])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoAM_CONDITIONAL([GIT_CHECKOUT], [git log -1 >/dev/null 2>&1])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoAM_CONDITIONAL([HAVE_GCC], [test "$ac_cv_prog_gcc" = yes])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoAC_CHECK_HEADERS(stdint.h dlfcn.h)
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoAC_CONFIG_HEADER(config.h)
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoAC_CHECK_TYPES([errno_t], [], [], [[#include <errno.h>]])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/build_macros.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoBUILD_WITH_SHARED_BUILD_DIR
b4578c5b380130a41a69b5b49c970157acaf1dbbDwight Engen
b4578c5b380130a41a69b5b49c970157acaf1dbbDwight EngenAC_COMPILE_IFELSE(
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn [AC_LANG_PROGRAM([[#include <pthread.h>]],
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn [[pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn (void) m; /* unused */
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn ]])],
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn [AC_DEFINE([HAVE_PTHREAD], [1], [Pthread mutexes available.])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano HAVE_PTHREAD=1
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano ],
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano [AC_MSG_WARN([Pthread library not found! Clients will not be thread safe...])])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoAM_CONDITIONAL([HAVE_PTHREAD], [test x"$HAVE_PTHREAD" != "x"])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynSAVE_LIBS=$LIBS
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynLIBS="$LIBS -lpthread"
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynAC_CHECK_FUNCS([ pthread_mutexattr_setrobust \
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn pthread_mutex_consistent \
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn pthread_mutexattr_setrobust_np \
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn pthread_mutex_consistent_np ])
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynLIBS=$SAVE_LIBS
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn# Check for presence of modern functions for setting file timestamps
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynAC_CHECK_FUNCS([ utimensat \
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn futimens ])
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn#Check for endian headers
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynAC_CHECK_HEADERS([endian.h sys/endian.h byteswap.h])
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynAC_C_BIGENDIAN([AC_DEFINE(HAVE_BIG_ENDIAN, [1], [whether platform is big endian])],
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano [AC_DEFINE(HAVE_LITTLE_ENDIAN, [1], [whether platform is little endian])])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn#Set the NSS library install path
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynAC_ARG_ENABLE([nsslibdir], [AS_HELP_STRING([--enable-nsslibdir],
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn [Where to install nss libraries ($libdir)])],
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn [nsslibdir=$enableval],
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn [nsslibdir=$libdir])
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynAC_SUBST(nsslibdir)
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn#Set the PAM module install path
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynAC_ARG_ENABLE([pammoddir], [AS_HELP_STRING([--enable-pammoddir],
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn [Where to install pam modules ($libdir/security)])],
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn [pammoddir=$enableval],
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn [pammoddir=$libdir/security])
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynAC_SUBST(pammoddir)
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn#Set the NFSv4 idmapd library install path
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynAC_ARG_ENABLE([nfsidmaplibdir], [AS_HELP_STRING([--enable-nfsidmaplibdir],
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn [Where to install libnfsidmap libraries ($libdir/libnfsidmap)])],
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn [nfsidmaplibdir=$enableval],
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn [nfsidmaplibdir=$libdir/libnfsidmap])
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynAC_SUBST(nfsidmaplibdir)
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn#Include here cause WITH_INIT_DIR requires $osname set in platform.m4
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallynm4_include([src/external/platform.m4])
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallyn
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge Hallynm4_include(src/conf_macros.m4)
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_DB_PATH
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_PLUGIN_PATH
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_PID_PATH
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_LOG_PATH
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_PUBCONF_PATH
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_PIPE_PATH
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_MCACHE_PATH
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_DEFAULT_CCACHE_DIR
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_DEFAULT_CCNAME_TEMPLATE
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_ENVIRONMENT_FILE
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_INIT_DIR
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_TEST_DIR
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_MANPAGES
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_XML_CATALOG
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_KRB5_PLUGIN_PATH
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_KRB5_RCACHE_DIR
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_KRB5AUTHDATA_PLUGIN_PATH
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_KRB5_CONF
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_PYTHON2_BINDINGS
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_PYTHON3_BINDINGS
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_CIFS_PLUGIN_PATH
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_WINBIND_PLUGIN_PATH
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_SELINUX
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_NSCD
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_IPA_GETKEYTAB
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_SEMANAGE
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_AD_GPO_DEFAULT
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_GPO_CACHE_PATH
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_NOLOGIN_SHELL
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_APP_LIBS
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_SUDO
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_SUDO_LIB_PATH
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_AUTOFS
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_SSH
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_IFP
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_CRYPTO
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_SYSLOG
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_SAMBA
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_NFS
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_NFS_LIB_PATH
3e625e2d2e12b919dd9590b97badc6108ee67b1aSerge HallynWITH_LIBWBCLIENT
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoWITH_SSSD_USER
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoSSSD_RUNSTATEDIR
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoWITH_SECRETS
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoWITH_SECRETS_DB_PATH
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/pkg.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/libpopt.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/libtalloc.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/libtdb.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/libtevent.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/libldb.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/libdhash.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/libcollection.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/libini_config.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/pam.m4])
f79d43bbe70a01454049b77d6f15f6369744959eStéphane Graberm4_include([src/external/ldap.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/libpcre.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/krb5.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/libcares.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/libcmocka.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/docbook.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/sizes.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/python.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/selinux.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/crypto.m4])
f79d43bbe70a01454049b77d6f15f6369744959eStéphane Graberm4_include([src/external/nscd.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/nsupdate.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/libkeyutils.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/libnl.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/systemd.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/pac_responder.m4])
99e4008cad9e959b683c6f48411fcf15a92be3b5Michel Normandm4_include([src/external/cifsidmap.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/signal.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/inotify.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/samba.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/sasl.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/configlib.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/libnfsidmap.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/cwrap.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/libresolv.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/intgcheck.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/systemtap.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanom4_include([src/external/service.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoif test x$with_secrets = xyes; then
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano m4_include([src/external/libhttp_parser.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano m4_include([src/external/libjansson.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanofi
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoif test x$build_config_lib = xyes; then
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano m4_include([src/external/libaugeas.m4])
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanofi
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoWITH_UNICODE_LIB
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcanoif test x$unicode_lib = xlibunistring; then
d823d5b966f49d975a09a8512d084389d6d7ffc7dlezcano m4_include([src/external/libunistring.m4])
AC_DEFINE_UNQUOTED(HAVE_LIBUNISTRING, 1, [Using libunistring for unicode])
UNICODE_LIBS=$UNISTRING_LIBS
else
m4_include([src/external/glib.m4])
AC_DEFINE_UNQUOTED(HAVE_GLIB2, 1, [Using glib2 for unicode])
UNICODE_LIBS=$GLIB2_LIBS
fi
AC_SUBST(UNICODE_LIBS)
WITH_LIBNL
if test x$HAVE_NSCD; then
WITH_NSCD_CONF
fi
WITH_INITSCRIPT
if test x$initscript = xsystemd; then
WITH_SYSTEMD_UNIT_DIR
WITH_SYSTEMD_CONF_DIR
else
CHECK_SERVICE_EXECUTABLE
fi
PKG_CHECK_MODULES([DBUS],[dbus-1])
dnl if test -n "`$PKG_CONFIG --modversion dbus-1 | grep '^0\.'`" ; then
if ! $PKG_CONFIG --atleast-version 1.0.0 dbus-1; then
DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_API_SUBJECT_TO_CHANGE"
AC_MSG_RESULT([setting -DDBUS_API_SUBJECT_TO_CHANGE])
fi
if test x$has_dbus != xno; then
SAFE_LIBS="$LIBS"
LIBS="$DBUS_LIBS"
SAFE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $DBUS_CFLAGS"
AC_CHECK_FUNC([dbus_watch_get_unix_fd],
AC_DEFINE([HAVE_DBUS_WATCH_GET_UNIX_FD], [1],
[Define if dbus_watch_get_unix_fd exists]))
AC_CHECK_TYPES([DBusBasicValue],
[],
[],
[ #include <dbus/dbus.h> ])
LIBS="$SAFE_LIBS"
CFLAGS=$SAFE_CFLAGS
fi
# work around a bug in cov-build from Coverity
test -n "$XML_CATALOG_FILES" || unset XML_CATALOG_FILES
if test x$HAVE_MANPAGES != x; then
CHECK_XML_TOOLS
DOCBOOK_XSLT=http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl
CHECK_STYLESHEET([$SGML_CATALOG_FILES],
[$DOCBOOK_XSLT],
[Docbook XSL profiling templates],
[HAVE_PROFILE_CATALOGS=1],
[AC_MSG_WARN([Man pages might contain documentation for experimental features])])
if test x$HAVE_PROFILE_CATALOGS = x; then
DOCBOOK_XSLT=http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
CHECK_STYLESHEET([$SGML_CATALOG_FILES],
[$DOCBOOK_XSLT],
[Docbook XSL templates],
[],
[AC_MSG_ERROR([could not find the docbook xsl catalog])])
fi
AC_CHECK_PROG([PO4A],[po4a],[po4a],[no])
AC_SUBST(DOCBOOK_XSLT)
fi
AM_CONDITIONAL([HAVE_PROFILE_CATALOGS], [test "x$HAVE_PROFILE_CATALOGS" != "x"])
AM_CONDITIONAL([HAVE_MANPAGES], [test "x$HAVE_MANPAGES" != "x"])
AM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A" != "xno"])
AC_CHECK_PROG(HAVE_PYTHON2, python2, yes, no)
AS_IF([test x$HAVE_PYTHON2 = xyes],
[AC_PATH_PROG(PYTHON2, python2)])
AC_CHECK_PROG(HAVE_PYTHON3, python3, yes, no)
AS_IF([test x$HAVE_PYTHON3 = xyes],
[AC_PATH_PROG(PYTHON3, python3)])
if test x$HAVE_PYTHON2_BINDINGS = x1; then
AS_IF([test x$HAVE_PYTHON2 != xyes],
[AC_MSG_ERROR([
The program python2 was not found in search path.
Please ensure that it is installed and its directory is included in the search
path. It is required for building python2 bindings. If you do not want to build
them please use argument --without-python2-bindings when running configure.])])
PYTHON=$PYTHON2
AM_PATH_PYTHON([2.6])
AM_PYTHON_CONFIG([python2])
AM_CHECK_PYTHON_HEADERS([],
AC_MSG_ERROR([Could not find python2 headers]))
AM_CHECK_PYTHON_COMPAT
AC_SUBST([py2execdir], [$pyexecdir])
AC_SUBST([python2dir], [$pythondir])
AC_SUBST([PYTHON2_CFLAGS], [$PYTHON_CFLAGS])
AC_SUBST([PYTHON2_LIBS], [$PYTHON_LIBS])
AC_SUBST([PYTHON2_INCLUDES], [$PYTHON_INCLUDES])
AC_SUBST([PYTHON2_VERSION], [$PYTHON_VERSION])
AC_SUBST([PYTHON2_PREFIX], [$PYTHON_PREFIX])
AC_SUBST([PYTHON2_EXEC_PREFIX], [$PYTHON_EXEC_PREFIX])
SSS_CLEAN_PYTHON_VARIABLES
fi
if test x$HAVE_PYTHON3_BINDINGS = x1; then
AS_IF([test x$HAVE_PYTHON3 != xyes],
[AC_MSG_ERROR([
The program python3 was not found in search path.
Please ensure that it is installed and its directory is included in the search
path. It is required for building python3 bindings. If you do not want to build
them please use argument --without-python3-bindings when running configure.])])
PYTHON=$PYTHON3
AM_PATH_PYTHON([3.3])
AM_PYTHON_CONFIG([python3])
AM_CHECK_PYTHON_HEADERS([],
AC_MSG_ERROR([Could not find python3 headers]))
AM_CHECK_PYTHON_COMPAT
AC_SUBST([py3execdir], [$pyexecdir])
AC_SUBST([python3dir], [$pythondir])
AC_SUBST([PYTHON3_CFLAGS], [$PYTHON_CFLAGS])
AC_SUBST([PYTHON3_LIBS], [$PYTHON_LIBS])
AC_SUBST([PYTHON3_INCLUDES], [$PYTHON_INCLUDES])
AC_SUBST([PYTHON3_VERSION], [$PYTHON_VERSION])
AC_SUBST([PYTHON3_PREFIX], [$PYTHON_PREFIX])
AC_SUBST([PYTHON3_EXEC_PREFIX], [$PYTHON_EXEC_PREFIX])
SSS_CLEAN_PYTHON_VARIABLES
fi
AM_CONDITIONAL([BUILD_PYTHON_BINDINGS],
[test x"$with_python2_bindings" = xyes \
-o x"$with_python3_bindings" = xyes])
AM_PYTHON2_MODULE([ldap])
if test x$HAVE_SELINUX != x; then
AM_CHECK_SELINUX
AM_CHECK_SELINUX_LOGIN_DIR
fi
if test x$HAVE_SEMANAGE != x -a x$HAVE_SELINUX != x; then
AM_CHECK_SEMANAGE
fi
dnl If journald was selected for logging, configure journald
if test x$syslog = xjournald; then
AM_CHECK_JOURNALD
fi
if test x$cryptolib = xnss; then
AM_CHECK_NSS
fi
if test x$cryptolib = xlibcrypto; then
AM_CHECK_LIBCRYPTO
fi
AM_CHECK_INOTIFY
AC_CACHE_CHECK([whether compiler supports __attribute__((destructor))],
sss_client_cv_attribute_destructor,
[AC_COMPILE_IFELSE(
[AC_LANG_SOURCE([__attribute__((destructor)) static void cleanup(void) { }])],
sss_client_cv_attribute_destructor=yes)
])
if test x"$sss_client_cv_attribute_destructor" = xyes ; then
AC_DEFINE(HAVE_FUNCTION_ATTRIBUTE_DESTRUCTOR, 1,
[whether compiler supports __attribute__((destructor))])
fi
AC_CACHE_CHECK([whether compiler supports __attribute__((format))],
sss_cv_attribute_format,
[AC_COMPILE_IFELSE(
[AC_LANG_SOURCE(
[void debug_fn(const char *format, ...) __attribute__ ((format (printf, 1, 2)));]
)],
[sss_cv_attribute_format=yes],
[
AC_MSG_RESULT([no])
AC_MSG_WARN([compiler does NOT support __attribute__((format))])
])
])
if test x"$sss_cv_attribute_format" = xyes ; then
AC_DEFINE(HAVE_FUNCTION_ATTRIBUTE_FORMAT, 1,
[whether compiler supports __attribute__((format))])
fi
AC_CACHE_CHECK([whether compiler supports __attribute__((warn_unused_result))],
sss_cv_attribute_warn_unused_result,
[AC_COMPILE_IFELSE(
[AC_LANG_SOURCE(
[ char _check_leaks(int bytes) __attribute__ ((warn_unused_result)); ]
)],
[sss_cv_attribute_warn_unused_result=yes],
[
AC_MSG_RESULT([no])
AC_MSG_WARN([compiler does NOT support __attribute__((warn_unused_result))])
])
])
if test x"$sss_cv_attribute_warn_unused_result" = xyes ; then
AC_DEFINE(HAVE_FUNCTION_ATTRIBUTE_WARN_UNUSED_RESULT, 1,
[whether compiler supports __attribute__((warn_unused_result))])
fi
PKG_CHECK_MODULES([CHECK], [check >= 0.9.5], [have_check=1], [have_check=])
if test x$have_check = x; then
AC_MSG_WARN([Without the 'CHECK' libraries, you will be unable to run all tests in the 'make check' suite])
else
AC_CHECK_HEADERS([check.h],,AC_MSG_ERROR([Could not find CHECK headers]))
fi
AC_PATH_PROG([DOXYGEN], [doxygen], [false])
AM_CONDITIONAL([HAVE_DOXYGEN], [test x$DOXYGEN != xfalse ])
AM_CONDITIONAL([HAVE_CHECK], [test x$have_check != x])
AM_CHECK_CMOCKA
AM_CHECK_UID_WRAPPER
AM_CHECK_NSS_WRAPPER
# Check if the user wants SSSD to be compiled with systemtap probes
AM_CHECK_SYSTEMTAP
SSS_ENABLE_INTGCHECK_REQS
AM_CONDITIONAL([HAVE_DEVSHM], [test -d /dev/shm])
# Check if we should install polkit rules
ENABLE_POLKIT_RULES_PATH
AM_CONDITIONAL([HAVE_POLKIT_RULES_D], [test x$HAVE_POLKIT_RULES_D != x])
abs_build_dir=`pwd`
AC_DEFINE_UNQUOTED([ABS_BUILD_DIR], ["$abs_build_dir"], [Absolute path to the build directory])
AC_SUBST([abs_builddir], $abs_build_dir)
my_srcdir=`readlink -f $srcdir`
AC_DEFINE_UNQUOTED([ABS_SRC_DIR], ["$my_srcdir"], [Absolute path to the source directory])
AC_CONFIG_FILES([Makefile contrib/sssd.spec src/examples/rwtab src/doxy.config
contrib/sssd-pcsc.rules
src/sysv/sssd src/sysv/gentoo/sssd src/sysv/SUSE/sssd
po/Makefile.in src/man/Makefile src/tests/cwrap/Makefile
src/tests/intg/Makefile
src/lib/ipa_hbac/ipa_hbac.pc src/lib/ipa_hbac/ipa_hbac.doxy
src/lib/idmap/sss_idmap.pc src/lib/idmap/sss_idmap.doxy
src/sss_client/idmap/sss_nss_idmap.pc
src/sss_client/idmap/sss_nss_idmap.doxy
src/sss_client/libwbclient/wbclient_sssd.pc
src/lib/sifp/sss_simpleifp.pc
src/lib/sifp/sss_simpleifp.doxy
src/config/setup.py
src/responder/ifp/org.freedesktop.sssd.infopipe.service
src/systemtap/sssd.stp
src/config/SSSDConfig/__init__.py])
AC_OUTPUT