X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=configure.ac;h=351dda27e46d7073494cce51beabf69e358d27dc;hb=09e75d32a30c7527df7dace0f80327817cc23bb6;hp=c8a4aff8ff0a1ec81312176d6ae42edaec0f49bf;hpb=1cfc78c91965df340cdde100ad6cb3ed50b28927;p=elogind.git diff --git a/configure.ac b/configure.ac index c8a4aff8f..351dda27e 100644 --- a/configure.ac +++ b/configure.ac @@ -20,7 +20,7 @@ AC_PREREQ([2.64]) AC_INIT([elogind], - [221], + [226], [https://github.com/elogind/elogind/issues], [elogind], [https://github.com/elogind/elogind]) @@ -38,6 +38,16 @@ AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax no-di AM_SILENT_RULES([yes]) AC_CANONICAL_HOST AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.]) + +AC_PROG_CC_C99 + +AX_COMPILER_VENDOR +AS_IF([test "x$ax_cv_c_compiler_vendor" = "xgnu"], [ + AC_CHECK_TOOLS([AR], [gcc-ar ar], [:]) + AC_CHECK_TOOLS([NM], [gcc-nm nm], [:]) + AC_CHECK_TOOLS([RANLIB], [gcc-ranlib ranlib], [:]) +]) + LT_PREREQ(2.2) LT_INIT([disable-static]) @@ -82,8 +92,6 @@ AC_PROG_SED AC_PROG_GREP AC_PROG_AWK -AC_PROG_CC_C99 - AC_PATH_PROG([M4], [m4]) AC_PATH_PROG([XSLTPROC], [xsltproc]) @@ -95,16 +103,7 @@ AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't s M4_DEFINES= -# gtkdocize greps for '^GTK_DOC_CHECK', so it needs to be on its own line -m4_ifdef([GTK_DOC_CHECK], [ -GTK_DOC_CHECK([1.18],[--flavour no-tmpl])], - [AM_CONDITIONAL([ENABLE_GTK_DOC], [false]) - enable_gtk_doc=no]) - -AS_IF([test "x$enable_gtk_doc" = "xyes" -a "x$XSLTPROC" = x], [ - AC_MSG_ERROR([*** GTK doc requested but xsltproc not found]) -]) - +AC_CHECK_TOOL(OBJCOPY, objcopy) AC_CHECK_TOOL(GPERF, gperf) if test -z "$GPERF" ; then AC_MSG_ERROR([*** gperf not found]) @@ -192,9 +191,9 @@ AS_CASE([$CC], [*clang*], dnl AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], dnl [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ -dnl -flto -ffat-lto-objects])], +dnl -flto])], dnl [AC_MSG_RESULT([skipping -flto, optimization not enabled])]) -AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags") +dnl AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags") AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], [CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\ @@ -233,6 +232,54 @@ AC_CHECK_SIZEOF(rlim_t,,[ #include ]) +GPERF_TEST="$(echo foo,bar | ${GPERF} -L ANSI-C)" + +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([ + #include + const char * in_word_set(const char *, size_t); + $GPERF_TEST] + )], + [GPERF_LEN_TYPE=size_t], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([ + #include + const char * in_word_set(const char *, unsigned); + $GPERF_TEST] + )], + [GPERF_LEN_TYPE=unsigned], + [AC_MSG_ERROR([** unable to determine gperf len type])] + )] +) + +AC_DEFINE_UNQUOTED([GPERF_LEN_TYPE], [$GPERF_LEN_TYPE], [gperf len type]) + +# ------------------------------------------------------------------------------ +# we use python to build the man page index +have_python=no +AC_ARG_WITH([python], + [AS_HELP_STRING([--without-python], [Disable building the man page index (default: test)])]) + +have_lxml=no +AS_IF([test "x$with_python" != "xno"], [ + AM_PATH_PYTHON(,, [:]) + AS_IF([test "x$PYTHON" != "x:"], [ + AC_MSG_CHECKING([for python lxml module]) + AS_IF(["$PYTHON" -c 'import lxml' 2>/dev/null], [have_lxml=yes]) + AC_MSG_RESULT([$have_lxml]) + AS_IF([test "x$have_lxml" = "xyes"], [have_python=yes], + [AC_MSG_WARN([*** python support requires python-lxml module installed])]) + ]) +]) +AS_IF([test "$have_python" != "yes"], [ + AS_IF([test "$with_python" = "yes"], + [AC_MSG_ERROR([*** python support requested but python support not found])]) + AS_IF([test "$with_python" != "no"], + [AC_MSG_WARN([*** python support not found, some documentation cannot be built])]) +]) + +AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"]) + # ------------------------------------------------------------------------------ AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps headers not found])]) @@ -240,8 +287,8 @@ AC_CHECK_HEADERS([linux/btrfs.h], [], []) AC_CHECK_HEADERS([linux/memfd.h], [], []) # unconditionally pull-in librt with old glibc versions -AC_SEARCH_LIBS([clock_gettime], [rt], [], []) -AC_SEARCH_LIBS([mq_unlink], [rt], [], []) +dnl AC_SEARCH_LIBS([clock_gettime], [rt], [], []) +dnl AC_SEARCH_LIBS([mq_unlink], [rt], [], []) AC_ARG_WITH([libcap], AS_HELP_STRING([--with-libcap=DIR], [Prefix for libcap]), @@ -280,9 +327,10 @@ AC_CHECK_DECLS([IFLA_INET6_ADDR_GEN_MODE, IFLA_VLAN_PROTOCOL, IFLA_VXLAN_REMCSUM_NOPARTIAL, IFLA_VXLAN_LOCAL6, - IFLA_IPTUN_6RD_RELAY_PREFIXLEN, + IFLA_IPTUN_ENCAP_DPORT, + IFLA_GRE_ENCAP_DPORT, IFLA_BRIDGE_VLAN_INFO, - IFLA_BRPORT_UNICAST_FLOOD, + IFLA_BRPORT_LEARNING_SYNC, NDA_IFINDEX, IFA_FLAGS], [], [], [[ @@ -302,16 +350,6 @@ AC_CHECK_DECLS([IFLA_INET6_ADDR_GEN_MODE, # This makes sure pkg.m4 is available. m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config]) -# ------------------------------------------------------------------------------ -have_dbus=no -AC_ARG_ENABLE(dbus, AS_HELP_STRING([--disable-dbus], [disable usage of dbus-1 in tests])) -AS_IF([test "x$enable_dbus" != "xno"], [ - PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.3.2], - [AC_DEFINE(HAVE_DBUS, 1, [Define if dbus-1 library is available]) have_dbus=yes], - [have_dbus=no]) - AS_IF([test "x$have_dbus" = "xno" -a "x$enable_dbus" = "xyes"], - [AC_MSG_ERROR([*** dbus-1 support requested but libraries not found])])]) -AM_CONDITIONAL(HAVE_DBUS, [test "$have_dbus" = "yes"]) # ------------------------------------------------------------------------------ PKG_CHECK_MODULES(UDEV, [libudev]) @@ -351,33 +389,6 @@ if test "x$enable_coverage" = "xyes" ; then fi AM_CONDITIONAL(ENABLE_COVERAGE, [test "$have_coverage" = "yes"]) -# ------------------------------------------------------------------------------ -have_blkid=no -AC_ARG_ENABLE(blkid, AS_HELP_STRING([--disable-blkid], [disable blkid support])) -if test "x$enable_blkid" != "xno"; then - PKG_CHECK_MODULES(BLKID, [ blkid >= 2.24 ], - [AC_DEFINE(HAVE_BLKID, 1, [Define if blkid is available]) have_blkid=yes], have_blkid=no) - if test "x$have_blkid" = xno -a "x$enable_blkid" = xyes; then - AC_MSG_ERROR([*** blkid support requested but libraries not found]) - fi -fi -AM_CONDITIONAL(HAVE_BLKID, [test "$have_blkid" = "yes"]) - -# ------------------------------------------------------------------------------ -have_seccomp=no -AC_ARG_ENABLE(seccomp, AS_HELP_STRING([--disable-seccomp], [Disable optional SECCOMP support])) -if test "x$enable_seccomp" != "xno"; then - PKG_CHECK_MODULES(SECCOMP, [libseccomp >= 1.0.0], - [AC_DEFINE(HAVE_SECCOMP, 1, [Define if seccomp is available]) - have_seccomp=yes - M4_DEFINES="$M4_DEFINES -DHAVE_SECCOMP"], - [have_seccomp=no]) - if test "x$have_seccomp" = "xno" -a "x$enable_seccomp" = "xyes"; then - AC_MSG_ERROR([*** seccomp support requested but libraries not found]) - fi -fi -AM_CONDITIONAL(HAVE_SECCOMP, [test "$have_seccomp" = "yes"]) - # ------------------------------------------------------------------------------ have_selinux=no AC_ARG_ENABLE(selinux, AS_HELP_STRING([--disable-selinux], [Disable optional SELINUX support])) @@ -393,20 +404,6 @@ if test "x$enable_selinux" != "xno"; then fi AM_CONDITIONAL(HAVE_SELINUX, [test "$have_selinux" = "yes"]) -have_apparmor=no -AC_ARG_ENABLE(apparmor, AS_HELP_STRING([--disable-apparmor], [Disable optional AppArmor support])) -if test "x$enable_apparmor" != "xno"; then - PKG_CHECK_MODULES([APPARMOR], [libapparmor], - [AC_DEFINE(HAVE_APPARMOR, 1, [Define if AppArmor is available]) - have_apparmor=yes - M4_DEFINES="$M4_DEFINES -DHAVE_APPARMOR"], - [have_apparmor=no]) - if test "x$have_apparmor" = xno -a "x$enable_apparmor" = xyes; then - AC_MSG_ERROR([*** AppArmor support requested but libraries not found]) - fi -fi -AM_CONDITIONAL(HAVE_APPARMOR, [test "$have_apparmor" = "yes"]) - # ------------------------------------------------------------------------------ AC_ARG_ENABLE([pam], AS_HELP_STRING([--disable-pam],[Disable optional PAM support]), @@ -501,8 +498,14 @@ fi AC_ARG_WITH(smack-run-label, AS_HELP_STRING([--with-smack-run-label=STRING], - [run elogind --system with a specific SMACK label]), - [AC_DEFINE_UNQUOTED(SMACK_RUN_LABEL, ["$withval"], [Run with a smack label])], + [run elogind --system itself with a specific SMACK label]), + [AC_DEFINE_UNQUOTED(SMACK_RUN_LABEL, ["$withval"], [Run elogind itself with SMACK label])], + []) + +AC_ARG_WITH(smack-default-process-label, +AS_HELP_STRING([--with-smack-default-process-label=STRING], + [default SMACK label for executed processes]), + [AC_DEFINE_UNQUOTED(SMACK_DEFAULT_PROCESS_LABEL, ["$withval"], [Default SMACK label for executed processes])], []) if test "x${have_smack}" = xyes ; then @@ -587,11 +590,13 @@ AC_ARG_WITH([bashcompletiondir], ] , [ with_bashcompletiondir=${datadir}/bash-completion/completions ])]) +AM_CONDITIONAL(ENABLE_BASH_COMPLETION, [test "$with_bashcompletiondir" != "no"]) AX_NORMALIZE_PATH([with_bashcompletiondir]) AC_ARG_WITH([zshcompletiondir], AS_HELP_STRING([--with-zshcompletiondir=DIR], [Zsh completions directory]), [], [with_zshcompletiondir=${datadir}/zsh/site-functions]) +AM_CONDITIONAL(ENABLE_ZSH_COMPLETION, [test "$with_zshcompletiondir" != "no"]) AX_NORMALIZE_PATH([with_zshcompletiondir]) AC_ARG_WITH([rootprefix], @@ -697,15 +702,12 @@ AC_MSG_RESULT([ $PACKAGE_NAME $VERSION PAM: ${have_pam} - AppArmor: ${have_apparmor} SELinux: ${have_selinux} - SECCOMP: ${have_seccomp} SMACK: ${have_smack} ACL: ${have_acl} polkit: ${have_polkit} - blkid: ${have_blkid} - dbus: ${have_dbus} kdbus: ${have_kdbus} + Python: ${have_python} man pages: ${have_manpages} test coverage: ${have_coverage} Split /usr: ${enable_split_usr}