AC_SUBST([LIBGEOM])
+AC_ARG_ENABLE([liblzma],
+ [AS_HELP_STRING([--enable-liblzma],
+ [enable liblzma integration (default=guessed)])])
+if test x"$enable_liblzma" = xno ; then
+ liblzma_excuse="explicitly disabled"
+fi
+
+if test x"$liblzma_excuse" = x ; then
AC_CHECK_LIB([lzma], [lzma_code],
- [LIBLZMA="-llzma"
- AC_DEFINE([HAVE_LIBLZMA], [1],
- [Define to 1 if you have the LZMA library.])],)
+ [],[liblzma_excuse="need lzma library"])
+fi
+if test x"$liblzma_excuse" = x ; then
+AC_CHECK_HEADER([lzma.h], [], [liblzma_excuse="need lzma header"])
+fi
+
+if test x"$enable_liblzma" = xyes && test x"$liblzma_excuse" != x ; then
+ AC_MSG_ERROR([liblzma support was explicitly requested but requirements are not satisfied])
+fi
+
+
+if test x"$liblzma_excuse" = x ; then
+ LIBLZMA="-llzma"
+ AC_DEFINE([USE_LIBLZMA], [1],
+ [Define to 1 if you have the LZMA library.])
+fi
+
AC_SUBST([LIBLZMA])
AC_ARG_ENABLE([libzfs],
echo Build-time grub-mkfont: No "($grub_build_mkfont_excuse)"
echo "Without unifont (no build-time grub-mkfont)"
fi
-if test "x$LIBLZMA" = x ; then
-echo "Without liblzma (no support for XZ-compressed mips images)"
+if test x"$liblzma_excuse" != x ; then
+echo "Without liblzma (no support for XZ-compressed mips images) ($liblzma_excuse)"
else
echo "With liblzma from $LIBLZMA (support for XZ-compressed mips images)"
fi
#define ALIGN_ADDR(x) (ALIGN_UP((x), image_target->voidp_sizeof))
-#ifdef HAVE_LIBLZMA
+#ifdef USE_LIBLZMA
#include <lzma.h>
#endif
grub_util_error ("%s", _("cannot compress the kernel image"));
}
-#ifdef HAVE_LIBLZMA
+#ifdef USE_LIBLZMA
static void
compress_kernel_xz (char *kernel_img, size_t kernel_size,
char **core_img, size_t *core_size)
return;
}
-#ifdef HAVE_LIBLZMA
+#ifdef USE_LIBLZMA
if (image_target->flags & PLATFORM_FLAGS_DECOMPRESSORS
&& (comp == GRUB_COMPRESSION_XZ))
{