[Mesa-dev] Meson's default build type

Chad Versace chadversary at chromium.org
Mon Nov 6 15:56:47 UTC 2017


On Thu 02 Nov 2017, Eric Engestrom wrote:
> On Thursday, 2017-11-02 09:46:05 -0700, Chad Versace wrote:
> > On Wed 01 Nov 2017, Dylan Baker wrote:
> > > I'm not dead set on debug as the default buildtype, it's what we have ATM
> > > though. I asked around here and the feeling was that builtype debug by default
> > > was a feature. If the larger community disagrees we can change it.
> > 
> > When making this decision, I think we should also consider the needs of
> > non-developers who build and install Mesa from source to get the latest
> > version or bugfix. I strongly suspect those people want
> > buildtype=debugoptimized or buildtype=release.
> > 
> > I think it's important for Mesa to follow the established convention of
> > most other Linux projects: if a user downloads the source, builds, and
> > installs, then the user gets a working installation suitable for normal
> > usage. Today, Meson doesn't give that because it builds Mesa with -O0.
> > 
> > Some context... I install a lot of packages from source on my work
> > machine because I often want or need newer versions of some packages
> > than what's available through the package manager.
> 
> How do you ensure it integrates correctly with your system [1], other
> than by using the package manager's package and updating the version
> number locally?
> 
>   [1] by "integrate" I mean things like installing things in the right
>   locations, removing stale files from old packages, providing new
>   dependencies for other packages, etc.

I avoid the package manager conflicts completely by installing
everything into a custom prefix (usually ~/.local).

I have to use a custom prefix because, on my work machines, the
sysadmins regularly push package updates. If I installed anything into
/usr, then it would quickly get clobbered when the next update is
pushed.

> I also install newer version of stuff on various machines, but if I had
> to configure each project manually to integrate with my system, then
> I would just give up. That burden does not scale :P

Right. That's why I expect everything to work with no configuration at
all. In general, `./configure --prefix=$PREFIX && make && make install`
(or the cmake equivalent) works as expected.


More information about the mesa-dev mailing list