qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] meson: fix botched compile check conversions


From: Paolo Bonzini
Subject: Re: [PATCH] meson: fix botched compile check conversions
Date: Tue, 16 Nov 2021 15:31:34 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0

On 11/16/21 13:00, Daniel P. Berrangé wrote:
I wonder if the problem is more fundamental than that. Passing
stuff in --extra-cflags is done to influence the flags used to
compile the QEMU end user binaries. Unfortunately --extra-cflags
is also getting applied to all the meson.build feature checks.

IMHO we would get a more reliable result if the meson.build
checks were fully isolated from the cflags we used for building
everything else, so the checks get a well understood, predictable
environment.

IIUC, this current behaviour is a result of us adding cflags
using  add_global_arguments / add_project_arguments.

No, it's not using add_global_arguments/add_project_arguments for --extra-cflags.

The --extra-cflags (aka the CFLAGS envvar, or "meson setup -Dc_args") is messy: on one hand it's kinda legacy (we have configure flags to set -O2, -g, -Werror, etc.), on the other hand not really possible to kill it because it's how distros expect to set flags such as -O2.

But it's full of pitfalls, and the only good use of it seems to be for -I and -L flags. We already saw issues with it last week with distros adding "-Wall" to CFLAGS or --extra-cflags and that gives you bogus warnings. Unfortunately you certainly want flags such as -g to override earlier flags, and you might even want -Wall to override earlier -Wno-* flags *unless -Werror is in use*.

Apart from this, the sizeof() issue (which by the way I didn't see with GCC) has to be fixed in Meson and is probably visible also in e.g. has_members.

Paolo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]