grub: support build on x86-64, and misc other improvements
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 11 Nov 2013 16:47:28 +0000 (17:47 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Sun, 1 Dec 2013 22:35:28 +0000 (23:35 +0100)
commitda60753a43d7ce28b09e1960b2094cd86e2ed562
tree9e202d03d8700e25f647a764b9e53f544e2078fc
parent76422721f76136b36be6662f0de7a02fe0d2733c
grub: support build on x86-64, and misc other improvements

This commit brings a number of improvements to the grub packaging:

 * It builds grub with the host compiler, which is needed so that we
   can build a 32 bits grub even if the target architecture is
   x86-64. To make sure we have a host compiler capable of generating
   32 bits code, grub now selects the BR2_HOSTARCH_NEEDS_IA32_COMPILER
   option. Building with the host compiler is done by cheating and
   passing $(HOST_CONFIGURE_OPTS) in GRUB_CONF_ENV.

 * Some additional CFLAGS are added to make sure grub builds properly
   with modern compilers (-O0, --build-id=none, -fno-stack-protector).

 * Removal of the GRUB_INSTALL_STAGING_CMDS which were not used, since
   GRUB_INSTALL_STAGING was not set to YES.

 * Installation of the "grub" binary in $(HOST_DIR) instead of
   $(TARGET_DIR) since it's actually used only on the host to install
   grub into an image or device.

 * Removal of the grub uninstall commands, since they are generally
   considered useless.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
boot/grub/Config.in
boot/grub/grub.mk