Hi,

On 13.12.2018 12.19, Eric Engestrom wrote:
On Wednesday, 2018-12-12 19:45:06 -0500, Marek Olšák wrote:
On Wed, Dec 12, 2018 at 7:35 PM Rob Clark <robdcl...@gmail.com> wrote:
On Wed, Dec 12, 2018 at 7:14 PM Dylan Baker <dy...@pnwbakers.com> wrote:
Quoting Rob Clark (2018-12-12 15:52:47)
...
I guess I should have covered that:

autotools had effectively two build types "debug" and "not debug",
"debug" set
"-DDEBUG -g -O2", "not debug" set -DNDEBUG

Meson has 4 build types, and a separate toggle for NDEBUG:
debug: -O0 -DDEBUG (we add -DDEBUG)
debugoptimzed: -O2 -g
release: -O2
plain: (nothing)

I generally view meson as an upgrade in this respect, I guess mostly
because I have no use for '-DDEBUG -g -O2' (ie. the -O0 equiv is fine
by me).. maybe making meson debug config use -O2 would bridge the gap?
  If so I have no problem with dropping -O0 and making debug config
also use -O2

Target without optimizations is good to track down issues triggered by
compiler optimizations, and to have faster builds.


Sounds good.

Also I think we should make -Db_ndebug=true the default for release builds.
!NDEBUG enables a lot more debugging code than just assertions.

That's already the case :)

The default value (line 29 of the root meson.build) is:

   b_ndebug=if-release

which means it will default to `true` if `buildtype=release`, and `false`
otherwise, while still being overridden if you manually set `b_ndebug`.

There needs to be something that's release with debug symbols, but
without _any_ other differences.  If build type assert handling differs
from release, debug symbols are less of a use for debugging issues
with release build.


Build type names could also be more descriptive, although something
like this seems overkill:
- release
- release_with_symbols
- release_with_symbols_and_asserts
- full_debug

Meson can help by outputting exact description of each build types,
e.g. when one doesn't specify one, or unrecognized one is provided.


        - Eero
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to