~darkmuggle-deactivatedaccount/ubuntu/quantal/grub2/fix-872244

« back to all changes in this revision

Viewing changes to m4/gnulib-common.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:
 
1
# gnulib-common.m4 serial 20
 
2
dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
 
3
dnl This file is free software; the Free Software Foundation
 
4
dnl gives unlimited permission to copy and/or distribute it,
 
5
dnl with or without modifications, as long as this notice is preserved.
 
6
 
 
7
# gl_COMMON
 
8
# is expanded unconditionally through gnulib-tool magic.
 
9
AC_DEFUN([gl_COMMON], [
 
10
  dnl Use AC_REQUIRE here, so that the code is expanded once only.
 
11
  AC_REQUIRE([gl_00GNULIB])
 
12
  AC_REQUIRE([gl_COMMON_BODY])
 
13
])
 
14
AC_DEFUN([gl_COMMON_BODY], [
 
15
  AH_VERBATIM([isoc99_inline],
 
16
[/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
 
17
   the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
 
18
   earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
 
19
   __APPLE__ && __MACH__ test for MacOS X.
 
20
   __APPLE_CC__ tests for the Apple compiler and its version.
 
21
   __STDC_VERSION__ tests for the C99 mode.  */
 
22
#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
 
23
# define __GNUC_STDC_INLINE__ 1
 
24
#endif])
 
25
  AH_VERBATIM([unused_parameter],
 
26
[/* Define as a marker that can be attached to declarations that might not
 
27
    be used.  This helps to reduce warnings, such as from
 
28
    GCC -Wunused-parameter.  */
 
29
#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
 
30
# define _GL_UNUSED __attribute__ ((__unused__))
 
31
#else
 
32
# define _GL_UNUSED
 
33
#endif
 
34
/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name
 
35
   is a misnomer outside of parameter lists.  */
 
36
#define _UNUSED_PARAMETER_ _GL_UNUSED
 
37
])
 
38
  dnl Preparation for running test programs:
 
39
  dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not
 
40
  dnl to /dev/tty, so they can be redirected to log files.  Such diagnostics
 
41
  dnl arise e.g., in the macros gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N.
 
42
  LIBC_FATAL_STDERR_=1
 
43
  export LIBC_FATAL_STDERR_
 
44
])
 
45
 
 
46
# gl_MODULE_INDICATOR_CONDITION
 
47
# expands to a C preprocessor expression that evaluates to 1 or 0, depending
 
48
# whether a gnulib module that has been requested shall be considered present
 
49
# or not.
 
50
AC_DEFUN([gl_MODULE_INDICATOR_CONDITION], [1])
 
51
 
 
52
# gl_MODULE_INDICATOR_SET_VARIABLE([modulename])
 
53
# sets the shell variable that indicates the presence of the given module to
 
54
# a C preprocessor expression that will evaluate to 1.
 
55
AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE],
 
56
[
 
57
  GNULIB_[]m4_translit([[$1]],
 
58
    [abcdefghijklmnopqrstuvwxyz./-],
 
59
    [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=gl_MODULE_INDICATOR_CONDITION
 
60
])
 
61
 
 
62
# gl_MODULE_INDICATOR([modulename])
 
63
# defines a C macro indicating the presence of the given module
 
64
# in a location where it can be used.
 
65
#                                             |  Value  |   Value   |
 
66
#                                             | in lib/ | in tests/ |
 
67
# --------------------------------------------+---------+-----------+
 
68
# Module present among main modules:          |    1    |     1     |
 
69
# --------------------------------------------+---------+-----------+
 
70
# Module present among tests-related modules: |    0    |     1     |
 
71
# --------------------------------------------+---------+-----------+
 
72
# Module not present at all:                  |    0    |     0     |
 
73
# --------------------------------------------+---------+-----------+
 
74
AC_DEFUN([gl_MODULE_INDICATOR],
 
75
[
 
76
  AC_DEFINE_UNQUOTED([GNULIB_]m4_translit([[$1]],
 
77
      [abcdefghijklmnopqrstuvwxyz./-],
 
78
      [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]),
 
79
    [gl_MODULE_INDICATOR_CONDITION],
 
80
    [Define to a C preprocessor expression that evaluates to 1 or 0,
 
81
     depending whether the gnulib module $1 shall be considered present.])
 
82
])
 
83
 
 
84
# gl_MODULE_INDICATOR_FOR_TESTS([modulename])
 
85
# defines a C macro indicating the presence of the given module
 
86
# in lib or tests. This is useful to determine whether the module
 
87
# should be tested.
 
88
#                                             |  Value  |   Value   |
 
89
#                                             | in lib/ | in tests/ |
 
90
# --------------------------------------------+---------+-----------+
 
91
# Module present among main modules:          |    1    |     1     |
 
92
# --------------------------------------------+---------+-----------+
 
93
# Module present among tests-related modules: |    1    |     1     |
 
94
# --------------------------------------------+---------+-----------+
 
95
# Module not present at all:                  |    0    |     0     |
 
96
# --------------------------------------------+---------+-----------+
 
97
AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS],
 
98
[
 
99
  AC_DEFINE([GNULIB_TEST_]m4_translit([[$1]],
 
100
      [abcdefghijklmnopqrstuvwxyz./-],
 
101
      [ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1],
 
102
    [Define to 1 when the gnulib module $1 should be tested.])
 
103
])
 
104
 
 
105
# m4_foreach_w
 
106
# is a backport of autoconf-2.59c's m4_foreach_w.
 
107
# Remove this macro when we can assume autoconf >= 2.60.
 
108
m4_ifndef([m4_foreach_w],
 
109
  [m4_define([m4_foreach_w],
 
110
    [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])])
 
111
 
 
112
# AS_VAR_IF(VAR, VALUE, [IF-MATCH], [IF-NOT-MATCH])
 
113
# ----------------------------------------------------
 
114
# Backport of autoconf-2.63b's macro.
 
115
# Remove this macro when we can assume autoconf >= 2.64.
 
116
m4_ifndef([AS_VAR_IF],
 
117
[m4_define([AS_VAR_IF],
 
118
[AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])])
 
119
 
 
120
# AC_PROG_MKDIR_P
 
121
# is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix
 
122
# for interoperability with automake-1.9.6 from autoconf-2.62.
 
123
# Remove this macro when we can assume autoconf >= 2.62 or
 
124
# autoconf >= 2.60 && automake >= 1.10.
 
125
m4_ifdef([AC_PROG_MKDIR_P], [
 
126
  dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed.
 
127
  m4_define([AC_PROG_MKDIR_P],
 
128
    m4_defn([AC_PROG_MKDIR_P])[
 
129
    AC_SUBST([MKDIR_P])])], [
 
130
  dnl For autoconf < 2.60: Backport of AC_PROG_MKDIR_P.
 
131
  AC_DEFUN_ONCE([AC_PROG_MKDIR_P],
 
132
    [AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
 
133
     MKDIR_P='$(mkdir_p)'
 
134
     AC_SUBST([MKDIR_P])])])
 
135
 
 
136
# AC_C_RESTRICT
 
137
# This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61,
 
138
# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++
 
139
# works.
 
140
# This definition can be removed once autoconf >= 2.62 can be assumed.
 
141
m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.62]),[-1],[
 
142
AC_DEFUN([AC_C_RESTRICT],
 
143
[AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict],
 
144
  [ac_cv_c_restrict=no
 
145
   # The order here caters to the fact that C++ does not require restrict.
 
146
   for ac_kw in __restrict __restrict__ _Restrict restrict; do
 
147
     AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
 
148
      [[typedef int * int_ptr;
 
149
        int foo (int_ptr $ac_kw ip) {
 
150
        return ip[0];
 
151
       }]],
 
152
      [[int s[1];
 
153
        int * $ac_kw t = s;
 
154
        t[0] = 0;
 
155
        return foo(t)]])],
 
156
      [ac_cv_c_restrict=$ac_kw])
 
