[Mesa-dev] [PATCH 1/3] meson: Define NDEBUG for non-debug-builds

Rob Clark robdclark at gmail.com
Tue Jul 17 14:26:49 UTC 2018


On Tue, Jul 17, 2018 at 10:05 AM, Eric Engestrom
<eric.engestrom at intel.com> wrote:
> On Tuesday, 2018-07-17 09:01:46 -0400, mesa-dev-bounces at lists.freedesktop.org wrote:
>> On Mon, Apr 16, 2018 at 5:19 PM, Dylan Baker <dylan at 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.steffens at 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']
>  )

is something like:

default_options : [(get_option('builttype') == 'debug') ?
'b_ndebug=false' : 'b_ndebug=true', ...]

something that is possible in meson?

If not, I'd vote for b_ndebug=if-release.. even if we postpone it
until we bump meson_version for other reasons.


>  cc = meson.get_compiler('c')
> ---->8----
>
> Dylan, thoughts?
>
>
> PS:
> Rob, your emails are still appearing as
>   From: mesa-dev-bounces at lists.freedesktop.org
> You might want to change this so people know it's you, and can reply
> to you directly :)

daniels looked at this a while back.. I don't remember the details but
it seems like this is happening on intel's mail server.  Not entirely
sure why it picks on me, but also not sure I can do much about it.

/me shrugs

BR,
-R


>>
>> BR,
>> -R
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list