summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac906
1 files changed, 0 insertions, 906 deletions
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index 7106d3682..000000000
--- a/configure.ac
+++ /dev/null
@@ -1,906 +0,0 @@
-#
-# This file is part of elogind.
-#
-# Copyright 2010-2012 Lennart Poettering
-# Copyright 2010-2012 Kay Sievers
-#
-# elogind is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2.1 of the License, or
-# (at your option) any later version.
-#
-# elogind is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with systemd; If not, see <http://www.gnu.org/licenses/>.
-
-AC_PREREQ([2.64])
-
-AC_INIT([elogind],
- [234.1],
- [https://github.com/elogind/elogind/issues],
- [elogind],
- [https://github.com/elogind/elogind])
-
-AC_CONFIG_SRCDIR([src/login/logind.c])
-AC_CONFIG_MACRO_DIR([m4])
-AC_CONFIG_HEADERS([config.h])
-AC_CONFIG_AUX_DIR([build-aux])
-
-AC_USE_SYSTEM_EXTENSIONS
-AC_SYS_LARGEFILE
-AC_PREFIX_DEFAULT([/usr])
-AM_MAINTAINER_MODE([enable])
-AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax no-dist-gzip dist-xz subdir-objects parallel-tests])
-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])
-
-AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by elogind])])
-AS_IF([test "x$enable_largefile" = "xno"], [AC_MSG_ERROR([--disable-largefile is not supported by elogind])])
-
-SET_ARCH(X86_64, x86_64*)
-SET_ARCH(IA32, i*86*)
-SET_ARCH(MIPS, mips*)
-SET_ARCH(AARCH64, aarch64*)
-
-# i18n stuff for the PolicyKit policy files, check whether intltool can be found, disable NLS otherwise
-AC_CHECK_PROG(intltool_found, [intltool-merge], [yes], [no])
-AS_IF([test x"$intltool_found" != xyes],
- [AS_IF([test x"$enable_nls" = xyes],
- [AC_MSG_ERROR([--enable-nls requested but intltool not found])],
- [AS_IF([test x"$enable_nls" != xno],
- [AC_MSG_WARN([*** Disabling NLS support because intltool was not found])
- enable_nls=no])
- ])
- ])
-
-AM_NLS
-AS_IF([test x"$enable_nls" != xno -o "x$enable_polkit" != xno], [
- # intltoolize greps for '^(AC|IT)_PROG_INTLTOOL', so it needs to be on its own line
-IT_PROG_INTLTOOL([0.40.0])
-])
-
-AS_IF([test -z "$INTLTOOL_POLICY_RULE"], [
- # If intltool is not available, provide a dummy rule to fail generation of %.policy files with a meaningful error message
- INTLTOOL_POLICY_RULE='%.policy: %.policy.in ; @echo " ITMRG " $@ && echo "*** intltool support required to build target $@" && false'
- AC_SUBST(INTLTOOL_POLICY_RULE)
-])
-
-GETTEXT_PACKAGE=elogind
-AC_SUBST(GETTEXT_PACKAGE)
-AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [elogind])
-
-AC_PROG_MKDIR_P
-AC_PROG_LN_S
-AC_PROG_SED
-AC_PROG_GREP
-AC_PROG_AWK
-
-AC_PATH_PROG([M4], [m4])
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-
-AC_PATH_PROG([HALT], [halt], [halt])
-AC_PATH_PROG([REBOOT], [reboot], [reboot])
-AC_PATH_PROG([KEXEC], [kexec], [/usr/sbin/kexec], [$PATH:/usr/sbin:/sbin])
-
-AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't support --relative ***])])
-
-M4_DEFINES=
-
-AC_CHECK_TOOL(OBJCOPY, objcopy)
-AC_CHECK_TOOL(GPERF, gperf)
-if test -z "$GPERF" ; then
- AC_MSG_ERROR([*** gperf not found])
-fi
-
-
-# ------------------------------------------------------------------------------
-# Let users set the cgroup controller to use, in case the target controller
-# isn't currently running the show.
-# Example: Gentoo Linux, user wants to switch from systemd to openrc+elogind,
-# and emerges elogind before having booted the machine with openrc.
-# See: https://github.com/elogind/elogind/issues/18
-with_cgroupctrl=
-AC_ARG_WITH([cgroup-controller],
- AS_HELP_STRING([--with-cgroup-controller=name],
- [Set the name of the cgroup controller to use.
- Use this when the autodetection fails, or you plan to use your system with a different controller than the one in place now.
- The value 'auto' (default) detects the running controller.
- The values 'none' and 'elogind' will cause elogind to be its own (very limited) controller.
- When elogind shall be its own controller, there *MUST NOT* be any other controller running!
- Another popular controller would be 'openrc'.]),
- [with_cgroupctrl=$withval],
- [with_cgroupctrl=auto])
-
-# ------------------------------------------------------------------------------
-# Find running cgroup controller, if none was set
-AS_IF( [test "x$with_cgroupctrl" = "xauto"], [
- AS_IF([test -f /proc/self/cgroup], [
- # If the init system is a cgroup controler, it will be position 1.
- # Secondary controllers, like cgmanager, do not work.
- with_cgroupctrl=`grep "^1:name=" /proc/self/cgroup | \
- sed -n 's/.*=//p' | sed -e 's/:.*$//'`
- AS_IF( [test -z "$with_cgroupctrl"], [
- # Try to be our own cgroup controller
- with_cgroupctrl="elogind"
- ])
- ], [
- # 'auto' but no cgroup fs is a problem.
- with_cgroupctrl=""
- ])
-])
-
-# If the user specified 'none', switch to 'elogind'.
-# 'none' is allowed, as this means "there is no controller now"
-AS_IF( [test "x$with_cgroupctrl" = "xnone"], [with_cgroupctrl=elogind])
-
-# If this was not possible, /proc/self/cgroup not mounted yet, and 'auto'
-# chosen, error out.
-AS_IF( [test -z "$with_cgroupctrl"],
- AC_MSG_ERROR([No running cgroup controller found]))
-
-# ------------------------------------------------------------------------------
-address_sanitizer_cflags=
-address_sanitizer_cppflags=
-address_sanitizer_ldflags=
-AC_ARG_ENABLE(address-sanitizer, AS_HELP_STRING([--enable-address-sanitizer], [enable -fsanitize=address]))
-AS_IF([test "x$enable_address_sanitizer" = "xyes"], [
- CC_CHECK_FLAG_APPEND([with_as_cflags], [CFLAGS], [-fsanitize=address])
- AS_IF([test -z "$with_as_cflags"],
- [AC_MSG_ERROR([*** -fsanitize=address is not supported])])
- address_sanitizer_cflags="$with_as_cflags -fno-omit-frame-pointer -DVALGRIND=1"
- address_sanitizer_cppflags="-DVALGRIND=1"
- address_sanitizer_ldflags="-Wc,-fsanitize=address"
- ])
-
-undefined_sanitizer_cflags=
-undefined_sanitizer_cppflags=
-undefined_sanitizer_ldflags=
-AC_ARG_ENABLE(undefined-sanitizer, AS_HELP_STRING([--enable-undefined-sanitizer], [enable -fsanitize=undefined]))
-AS_IF([test "x$enable_undefined_sanitizer" = "xyes"], [
- CC_CHECK_FLAG_APPEND([with_us_cflags], [CFLAGS], [-fsanitize=undefined])
- AS_IF([test -z "$with_us_cflags"],
- [AC_MSG_ERROR([*** -fsanitize=undefined is not supported])])
- undefined_sanitizer_cflags="$with_us_cflags -fno-omit-frame-pointer -DVALGRIND=1"
- undefined_sanitizer_cppflags="-DVALGRIND=1"
- undefined_sanitizer_ldflags="-Wc,-fsanitize=undefined"
- ])
-
-sanitizer_cflags="$address_sanitizer_cflags $undefined_sanitizer_cflags"
-sanitizer_cppflags="$address_sanitizer_cppflags $undefined_sanitizer_cppflags"
-sanitizer_ldflags="$address_sanitizer_ldflags $undefined_sanitizer_ldflags"
-
-CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
- -pipe \
- -Wall \
- -Wextra \
- -Wundef \
- -Wlogical-op \
- -Wmissing-include-dirs \
- -Wold-style-definition \
- -Wpointer-arith \
- -Winit-self \
- -Wdeclaration-after-statement \
- -Wfloat-equal \
- -Wsuggest-attribute=noreturn \
- -Werror=missing-prototypes \
- -Werror=implicit-function-declaration \
- -Werror=missing-declarations \
- -Werror=return-type \
- -Werror=incompatible-pointer-types \
- -Werror=format=2 \
- -Wstrict-prototypes \
- -Wredundant-decls \
- -Wmissing-noreturn \
- -Wshadow \
- -Wendif-labels \
- -Wstrict-aliasing=2 \
- -Wwrite-strings \
- -Wno-unused-parameter \
- -Wno-missing-field-initializers \
- -Wno-unused-result \
- -Wno-format-signedness \
- -Werror=overflow \
- -Wdate-time \
- -Wnested-externs \
- -ffast-math \
- -fno-common \
- -fdiagnostics-show-option \
- -fno-strict-aliasing \
- -fvisibility=hidden \
- -fstack-protector \
- -fstack-protector-strong \
- -fPIE \
- --param=ssp-buffer-size=4])
-
-CC_CHECK_FLAG_APPEND([with_cflags], [CFLAGS], [-Werror=shadow], [
-#include <time.h>
-#include <inttypes.h>
-typedef uint64_t usec_t;
-usec_t now(clockid_t clock);
-int main(void) {
- struct timespec now;
- return 0;
-}
-])
-
-AS_CASE([$CC], [*clang*],
- [CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\
- -Wno-typedef-redefinition \
- -Wno-gnu-variable-sized-type-not-at-end \
- ])])
-
-# ------------------------------------------------------------------------------
-have_lto=no
-AC_ARG_ENABLE([lto], [AS_HELP_STRING([--disable-lto], [disable -flto])],
- [], [enable_lto=yes])
-AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*],
- [AS_IF([test "x$enable_lto" = "xyes"], [have_lto=yes],
- [AC_MSG_RESULT([disabling -flto as requested])])],
- [AC_MSG_RESULT([skipping -flto, optimization not enabled])])
-
-AS_IF([test "x$have_lto" = "xyes"],
- [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS],
- [-flto -fuse-linker-plugin])])
-
-AS_CASE([$with_cflags], [*-flto*], [], [have_lto=no])
-
-# ------------------------------------------------------------------------------
-AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*],
- [CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\
- -Wp,-D_FORTIFY_SOURCE=2])],
- [AC_MSG_RESULT([skipping -D_FORTIFY_SOURCE, optimization not enabled])])
-
-# ------------------------------------------------------------------------------
-AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*],
- [CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\
- -Wl,--gc-sections])],
- [AC_MSG_RESULT([skipping --gc-sections, optimization not enabled])])
-
-# ------------------------------------------------------------------------------
-AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*],
- [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
- -ffunction-sections -fdata-sections])],
- [AC_MSG_RESULT([skipping -ffunction/data-section, optimization not enabled])])
-
-# ------------------------------------------------------------------------------
-CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\
- -Wl,--as-needed \
- -Wl,--no-undefined \
- -Wl,-z,relro \
- -Wl,-z,now \
- -pie])
-AS_IF([test "x$have_lto" = "xyes"],
- [CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [-Wl,-fuse-ld=gold])])
-
-# ------------------------------------------------------------------------------
-AC_SUBST([OUR_CPPFLAGS], "$with_cppflags $sanitizer_cppflags")
-AC_SUBST([OUR_CFLAGS], "-D__SANE_USERSPACE_TYPES__ $with_cflags $sanitizer_cflags")
-AC_SUBST([OUR_LDFLAGS], "$with_ldflags $sanitizer_ldflags")
-
-# ------------------------------------------------------------------------------
-AC_CHECK_SIZEOF(pid_t)
-AC_CHECK_SIZEOF(uid_t)
-AC_CHECK_SIZEOF(gid_t)
-AC_CHECK_SIZEOF(time_t)
-AC_CHECK_SIZEOF(dev_t)
-AC_CHECK_SIZEOF(ino_t)
-AC_CHECK_SIZEOF(rlim_t,,[
- #include <sys/time.h>
- #include <sys/resource.h>
-])
-
-GPERF_TEST="$(echo foo,bar | ${GPERF} -L ANSI-C)"
-save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -Wno-error"
-AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM([
- #include <string.h>
- const char * in_word_set(const char *, size_t);
- $GPERF_TEST]
- )],
- [GPERF_LEN_TYPE=size_t],
- [AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM([
- #include <string.h>
- const char * in_word_set(const char *, unsigned);
- $GPERF_TEST]
- )],
- [GPERF_LEN_TYPE=unsigned],
- [AC_MSG_ERROR([** unable to determine gperf len type])]
- )]
-)
-CFLAGS="$save_CFLAGS"
-
-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 and systemd-python (default: test)])])
-
-have_lxml=no
-AS_IF([test "x$with_python" != "xno"], [
- AM_PATH_PYTHON([3],, [:])
- 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])])
-AC_CHECK_HEADERS([linux/memfd.h], [], [])
-AC_CHECK_HEADERS([linux/vm_sockets.h], [], [], [#include <sys/socket.h>])
-
-AC_CHECK_HEADERS([printf.h], [have_printf_h=yes], [have_printf_h=no])
-AS_IF([test x$have_printf_h = xyes], [
- AC_DEFINE(HAVE_PRINTF_H, 1, [Define if printf.h was found])
-])
-
-
-
-# unconditionally pull-in librt with old glibc versions
-dnl AC_SEARCH_LIBS([clock_gettime], [rt], [], [])
-dnl AC_SEARCH_LIBS([mq_unlink], [rt], [], [])
-
-save_LIBS="$LIBS"
-LIBS=
-AC_SEARCH_LIBS([cap_init], [cap], [], [AC_MSG_ERROR([*** POSIX caps library not found])])
-CAP_LIBS="$LIBS"
-AC_SUBST(CAP_LIBS)
-
-AC_CHECK_FUNCS([__secure_getenv secure_getenv])
-AC_CHECK_DECLS([
- memfd_create,
- gettid,
- pivot_root,
- name_to_handle_at,
- setns,
- renameat2,
- kcmp,
- keyctl,
- LO_FLAGS_PARTSCAN,
- copy_file_range,
- explicit_bzero],
- [], [], [[
-#include <sys/types.h>
-#include <unistd.h>
-#include <sys/mount.h>
-#include <fcntl.h>
-#include <sched.h>
-#include <string.h>
-#include <linux/loop.h>
-]])
-
-AC_CHECK_DECLS([getrandom],
- [AC_DEFINE([USE_SYS_RANDOM_H], [], [sys/random.h is usable])],
- [AC_CHECK_DECLS([getrandom], [], [], [[
-#include <sys/random.h>
-]])], [[
-#include <linux/random.h>
-]])
-
-AC_CHECK_TYPES([char16_t, char32_t, key_serial_t],
- [], [], [[
-#include <uchar.h>
-]])
-
-AC_CHECK_DECLS([IFLA_INET6_ADDR_GEN_MODE,
- IN6_ADDR_GEN_MODE_STABLE_PRIVACY,
- IFLA_VRF_TABLE,
- IFLA_MACVLAN_FLAGS,
- IFLA_IPVLAN_MODE,
- IFLA_VTI_REMOTE,
- IFLA_PHYS_PORT_ID,
- IFLA_BOND_AD_INFO,
- IFLA_VLAN_PROTOCOL,
- IFLA_VXLAN_GPE,
- IFLA_GENEVE_LABEL,
- IFLA_IPTUN_ENCAP_DPORT,
- IFLA_GRE_ENCAP_DPORT,
- IFLA_BRIDGE_VLAN_INFO,
- IFLA_BRPORT_PROXYARP,
- IFLA_BRPORT_LEARNING_SYNC,
- IFLA_BR_VLAN_DEFAULT_PVID,
- NDA_IFINDEX,
- IFA_FLAGS],
-[], [], [[
-#include <inttypes.h>
-#include <netinet/in.h>
-#include <netinet/ether.h>
-#include <linux/rtnetlink.h>
-#include <net/if.h>
-#include <linux/ip.h>
-#include <linux/if_tunnel.h>
-#include <linux/if_link.h>
-#include <linux/if_bridge.h>
-#include <linux/if_addr.h>
-#include <linux/neighbour.h>
-]])
-
-# This makes sure pkg.m4 is available.
-m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config])
-
-
-# ------------------------------------------------------------------------------
-PKG_CHECK_MODULES(UDEV, [libudev])
-dnl
-AC_ARG_WITH([udevrulesdir],
- AS_HELP_STRING([--with-udevrulesdir=DIR], [Directory for udev rules files]),
- [],
- [with_udevrulesdir=$($PKG_CONFIG --variable=udevdir udev)/rules.d])
-AC_SUBST([udevrulesdir], [$with_udevrulesdir])
-
-AC_ARG_WITH([udevbindir],
- AS_HELP_STRING([--with-udevbindir=DIR], [Directory for udev binary files]),
- [],
- [with_udevbindir=$($PKG_CONFIG --variable=udevdir udev)])
-AC_SUBST([udevbindir], [$with_udevbindir])
-
-# ------------------------------------------------------------------------------
-have_glib=no
-AC_ARG_ENABLE(glib, AS_HELP_STRING([--disable-glib], [disable usage of glib,gobject,gio in tests]))
-AS_IF([test "x$enable_glib" != "xno"], [
- PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.22.0 gobject-2.0 >= 2.22.0 gio-2.0],
- [AC_DEFINE(HAVE_GLIB, 1, [Define if glib,gobject,gio are available]) have_glib=yes],
- [have_glib=no])
- AS_IF([test "x$have_glib" = "xno" -a "x$enable_glib" = "xyes"],
- [AC_MSG_ERROR([*** glib support requested but libraries not found])])])
-
-# ------------------------------------------------------------------------------
-have_utmp=yes
-AC_ARG_ENABLE([utmp], AS_HELP_STRING([--disable-utmp], [disable utmp/wtmp log handling]),
- AS_CASE("x${enableval}",
- [xyes], [have_utmp=yes],
- [xno], [have_utmp=no],
- AC_MSG_ERROR(bad value ${enableval} for --enable-utmp)))
-AS_IF([test "x$have_utmp" = "xyes"], [
- AC_DEFINE(HAVE_UTMP, 1, [Define if utmp/wtmp support is enabled])
- have_utmp=yes
- M4_DEFINES="$M4_DEFINES -DHAVE_UTMP"],
- [have_utmp=no])
-AM_CONDITIONAL([HAVE_UTMP], [test "x$have_utmp" = "xyes"])
-
-# ------------------------------------------------------------------------------
-have_coverage=no
-AC_ARG_ENABLE(coverage, AS_HELP_STRING([--enable-coverage], [enable test coverage]))
-if test "x$enable_coverage" = "xyes" ; then
- AC_CHECK_PROG(lcov_found, [lcov], [yes], [no])
- if test "x$lcov_found" = xno ; then
- AC_MSG_ERROR([*** lcov support requested but the program was not found])
- else
- lcov_version_major="`lcov --version | cut -d ' ' -f 4 | cut -d '.' -f 1`"
- lcov_version_minor="`lcov --version | cut -d ' ' -f 4 | cut -d '.' -f 2`"
- if test "$lcov_version_major" -eq 1 -a "$lcov_version_minor" -lt 10; then
- AC_MSG_ERROR([*** lcov version is too old. 1.10 required])
- else
- have_coverage=yes
- CC_CHECK_FLAGS_APPEND([with_coverage_cflags], [CFLAGS], [\
- -fprofile-arcs \
- -ftest-coverage])
- AC_SUBST([OUR_CFLAGS], "$with_cflags $with_coverage_cflags")
- fi
- fi
-fi
-AM_CONDITIONAL(ENABLE_COVERAGE, [test "$have_coverage" = "yes"])
-
-# ------------------------------------------------------------------------------
-have_selinux=no
-AC_ARG_ENABLE(selinux, AS_HELP_STRING([--disable-selinux], [disable optional SELINUX support]))
-if test "x$enable_selinux" != "xno"; then
- PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.1.9],
- [AC_DEFINE(HAVE_SELINUX, 1, [Define if SELinux is available])
- have_selinux=yes
- M4_DEFINES="$M4_DEFINES -DHAVE_SELINUX"],
- [have_selinux=no])
- if test "x$have_selinux" = xno -a "x$enable_selinux" = xyes; then
- AC_MSG_ERROR([*** SELinux support requested but libraries not found])
- fi
-fi
-AM_CONDITIONAL(HAVE_SELINUX, [test "$have_selinux" = "yes"])
-
-# ------------------------------------------------------------------------------
-AC_ARG_WITH([kill-user-processes],
- [AS_HELP_STRING([--without-kill-user-processes], [Set elogind's KillUserProcesses=no by default])])
-AS_IF([test "$with_kill_user_processes" != "no"],
- [kill_user_processes=true
- KILL_USER_PROCESSES=yes],
- [kill_user_processes=false
- KILL_USER_PROCESSES=no])
-AC_DEFINE_UNQUOTED(KILL_USER_PROCESSES, [$kill_user_processes], [Default KillUserProcesses setting])
-AC_SUBST(KILL_USER_PROCESSES)
-
-# ------------------------------------------------------------------------------
-# We do not really support systemd hybrid or unified mode, but set the default
-# to 'legacy' here. That is currently the only cgroup mode supported by elogind.
-#AC_ARG_WITH(default-hierarchy,
-# AS_HELP_STRING([--with-default-hierarchy=MODE],
-# [default cgroup hierarchy, defaults to "hybrid"]),
-# [DEFAULT_HIERARCHY="$withval"],
-# [DEFAULT_HIERARCHY="hybrid"])
-DEFAULT_HIERARCHY=legacy
-
-AS_CASE("$DEFAULT_HIERARCHY",
- [legacy], [mode=CGROUP_UNIFIED_NONE],
- [hybrid], [mode=CGROUP_UNIFIED_SYSTEMD],
- [unified], [mode=CGROUP_UNIFIED_ALL],
- AC_MSG_ERROR(Bad default hierarchy mode ${DEFAULT_HIERARCHY}))
-AC_DEFINE_UNQUOTED(DEFAULT_HIERARCHY, [$mode], [Default cgroup hierarchy])
-AC_DEFINE_UNQUOTED(DEFAULT_HIERARCHY_NAME, ["$DEFAULT_HIERARCHY"],
- [Default cgroup hierarchy as string])
-
-# ------------------------------------------------------------------------------
-AC_ARG_ENABLE([pam],
- AS_HELP_STRING([--disable-pam],[disable optional PAM support]),
- [case "${enableval}" in
- yes) have_pam=yes ;;
- no) have_pam=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --disable-pam) ;;
- esac],
- [have_pam=auto])
-
-if test "x${have_pam}" != xno ; then
- AC_CHECK_HEADERS(
- [security/pam_modules.h security/pam_modutil.h security/pam_ext.h],
- [have_pam=yes],
- [if test "x$have_pam" = xyes ; then
- AC_MSG_ERROR([*** PAM headers not found.])
- fi])
-
- AC_CHECK_LIB(
- [pam],
- [pam_syslog],
- [have_pam=yes],
- [if test "x$have_pam" = xyes ; then
- AC_MSG_ERROR([*** libpam not found.])
- fi])
-
- if test "x$have_pam" = xyes ; then
- PAM_LIBS="-lpam -lpam_misc"
- AC_DEFINE(HAVE_PAM, 1, [PAM available])
- M4_DEFINES="$M4_DEFINES -DHAVE_PAM"
- else
- have_pam=no
- fi
-else
- PAM_LIBS=
-fi
-AC_SUBST(PAM_LIBS)
-AM_CONDITIONAL([HAVE_PAM], [test "x$have_pam" != xno])
-
-# ------------------------------------------------------------------------------
-AC_ARG_ENABLE([acl],
- AS_HELP_STRING([--disable-acl],[disable optional ACL support]),
- [case "${enableval}" in
- yes) have_acl=yes ;;
- no) have_acl=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --disable-acl) ;;
- esac],
- [have_acl=auto])
-
-if test "x${have_acl}" != xno ; then
- AC_CHECK_HEADERS(
- [sys/acl.h acl/libacl.h],
- [have_acl=yes],
- [if test "x$have_acl" = xyes ; then
- AC_MSG_ERROR([*** ACL headers not found.])
- fi])
-
- AC_CHECK_LIB(
- [acl],
- [acl_get_file],
- [have_acl=yes],
- [if test "x$have_acl" = xyes ; then
- AC_MSG_ERROR([*** libacl not found.])
- fi])
-
- if test "x$have_acl" = xyes ; then
- ACL_LIBS="-lacl"
- AC_DEFINE(HAVE_ACL, 1, [ACL available])
- M4_DEFINES="$M4_DEFINES -DHAVE_ACL"
- else
- have_acl=no
- fi
-else
- ACL_LIBS=
-fi
-AC_SUBST(ACL_LIBS)
-AM_CONDITIONAL([HAVE_ACL], [test "x$have_acl" != xno])
-
-# ------------------------------------------------------------------------------
-AC_ARG_ENABLE([smack], AS_HELP_STRING([--disable-smack],[disable optional SMACK support]),
- [case "${enableval}" in
- yes) have_smack=yes ;;
- no) have_smack=no ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --disable-smack) ;;
- esac],
- [have_smack=auto])
-
-if test "x${have_smack}" != xno; then
- AC_DEFINE(HAVE_SMACK, 1, [Define if SMACK is available])
- M4_DEFINES="$M4_DEFINES -DHAVE_SMACK"
- have_smack=yes
-fi
-
-AM_CONDITIONAL([HAVE_SMACK], [test "x$have_smack" = "xyes"])
-
-have_smack_run_label=no
-AC_ARG_WITH(smack-run-label,
-AS_HELP_STRING([--with-smack-run-label=STRING],
- [run systemd --system itself with a specific SMACK label]),
- [AC_DEFINE_UNQUOTED(SMACK_RUN_LABEL, ["$withval"], [Run systemd itself with SMACK label]) have_smack_run_label=yes],
- [])
-
-if test "x${have_smack_run_label}" = xyes; then
- M4_DEFINES="$M4_DEFINES -DHAVE_SMACK_RUN_LABEL"
-fi
-
-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])],
- [])
-
-# ------------------------------------------------------------------------------
-AC_ARG_WITH(system-uid-max,
- AS_HELP_STRING([--with-system-uid-max=UID]
- [Maximum UID for system users]),
- [SYSTEM_UID_MAX="$withval"],
- [SYSTEM_UID_MAX="`awk 'BEGIN { uid=999 } /^\s*SYS_UID_MAX\s+/ { uid=$2 } END { print uid }' /etc/login.defs 2>/dev/null || echo 999`"])
-
-AC_DEFINE_UNQUOTED(SYSTEM_UID_MAX, [$SYSTEM_UID_MAX], [Maximum System UID])
-AC_SUBST(SYSTEM_UID_MAX)
-
-# ------------------------------------------------------------------------------
-AC_ARG_WITH(system-gid-max,
- AS_HELP_STRING([--with-system-gid-max=GID]
- [Maximum GID for system groups]),
- [SYSTEM_GID_MAX="$withval"],
- [SYSTEM_GID_MAX="`awk 'BEGIN { gid=999 } /^\s*SYS_GID_MAX\s+/ { gid=$2 } END { print gid }' /etc/login.defs 2>/dev/null || echo 999`"])
-
-AC_DEFINE_UNQUOTED(SYSTEM_GID_MAX, [$SYSTEM_GID_MAX], [Maximum System GID])
-AC_SUBST(SYSTEM_GID_MAX)
-
-# ------------------------------------------------------------------------------
-have_polkit=no
-AC_ARG_ENABLE(polkit, AS_HELP_STRING([--disable-polkit], [disable PolicyKit support]))
-if test "x$enable_polkit" != "xno"; then
- AC_DEFINE(ENABLE_POLKIT, 1, [Define if PolicyKit support is to be enabled])
- have_polkit=yes
-
- # also enable support for *.pkla files on old polkit
- PKG_CHECK_MODULES(POLKIT, [ polkit-gobject-1 < 0.106 ],
- [polkit_pkla=yes],
- [polkit_pkla=no])
-fi
-AM_CONDITIONAL(ENABLE_POLKIT, [test "x$have_polkit" = "xyes"])
-AM_CONDITIONAL(ENABLE_POLKIT_PKLA, [test "x$polkit_pkla" = "xyes"])
-
-# ------------------------------------------------------------------------------
-AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h valgrind/valgrind.h])
-
-# ------------------------------------------------------------------------------
-have_manpages=no
-AC_ARG_ENABLE(manpages, AS_HELP_STRING([--disable-manpages], [disable manpages]))
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AS_IF([test "x$enable_manpages" != xno], [have_manpages=yes])
-AM_CONDITIONAL(ENABLE_MANPAGES, [test "x$have_manpages" = "xyes"])
-
-# ------------------------------------------------------------------------------
-AC_SUBST(M4_DEFINES)
-
-AC_ARG_WITH([dbuspolicydir],
- AS_HELP_STRING([--with-dbuspolicydir=DIR], [D-Bus policy directory]),
- [],
- [with_dbuspolicydir=${datadir}/dbus-1/system.d])
-AX_NORMALIZE_PATH([with_dbuspolicydir])
-
-AC_ARG_WITH([dbussystemservicedir],
- AS_HELP_STRING([--with-dbussystemservicedir=DIR], [D-Bus system service directory]),
- [],
- [with_dbussystemservicedir=${datadir}/dbus-1/system-services])
-AX_NORMALIZE_PATH([with_dbussystemservicedir])
-
-AC_ARG_WITH([bashcompletiondir],
- AS_HELP_STRING([--with-bashcompletiondir=DIR], [bash completions directory]),
- [],
- [AS_IF([$($PKG_CONFIG --exists bash-completion)], [
- with_bashcompletiondir=$($PKG_CONFIG --variable=completionsdir bash-completion)
- ] , [
- 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],
- AS_HELP_STRING([--with-rootprefix=DIR], [rootfs directory prefix for config files and kernel modules]),
- [], [with_rootprefix=${ac_default_prefix}])
-# --with-rootprefix= (empty) should default to "/" but AX_NORMALIZE_PATH
-# defaults those to ".", solve that here for now until we can find a suitable
-# fix for AX_NORMALIZE_PATH upstream at autoconf-archive.
-# See: https://github.com/systemd/systemd/issues/54
-if test "x${with_rootprefix}" = "x"; then
- with_rootprefix="/"
-fi
-AX_NORMALIZE_PATH([with_rootprefix])
-
-AC_ARG_WITH([rootlibdir],
- AS_HELP_STRING([--with-rootlibdir=DIR], [root directory for libraries necessary for boot]),
- [],
- [with_rootlibdir=${libdir}])
-AX_NORMALIZE_PATH([with_rootlibdir])
-
-AC_ARG_WITH([rootlibexecdir],
- AS_HELP_STRING([--with-rootlibexecdir=DIR], [Root directory for executables necessary for boot]),
- [],
- [with_rootlibexecdir=${libdir}/libexec])
-AX_NORMALIZE_PATH([with_rootlibexecdir])
-
-AC_ARG_WITH([pamlibdir],
- AS_HELP_STRING([--with-pamlibdir=DIR], [directory for PAM modules]),
- [],
- [with_pamlibdir=${with_rootlibdir}/security])
-AX_NORMALIZE_PATH([with_pamlibdir])
-
-AC_ARG_WITH([pamconfdir],
- AS_HELP_STRING([--with-pamconfdir=DIR], [directory for PAM configuration (pass no to disable installing)]),
- [],
- [with_pamconfdir=${sysconfdir}/pam.d])
-AM_CONDITIONAL(ENABLE_PAM_CONFIG, [test "$with_pamconfdir" != "no"])
-AX_NORMALIZE_PATH([with_pamconfdir])
-
-AC_ARG_ENABLE([split-usr],
- AS_HELP_STRING([--enable-split-usr], [assume that /bin, /sbin aren\'t symlinks into /usr]),
- [],
- [AS_IF([test "x${ac_default_prefix}" != "x${with_rootprefix}"], [
- enable_split_usr=yes
- ], [
- enable_split_usr=no
- ])])
-
-AS_IF([test "x${enable_split_usr}" = "xyes"], [
- AC_DEFINE(HAVE_SPLIT_USR, 1, [Define if /bin, /sbin aren't symlinks into /usr])
-])
-AM_CONDITIONAL(ENABLE_SPLIT_USR, [test "x${enable_split_usr}" = "xyes"])
-
-# work around intltool-update issues during 'make distcheck'
-AS_IF([test "x$0" != "x./configure"], [
- AC_SUBST([INTLTOOL_UPDATE], [/usr/bin/env true])
-])
-
-AC_ARG_ENABLE(tests,
- [AC_HELP_STRING([--disable-tests], [disable tests, or enable extra tests with =unsafe])],
- enable_tests=$enableval, enable_tests=yes)
-AM_CONDITIONAL(ENABLE_TESTS, [test x$enable_tests = xyes -o x$enable_tests = xunsafe])
-AM_CONDITIONAL(ENABLE_UNSAFE_TESTS, [test x$enable_tests = xunsafe])
-
-AC_ARG_ENABLE(debug,
- [AC_HELP_STRING([--enable-debug@<:@=LIST@:>@], [enable extra debugging (elogind,hashmap,mmap-cache)])],
- [if test "x$enableval" = "xyes"; then
- enableval="elogind,hashmap,mmap-cache"
- fi
- saved_ifs="$IFS"
- IFS="$IFS$PATH_SEPARATOR,"
- for name in $enableval; do
- case $name in
- elogind)
- enable_debug_elogind=yes
- ;;
- hashmap)
- enable_debug_hashmap=yes
- ;;
- mmap-cache)
- enable_debug_mmap_cache=yes
- ;;
- esac
- done
- IFS="$saved_ifs"],[])
-
-enable_debug=""
-AS_IF([test x$enable_debug_elogind = xyes], [
- AC_DEFINE(ENABLE_DEBUG_ELOGIND, 1, [Define if elogind debugging is to be enabled])
- enable_debug="elogind $enable_debug"
-])
-AS_IF([test x$enable_debug_hashmap = xyes], [
- AC_DEFINE(ENABLE_DEBUG_HASHMAP, 1, [Define if hashmap debugging is to be enabled])
- enable_debug="hashmap $enable_debug"
-])
-AS_IF([test x$enable_debug_mmap_cache = xyes], [
- AC_DEFINE(ENABLE_DEBUG_MMAP_CACHE, 1, [Define if mmap cache debugging is to be enabled])
- enable_debug="mmap-cache $enable_debug"
-])
-test -z "$enable_debug" && enable_debug="none"
-
-AC_SUBST([dbuspolicydir], [$with_dbuspolicydir])
-AC_SUBST([dbussystemservicedir], [$with_dbussystemservicedir])
-AC_SUBST([bashcompletiondir], [$with_bashcompletiondir])
-AC_SUBST([zshcompletiondir], [$with_zshcompletiondir])
-AC_SUBST([pamlibdir], [$with_pamlibdir])
-AC_SUBST([pamconfdir], [$with_pamconfdir])
-AC_SUBST([rootprefix], [$with_rootprefix])
-AC_SUBST([rootlibdir], [$with_rootlibdir])
-AC_SUBST([rootlibexecdir], [$with_rootlibexecdir])
-AC_SUBST([cgroup_controller], [$with_cgroupctrl])
-
-AC_CONFIG_FILES([
- Makefile
- po/Makefile.in
-])
-
-AC_OUTPUT
-AC_MSG_RESULT([
- $PACKAGE_NAME $PACKAGE_VERSION
-
- PAM: . . . . . . . . . . . . . . . ${have_pam}
- SELinux: . . . . . . . . . . . . . ${have_selinux}
- SMACK: . . . . . . . . . . . . . . ${have_smack}
- ACL: . . . . . . . . . . . . . . . ${have_acl}
- default cgroup hierarchy: . . . . ${DEFAULT_HIERARCHY}
- default KillUserProcesses setting: ${KILL_USER_PROCESSES}
- polkit: . . . . . . . . . . . . . ${have_polkit} (legacy pkla support: ${polkit_pkla})
- glib: . . . . . . . . . . . . . . ${have_glib}
- Python: . . . . . . . . . . . . . ${have_python}
- man pages: . . . . . . . . . . . . ${have_manpages}
- test coverage: . . . . . . . . . . ${have_coverage}
- Split /usr: . . . . . . . . . . . ${enable_split_usr}
- utmp/wtmp support: . . . . . . . . ${have_utmp}
- Link time optimization: . . . . . ${have_lto}
- extra debugging: . . . . . . . . . ${enable_debug}
- cgroup controller: . . . . . . . . ${with_cgroupctrl}
-
- prefix: . . . . . . . . . . . . . ${prefix}
- rootprefix: . . . . . . . . . . . ${with_rootprefix}
- sysconf dir: . . . . . . . . . . . ${sysconfdir}
- datarootdir: . . . . . . . . . . . ${datarootdir}
- includedir: . . . . . . . . . . . ${includedir}
- lib dir: . . . . . . . . . . . . . ${libdir}
- rootlib dir: . . . . . . . . . . . ${with_rootlibdir}
- rootlibexec dir: . . . . . . . . . ${with_rootlibexecdir}
- PAM modules dir: . . . . . . . . . ${with_pamlibdir}
- PAM configuration dir: . . . . . . ${with_pamconfdir}
- D-Bus policy dir: . . . . . . . . ${with_dbuspolicydir}
- D-Bus system dir: . . . . . . . . ${with_dbussystemservicedir}
- bash completions dir: . . . . . . ${with_bashcompletiondir}
- zsh completions dir: . . . . . . . ${with_zshcompletiondir}
- maximum system UID: . . . . . . . ${SYSTEM_UID_MAX}
- maximum system GID: . . . . . . . ${SYSTEM_GID_MAX}
-
- CFLAGS: . . . . . . . . . . . . . ${OUR_CFLAGS} ${CFLAGS}
- CPPFLAGS: . . . . . . . . . . . . ${OUR_CPPFLAGS} ${CPPFLAGS}
- LDFLAGS: . . . . . . . . . . . . . ${OUR_LDFLAGS} ${LDFLAGS}
-])