X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=configure.ac;h=80d015691645e0dd9255977d52135ff98e1f2234;hp=58296b9cf0382351878aa2c5010cb8b35b49fc73;hb=8a0f04e6a283cc6734ee09a20305c13e09ba0418;hpb=e05b415e950a548146c6f6dd799dc7d2b7d7892b diff --git a/configure.ac b/configure.ac index 58296b9cf..80d015691 100644 --- a/configure.ac +++ b/configure.ac @@ -17,14 +17,14 @@ AC_PREREQ(2.63) -AC_INIT([systemd],[29],[systemd-devel@lists.freedesktop.org]) +AC_INIT([systemd],[38],[systemd-devel@lists.freedesktop.org]) AC_CONFIG_SRCDIR([src/main.c]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([config.h]) AC_USE_SYSTEM_EXTENSIONS AC_SYS_LARGEFILE - -AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax subdir-objects dist-bzip2]) +AC_PREFIX_DEFAULT([/usr]) +AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax no-dist-gzip dist-xz subdir-objects]) AC_SUBST(PACKAGE_URL, [http://www.freedesktop.org/wiki/Software/systemd]) @@ -43,9 +43,16 @@ AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [ ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}" ]) +# i18n stuff for the PolicyKit policy files +IT_PROG_INTLTOOL([0.40.0]) + +GETTEXT_PACKAGE=systemd +AC_SUBST(GETTEXT_PACKAGE) + AC_PROG_MKDIR_P AC_PROG_LN_S AC_PROG_SED +AC_PROG_AWK AC_PROG_CC AC_PROG_CC_C99 @@ -54,6 +61,10 @@ AC_PROG_GCC_TRADITIONAL 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 CC_CHECK_CFLAGS_APPEND([ \ -pipe \ @@ -105,13 +116,19 @@ LT_INIT AC_SEARCH_LIBS([clock_gettime], [rt], [], [AC_MSG_ERROR([*** POSIX RT library not found])]) AC_SEARCH_LIBS([dlsym], [dl], [], [AC_MSG_ERROR([*** Dynamic linking loader library not found])]) + +save_LIBS="$LIBS" +LIBS= AC_SEARCH_LIBS([cap_init], [cap], [], [AC_MSG_ERROR([*** POSIX caps library not found])]) AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps headers not found])]) +CAP_LIBS="$LIBS" +LIBS="$save_LIBS" +AC_SUBST(CAP_LIBS) # 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 >= 160 ]) +PKG_CHECK_MODULES(UDEV, [ libudev >= 172 ]) AC_SUBST(UDEV_CFLAGS) AC_SUBST(UDEV_LIBS) @@ -132,6 +149,19 @@ if test "x$enable_selinux" != "xno"; then fi AM_CONDITIONAL(HAVE_SELINUX, [test "$have_selinux" = "yes"]) +have_xz=no +AC_ARG_ENABLE(xz, AS_HELP_STRING([--disable-xz], [Disable optional XZ support])) +if test "x$enable_xz" != "xno"; then + PKG_CHECK_MODULES(XZ, [ liblzma ], + [AC_DEFINE(HAVE_XZ, 1, [Define if XZ is available]) have_xz=yes], have_xz=no) + AC_SUBST(XZ_CFLAGS) + AC_SUBST(XZ_LIBS) + if test "x$have_xz" = xno -a "x$enable_xz" = xyes; then + AC_MSG_ERROR([*** Xz support requested but libraries not found]) + fi +fi +AM_CONDITIONAL(HAVE_XZ, [test "$have_xz" = "yes"]) + AC_ARG_ENABLE([tcpwrap], AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]), [case "${enableval}" in @@ -286,10 +316,66 @@ if test "x$enable_binfmt" != "xno"; then fi AM_CONDITIONAL(ENABLE_BINFMT, [test "$have_binfmt" = "yes"]) +have_vconsole=no +AC_ARG_ENABLE(vconsole, AS_HELP_STRING([--disable-vconsole], [disable vconsole tool])) +if test "x$enable_vconsole" != "xno"; then + have_vconsole=yes +fi +AM_CONDITIONAL(ENABLE_VCONSOLE, [test "$have_vconsole" = "yes"]) + +have_readahead=no +AC_ARG_ENABLE(readahead, AS_HELP_STRING([--disable-readahead], [disable readahead tools])) +if test "x$enable_readahead" != "xno"; then + have_readahead=yes +fi +AM_CONDITIONAL(ENABLE_READAHEAD, [test "$have_readahead" = "yes"]) + +have_quotacheck=no +AC_ARG_ENABLE(quotacheck, AS_HELP_STRING([--disable-quotacheck], [disable quotacheck tools])) +if test "x$enable_quotacheck" != "xno"; then + have_quotacheck=yes +fi +AM_CONDITIONAL(ENABLE_QUOTACHECK, [test "$have_quotacheck" = "yes"]) + +have_randomseed=no +AC_ARG_ENABLE(randomseed, AS_HELP_STRING([--disable-randomseed], [disable randomseed tools])) +if test "x$enable_randomseed" != "xno"; then + have_randomseed=yes +fi +AM_CONDITIONAL(ENABLE_RANDOMSEED, [test "$have_randomseed" = "yes"]) + +have_logind=no +AC_ARG_ENABLE(logind, AS_HELP_STRING([--disable-logind], [disable login daemon])) +if test "x$enable_logind" != "xno"; then + have_logind=yes +fi +AM_CONDITIONAL(ENABLE_LOGIND, [test "$have_logind" = "yes"]) + +have_hostnamed=no +AC_ARG_ENABLE(hostnamed, AS_HELP_STRING([--disable-hostnamed], [disable hostname daemon])) +if test "x$enable_hostnamed" != "xno"; then + have_hostnamed=yes +fi +AM_CONDITIONAL(ENABLE_HOSTNAMED, [test "$have_hostnamed" = "yes"]) + +have_timedated=no +AC_ARG_ENABLE(timedated, AS_HELP_STRING([--disable-timedated], [disable timedate daemon])) +if test "x$enable_timedated" != "xno"; then + have_timedated=yes +fi +AM_CONDITIONAL(ENABLE_TIMEDATED, [test "$have_timedated" = "yes"]) + +have_localed=no +AC_ARG_ENABLE(localed, AS_HELP_STRING([--disable-localed], [disable locale daemon])) +if test "x$enable_localed" != "xno"; then + have_localed=yes +fi +AM_CONDITIONAL(ENABLE_LOCALED, [test "$have_localed" = "yes"]) + have_gtk=no AC_ARG_ENABLE(gtk, AS_HELP_STRING([--disable-gtk], [disable GTK tools])) if test "x$enable_gtk" != "xno"; then - PKG_CHECK_MODULES(GTK, [ gtk+-2.0 glib-2.0 > 2.26 gio-unix-2.0 ], + PKG_CHECK_MODULES(GTK, [ gtk+-2.0 glib-2.0 > 2.26 gio-unix-2.0 gee-1.0], [AC_DEFINE(HAVE_GTK, 1, [Define if GTK is available]) have_gtk=yes], have_gtk=no) AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) @@ -301,12 +387,9 @@ AM_CONDITIONAL(HAVE_GTK, [test "$have_gtk" = "yes"]) if test "$have_gtk" = "yes"; then PKG_CHECK_MODULES(LIBNOTIFY, [ libnotify ]) - PKG_CHECK_EXISTS([ libnotify >= 0.7.0 ], [ libnotify07=yes ]) - AC_SUBST(LIBNOTIFY_CFLAGS) AC_SUBST(LIBNOTIFY_LIBS) fi -AM_CONDITIONAL(LIBNOTIFY07, [ test "$libnotify07" = "yes" ]) AM_PROG_VALAC([0.10]) AC_SUBST(VAPIDIR) @@ -333,6 +416,7 @@ if test "z$with_distro" = "z"; then test -f "/etc/mandriva-release" && with_distro="mandriva" test -f "/etc/meego-release" && with_distro="meego" test -f "/etc/angstrom-version" && with_distro="angstrom" + test -f "/etc/mageia-release" && with_distro="mageia" if test "x`lsb_release -is 2>/dev/null`" = "xUbuntu"; then with_distro="ubuntu" fi @@ -348,77 +432,83 @@ AC_DEFINE_UNQUOTED(DISTRIBUTION, ["${with_distro}"], [Target Distribution]) SYSTEM_SYSVINIT_PATH=/etc/init.d SYSTEM_SYSVRCND_PATH=/etc/rc.d -M4_DISTRO_FLAG= +M4_DEFINES= have_plymouth=no case $with_distro in fedora) SYSTEM_SYSVINIT_PATH=/etc/rc.d/init.d AC_DEFINE(TARGET_FEDORA, [], [Target is Fedora/RHEL]) - M4_DISTRO_FLAG=-DTARGET_FEDORA=1 + M4_DEFINES=-DTARGET_FEDORA=1 have_plymouth=yes ;; suse) SYSTEM_SYSVRCND_PATH=/etc/init.d AC_DEFINE(TARGET_SUSE, [], [Target is openSUSE/SLE]) - M4_DISTRO_FLAG=-DTARGET_SUSE=1 + M4_DEFINES=-DTARGET_SUSE=1 have_plymouth=yes ;; debian) SYSTEM_SYSVRCND_PATH=/etc AC_DEFINE(TARGET_DEBIAN, [], [Target is Debian]) - M4_DISTRO_FLAG=-DTARGET_DEBIAN=1 + M4_DEFINES=-DTARGET_DEBIAN=1 ;; ubuntu) SYSTEM_SYSVRCND_PATH=/etc AC_DEFINE(TARGET_UBUNTU, [], [Target is Ubuntu]) - M4_DISTRO_FLAG=-DTARGET_UBUNTU=1 + M4_DEFINES=-DTARGET_UBUNTU=1 ;; arch) SYSTEM_SYSVINIT_PATH=/etc/rc.d SYSTEM_SYSVRCND_PATH=/etc AC_DEFINE(TARGET_ARCH, [], [Target is ArchLinux]) - M4_DISTRO_FLAG=-DTARGET_ARCH=1 + M4_DEFINES=-DTARGET_ARCH=1 ;; gentoo) SYSTEM_SYSVINIT_PATH= SYSTEM_SYSVRCND_PATH= AC_DEFINE(TARGET_GENTOO, [], [Target is Gentoo]) - M4_DISTRO_FLAG=-DTARGET_GENTOO=1 + M4_DEFINES=-DTARGET_GENTOO=1 ;; slackware) SYSTEM_SYSVINIT_PATH=/etc/rc.d/init.d AC_DEFINE(TARGET_SLACKWARE, [], [Target is Slackware]) - M4_DISTRO_FLAG=-DTARGET_SLACKWARE=1 + M4_DEFINES=-DTARGET_SLACKWARE=1 ;; frugalware) SYSTEM_SYSVINIT_PATH=/etc/rc.d AC_DEFINE(TARGET_FRUGALWARE, [], [Target is Frugalware]) - M4_DISTRO_FLAG=-DTARGET_FRUGALWARE=1 + M4_DEFINES=-DTARGET_FRUGALWARE=1 have_plymouth=yes ;; altlinux) SYSTEM_SYSVINIT_PATH=/etc/rc.d/init.d AC_DEFINE(TARGET_ALTLINUX, [], [Target is ALTLinux]) - M4_DISTRO_FLAG=-DTARGET_ALTLINUX=1 + M4_DEFINES=-DTARGET_ALTLINUX=1 have_plymouth=yes ;; mandriva) SYSTEM_SYSVINIT_PATH=/etc/rc.d/init.d AC_DEFINE(TARGET_MANDRIVA, [], [Target is Mandriva]) - M4_DISTRO_FLAG=-DTARGET_MANDRIVA=1 + M4_DEFINES=-DTARGET_MANDRIVA=1 have_plymouth=yes ;; meego) SYSTEM_SYSVINIT_PATH= SYSTEM_SYSVRCND_PATH= AC_DEFINE(TARGET_MEEGO, [], [Target is MeeGo]) - M4_DISTRO_FLAG=-DTARGET_MEEGO=1 + M4_DEFINES=-DTARGET_MEEGO=1 ;; angstrom) SYSTEM_SYSVRCND_PATH=/etc AC_DEFINE(TARGET_ANGSTROM, [], [Target is Ångström]) - M4_DISTRO_FLAG=-DTARGET_ANGSTROM=1 + M4_DEFINES=-DTARGET_ANGSTROM=1 + ;; + mageia) + SYSTEM_SYSVINIT_PATH=/etc/rc.d/init.d + AC_DEFINE(TARGET_MAGEIA, [], [Target is Mageia]) + M4_DISTRO_FLAG=-DTARGET_MAGEIA=1 + have_plymouth=yes ;; other) ;; @@ -441,11 +531,12 @@ AC_ARG_WITH([sysvrcd-path], AC_SUBST(SYSTEM_SYSVINIT_PATH) AC_SUBST(SYSTEM_SYSVRCND_PATH) -AC_SUBST(M4_DISTRO_FLAG) +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.]) else @@ -476,6 +567,7 @@ AM_CONDITIONAL(TARGET_ALTLINUX, test x"$with_distro" = xaltlinux) AM_CONDITIONAL(TARGET_MANDRIVA, test x"$with_distro" = xmandriva) AM_CONDITIONAL(TARGET_MEEGO, test x"$with_distro" = xmeego) AM_CONDITIONAL(TARGET_ANGSTROM, test x"$with_distro" = xangstrom) +AM_CONDITIONAL(TARGET_MAGEIA, test x"$with_distro" = xmageia) AM_CONDITIONAL(HAVE_PLYMOUTH, test "$have_plymouth" = "yes") AM_CONDITIONAL(HAVE_SYSV_COMPAT, test "$SYSTEM_SYSV_COMPAT" = "yes") @@ -501,19 +593,23 @@ AC_ARG_WITH([dbusinterfacedir], [with_dbusinterfacedir=`pkg-config --variable=session_bus_services_dir dbus-1`/../interfaces]) AC_ARG_WITH([udevrulesdir], - AS_HELP_STRING([--with-udevrulesdir=DIR], [Diectory for udev rules]), + AS_HELP_STRING([--with-udevrulesdir=DIR], [Directory for udev rules]), [], [with_udevrulesdir=`pkg-config --variable=udevdir udev`/rules.d]) -AC_ARG_WITH([pamlibdir], - AS_HELP_STRING([--with-pamlibdir=DIR], [Diectory for PAM modules]), +AC_ARG_WITH([rootprefix], + AS_HELP_STRING([--with-rootprefix=DIR], [rootfs directory prefix for config files and kernel modules]), + [], [with_rootprefix=${ac_default_prefix}]) + +AC_ARG_WITH([rootlibdir], + AS_HELP_STRING([--with-rootlibdir=DIR], [Root directory for libraries necessary for boot]), [], - [with_pamlibdir=/lib/`$CC -print-multi-os-directory`/security]) + [with_rootlibdir=${libdir}]) -AC_ARG_WITH([rootdir], - AS_HELP_STRING([--with-rootdir=DIR], [Root directory for files necessary for boot]), +AC_ARG_WITH([pamlibdir], + AS_HELP_STRING([--with-pamlibdir=DIR], [Directory for PAM modules]), [], - [with_rootdir=${ac_default_prefix}]) + [with_pamlibdir=${with_rootlibdir}/security]) AC_SUBST([dbuspolicydir], [$with_dbuspolicydir]) AC_SUBST([dbussessionservicedir], [$with_dbussessionservicedir]) @@ -521,12 +617,12 @@ AC_SUBST([dbussystemservicedir], [$with_dbussystemservicedir]) AC_SUBST([dbusinterfacedir], [$with_dbusinterfacedir]) AC_SUBST([udevrulesdir], [$with_udevrulesdir]) AC_SUBST([pamlibdir], [$with_pamlibdir]) -AC_SUBST([rootdir], [$with_rootdir]) +AC_SUBST([rootprefix], [$with_rootprefix]) +AC_SUBST([rootlibdir], [$with_rootlibdir]) -AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([Makefile po/Makefile.in]) AC_OUTPUT - -echo " +AC_MSG_RESULT([ $PACKAGE_NAME $VERSION Distribution: ${with_distro} @@ -539,15 +635,27 @@ echo " PAM: ${have_pam} AUDIT: ${have_audit} SELinux: ${have_selinux} + XZ: ${have_xz} ACL: ${have_acl} binfmt: ${have_binfmt} + vconsole: ${have_vconsole} + readahead: ${have_readahead} + quotacheck: ${have_quotacheck} + randomseed: ${have_randomseed} + logind: ${have_logind} + hostnamed: ${have_hostnamed} + timedated: ${have_timedated} + localed: ${have_localed} plymouth: ${have_plymouth} prefix: ${prefix} - root dir: ${with_rootdir} - udev rules dir: ${with_udevrulesdir} + rootprefix: ${with_rootprefix} + libexec dir: ${libexecdir} + lib dir: ${libdir} + rootlib dir: ${with_rootlibdir} pam modules dir: ${with_pamlibdir} + udev rules dir: ${with_udevrulesdir} dbus policy dir: ${with_dbuspolicydir} dbus session dir: ${with_dbussessionservicedir} dbus system dir: ${with_dbussystemservicedir} dbus interfaces dir: ${with_dbusinterfacedir} -" +])