vector: Prevent NULL argument to memcpy.
[asterisk/asterisk.git] / build_tools / cflags.xml
1 <category name="MENUSELECT_CFLAGS" displayname="Compiler Flags" positive_output="yes" remove_on_change=".lastclean">
2                 <member name="DONT_OPTIMIZE" displayname="Disable Optimizations by the Compiler">
3                         <use autoselect="yes">COMPILE_DOUBLE</use>
4                         <support_level>core</support_level>
5                 </member>
6                 <member name="COMPILE_DOUBLE" displayname="Pre-compile with optimizations to detect errors, then discard and recompile with DONT_OPTIMIZE.  Creates intermediate .i files">
7                         <depend>DONT_OPTIMIZE</depend>
8                         <support_level>core</support_level>
9                 </member>
10                 <member name="DEBUG_THREADS" displayname="Enable Thread Debugging">
11                         <support_level>core</support_level>
12                 </member>
13                 <member name="REF_DEBUG" displayname="Enable reference count debugging by default">
14                         <support_level>extended</support_level>
15                 </member>
16                 <member name="AO2_DEBUG" displayname="Enable internal Astobj2 debugging">
17                         <support_level>extended</support_level>
18                 </member>
19                 <member name="STATIC_BUILD" displayname="Build static binaries">
20                         <support_level>extended</support_level>
21                 </member>
22                 <member name="LOADABLE_MODULES" displayname="Runtime module loading">
23                         <defaultenabled>yes</defaultenabled>
24                         <support_level>core</support_level>
25                 </member>
26                 <member name="DEBUG_FD_LEAKS" displayname="Enable File Descriptor Leak Detection">
27                         <support_level>core</support_level>
28                 </member>
29                 <member name="REBUILD_PARSERS" displayname="Rebuild AEL and expression parsers from bison/flex source files">
30                         <depend>bison</depend>
31                         <depend>flex</depend>
32                         <defaultenabled>no</defaultenabled>
33                         <support_level>extended</support_level>
34                 </member>
35                 <member name="LOW_MEMORY" displayname="Optimize for Low Memory Usage">
36                         <support_level>extended</support_level>
37                 </member>
38                 <member name="DISABLE_INLINE" displayname="Disable the inline API">
39                         <!-- Added to work around GCC bug
40                              See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47816
41                           -->
42                         <support_level>extended</support_level>
43                 </member>
44                 <member name="OPTIONAL_API" displayname="Enable the optional API">
45                         <!-- Added to manually disable the optional API, since
46                              it's now supported on all systems.
47                           -->
48                         <defaultenabled>yes</defaultenabled>
49                         <support_level>extended</support_level>
50                 </member>
51                 <member name="BETTER_BACKTRACES" displayname="Use libbfd (GPL) to generate better inline backtraces">
52                         <depend>BFD</depend>
53                         <depend>DLADDR</depend>
54                         <defaultenabled>no</defaultenabled>
55                         <support_level>core</support_level>
56                 </member>
57                 <member name="USE_HOARD_ALLOCATOR" displayname="Use the Hoard Memory Allocator instead of the default system one">
58                         <defaultenabled>no</defaultenabled>
59                         <depend>hoard</depend>
60                         <support_level>extended</support_level>
61                 </member>
62                 <member name="LOTS_OF_SPANS" displayname="More than 32 DAHDI spans">
63                         <support_level>core</support_level>
64                 </member>
65                 <member name="RADIO_RELAX" displayname="Relax DTMF for Radio Applications">
66                         <support_level>extended</support_level>
67                 </member>
68                 <member name="G711_NEW_ALGORITHM" displayname="Use the NEW ulaw/alaw codecs (slower, but cleaner)">
69                         <defaultenabled>no</defaultenabled>
70                         <support_level>extended</support_level>
71                 </member>
72                 <member name="G711_REDUCED_BRANCHING" displayname="New ulaw/alaw codec, reduced branching (might help it run faster in some architectures)">
73                         <depend>G711_NEW_ALGORITHM</depend>
74                         <support_level>extended</support_level>
75                 </member>
76                 <member name="TEST_CODING_TABLES" displayname="New ulaw/alaw codec, turn on table tests on init">
77                         <depend>G711_NEW_ALGORITHM</depend>
78                         <support_level>extended</support_level>
79                 </member>
80                 <member name="TEST_TANDEM_TRANSCODING" displayname="New ulaw/alaw codec, turn on transcoding tests on init">
81                         <depend>G711_NEW_ALGORITHM</depend>
82                         <support_level>extended</support_level>
83                 </member>
84                 <member name="MALLOC_DEBUG" displayname="Keep Track of Memory Allocations">
85                         <conflict>DEBUG_CHAOS</conflict>
86                         <support_level>core</support_level>
87                 </member>
88                 <member name="DEBUG_CHAOS" displayname="Randomly FAIL memory allocations or other operations">
89                         <conflict>MALLOC_DEBUG</conflict>
90                         <support_level>core</support_level>
91                 </member>
92                 <member name="ADDRESS_SANITIZER" displayname="Address Sanitizer">
93                         <depend>HAVE_ADDRESS_SANITIZER</depend>
94                         <support_level>extended</support_level>
95                         <conflict>THREAD_SANITIZER</conflict>
96                         <conflict>LEAK_SANITIZER</conflict>
97                         <conflict>MALLOC_DEBUG</conflict>
98                         <conflict>DEBUG_CHAOS</conflict>
99                 </member>
100                 <member name="THREAD_SANITIZER" displayname="Thread Sanitizer">
101                         <depend>HAVE_THREAD_SANITIZER</depend>
102                         <support_level>extended</support_level>
103                         <conflict>ADDRESS_SANITIZER</conflict>
104                         <conflict>LEAK_SANITIZER</conflict>
105                 </member>
106                 <member name="LEAK_SANITIZER" displayname="Leak Sanitizer">
107                         <depend>HAVE_LEAK_SANITIZER</depend>
108                         <support_level>extended</support_level>
109                         <conflict>ADDRESS_SANITIZER</conflict>
110                         <conflict>THREAD_SANITIZER</conflict>
111                         <conflict>MALLOC_DEBUG</conflict>
112                         <conflict>DEBUG_CHAOS</conflict>
113                 </member>
114                 <member name="UNDEFINED_SANITIZER" displayname="Undefined Behavior Sanitizer">
115                         <depend>HAVE_UNDEFINED_SANITIZER</depend>
116                         <support_level>extended</support_level>
117                 </member>
118                 <member name="BUSYDETECT_TONEONLY" displayname="Enable additional comparision of only the tone duration not the silence part">
119                         <conflict>BUSYDETECT_COMPARE_TONE_AND_SILENCE</conflict>
120                         <defaultenabled>no</defaultenabled>
121                         <support_level>extended</support_level>
122                 </member>
123                 <member name="BUSYDETECT_COMPARE_TONE_AND_SILENCE" displayname="Assume that tone and silence have the same duration">
124                         <conflict>BUSYDETECT_TONEONLY</conflict>
125                         <defaultenabled>no</defaultenabled>
126                         <support_level>extended</support_level>
127                 </member>
128                 <member name="BUSYDETECT_DEBUG" displayname="Enable additional busy detection debugging">
129                         <defaultenabled>no</defaultenabled>
130                         <support_level>extended</support_level>
131                 </member>
132                 <member name="INTEGER_CALLERID" displayname="Use the (less accurate) integer-based method for decoding FSK tones (for embedded systems)">
133                         <support_level>extended</support_level>
134                 </member>
135                 <member name="BUILD_NATIVE" displayname="Allow compiler to generate code optimized for the CPU on which the build is performed.">
136                         <support_level>core</support_level>
137                         <defaultenabled>yes</defaultenabled>
138                         <depend>native_arch</depend>
139                 </member>
140         </category>