2 # This file is part of gummiboot.
4 # Copyright (C) 2013 Karel Zak <kzak@redhat.com>
6 # gummiboot is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU Lesser General Public License as published by
8 # the Free Software Foundation; either version 2.1 of the License, or
9 # (at your option) any later version.
11 # gummiboot is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 # Lesser General Public License for more details.
16 # You should have received a copy of the GNU Lesser General Public License
17 # along with systemd; If not, see <http://www.gnu.org/licenses/>.
21 [systemd-devel@lists.freedesktop.org],
23 [http://freedesktop.org/wiki/Software/gummiboot])
25 AC_CONFIG_SRCDIR([src/setup/setup.c])
26 AC_CONFIG_MACRO_DIR([m4])
27 AC_CONFIG_HEADERS([config.h])
28 AC_CONFIG_AUX_DIR([build-aux])
29 AC_PREFIX_DEFAULT([/usr])
31 AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax no-dist-gzip dist-xz subdir-objects])
32 AM_SILENT_RULES([yes])
39 dnl Don't try to use things like -std=c99 for efi compilation
45 AC_PROG_GCC_TRADITIONAL
48 AC_PATH_PROG([XSLTPROC], [xsltproc])
50 dnl Define ARCH_<NAME> conditionals
52 SET_ARCH(X86_64, x86_64*)
55 ARCH=`echo $host | sed "s/\(-\).*$//"`
57 AM_COND_IF(ARCH_IA32, [
59 MACHINE_TYPE_NAME=ia32])
61 AM_COND_IF(ARCH_X86_64, [
62 MACHINE_TYPE_NAME=x64])
65 AC_SUBST([MACHINE_TYPE_NAME])
67 # QEMU and OVMF UEFI firmware
68 AS_IF([test x"$cross_compiling" = "xyes"], [], [
69 AC_PATH_PROG([QEMU], [qemu-kvm])
70 AC_CHECK_FILE([/usr/share/qemu/bios-ovmf.bin], [QEMU_BIOS=/usr/share/qemu/bios-ovmf.bin])
71 AC_CHECK_FILE([/usr/share/qemu-ovmf/bios], [QEMU_BIOS=/usr/share/qemu-ovmf/bios/bios.bin])
75 # ------------------------------------------------------------------------------
76 dnl GNU EFI doesn't use relative paths: efi.h includes efibind.h which is in
77 dnl ${ARCH} relative to efi.h. I can't find a way to get AC_CHECK_HEADERS to
78 dnl add -I/usr/include/efi/${ARCH} to the conftest.c build. So, just test for
79 dnl efibind.h as the chances of efi.h not existing if it does are very low.
80 AC_CHECK_HEADER(efi/${ARCH}/efibind.h, [],
81 [AC_MSG_ERROR([*** GNU EFI header efibind.h not found])])
83 efiroot=$(echo $(cd /usr/lib/$(gcc -print-multi-os-directory); pwd))
84 GNUEFI_LIBS="-L $efiroot"
86 dnl extra objects and linker scripts
87 GNUEFI_LDS_DIR="$efiroot"
88 if test -d "${efiroot}/gnuefi"; then
89 GNUEFI_LDS_DIR="${efiroot}/gnuefi"
91 AC_SUBST([GNUEFI_LIBS])
92 AC_SUBST([GNUEFI_LDS_DIR])
94 # ------------------------------------------------------------------------------
95 AC_ARG_ENABLE(blkid, AS_HELP_STRING([--disable-blkid], [disable blkid support]))
96 if test "x$enable_blkid" != "xno"; then
97 PKG_CHECK_MODULES(BLKID, [ blkid >= 2.20 ],
98 [AC_DEFINE(HAVE_BLKID, 1, [Define if blkid is available]) have_blkid=yes], have_blkid=no)
99 if test "x$have_blkid" = xno -a "x$enable_blkid" = xyes; then
100 AC_MSG_ERROR([*** blkid support requested but libraries not found])
103 AM_CONDITIONAL(HAVE_BLKID, [test "$have_blkid" = "yes"])
105 # ------------------------------------------------------------------------------
107 AC_ARG_ENABLE(manpages, AS_HELP_STRING([--disable-manpages], [disable manpages]))
108 AS_IF([test "x$enable_manpages" != xno], [
109 AS_IF([test "x$enable_manpages" = xyes -a "x$XSLTPROC" = x], [
110 AC_MSG_ERROR([*** Manpages requested but xsltproc not found])
112 AS_IF([test "x$XSLTPROC" != x], [have_manpages=yes])
114 AM_CONDITIONAL(ENABLE_MANPAGES, [test "x$have_manpages" = "xyes"])
116 # ------------------------------------------------------------------------------
123 $PACKAGE_NAME $VERSION
126 EFI machine type: $MACHINE_TYPE_NAME
129 efi libs: ${GNUEFI_LIBS}
130 efi lds: ${GNUEFI_LDS_DIR}
132 man pages: ${have_manpages}
135 QEMU OVMF: ${QEMU_BIOS}