2009-02-02 12:50:53 -06:00
|
|
|
AC_PREREQ(2.59)
|
2016-11-11 15:54:13 -06:00
|
|
|
AC_CONFIG_MACRO_DIRS([m4])
|
2016-10-21 15:35:28 -05:00
|
|
|
m4_include(VERSION.m4)
|
2016-11-01 06:12:17 -05:00
|
|
|
AC_INIT([freeipa],
|
2009-02-02 12:50:53 -06:00
|
|
|
IPA_VERSION,
|
|
|
|
[https://hosted.fedoraproject.org/projects/freeipa/newticket])
|
|
|
|
|
2016-12-13 03:52:46 -06:00
|
|
|
dnl Make sure the build directory name does not contain spaces!
|
|
|
|
dnl Spaces are causing problems in libtool, makefiles, autoconf itself,
|
|
|
|
dnl gettextize framework etc.
|
|
|
|
case "$PWD" in
|
|
|
|
*\ * | *\ *)
|
|
|
|
AC_MSG_ERROR([whitespace in working directory path is not supported]) ;;
|
|
|
|
esac
|
|
|
|
|
2009-02-02 12:50:53 -06:00
|
|
|
AC_CONFIG_HEADERS([config.h])
|
|
|
|
|
2016-12-20 11:46:33 -06:00
|
|
|
AM_INIT_AUTOMAKE([foreign 1.9 tar-pax])
|
2012-07-04 05:15:05 -05:00
|
|
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
|
2009-02-02 12:50:53 -06:00
|
|
|
|
2013-12-16 15:10:05 -06:00
|
|
|
AC_PROG_CC_C99
|
2009-02-02 12:50:53 -06:00
|
|
|
AC_DISABLE_STATIC
|
2016-02-02 02:09:03 -06:00
|
|
|
LT_INIT
|
2009-02-02 12:50:53 -06:00
|
|
|
|
|
|
|
AC_HEADER_STDC
|
|
|
|
|
2017-02-24 01:20:15 -06:00
|
|
|
dnl fail hard when includes statements are missing
|
|
|
|
CFLAGS+=" -Werror=implicit-function-declaration"
|
|
|
|
|
2017-01-03 07:32:05 -06:00
|
|
|
PKG_PROG_PKG_CONFIG
|
|
|
|
|
|
|
|
AC_ARG_ENABLE([server],
|
2017-02-21 14:55:21 -06:00
|
|
|
[AC_HELP_STRING([--disable-server], [Disable server support])],
|
|
|
|
[case "${enableval}" in
|
|
|
|
yes) enable_server=yes ;;
|
|
|
|
no) enable_server=no ;;
|
|
|
|
*) AC_MSG_ERROR([bad value ${enableval} for --disable-server]) ;;
|
|
|
|
esac],
|
|
|
|
[enable_server=yes])
|
|
|
|
AM_CONDITIONAL([ENABLE_SERVER], [test x$enable_server = xyes])
|
|
|
|
|
|
|
|
AC_ARG_WITH([ipatests],
|
|
|
|
[AC_HELP_STRING([--without-ipatests], [Build without ipatests])],
|
|
|
|
[with_ipatests=${withval}],
|
|
|
|
[with_ipatests=yes])
|
|
|
|
AM_CONDITIONAL([WITH_IPATESTS], [test x"$with_ipatests" = xyes])
|
2017-01-03 07:32:05 -06:00
|
|
|
|
2010-11-04 11:08:26 -05:00
|
|
|
AM_CONDITIONAL([HAVE_GCC], [test "$ac_cv_prog_gcc" = yes])
|
|
|
|
|
2009-02-02 12:50:53 -06:00
|
|
|
dnl ---------------------------------------------------------------------------
|
2013-04-16 15:00:09 -05:00
|
|
|
dnl - Check for NSPR/NSS
|
2009-02-02 12:50:53 -06:00
|
|
|
dnl ---------------------------------------------------------------------------
|
2016-10-18 10:23:25 -05:00
|
|
|
PKG_CHECK_MODULES([NSPR], [nspr])
|
|
|
|
PKG_CHECK_MODULES([NSS], [nss])
|
2009-02-02 12:50:53 -06:00
|
|
|
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl - Check for KRB5
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
|
2016-10-18 10:23:25 -05:00
|
|
|
PKG_CHECK_MODULES([KRB5], [krb5])
|
2009-02-02 12:50:53 -06:00
|
|
|
|
2017-01-24 03:02:30 -06:00
|
|
|
AC_CHECK_HEADER(kdb.h, [], [AC_MSG_ERROR([kdb.h not found])])
|
|
|
|
AC_CHECK_MEMBER(
|
|
|
|
[kdb_vftabl.free_principal],
|
|
|
|
[AC_DEFINE([HAVE_KDB_FREEPRINCIPAL], [1],
|
|
|
|
[KDB driver API has free_principal callback])],
|
|
|
|
[AC_MSG_NOTICE([KDB driver API has no free_principal callback])],
|
|
|
|
[[#include <kdb.h>]])
|
|
|
|
AC_CHECK_MEMBER(
|
|
|
|
[kdb_vftabl.free_principal_e_data],
|
|
|
|
[AC_DEFINE([HAVE_KDB_FREEPRINCIPAL_EDATA], [1],
|
|
|
|
[KDB driver API has free_principal_e_data callback])],
|
|
|
|
[AC_MSG_NOTICE([KDB driver API has no free_principal_e_data callback])],
|
|
|
|
[[#include <kdb.h>]])
|
|
|
|
|
|
|
|
if test "x$ac_cv_member_kdb_vftabl_free_principal" = "xno" \
|
|
|
|
-a "x$ac_cv_member_kdb_vftable_free_principal_e_data" = "xno" ; then
|
|
|
|
AC_MSG_WARN([KDB driver API does not allow to free Kerberos principal data.])
|
|
|
|
AC_MSG_WARN([KDB driver will leak memory on Kerberos principal use])
|
|
|
|
AC_MSG_WARN([See https://github.com/krb5/krb5/pull/596 for details])
|
|
|
|
fi
|
|
|
|
|
2009-02-02 12:50:53 -06:00
|
|
|
dnl ---------------------------------------------------------------------------
|
2016-10-12 04:05:23 -05:00
|
|
|
dnl - Check for OpenLDAP SDK
|
2009-02-02 12:50:53 -06:00
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
SAVE_CPPFLAGS=$CPPFLAGS
|
2013-04-16 15:00:09 -05:00
|
|
|
CPPFLAGS="$NSPR_CFLAGS $NSS_CFLAGS"
|
2016-10-12 04:05:23 -05:00
|
|
|
AC_CHECK_LIB([ldap_r], [ldap_search], [], AC_MSG_ERROR([libldap_r not found]))
|
|
|
|
AC_CHECK_LIB([lber], [ber_peek_tag], [], AC_MSG_ERROR([liblber not found]))
|
|
|
|
LDAP_LIBS="-lldap_r -llber"
|
|
|
|
LDAP_CFLAGS=""
|
2010-12-03 14:02:29 -06:00
|
|
|
AC_SUBST(LDAP_LIBS)
|
2016-10-12 04:05:23 -05:00
|
|
|
AC_SUBST(LDAP_CFLAGS)
|
2010-12-03 14:02:29 -06:00
|
|
|
|
2009-02-02 12:50:53 -06:00
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl - Check for OpenSSL Crypto library
|
|
|
|
dnl ---------------------------------------------------------------------------
|
2016-10-18 10:23:25 -05:00
|
|
|
PKG_CHECK_MODULES([CRYPTO], [libcrypto])
|
2009-02-02 12:50:53 -06:00
|
|
|
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl - Check for Python
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
AC_MSG_NOTICE([Checking for Python])
|
|
|
|
have_python=no
|
2016-10-12 04:06:21 -05:00
|
|
|
AM_PATH_PYTHON(2.7)
|
2009-02-02 12:50:53 -06:00
|
|
|
|
|
|
|
if test "x$PYTHON" = "x" ; then
|
|
|
|
AC_MSG_ERROR([Python not found])
|
|
|
|
fi
|
|
|
|
|
2013-03-27 12:00:29 -05:00
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl - Check for cmocka unit test framework http://cmocka.cryptomilk.org/
|
2013-07-03 15:32:12 -05:00
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
PKG_CHECK_EXISTS(cmocka,
|
|
|
|
[AC_CHECK_HEADERS([stdarg.h stddef.h setjmp.h],
|
|
|
|
[], dnl We are only intrested in action-if-not-found
|
|
|
|
[AC_MSG_WARN([Header files stdarg.h stddef.h setjmp.h are required by cmocka])
|
|
|
|
cmocka_required_headers="no"
|
|
|
|
]
|
|
|
|
)
|
|
|
|
AS_IF([test x"$cmocka_required_headers" != x"no"],
|
|
|
|
[PKG_CHECK_MODULES([CMOCKA], [cmocka], [have_cmocka="yes"])]
|
|
|
|
)],
|
|
|
|
dnl PKG_CHECK_EXISTS ACTION-IF-NOT-FOUND
|
|
|
|
[AC_MSG_WARN([No libcmocka library found, cmocka tests will not be built])]
|
2013-03-27 12:00:29 -05:00
|
|
|
)
|
|
|
|
AM_CONDITIONAL([HAVE_CMOCKA], [test x$have_cmocka = xyes])
|
|
|
|
|
2015-02-24 08:29:00 -06:00
|
|
|
dnl A macro to check presence of a cwrap (http://cwrap.org) wrapper on the system
|
|
|
|
dnl Usage:
|
|
|
|
dnl AM_CHECK_WRAPPER(name, conditional)
|
|
|
|
dnl If the cwrap library is found, sets the HAVE_$name conditional
|
|
|
|
AC_DEFUN([AM_CHECK_WRAPPER],
|
|
|
|
[
|
|
|
|
FOUND_WRAPPER=0
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([for $1])
|
|
|
|
PKG_CHECK_EXISTS([$1],
|
|
|
|
[
|
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
FOUND_WRAPPER=1
|
|
|
|
],
|
|
|
|
[
|
|
|
|
AC_MSG_RESULT([no])
|
|
|
|
AC_MSG_WARN([cwrap library $1 not found, some tests will not run])
|
|
|
|
])
|
|
|
|
|
|
|
|
AM_CONDITIONAL($2, [ test x$FOUND_WRAPPER = x1])
|
|
|
|
])
|
|
|
|
|
|
|
|
AM_CHECK_WRAPPER(nss_wrapper, HAVE_NSS_WRAPPER)
|
|
|
|
|
2016-10-14 03:20:43 -05:00
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl - Check for POPT
|
|
|
|
dnl ---------------------------------------------------------------------------
|
2017-02-22 02:39:20 -06:00
|
|
|
POPT_LIBS=
|
|
|
|
PKG_CHECK_MODULES([POPT], [popt], [],
|
|
|
|
[AC_CHECK_HEADER([popt.h], [], [AC_MSG_ERROR([popt.h not found])])
|
|
|
|
AC_CHECK_LIB([popt], [poptGetContext], [POPT_LIBS="-lpopt"])
|
|
|
|
AC_SUBST(POPT_LIBS)
|
|
|
|
]
|
|
|
|
)
|
2016-10-14 03:20:43 -05:00
|
|
|
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl - Check for SASL
|
|
|
|
dnl ---------------------------------------------------------------------------
|
2016-10-14 05:08:30 -05:00
|
|
|
PKG_CHECK_MODULES([SASL], [libsasl2])
|
2016-10-14 03:20:43 -05:00
|
|
|
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl - Check for XMLRPC-C
|
|
|
|
dnl ---------------------------------------------------------------------------
|
2017-02-02 04:57:59 -06:00
|
|
|
PKG_CHECK_MODULES([XMLRPC], [xmlrpc xmlrpc_client xmlrpc_util])
|
2016-10-14 03:20:43 -05:00
|
|
|
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl - Check for libintl
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
SAVE_LIBS="$LIBS"
|
|
|
|
LIBINTL_LIBS=
|
|
|
|
AC_CHECK_HEADER(libintl.h, [], [AC_MSG_ERROR([libintl.h not found, please install xgettext])])
|
|
|
|
AC_SEARCH_LIBS([bindtextdomain], [libintl],[], [])
|
|
|
|
if test "x$ac_cv_search_bindtextdomain" = "xno" ; then
|
|
|
|
AC_MSG_ERROR([libintl is not found and your libc does not support gettext, please install xgettext])
|
|
|
|
elif test "x$ac_cv_search_bindtextdomain" != "xnone required" ; then
|
|
|
|
LIBINTL_LIBS="$ac_cv_search_bindtextdomain"
|
|
|
|
fi
|
|
|
|
LIBS="$SAVELIBS"
|
|
|
|
AC_SUBST(LIBINTL_LIBS)
|
|
|
|
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl - Check for libini_config
|
|
|
|
dnl ---------------------------------------------------------------------------
|
2016-10-18 10:23:25 -05:00
|
|
|
PKG_CHECK_MODULES([INI], [ini_config >= 1.2.0])
|
2016-10-14 03:20:43 -05:00
|
|
|
|
2016-11-02 14:48:08 -05:00
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl - Get /etc/sysconfig directory path
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
AC_ARG_WITH([sysconfenvdir],
|
|
|
|
AS_HELP_STRING([--with-sysconfenvdir=DIR],
|
|
|
|
[Directory for daemon environment files]),
|
|
|
|
[sysconfenvdir=$with_sysconfenvdir],
|
|
|
|
[sysconfenvdir="${sysconfdir}/sysconfig"])
|
|
|
|
AC_SUBST([sysconfenvdir])
|
|
|
|
|
2017-01-03 07:32:05 -06:00
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl - Server-only configuration
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
AM_COND_IF([ENABLE_SERVER], [
|
|
|
|
m4_include(server.m4)
|
|
|
|
])
|
|
|
|
|
2013-04-11 13:03:25 -05:00
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl - Check for program paths
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
AC_PATH_PROG(UNLINK, unlink, [AC_MSG_ERROR([unlink not found])])
|
|
|
|
|
2009-02-02 12:50:53 -06:00
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl - Set the data install directory since we don't use pkgdatadir
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
IPA_DATA_DIR="$datadir/ipa"
|
2016-10-13 07:00:41 -05:00
|
|
|
IPA_SYSCONF_DIR="$sysconfdir/ipa"
|
2009-02-02 12:50:53 -06:00
|
|
|
AC_SUBST(IPA_DATA_DIR)
|
2016-10-13 07:00:41 -05:00
|
|
|
AC_SUBST(IPA_SYSCONF_DIR)
|
|
|
|
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl Translations
|
|
|
|
dnl ---------------------------------------------------------------------------
|
2016-11-14 07:53:42 -06:00
|
|
|
# POTFILES.in needs to be created before calling AM_GNU_GETTEXT
|
|
|
|
AC_CONFIG_COMMANDS([po/POTFILES.in],
|
|
|
|
[find_start_pwd=`pwd` && dnl
|
|
|
|
cd "${ac_abs_top_srcdir}" && dnl strip prefixes from find
|
|
|
|
find . dnl
|
|
|
|
-path "./rpmbuild" -prune -o dnl
|
|
|
|
-path "./${PACKAGE}-*" -prune -o dnl dist directories
|
|
|
|
-path '*/build' -prune -o dnl Python builds
|
|
|
|
-path '*/dist' -prune -o dnl Python dists
|
|
|
|
-path './conf*' -prune -o dnl generated by configure
|
|
|
|
-name '*.py' -print -o dnl
|
|
|
|
-name '*.c' -print -o dnl
|
|
|
|
-name '*.h' -print dnl
|
|
|
|
> po/POTFILES.in && dnl
|
|
|
|
cd "${find_start_pwd}"])
|
2016-10-13 07:00:41 -05:00
|
|
|
AC_SUBST(GETTEXT_DOMAIN, [ipa])
|
2016-12-07 05:16:56 -06:00
|
|
|
AM_GNU_GETTEXT_VERSION([0.18.2])
|
2016-11-11 15:54:13 -06:00
|
|
|
AM_GNU_GETTEXT([external])
|
|
|
|
|
|
|
|
dnl integrate our custom hacks into gettextize infrastructure
|
|
|
|
AC_CONFIG_COMMANDS([po/Makefile-hackit],
|
|
|
|
[echo "include Makefile.hack" dnl
|
|
|
|
>> "${ac_abs_top_srcdir}/po/Makefile"])
|
2016-10-13 07:00:41 -05:00
|
|
|
|
|
|
|
AC_PROG_MKDIR_P
|
|
|
|
AC_PROG_AWK
|
|
|
|
AC_PROG_SED
|
|
|
|
|
2016-11-14 03:27:15 -06:00
|
|
|
AC_PATH_PROG(MSGATTRIB, msgattrib, [no])
|
|
|
|
if test "x$MSGATTRIB" = "xno"; then
|
|
|
|
AC_MSG_ERROR([msgattrib not found, install gettext])
|
|
|
|
fi
|
|
|
|
AC_SUBST([MSGATTRIB])
|
|
|
|
|
2016-10-20 08:27:44 -05:00
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl IPA platform
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
AC_ARG_WITH([ipaplatform],
|
|
|
|
[AC_HELP_STRING([--with-ipaplatform],
|
|
|
|
[IPA platform module to use])],
|
|
|
|
[IPAPLATFORM=${withval}],
|
|
|
|
[IPAPLATFORM=""])
|
|
|
|
AC_MSG_CHECKING([supported IPA platform])
|
|
|
|
|
|
|
|
if test "x${IPAPLATFORM}" == "x"; then
|
|
|
|
if test -r "/etc/os-release"; then
|
|
|
|
IPAPLATFORM=$(. /etc/os-release; echo "$ID")
|
|
|
|
else
|
|
|
|
AC_MSG_ERROR([unable to read /etc/os-release])
|
|
|
|
fi
|
|
|
|
if test "x${IPAPLATFORM}" == "x"; then
|
|
|
|
AC_MSG_ERROR([unable to find ID variable in /etc/os-release])
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2016-10-25 07:07:11 -05:00
|
|
|
if test ! -d "${srcdir}/ipaplatform/${IPAPLATFORM}"; then
|
2016-10-20 08:27:44 -05:00
|
|
|
AC_MSG_ERROR([IPA platform ${IPAPLATFORM} is not supported])
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_SUBST([IPAPLATFORM])
|
|
|
|
AC_MSG_RESULT([${IPAPLATFORM}])
|
|
|
|
|
2017-03-15 04:46:36 -05:00
|
|
|
if test "x${IPAPLATFORM}" == "xdebian"; then
|
|
|
|
# see https://www.debian.org/doc/packaging-manuals/python-policy/ap-packaging_tools.html
|
|
|
|
PYTHON_INSTALL_EXTRA_OPTIONS="--install-layout=deb"
|
|
|
|
else
|
|
|
|
PYTHON_INSTALL_EXTRA_OPTIONS=""
|
|
|
|
fi
|
|
|
|
AC_SUBST([PYTHON_INSTALL_EXTRA_OPTIONS])
|
|
|
|
AC_MSG_RESULT([python setup.py install extra options ${PYTHON_INSTALL_EXTRA_OPTIONS}])
|
2016-10-20 08:27:44 -05:00
|
|
|
|
2016-10-21 15:35:28 -05:00
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl Version information from VERSION.m4 and command line
|
|
|
|
dnl ---------------------------------------------------------------------------
|
2016-11-09 09:15:19 -06:00
|
|
|
dnl Are we in source tree?
|
|
|
|
AM_CONDITIONAL([IS_GIT_SNAPSHOT], [test "IPA_VERSION_IS_GIT_SNAPSHOT" == "yes"])
|
|
|
|
AM_COND_IF([IS_GIT_SNAPSHOT], [
|
|
|
|
AC_MSG_CHECKING([if source directory is a Git reposistory])
|
2016-12-02 16:42:58 -06:00
|
|
|
if test ! -e "${srcdir}/.git"; then
|
2016-11-09 09:15:19 -06:00
|
|
|
AC_MSG_ERROR([Git reposistory is required by VERSION.m4 IPA_VERSION_IS_GIT_SNAPSHOT but not found])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
fi
|
|
|
|
])
|
|
|
|
|
2016-10-21 15:35:28 -05:00
|
|
|
AC_ARG_WITH([vendor-suffix],
|
|
|
|
AS_HELP_STRING([--with-vendor-suffix=STRING],
|
|
|
|
[Vendor string used by package system, e.g. "-1.fc24"]),
|
|
|
|
[VENDOR_SUFFIX=${withval}],
|
|
|
|
[VENDOR_SUFFIX=""])
|
|
|
|
|
|
|
|
AC_SUBST([API_VERSION], [IPA_API_VERSION])
|
|
|
|
AC_SUBST([DATA_VERSION], [IPA_DATA_VERSION])
|
|
|
|
AC_SUBST([NUM_VERSION], [IPA_NUM_VERSION])
|
|
|
|
AC_SUBST(VENDOR_SUFFIX)
|
|
|
|
AC_SUBST([VERSION], [IPA_VERSION])
|
2016-11-09 09:16:45 -06:00
|
|
|
AC_SUBST([GIT_VERSION], [IPA_GIT_VERSION])
|
2016-11-22 05:32:27 -06:00
|
|
|
# used by Makefile.am for files depending on templates
|
|
|
|
AC_SUBST([CONFIG_STATUS])
|
2016-10-21 15:35:28 -05:00
|
|
|
|
2009-02-02 12:50:53 -06:00
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl Finish
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
|
|
|
|
# Turn on the additional warnings last, so -Werror doesn't affect other tests.
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(more-warnings,
|
|
|
|
[AC_HELP_STRING([--enable-more-warnings],
|
|
|
|
[Maximum compiler warnings])],
|
|
|
|
set_more_warnings="$enableval",[
|
|
|
|
if test -d $srcdir/../.hg; then
|
|
|
|
set_more_warnings=yes
|
|
|
|
else
|
|
|
|
set_more_warnings=no
|
|
|
|
fi
|
|
|
|
])
|
|
|
|
AC_MSG_CHECKING(for more warnings)
|
|
|
|
if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
CFLAGS="\
|
|
|
|
-Wall \
|
|
|
|
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
|
|
|
|
-Wnested-externs -Wpointer-arith \
|
|
|
|
-Wcast-align -Wsign-compare \
|
|
|
|
$CFLAGS"
|
|
|
|
|
|
|
|
for option in -Wno-strict-aliasing -Wno-sign-compare; do
|
|
|
|
SAVE_CFLAGS="$CFLAGS"
|
|
|
|
CFLAGS="$CFLAGS $option"
|
|
|
|
AC_MSG_CHECKING([whether gcc understands $option])
|
|
|
|
AC_TRY_COMPILE([], [],
|
|
|
|
has_option=yes,
|
|
|
|
has_option=no,)
|
|
|
|
if test $has_option = no; then
|
|
|
|
CFLAGS="$SAVE_CFLAGS"
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($has_option)
|
|
|
|
unset has_option
|
|
|
|
unset SAVE_CFLAGS
|
|
|
|
done
|
|
|
|
unset option
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
fi
|
|
|
|
|
2016-11-11 05:37:03 -06:00
|
|
|
AM_CONDITIONAL([VERBOSE_MAKE], [test "x${AM_DEFAULT_VERBOSITY}" == "x1"])
|
|
|
|
|
2016-11-08 02:55:13 -06:00
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl Linters
|
|
|
|
dnl ---------------------------------------------------------------------------
|
2016-11-08 08:08:58 -06:00
|
|
|
AC_ARG_ENABLE([i18ntests],
|
|
|
|
AC_HELP_STRING([--disable-i18ntests],
|
|
|
|
[do not execute ipatests/i18n.py
|
|
|
|
(depends on python-polib)]),
|
|
|
|
,
|
|
|
|
[enable_i18ntests="yes"]
|
|
|
|
)
|
|
|
|
AC_SUBST([i18ntests])
|
|
|
|
AM_CONDITIONAL([WITH_POLINT], [test "x${enable_i18ntests}" == "xyes"])
|
|
|
|
|
2016-12-08 04:26:18 -06:00
|
|
|
AC_ARG_ENABLE([pylint],
|
2017-02-22 12:19:35 -06:00
|
|
|
AS_HELP_STRING([--enable-pylint],
|
|
|
|
[Require pylint. Default is autodetection with
|
|
|
|
"python -m pylint".]),
|
2017-01-11 10:08:30 -06:00
|
|
|
[PYLINT=$enableval],
|
2017-02-22 12:19:35 -06:00
|
|
|
[PYLINT=check]
|
2016-11-08 02:55:13 -06:00
|
|
|
)
|
2017-02-22 12:19:35 -06:00
|
|
|
|
2017-01-11 10:08:30 -06:00
|
|
|
if test x$PYLINT != xno; then
|
|
|
|
AC_MSG_CHECKING([for Pylint])
|
2017-02-22 12:19:35 -06:00
|
|
|
$PYTHON -m pylint --version >/dev/null 2>&1
|
2017-01-11 10:08:30 -06:00
|
|
|
if test "$?" != "0"; then
|
2017-02-22 12:19:35 -06:00
|
|
|
if test x$PYLINT = xcheck; then
|
|
|
|
PYLINT=no
|
|
|
|
AC_MSG_NOTICE([cannot find optional pylint for $PYTHON])
|
|
|
|
else
|
|
|
|
AC_MSG_ERROR([cannot find pylint for $PYTHON])
|
|
|
|
fi
|
2017-01-11 10:08:30 -06:00
|
|
|
else
|
2017-02-22 12:19:35 -06:00
|
|
|
PYLINT=yes
|
2017-01-11 10:08:30 -06:00
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
fi
|
|
|
|
fi
|
2016-11-08 02:55:13 -06:00
|
|
|
AC_SUBST([PYLINT])
|
|
|
|
AM_CONDITIONAL([WITH_PYLINT], [test "x${PYLINT}" != "xno"])
|
|
|
|
|
2016-11-08 02:24:51 -06:00
|
|
|
|
|
|
|
AC_ARG_WITH([jslint],
|
2017-01-11 11:14:49 -06:00
|
|
|
AS_HELP_STRING([--with-jslint=[FILE]],
|
|
|
|
[path to JavaScript linter. Default is autodetection of
|
|
|
|
utility "jsl" ]),
|
2017-02-22 12:19:35 -06:00
|
|
|
[JSLINT="$withval"],
|
|
|
|
[JSLINT=check]
|
|
|
|
)
|
|
|
|
|
|
|
|
AS_CASE([$JSLINT],
|
|
|
|
[yes], [AC_PATH_PROG([JSLINT], [jsl], [missing])
|
|
|
|
if test $JSLINT = missing; then
|
|
|
|
AC_MSG_FAILURE([jsl is missing])
|
|
|
|
fi],
|
|
|
|
[no], [],
|
|
|
|
[check], [AC_PATH_PROG([JSLINT], [jsl], [no])],
|
|
|
|
dnl user setting
|
|
|
|
[if ! test -f "$JSLINT"; then
|
|
|
|
AC_MSG_RESULT([$JSLINT non-existing])
|
|
|
|
AC_MSG_FAILURE([invalid value $JSLINT for jsl])
|
|
|
|
fi
|
|
|
|
if ! test -x "$JSLINT"; then
|
|
|
|
AC_MSG_RESULT([$JSLINT non-executable])
|
|
|
|
AC_MSG_FAILURE([invalid value $JSLINT for jsl])
|
|
|
|
fi]
|
2016-11-08 02:24:51 -06:00
|
|
|
)
|
|
|
|
AC_SUBST([JSLINT])
|
|
|
|
AM_CONDITIONAL([WITH_JSLINT], [test "x${JSLINT}" != "xno"])
|
|
|
|
|
|
|
|
|
2009-02-02 12:50:53 -06:00
|
|
|
# Flags
|
|
|
|
|
|
|
|
AC_SUBST(CFLAGS)
|
|
|
|
AC_SUBST(CPPFLAGS)
|
|
|
|
AC_SUBST(LDFLAGS)
|
|
|
|
|
2016-10-21 15:35:28 -05:00
|
|
|
|
2009-02-02 12:50:53 -06:00
|
|
|
# Files
|
2016-10-20 08:27:44 -05:00
|
|
|
AC_CONFIG_LINKS([ipaplatform/__init__.py:ipaplatform/$IPAPLATFORM/__init__.py
|
|
|
|
ipaplatform/constants.py:ipaplatform/$IPAPLATFORM/constants.py
|
|
|
|
ipaplatform/paths.py:ipaplatform/$IPAPLATFORM/paths.py
|
|
|
|
ipaplatform/services.py:ipaplatform/$IPAPLATFORM/services.py
|
|
|
|
ipaplatform/tasks.py:ipaplatform/$IPAPLATFORM/tasks.py
|
|
|
|
])
|
2009-02-02 12:50:53 -06:00
|
|
|
|
|
|
|
AC_CONFIG_FILES([
|
2016-10-25 05:34:29 -05:00
|
|
|
Makefile
|
2016-10-12 10:32:43 -05:00
|
|
|
asn1/Makefile
|
2016-10-12 11:51:50 -05:00
|
|
|
asn1/asn1c/Makefile
|
2016-10-14 03:20:43 -05:00
|
|
|
client/Makefile
|
|
|
|
client/man/Makefile
|
2016-11-02 14:48:08 -05:00
|
|
|
contrib/completion/Makefile
|
|
|
|
contrib/Makefile
|
|
|
|
daemons/dnssec/Makefile
|
2016-10-12 10:32:43 -05:00
|
|
|
daemons/Makefile
|
|
|
|
daemons/ipa-kdb/Makefile
|
|
|
|
daemons/ipa-sam/Makefile
|
|
|
|
daemons/ipa-otpd/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/libotp/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/ipa-cldap/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/ipa-dns/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/ipa-enrollment/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/ipa-lockout/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/ipa-otp-counter/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/ipa-otp-lasttoken/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/ipa-pwd-extop/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/ipa-extdom-extop/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/ipa-winsync/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/ipa-version/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/ipa-uuid/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/ipa-modrdn/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/ipa-sidgen/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/ipa-range-check/Makefile
|
|
|
|
daemons/ipa-slapi-plugins/topology/Makefile
|
2016-11-03 05:03:03 -05:00
|
|
|
init/systemd/Makefile
|
|
|
|
init/Makefile
|
2016-10-13 07:00:41 -05:00
|
|
|
install/Makefile
|
|
|
|
install/certmonger/Makefile
|
|
|
|
install/conf/Makefile
|
|
|
|
install/html/Makefile
|
|
|
|
install/migration/Makefile
|
|
|
|
install/share/Makefile
|
|
|
|
install/share/advise/Makefile
|
|
|
|
install/share/advise/legacy/Makefile
|
|
|
|
install/share/profiles/Makefile
|
|
|
|
install/share/schema.d/Makefile
|
|
|
|
install/ui/Makefile
|
|
|
|
install/ui/css/Makefile
|
|
|
|
install/ui/src/Makefile
|
|
|
|
install/ui/src/libs/Makefile
|
|
|
|
install/ui/images/Makefile
|
|
|
|
install/ui/build/Makefile
|
|
|
|
install/ui/build/dojo/Makefile
|
|
|
|
install/ui/build/freeipa/Makefile
|
|
|
|
install/tools/Makefile
|
|
|
|
install/tools/man/Makefile
|
|
|
|
install/updates/Makefile
|
|
|
|
install/restart_scripts/Makefile
|
|
|
|
install/wsgi/Makefile
|
|
|
|
install/oddjob/Makefile
|
2016-10-25 07:01:31 -05:00
|
|
|
ipaclient/Makefile
|
|
|
|
ipalib/Makefile
|
|
|
|
ipaplatform/Makefile
|
|
|
|
ipapython/Makefile
|
|
|
|
ipaserver/Makefile
|
|
|
|
ipatests/Makefile
|
2016-10-12 13:47:07 -05:00
|
|
|
ipatests/man/Makefile
|
2017-02-17 10:46:42 -06:00
|
|
|
pypi/Makefile
|
|
|
|
pypi/freeipa/Makefile
|
|
|
|
pypi/ipa/Makefile
|
|
|
|
pypi/ipaplatform/Makefile
|
|
|
|
pypi/ipaserver/Makefile
|
|
|
|
pypi/ipatests/Makefile
|
2016-11-11 15:54:13 -06:00
|
|
|
po/Makefile.in
|
2016-11-14 03:27:15 -06:00
|
|
|
po/Makefile.hack
|
2016-10-11 08:41:46 -05:00
|
|
|
util/Makefile
|
2009-02-02 12:50:53 -06:00
|
|
|
])
|
|
|
|
|
|
|
|
AC_OUTPUT
|
|
|
|
|
|
|
|
echo "
|
|
|
|
IPA Server $VERSION
|
|
|
|
========================
|
|
|
|
|
2017-01-03 07:32:05 -06:00
|
|
|
vendor version: ${VERSION}${VENDOR_SUFFIX}
|
2013-04-11 13:03:25 -05:00
|
|
|
prefix: ${prefix}
|
|
|
|
exec_prefix: ${exec_prefix}
|
2009-02-02 12:50:53 -06:00
|
|
|
libdir: ${libdir}
|
|
|
|
bindir: ${bindir}
|
|
|
|
sbindir: ${sbindir}
|
|
|
|
sysconfdir: ${sysconfdir}
|
2016-11-02 14:48:08 -05:00
|
|
|
sysconfenvdir: ${sysconfenvdir}
|
2009-02-02 12:50:53 -06:00
|
|
|
localstatedir: ${localstatedir}
|
|
|
|
datadir: ${datadir}
|
2013-04-11 13:03:25 -05:00
|
|
|
source code location: ${srcdir}
|
|
|
|
compiler: ${CC}
|
|
|
|
cflags: ${CFLAGS}
|
2017-02-22 12:19:35 -06:00
|
|
|
Python: ${PYTHON}
|
|
|
|
pylint: ${PYLINT}
|
|
|
|
jslint: ${JSLINT}
|
2010-12-03 14:02:29 -06:00
|
|
|
LDAP libs: ${LDAP_LIBS}
|
2016-10-12 04:01:02 -05:00
|
|
|
OpenSSL crypto libs: ${CRYPTO_LIBS}
|
2017-01-03 07:32:05 -06:00
|
|
|
KRB5 libs: ${KRB5_LIBS}"
|
|
|
|
|
|
|
|
AM_COND_IF([ENABLE_SERVER], [
|
|
|
|
echo "\
|
|
|
|
KRAD libs: ${KRAD_LIBS}
|
|
|
|
krb5rundir: ${krb5rundir}
|
|
|
|
systemdsystemunitdir: ${systemdsystemunitdir}
|
|
|
|
systemdtmpfilesdir: ${systemdtmpfilesdir}
|
|
|
|
build mode: server & client"
|
|
|
|
], [
|
|
|
|
echo "\
|
|
|
|
build mode: client only"
|
|
|
|
])
|
2017-02-21 14:55:21 -06:00
|
|
|
AM_COND_IF([WITH_IPATESTS], [
|
|
|
|
echo "\
|
|
|
|
with ipatests: yes"
|
|
|
|
], [
|
|
|
|
echo "\
|
|
|
|
with ipatests: no"
|
|
|
|
])
|