Meson build

Ján Tomko jtomko at redhat.com
Tue Sep 1 13:03:02 UTC 2020


On a Sunday in 2020, Toolybird wrote:
>Hi,
>
>Just a heads up on my experiences with the new build system.
>
>Arch Linux
>meson-0.55.1
>
>Overall, it looks good, so well done!
>
>Just a couple of minor things I noted:
>
>1. Arch uses a meson wrapper script (arch-meson) that sets:
>
>  --buildtype plain
>

Does this affect the 'meson' available for end users? Or this
is just for the packaging system? (I'm not familiar with Arch)

If it affects end users, I'd say it's a bug in Arch.

>This seems to trigger a bug in meson that results in copious bogus compiler warnings:
>
>cc1: warning: ‘-Wformat-y2k’ ignored without ‘-Wformat’ [-Wformat-y2k]
>cc1: warning: ‘-Wformat-extra-args’ ignored without ‘-Wformat’ [-Wformat-extra-args]
>cc1: warning: ‘-Wformat-zero-length’ ignored without ‘-Wformat’ [-Wformat-zero-length]
>cc1: warning: ‘-Wformat-contains-nul’ ignored without ‘-Wformat’ [-Wformat-contains-nul]
>cc1: warning: ‘-Wformat-security’ ignored without ‘-Wformat’ [-Wformat-security]
>
>which of course breaks -Werror builds.
>
>I can easily work around it by setting `-D git_werror=disabled' or even better still:
>
>CFLAGS+=" -Wall" arch-meson...
>
>Maybe this github issue is related?:
>
>https://github.com/mesonbuild/meson/issues/7399
>

According to the quick guide:
https://mesonbuild.com/Quick-guide.html

     The command line switch --buildtype=plain tells Meson not to add its own flags
     to the command line. This gives the packager total control on used flags.

So it does not format the warning level (which we specify via default_options),
but it honors all the cflags we added manually (warnigs above -Wall +
-Werror if building from git).

I'm not sure making it easier to ignore warnings is a worthwhile task,
especially when you already mentioned the easy workaround.

>2. Arch currently builds libvirt with support for ZFS. Seeing as ZFS is not in the distro proper, a simple Autoconf tweak is used:
>
>ZFS=/usr/bin/zfs ZPOOL=/usr/bin/zpool \
>./configure ...
>

I still haven't found out why we check for runtime dependencies at
compile-time.

Jano

>This is surprisingly hard to emulate with meson, in fact it appears impossible, unless I resort to dodgy hacks with sed etc.
>
>Cheers
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20200901/257b09b6/attachment.sig>


More information about the libvirt-users mailing list