stefan pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f9a108c51a6a7f013df8dfd8c7735e1fa6d7dacc

commit f9a108c51a6a7f013df8dfd8c7735e1fa6d7dacc
Author: Subhransu Mohanty <[email protected]>
Date:   Tue Jan 21 02:06:17 2020 +0000

    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 <[email protected]>
    Differential Revision: https://phab.enlightenment.org/D11137
---
 src/bin/edje/meson.build       | 9 +++++++--
 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

-- 


Reply via email to