summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Withnall <philip@tecnocode.co.uk>2021-01-20 19:01:43 +0000
committerPhilip Withnall <philip@tecnocode.co.uk>2021-01-20 19:01:43 +0000
commit3791add329c51f414be13cad3b52da43e94ca36f (patch)
tree7f2c91d0627ca9720a050810b74c3e1b33339924
parentcaf2343faeb2946c9ec2fe478fb0387e647d71ba (diff)
parent670b84ca3068eb4ec584812fad2cdcb8dc35683b (diff)
downloadglib-3791add329c51f414be13cad3b52da43e94ca36f.tar.gz
Merge branch 'feature/glib-debug-build-option' into 'master'
build: Add glib_debug option See merge request GNOME/glib!1889
-rw-r--r--docs/macros.txt4
-rw-r--r--meson.build3
-rw-r--r--meson_options.txt6
3 files changed, 12 insertions, 1 deletions
diff --git a/docs/macros.txt b/docs/macros.txt
index aa326a4dc..ec449f17f 100644
--- a/docs/macros.txt
+++ b/docs/macros.txt
@@ -5,6 +5,10 @@ GLib's configure options and corresponding macros
none
--buildtype={debug,debugoptimized} [debugoptimized is the default]
-DG_ENABLE_DEBUG -g
+-Dglib_debug=disabled
+ Omits G_ENABLE_DEBUG when implied by --buildtype/-Ddebug
+-Dglib_debug=enabled
+ Defines G_ENABLE_DEBUG regardless of --buildtype/-Ddebug
-Dglib_asserts=false
-DG_DISABLE_ASSERT
-Dglib_checks=false
diff --git a/meson.build b/meson.build
index 476a93855..d7d64118d 100644
--- a/meson.build
+++ b/meson.build
@@ -239,7 +239,8 @@ endif
# Use debug/optimization flags to determine whether to enable debug or disable
# cast checks
glib_debug_cflags = []
-if get_option('debug')
+glib_debug = get_option('glib_debug')
+if glib_debug.enabled() or (glib_debug.auto() and get_option('debug'))
glib_debug_cflags += ['-DG_ENABLE_DEBUG']
message('Enabling various debug infrastructure')
elif get_option('optimization') in ['2', '3', 's']
diff --git a/meson_options.txt b/meson_options.txt
index a42136f78..072765361 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -105,6 +105,12 @@ option('oss_fuzz',
value : 'disabled',
description : 'Indicate oss-fuzz build environment')
+option('glib_debug',
+ type : 'feature',
+ value : 'auto',
+ yield : true,
+ description : 'Enable GLib debug infrastructure (see docs/macros.txt)')
+
option('glib_assert',
type : 'boolean',
value : true,