Nico Huber (nico.h(a)gmx.de) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16676
-gerrit
commit 3283090e69b0e403a879e7b0205f7b3291cc0ad5
Author: Nico Huber <nico.huber(a)secunet.com>
Date: Tue Sep 20 13:01:57 2016 +0200
buildgcc: Don't try to build gnat with a different version
Change-Id: I64a33d2cc4793e54a50fa439a4461c40d424b569
Signed-off-by: Nico Huber <nico.huber(a)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
}
the following patch was just integrated into master:
commit 156d87c024697161333087e155e656efeb070bcc
Author: Nico Huber <nico.huber(a)secunet.com>
Date: Tue Sep 20 12:59:53 2016 +0200
buildgcc: Warn when building GCC with a different major version
GCC build instruction recommend to bootstrap a native compiler first.
Not sure, when that is really necessary. A major version change seems
reasonable.
Change-Id: I80a9ec25739b7d33a1d1c7b4b2140d19d89a99ae
Signed-off-by: Nico Huber <nico.huber(a)secunet.com>
Reviewed-on: https://review.coreboot.org/16675
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
See https://review.coreboot.org/16675 for details.
-gerrit
the following patch was just integrated into master:
commit aee7f46cd3177e469f008a4a48a7b253cb9b7c2a
Author: Nico Huber <nico.huber(a)secunet.com>
Date: Tue Sep 20 12:55:19 2016 +0200
buildgcc: Add functions to test GCC versions
Just add some helpers that show parts (major, major.minor) of the GCC
version to be built (buildcc_*) and of the host compiler (hostcc_*).
They will be used in follow-up commits.
Change-Id: I37c12ad1a2d08645f40a9f0f0a479c8d7cc3e127
Signed-off-by: Nico Huber <nico.huber(a)secunet.com>
Reviewed-on: https://review.coreboot.org/16674
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
Tested-by: build bot (Jenkins)
See https://review.coreboot.org/16674 for details.
-gerrit
the following patch was just integrated into master:
commit bd74d561adceab2a02629b7439cdb34f18e41c02
Author: Nico Huber <nico.huber(a)secunet.com>
Date: Tue Sep 20 14:16:43 2016 +0200
buildgcc: Show excessive arguments and bail out
Also remove a dead line that checks for unknown options: We already let
`getopt` check that.
Change-Id: I0e829b266e192757d6e455ee4cc608315bb4b7be
Signed-off-by: Nico Huber <nico.huber(a)secunet.com>
Reviewed-on: https://review.coreboot.org/16681
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
See https://review.coreboot.org/16681 for details.
-gerrit
the following patch was just integrated into master:
commit 78df0bf46deba1685ba1283e2575f90e62710cd5
Author: Nico Huber <nico.huber(a)secunet.com>
Date: Tue Sep 20 14:11:53 2016 +0200
buildgcc: Check exit status of `getopt`
We accidentally checked the status of `eval` instead.
Change-Id: I1ba258944184ed707ed1f176e528d8266656cb59
Signed-off-by: Nico Huber <nico.huber(a)secunet.com>
Reviewed-on: https://review.coreboot.org/16680
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
See https://review.coreboot.org/16680 for details.
-gerrit
the following patch was just integrated into master:
commit cc414dd47fd227962bded5605d6a277bb7b05939
Author: Nico Huber <nico.huber(a)secunet.com>
Date: Tue Sep 20 13:59:38 2016 +0200
buildgcc: Fix GNU getopt usage
Looks like this never worked correctly: There are three argument formats
to GNU getopt and none of them matches what we fed it. The missing
double dash before the `set` arguments proves that we always called it
with parameters that `getopt` did NOT parse.
Change-Id: Ib8343976ef31774b18567a9fc9745a9f58dd287a
Signed-off-by: Nico Huber <nico.huber(a)secunet.com>
Reviewed-on: https://review.coreboot.org/16679
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
Tested-by: build bot (Jenkins)
See https://review.coreboot.org/16679 for details.
-gerrit
the following patch was just integrated into master:
commit 152e78e79421224c42aa09b875792f8583c3ccb3
Author: Nico Huber <nico.huber(a)secunet.com>
Date: Tue Sep 20 15:38:40 2016 +0200
buildgcc: Fix option arguments
As we support `getopt` versions that don't know long options, every
option arguments needs a short option.
Also add the long options `--urls` and `--nocolor` to the `getopt`
string.
Change-Id: I11c393c3d90c7a16cdda119594221c85f902ed40
Signed-off-by: Nico Huber <nico.huber(a)secunet.com>
Reviewed-on: https://review.coreboot.org/16682
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
Tested-by: build bot (Jenkins)
See https://review.coreboot.org/16682 for details.
-gerrit