configure.ac revision b1c4a998f8e217b4ba4cd632f5069d479211c22d
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_PREREQ(2.59)
345648b341f228bd7f0b89f8aa3ecb9c470d817eTimo SirainenAC_INIT([sssd],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen VERSION_NUMBER,
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [sssd-devel@lists.fedorahosted.org])
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo Sirainenm4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [AC_USE_SYSTEM_EXTENSIONS],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [AC_GNU_SOURCE])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenCFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_CONFIG_SRCDIR([BUILD.txt])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_CONFIG_AUX_DIR([build])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAM_INIT_AUTOMAKE([-Wall foreign subdir-objects tar-pax])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAM_PROG_CC_C_O
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenm4_ifdef([AM_PROG_AR], [AM_PROG_AR])
20caa6854f0ba83719248a94464a7a24bb7dbd20Timo SirainenAC_DISABLE_STATIC
b7c2065b3f10f9ae27787a9db5aaefbfc70d4502Timo SirainenAC_PROG_INSTALL
1c38a95332f1945c9806d7d83175a0d948f51291Timo SirainenAC_PROG_LIBTOOL
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_CONFIG_MACRO_DIR([m4])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAM_GNU_GETTEXT([external])
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo SirainenAM_GNU_GETTEXT_VERSION([0.14])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_SUBST([PRERELEASE_VERSION],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen PRERELEASE_VERSION_NUMBER)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_DEFINE([PRERELEASE_VERSION], "PRERELEASE_VERSION_NUMBER",
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [Prerelease version number of package])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAM_CONDITIONAL([GIT_CHECKOUT], [git log -1 >/dev/null 2>&1])
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenm4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAM_CONDITIONAL([HAVE_GCC], [test "$ac_cv_prog_gcc" = yes])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_CONFIG_HEADER(config.h)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_CHECK_TYPES([errno_t], [], [], [[#include <errno.h>]])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenBUILD_WITH_SHARED_BUILD_DIR
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_COMPILE_IFELSE(
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [AC_LANG_PROGRAM([[#include <pthread.h>]],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [[pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;]])],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [AC_DEFINE([HAVE_PTHREAD], [1], [Pthread mutexes available.])
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen HAVE_PTHREAD=1
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [AC_MSG_WARN([Pthread library not found! Clients will not be thread safe...])])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAM_CONDITIONAL([HAVE_PTHREAD], [test x"$HAVE_PTHREAD" != "x"])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenSAVE_LIBS=$LIBS
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenLIBS="$LIBS -lpthread"
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_CHECK_FUNCS([ pthread_mutexattr_setrobust \
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo Sirainen pthread_mutex_consistent \
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo Sirainen pthread_mutexattr_setrobust_np \
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen pthread_mutex_consistent_np ])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenLIBS=$SAVE_LIBS
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen# Check for presence of modern functions for setting file timestamps
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_CHECK_FUNCS([ utimensat \
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo Sirainen#Check for endian headers
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo SirainenAC_CHECK_HEADERS([endian.h sys/endian.h byteswap.h])
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen#Set the NSS library install path
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_ENABLE([nsslibdir], [AS_HELP_STRING([--enable-nsslibdir],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [Where to install nss libraries ($libdir)])],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [nsslibdir=$enableval],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [nsslibdir=$libdir])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_SUBST(nsslibdir)
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen#Set the PAM module install path
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_ARG_ENABLE([pammoddir], [AS_HELP_STRING([--enable-pammoddir],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [Where to install pam modules ($libdir/security)])],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [pammoddir=$enableval],
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_SUBST(pammoddir)
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen#Include here cause WITH_INIT_DIR requires $osname set in platform.m4
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenWITH_PLUGIN_PATH
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenWITH_PUBCONF_PATH
345648b341f228bd7f0b89f8aa3ecb9c470d817eTimo SirainenWITH_PIPE_PATH
f53b8258e5f68ab3d431b1c97520efa0200d134bTimo SirainenWITH_MCACHE_PATH
f53b8258e5f68ab3d431b1c97520efa0200d134bTimo SirainenWITH_DEFAULT_CCACHE_DIR
7d6389e4053c2dac1fb37180b5756b00785983dcTimo SirainenWITH_DEFAULT_CCNAME_TEMPLATE
f53b8258e5f68ab3d431b1c97520efa0200d134bTimo SirainenWITH_ENVIRONMENT_FILE
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenWITH_XML_CATALOG
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenWITH_KRB5_PLUGIN_PATH
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo SirainenWITH_KRB5_RCACHE_DIR
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo SirainenWITH_KRB5AUTHDATA_PLUGIN_PATH
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenWITH_KRB5_CONF
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenWITH_PYTHON_BINDINGS
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenWITH_CIFS_PLUGIN_PATH
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenWITH_NOLOGIN_SHELL
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenWITH_SUDO_LIB_PATH
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo Sirainenif test x$build_config_lib = xyes; then
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenWITH_UNICODE_LIB
ffa179f76a2b6f4ef97bd560f65fa9e3e35361b4Timo Sirainenif test x$unicode_lib = xlibunistring; then
22535a9e685e29214082878e37a267157044618eTimo Sirainen AC_DEFINE_UNQUOTED(HAVE_LIBUNISTRING, 1, [Using libunistring for unicode])
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo Sirainen UNICODE_LIBS=$UNISTRING_LIBS
22535a9e685e29214082878e37a267157044618eTimo Sirainen AC_DEFINE_UNQUOTED(HAVE_GLIB2, 1, [Using glib2 for unicode])
22535a9e685e29214082878e37a267157044618eTimo Sirainen UNICODE_LIBS=$GLIB2_LIBS
22535a9e685e29214082878e37a267157044618eTimo SirainenAC_SUBST(UNICODE_LIBS)
22535a9e685e29214082878e37a267157044618eTimo Sirainenif test x$HAVE_NSCD; then
22535a9e685e29214082878e37a267157044618eTimo Sirainen WITH_NSCD_CONF
22535a9e685e29214082878e37a267157044618eTimo SirainenWITH_INITSCRIPT
22535a9e685e29214082878e37a267157044618eTimo Sirainenif test x$initscript = xsystemd; then
22535a9e685e29214082878e37a267157044618eTimo Sirainen WITH_SYSTEMD_UNIT_DIR
22535a9e685e29214082878e37a267157044618eTimo Sirainen WITH_SYSTEMD_CONF_DIR
22535a9e685e29214082878e37a267157044618eTimo SirainenPKG_CHECK_MODULES([DBUS],[dbus-1])
22535a9e685e29214082878e37a267157044618eTimo Sirainendnl if test -n "`$PKG_CONFIG --modversion dbus-1 | grep '^0\.'`" ; then
22535a9e685e29214082878e37a267157044618eTimo Sirainenif ! $PKG_CONFIG --atleast-version 1.0.0 dbus-1; then
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_API_SUBJECT_TO_CHANGE"
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen AC_MSG_RESULT([setting -DDBUS_API_SUBJECT_TO_CHANGE])
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainenif test x$has_dbus != xno; then
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen SAFE_LIBS="$LIBS"
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen LIBS="$DBUS_LIBS"
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen AC_CHECK_FUNC([dbus_watch_get_unix_fd],
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen AC_DEFINE([HAVE_DBUS_WATCH_GET_UNIX_FD], [1],
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen [Define if dbus_watch_get_unix_fd exists]))
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen LIBS="$SAFE_LIBS"
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo Sirainen# work around a bug in cov-build from Coverity
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo Sirainentest -n "$XML_CATALOG_FILES" || unset XML_CATALOG_FILES
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo Sirainenif test x$HAVE_MANPAGES != x; then
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo Sirainen CHECK_XML_TOOLS
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo Sirainen DOCBOOK_XSLT=http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo Sirainen CHECK_STYLESHEET([$SGML_CATALOG_FILES],
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo Sirainen [$DOCBOOK_XSLT],
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo Sirainen [Docbook XSL profiling templates],
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo Sirainen [HAVE_PROFILE_CATALOGS=1],
68d76bc6de2d923d03955e49d563d6e4629b86bfTimo Sirainen [AC_MSG_WARN([Man pages might contain documentation for experimental features])])
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen if test x$HAVE_PROFILE_CATALOGS == x; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen DOCBOOK_XSLT=http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
b7c2065b3f10f9ae27787a9db5aaefbfc70d4502Timo Sirainen CHECK_STYLESHEET([$SGML_CATALOG_FILES],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [$DOCBOOK_XSLT],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [Docbook XSL templates],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [AC_MSG_ERROR([could not find the docbook xsl catalog])])
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AC_CHECK_PROG([PO4A],[po4a],[po4a],[no])
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AC_SUBST(DOCBOOK_XSLT)
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAM_CONDITIONAL([HAVE_PROFILE_CATALOGS], [test "x$HAVE_PROFILE_CATALOGS" != "x"])
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo SirainenAM_CONDITIONAL([HAVE_MANPAGES], [test "x$HAVE_MANPAGES" != "x"])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A" != "xno"])
b7c2065b3f10f9ae27787a9db5aaefbfc70d4502Timo Sirainenif test x$HAVE_PYTHON_BINDINGS != x; then
b7c2065b3f10f9ae27787a9db5aaefbfc70d4502Timo Sirainen AM_PATH_PYTHON([2.4])
b7c2065b3f10f9ae27787a9db5aaefbfc70d4502Timo Sirainen AM_CHECK_PYTHON_HEADERS([],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AC_MSG_ERROR([Could not find python headers]))
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AM_PYTHON_CONFIG
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AM_CHECK_PYTHON_COMPAT
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenif test x$HAVE_SELINUX != x; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AM_CHECK_SELINUX
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AM_CHECK_SELINUX_LOGIN_DIR
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenif test x$HAVE_SEMANAGE != x -a x$HAVE_SELINUX != x; then
b7c2065b3f10f9ae27787a9db5aaefbfc70d4502Timo Sirainen AM_CHECK_SEMANAGE
b7c2065b3f10f9ae27787a9db5aaefbfc70d4502Timo Sirainenif test x$HAVE_SYSTEMD_UNIT != x; then
b7c2065b3f10f9ae27787a9db5aaefbfc70d4502Timo Sirainen AM_CHECK_SYSTEMD
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainendnl If journald was selected for logging, configure journald
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenif test x$syslog = xjournald; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AM_CHECK_JOURNALD
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenif test x$cryptolib = xnss; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenif test x$cryptolib = xlibcrypto; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AM_CHECK_LIBCRYPTO
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAM_CHECK_INOTIFY
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenAC_CACHE_CHECK([whether compiler supports __attribute__((destructor))],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen sss_client_cv_attribute_destructor,
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [AC_COMPILE_IFELSE(
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [AC_LANG_SOURCE([__attribute__((destructor)) static void cleanup(void) { }])],
20caa6854f0ba83719248a94464a7a24bb7dbd20Timo Sirainen sss_client_cv_attribute_destructor=yes)
20caa6854f0ba83719248a94464a7a24bb7dbd20Timo Sirainenif test x"$sss_client_cv_attribute_destructor" = xyes ; then
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen AC_DEFINE(HAVE_FUNCTION_ATTRIBUTE_DESTRUCTOR, 1,
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen [whether compiler supports __attribute__((destructor))])
1c38a95332f1945c9806d7d83175a0d948f51291Timo SirainenAC_CACHE_CHECK([whether compiler supports __attribute__((format))],
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen sss_cv_attribute_format,
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen [AC_COMPILE_IFELSE(
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen [AC_LANG_SOURCE(
1c38a95332f1945c9806d7d83175a0d948f51291Timo Sirainen [void debug_fn(const char *format, ...) __attribute__ ((format (printf, 1, 2)));]
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [sss_cv_attribute_format=yes],
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AC_MSG_RESULT([no])
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AC_MSG_WARN([compiler does NOT support __attribute__((format))])
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainenif test x"$sss_cv_attribute_format" = xyes ; then
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen AC_DEFINE(HAVE_FUNCTION_ATTRIBUTE_FORMAT, 1,
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen [whether compiler supports __attribute__((format))])
25757faf029c369a8318349dafe952e2358df1d8Timo SirainenPKG_CHECK_MODULES([CHECK], [check >= 0.9.5], [have_check=1], [have_check=])
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])