On Fri, 8 Mar 2024 at 06:01, Thomas Huth <th...@redhat.com> wrote: > > If you try to run the configure script on a system without a working > C compiler, you get a very misleading error message: > > ERROR: Unrecognized host OS (uname -s reports 'Linux') > > We should rather tell the user that we were not able to use the C > compiler instead, otherwise they will have a hard time to figure > out what was going wrong. > > Fixes: 264b803721 ("configure: remove compiler sanity check") > Signed-off-by: Thomas Huth <th...@redhat.com> > --- > configure | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/configure b/configure > index 3cd736b139..a036923dee 100755 > --- a/configure > +++ b/configure > @@ -411,7 +411,7 @@ else > # Using uname is really broken, but it is just a fallback for architectures > # that are going to use TCI anyway > cpu=$(uname -m) > - echo "WARNING: unrecognized host CPU, proceeding with 'uname -m' output > '$cpu'" > + echo "WARNING: could not determine host CPU, proceeding with 'uname -m' > output '$cpu'" > fi > > # Normalise host CPU name to the values used by Meson cross files and in > source > @@ -1000,10 +1000,12 @@ if test -z "$ninja"; then > fi > > if test "$host_os" = "bogus"; then > - # Now that we know that we're not printing the help and that > - # the compiler works (so the results of the check_defines we used > - # to identify the OS are reliable), if we didn't recognize the > - # host OS we should stop now. > + # Now that we know that we're not printing the help, we should stop now > + # if we didn't recognize the host OS (or the C compiler is not working). > + write_c_skeleton; > + if ! compile_object ; then > + error_exit "C compiler \"$cc\" is not usable" > + fi > error_exit "Unrecognized host OS (uname -s reports '$(uname -s)')" > fi
Why doesn't it work to check the C compiler works before we do the "what is the host CPU" test ? Does that make the --help output not work when there's no C compiler? thanks -- PMM