diff options
author | Subhransu Mohanty <smohantty@gmail.com> | 2020-01-21 02:06:17 +0000 |
---|---|---|
committer | Stefan Schmidt <s.schmidt@samsung.com> | 2020-05-20 12:32:31 +0200 |
commit | f9a108c51a6a7f013df8dfd8c7735e1fa6d7dacc (patch) | |
tree | 159d89c222371e364b2d420022a10d86dc35f378 | |
parent | a227b83f41adc3d8ca5f27c36f4e708d2f508c35 (diff) | |
download | efl-f9a108c51a6a7f013df8dfd8c7735e1fa6d7dacc.tar.gz |
meson: Changed meson build to support address sanitizer build
As we run some intermediate binary like edje_cc during efl build , and due to
those binary has some memory leaks the address sanitizer build of efl fails.
This Patch runs those binary with 'ASAN_OPTIONS=detect_leak=false' to disable the
memory leak check for those binaries.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11137
-rw-r--r-- | src/bin/edje/meson.build | 9 | ||||
-rw-r--r-- | src/bin/elementary/meson.build | 9 |
2 files changed, 14 insertions, 4 deletions
diff --git a/src/bin/edje/meson.build b/src/bin/edje/meson.build index 0fff2cd6dc..fa059ca4b7 100644 --- a/src/bin/edje/meson.build +++ b/src/bin/edje/meson.build @@ -30,6 +30,11 @@ edje_cc = executable('edje_cc', link_args : bin_linker_args ) +asan_option =[] +if get_option('b_sanitize') == 'address' + asan_option= 'ASAN_OPTIONS=detect_leaks=0' +endif + if meson.is_cross_build() _edje_cc = find_program('edje_cc', native: true) edje_cc_path = _edje_cc.path() @@ -40,7 +45,7 @@ else edje_cc_exe = [edje_cc.full_path()] else env = find_program('env', native: true) - edje_cc_exe = [env, 'EFL_RUN_IN_TREE=1', edje_cc.full_path()] + edje_cc_exe = [env, asan_option, 'EFL_RUN_IN_TREE=1', edje_cc.full_path()] endif edje_depends = [edje_cc, epp, evas_engine_buffer_mod, embryo_cc] endif @@ -93,7 +98,7 @@ if meson.is_cross_build() edje_codegen_exe = [_edje_codegen] else env = find_program('env', native: true) - edje_codegen_exe = [env, 'EFL_RUN_IN_TREE=1', edje_codegen.full_path()] + edje_codegen_exe = [env, asan_option, 'EFL_RUN_IN_TREE=1', edje_codegen.full_path()] endif edje_pick = executable('edje_pick', diff --git a/src/bin/elementary/meson.build b/src/bin/elementary/meson.build index 0f8d79322d..ef5d3ded60 100644 --- a/src/bin/elementary/meson.build +++ b/src/bin/elementary/meson.build @@ -237,11 +237,16 @@ elementary_codegen = executable('elementary_codegen', link_args: link_args ) +asan_option =[] +if get_option('b_sanitize') == 'address' + asan_option= 'ASAN_OPTIONS=detect_leaks=0' +endif + if meson.is_cross_build() elementary_codegen_exe = [find_program('elementary_codegen', native: true)] else env = find_program('env', native: true) - elementary_codegen_exe = [env, 'EFL_RUN_IN_TREE=1', elementary_codegen.full_path()] + elementary_codegen_exe = [env, asan_option, 'EFL_RUN_IN_TREE=1', elementary_codegen.full_path()] endif elm_prefs_cc_src = [ @@ -267,7 +272,7 @@ if meson.is_cross_build() elm_prefs_cc_exe = [_elm_prefs_cc] else env = find_program('env', native: true) - elm_prefs_cc_exe = [env, 'EFL_RUN_IN_TREE=1', elm_prefs_cc.full_path()] + elm_prefs_cc_exe = [env, asan_option, 'EFL_RUN_IN_TREE=1', elm_prefs_cc.full_path()] endif if sys_windows == false |