On Tue, 29 Aug 2023 at 09:31, Paolo Bonzini <pbonz...@redhat.com> wrote: > > The argument of --host-cc is not obeyed when cross compiling. To avoid > this issue, place it in a configuration file and pass it to meson > with --native-file. > > While at it, clarify that --host-cc is not obeyed anyway when _not_ > cross compiling. > > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > configure | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/configure b/configure > index 3423f008d5c..b2bc1ff5f7b 100755 > --- a/configure > +++ b/configure > @@ -922,7 +922,7 @@ Advanced options (experts only): > --cross-prefix=PREFIX use PREFIX for compile tools, PREFIX can be blank [$cross_prefix] > --cc=CC use C compiler CC [$cc] > --host-cc=CC use C compiler CC [$host_cc] for code run at > - build time > + build time when cross compiling > --cxx=CXX use C++ compiler CXX [$cxx] > --objcc=OBJCC use Objective-C compiler OBJCC [$objcc] > --extra-cflags=CFLAGS append extra C compiler flags CFLAGS > @@ -1886,7 +1886,6 @@ if test "$skip_meson" = no; then > echo "windres = [$(meson_quote $windres)]" >> $cross > echo "windmc = [$(meson_quote $windmc)]" >> $cross > if test "$cross_compile" = "yes"; then > - cross_arg="--cross-file config-meson.cross" > echo "[host_machine]" >> $cross > echo "system = '$targetos'" >> $cross > case "$cpu" in > @@ -1903,6 +1902,14 @@ if test "$skip_meson" = no; then > else > echo "endian = 'little'" >> $cross > fi > + cross_arg="--cross-file config-meson.cross" > + > + native="config-meson.native.new" > + echo "# Automatically generated by configure - do not modify" > $native > + echo "[binaries]" >> $native > + echo "c = [$(meson_quote $host_cc)]" >> $native > + mv $native config-meson.native > + cross_arg="$cross_arg --native-file config-meson.native" > else > cross_arg="--native-file config-meson.cross" > fi > --
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM