diff options
Diffstat (limited to 'mesonbuild/compilers.py')
-rw-r--r-- | mesonbuild/compilers.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/mesonbuild/compilers.py b/mesonbuild/compilers.py index 2a9c3ab..50403ef 100644 --- a/mesonbuild/compilers.py +++ b/mesonbuild/compilers.py @@ -122,6 +122,9 @@ base_options = {'b_lto': coredata.UserBooleanOption('b_lto', 'Use link time opti 'b_pgo': coredata.UserComboOption('b_pgo', 'Use profile guide optimization', ['off', 'generate', 'use'], 'off'), + 'b_coverage': coredata.UserBooleanOption('b_coverage', + 'Enable coverage tracking.', + True), } def sanitizer_compile_args(value): @@ -138,7 +141,7 @@ def sanitizer_link_args(value): args = ['-fsanitize=' + value] return args -def get_base_compile_args(options): +def get_base_compile_args(options, compiler): args = [] # FIXME, gcc/clang specific. try: @@ -158,9 +161,14 @@ def get_base_compile_args(options): args.append('-fprofile-use') except KeyError: pass + try: + if options['b_coverage'].value: + args += compiler.get_coverage_args() + except KeyError: + pass return args -def get_base_link_args(options): +def get_base_link_args(options, linker): args = [] # FIXME, gcc/clang specific. try: @@ -185,6 +193,11 @@ def get_base_link_args(options): args.append('-Wl,--no-undefined') except KeyError: pass + try: + if options['b_coverage'].value: + args += linker.get_coverage_link_args() + except KeyError: + pass return args def build_unix_rpath_args(build_dir, rpath_paths, install_rpath): |