summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSubhransu Mohanty <smohantty@gmail.com>2020-01-21 02:06:17 +0000
committerStefan Schmidt <s.schmidt@samsung.com>2020-05-20 12:32:31 +0200
commitf9a108c51a6a7f013df8dfd8c7735e1fa6d7dacc (patch)
tree159d89c222371e364b2d420022a10d86dc35f378
parenta227b83f41adc3d8ca5f27c36f4e708d2f508c35 (diff)
downloadefl-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.build9
-rw-r--r--src/bin/elementary/meson.build9
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