On 12/12/18 4:13 PM, Dylan Baker wrote: > Quoting Rob Clark (2018-12-12 15:52:47) >> On Wed, Dec 12, 2018 at 6:25 PM Dylan Baker <dy...@pnwbakers.com> wrote: >>> >>> In the autotools discussion I've come to realize that we also need to talk >>> about >>> the -DDEBUG guard. It seems that there are two different uses, and thus two >>> different asks about it: >>> >>> - Nine (and RadeonSI?) use -DDEBUG to hide generic debugging >>> - NIR and Intel (at least) use -DDEBUG to hide really expensive checks that >>> are >>> useful, but necessarily tank performance. >>> >>> The first group would like -DDEBUG in debugoptimized builds, the second >>> obviously doesn't. >>> >>> Is the right solution to move the first group being !NDEBUG, or would it be >>> better to split DEBUG into two different defines such as DEBUG_MESSAGES and >>> EXPENSIVE_VALIDATION (paint the bikeshed whatever color you like), with the >>> first for both debug and debugoptimized and the second only in debug builds? >> >> I guess my use cases for !=release builds are: >> >> + I want all the expensive checking because I'm not in it to win the >> deqp/piglit fps race >> + I want debug syms for profiling and/or valgrind, but otherwise >> want something close to a release build but with debug syms >> >> >> That said, I can get behind replacing DEBUG with !NDEBUG or >> EXPENSIVE_DEBUG or whatever permutation of that color folks prefer >> >> >> BR, >> -R > > 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)
About 5 minutes into using meson, I started using plain builds with my own flags set. I can configure it *exactly* the way I want without bothering or being bothered by anyone. I haven't looked back since. > Meson doesn't define NDEBUG by default, so if you want to turn off asserts you > need to add -Db_ndebug=true > > autotools debug is roughly between meson's debugoptimized and debug, while > autotools non-debug corresponds to meson's plain buildtype. > > Dylan > > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
signature.asc
Description: OpenPGP digital signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev