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
-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], [\
-Wl,--gc-sections \
-Wl,-z,relro \
-Wl,-z,now \
+ -pie \
-Wl,-fuse-ld=gold])
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(rlim_t,,[
+ #include <sys/time.h>
+ #include <sys/resource.h>
+])
# ------------------------------------------------------------------------------
# we use python to build the man page index, and for systemd-python
fi
AM_CONDITIONAL(ENABLE_TIMESYNCD, [test "$have_timesyncd" = "yes"])
+AC_ARG_WITH(ntp-servers,
+ AS_HELP_STRING([--with-ntp-servers=NTPSERVERS],
+ [Space-separated list of default NTP servers]),
+ [NTP_SERVERS="$withval"],
+ [NTP_SERVERS="time1.google.com time2.google.com time3.google.com time4.google.com"])
+
+AC_DEFINE_UNQUOTED(NTP_SERVERS, ["$NTP_SERVERS"], [Default NTP Servers])
+AC_SUBST(NTP_SERVERS)
+
+AC_ARG_WITH(time-epoch,
+ AS_HELP_STRING([--with-time-epoch=SECONDS],
+ [Time epoch for time clients]),
+ [TIME_EPOCH="$withval"],
+ [TIME_EPOCH="`stat -c %Y ${srcdir}/NEWS 2>/dev/null || echo 0`"])
+
+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]))
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"])
# ------------------------------------------------------------------------------
machined: ${have_machined}
hostnamed: ${have_hostnamed}
timedated: ${have_timedated}
+ timesyncd: ${have_timesyncd}
+ default NTP servers: ${NTP_SERVERS}
+ 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}
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}