# extra cflags to build dependencies. Recursively expanded.
MAKE_DEPS=-MD -MT $@ -MF .$(subst /,_,$@).d -MP
+ifeq ($(findstring ADDRESS_SANITIZER,$(MENUSELECT_CFLAGS)),ADDRESS_SANITIZER)
+ _ASTLDFLAGS+=-fsanitize=address
+ _ASTCFLAGS+=-fno-omit-frame-pointer -fsanitize=address
+endif
+
+ifeq ($(findstring THREAD_SANITIZER,$(MENUSELECT_CFLAGS)),THREAD_SANITIZER)
+ _ASTLDFLAGS+=-fsanitize=thread -pie -fPIE
+ _ASTCFLAGS+=-fno-omit-frame-pointer -pie -fPIE -fsanitize=thread
+endif
+
+ifeq ($(findstring LEAK_SANITIZER,$(MENUSELECT_CFLAGS)),LEAK_SANITIZER)
+ _ASTLDFLAGS+=-fsanitize=leak
+ _ASTCFLAGS+=-fno-omit-frame-pointer -fsanitize=leak
+endif
+
+ifeq ($(findstring UNDEFINED_SANITIZER,$(MENUSELECT_CFLAGS)),UNDEFINED_SANITIZER)
+ _ASTLDFLAGS+=-fsanitize=undefined
+ _ASTCFLAGS+=-fno-omit-frame-pointer -fsanitize=undefined
+endif
+
ifeq ($(NOISY_BUILD),)
ECHO_PREFIX=@
CMD_PREFIX=@
<member name="MALLOC_DEBUG" displayname="Keep Track of Memory Allocations">
<support_level>core</support_level>
</member>
+ <member name="ADDRESS_SANITIZER" displayname="Address Sanitizer">
+ <support_level>extended</support_level>
+ <conflict>THREAD_SANITIZER</conflict>
+ <conflict>LEAK_SANITIZER</conflict>
+ <conflict>UNDEFINED_SANITIZER</conflict>
+ <conflict>MALLOC_DEBUG</conflict>
+ </member>
+ <member name="THREAD_SANITIZER" displayname="Thread Sanitizer">
+ <support_level>extended</support_level>
+ <conflict>ADDRESS_SANITIZER</conflict>
+ <conflict>LEAK_SANITIZER</conflict>
+ <conflict>UNDEFINED_SANITIZER</conflict>
+ </member>
+ <member name="LEAK_SANITIZER" displayname="Leak Sanitizer">
+ <support_level>extended</support_level>
+ <conflict>ADDRESS_SANITIZER</conflict>
+ <conflict>THREAD_SANITIZER</conflict>
+ <conflict>UNDEFINED_SANITIZER</conflict>
+ <conflict>MALLOC_DEBUG</conflict>
+ </member>
+ <member name="UNDEFINED_SANITIZER" displayname="Undefined Behavior Sanitizer">
+ <support_level>extended</support_level>
+ <conflict>ADDRESS_SANITIZER</conflict>
+ <conflict>THREAD_SANITIZER</conflict>
+ <conflict>LEAK_SANITIZER</conflict>
+ </member>
<member name="BUSYDETECT_TONEONLY" displayname="Enable additional comparision of only the tone duration not the silence part">
<conflict>BUSYDETECT_COMPARE_TONE_AND_SILENCE</conflict>
<defaultenabled>no</defaultenabled>