mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +00:00 
			
		
		
		
	This replaces AST_INLINE_API allocators in utils.h with real functions implemented in astmm.c. Associated macro's are also moved from utils.h to astmm.h. Remove menuselect conflicts between MALLOC_DEBUG and DEBUG_CHAOS as they can now be combined. This has multiple benefits: * Simplifies asterisk/utils.h by removing inline functions and use of the logger. * Removal of these inline functions decreases size of Asterisk and module binaries by 1% or more. * Puts memory management functions together with and without MALLOC_DEBUG enabled, simplifying management of the code. * Enables DEBUG_CHAOS for ASTMM_REDIRECT and bundled pjproject. Change-Id: If9df4377f74bdbb627461b27a473123e05525887
		
			
				
	
	
		
			135 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <category name="MENUSELECT_CFLAGS" displayname="Compiler Flags" positive_output="yes" remove_on_change=".lastclean">
 | |
| 		<member name="DONT_OPTIMIZE" displayname="Disable Optimizations by the Compiler">
 | |
| 			<use autoselect="yes">COMPILE_DOUBLE</use>
 | |
| 			<support_level>core</support_level>
 | |
| 		</member>
 | |
| 		<member name="COMPILE_DOUBLE" displayname="Pre-compile with optimizations to detect errors, then discard and recompile with DONT_OPTIMIZE.  Creates intermediate .i files">
 | |
| 			<depend>DONT_OPTIMIZE</depend>
 | |
| 			<support_level>core</support_level>
 | |
| 		</member>
 | |
| 		<member name="DEBUG_THREADS" displayname="Enable Thread Debugging">
 | |
| 			<support_level>core</support_level>
 | |
| 		</member>
 | |
| 		<member name="REF_DEBUG" displayname="Enable reference count debugging by default">
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="AO2_DEBUG" displayname="Enable internal Astobj2 debugging">
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="STATIC_BUILD" displayname="Build static binaries">
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="DEBUG_FD_LEAKS" displayname="Enable File Descriptor Leak Detection">
 | |
| 			<support_level>core</support_level>
 | |
| 		</member>
 | |
| 		<member name="REBUILD_PARSERS" displayname="Rebuild AEL and expression parsers from bison/flex source files">
 | |
| 			<depend>bison</depend>
 | |
| 			<depend>flex</depend>
 | |
| 			<defaultenabled>no</defaultenabled>
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="LOW_MEMORY" displayname="Optimize for Low Memory Usage">
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="DISABLE_INLINE" displayname="Disable the inline API">
 | |
| 			<!-- Added to work around GCC bug
 | |
| 			     See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47816
 | |
| 			  -->
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="OPTIONAL_API" displayname="Enable the optional API">
 | |
| 			<!-- Added to manually disable the optional API, since
 | |
| 			     it's now supported on all systems.
 | |
| 			  -->
 | |
| 			<defaultenabled>yes</defaultenabled>
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="BETTER_BACKTRACES" displayname="Use libbfd (GPL) to generate better inline backtraces">
 | |
| 			<depend>BFD</depend>
 | |
| 			<depend>DLADDR</depend>
 | |
| 			<defaultenabled>no</defaultenabled>
 | |
| 			<support_level>core</support_level>
 | |
| 		</member>
 | |
| 		<member name="USE_HOARD_ALLOCATOR" displayname="Use the Hoard Memory Allocator instead of the default system one">
 | |
| 			<defaultenabled>no</defaultenabled>
 | |
| 			<depend>hoard</depend>
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="LOTS_OF_SPANS" displayname="More than 32 DAHDI spans">
 | |
| 			<support_level>core</support_level>
 | |
| 		</member>
 | |
| 		<member name="RADIO_RELAX" displayname="Relax DTMF for Radio Applications">
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="G711_NEW_ALGORITHM" displayname="Use the NEW ulaw/alaw codecs (slower, but cleaner)">
 | |
| 			<defaultenabled>no</defaultenabled>
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="G711_REDUCED_BRANCHING" displayname="New ulaw/alaw codec, reduced branching (might help it run faster in some architectures)">
 | |
| 			<depend>G711_NEW_ALGORITHM</depend>
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="TEST_CODING_TABLES" displayname="New ulaw/alaw codec, turn on table tests on init">
 | |
| 			<depend>G711_NEW_ALGORITHM</depend>
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="TEST_TANDEM_TRANSCODING" displayname="New ulaw/alaw codec, turn on transcoding tests on init">
 | |
| 			<depend>G711_NEW_ALGORITHM</depend>
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="MALLOC_DEBUG" displayname="Keep Track of Memory Allocations">
 | |
| 			<support_level>core</support_level>
 | |
| 		</member>
 | |
| 		<member name="DEBUG_CHAOS" displayname="Randomly FAIL memory allocations or other operations">
 | |
| 			<support_level>core</support_level>
 | |
| 		</member>
 | |
| 		<member name="ADDRESS_SANITIZER" displayname="Address Sanitizer">
 | |
| 			<depend>HAVE_ADDRESS_SANITIZER</depend>
 | |
| 			<support_level>extended</support_level>
 | |
| 			<conflict>THREAD_SANITIZER</conflict>
 | |
| 			<conflict>LEAK_SANITIZER</conflict>
 | |
| 			<conflict>MALLOC_DEBUG</conflict>
 | |
| 			<conflict>DEBUG_CHAOS</conflict>
 | |
| 		</member>
 | |
| 		<member name="THREAD_SANITIZER" displayname="Thread Sanitizer">
 | |
| 			<depend>HAVE_THREAD_SANITIZER</depend>
 | |
| 			<support_level>extended</support_level>
 | |
| 			<conflict>ADDRESS_SANITIZER</conflict>
 | |
| 			<conflict>LEAK_SANITIZER</conflict>
 | |
| 		</member>
 | |
| 		<member name="LEAK_SANITIZER" displayname="Leak Sanitizer">
 | |
| 			<depend>HAVE_LEAK_SANITIZER</depend>
 | |
| 			<support_level>extended</support_level>
 | |
| 			<conflict>ADDRESS_SANITIZER</conflict>
 | |
| 			<conflict>THREAD_SANITIZER</conflict>
 | |
| 			<conflict>MALLOC_DEBUG</conflict>
 | |
| 			<conflict>DEBUG_CHAOS</conflict>
 | |
| 		</member>
 | |
| 		<member name="UNDEFINED_SANITIZER" displayname="Undefined Behavior Sanitizer">
 | |
| 			<depend>HAVE_UNDEFINED_SANITIZER</depend>
 | |
| 			<support_level>extended</support_level>
 | |
| 		</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>
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="BUSYDETECT_COMPARE_TONE_AND_SILENCE" displayname="Assume that tone and silence have the same duration">
 | |
| 			<conflict>BUSYDETECT_TONEONLY</conflict>
 | |
| 			<defaultenabled>no</defaultenabled>
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="BUSYDETECT_DEBUG" displayname="Enable additional busy detection debugging">
 | |
| 			<defaultenabled>no</defaultenabled>
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="INTEGER_CALLERID" displayname="Use the (less accurate) integer-based method for decoding FSK tones (for embedded systems)">
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="BUILD_NATIVE" displayname="Allow compiler to generate code optimized for the CPU on which the build is performed.">
 | |
| 			<support_level>core</support_level>
 | |
| 			<defaultenabled>yes</defaultenabled>
 | |
| 			<depend>native_arch</depend>
 | |
| 		</member>
 | |
| 	</category>
 |