summaryrefslogtreecommitdiff
path: root/util/crossgcc/buildgcc
diff options
context:
space:
mode:
authorNico Huber <nico.huber@secunet.com>2016-09-20 13:01:57 +0200
committerNico Huber <nico.h@gmx.de>2016-09-21 22:07:59 +0200
commit75797166cef66a84f38856f74a671968c6a7cd1f (patch)
tree01cbe30164aac3ae3a7ba4b8874961414e61d0bb /util/crossgcc/buildgcc
parent156d87c024697161333087e155e656efeb070bcc (diff)
buildgcc: Don't try to build gnat with a different version
Change-Id: I64a33d2cc4793e54a50fa439a4461c40d424b569 Signed-off-by: Nico Huber <nico.huber@secunet.com> Reviewed-on: https://review.coreboot.org/16676 Reviewed-by: Patrick Georgi <pgeorgi@google.com> Tested-by: build bot (Jenkins)
Diffstat (limited to 'util/crossgcc/buildgcc')
-rwxr-xr-xutil/crossgcc/buildgcc22
1 files changed, 22 insertions, 0 deletions
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index 2907c098b9..da9947b961 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
}