Merge branch 'mainline' into newconf
This commit is contained in:
parent
ee293aee1b
commit
5ce5507f1c
2 changed files with 154 additions and 26 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Enable all targets that can be built by default
|
||||||
|
|
||||||
|
* configure.c: enable efiemu runtime, grub-emu, grub-emu-usb,
|
||||||
|
grub-mkfont and grub-fstest if they can be built
|
||||||
|
|
||||||
2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
|
2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
Fix hang and segmentation fault in grub-emu-usb
|
Fix hang and segmentation fault in grub-emu-usb
|
||||||
|
|
163
configure.ac
163
configure.ac
|
@ -434,6 +434,34 @@ AH_BOTTOM([#if defined(__i386__) && !defined(GRUB_UTIL)
|
||||||
#define NESTED_FUNC_ATTR
|
#define NESTED_FUNC_ATTR
|
||||||
#endif])
|
#endif])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([efiemu],
|
||||||
|
[AS_HELP_STRING([--enable-efiemu],
|
||||||
|
[build and install the efiemu runtimes (default=guessed)])])
|
||||||
|
if test x"$enable_efiemu" = xno ; then
|
||||||
|
efiemu_excuse="explicitely disabled"
|
||||||
|
fi
|
||||||
|
if test x"$efiemu_excuse" = x ; then
|
||||||
|
AC_CACHE_CHECK([whether options required for efiemu work], grub_cv_cc_no_red_zone, [
|
||||||
|
CFLAGS="$CFLAGS -m64 -mcmodel=large -mno-red-zone -nostdlib -c"
|
||||||
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
|
||||||
|
[grub_cv_cc_efiemu=yes],
|
||||||
|
[grub_cv_cc_efiemu=no])
|
||||||
|
])
|
||||||
|
if test x$grub_cv_cc_efiemu = x$no; then
|
||||||
|
efiemu_excuse="compiler doesn't support compiling with -m64 -mcmodel=large -mno-red-zone -nostdlib -c"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test x"$enable_efiemu" = xyes && test x"$efiemu_excuse" != x ; then
|
||||||
|
AC_MSG_ERROR([efiemu runtime was explicitely requested but can't be compiled])
|
||||||
|
fi
|
||||||
|
if test x"$efiemu_excuse" = x ; then
|
||||||
|
enable_efiemu=yes
|
||||||
|
else
|
||||||
|
enable_efiemu=no
|
||||||
|
fi
|
||||||
|
AC_SUBST([enable_efiemu])
|
||||||
|
|
||||||
|
|
||||||
# Restore the flags.
|
# Restore the flags.
|
||||||
CC="$tmp_CC"
|
CC="$tmp_CC"
|
||||||
CFLAGS="$tmp_CFLAGS"
|
CFLAGS="$tmp_CFLAGS"
|
||||||
|
@ -454,40 +482,75 @@ AC_ARG_ENABLE([mm-debug],
|
||||||
|
|
||||||
AC_ARG_ENABLE([grub-emu],
|
AC_ARG_ENABLE([grub-emu],
|
||||||
[AS_HELP_STRING([--enable-grub-emu],
|
[AS_HELP_STRING([--enable-grub-emu],
|
||||||
[build and install the `grub-emu' debugging utility])])
|
[build and install the `grub-emu' debugging utility (default=guessed)])])
|
||||||
AC_ARG_ENABLE([grub-emu-usb],
|
AC_ARG_ENABLE([grub-emu-usb],
|
||||||
[AS_HELP_STRING([--enable-grub-emu-usb],
|
[AS_HELP_STRING([--enable-grub-emu-usb],
|
||||||
[build and install the `grub-emu' debugging utility with USB support])])
|
[build and install the `grub-emu' debugging utility with USB support (default=guessed)])])
|
||||||
[if [ x"$enable_grub_emu" = xyes ]; then
|
if test x"$enable_grub_emu" = xno ; then
|
||||||
# Check for curses libraries.]
|
grub_emu_excuse="explicitely disabled"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[# Check for curses libraries.]
|
||||||
|
[if [ x"$grub_emu_excuse" = x ]; then ]
|
||||||
AC_CHECK_LIB([ncurses], [wgetch], [LIBCURSES="-lncurses"],
|
AC_CHECK_LIB([ncurses], [wgetch], [LIBCURSES="-lncurses"],
|
||||||
[AC_CHECK_LIB([curses], [wgetch], [LIBCURSES="-lcurses"],
|
[AC_CHECK_LIB([curses], [wgetch], [LIBCURSES="-lcurses"],
|
||||||
[AC_MSG_ERROR([(n)curses libraries are required to build `grub-emu'])])])
|
[grub_emu_excuse=["(n)curses libraries are required to build \`grub-emu'"]])])
|
||||||
AC_SUBST([LIBCURSES])
|
AC_SUBST([LIBCURSES])
|
||||||
|
[fi]
|
||||||
|
[if [ x"$grub_emu_excuse" = x ]; then ]
|
||||||
[# Check for headers.]
|
[# Check for headers.]
|
||||||
AC_CHECK_HEADERS([ncurses/curses.h], [],
|
AC_CHECK_HEADERS([ncurses/curses.h], [],
|
||||||
[AC_CHECK_HEADERS([ncurses.h], [],
|
[AC_CHECK_HEADERS([ncurses.h], [],
|
||||||
[AC_CHECK_HEADERS([curses.h], [],
|
[AC_CHECK_HEADERS([curses.h], [],
|
||||||
[AC_MSG_ERROR([(n)curses header files are required to build `grub-emu'])])])])
|
[grub_emu_excuse=["(n)curses header files are required to build \`grub-emu'"]])])])
|
||||||
|
[fi]
|
||||||
|
|
||||||
[if [ x"$enable_grub_emu_usb" = xyes ]; then
|
if test x"$enable_grub_emu" = xyes && test x"$grub_emu_excuse" != x ; then
|
||||||
|
AC_MSG_ERROR([grub-emu was explicitely requested but can't be compiled])
|
||||||
|
fi
|
||||||
|
if test x"$grub_emu_excuse" = x ; then
|
||||||
|
enable_grub_emu=yes
|
||||||
|
else
|
||||||
|
enable_grub_emu=no
|
||||||
|
grub_emu_usb_excuse="grub-emu isn't built"
|
||||||
|
fi
|
||||||
|
if test x"$enable_grub_emu_usb" = xno ; then
|
||||||
|
grub_emu_usb_excuse="explicitely disabled"
|
||||||
|
fi
|
||||||
|
[if [ x"$grub_emu_usb_excuse" = x ]; then
|
||||||
# Check for libusb libraries.]
|
# Check for libusb libraries.]
|
||||||
AC_CHECK_LIB([usb], [usb_claim_interface], [LIBUSB="-lusb"],
|
AC_CHECK_LIB([usb], [usb_claim_interface], [LIBUSB="-lusb"],
|
||||||
[AC_MSG_ERROR([libusb libraries are required to build `grub-emu' with USB support])])
|
[grub_emu_usb_excuse=["libusb libraries are required to build \`grub-emu' with USB support"]])
|
||||||
AC_SUBST([LIBUSB])
|
AC_SUBST([LIBUSB])
|
||||||
|
[fi]
|
||||||
[# Check for headers.]
|
[if [ x"$grub_emu_usb_excuse" = x ]; then
|
||||||
|
# Check for headers.]
|
||||||
AC_CHECK_HEADERS([usb.h], [],
|
AC_CHECK_HEADERS([usb.h], [],
|
||||||
[AC_MSG_ERROR([libusb header file is required to build `grub-emu' with USB support])])
|
[grub_emu_usb_excuse=["libusb header file is required to build \`grub-emu' with USB support"]])
|
||||||
[fi]
|
|
||||||
[fi]
|
[fi]
|
||||||
|
if test x"enable_grub_emu_usb" = xyes && test x"$grub_emu_usb_excuse" != x ; then
|
||||||
|
AC_MSG_ERROR([USB support for grub-emu was explicitely requested but can't be compiled])
|
||||||
|
fi
|
||||||
|
if test x"$grub_emu_usb_excuse" = x ; then
|
||||||
|
enable_grub_emu_usb=yes
|
||||||
|
else
|
||||||
|
enable_grub_emu_usb=no
|
||||||
|
fi
|
||||||
|
|
||||||
AC_SUBST([enable_grub_emu])
|
AC_SUBST([enable_grub_emu])
|
||||||
AC_SUBST([enable_grub_emu_usb])
|
AC_SUBST([enable_grub_emu_usb])
|
||||||
|
|
||||||
AC_ARG_ENABLE([grub-fstest],
|
AC_ARG_ENABLE([grub-fstest],
|
||||||
[AS_HELP_STRING([--enable-grub-fstest],
|
[AS_HELP_STRING([--enable-grub-fstest],
|
||||||
[build and install the `grub-fstest' debugging utility])])
|
[build and install the `grub-fstest' debugging utility (default=guessed)])])
|
||||||
|
if test x"$enable_grub_fstest" = xno ; then
|
||||||
|
grub_fstest_excuse="explicitely disabled"
|
||||||
|
fi
|
||||||
|
if test x"$grub_fstest_excuse" = x ; then
|
||||||
|
enable_grub_fstest=yes
|
||||||
|
else
|
||||||
|
enable_grub_fstest=no
|
||||||
|
fi
|
||||||
AC_SUBST([enable_grub_fstest])
|
AC_SUBST([enable_grub_fstest])
|
||||||
|
|
||||||
AC_ARG_ENABLE([grub-pe2elf],
|
AC_ARG_ENABLE([grub-pe2elf],
|
||||||
|
@ -497,24 +560,32 @@ AC_SUBST([enable_grub_pe2elf])
|
||||||
|
|
||||||
AC_ARG_ENABLE([grub-mkfont],
|
AC_ARG_ENABLE([grub-mkfont],
|
||||||
[AS_HELP_STRING([--enable-grub-mkfont],
|
[AS_HELP_STRING([--enable-grub-mkfont],
|
||||||
[build and install the `grub-mkfont' utility])])
|
[build and install the `grub-mkfont' utility (default=guessed)])])
|
||||||
if test x"$enable_grub_mkfont" = xyes ; then
|
if test x"$enable_grub_mkfont" = xno ; then
|
||||||
|
grub_mkfont_excuse="explicitely disabled"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x"$grub_mkfont_excuse" = x ; then
|
||||||
# Check for freetype libraries.
|
# Check for freetype libraries.
|
||||||
AC_CHECK_PROGS([FREETYPE], [freetype-config])
|
AC_CHECK_PROGS([FREETYPE], [freetype-config])
|
||||||
if test "x$FREETYPE" = x ; then
|
if test "x$FREETYPE" = x ; then
|
||||||
AC_MSG_ERROR([freetype2 libraries are required to build `grub-mkfont'])
|
grub_mkfont_excuse=["freetype2 libraries are required to build \`grub-mkfont'"]
|
||||||
fi
|
fi
|
||||||
freetype_cflags=`freetype-config --cflags`
|
freetype_cflags=`freetype-config --cflags`
|
||||||
freetype_libs=`freetype-config --libs`
|
freetype_libs=`freetype-config --libs`
|
||||||
fi
|
fi
|
||||||
|
if test x"$enable_grub_mkfont" = xyes && test x"$grub_mkfont_excuse" != x ; then
|
||||||
|
AC_MSG_ERROR([grub-mkfont was explicitely requested but can't be compiled])
|
||||||
|
fi
|
||||||
|
if test x"$grub_mkfont_excuse" = x ; then
|
||||||
|
enable_grub_mkfont=yes
|
||||||
|
else
|
||||||
|
enable_grub_mkfont=no
|
||||||
|
fi
|
||||||
AC_SUBST([enable_grub_mkfont])
|
AC_SUBST([enable_grub_mkfont])
|
||||||
AC_SUBST([freetype_cflags])
|
AC_SUBST([freetype_cflags])
|
||||||
AC_SUBST([freetype_libs])
|
AC_SUBST([freetype_libs])
|
||||||
|
|
||||||
AC_ARG_ENABLE([efiemu],
|
|
||||||
[AS_HELP_STRING([--enable-efiemu],
|
|
||||||
[build and install the efiemu runtimes])])
|
|
||||||
AC_SUBST([enable_efiemu])
|
|
||||||
AC_SUBST(ASFLAGS)
|
AC_SUBST(ASFLAGS)
|
||||||
|
|
||||||
# Output files.
|
# Output files.
|
||||||
|
@ -532,3 +603,53 @@ fi
|
||||||
AC_CONFIG_FILES([Makefile gensymlist.sh genkernsyms.sh])
|
AC_CONFIG_FILES([Makefile gensymlist.sh genkernsyms.sh])
|
||||||
AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h])
|
AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h])
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
[
|
||||||
|
echo "*******************************************************"
|
||||||
|
echo GRUB2 will be compiled with following components:
|
||||||
|
echo Platform: "$target_cpu"-"$platform"
|
||||||
|
if test "$target_cpu"-"$platform" = i386-pc; then
|
||||||
|
if [ x"$enable_lzo" = xyes ]; then
|
||||||
|
echo Compression: LZO
|
||||||
|
else
|
||||||
|
echo Compression: LZMA
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [ x"$grub_emu_excuse" = x ]; then
|
||||||
|
echo grub-emu: Yes
|
||||||
|
else
|
||||||
|
echo grub-emu: No "($grub_emu_excuse)"
|
||||||
|
fi
|
||||||
|
if [ x"$grub_emu_usb_excuse" = x ]; then
|
||||||
|
echo USB support for grub-emu: Yes
|
||||||
|
else
|
||||||
|
echo USB support for grub-emu: No "($grub_emu_usb_excuse)"
|
||||||
|
fi
|
||||||
|
if [ x"$enable_mm_debug" = xyes ]; then
|
||||||
|
echo With memory debugging: Yes
|
||||||
|
else
|
||||||
|
echo With memory debugging: No
|
||||||
|
fi
|
||||||
|
if [ x"$enable_grub_pe2elf" = xyes ]; then
|
||||||
|
echo grub-pe2elf will be built and installed
|
||||||
|
elif [ x$TARGET_OBJ2ELF = xgrub-pe2elf ]; then
|
||||||
|
echo grub-pe2elf will be built but not installed
|
||||||
|
else
|
||||||
|
echo grub-pe2elf will not be built
|
||||||
|
fi
|
||||||
|
if [ x"$efiemu_excuse" = x ]; then
|
||||||
|
echo efiemu runtime: Yes
|
||||||
|
else
|
||||||
|
echo efiemu runtime: No "($efiemu_excuse)"
|
||||||
|
fi
|
||||||
|
if [ x"$grub_fstest_excuse" = x ]; then
|
||||||
|
echo grub-fstest: Yes
|
||||||
|
else
|
||||||
|
echo grub-fstest: No "($grub_fstest_excuse)"
|
||||||
|
fi
|
||||||
|
if [ x"$grub_mkfont_excuse" = x ]; then
|
||||||
|
echo grub-mkfont: Yes
|
||||||
|
else
|
||||||
|
echo grub-mkfont: No "($grub_mkfont_excuse)"
|
||||||
|
fi
|
||||||
|
echo "*******************************************************"
|
||||||
|
]
|
||||||
|
|
Loading…
Reference in a new issue