157
     test "$ac_cv_c_restrict" != no && break
 
158
   done
 
159
  ])
 
160
 AH_VERBATIM([restrict],
 
161
[/* Define to the equivalent of the C99 'restrict' keyword, or to
 
162
   nothing if this is not supported.  Do not define if restrict is
 
163
   supported directly.  */
 
164
#undef restrict
 
165
/* Work around a bug in Sun C++: it does not support _Restrict, even
 
166
   though the corresponding Sun C compiler does, which causes
 
167
   "#define restrict _Restrict" in the previous line.  Perhaps some future
 
168
   version of Sun C++ will work with _Restrict; if so, it'll probably
 
169
   define __RESTRICT, just as Sun C does.  */
 
170
#if defined __SUNPRO_CC && !defined __RESTRICT
 
171
# define _Restrict
 
172
#endif])
 
173
 case $ac_cv_c_restrict in
 
174
   restrict) ;;
 
175
   no) AC_DEFINE([restrict], []) ;;
 
176
   *)  AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;;
 
177
 esac
 
178
])
 
179
])
 
180
 
 
181
# gl_BIGENDIAN
 
182
# is like AC_C_BIGENDIAN, except that it can be AC_REQUIREd.
 
183
# Note that AC_REQUIRE([AC_C_BIGENDIAN]) does not work reliably because some
 
184
# macros invoke AC_C_BIGENDIAN with arguments.
 
185
AC_DEFUN([gl_BIGENDIAN],
 
186
[
 
187
  AC_C_BIGENDIAN
 
188
])
 
189
 
 
190
# gl_CACHE_VAL_SILENT(cache-id, command-to-set-it)
 
191
# is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not
 
192
# output a spurious "(cached)" mark in the midst of other configure output.
 
193
# This macro should be used instead of AC_CACHE_VAL when it is not surrounded
 
194
# by an AC_MSG_CHECKING/AC_MSG_RESULT pair.
 
195
AC_DEFUN([gl_CACHE_VAL_SILENT],
 
196
[
 
197
  saved_as_echo_n="$as_echo_n"
 
198
  as_echo_n=':'
 
199
  AC_CACHE_VAL([$1], [$2])
 
200
  as_echo_n="$saved_as_echo_n"
 
201
])