X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=configure.ac;h=204b3e00cf40e5fec34e1942b84550d48c4c8cec;hp=3c33888520d39fca0d83507e6cae4b439460f236;hb=31ad69aaf459ac5f4d52c604ec2df7cb0793708e;hpb=6bf12f55aff33a588a1945d9d06aa31c164984fd diff --git a/configure.ac b/configure.ac index 3c3388852..204b3e00c 100644 --- a/configure.ac +++ b/configure.ac @@ -19,11 +19,12 @@ AC_PREREQ([2.64]) -AC_INIT([systemd], - [218], - [http://bugs.freedesktop.org/enter_bug.cgi?product=systemd], - [systemd], - [http://www.freedesktop.org/wiki/Software/systemd]) +# FIXME: Update to proper web page +AC_INIT([elogind], + [219], + [http://bugs.freedesktop.org/enter_bug.cgi?product=elogind], + [elogind], + [http://www.freedesktop.org/wiki/Software/elogind]) AC_CONFIG_SRCDIR([src/core/main.c]) AC_CONFIG_MACRO_DIR([m4]) @@ -38,19 +39,17 @@ AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax no-di 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])]) +AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by elogind])]) +AS_IF([test "x$enable_largefile" = "xno"], [AC_MSG_ERROR([--disable-largefile is not supported by elogind])]) -# 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], @@ -73,8 +72,9 @@ AS_IF([test -z "$INTLTOOL_POLICY_RULE"], [ AC_SUBST(INTLTOOL_POLICY_RULE) ]) -GETTEXT_PACKAGE=systemd +GETTEXT_PACKAGE=elogind AC_SUBST(GETTEXT_PACKAGE) +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [elogind]) AC_PROG_MKDIR_P AC_PROG_LN_S @@ -187,6 +187,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 \ @@ -208,13 +209,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])]) @@ -323,7 +324,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, @@ -332,7 +334,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 @@ -343,6 +346,7 @@ AC_CHECK_DECLS([IFLA_MACVLAN_FLAGS, #include #include #include +#include ]]) # This makes sure pkg.m4 is available. @@ -359,16 +363,6 @@ AS_IF([test "x$enable_dbus" != "xno"], [ [AC_MSG_ERROR([*** dbus-1 support requested but libraries not found])])]) AM_CONDITIONAL(HAVE_DBUS, [test "$have_dbus" = "yes"]) -# ------------------------------------------------------------------------------ -have_utmp=yes -AC_ARG_ENABLE([utmp], AS_HELP_STRING([--disable-utmp], [disable utmp/wtmp log handling]), - AS_CASE("x${enableval}", - [xyes], [have_utmp=yes], - [xno], [have_utmp=no], - AC_MSG_ERROR(bad value ${enableval} for --enable-utmp))) -AS_IF([test "x$have_utmp" = "xyes"], [AC_DEFINE(HAVE_UTMP, 1, [Define if utmp/wtmp support is enabled])]) -AM_CONDITIONAL([HAVE_UTMP], [test "x$have_utmp" = "xyes"]) - # ------------------------------------------------------------------------------ have_compat_libs=no AC_ARG_ENABLE([compat_libs], AS_HELP_STRING([--enable-compat-libs],[Enable creation of compatibility libraries]), @@ -1143,6 +1137,63 @@ if test "x$enable_efi" != "xno"; then 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], @@ -1391,6 +1442,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) @@ -1438,10 +1497,6 @@ AC_SUBST([rootlibdir], [$with_rootlibdir]) AC_CONFIG_FILES([ Makefile po/Makefile.in - docs/libudev/Makefile - docs/libudev/version.xml - docs/gudev/Makefile - docs/gudev/version.xml ]) AC_OUTPUT @@ -1495,6 +1550,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} @@ -1514,7 +1576,6 @@ AC_MSG_RESULT([ Split /usr: ${enable_split_usr} SysV compatibility: ${SYSTEM_SYSV_COMPAT} compatibility libraries: ${have_compat_libs} - utmp/wtmp support: ${have_utmp} ldconfig support: ${enable_ldconfig} hibernate support: ${enable_hibernate} extra debugging: ${enable_debug}