Allow build-system programs to be built without optimization.
[platform/upstream/glibc.git] / config.h.in
1 #if !defined IS_IN_build && !defined __ASSEMBLER__ && !defined _ISOMAC \
2     && !defined __OPTIMIZE__
3 # error "glibc cannot be compiled without optimization"
4 #endif
5
6 /* Another evil option when it comes to compiling the C library is
7    --ffast-math since it alters the ABI.  */
8 #if defined __FAST_MATH__ && !defined TEST_FAST_MATH
9 # error "glibc must not be compiled with -ffast-math"
10 #endif
11
12 /* Define if building with SELinux support.  Set by --with-selinux.  */
13 #undef  HAVE_SELINUX
14
15 /* Defined if building with SELinux support & audit libs are detected. */
16 #undef  HAVE_LIBAUDIT
17
18 /* Defined if building with SELinux support & libcap libs are detected.  */
19 #undef  HAVE_LIBCAP
20
21 /* Define if weak symbols are available via the `.weak' directive.  */
22 #undef  HAVE_ASM_WEAK_DIRECTIVE
23
24 /* Define if weak symbols are available via the `.weakext' directive.  */
25 #undef  HAVE_ASM_WEAKEXT_DIRECTIVE
26
27 /* Define if CFI directives are available.  */
28 #undef  HAVE_ASM_CFI_DIRECTIVES
29
30 /* Define to the assembler line separator character for multiple
31    assembler instructions per line.  Default is `;'  */
32 #undef ASM_LINE_SEP
33
34 /* Define if __attribute__((section("foo"))) puts quotes around foo.  */
35 #undef  HAVE_SECTION_QUOTES
36
37 /* Define if the assembler supports the `.set' directive.  */
38 #undef  HAVE_ASM_SET_DIRECTIVE
39
40 /* Define to the name of the assembler's directive for
41    declaring a symbol global (default `.globl').  */
42 #undef  ASM_GLOBAL_DIRECTIVE
43
44 /* Define to the prefix before `object' or `function' in the
45    assembler's `.type' directive, if it has one.  */
46 #undef  ASM_TYPE_DIRECTIVE_PREFIX
47
48 /* Define if the assembler supports the gnu_unique_object symbol type.  */
49 #undef  HAVE_ASM_UNIQUE_OBJECT
50
51 /* Define a symbol_name as a global .symbol_name for ld.  */
52 #undef  HAVE_ASM_GLOBAL_DOT_NAME
53
54 /* On powerpc64, use overlapping .opd entries.  */
55 #undef  USE_PPC64_OVERLAPPING_OPD
56
57 /* Define if the assembler generates debugging information directly.  */
58 #undef  HAVE_CPP_ASM_DEBUGINFO
59
60 /* Define if _Unwind_Find_FDE should be exported from glibc.  */
61 #undef  EXPORT_UNWIND_FIND_FDE
62
63 /* Define if using ELF and the assembler supports the `.previous'
64    directive.  */
65 #undef  HAVE_ASM_PREVIOUS_DIRECTIVE
66
67 /* Define if using ELF and the assembler supports the `.popsection'
68    directive.  */
69 #undef  HAVE_ASM_POPSECTION_DIRECTIVE
70
71 /* Define if versioning of the library is wanted.  */
72 #undef  DO_VERSIONING
73
74 /* Defined to the oldest ABI we support, like 2.1.  */
75 #undef GLIBC_OLDEST_ABI
76
77 /* Define if static NSS modules are wanted.  */
78 #undef  DO_STATIC_NSS
79
80 /* Define if the compiler supports __builtin_memset.  */
81 #undef  HAVE_BUILTIN_MEMSET
82
83 /* Define if the regparm attribute shall be used for local functions
84    (gcc on ix86 only).  */
85 #undef  USE_REGPARMS
86
87 /* Defined on PowerPC if the GCC being used has a problem with clobbering
88    certain registers (CR0, MQ, CTR, LR) in asm statements.  */
89 #undef  BROKEN_PPC_ASM_CR0
90
91 /* Defined on SPARC if GCC emits GOTDATA relocations.  */
92 #undef  HAVE_GCC_GOTDATA
93
94 /* Define on SPARC if AS supports VIS3 instructions.  */
95 #undef  HAVE_AS_VIS3_SUPPORT
96
97 /* Define if the linker supports the -z combreloc option.  */
98 #undef  HAVE_Z_COMBRELOC
99
100 /* Define if _rtld_local structure should be forced into .sdata section.  */
101 #undef  HAVE_SDATA_SECTION
102
103 /* Define if gcc supports SSE4.  */
104 #undef  HAVE_SSE4_SUPPORT
105
106 /* Define if gcc supports AVX.  */
107 #undef  HAVE_AVX_SUPPORT
108
109 /* Define if gcc supports VEX encoding.  */
110 #undef  HAVE_SSE2AVX_SUPPORT
111
112 /* Define if gcc supports FMA4.  */
113 #undef  HAVE_FMA4_SUPPORT
114
115 /* Define if the compiler\'s exception support is based on libunwind.  */
116 #undef  HAVE_CC_WITH_LIBUNWIND
117
118 /* Define if the access to static and hidden variables is position independent
119    and does not need relocations.  */
120 #undef  PI_STATIC_AND_HIDDEN
121
122 /* Define this to disable the 'hidden_proto' et al macros in
123    include/libc-symbols.h that avoid PLT slots in the shared objects.  */
124 #undef  NO_HIDDEN
125
126
127 /* Defined to some form of __attribute__ ((...)) if the compiler supports
128    a different, more efficient calling convention.  */
129 #if defined USE_REGPARMS && !defined PROF && !defined __BOUNDED_POINTERS__
130 # define internal_function __attribute__ ((regparm (3), stdcall))
131 #endif
132
133 /* Linux specific: minimum supported kernel version.  */
134 #undef  __LINUX_KERNEL_VERSION
135
136 /* Override abi-tags ABI version if necessary.  */
137 #undef  __ABI_TAG_VERSION
138
139 /* bash 2.0 introduced the _XXX_GNU_nonoption_argv_flags_ variable to help
140    getopt determine whether a parameter is a flag or not.  This features
141    was disabled later since it caused trouble.  We are by default therefore
142    disabling the support as well.  */
143 #undef USE_NONOPTION_FLAGS
144
145 /* Mach/Hurd specific: define if mig supports the `retcode' keyword.  */
146 #undef  HAVE_MIG_RETCODE
147
148 /* Mach specific: define if the `host_page_size' RPC is available.  */
149 #undef  HAVE_HOST_PAGE_SIZE
150
151 /* Mach/i386 specific: define if the `i386_io_perm_*' RPCs are available.  */
152 #undef  HAVE_I386_IO_PERM_MODIFY
153
154 /* Mach/i386 specific: define if the `i386_set_gdt' RPC is available.  */
155 #undef  HAVE_I386_SET_GDT
156
157 /* Defined if forced unwind support is available.  */
158 #undef  HAVE_FORCED_UNWIND
159
160 /* Defined of libidn is available.  */
161 #undef HAVE_LIBIDN
162
163 /* Define if inlined system calls are available.  */
164 #undef HAVE_INLINED_SYSCALLS
165
166 /* Define if your assembler and linker support R_PPC_REL16* relocs.  */
167 #undef HAVE_ASM_PPC_REL16
168
169 /* Define if your compiler defaults to -msecure-plt mode on ppc.  */
170 #undef HAVE_PPC_SECURE_PLT
171
172 /* Define if __stack_chk_guard canary should be randomized at program startup.  */
173 #undef ENABLE_STACKGUARD_RANDOMIZE
174
175 /* Define if multi-arch DSOs should be generated.  */
176 #undef USE_MULTIARCH
177
178 /* Define if `.ctors' and `.dtors' sections shouldn't be used.  */
179 #undef  NO_CTORS_DTORS_SECTIONS
180
181 /*
182 \f */
183
184 #ifndef _LIBC
185
186 /* These symbols might be defined by some sysdeps configures.
187    They are used only in miscellaneous generator programs, not
188    in compiling libc itself.   */
189
190 /* sysdeps/generic/configure.in */
191 #undef  HAVE_PSIGNAL
192
193 /* sysdeps/unix/configure.in */
194 #undef  HAVE_STRERROR
195
196 /* sysdeps/unix/common/configure.in */
197 #undef  HAVE_SYS_SIGLIST
198 #undef  HAVE__SYS_SIGLIST
199 #undef  HAVE__CTYPE_
200 #undef  HAVE___CTYPE_
201 #undef  HAVE___CTYPE
202 #undef  HAVE__CTYPE__
203 #undef  HAVE__CTYPE
204 #undef  HAVE__LOCP
205
206 #endif
207
208 /*
209 \f */
210
211 #ifdef  _LIBC
212
213 /* The zic and zdump programs need these definitions.  */
214
215 #define HAVE_STRERROR   1
216
217 /* The locale code needs these definitions.  */
218
219 #define HAVE_REGEX 1
220
221 #endif