<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Mar 24, 2017 at 2:16 PM, Jose Fonseca <span dir="ltr"><<a href="mailto:jfonseca@vmware.com" target="_blank">jfonseca@vmware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 24/03/17 20:08, Kristian Høgsberg wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Fri, Mar 24, 2017 at 12:44 PM, Jose Fonseca <<a href="mailto:jfonseca@vmware.com" target="_blank">jfonseca@vmware.com</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 24/03/17 19:10, Kristian Høgsberg wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
On Fri, Mar 24, 2017 at 6:42 AM, Jose Fonseca <<a href="mailto:jfonseca@vmware.com" target="_blank">jfonseca@vmware.com</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
On 23/03/17 01:38, Rob Clark wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
On Wed, Mar 22, 2017 at 9:18 PM, Jonathan Gray <<a href="mailto:jsg@jsg.id.au" target="_blank">jsg@jsg.id.au</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
On Wed, Mar 22, 2017 at 01:10:14PM -0700, Dylan Baker wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
On Wed, Mar 22, 2017 at 12:40 PM, Alex Deucher <<a href="mailto:alexdeucher@gmail.com" target="_blank">alexdeucher@gmail.com</a>><br>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
I guess I'm a little late to the party here, but I haven't had time<br>
to<br>
really let all of this sink in and actually look at meson.  It<br>
doesn't<br>
seem so bad with a quick look and I think I could probably sort it<br>
out<br>
when the time came, but there would still be a bit of a learning<br>
curve.  While that may not be a big deal at the micro level, I have<br>
concerns at the macro level.<br>
<br>
First, I'm concerned it may discourage casual developers and<br>
packagers.  autotools isn't great, but most people are familiar<br>
enough<br>
with it that they can get by.  Most people have enough knowledge of<br>
autotools that they can pretty easily diagnose a configuration based<br>
failure. There are a lot of resources for autotools.  I'm not sure<br>
that would be the case for meson.  Do we as a community feel we have<br>
enough meson experience to get people over the hump?  Anything that<br>
makes it harder for someone to try a new build or do a bisect is a<br>
big<br>
problem in my opinion.<br>
</blockquote>
<br>
<br>
<br>
One of the things that's prompted this on our side (I've talked this<br>
over with<br>
other people at Intel before starting), was that clearly we *don't*<br>
know<br>
autotools well enough to get it right. Emil almost always finds cases<br>
were we've<br>
done things *almost*, but not quite right.<br>
<br>
For my part, it took me about 3 or 4 days of reading through the docs<br>
and<br>
writing the libdrm port to get it right, and a lot of that is just the<br>
boilerplate of having ~8 drivers that all need basically the same<br>
logic.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Next, my bigger concern is for distro and casual packagers and people<br>
that maintain large build systems with lots of existing custom<br>
configurations.  Changing from autotools would basically require many<br>
of these existing tools and systems to be rewritten and then deal<br>
with<br>
the debugging and fall out from that.  The potential decreased build<br>
time is a nice bonus, but frankly a lot of people/companies have<br>
years<br>
of investment in existing tools.<br>
</blockquote>
<br>
<br>
<br>
Sure, but we're also not the only ones investigating meson. Gnome is<br>
using it<br>
already, libepoxy is using it, gstreamer is using it. There are<br>
patches<br>
for<br>
weston (written by Daniel Stone) and libinput (written by Peter<br>
Hutterer), there<br>
are some other projects in the graphics sphere that people are working<br>
on. So<br>
even if we as a community decide that meson isn't for us, it's not<br>
going<br>
away.<br>
</blockquote>
<br>
<br>
<br>
It is worth pointing out that it is currently required by no component<br>
of an <a href="http://x.org" rel="noreferrer" target="_blank">x.org</a> stack.  In the case of libepoxy it was added by a new<br>
maintainer<br>
on a new release and even then autoconf remains.<br>
<br>
And as far as I can tell nothing in the entire OpenBSD ports tree<br>
currently requires meson to build including gnome and gstreamer.<br>
<br>
</blockquote>
<br>
but I guess that is conflating two completely different topics..<br>
addition of meson and removal of autotools.  It is probably better<br>
that we treat the topics separately.  I don't see any way that the two<br>
can happen at the same time.<br>
<br>
The autotools build probably needs to remain for at least a couple<br>
releases, and I certainly wouldn't mind if some of the other desktop<br>
projects took the leap of dropping autotools first (at least then<br>
various different "distro" consumers will have already dealt with how<br>
to build meson packages)<br>
<br>
None of that blocks addition of a meson build system (or what various<br>
developers use day to day)<br>
<br>
BR,<br>
-R<br>
</blockquote>
<br>
<br>
<br>
I tend to disagree.  While we can't avoid a transitory period, when we<br>
embark on another build system (Meson or something else) I think we<br>
should<br>
aim at 1) ensure such tool can indeed _completely_ replace at least _one_<br>
existing build system, 2) and aim at migration quickly.<br>
<br>
Otherwise we'll just end up with yet another build system, yet another<br>
way<br>
builds can fail, with some developers stuck on old build systems because<br>
it<br>
works, or because the new build system quite doesn't work.<br>
<br>
And this is from (painful) experience.<br>
</blockquote>
<br>
<br>
I agree, adding a meson build system should aim to phase out one of<br>
the other build systems within one or two release cycles. But (and<br>
maybe that was Robs point) that doesn't have be autotools. What if we<br>
phase out scons? It doesn't seem like anybody is really attached to it<br>
and if meson is as good as scons on windows, then if nothing else<br>
happens we end up with the same number of build systems. What's more<br>
likely to happen is that a lot of Linux developers (and CI systems)<br>
will also start using meson, which means that life gets easier for<br>
vmware wrt maintaining the build system, and easier for all developers<br>
who have spent to much of their life waiting for autogen.sh.  Then<br>
decommissioning autotools can be a separate topic as Rob suggests,<br>
something we'll do when the world is ready.<br>
</blockquote>
<br>
<br>
There's zero overlap between SCons build users and Meson experience, so I<br>
don't see how that would work.  Who would lead the charge?<br>
</blockquote>
<br>
It sounds like Dylan and the Intel team are interested in doing the<br>
meson work. If that's the case, then perhaps you (or other SCons<br>
users) would be willing to evaluate the result and see if it meets<br>
your requirements for a SCons replacement?<br>
<br>
Kristian<br>
</blockquote>
<br></div></div>
Evaluating is one thing.  Actually migrating is another.<br>
<br>
Brian already said he'd take a look and evaluate.  And I'll help in what I can.  I agree we should all evaluate early.<br>
<br>
<br>
But I don't think that the proposal of first migrate scons to meson, then in a second separate step migrate autotools to meson, is viable. Like I said: there's no knowledge overlap.  The two group of people -- the Meson and Windows experts -- will be chasing each other tails.  And all that while, the build will continue to be broken or diverge because master dev will go on.</blockquote><div><br></div><div>I don't think that's true.  I think a decent number of *nix mesa devs will start using meson as their primary build system.  Also, we'll definitely be using meson in our CI system because it's so much faster and we have a big workhorse of a build machine.  Sure, there will be breakage, but I don't think it will be one-sided. <br></div></div><br></div></div>