On Tue, Jul 17, 2018 at 12:40 PM, Dylan Baker <dy...@pnwbakers.com> wrote: > Quoting Eric Engestrom (2018-07-17 07:05:32) >> On Tuesday, 2018-07-17 09:01:46 -0400, >> mesa-dev-boun...@lists.freedesktop.org wrote: >> > On Mon, Apr 16, 2018 at 5:19 PM, Dylan Baker <dy...@pnwbakers.com> wrote: >> > > Quoting Jan Alexander Steffens (heftig) (2018-04-14 10:23:20) >> > >> This is for parity with autotools. We were suddenly getting assertion >> > >> failures after switching to meson, see [1]. >> > >> >> > >> [1]: https://bugs.archlinux.org/task/58218 >> > >> >> > >> Signed-off-by: Jan Alexander Steffens (heftig) <jan.steff...@gmail.com> >> > >> --- >> > >> meson.build | 2 ++ >> > >> 1 file changed, 2 insertions(+) >> > >> >> > >> diff --git a/meson.build b/meson.build >> > >> index a4dfa62255..931e0389e6 100644 >> > >> --- a/meson.build >> > >> +++ b/meson.build >> > >> @@ -705,6 +705,8 @@ endif >> > >> # Define DEBUG for debug builds only (debugoptimized is not included >> > >> on this one) >> > >> if get_option('buildtype') == 'debug' >> > >> pre_args += '-DDEBUG' >> > >> +else >> > >> + pre_args += '-DNDEBUG' >> > >> endif >> > >> >> > >> if get_option('shader-cache') >> > >> -- >> > >> 2.16.2 >> > > >> > > NAK. >> > > >> > > meson has -Db_ndebug for controlling NDEBUG, which is done separately >> > > from >> > > optimization levels, this is in our documentation as well as the meson >> > > documentation. For builds without asserts, set b_ndebug=true. >> > > >> > >> > Is it possible to make b_ndebug default to true for release builds? >> > That would be far less surprising.. >> >> Since 0.45 (we support 0.44.1 right now, so we would need to bump), >> b_ndebug is no longer a boolean, but now accepts `if-release` as well. >> >> If that's the preferred solution, I can send this patch: >> ----8<---- >> diff --git a/meson.build b/meson.build >> index c62cdd0e395259ec984e..eb90f4cf9b265435fb19 100644 >> --- a/meson.build >> +++ b/meson.build >> @@ -25,8 +25,8 @@ project( >> [find_program('python', 'python2', 'python3'), >> 'bin/meson_get_version.py'] >> ).stdout(), >> license : 'MIT', >> - meson_version : '>= 0.44.1', >> - default_options : ['buildtype=debugoptimized', 'c_std=c99', >> 'cpp_std=c++11'] >> + meson_version : '>= 0.45', >> + default_options : ['buildtype=debugoptimized', 'b_ndebug=if-release', >> 'c_std=c99', 'cpp_std=c++11'] >> ) >> >> cc = meson.get_compiler('c') >> ---->8---- >> >> Dylan, thoughts? >> >> > > I don't know if others are okay bumping to 0.45 yet, but in my > not-always-so-humble opinion I like this option, or Michel's option to switch > some of the very expensive checks to be guarded by DEBUG instead of NDEBUG. > Or maybe both, since a lot of people equate assertions with debug builds.
I think there is a lot of assumption that DEBUG == !NDEBUG, from the years of autotools perhaps purging NDEBUG and using DEBUG as the switch is a good idea.. BR, -R _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev