~hamo/ubuntu/precise/grub2/grub2.hi_res

« back to all changes in this revision

Viewing changes to acinclude.m4

  • Committer: Bazaar Package Importer
  • Author(s): Colin Watson, Colin Watson, Evan Broder, Mario Limonciello
  • Date: 2010-11-24 13:59:55 UTC
  • mfrom: (1.17.6 upstream) (17.6.15 experimental)
  • Revision ID: james.westby@ubuntu.com-20101124135955-r6ii5sepayr7jt53
Tags: 1.99~20101124-1ubuntu1
[ Colin Watson ]
* Resynchronise with Debian experimental.  Remaining changes:
  - Adjust for default Ubuntu boot options ("quiet splash").
  - Default to hiding the menu; holding down Shift at boot will show it.
  - Set a monochromatic theme for Ubuntu.
  - Apply Ubuntu GRUB Legacy changes to legacy update-grub script: title,
    recovery mode, quiet option, tweak how memtest86+ is displayed, and
    use UUIDs where appropriate.
  - Fix backslash-escaping in merge_debconf_into_conf.
  - Remove "GNU/Linux" from default distributor string.
  - Add crashkernel= options if kdump and makedumpfile are available.
  - If other operating systems are installed, then automatically unhide
    the menu.  Otherwise, if GRUB_HIDDEN_TIMEOUT is 0, then use keystatus
    if available to check whether Shift is pressed.  If it is, show the
    menu, otherwise boot immediately.  If keystatus is not available, then
    fall back to a short delay interruptible with Escape.
  - Allow Shift to interrupt 'sleep --interruptible'.
  - Don't display introductory message about line editing unless we're
    actually offering a shell prompt.  Don't clear the screen just before
    booting if we never drew the menu in the first place.
  - Remove some verbose messages printed before reading the configuration
    file.
  - Suppress progress messages as the kernel and initrd load for
    non-recovery kernel menu entries.
  - Change prepare_grub_to_access_device to handle filesystems
    loop-mounted on file images.
  - Ignore devices loop-mounted from files in 10_linux.
  - Show the boot menu if the previous boot failed, that is if it failed
    to get to the end of one of the normal runlevels.
  - Don't generate /boot/grub/device.map during grub-install or
    grub-mkconfig by default.
  - Adjust upgrade version checks for Ubuntu.
  - Don't display "GRUB loading" unless Shift is held down.
  - Adjust versions of grub-doc and grub-legacy-doc conflicts to tolerate
    our backport of the grub-doc split.
  - Fix LVM/RAID probing in the absence of /boot/grub/device.map.
  - Look for .mo files in /usr/share/locale-langpack as well, in
    preference.
  - Make sure GRUB_TIMEOUT isn't quoted unnecessarily.
  - Probe all devices in 'grub-probe --target=drive' if
    /boot/grub/device.map is missing.
  - Build-depend on qemu-kvm rather than qemu-system for grub-pc tests.
  - Use qemu rather than qemu-system-i386.
  - Program vesafb on BIOS systems rather than efifb.
  - Add a grub-rescue-efi-amd64 package containing a rescue CD-ROM image
    for EFI-AMD64.
  - On Wubi, don't ask for an install device, but just update wubildr
    using the diverted grub-install.
  - When embedding the core image in a post-MBR gap, check for and avoid
    sectors matching any of a list of known signatures.
  - Disable video_bochs and video_cirrus on PC BIOS systems, as probing
    PCI space seems to break on some systems.
* Downgrade "ACPI shutdown failed" error to a debug message, since it can
  cause spurious test failures.

[ Evan Broder ]
* Enable lua from grub-extras.
* Incorporate the bitop library into lua.
* Add enum_pci function to grub module in lua.
* Switch back to gfxpayload=keep by default, unless the video hardware
  is known to not support it.

[ Mario Limonciello ]
* Built part_msdos and vfat into bootx64.efi (LP: #677758)

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
dnl Erich Boleyn and modified by Yoshinori K. Okuji.
39
39
AC_DEFUN([grub_ASM_USCORE],
40
40
[AC_REQUIRE([AC_PROG_CC])
 
41
AC_REQUIRE([AC_PROG_EGREP])
41
42
AC_MSG_CHECKING([if C symbols get an underscore after compilation])
42
43
AC_CACHE_VAL(grub_cv_asm_uscore,
43
44
[cat > conftest.c <<\EOF
56
57
  AC_MSG_ERROR([${CC-cc} failed to produce assembly code])
57
58
fi
58
59
 
59
 
if grep _func conftest.s >/dev/null 2>&1; then
 
60
if $EGREP '(^|[^_[:alnum]])_func' conftest.s >/dev/null 2>&1; then
 
61
  HAVE_ASM_USCORE=1
60
62
  grub_cv_asm_uscore=yes
61
63
else
 
64
  HAVE_ASM_USCORE=0
62
65
  grub_cv_asm_uscore=no
63
66
fi
64
67
 
65
68
rm -f conftest*])
66
69
 
67
 
if test "x$grub_cv_asm_uscore" = xyes; then
68
 
  AC_DEFINE_UNQUOTED([HAVE_ASM_USCORE], $grub_cv_asm_uscore,
69
 
    [Define if C symbols get an underscore after compilation])
70
 
fi
71
 
 
72
70
AC_MSG_RESULT([$grub_cv_asm_uscore])
73
71
])
74
72
 
93
91
fi
94
92
grub_cv_prog_objcopy_absolute=yes
95
93
for link_addr in 0x2000 0x8000 0x7C00; do
96
 
  if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -nostdlib ${TARGET_IMG_LDFLAGS_AC}$link_addr conftest.o -o conftest.exec]); then :
 
94
  if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -nostdlib ${TARGET_IMG_LDFLAGS_AC} ${TARGET_IMG_BASE_LDOPT},$link_addr conftest.o -o conftest.exec]); then :
97
95
  else
98
96
    AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr])
99
97
  fi
236
234
  grub_tmp_data32="data32;"
237
235
fi
238
236
 
239
 
AC_DEFINE_UNQUOTED([ADDR32], $grub_tmp_addr32,
240
 
  [Define it to \"addr32\" or \"addr32;\" to make GAS happy])
241
 
AC_DEFINE_UNQUOTED([DATA32], $grub_tmp_data32,
242
 
  [Define it to \"data32\" or \"data32;\" to make GAS happy])
 
237
ADDR32=$grub_tmp_addr32
 
238
DATA32=$grub_tmp_data32
243
239
 
244
240
AC_MSG_RESULT([$grub_cv_i386_asm_prefix_requirement])])
245
241
 
246
242
 
247
 
dnl Older versions of GAS require that absolute indirect calls/jumps are
248
 
dnl not prefixed with `*', while later versions warn if not prefixed.
249
 
AC_DEFUN([grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK],
250
 
[AC_REQUIRE([AC_PROG_CC])
251
 
AC_MSG_CHECKING(dnl
252
 
[whether an absolute indirect call/jump must not be prefixed with an asterisk])
253
 
AC_CACHE_VAL(grub_cv_i386_asm_absolute_without_asterisk,
254
 
[cat > conftest.s <<\EOF
255
 
        lcall   *(offset)
256
 
offset:
257
 
        .long   0
258
 
        .word   0
259
 
EOF
260
 
 
261
 
if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -c conftest.s]) && test -s conftest.o; then
262
 
  grub_cv_i386_asm_absolute_without_asterisk=no
263
 
else
264
 
  grub_cv_i386_asm_absolute_without_asterisk=yes
265
 
fi
266
 
 
267
 
rm -f conftest*])
268
 
 
269
 
if test "x$grub_cv_i386_asm_absolute_without_asterisk" = xyes; then
270
 
  AC_DEFINE([ABSOLUTE_WITHOUT_ASTERISK], 1,
271
 
            [Define it if GAS requires that absolute indirect calls/jumps are not prefixed with an asterisk])
272
 
fi
273
 
 
274
 
AC_MSG_RESULT([$grub_cv_i386_asm_absolute_without_asterisk])])
275
 
 
276
 
 
277
243
dnl Check what symbol is defined as a bss start symbol.
278
244
dnl Written by Michael Hohmoth and Yoshinori K. Okuji.
279
245
AC_DEFUN([grub_CHECK_BSS_START_SYMBOL],
305
271
 
306
272
AC_MSG_RESULT([$grub_cv_check_uscore_edata_symbol])
307
273
 
308
 
AH_TEMPLATE([BSS_START_SYMBOL], [Define it to one of __bss_start, edata and _edata])
309
 
 
310
274
if test "x$grub_cv_check_uscore_uscore_bss_start_symbol" = xyes; then
311
 
  AC_DEFINE([BSS_START_SYMBOL], [__bss_start])
 
275
  BSS_START_SYMBOL=__bss_start
312
276
elif test "x$grub_cv_check_edata_symbol" = xyes; then
313
 
  AC_DEFINE([BSS_START_SYMBOL], [edata])
 
277
  BSS_START_SYMBOL=edata
314
278
elif test "x$grub_cv_check_uscore_edata_symbol" = xyes; then
315
 
  AC_DEFINE([BSS_START_SYMBOL], [_edata])
 
279
  BSS_START_SYMBOL=_edata
316
280
else
317
281
  AC_MSG_ERROR([none of __bss_start, edata or _edata is defined])
318
282
fi
340
304
 
341
305
AC_MSG_RESULT([$grub_cv_check_uscore_end_symbol])
342
306
 
343
 
AH_TEMPLATE([END_SYMBOL], [Define it to either end or _end])
344
 
 
345
307
if test "x$grub_cv_check_end_symbol" = xyes; then
346
 
  AC_DEFINE([END_SYMBOL], [end])
 
308
  END_SYMBOL=end
347
309
elif test "x$grub_cv_check_uscore_end_symbol" = xyes; then
348
 
  AC_DEFINE([END_SYMBOL], [_end])
 
310
  END_SYMBOL=_end
349
311
else
350
312
  AC_MSG_ERROR([neither end nor _end is defined])
351
313
fi
368
330
  AC_MSG_ERROR([${CC-cc} failed to produce assembly code])
369
331
fi
370
332
if grep __enable_execute_stack conftest.s >/dev/null 2>&1; then
371
 
  AC_DEFINE([NEED_ENABLE_EXECUTE_STACK], 1,
372
 
            [Define to 1 if GCC generates calls to __enable_execute_stack()])
 
333
  NEED_ENABLE_EXECUTE_STACK=1
373
334
  AC_MSG_RESULT([yes])
374
335
else
 
336
  NEED_ENABLE_EXECUTE_STACK=0
375
337
  AC_MSG_RESULT([no])
376
338
fi
377
339
rm -f conftest*