AC_PREREQ([2.64])
AC_INIT([systemd],
- [196],
+ [197],
[http://bugs.freedesktop.org/enter_bug.cgi?product=systemd],
[systemd],
[http://www.freedesktop.org/wiki/Software/systemd])
[AC_DEFINE(ARCH_MIPS, [], [Whether on mips arch])])
LT_PREREQ(2.2)
-LT_INIT
+LT_INIT([disable-static])
# i18n stuff for the PolicyKit policy files
IT_PROG_INTLTOOL([0.40.0])
m4_ifdef([GOBJECT_INTROSPECTION_CHECK], [
GOBJECT_INTROSPECTION_CHECK([1.31.1])
-], [AM_CONDITIONAL([HAVE_INTROSPECTION], [false])])
+], [
+ AM_CONDITIONAL([HAVE_INTROSPECTION], [false])
+ enable_introspection=no])
AC_PATH_TOOL(OBJCOPY, objcopy)
AC_PATH_TOOL(STRINGS, strings)
AM_PATH_PYTHON(,, [:])
AS_IF([test "$PYTHON" != :], [have_python=yes])
])
-AM_CONDITIONAL([HAVE_PYTHON], [test "$have_python" = "yes"])
+AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"])
+AS_IF([test "x$PYTHON_BINARY" = "x"],
+ [AS_IF([test "x$have_python" = "xyes"],
+ [PYTHON_BINARY="`which "$PYTHON"`"],
+ [PYTHON_BINARY=/usr/bin/python])])
+AC_ARG_VAR(PYTHON_BINARY, [Python binary used to launch installed scripts])
AS_IF([test "x$with_python" != "xno"], [
AC_PATH_PROG(PYTHON_CONFIG, python${PYTHON_VERSION}-config)
-Wextra \
-Wno-inline \
-Wundef \
- -Wformat=2 \
+ "-Wformat=2 -Wformat-security -Wformat-nonliteral" \
-Wlogical-op \
-Wsign-compare \
- -Wformat-security \
-Wmissing-include-dirs \
- -Wformat-nonliteral \
-Wold-style-definition \
-Wpointer-arith \
-Winit-self \
--param=ssp-buffer-size=4])
AC_SUBST([OUR_CFLAGS], $with_cflags)
-CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\
- -Wp,-D_FORTIFY_SOURCE=2])
+AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], [
+ CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\
+ -Wp,-D_FORTIFY_SOURCE=2])], [
+ AC_MSG_RESULT([skipping -D_FORTIFY_SOURCE, optimization not enabled])])
AC_SUBST([OUR_CPPFLAGS], $with_cppflags)
CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\
AC_DEFINE(HAVE_IMA, 1, [Define if IMA is available])
fi
+# ------------------------------------------------------------------------------
+have_chkconfig=yes
+AC_ARG_ENABLE([chkconfig], AS_HELP_STRING([--disable-chkconfig],[Disable optional chkconfig support]),
+ [case "${enableval}" in
+ yes) have_chkconfig=yes ;;
+ no) have_chkconfig=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-chkconfig) ;;
+ esac],
+ [AC_PATH_PROG(CHKCONFIG, chkconfig)
+ if test -z "$CHKCONFIG"; then
+ have_chkconfig=no
+ else
+ have_chkconfig=yes
+ fi])
+
+if test "x${have_chkconfig}" != xno ; then
+ AC_DEFINE(HAVE_CHKCONFIG, 1, [Define if CHKCONFIG is available])
+fi
+
# ------------------------------------------------------------------------------
have_selinux=no
AC_ARG_ENABLE(selinux, AS_HELP_STRING([--disable-selinux], [Disable optional SELINUX support]))
fi
AM_CONDITIONAL(ENABLE_READAHEAD, [test "$have_readahead" = "yes"])
+# ------------------------------------------------------------------------------
+have_bootchart=no
+AC_ARG_ENABLE(bootchart, AS_HELP_STRING([--disable-bootchart], [disable bootchart tool]))
+if test "x$enable_bootchart" != "xno"; then
+ have_bootchart=yes
+fi
+AM_CONDITIONAL(ENABLE_BOOTCHART, [test "$have_bootchart" = "yes"])
+
# ------------------------------------------------------------------------------
have_quotacheck=no
AC_ARG_ENABLE(quotacheck, AS_HELP_STRING([--disable-quotacheck], [disable quotacheck tools]))
AC_ARG_WITH(rc-local-script-path-stop,
AS_HELP_STRING([--with-rc-local-script-path-stop=PATH],
- [Path to /sbin/halt.local]),
+ [Path to /usr/sbin/halt.local]),
[RC_LOCAL_SCRIPT_PATH_STOP="$withval"],
- [RC_LOCAL_SCRIPT_PATH_STOP="/sbin/halt.local"])
+ [RC_LOCAL_SCRIPT_PATH_STOP="/usr/sbin/halt.local"])
AC_DEFINE_UNQUOTED(RC_LOCAL_SCRIPT_PATH_START, ["$RC_LOCAL_SCRIPT_PATH_START"], [Path of /etc/rc.local script])
-AC_DEFINE_UNQUOTED(RC_LOCAL_SCRIPT_PATH_STOP, ["$RC_LOCAL_SCRIPT_PATH_STOP"], [Path of /sbin/halt.local script])
+AC_DEFINE_UNQUOTED(RC_LOCAL_SCRIPT_PATH_STOP, ["$RC_LOCAL_SCRIPT_PATH_STOP"], [Path of /usr/sbin/halt.local script])
AC_SUBST(RC_LOCAL_SCRIPT_PATH_START)
AC_SUBST(RC_LOCAL_SCRIPT_PATH_STOP)
+# ------------------------------------------------------------------------------
+AC_ARG_WITH(kbd-loadkeys,
+ AS_HELP_STRING([--with-kbd-loadkeys=PATH],
+ [Path to loadkeys]),
+ [KBD_LOADKEYS="$withval"],
+ [KBD_LOADKEYS="/usr/bin/loadkeys"])
+
+AC_ARG_WITH(kbd-setfont,
+ AS_HELP_STRING([--with-kbd-setfont=PATH],
+ [Path to setfont]),
+ [KBD_SETFONT="$withval"],
+ [KBD_SETFONT="/usr/bin/setfont"])
+
+AC_DEFINE_UNQUOTED(KBD_LOADKEYS, ["$KBD_LOADKEYS"], [Path of loadkeys])
+AC_DEFINE_UNQUOTED(KBD_SETFONT, ["$KBD_SETFONT"], [Path of setfont])
+
+AC_SUBST(KBD_LOADKEYS)
+AC_SUBST(KBD_SETFONT)
+
+# ------------------------------------------------------------------------------
+have_myhostname=no
+AC_ARG_ENABLE(myhostname, AS_HELP_STRING([--disable-myhostname], [disable nss-myhostname support]))
+if test "x$enable_myhostname" != "xno"; then
+ AC_HEADER_STDC
+ AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h nss.h sys/ioctl.h])
+
+ AC_C_CONST
+ AC_TYPE_SIZE_T
+ AC_HEADER_TIME
+
+ AC_FUNC_MALLOC
+ AC_FUNC_SELECT_ARGTYPES
+ AC_CHECK_FUNCS([gethostbyaddr gethostbyname gettimeofday inet_ntoa memset select socket strcspn strdup strerror strncasecmp strcasecmp strspn])
+
+ have_myhostname=yes
+fi
+AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"])
+
# ------------------------------------------------------------------------------
AC_ARG_WITH(firmware-path,
AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]],
# ------------------------------------------------------------------------------
-AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, arch, gentoo, slackware, altlinux, mandriva, mageia, angstrom or other]))
-if test "z$with_distro" = "z"; then
- if test "$cross_compiling" = yes; then
- AC_MSG_WARN([Target distribution cannot be reliably detected when cross-compiling. You should specify it with --with-distro (see $0 --help for recognized distros)])
- else
- with_distro=$($GREP '^ID=' /etc/os-release 2>/dev/null | $SED 's/ID=//');
- fi
- if test "z$with_distro" = "z"; then
- with_distro=other
- fi
-fi
-with_distro=`echo ${with_distro} | tr '[[:upper:]]' '[[:lower:]]' `
-AC_DEFINE_UNQUOTED(DISTRIBUTION, ["${with_distro}"], [Target Distribution])
-
# Location of the init scripts as mandated by LSB
SYSTEM_SYSVINIT_PATH=/etc/init.d
SYSTEM_SYSVRCND_PATH=/etc/rc.d
-
M4_DEFINES=
-case $with_distro in
- fedora)
- SYSTEM_SYSVINIT_PATH=/etc/rc.d/init.d
- AC_DEFINE(TARGET_FEDORA, [], [Target is Fedora/RHEL])
- M4_DEFINES=-DTARGET_FEDORA=1
- ;;
- opensuse|suse)
- SYSTEM_SYSVRCND_PATH=/etc/init.d
- AC_DEFINE(TARGET_SUSE, [], [Target is openSUSE/SLE])
- M4_DEFINES=-DTARGET_SUSE=1
- ;;
- debian)
- SYSTEM_SYSVRCND_PATH=/etc
- AC_DEFINE(TARGET_DEBIAN, [], [Target is Debian])
- M4_DEFINES=-DTARGET_DEBIAN=1
- ;;
- arch)
- SYSTEM_SYSVINIT_PATH=
- SYSTEM_SYSVRCND_PATH=
- AC_DEFINE(TARGET_ARCH, [], [Target is ArchLinux])
- M4_DEFINES=-DTARGET_ARCH=1
- ;;
- gentoo)
- SYSTEM_SYSVINIT_PATH=
- SYSTEM_SYSVRCND_PATH=
- AC_DEFINE(TARGET_GENTOO, [], [Target is Gentoo])
- M4_DEFINES=-DTARGET_GENTOO=1
- ;;
- slackware)
- SYSTEM_SYSVINIT_PATH=/etc/rc.d/init.d
- AC_DEFINE(TARGET_SLACKWARE, [], [Target is Slackware])
- M4_DEFINES=-DTARGET_SLACKWARE=1
- ;;
- frugalware)
- SYSTEM_SYSVINIT_PATH=/etc/rc.d
- AC_DEFINE(TARGET_FRUGALWARE, [], [Target is Frugalware])
- M4_DEFINES=-DTARGET_FRUGALWARE=1
- ;;
- altlinux)
- SYSTEM_SYSVINIT_PATH=/etc/rc.d/init.d
- AC_DEFINE(TARGET_ALTLINUX, [], [Target is ALTLinux])
- M4_DEFINES=-DTARGET_ALTLINUX=1
- ;;
- mandriva)
- SYSTEM_SYSVINIT_PATH=/etc/rc.d/init.d
- AC_DEFINE(TARGET_MANDRIVA, [], [Target is Mandriva])
- M4_DEFINES=-DTARGET_MANDRIVA=1
- ;;
- angstrom)
- SYSTEM_SYSVRCND_PATH=/etc
- AC_DEFINE(TARGET_ANGSTROM, [], [Target is Ångström])
- M4_DEFINES=-DTARGET_ANGSTROM=1
- ;;
- mageia)
- SYSTEM_SYSVINIT_PATH=/etc/rc.d/init.d
- AC_DEFINE(TARGET_MAGEIA, [], [Target is Mageia])
- M4_DEFINES=-DTARGET_MAGEIA=1
- ;;
- other)
- ;;
- *)
- AC_MSG_ERROR([Your distribution (${with_distro}) is not yet supported, SysV init scripts could not be found! (patches welcome); you can specify --with-distro=other to skip this check])
- ;;
-esac
-
AC_ARG_WITH([sysvinit-path],
[AS_HELP_STRING([--with-sysvinit-path=PATH],
- [Specify the path to where the SysV init scripts are located @<:@default=based on distro@:>@])],
+ [Specify the path to where the SysV init scripts are located])],
[SYSTEM_SYSVINIT_PATH="$withval"],
[])
-AC_ARG_WITH([sysvrcd-path],
- [AS_HELP_STRING([--with-sysvrcd-path=PATH],
- [Specify the path to the base directory for the SysV rcN.d directories @<:@default=based on distro@:>@])],
+AC_ARG_WITH([sysvrcnd-path],
+ [AS_HELP_STRING([--with-sysvrcnd-path=PATH],
+ [Specify the path to the base directory for the SysV rcN.d directories])],
[SYSTEM_SYSVRCND_PATH="$withval"],
[])
-AC_SUBST(SYSTEM_SYSVINIT_PATH)
-AC_SUBST(SYSTEM_SYSVRCND_PATH)
-AC_SUBST(M4_DEFINES)
-
if test "x${SYSTEM_SYSVINIT_PATH}" != "x" -a "x${SYSTEM_SYSVRCND_PATH}" != "x"; then
AC_DEFINE(HAVE_SYSV_COMPAT, [], [SysV init scripts and rcN.d links are supported.])
SYSTEM_SYSV_COMPAT="yes"
M4_DEFINES="$M4_DEFINES -DHAVE_SYSV_COMPAT"
elif test "x${SYSTEM_SYSVINIT_PATH}" != "x" -o "x${SYSTEM_SYSVRCND_PATH}" != "x"; then
- AC_MSG_ERROR([*** You need both --with-sysvinit-path=PATH and --with-sysvrcd-path=PATH to enable SysV compatibility support, or both empty to disable it.])
+ AC_MSG_ERROR([*** You need both --with-sysvinit-path=PATH and --with-sysvrcnd-path=PATH to enable SysV compatibility support, or both empty to disable it.])
else
SYSTEM_SYSV_COMPAT="no"
fi
+AC_SUBST(SYSTEM_SYSVINIT_PATH)
+AC_SUBST(SYSTEM_SYSVRCND_PATH)
+AC_SUBST(M4_DEFINES)
+
+AM_CONDITIONAL(HAVE_SYSV_COMPAT, test "$SYSTEM_SYSV_COMPAT" = "yes")
+
AC_ARG_WITH([tty-gid],
[AS_HELP_STRING([--with-tty-gid=GID],
[Specify the numeric GID of the 'tty' group])],
[AC_DEFINE_UNQUOTED(TTY_GID, [$withval], [GID of the 'tty' group])],
[])
-AM_CONDITIONAL(TARGET_FEDORA, test x"$with_distro" = xfedora)
-AM_CONDITIONAL(TARGET_SUSE, test x"$with_distro" = xsuse)
-AM_CONDITIONAL(TARGET_DEBIAN, test x"$with_distro" = xdebian)
-AM_CONDITIONAL(TARGET_ARCH, test x"$with_distro" = xarch)
-AM_CONDITIONAL(TARGET_GENTOO, test x"$with_distro" = xgentoo)
-AM_CONDITIONAL(TARGET_SLACKWARE, test x"$with_distro" = xslackware)
-AM_CONDITIONAL(TARGET_FRUGALWARE, test x"$with_distro" = xfrugalware)
-AM_CONDITIONAL(TARGET_ALTLINUX, test x"$with_distro" = xaltlinux)
-AM_CONDITIONAL(TARGET_MANDRIVA, test x"$with_distro" = xmandriva)
-AM_CONDITIONAL(TARGET_ANGSTROM, test x"$with_distro" = xangstrom)
-AM_CONDITIONAL(TARGET_MAGEIA, test x"$with_distro" = xmageia)
-
-AM_CONDITIONAL(HAVE_SYSV_COMPAT, test "$SYSTEM_SYSV_COMPAT" = "yes")
-
AC_ARG_WITH([dbuspolicydir],
AS_HELP_STRING([--with-dbuspolicydir=DIR], [D-Bus policy directory]),
[],
AC_MSG_RESULT([
$PACKAGE_NAME $VERSION
- Distribution: ${with_distro}
- SysV compatibility: ${SYSTEM_SYSV_COMPAT}
- SysV init scripts: ${SYSTEM_SYSVINIT_PATH}
- SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH}
libcryptsetup: ${have_libcryptsetup}
tcpwrap: ${have_tcpwrap}
PAM: ${have_pam}
GCRYPT: ${have_gcrypt}
QRENCODE: ${have_qrencode}
MICROHTTPD: ${have_microhttpd}
+ CHKCONFIG: ${have_chkconfig}
binfmt: ${have_binfmt}
vconsole: ${have_vconsole}
readahead: ${have_readahead}
+ bootchart: ${have_bootchart}
quotacheck: ${have_quotacheck}
randomseed: ${have_randomseed}
logind: ${have_logind}
coredump: ${have_coredump}
kmod: ${have_kmod}
blkid: ${have_blkid}
- firmware path: ${FIRMWARE_PATH}
+ nss-myhostname: ${have_myhostname}
gudev: ${enable_gudev}
gintrospection: ${enable_introspection}
keymap: ${enable_keymap}
Python: ${have_python}
Python Headers: ${have_python_devel}
+ man pages: ${have_manpages}
+ gtk-doc: ${enable_gtk_doc}
+ Split /usr: ${enable_split_usr}
+ SysV compatibility: ${SYSTEM_SYSV_COMPAT}
prefix: ${prefix}
rootprefix: ${with_rootprefix}
include_prefix: ${INCLUDE_PREFIX}
lib dir: ${libdir}
rootlib dir: ${with_rootlibdir}
+ SysV init scripts: ${SYSTEM_SYSVINIT_PATH}
+ SysV rc?.d directories: ${SYSTEM_SYSVRCND_PATH}
+ Build Python: ${PYTHON}
+ Installation Python: ${PYTHON_BINARY}
+ firmware path: ${FIRMWARE_PATH}
PAM modules dir: ${with_pamlibdir}
D-Bus policy dir: ${with_dbuspolicydir}
D-Bus session dir: ${with_dbussessionservicedir}
D-Bus system dir: ${with_dbussystemservicedir}
D-Bus interfaces dir: ${with_dbusinterfacedir}
- Split /usr: ${enable_split_usr}
- man pages: ${have_manpages}
- gtk-doc: ${enable_gtk_doc}
Extra start script: ${RC_LOCAL_SCRIPT_PATH_START}
Extra stop script: ${RC_LOCAL_SCRIPT_PATH_STOP}