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)
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',
30 link_args : bin_linker_args 30 link_args : bin_linker_args
31) 31)
32 32
33asan_option =[]
34if get_option('b_sanitize') == 'address'
35 asan_option= 'ASAN_OPTIONS=detect_leaks=0'
36endif
37
33if meson.is_cross_build() 38if meson.is_cross_build()
34 _edje_cc = find_program('edje_cc', native: true) 39 _edje_cc = find_program('edje_cc', native: true)
35 edje_cc_path = _edje_cc.path() 40 edje_cc_path = _edje_cc.path()
@@ -40,7 +45,7 @@ else
40 edje_cc_exe = [edje_cc.full_path()] 45 edje_cc_exe = [edje_cc.full_path()]
41 else 46 else
42 env = find_program('env', native: true) 47 env = find_program('env', native: true)
43 edje_cc_exe = [env, 'EFL_RUN_IN_TREE=1', edje_cc.full_path()] 48 edje_cc_exe = [env, asan_option, 'EFL_RUN_IN_TREE=1', edje_cc.full_path()]
44 endif 49 endif
45 edje_depends = [edje_cc, epp, evas_engine_buffer_mod, embryo_cc] 50 edje_depends = [edje_cc, epp, evas_engine_buffer_mod, embryo_cc]
46endif 51endif
@@ -93,7 +98,7 @@ if meson.is_cross_build()
93 edje_codegen_exe = [_edje_codegen] 98 edje_codegen_exe = [_edje_codegen]
94else 99else
95 env = find_program('env', native: true) 100 env = find_program('env', native: true)
96 edje_codegen_exe = [env, 'EFL_RUN_IN_TREE=1', edje_codegen.full_path()] 101 edje_codegen_exe = [env, asan_option, 'EFL_RUN_IN_TREE=1', edje_codegen.full_path()]
97endif 102endif
98 103
99edje_pick = executable('edje_pick', 104edje_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',
237 link_args: link_args 237 link_args: link_args
238) 238)
239 239
240asan_option =[]
241if get_option('b_sanitize') == 'address'
242 asan_option= 'ASAN_OPTIONS=detect_leaks=0'
243endif
244
240if meson.is_cross_build() 245if meson.is_cross_build()
241 elementary_codegen_exe = [find_program('elementary_codegen', native: true)] 246 elementary_codegen_exe = [find_program('elementary_codegen', native: true)]
242else 247else
243 env = find_program('env', native: true) 248 env = find_program('env', native: true)
244 elementary_codegen_exe = [env, 'EFL_RUN_IN_TREE=1', elementary_codegen.full_path()] 249 elementary_codegen_exe = [env, asan_option, 'EFL_RUN_IN_TREE=1', elementary_codegen.full_path()]
245endif 250endif
246 251
247elm_prefs_cc_src = [ 252elm_prefs_cc_src = [
@@ -267,7 +272,7 @@ if meson.is_cross_build()
267 elm_prefs_cc_exe = [_elm_prefs_cc] 272 elm_prefs_cc_exe = [_elm_prefs_cc]
268else 273else
269 env = find_program('env', native: true) 274 env = find_program('env', native: true)
270 elm_prefs_cc_exe = [env, 'EFL_RUN_IN_TREE=1', elm_prefs_cc.full_path()] 275 elm_prefs_cc_exe = [env, asan_option, 'EFL_RUN_IN_TREE=1', elm_prefs_cc.full_path()]
271endif 276endif
272 277
273if sys_windows == false 278if sys_windows == false