configure.ac revision 07d82f79d2970a08628ebf71343441ec55faa6fa
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_PREREQ(2.59)
33396dc46ea52c18f47db1b5d590880806521005Sumit BoseAC_INIT([sssd],
ee359fe1384507fed6c2274e7bfe81d288de4542Stephen Gallagher VERSION_NUMBER,
33396dc46ea52c18f47db1b5d590880806521005Sumit Bose [sssd-devel@lists.fedorahosted.org])
324fb26ba803a999bedc29e93c46c84f27abf5b7Sumit Bosem4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
324fb26ba803a999bedc29e93c46c84f27abf5b7Sumit Bose [AC_USE_SYSTEM_EXTENSIONS],
324fb26ba803a999bedc29e93c46c84f27abf5b7Sumit Bose [AC_GNU_SOURCE])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherCFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen GallagherAC_CONFIG_SRCDIR([BUILD.txt])
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen GallagherAC_CONFIG_AUX_DIR([build])
e65df5b966b27e13283c65f59f99ac44781e0333Simo SorceAM_INIT_AUTOMAKE([-Wall foreign subdir-objects tar-pax])
002f84aea86371aa079b867c0ec39396b97109d3Lukas Slebodnikm4_pattern_allow([AM_PROG_AR])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_DISABLE_STATIC
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_PROG_INSTALL
ccf340e56364851f2e5b75e52d3d63701b662954Lukas SlebodnikAC_PROG_LIBTOOL
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_CONFIG_MACRO_DIR([m4])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAM_GNU_GETTEXT([external])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAM_GNU_GETTEXT_VERSION([0.14])
cc98edd9479d4622634a1275c98058916c14059aStephen GallagherAC_SUBST([PRERELEASE_VERSION],
ee359fe1384507fed6c2274e7bfe81d288de4542Stephen Gallagher PRERELEASE_VERSION_NUMBER)
d3da1c165cdb4c1ec126a8f4b6b544ca415b9d20Pavel BřezinaAC_DEFINE([PRERELEASE_VERSION], "PRERELEASE_VERSION_NUMBER",
d3da1c165cdb4c1ec126a8f4b6b544ca415b9d20Pavel Březina [Prerelease version number of package])
c481179da5d5b53ce16d8784c0bd2857ffc2f061Lukas SlebodnikAM_CONDITIONAL([GIT_CHECKOUT], [git log -1 &>/dev/null])
002f84aea86371aa079b867c0ec39396b97109d3Lukas Slebodnikm4_pattern_allow([AM_SILENT_RULES])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAM_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>]])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherBUILD_WITH_SHARED_BUILD_DIR
c89589fa349f38214c9cb8d9389c0fd557e5dca2Simo SorceAC_COMPILE_IFELSE(
c89589fa349f38214c9cb8d9389c0fd557e5dca2Simo Sorce [AC_LANG_PROGRAM([[#include <pthread.h>]],
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozek [[pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;]])],
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozek [AC_DEFINE([HAVE_PTHREAD], [1], [Pthread mutexes available.])
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozek HAVE_PTHREAD=1
c89589fa349f38214c9cb8d9389c0fd557e5dca2Simo Sorce [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 \
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozek pthread_mutex_consistent \
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozek pthread_mutexattr_setrobust_np \
86b61156743b7ebdc049450a6f88452890fd9a61Jakub Hrozek pthread_mutex_consistent_np ])
86b61156743b7ebdc049450a6f88452890fd9a61Jakub HrozekLIBS=$SAVE_LIBS
48130eef6c5c64a07094b9e8582ba358b2048f24Jakub Hrozek# Check for presence of modern functions for setting file timestamps
48130eef6c5c64a07094b9e8582ba358b2048f24Jakub HrozekAC_CHECK_FUNCS([ utimensat \
1658c567191c35beaddffafdb079abe33248037bLukas Slebodnik#Check for PAM headers
1658c567191c35beaddffafdb079abe33248037bLukas SlebodnikAC_CHECK_HEADERS([security/pam_appl.h security/pam_misc.h security/pam_modules.h],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [AC_CHECK_LIB(pam, pam_get_item, [ PAM_LIBS="-lpam" ], [AC_MSG_ERROR([PAM must support pam_get_item])])],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [AC_MSG_ERROR([PAM development libraries not installed])]
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher#Set the NSS library install path
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherAC_ARG_ENABLE([nsslibdir], [AS_HELP_STRING([--enable-nsslibdir],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [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],
d921c1eba437662437847279f251a0a5d8f70127Maxim [Where to install pam modules ($libdir/security)])],
327127bb7fcc07f882209f029e14026de1b23c94Maxim [pammoddir=$enableval],
327127bb7fcc07f882209f029e14026de1b23c94Maxim [pammoddir=$libdir/security])
327127bb7fcc07f882209f029e14026de1b23c94MaximAC_SUBST(pammoddir)
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher#Include here cause WITH_INIT_DIR requires $osname set in platform.m4
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_DISTRO_VERSION
eb2e21b764d03544d8161e9956d7f70b07b75f77Simo SorceWITH_PLUGIN_PATH
bc9235cfb80bd64a3bfa959e8d26d5ad1be0bdf4Jakub HrozekWITH_PID_PATH
bc9235cfb80bd64a3bfa959e8d26d5ad1be0bdf4Jakub HrozekWITH_LOG_PATH
07d82f79d2970a08628ebf71343441ec55faa6faPavel BřezinaWITH_PUBCONF_PATH
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_MCACHE_PATH
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_DEFAULT_CCACHE_DIR
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_DEFAULT_CCNAME_TEMPLATE
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_ENVIRONMENT_FILE
90fd1bbd6035cdab46faa3a695a2fb2be6508b17Sumit BoseWITH_TEST_DIR
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_XML_CATALOG
af4ffe1001adcc0a96897e426d26444f07af9aa1Benjamin FranzkeWITH_KRB5_PLUGIN_PATH
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_KRB5_RCACHE_DIR
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_KRB5AUTHDATA_PLUGIN_PATH
32381402a4a9afc003782c9e2301fc59c9bda2a9Yassir ElleyWITH_PYTHON_BINDINGS
be65f065fef1d387281096ef095a2acef39ecc12Jakub HrozekWITH_SEMANAGE
e124844907ed6973915e4d56f5442ecd07535a12Jakub HrozekWITH_NOLOGIN_SHELL
f36078af138f052cd9a30360867b0ebd0805af5eJakub HrozekWITH_APP_LIBS
cb4d5b588e704114b7090678752d33512baa718eJakub HrozekWITH_SUDO_LIB_PATH
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherm4_include([src/external/libcollection.m4])
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherm4_include([src/external/libini_config.m4])
0e1dcef53d9d8465ce97d31ad11be4445a6e7eb8Lukas SlebodnikWITH_UNICODE_LIB
c3889e5a101a075defe533d81f5296d5e680f639Lukas Slebodnikif test x$unicode_lib = xlibunistring; then
3fc158e59eebbc2f538fe0076a03928d0d4eab9fPavel Březina AC_DEFINE_UNQUOTED(HAVE_LIBUNISTRING, 1, [Using libunistring for unicode])
3fc158e59eebbc2f538fe0076a03928d0d4eab9fPavel Březina UNICODE_LIBS=-lunistring
3fc158e59eebbc2f538fe0076a03928d0d4eab9fPavel Březina AC_SUBST(UNICODE_LIBS)
b32159300fea63222d8dd9200ed634087704ea74Stephen Gallagher AC_DEFINE_UNQUOTED(HAVE_GLIB2, 1, [Using libunistring for unicode])
b32159300fea63222d8dd9200ed634087704ea74Stephen Gallagher UNICODE_LIBS=$GLIB2_LIBS
9dbdf62243f01f6aee41c2b5f2976c56da47f25dLukas Slebodnik AC_SUBST(UNICODE_LIBS)
9dbdf62243f01f6aee41c2b5f2976c56da47f25dLukas Slebodnikif test x$HAVE_NSCD; then
9dbdf62243f01f6aee41c2b5f2976c56da47f25dLukas Slebodnik WITH_NSCD_CONF
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen GallagherWITH_INITSCRIPT
539b1be3507abdf8ac235b06eeed5011b0b5cde2Ondrej Kosif test x$initscript = xsystemd; then
539b1be3507abdf8ac235b06eeed5011b0b5cde2Ondrej Kos WITH_SYSTEMD_UNIT_DIR
574a1c20f114851071ae74112b34488c3d1aeeb3Ondrej KosPKG_CHECK_MODULES([DBUS],[dbus-1])
574a1c20f114851071ae74112b34488c3d1aeeb3Ondrej Kosdnl if test -n "`$PKG_CONFIG --modversion dbus-1 | grep '^0\.'`" ; then
2a5790216f57e9bdfb2930d52860bb5300366536Jakub Hrozekif ! $PKG_CONFIG --atleast-version 1.0.0 dbus-1; then
e6e26182d58c05d896f72f2925426658a6dc70b5Jakub Hrozek DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_API_SUBJECT_TO_CHANGE"
e6e26182d58c05d896f72f2925426658a6dc70b5Jakub Hrozek AC_MSG_RESULT([setting -DDBUS_API_SUBJECT_TO_CHANGE])
2a5790216f57e9bdfb2930d52860bb5300366536Jakub Hrozekif test x$has_dbus != xno; then
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher SAFE_LIBS="$LIBS"
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher LIBS="$DBUS_LIBS"
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher AC_CHECK_FUNC([dbus_watch_get_unix_fd],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher AC_DEFINE([HAVE_DBUS_WATCH_GET_UNIX_FD], [1],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [Define if dbus_watch_get_unix_fd exists]))
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher LIBS="$SAFE_LIBS"
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher# work around a bug in cov-build from Coverity
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallaghertest -n "$XML_CATALOG_FILES" || unset XML_CATALOG_FILES
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherif test x$HAVE_MANPAGES != x; then
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher CHECK_XML_TOOLS
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher DOCBOOK_XSLT=http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher CHECK_STYLESHEET([$SGML_CATALOG_FILES],
b50dffea929ee5cd0c59ba3c4822337cc162ff92Kamil Dudka [$DOCBOOK_XSLT],
b50dffea929ee5cd0c59ba3c4822337cc162ff92Kamil Dudka [Docbook XSL profiling templates],
b50dffea929ee5cd0c59ba3c4822337cc162ff92Kamil Dudka [HAVE_PROFILE_CATALOGS=1],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher [AC_MSG_WARN([Man pages might contain documentation for experimental features])])
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozek if test x$HAVE_PROFILE_CATALOGS == x; then
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozek DOCBOOK_XSLT=http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher CHECK_STYLESHEET([$SGML_CATALOG_FILES],
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozek [$DOCBOOK_XSLT],
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozek [Docbook XSL templates],
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozek [AC_MSG_ERROR([could not find the docbook xsl catalog])])
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozek AC_CHECK_PROG([PO4A],[po4a],[po4a],[no])
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozek AC_SUBST(DOCBOOK_XSLT)
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub HrozekAM_CONDITIONAL([HAVE_PROFILE_CATALOGS], [test "x$HAVE_PROFILE_CATALOGS" != "x"])
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub HrozekAM_CONDITIONAL([HAVE_MANPAGES], [test "x$HAVE_MANPAGES" != "x"])
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub HrozekAM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A" != "xno"])
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozekif test x$HAVE_PYTHON_BINDINGS != x; then
6f51c802311fd81a409a26763ed45b28a3234d0dJakub Hrozek AM_PATH_PYTHON([2.4])
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozek AM_CHECK_PYTHON_HEADERS([],
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher AC_MSG_ERROR([Could not find python headers]))
4d81fe27ced3d2e96866aeaf61661a925cb8edf1Jakub Hrozek AM_PYTHON_CONFIG
8b1f525acd20f36c836e827de3c251088961c5d9Stephen Gallagher AM_CHECK_PYTHON_COMPAT
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherif test x$HAVE_SELINUX != x; then
b80e8b76ad377c24865bb2eb5931893279f1f042Lukas Slebodnik AM_CHECK_SELINUX
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher AM_CHECK_SELINUX_LOGIN_DIR
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherif test x$HAVE_SEMANAGE != x -a x$HAVE_SELINUX != x; then
72e60fd4eabcfbcdbfe01e8c38b94052bc6c2067Jakub Hrozek AM_CHECK_SEMANAGE
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherif test x$HAVE_SYSTEMD_UNIT != x; then
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher AM_CHECK_SYSTEMD
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherif test x$cryptolib = xnss; then
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagherif test x$cryptolib = xlibcrypto; then
551aa6c36797ed720487f5974dcadabf19e6ff9fStephen Gallagher AM_CHECK_LIBCRYPTO
2a5790216f57e9bdfb2930d52860bb5300366536Jakub HrozekAC_CHECK_HEADERS([sys/inotify.h])
77c0d1f6074059dafd2293f9c42ea0f9d60f8aadJakub HrozekAC_CHECK_HEADERS([sasl/sasl.h],,AC_MSG_ERROR([Could not find SASL headers]))
77c0d1f6074059dafd2293f9c42ea0f9d60f8aadJakub HrozekAC_CACHE_CHECK([whether compiler supports __attribute__((destructor))],
77c0d1f6074059dafd2293f9c42ea0f9d60f8aadJakub Hrozek sss_client_cv_attribute_destructor,
77c0d1f6074059dafd2293f9c42ea0f9d60f8aadJakub Hrozek [AC_COMPILE_IFELSE(
e07a94a66985b674c5df11ca466792902164c4e2George McCollister [AC_LANG_SOURCE([__attribute__((destructor)) static void cleanup(void) { }])],
e07a94a66985b674c5df11ca466792902164c4e2George McCollister sss_client_cv_attribute_destructor=yes)
e07a94a66985b674c5df11ca466792902164c4e2George McCollisterif test x"$sss_client_cv_attribute_destructor" = xyes ; then
e07a94a66985b674c5df11ca466792902164c4e2George McCollister AC_DEFINE(HAVE_FUNCTION_ATTRIBUTE_DESTRUCTOR, 1,
172c07013d1ea99447a780fd36f49d5c3a76981bJakub Hrozek [whether compiler supports __attribute__((destructor))])
336879aabae137f9a81304f147fb0d43001654b0Simo SorcePKG_CHECK_MODULES([CHECK], [check >= 0.9.5], [have_check=1], [have_check=])
336879aabae137f9a81304f147fb0d43001654b0Simo Sorceif test x$have_check = x; then
336879aabae137f9a81304f147fb0d43001654b0Simo Sorce AC_MSG_WARN([Without the 'CHECK' libraries, you will be unable to run all tests in the 'make check' suite])
336879aabae137f9a81304f147fb0d43001654b0Simo Sorce AC_CHECK_HEADERS([check.h],,AC_MSG_ERROR([Could not find CHECK headers]))
336879aabae137f9a81304f147fb0d43001654b0Simo SorceAC_PATH_PROG([DOXYGEN], [doxygen], [false])
336879aabae137f9a81304f147fb0d43001654b0Simo SorceAM_CONDITIONAL([HAVE_DOXYGEN], [test x$DOXYGEN != xfalse ])
336879aabae137f9a81304f147fb0d43001654b0Simo SorceAM_CONDITIONAL([HAVE_CHECK], [test x$have_check != x])
336879aabae137f9a81304f147fb0d43001654b0Simo SorceAM_CONDITIONAL([HAVE_CMOCKA], [test x$have_cmocka = xyes])
aac071824f6c98003f30d49ab440c15b4b53692cLukas SlebodnikAM_CONDITIONAL([HAVE_DEVSHM], [test -d /dev/shm])
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnikabs_build_dir=`pwd`
aac071824f6c98003f30d49ab440c15b4b53692cLukas SlebodnikAC_DEFINE_UNQUOTED([ABS_BUILD_DIR], ["$abs_build_dir"], [Absolute path to the build directory])
aac071824f6c98003f30d49ab440c15b4b53692cLukas SlebodnikAC_SUBST([abs_builddir], $abs_build_dir)
aac071824f6c98003f30d49ab440c15b4b53692cLukas SlebodnikAC_CONFIG_FILES([Makefile contrib/sssd.spec src/examples/rwtab src/doxy.config
aac071824f6c98003f30d49ab440c15b4b53692cLukas Slebodnik src/providers/ipa/ipa_hbac.pc src/providers/ipa/ipa_hbac.doxy