Meson vs. automake/autoconf

tlaronde at kergis.com tlaronde at kergis.com
Tue Feb 6 10:04:10 UTC 2024


Hello,

On Tue, Feb 06, 2024 at 09:52:11AM +0100, Matthieu Herrb wrote:
> On Mon, Feb 05, 2024 at 09:45:51PM +0100, tlaronde at kergis.com wrote:
> > I'm continuing my review and I'm now looking at libxcb and xcbproto.
> > 
> > Is there a goal set to switch from auto* tools to meson/ninja for the
> > maximum of projects?
> > 
> > Since I have to untangle things for my own built framework, I may as
> > well provide meson files (that are undoubtely more readable than the
> > auto* dance) when I am at it...
> > --
> 
> Hi,
> 
> There are still platforms (OpenBSD, NetBSD at least) which don't have
> python (and thus meson) in their base build system.
> 
> Switching to Meson is forcing us to rewrite a build system that can
> run on those systems.

For the moment, I simply want to _add_ meson build. It will not nuke
the autoconf/automake files.

> 
> Moreover, since the fdo CI doesn't check builds on those systems, the
> meson configurations are more or less broken on those systems.
> 

My main system is NetBSD. I have for example fix things for libXau in
order to compile without ado on NetBSD and more generally a POSIX
compliant system (explicit_memset(3) instead of explicit_bzero(3);
putting the file last for sed(1) invocation; testing for gcc < 11).

I don't use python myself and I'm also converting things, for my own,
in a build system that uses only a subset of POSIX.2 tools. So it
should be easy (scriptable) to take this to convert to BSD make(1).

This work is public:

https://github.com/tlaronde/BeSiDe

the X11 stuff is not the NetBSD infrastructure one but is added, piece
by piece, in the X11/ subdir reaching other git clones places in ../X11
(relative to BeSiDe) without having to patch whatever in the git
clones.

It is of course WIP.

So to summarize:

- meson will be added, not replacing autoconf/automake for now;

- I fix compilation problems on NetBSD (with more generally POSIX
compliance when applies as a goal); should fix problems for OpenBSD
too;

- there is a "third" build framework (POSIX.2 subset: R.I.S.K., my own)
that could, eventually, be used to easily integrate in the *BSD
build compilation (I will probably provide scripts to do so at the
end and if I do this for NetBSD, I can do this for OpenBSD), so bypassing
both meson/python and autoconf/automake.

Hoping this addresses your concerns.
-- 
        Thierry Laronde <tlaronde +AT+ kergis +dot+ com>
                     http://www.kergis.com/
                    http://kertex.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C


More information about the xorg-devel mailing list