Merge branch 'checks-asserts' into 'master'

Meson: Add glib-checks and glib-asserts options

See merge request GNOME/glib!1444
This commit is contained in:
Philip Withnall 2020-04-09 14:09:13 +00:00
commit 0f8399fe2c
4 changed files with 27 additions and 5 deletions

View File

@ -178,8 +178,6 @@ G_DISABLE_ASSERT:
extends: .build
image: $FEDORA_IMAGE
stage: build
variables:
CPPFLAGS: "-DG_DISABLE_ASSERT"
script:
- meson ${MESON_COMMON_OPTIONS}
--werror
@ -187,6 +185,7 @@ G_DISABLE_ASSERT:
-Ddtrace=true
-Dfam=true
-Dinstalled_tests=true
-Dglib_assert=false
_build
- ninja -C _build
- bash -x ./.gitlab-ci/run-tests.sh

View File

@ -5,9 +5,10 @@ GLib's configure options and corresponding macros
none
--buildtype={debug,debugoptimized} [debugoptimized is the default]
-DG_ENABLE_DEBUG -g
Available to define yourself:
-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS
-Dglib_asserts=false
-DG_DISABLE_ASSERT
-Dglib_checks=false
-DG_DISABLE_CHECKS
Besides these, there are some local feature specific options, but my main
focus here is to concentrate on macros that affect overall GLib behaviour

View File

@ -233,6 +233,16 @@ elif get_option('optimization') in ['2', '3', 's']
message('Disabling cast checks')
endif
if not get_option('glib_assert')
glib_debug_cflags += ['-DG_DISABLE_ASSERT']
message('Disabling GLib asserts')
endif
if not get_option('glib_checks')
glib_debug_cflags += ['-DG_DISABLE_CHECKS']
message('Disabling GLib checks')
endif
add_project_arguments(glib_debug_cflags, language: 'c')
# check for header files

View File

@ -94,3 +94,15 @@ option('oss_fuzz',
type : 'feature',
value : 'disabled',
description : 'Indicate oss-fuzz build environment')
option('glib_assert',
type : 'boolean',
value : true,
yield : true,
description : 'Enable GLib assertion (see docs/macros.txt)')
option('glib_checks',
type : 'boolean',
value : true,
yield : true,
description : 'Enable GLib checks such as API guards (see docs/macros.txt)')