Nico Huber (nico.h@gmx.de) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16676
-gerrit
commit 09d39db20ffe14556ff63b9cae99e57dccd0652a Author: Nico Huber nico.huber@secunet.com Date: Tue Sep 20 13:01:57 2016 +0200
[RFC] buildgcc: Don't try to build gnat with a different version
Change-Id: I64a33d2cc4793e54a50fa439a4461c40d424b569 Signed-off-by: Nico Huber nico.huber@secunet.com --- util/crossgcc/buildgcc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc index 8a0127e..af1b84f 100755 --- a/util/crossgcc/buildgcc +++ b/util/crossgcc/buildgcc @@ -225,6 +225,25 @@ hostcc_version() { printf "%d.%d" "$(hostcc_major)" "$(hostcc_minor)" }
+hostcc_has_gnat1() { + [ -x "$(${CC} -print-prog-name=gnat1)" ] +} + +ada_requested() { + echo "${LANGUAGES}" | grep -q '<ada>' +} + +check_gnat() { + if hostcc_has_gnat1; then + if [ "$(hostcc_version)" != "$(buildcc_version)" -a "${BOOTSTRAP}" != "1" ]; then + printf "\n${RED}ERROR:${red} Building the Ada compiler (gnat $(buildcc_version)) " + printf "with a different host compiler\n version ($(hostcc_version)) " + printf "requires bootstrapping (-b).${NC}\n\n" + HALT_FOR_TOOLS=1 + fi + fi +} + check_cc() { if is_package_enabled "GCC"; then if [ "$(hostcc_major)" != "$(buildcc_major)" -a "${BOOTSTRAP}" != "1" ]; then @@ -232,6 +251,9 @@ check_cc() { printf "version ($(hostcc_version)).\n" printf " Bootstrapping (-b) is recommended.${NC}\n\n" fi + if ada_requested; then + check_gnat + fi fi }