[Mesa-dev] last call for autotools

Dave Airlie airlied at gmail.com
Fri Dec 14 20:27:35 UTC 2018


On Fri, 14 Dec 2018 at 16:19, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>
> I have to say that the user experience for autotools is WAY better
> than for meson. As a concrete example, I had a meson build. Then I
> updated meson (0.48.1 to 0.48.2). Now ninja -C foo doesn't work. meson
> --reconfigure (which presumably is what ninja would end up running)
> doesn't work. http://paste.debian.net/hidden/cf777f3e/
>
> So now what? I don't remember how that config was done, except that it
> was done the way I decided I needed it at the time. I have no way to
> recover it. With autotools, in such cases (which are immensely rare),
> you just run "head config.log" and it tells you what you did last
> time. And by updating the build component, now I have to rebuild
> EVERYTHING?
>
> meson is not at a point where it Just Works. It ... sometimes works.
> The fact that everyone has scripts which wrap meson is a symptom of
> that. I don't feel good about dumping the system that everyone (and I
> don't just mean people on this list -- I mean the wider open source
> community as well) knows how to use and has worked reliably for years
> (decades, really) to be replaced by a system that everyone is having
> problems with (it's not just me -- others are running into trouble too
> -- just look at this thread). It's just not ready yet.
>

I've kinda stayed out of this discussion as I wanted to see which way
the wind was blowing, and I like to tune my workflows to the project
not vice-versa as much as possible.

At this point I don't like using meson in my workflows for two main
reasons: (mostly like Ilia)

a) meson upgrades crap out my builddirs. (0.49 will fix it? then yay
when 0.49 lands in distros, I'll consider this done)
b) I can't extract either the original configuration line or even a
give me a command line to reproduce the current state so I can cut and
paste it.

The solution everyone is giving me is hacks using locally prepared
scripts, which doesn't scale for me at all. Why am I different you
ask?

Unlike most people I work on nearly every driver in the tree, in GL
and Vulkan, in gallium, in sw drivers, and I do it all the time and I
do it across lots of machines.

Currently in my eyeline I have 5 regular work machines (3 desktops, 2
laptops), in my RH office I have currently 2 workstations and another
2 laptops, I regularly bring new machines in on other distros (Fedora
29 vs RHEL7 vs RHEL8), I regularly image machines from scratch in RH
network.

On one workstation I have lots of main work trees currently (mesa
master, vulkan dev, zink dev, opencl dev, iris dev, virgl dev, radv
wip trees), nuking builds and having to remember what command line I
used to configure them is a losing battle for my memory.

I really don't want to have special scripts that I have to remember to
bring with me across installs, the extra scripts you have are a
workaround for meson not a fix for my problem. scripts work fine if
you are just building anv, i965, when you move around a lot they suck.

So personally I don't think meson is going to enhance my workflow
until those two things get sorted out in the project, if (a) is
already solved, then maybe we can get upstream to solve (b), and
revisit the removal of autotools.

Dave.


More information about the mesa-dev mailing list