* configure.ac: Check for lzma.h for enabling liblzma and allow

manual disabling.
This commit is contained in:
Vladimir Serbinenko 2013-11-11 22:47:48 +01:00
parent 631187be8c
commit 0d2d30bb39
3 changed files with 35 additions and 8 deletions

View File

@ -1,3 +1,8 @@
2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
* configure.ac: Check for lzma.h for enabling liblzma and allow
manual disabling.
2013-11-11 Vladimir Serbinenko <phcoder@gmail.com> 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
Add missing includes of loader.h. Add missing includes of loader.h.

View File

@ -1264,10 +1264,32 @@ fi
AC_SUBST([LIBGEOM]) 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], AC_CHECK_LIB([lzma], [lzma_code],
[LIBLZMA="-llzma" [],[liblzma_excuse="need lzma library"])
AC_DEFINE([HAVE_LIBLZMA], [1], fi
[Define to 1 if you have the LZMA library.])],) 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_SUBST([LIBLZMA])
AC_ARG_ENABLE([libzfs], AC_ARG_ENABLE([libzfs],
@ -1541,8 +1563,8 @@ else
echo Build-time grub-mkfont: No "($grub_build_mkfont_excuse)" echo Build-time grub-mkfont: No "($grub_build_mkfont_excuse)"
echo "Without unifont (no build-time grub-mkfont)" echo "Without unifont (no build-time grub-mkfont)"
fi fi
if test "x$LIBLZMA" = x ; then if test x"$liblzma_excuse" != x ; then
echo "Without liblzma (no support for XZ-compressed mips images)" echo "Without liblzma (no support for XZ-compressed mips images) ($liblzma_excuse)"
else else
echo "With liblzma from $LIBLZMA (support for XZ-compressed mips images)" echo "With liblzma from $LIBLZMA (support for XZ-compressed mips images)"
fi fi

View File

@ -48,7 +48,7 @@
#define ALIGN_ADDR(x) (ALIGN_UP((x), image_target->voidp_sizeof)) #define ALIGN_ADDR(x) (ALIGN_UP((x), image_target->voidp_sizeof))
#ifdef HAVE_LIBLZMA #ifdef USE_LIBLZMA
#include <lzma.h> #include <lzma.h>
#endif #endif
@ -709,7 +709,7 @@ compress_kernel_lzma (char *kernel_img, size_t kernel_size,
grub_util_error ("%s", _("cannot compress the kernel image")); grub_util_error ("%s", _("cannot compress the kernel image"));
} }
#ifdef HAVE_LIBLZMA #ifdef USE_LIBLZMA
static void static void
compress_kernel_xz (char *kernel_img, size_t kernel_size, compress_kernel_xz (char *kernel_img, size_t kernel_size,
char **core_img, size_t *core_size) char **core_img, size_t *core_size)
@ -772,7 +772,7 @@ compress_kernel (const struct grub_install_image_target_desc *image_target, char
return; return;
} }
#ifdef HAVE_LIBLZMA #ifdef USE_LIBLZMA
if (image_target->flags & PLATFORM_FLAGS_DECOMPRESSORS if (image_target->flags & PLATFORM_FLAGS_DECOMPRESSORS
&& (comp == GRUB_COMPRESSION_XZ)) && (comp == GRUB_COMPRESSION_XZ))
{ {