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 <e...@anholt.net> wrote:
Eero Tamminen <eero.t.tammi...@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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev
--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev