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

View File

@ -5,9 +5,10 @@ GLib's configure options and corresponding macros
none none
--buildtype={debug,debugoptimized} [debugoptimized is the default] --buildtype={debug,debugoptimized} [debugoptimized is the default]
-DG_ENABLE_DEBUG -g -DG_ENABLE_DEBUG -g
-Dglib_asserts=false
Available to define yourself: -DG_DISABLE_ASSERT
-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -Dglib_checks=false
-DG_DISABLE_CHECKS
Besides these, there are some local feature specific options, but my main Besides these, there are some local feature specific options, but my main
focus here is to concentrate on macros that affect overall GLib behaviour 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') message('Disabling cast checks')
endif 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') add_project_arguments(glib_debug_cflags, language: 'c')
# check for header files # check for header files

View File

@ -94,3 +94,15 @@ option('oss_fuzz',
type : 'feature', type : 'feature',
value : 'disabled', value : 'disabled',
description : 'Indicate oss-fuzz build environment') 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)')