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>