aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2024-01-29 15:55:01 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2024-01-30 07:23:40 +0000
commite1e92ae5e36ea43022119b3807b4e22e1d014cae (patch)
treec1e5951cbe3117f615aee8479598e0cbf7075791
parent71a82617dc37fa4d049374fe73d259e6c39dde52 (diff)
Add support for --enable maintainer_mode
For components binutils, gcc, gdb, gdbserver, glibc, newlib this flags adds --enable-maintainer-mode to the configure flags. Note that this expacts the appropriate versions of autoconf and automake to be in $PATH (autoconf-2.69 and automake-1.15.1 at the moment). Tested by applying a binutils patch series which requires some files to be regenerated, otherwise there are many failures when running the testsuite: we do see the failures without this flag, and they disappear with this flag. Change-Id: Iadac4c1905761857f976c7b0aa228c4ac1e8c7d5
-rwxr-xr-xabe.sh45
-rw-r--r--lib/configure.sh8
-rw-r--r--lib/globals.sh2
3 files changed, 48 insertions, 7 deletions
diff --git a/abe.sh b/abe.sh
index c62b043b..61182332 100755
--- a/abe.sh
+++ b/abe.sh
@@ -23,9 +23,9 @@ usage()
${abe} [''| [--build {<package> [--stage {1|2}]|all}]
[--check {all|glibc|gcc|gdb|binutils}]
[--checkout {<package>|all}]
- [--disable {building|install|make_docs|parallel|update}]
+ [--disable {building|install|maintainer_mode|make_docs|parallel|update}]
[--dryrun] [--dump]
- [--enable {building|install|make_docs|parallel|update}]
+ [--enable {building|install|maintainer_mode|make_docs|parallel|update}]
[--excludecheck {all|glibc|gcc|gdb|binutils|newlib}]
[--extraconfig <tool>=<path>] [--extraconfigdir <dir>]
[--force] [--help] [--host <host_triple>]
@@ -146,14 +146,18 @@ OPTIONS
complete build as specified by the config/ .conf
files.
- --disable {install|update|make_docs|building|parallel}
+ --disable {install|update|maintainer_mode|make_docs|building|parallel}
- install
+ install
Disable the make install stage of packages, which
is enabled by default.
- update
- Don't update source repositories before building.
+ update
+ Don't update source repositories before building.
+
+ maintainer_mode
+ [default] Do not configure components in
+ maintainer mode.
make_docs
Don't make the toolchain package documentation.
@@ -167,12 +171,35 @@ OPTIONS
parallel
Don't parallelize build. This is useful when
troubleshooting a build.
-
+
--dryrun Run as much of ${abe} as possible without doing any
actual configuration, building, or installing.
--dump Dump configuration file information for this build.
+ --enable {install|update|maintainer_mode|make_docs|building|parallel}
+
+ install
+ [default] Enable the make install stage of
+ packages, which is enabled by default.
+
+ update
+ [default] Update source repositories before building.
+
+ maintainer_mode
+ Configure components in maintainer mode. This
+ requires the right versions of autoconf and
+ automake in $PATH.
+
+ make_docs
+ [default] Make the toolchain package documentation.
+
+ building
+ [default] Build tools.
+
+ parallel
+ [default] Parallelize build.
+
--excludecheck {all|glibc|gcc|gdb|binutils|newlib}
{glibc|gcc|gdb|binutils|newlib}
@@ -933,6 +960,7 @@ dump()
echo "Install ${install}"
echo "Source Update ${supdate}"
echo "Make Documentation ${make_docs}"
+ echo "Maintainer mode ${maintainer_mode}"
if test x"${release}" != x; then
echo "Release Name ${release}"
@@ -1250,6 +1278,9 @@ while test $# -gt 0; do
install)
install="${value}"
;;
+ maintainer_mode)
+ maintainer_mode="${value}"
+ ;;
make_docs)
make_docs="${value}"
;;
diff --git a/lib/configure.sh b/lib/configure.sh
index c44c1ed3..2fa2269c 100644
--- a/lib/configure.sh
+++ b/lib/configure.sh
@@ -133,6 +133,14 @@ configure_build()
opts="${opts} CFLAGS=\"${override_cflags}\" CXXFLAGS=\"${override_cflags}\""
fi
+ if test x"${maintainer_mode}" = x"yes"; then
+ case ${component} in
+ binutils|gcc|gdb|gdbserver|glibc|newlib)
+ opts="${opts} --enable-maintainer-mode"
+ ;;
+ esac
+ fi
+
# Some components' configure (eg. qemu's) do not support overriding
# SHELL via an argument, so allow not to do so when needed.
FORCESHELL="SHELL=${bash_shell}"
diff --git a/lib/globals.sh b/lib/globals.sh
index ab37a36d..92681035 100644
--- a/lib/globals.sh
+++ b/lib/globals.sh
@@ -114,6 +114,8 @@ expected_failures=""
flaky_failures=""
failures_expiration_date=""
+maintainer_mode=no
+
prefix=""
# source a user specific config file for commonly used configure options.