X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=configure.ac;h=0b820149ac158e0713b71920799f0bbd16bb78ec;hp=336938ee7f74abfbb954fb9c34e766084de78b5e;hb=49804365ea1242456c9763058a59cf68479e07ea;hpb=5ea846cc5197682d07ee46398996a8c3ccfbcc38 diff --git a/configure.ac b/configure.ac index 336938ee7..0b820149a 100644 --- a/configure.ac +++ b/configure.ac @@ -76,6 +76,8 @@ AC_PATH_PROG([KMOD], [kmod], [/usr/bin/kmod], [$PATH:/usr/sbin:/sbin]) 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= # gtkdocize greps for '^GTK_DOC_CHECK', so it needs to be on its own line @@ -174,6 +176,7 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ -fdata-sections \ -fstack-protector \ -fstack-protector-strong \ + -fPIE \ --param=ssp-buffer-size=4]) AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ @@ -193,6 +196,7 @@ CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\ -Wl,--gc-sections \ -Wl,-z,relro \ -Wl,-z,now \ + -pie \ -Wl,-fuse-ld=gold]) AC_SUBST([OUR_LDFLAGS], "$with_ldflags $sanitizer_ldflags") @@ -849,6 +853,26 @@ AC_ARG_WITH(time-epoch, AC_DEFINE_UNQUOTED(TIME_EPOCH, [$TIME_EPOCH], [Time Epoch]) +# ------------------------------------------------------------------------------ +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_localed=no AC_ARG_ENABLE(localed, AS_HELP_STRING([--disable-localed], [disable locale daemon])) @@ -875,11 +899,31 @@ fi AM_CONDITIONAL(ENABLE_POLKIT, [test "x$have_polkit" = "xyes"]) # ------------------------------------------------------------------------------ +have_resolved=no +AC_ARG_ENABLE(resolved, AS_HELP_STRING([--disable-resolved], [disable resolve daemon])) +if test "x$enable_resolved" != "xno"; then + have_resolved=yes +fi +AM_CONDITIONAL(ENABLE_RESOLVED, [test "$have_resolved" = "yes"]) + +AC_ARG_WITH(dns-servers, + AS_HELP_STRING([--with-dns-servers=DNSSERVERS], + [Space-separated list of default DNS servers]), + [DNS_SERVERS="$withval"], + [DNS_SERVERS="8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844"]) + +AC_DEFINE_UNQUOTED(DNS_SERVERS, ["$DNS_SERVERS"], [Default DNS Servers]) +AC_SUBST(DNS_SERVERS) + +# ------------------------------------------------------------------------------ +have_networkd=no AC_ARG_ENABLE(networkd, AS_HELP_STRING([--disable-networkd], [disable networkd])) if test "x$enable_networkd" != "xno"; then AC_DEFINE(ENABLE_NETWORKD, 1, [Define if networkd support is to be enabled]) have_networkd=yes fi +AS_IF([test "x$have_networkd" = "xyes" -a "x$have_kmod" != "xyes"], + [AC_MSG_ERROR([networkd requires kmod])]) AM_CONDITIONAL(ENABLE_NETWORKD, [test "x$have_networkd" = "xyes"]) # ------------------------------------------------------------------------------ @@ -1185,6 +1229,8 @@ AC_MSG_RESULT([ time epoch: ${TIME_EPOCH} localed: ${have_localed} networkd: ${have_networkd} + resolved: ${have_resolved} + default DNS servers: ${DNS_SERVERS} coredump: ${have_coredump} polkit: ${have_polkit} efi: ${have_efi} @@ -1230,6 +1276,8 @@ AC_MSG_RESULT([ Extra start script: ${RC_LOCAL_SCRIPT_PATH_START} Extra stop script: ${RC_LOCAL_SCRIPT_PATH_STOP} Debug shell: ${SUSHELL} @ ${DEBUGTTY} + Maximum System UID: ${SYSTEM_UID_MAX} + Maximum System GID: ${SYSTEM_GID_MAX} CFLAGS: ${OUR_CFLAGS} ${CFLAGS} CPPFLAGS: ${OUR_CPPFLAGS} ${CPPFLAGS}