X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=configure.ac;h=29111f5fee84fc6bfa8039f239e19125ffa36ce0;hp=d82cfe890a8aa5a75c466245238e73e30c73b515;hb=d2268a20a0bf99c5d26bee9048aa48b377c72949;hpb=c4a5ddc9f29cf910fac9d814cd898b4cc2bd79b1 diff --git a/configure.ac b/configure.ac index d82cfe890..29111f5fe 100644 --- a/configure.ac +++ b/configure.ac @@ -20,7 +20,7 @@ AC_PREREQ([2.64]) AC_INIT([systemd], - [218], + [219], [http://bugs.freedesktop.org/enter_bug.cgi?product=systemd], [systemd], [http://www.freedesktop.org/wiki/Software/systemd]) @@ -34,23 +34,21 @@ AC_USE_SYSTEM_EXTENSIONS AC_SYS_LARGEFILE AC_PREFIX_DEFAULT([/usr]) AM_MAINTAINER_MODE([enable]) -AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax no-dist-gzip dist-xz subdir-objects]) +AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax no-dist-gzip dist-xz subdir-objects parallel-tests]) AM_SILENT_RULES([yes]) AC_CANONICAL_HOST AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.]) -AS_IF([test "x$host_cpu" = "xmips" || test "x$host_cpu" = "xmipsel" || - test "x$host_cpu" = "xmips64" || test "x$host_cpu" = "xmips64el"], - [AC_DEFINE(ARCH_MIPS, [], [Whether on mips arch])]) - 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 +SET_ARCH(X86_64, x86_64*) +SET_ARCH(IA32, i*86*) +SET_ARCH(MIPS, mips*) -# Check whether intltool can be found, disable NLS otherwise +# i18n stuff for the PolicyKit policy files, heck whether intltool can be found, disable NLS otherwise AC_CHECK_PROG(intltool_found, [intltool-merge], [yes], [no]) AS_IF([test x"$intltool_found" != xyes], [AS_IF([test x"$enable_nls" = xyes], @@ -75,6 +73,7 @@ AS_IF([test -z "$INTLTOOL_POLICY_RULE"], [ GETTEXT_PACKAGE=systemd AC_SUBST(GETTEXT_PACKAGE) +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [systemd]) AC_PROG_MKDIR_P AC_PROG_LN_S @@ -98,6 +97,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]) +AC_PATH_PROG([SULOGIN], [sulogin], [/usr/sbin/sulogin], [$PATH:/usr/sbin:/sbin]) + AS_IF([! ln --relative --help > /dev/null 2>&1], [AC_MSG_ERROR([*** ln doesn't support --relative ***])]) M4_DEFINES= @@ -185,6 +186,7 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ -Wno-unused-parameter \ -Wno-missing-field-initializers \ -Wno-unused-result \ + -Wno-format-signedness \ -Werror=overflow \ -Wdate-time \ -Wnested-externs \ @@ -206,13 +208,13 @@ AS_CASE([$CC], [*clang*], -Wno-gnu-variable-sized-type-not-at-end \ ])]) -AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], +AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ -flto -ffat-lto-objects])], [AC_MSG_RESULT([skipping -flto, optimization not enabled])]) AC_SUBST([OUR_CFLAGS], "$with_cflags $sanitizer_cflags") -AS_CASE([$CFLAGS], [*-O[[12345\ ]]*], +AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], [CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\ -Wp,-D_FORTIFY_SOURCE=2])], [AC_MSG_RESULT([skipping -D_FORTIFY_SOURCE, optimization not enabled])]) @@ -321,7 +323,8 @@ AC_CHECK_DECLS([gettid, pivot_root, name_to_handle_at, setns, getrandom, renamea #include ]]) -AC_CHECK_DECLS([IFLA_MACVLAN_FLAGS, +AC_CHECK_DECLS([IFLA_INET6_ADDR_GEN_MODE, + IFLA_MACVLAN_FLAGS, IFLA_IPVLAN_MODE, IFLA_VTI_REMOTE, IFLA_PHYS_PORT_ID, @@ -330,7 +333,8 @@ AC_CHECK_DECLS([IFLA_MACVLAN_FLAGS, IFLA_VXLAN_LOCAL6, IFLA_IPTUN_6RD_RELAY_PREFIXLEN, IFLA_BRIDGE_VLAN_INFO, - IFLA_BRPORT_UNICAST_FLOOD], + IFLA_BRPORT_UNICAST_FLOOD, + NDA_IFINDEX], [], [], [[ #include #include @@ -341,6 +345,7 @@ AC_CHECK_DECLS([IFLA_MACVLAN_FLAGS, #include #include #include +#include ]]) # This makes sure pkg.m4 is available. @@ -557,7 +562,7 @@ 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]) + [AC_DEFINE(HAVE_XZ, 1, [Define if XZ is available]) have_xz=yes], have_xz=no) if test "x$have_xz" = xno -a "x$enable_xz" = xyes; then AC_MSG_ERROR([*** XZ support requested but libraries not found]) fi @@ -569,13 +574,25 @@ have_zlib=no AC_ARG_ENABLE(zlib, AS_HELP_STRING([--disable-zlib], [Disable optional ZLIB support])) if test "x$enable_zlib" != "xno"; then PKG_CHECK_MODULES(ZLIB, [ zlib ], - [AC_DEFINE(HAVE_ZLIB, 1, [Define if ZLIB is available]) have_zlib=yes]) + [AC_DEFINE(HAVE_ZLIB, 1, [Define if ZLIB is available]) have_zlib=yes], have_zlib=no) if test "x$have_zlib" = xno -a "x$enable_zlib" = xyes; then AC_MSG_ERROR([*** ZLIB support requested but libraries not found]) fi fi AM_CONDITIONAL(HAVE_ZLIB, [test "$have_zlib" = "yes"]) +# ------------------------------------------------------------------------------ +have_bzip2=no +AC_ARG_ENABLE(bzip2, AS_HELP_STRING([--enable-bzip2], [Disable optional BZIP2 support])) +AS_IF([test "x$enable_bzip2" != "xno"], [ + AC_CHECK_HEADERS(bzlib.h, + [AC_DEFINE(HAVE_BZIP2, 1, [Define in BZIP2 is available]) + have_bzip2=yes], + [AS_IF([test "x$have_bzip2" = xyes], [AC_MSG_ERROR([*** BZIP2 support requested but headers not found])]) + ]) +]) +AM_CONDITIONAL(HAVE_BZIP2, [test "$have_bzip2" = "yes"]) + # ------------------------------------------------------------------------------ have_lz4=no AC_ARG_ENABLE(lz4, AS_HELP_STRING([--enable-lz4], [Enable optional LZ4 support])) @@ -656,6 +673,7 @@ if test "x${have_acl}" != xno ; then if test "x$have_acl" = xyes ; then ACL_LIBS="-lacl" AC_DEFINE(HAVE_ACL, 1, [ACL available]) + M4_DEFINES="$M4_DEFINES -DHAVE_ACL" else have_acl=no fi @@ -995,6 +1013,15 @@ fi AM_CONDITIONAL(ENABLE_MACHINED, [test "$have_machined" = "yes"]) AS_IF([test "$have_machined" = "yes"], [ AC_DEFINE(HAVE_MACHINED, [1], [Machined support available]) ]) +# ------------------------------------------------------------------------------ +have_importd=no +AC_ARG_ENABLE(importd, AS_HELP_STRING([--disable-importd], [disable import daemon])) +if test "x$enable_importd" != "xno"; then + have_importd=yes +fi +AM_CONDITIONAL(ENABLE_IMPORTD, [test "$have_importd" = "yes"]) +AS_IF([test "$have_importd" = "yes"], [ AC_DEFINE(HAVE_IMPORTD, [1], [Importd support available]) ]) + # ------------------------------------------------------------------------------ have_hostnamed=no AC_ARG_ENABLE(hostnamed, AS_HELP_STRING([--disable-hostnamed], [disable hostname daemon])) @@ -1120,16 +1147,82 @@ fi AM_CONDITIONAL(ENABLE_EFI, [test "x$have_efi" = "xyes"]) # ------------------------------------------------------------------------------ +EFI_CC=gcc +AC_SUBST([EFI_CC]) + +EFI_ARCH=`echo $host | sed "s/\(-\).*$//"` + +AM_COND_IF(ARCH_IA32, [ + EFI_ARCH=ia32 + EFI_MACHINE_TYPE_NAME=ia32]) + +AM_COND_IF(ARCH_X86_64, [ + EFI_MACHINE_TYPE_NAME=x64]) + +AC_SUBST([EFI_ARCH]) +AC_SUBST([EFI_MACHINE_TYPE_NAME]) + +have_gnuefi=no +AC_ARG_ENABLE(gnuefi, AS_HELP_STRING([--enable-gnuefi], [Disable optional gnuefi support])) +AS_IF([test "x$enable_gnuefi" != "xno"], [ + AC_CHECK_HEADERS(efi/${EFI_ARCH}/efibind.h, + [AC_DEFINE(HAVE_GNUEFI, 1, [Define if gnuefi is available]) + have_gnuefi=yes], + [AS_IF([test "x$enable_gnuefi" = xyes], + [AC_MSG_ERROR([*** gnuefi support requested but headers not found])]) + ]) + + efiroot=$(echo $(cd /usr/lib/$(gcc -print-multi-os-directory); pwd)) + + EFI_LIB_DIR="$efiroot" + AC_ARG_WITH(efi-libdir, + AS_HELP_STRING([--with-efi-libdir=PATH], [Path to EFI lib directory]), + [EFI_LIB_DIR="$withval"], [EFI_LIB_DIR="$efiroot"] + ) + AC_SUBST([EFI_LIB_DIR]) + + have_efi_lds=no + AC_ARG_WITH(efi-ldsdir, + AS_HELP_STRING([--with-efi-ldsdir=PATH], [Path to EFI lds directory]), + [EFI_LDS_DIR="$withval" && AC_CHECK_FILE([${EFI_LDS_DIR}/elf_${EFI_ARCH}_efi.lds], + [have_efi_lds=yes])], + [AS_FOR([DIR], [EFI_LDS_DIR], ["${efiroot}/gnuefi" "${efiroot}"], + [AC_CHECK_FILE([${EFI_LDS_DIR}/elf_${EFI_ARCH}_efi.lds], + [have_efi_lds=yes && break])])]) + AS_IF([test "x$have_efi_lds" = xyes], + [AC_SUBST([EFI_LDS_DIR])], + [AS_IF([test "x$enable_gnuefi" = xyes], + [AC_MSG_ERROR([*** gnuefi support requested but files not found])], + [have_gnuefi=no])]) + + AC_ARG_WITH(efi-includedir, + AS_HELP_STRING([--with-efi-includedir=PATH], [Path to EFI include directory]), + [EFI_INC_DIR="$withval"], [EFI_INC_DIR="/usr/include"] + ) + AC_SUBST([EFI_INC_DIR]) +]) +AM_CONDITIONAL(HAVE_GNUEFI, [test "x$have_gnuefi" = xyes]) + +# ------------------------------------------------------------------------------ +AC_ARG_WITH(unifont, + AS_HELP_STRING([--with-unifont=PATH], + [Path to unifont.hex]), + [UNIFONT="$withval"], + [UNIFONT="/usr/share/unifont/unifont.hex"]) +AC_SUBST(UNIFONT) + have_terminal=no +have_unifont=no AC_ARG_ENABLE(terminal, AS_HELP_STRING([--enable-terminal], [enable terminal support])) if test "x$enable_terminal" = "xyes"; then PKG_CHECK_MODULES([TERMINAL], [ libevdev >= 1.2 xkbcommon >= 0.5 libdrm >= 2.4], [have_terminal=yes]) - AS_IF([test "x$have_terminal" != xyes -a "x$enable_terminal" = xyes], + AC_CHECK_FILE($UNIFONT, [have_unifont=yes]) + AS_IF([test "x$have_terminal" != xyes -o "x$have_unifont" != "xyes" -a "x$enable_terminal" = xyes], [AC_MSG_ERROR([*** terminal support requested but required dependencies not available])], - [test "x$have_terminal" = xyes], + [test "x$have_terminal" = xyes -a "x$have_unifont" = "xyes"], [AC_DEFINE(ENABLE_TERMINAL, 1, [Define if terminal support is to be enabled])]) fi -AM_CONDITIONAL(ENABLE_TERMINAL, [test "x$have_terminal" = "xyes"]) +AM_CONDITIONAL(ENABLE_TERMINAL, [test "x$have_terminal" = "xyes" -a "x$have_unifont" = "xyes"]) # ------------------------------------------------------------------------------ have_kdbus=no @@ -1358,6 +1451,14 @@ AS_IF([test "x$0" != "x./configure"], [ AC_SUBST([INTLTOOL_UPDATE], [/bin/true]) ]) +# QEMU and OVMF UEFI firmware +AS_IF([test x"$cross_compiling" = "xyes"], [], [ + AC_PATH_PROG([QEMU], [qemu-system-x86_64]) + AC_CHECK_FILE([/usr/share/qemu/bios-ovmf.bin], [QEMU_BIOS=/usr/share/qemu/bios-ovmf.bin], + [AC_CHECK_FILE([/usr/share/qemu-ovmf/bios.bin], [QEMU_BIOS=/usr/share/qemu-ovmf/bios.bin])]) + AC_SUBST([QEMU_BIOS]) +]) + AC_ARG_ENABLE(tests, [AC_HELP_STRING([--disable-tests], [disable tests])], enable_tests=$enableval, enable_tests=yes) @@ -1426,6 +1527,7 @@ AC_MSG_RESULT([ ZLIB: ${have_zlib} XZ: ${have_xz} LZ4: ${have_lz4} + BZIP2: ${have_bzip2} ACL: ${have_acl} GCRYPT: ${have_gcrypt} QRENCODE: ${have_qrencode} @@ -1448,6 +1550,7 @@ AC_MSG_RESULT([ rfkill: ${have_rfkill} logind: ${have_logind} machined: ${have_machined} + importd: ${have_importd} hostnamed: ${have_hostnamed} timedated: ${have_timedated} timesyncd: ${have_timesyncd} @@ -1460,6 +1563,13 @@ AC_MSG_RESULT([ coredump: ${have_coredump} polkit: ${have_polkit} efi: ${have_efi} + gnuefi: ${have_gnuefi} + efi arch: ${EFI_ARCH} + EFI machine type: ${EFI_MACHINE_TYPE_NAME} + EFI CC ${EFI_CC} + EFI libdir: ${EFI_LIB_DIR} + EFI ldsdir: ${EFI_LDS_DIR} + EFI includedir: ${EFI_INC_DIR} kmod: ${have_kmod} xkbcommon: ${have_xkbcommon} blkid: ${have_blkid}