* [Qemu-devel] [PATCH] configure: Don't exit until all errors have been detected
@ 2015-05-08 12:40 Juan Quintela
2015-05-21 11:53 ` Peter Maydell
0 siblings, 1 reply; 2+ messages in thread
From: Juan Quintela @ 2015-05-08 12:40 UTC (permalink / raw)
To: qemu-devel
Currently, it exits until each error, so if you are installing on a new
machine, it requires lots of configure runs until you get all the
dependencies that you need. With this change, it shows all the errors
with the selected configured options.
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
configure | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index b18aa9e..1d7966b 100755
--- a/configure
+++ b/configure
@@ -38,6 +38,8 @@ printf " '%s'" "$0" "$@" >> config.log
echo >> config.log
echo "#" >> config.log
+has_errors="no"
+
error_exit() {
echo
echo "ERROR: $1"
@@ -46,7 +48,7 @@ error_exit() {
shift
done
echo
- exit 1
+ has_errors="yes"
}
do_compiler() {
@@ -5254,6 +5256,13 @@ case "$target_name" in
error_exit "Unsupported target CPU"
;;
esac
+
+
+if [ "x$has_errors" == "xyes" ]; then
+ echo "There are errors with this configuration. Exiting."
+ exit 1;
+fi
+
# TARGET_BASE_ARCH needs to be defined after TARGET_ARCH
if [ "$TARGET_BASE_ARCH" = "" ]; then
TARGET_BASE_ARCH=$TARGET_ARCH
--
2.4.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] [PATCH] configure: Don't exit until all errors have been detected
2015-05-08 12:40 [Qemu-devel] [PATCH] configure: Don't exit until all errors have been detected Juan Quintela
@ 2015-05-21 11:53 ` Peter Maydell
0 siblings, 0 replies; 2+ messages in thread
From: Peter Maydell @ 2015-05-21 11:53 UTC (permalink / raw)
To: Juan Quintela; +Cc: QEMU Developers
On 8 May 2015 at 13:40, Juan Quintela <quintela@redhat.com> wrote:
> Currently, it exits until each error, so if you are installing on a new
> machine, it requires lots of configure runs until you get all the
> dependencies that you need. With this change, it shows all the errors
> with the selected configured options.
>
> Signed-off-by: Juan Quintela <quintela@redhat.com>
> ---
> configure | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index b18aa9e..1d7966b 100755
> --- a/configure
> +++ b/configure
> @@ -38,6 +38,8 @@ printf " '%s'" "$0" "$@" >> config.log
> echo >> config.log
> echo "#" >> config.log
>
> +has_errors="no"
> +
> error_exit() {
> echo
> echo "ERROR: $1"
> @@ -46,7 +48,7 @@ error_exit() {
> shift
> done
> echo
> - exit 1
> + has_errors="yes"
> }
This will cause problems in some cases which assume that
they're protected by an error_exit, or which at least
will cause a lot of spurious errors later on:
* python version check assumes python exists
* you really want to bail out early if the C compiler
test fails
* not having pkg-config is going to cause a lot of
follow-on errors
Also it makes the function name pretty misleading.
I would suggest changing this function to just error,
and having error_exit for the few cases where we really
do want to bail out early.
> +
> +if [ "x$has_errors" == "xyes" ]; then
The POSIX shell string equality operator is "=".
"==" is a bashism and won't work on other shells.
Also, you don't need the 'x' here, so
if [ "$has_errors" = "yes" ]; then
will do.
> + echo "There are errors with this configuration. Exiting."
> + exit 1;
> +fi
As per discussion on IRC, this should go further up.
thanks
-- PMM
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-05-21 11:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-08 12:40 [Qemu-devel] [PATCH] configure: Don't exit until all errors have been detected Juan Quintela
2015-05-21 11:53 ` Peter Maydell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.