build: Define glib_sanitizers variable to easily get the sanitizers in use

It's an array containing the list of sanitizers in use, normally it
contains a value, but in some cases may have more than one (e.g.
'address' and 'undefined').

And so use it to avoid repeated checks
This commit is contained in:
Marco Trevisan (Treviño) 2024-05-08 23:07:48 +02:00
parent c78d0ad514
commit 0eb6c85606
3 changed files with 7 additions and 2 deletions

View File

@ -310,7 +310,7 @@ if host_machine.system() != 'windows'
}
# LD_PRELOAD modules don't work so well with AddressSanitizer
if have_rtld_next and glib_build_shared and get_option('b_sanitize') == 'none'
if have_rtld_next and glib_build_shared and glib_sanitizers.length() == 0
gio_tests += {
'gsocketclient-slow' : {
'depends' : [

View File

@ -9,7 +9,7 @@ gi_gen_shared_sources = [
gi_gen_env_variables = environment()
if get_option('b_sanitize') != 'none'
if glib_sanitizers.length() > 0
gi_gen_env_variables.append(
'ASAN_OPTIONS', 'verify_asan_link_order=0', separator: ',')
endif

View File

@ -635,6 +635,11 @@ endif
# improve this.
glib_link_flags = cc.get_supported_link_arguments(warning_c_link_args)
glib_sanitizers = get_option('b_sanitize').split(',')
if glib_sanitizers == ['none']
glib_sanitizers = []
endif
# Windows SDK requirements and checks
if host_system == 'windows'
# Check whether we're building for UWP apps