X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=configure.ac;h=8fedbe15380e28a07454ef8d951c16e76ce537ae;hp=08685ec02feb765c755afab9f884ac5fb4474398;hb=6704a228c6389607f775bbaf2ee7de786d7b9996;hpb=91ba67605de8ff5f15c335db4330594e07b5317e diff --git a/configure.ac b/configure.ac index 08685ec..8fedbe1 100644 --- a/configure.ac +++ b/configure.ac @@ -57,6 +57,16 @@ AC_CHECK_LIB([udev], [udev_new], [AC_MSG_FAILURE([The libudev development library is required by petitboot. Try installing the package libudev-dev or libudev-devel.])] ) +PKG_CHECK_EXISTS(libudev >= 218, [old_udev=no], [old_udev=yes]) +if test "$old_udev" = "yes" ; then + AC_DEFINE(UDEV_LOGGING, 1, [Support old udev logging interface])], +fi + +AC_CHECK_LIB([devmapper], [dm_task_create], + [DEVMAPPER_LIBS=-ldevmapper], + [AC_MSG_FAILURE([The libdevmapper development library is required by petitboot. Try installing the package libdevmapper-dev or device-mapper-devel.])] +) + AC_ARG_WITH([fdt], AS_HELP_STRING([--without-fdt], [Build without libfdt (default: no)])) @@ -160,6 +170,69 @@ AS_IF( ] ) +AC_ARG_WITH( + [signed-boot], + [AS_HELP_STRING([--with-signed-boot], + [build kernel signature checking support [default=no]] + )], + [], + [with_signed_boot=no] +) + +AM_CONDITIONAL( + [WITH_SIGNED_BOOT], + [test "x$with_signed_boot" = "xyes"]) + +AS_IF( + [test "x$with_signed_boot" = "xyes"], + [PKG_CHECK_MODULES( + [GPGME], + [gpgme >= 1.0.0], + [SAVE_LIBS="$LIBS" LIBS="$LIBS $gpgme_LIBS" + AC_CHECK_LIB( + [gpgme], + [gpgme_op_verify], + [], + [AC_MSG_FAILURE([--with-signed-boot was given but the test for gpgme failed.])] + ) + LIBS="$SAVE_LIBS" + ], + [AM_PATH_GPGME([1.0.0], [SAVE_LIBS="$LIBS" LIBS="$LIBS $gpgme_LIBS" + AC_CHECK_LIB( + [gpgme], + [gpgme_op_verify], + [], + [AC_MSG_FAILURE([--with-signed-boot was given but the test for gpgme failed.])] + ) + LIBS="$SAVE_LIBS"], + [AC_MSG_RESULT([$gpgme_PKG_ERRORS]) + AC_MSG_FAILURE([ Consider adjusting PKG_CONFIG_PATH environment variable]) + ]) + ] + )] +) + +AS_IF( + [test "x$with_signed_boot" = "xyes"], + [SAVE_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $gpgme_CFLAGS" + AC_CHECK_HEADERS( + [gpgme.h], + [], + [AC_MSG_FAILURE([ --with-signed-boot given but gpgme.h not found])] + ) + CPPFLAGS="$SAVE_CPPFLAGS" + ] +) + +AM_CONDITIONAL([WITH_GPGME], [test "x$with_signed_boot" = "xyes"]) + +AC_ARG_VAR( + [lockdown_file], + [Location of authorized signature file [default = "/etc/pb-lockdown"]] +) +AS_IF([test "x$lockdown_file" = x], [lockdown_file="/etc/pb-lockdown"]) +AC_DEFINE_UNQUOTED(LOCKDOWN_FILE, "$lockdown_file", [Lockdown file location]) + AC_ARG_ENABLE( [busybox], [AS_HELP_STRING( @@ -169,7 +242,11 @@ AC_ARG_ENABLE( [], [enable_busybox=no] ) -#AM_CONDITIONAL([ENABLE_BUSYBOX], [test "x$enable_busybox" = "xyes"]) +AM_CONDITIONAL([ENABLE_BUSYBOX], [test "x$enable_busybox" = "xyes"]) +AS_IF([test "x$enable_busybox" = "xyes"], + [AC_DEFINE(WITH_BUSYBOX, 1, [Busybox environment enabled])], + [] +) AC_ARG_ENABLE( [mtd], @@ -186,6 +263,25 @@ AS_IF([test "x$enable_mtd" = "xyes"], [] ) +AS_IF( + [test "x$enable_mtd" = "xyes"], + AC_CHECK_LIB([flash], [arch_flash_init], + [LIBFLASH_LIBS=-lflash], + [AC_MSG_FAILURE([--enable-mtd requires the libflash library])] + ) +) +AS_IF( + [test "x$enable_mtd" = "xyes"], + [SAVE_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $libflash_CFLAGS" + AC_CHECK_HEADERS( + [libflash/libflash.h], + [], + [AC_MSG_FAILURE([--enable-mtd given but libflash/libflash.h not found])] + ) + CPPFLAGS="$SAVE_CPPFLAGS" + ] +) + AC_ARG_ENABLE( [ps3], [AS_HELP_STRING( @@ -285,7 +381,9 @@ AS_IF( ) AC_SUBST([UDEV_LIBS]) +AC_SUBST([DEVMAPPER_LIBS]) AC_SUBST([FDT_LIBS]) +AC_SUBST([LIBFLASH_LIBS]) AC_SUBST([LIBTOOL_DEPS]) AC_SUBST([DESTDIR]) AC_SUBST([pkgsysconfdir], ["${sysconfdir}/${package}"])