[Mesa-dev] last call for autotools
Nicolai Hähnle
nhaehnle at gmail.com
Tue Dec 18 17:37:43 UTC 2018
On 17.12.18 23:46, Dylan Baker wrote:
> Quoting Marek Olšák (2018-12-17 12:25:29)
>> On Mon, Dec 17, 2018 at 1:18 PM Eric Anholt <eric at anholt.net> wrote:
>>
>> Eero Tamminen <eero.t.tamminen at intel.com> writes:
>>
>> > Hi,
>> >
>> > On 17.12.2018 8.08, Marek Olšák wrote:
>> > [...]
>> >> I think one of the serious usability issues is that environment
>> >> variables such as CFLAGS, CXXFLAGS, LDFLAGS, and PKG_CONFIG_PATH are not
>> >> saved by meson for future reconfigures.
>> >
>> > I don't know what Meson is supposed to do, but to me that would be
>> > a bug in a build tool.
>> >
>> > Re-configure is supposed to adapt SW to the changes in the build
>> > environment, and environment variables are part of that (along with
>> > command line options and SW installed to to the system). Build
>> > configure tool deciding to "remember" some of those things instead
>> > of checking the new situation, seems like a great opportunity for
>> > confusion.
>>
>> A user-triggered reconfigure, sure. Recapture env vars then. But "git
>> pull; ninja -C build" losing track of the configuration state is broken.
>> We don't have to specify all of your meson -Doption=state configuration
>> on every build, why should you need to specify your PKG_CONFIG_PATH
>> configure options on every build?
>>
>>
>> Thanks, Eric.
>>
>> Yes, meson behaves such that users have to set all environment variables for
>> every "ninja" command that might reconfigure.
>>
>> I see 2 solutions:
>> 1) meson needs to remember the relevant env vars
>> 2) meson should FAIL to configure if any of the env vars are set (if it wants
>> to ignore them)
>>
>> Marek
>
> Meson does remember the *_FLAGS variables. Those are translated on configure
> into meson's internal ${lang}_args and ${lang}_link args. It does look like
> those aren't remembered when --wipe is called though, I filed a bug for that:
> https://github.com/mesonbuild/meson/issues/4650
I ran into this same problem and noticed that Meson is already able to
*warn* about such changes.
It should either ignore the changes, or better yet, fail.
(Or even better: ignore environment variables entirely; IMO sourcing the
environment implicitly in a build system with an explicit configure is
just a broken design that was unfortunately inherited from plain make
without really considering the UI implications.)
Cheers,
Nicolai
>
> Dylan
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
More information about the mesa-dev
mailing list