[Mesa-dev] Lets talk about autotools

Dylan Baker dylan at pnwbakers.com
Wed Sep 19 16:24:46 UTC 2018

Quoting Kai Wasserbäch (2018-09-19 08:04:35)
> Hey Dylan,
> Dylan Baker wrote on 9/18/18 10:43 PM:
> > Quoting Kai Wasserbäch (2018-09-18 11:14:19)
> >> Dylan Baker wrote on 9/18/18 6:40 PM:
> >>> Quoting Kai Wasserbäch (2018-09-18 08:56:30)
> >>>> Dylan Baker wrote on 9/18/18 5:35 PM:
> >>>>> [...]
> >>>>>
> >>>>> The other option you have it to set the $PATH variable, as long as the
> >>>>> llvm-config you want returns the highest version things will work as you expect.
> >>>>
> >>>> This might do as a workaround, though I'm not too keen on extending $PATH. But
> >>>> as the /usr/lib/llvm-${LLVM_VERSION}/bin directories should only contain that
> >>>> versions binaries, putting it first into the path could work.
> >>>
> >>> meson will cache the llvm-config values, so you should be able to just do
> >>> something like:
> >>>
> >>> PATH=/path/to/my/llvm meson build-with-my-llvm
> >>
> >> Ok. Where's the cache? In the build directory or is this something, that's kept
> >> globally and needs potential clearing? A quick search for this feature yielded
> >> <https://mesonbuild.com/Release-notes-for-0-38-0.html>. That makes it sound like
> >> it is global, which I would almost consider broken design. Or is it local but
> >> kept between multiple invocations of meson? That also sounds like a recipe for
> >> disaster, though it would be easier to deal with: just nuke the build directory.
> > 
> > It's per build directory, and is kept on subsequent rebuilds. The idea is that
> > if you need to reconfigure a build (say meson.build changes) when you do a `git
> > pull` that pkg-config, llvm-config, and fiends don't get reinvoked, it makes the
> > rebuild faster. I don't think there is a cache-invalidation method, though that
> > would be a nice feature to have.
> I think I can work with that: one build-directory per build and nuke it afterwards.
> As a side note: to me this sounds like a mis-feature or at least something that
> you should have to turn on explicitly. I'd rather pay a little time penalty
> (which isn't too much these days, given how fast SSDs and systems in general
> have become), than using some stale value. Especially since it sounds like meson
> is caching the values of environment variables as well? Which would make usage
> of MESA_GIT_SHA1_OVERRIDE after some changes awkward (which value is used and why).

meson only caches environment variables it cares about, CFLAGS, CC,

> In any case, thanks for your replies. I'll see if I can scare up some time over
> the weekend and check if I can get Mesa building with meson. Nevertheless I'd
> like to ask for not making meson mandatory until something like today's
> LLVM_CONFIG or something equivalent within a released version of meson is available.

In case you (or anyone else following this is interested) here's my work in
progress for getting llvm-config overrides into meson:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180919/908aaa0e/attachment.sig>

More information about the mesa-dev mailing list