X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=configure.ac;h=1e196f730764091fe3df22d98f2f30dfb9e595c5;hp=5737c65257c76c360332faa2256b4f6bdcdabb94;hb=042f9f5e5e76cf0e3cbfd009abd2add0366cdeca;hpb=9015fa646e04fc3cb180bea24c33d34edbb48ed7 diff --git a/configure.ac b/configure.ac index 5737c6525..1e196f730 100644 --- a/configure.ac +++ b/configure.ac @@ -20,7 +20,7 @@ AC_PREREQ([2.64]) AC_INIT([systemd], - [197], + [205], [http://bugs.freedesktop.org/enter_bug.cgi?product=systemd], [systemd], [http://www.freedesktop.org/wiki/Software/systemd]) @@ -44,6 +44,9 @@ AS_IF([test "x$host_cpu" = "xmips" || test "x$host_cpu" = "xmipsel" || LT_PREREQ(2.2) LT_INIT([disable-static]) +AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by systemd])]) +AS_IF([test "x$enable_largefile" = "xno"], [AC_MSG_ERROR([--disable-largefile is not supported by systemd])]) + # i18n stuff for the PolicyKit policy files IT_PROG_INTLTOOL([0.40.0]) @@ -71,10 +74,13 @@ AC_PATH_PROG([SETCAP], [setcap], [/usr/sbin/setcap]) AC_PATH_PROG([KILL], [kill], [/usr/bin/kill]) +AC_PATH_PROG([KMOD], [kmod], [/usr/bin/kmod]) + # 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])]) +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]) @@ -86,9 +92,9 @@ GOBJECT_INTROSPECTION_CHECK([1.31.1]) AM_CONDITIONAL([HAVE_INTROSPECTION], [false]) enable_introspection=no]) -AC_PATH_TOOL(OBJCOPY, objcopy) -AC_PATH_TOOL(STRINGS, strings) -AC_PATH_TOOL(GPERF, gperf) +AC_CHECK_TOOL(OBJCOPY, objcopy) +AC_CHECK_TOOL(STRINGS, strings) +AC_CHECK_TOOL(GPERF, gperf) if test -z "$GPERF" ; then AC_MSG_ERROR([*** gperf not found]) fi @@ -127,6 +133,7 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ -ffast-math \ -fno-common \ -fdiagnostics-show-option \ + -fdiagnostics-color \ -fno-strict-aliasing \ -fvisibility=hidden \ -ffunction-sections \ @@ -135,7 +142,7 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ --param=ssp-buffer-size=4]) AC_SUBST([OUR_CFLAGS], $with_cflags) -AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], [ +AS_CASE([$CFLAGS], [*-O[[12345g\ ]]*], [ CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\ -Wp,-D_FORTIFY_SOURCE=2])], [ python_extra_cflags=-Wp,-U_FORTIFY_SOURCE @@ -144,6 +151,7 @@ AC_SUBST([OUR_CPPFLAGS], $with_cppflags) CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\ -Wl,--as-needed \ + -Wl,--no-undefined \ -Wl,--gc-sections \ -Wl,-z,relro \ -Wl,-z,now]) @@ -164,7 +172,7 @@ AS_IF([test "x$with_python" != "xno"], [ 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="$(which "$PYTHON")"], [PYTHON_BINARY=/usr/bin/python])]) AC_ARG_VAR(PYTHON_BINARY, [Python binary used to launch installed scripts]) @@ -172,27 +180,15 @@ AS_IF([test "x$with_python" != "xno"], [ AC_PATH_PROG(PYTHON_CONFIG, python${PYTHON_VERSION}-config) AS_IF([test -n "$PYTHON_CONFIG"], [ have_python_devel=yes - PYTHON_CFLAGS="`$PYTHON_CONFIG --cflags` $python_extra_cflags" - PYTHON_LIBS="`$PYTHON_CONFIG --ldflags`" + PYTHON_CFLAGS="$($PYTHON_CONFIG --cflags) $python_extra_cflags" + PYTHON_LIBS="$($PYTHON_CONFIG --ldflags)" AC_SUBST(PYTHON_CFLAGS) AC_SUBST(PYTHON_LIBS) + AC_PATH_PROGS(SPHINX_BUILD, sphinx-build-${PYTHON_VERSION} sphinx-build) ]) ]) AM_CONDITIONAL([HAVE_PYTHON_DEVEL], [test "$have_python_devel" = "yes"]) -AC_ARG_ENABLE(sphinx, AS_HELP_STRING([--enable-sphinx], - [use sphinx to build documentation for python-systemd])) -AS_IF([test "x$enable_sphinx" = "xyes"], [ - AC_PATH_PROGS(SPHINX_BUILD, sphinx-build-${PYTHON_VERSION} sphinx-build) - AS_IF([test -z "$SPHINX_BUILD"], [ - AC_MSG_ERROR([*** sphinx build requested, but sphinx-build not found]) - ]) - AS_IF([test "x$have_python_devel" != "xyes"], [ - AC_MSG_ERROR([*** sphinx build requested, but python support not enabled]) - ]) -]) -AM_CONDITIONAL(ENABLE_SPHINX, [test "x$enable_sphinx" = "xyes"]) - # ------------------------------------------------------------------------------ AC_SEARCH_LIBS([mq_open], [rt], [], [AC_MSG_ERROR([*** POSIX RT library not found])]) @@ -222,10 +218,14 @@ PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.3.2]) have_kmod=no AC_ARG_ENABLE(kmod, AS_HELP_STRING([--disable-kmod], [disable loadable modules support])) if test "x$enable_kmod" != "xno"; then - PKG_CHECK_MODULES(KMOD, [ libkmod >= 5 ], - [AC_DEFINE(HAVE_KMOD, 1, [Define if kmod is available]) have_kmod=yes], have_kmod=no) + PKG_CHECK_EXISTS([ libkmod ], have_kmod=yes, have_kmod=no) + if test "x$have_kmod" = "xyes"; then + PKG_CHECK_MODULES(KMOD, [ libkmod >= 14 ], + [AC_DEFINE(HAVE_KMOD, 1, [Define if kmod is available])], + AC_MSG_ERROR([*** kmod version >= 14 not found])) + fi if test "x$have_kmod" = xno -a "x$enable_kmod" = xyes; then - AC_MSG_ERROR([*** kmod support requested but libraries not found]) + AC_MSG_ERROR([*** kmod support requested, but libraries not found]) fi fi AM_CONDITIONAL(HAVE_KMOD, [test "$have_kmod" = "yes"]) @@ -286,12 +286,22 @@ if test "x$enable_selinux" != "xno"; then fi fi AM_CONDITIONAL(HAVE_SELINUX, [test "$have_selinux" = "yes"]) -if test "x${have_selinux}" != xno ; then - sushell=/sbin/sushell -else - sushell=/bin/bash -fi -AC_SUBST(sushell) + +AC_ARG_WITH(debug-shell, + AS_HELP_STRING([--with-debug-shell=PATH], + [Path to debug shell binary]), + [SUSHELL="$withval"],[ + AS_IF([test "x${have_selinux}" != "xno"], [SUSHELL="/sbin/sushell"] , [SUSHELL="/bin/sh"])]) + +AC_SUBST(SUSHELL) + +AC_ARG_WITH([debug-tty], + AS_HELP_STRING([--with-debug-tty=PATH], + [Specify the tty device for debug shell]), + [DEBUGTTY="$withval"], + [DEBUGTTY=/dev/tty9]) + +AC_SUBST(DEBUGTTY) # ------------------------------------------------------------------------------ have_xz=no @@ -444,6 +454,31 @@ fi AC_SUBST(XATTR_LIBS) AM_CONDITIONAL([HAVE_XATTR], [test "x$have_xattr" != 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_xattr}" = xno; then + if test "x${have_smack}" = xyes; then + AC_MSG_ERROR(SMACK requires xattr support) + else + have_smack=no + fi +else + if test "x${have_smack}" = xauto; then + have_smack=yes + fi +fi + +if test "x${have_smack}" = xyes ; then + AC_DEFINE(HAVE_SMACK, 1, [Define if SMACK is available]) +fi + # ------------------------------------------------------------------------------ AC_ARG_ENABLE([gcrypt], AS_HELP_STRING([--disable-gcrypt],[Disable optional GCRYPT support]), @@ -590,6 +625,14 @@ if test "x$enable_quotacheck" != "xno"; then fi AM_CONDITIONAL(ENABLE_QUOTACHECK, [test "$have_quotacheck" = "yes"]) +# ------------------------------------------------------------------------------ +have_tmpfiles=no +AC_ARG_ENABLE(tmpfiles, AS_HELP_STRING([--disable-tmpfiles], [disable tmpfiles support])) +if test "x$enable_tmpfiles" != "xno"; then + have_tmpfiles=yes +fi +AM_CONDITIONAL(ENABLE_TMPFILES, [test "$have_tmpfiles" = "yes"]) + # ------------------------------------------------------------------------------ have_randomseed=no AC_ARG_ENABLE(randomseed, AS_HELP_STRING([--disable-randomseed], [disable randomseed tools])) @@ -607,6 +650,15 @@ fi AM_CONDITIONAL(ENABLE_LOGIND, [test "$have_logind" = "yes"]) AS_IF([test "$have_logind" = "yes"], [ AC_DEFINE(HAVE_LOGIND, [1], [Logind support available]) ]) +# ------------------------------------------------------------------------------ +have_machined=no +AC_ARG_ENABLE(machined, AS_HELP_STRING([--disable-machined], [disable machine daemon])) +if test "x$enable_machined" != "xno"; then + have_machined=yes +fi +AM_CONDITIONAL(ENABLE_MACHINED, [test "$have_machined" = "yes"]) +AS_IF([test "$have_machined" = "yes"], [ AC_DEFINE(HAVE_MACHINED, [1], [Machined support available]) ]) + # ------------------------------------------------------------------------------ have_hostnamed=no AC_ARG_ENABLE(hostnamed, AS_HELP_STRING([--disable-hostnamed], [disable hostname daemon])) @@ -695,6 +747,18 @@ AC_DEFINE_UNQUOTED(KBD_SETFONT, ["$KBD_SETFONT"], [Path of setfont]) AC_SUBST(KBD_LOADKEYS) AC_SUBST(KBD_SETFONT) +AC_ARG_WITH(telinit, + AS_HELP_STRING([--with-telinit=PATH], + [Path to telinit]), + [TELINIT="$withval"], + [TELINIT="/lib/upstart/telinit"]) + +AC_DEFINE_UNQUOTED(TELINIT, ["$TELINIT"], [Path to telinit]) + +AC_SUBST(TELINIT) + +AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h]) + # ------------------------------------------------------------------------------ have_myhostname=no AC_ARG_ENABLE(myhostname, AS_HELP_STRING([--disable-myhostname], [disable nss-myhostname support])) @@ -717,8 +781,8 @@ AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"]) # ------------------------------------------------------------------------------ AC_ARG_WITH(firmware-path, AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], - [Firmware search path (default=ROOTPREFIX/lib/firmware/updates:ROOTPREFIX/lib/firmware)]), - [], [with_firmware_path="$rootprefix/lib/firmware/updates:$rootprefix/lib/firmware"]) + [Firmware search path (default="")]), + [], [with_firmware_path=""]) OLD_IFS=$IFS IFS=: for i in $with_firmware_path; do @@ -729,14 +793,17 @@ for i in $with_firmware_path; do fi done IFS=$OLD_IFS -AC_SUBST([FIRMWARE_PATH], [$FIRMWARE_PATH]) +AC_SUBST(FIRMWARE_PATH) +AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is available]) ]) +AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"]) # ------------------------------------------------------------------------------ AC_ARG_ENABLE([gudev], AS_HELP_STRING([--disable-gudev], [disable Gobject libudev support @<:@default=enabled@:>@]), [], [enable_gudev=yes]) -AS_IF([test "x$enable_gudev" = "xyes"], [ PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.22.0 gobject-2.0 >= 2.22.0]) ]) +AS_IF([test "x$enable_gudev" = "xyes"], [ PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.22.0 gobject-2.0 >= 2.22.0 gio-2.0]) ]) AM_CONDITIONAL([ENABLE_GUDEV], [test "x$enable_gudev" = "xyes"]) +AS_IF([test "x$enable_gudev" = "xyes"], [ AC_DEFINE(HAVE_GLIB, 1, [Define if glib is available]) ]) # ------------------------------------------------------------------------------ AC_ARG_ENABLE([keymap], @@ -808,22 +875,31 @@ AC_ARG_WITH([tty-gid], AC_ARG_WITH([dbuspolicydir], AS_HELP_STRING([--with-dbuspolicydir=DIR], [D-Bus policy directory]), [], - [with_dbuspolicydir=`pkg-config --variable=sysconfdir dbus-1`/dbus-1/system.d]) + [with_dbuspolicydir=$($PKG_CONFIG --variable=sysconfdir dbus-1)/dbus-1/system.d]) AC_ARG_WITH([dbussessionservicedir], AS_HELP_STRING([--with-dbussessionservicedir=DIR], [D-Bus session service directory]), [], - [with_dbussessionservicedir=`pkg-config --variable=session_bus_services_dir dbus-1`]) + [with_dbussessionservicedir=$($PKG_CONFIG --variable=session_bus_services_dir dbus-1)]) AC_ARG_WITH([dbussystemservicedir], AS_HELP_STRING([--with-dbussystemservicedir=DIR], [D-Bus system service directory]), [], - [with_dbussystemservicedir=`pkg-config --variable=session_bus_services_dir dbus-1`/../system-services]) + [with_dbussystemservicedir=$(readlink -m $($PKG_CONFIG --variable=session_bus_services_dir dbus-1)/../system-services)]) AC_ARG_WITH([dbusinterfacedir], AS_HELP_STRING([--with-dbusinterfacedir=DIR], [D-Bus interface directory]), [], - [with_dbusinterfacedir=`pkg-config --variable=session_bus_services_dir dbus-1`/../interfaces]) + [with_dbusinterfacedir=$(readlink -m $($PKG_CONFIG --variable=session_bus_services_dir dbus-1)/../interfaces)]) + +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 + ])]) AC_ARG_WITH([rootprefix], AS_HELP_STRING([--with-rootprefix=DIR], [rootfs directory prefix for config files and kernel modules]), @@ -859,10 +935,16 @@ AS_IF([test "x$0" != "x./configure"], [ AC_SUBST([INTLTOOL_UPDATE], [/bin/true]) ]) +AC_ARG_ENABLE(tests, + [AC_HELP_STRING([--disable-tests], [disable tests])], + enable_tests=$enableval, enable_tests=yes) +AM_CONDITIONAL(ENABLE_TESTS, [test x$enable_tests = xyes]) + AC_SUBST([dbuspolicydir], [$with_dbuspolicydir]) AC_SUBST([dbussessionservicedir], [$with_dbussessionservicedir]) AC_SUBST([dbussystemservicedir], [$with_dbussystemservicedir]) AC_SUBST([dbusinterfacedir], [$with_dbusinterfacedir]) +AC_SUBST([bashcompletiondir], [$with_bashcompletiondir]) AC_SUBST([pamlibdir], [$with_pamlibdir]) AC_SUBST([rootprefix], [$with_rootprefix]) AC_SUBST([rootlibdir], [$with_rootlibdir]) @@ -885,6 +967,7 @@ AC_MSG_RESULT([ AUDIT: ${have_audit} IMA: ${have_ima} SELinux: ${have_selinux} + SMACK: ${have_smack} XZ: ${have_xz} ACL: ${have_acl} XATTR: ${have_xattr} @@ -897,8 +980,10 @@ AC_MSG_RESULT([ readahead: ${have_readahead} bootchart: ${have_bootchart} quotacheck: ${have_quotacheck} + tmpfiles: ${have_tmpfiles} randomseed: ${have_randomseed} logind: ${have_logind} + machined: ${have_machined} hostnamed: ${have_hostnamed} timedated: ${have_timedated} localed: ${have_localed} @@ -915,7 +1000,6 @@ AC_MSG_RESULT([ Python Headers: ${have_python_devel} man pages: ${have_manpages} gtk-doc: ${enable_gtk_doc} - sphinx documentation: ${enable_sphinx} Split /usr: ${enable_split_usr} SysV compatibility: ${SYSTEM_SYSV_COMPAT} @@ -937,11 +1021,13 @@ AC_MSG_RESULT([ D-Bus session dir: ${with_dbussessionservicedir} D-Bus system dir: ${with_dbussystemservicedir} D-Bus interfaces dir: ${with_dbusinterfacedir} + Bash completions dir: ${with_bashcompletiondir} Extra start script: ${RC_LOCAL_SCRIPT_PATH_START} Extra stop script: ${RC_LOCAL_SCRIPT_PATH_STOP} + Debug shell: ${SUSHELL} @ ${DEBUGTTY} CFLAGS: ${OUR_CFLAGS} ${CFLAGS} - CPPLAGS: ${OUR_CPPFLAGS} ${CPPFLAGS} + CPPFLAGS: ${OUR_CPPFLAGS} ${CPPFLAGS} LDFLAGS: ${OUR_LDFLAGS} ${LDFLAGS} PYTHON_CFLAGS: ${PYTHON_CFLAGS} PYTHON_LIBS: ${PYTHON_LIBS}