(HAVE_BROKEN_ALIAS_ATTRIBUTE): Add.
[kopensolaris-gnu/glibc.git] / config.h.in
1 #if !defined __ASSEMBLER__ && !defined _ISOMAC && !defined __OPTIMIZE__
2 # error "glibc cannot be compiled without optimization"
3 #endif
4
5 /* Another evil option when it comes to compiling the C library is
6    --ffast-math since it alters the ABI.  */
7 #if defined __FAST_MATH__ && !defined TEST_FAST_MATH
8 # error "glibc must not be compiled with -ffast-math"
9 #endif
10
11 /* Define if using GNU ld, with support for weak symbols in a.out,
12    and for symbol set and warning messages extensions in a.out and ELF.
13    This implies HAVE_WEAK_SYMBOLS; set by --with-gnu-ld.  */
14 #undef  HAVE_GNU_LD
15
16 /* Define if using ELF, which supports weak symbols.
17    This implies HAVE_ASM_WEAK_DIRECTIVE and NO_UNDERSCORES; set by
18    --with-elf.  */
19 #undef  HAVE_ELF
20
21 /* Define if using XCOFF. Set by --with-xcoff.  */
22 #undef  HAVE_XCOFF
23
24 /* Define if C symbols are asm symbols.  Don't define if C symbols
25    have a `_' prepended to make the asm symbol.  */
26 #undef  NO_UNDERSCORES
27
28 /* Define if weak symbols are available via the `.weak' directive.  */
29 #undef  HAVE_ASM_WEAK_DIRECTIVE
30
31 /* Define if weak symbols are available via the `.weakext' directive.  */
32 #undef  HAVE_ASM_WEAKEXT_DIRECTIVE
33
34 /* Define to the assembler line separator character for multiple
35    assembler instructions per line.  Default is `;'  */
36 #undef ASM_LINE_SEP
37
38 /* Define if not using ELF, but `.init' and `.fini' sections are available.  */
39 #undef  HAVE_INITFINI
40
41 /* Define if __attribute__((section("foo"))) puts quotes around foo.  */
42 #undef  HAVE_SECTION_QUOTES
43
44 /* Define if using the GNU assembler, gas.  */
45 #undef  HAVE_GNU_AS
46
47 /* Define if the assembler supports the `.set' directive.  */
48 #undef  HAVE_ASM_SET_DIRECTIVE
49
50 /* Define to the name of the assembler's directive for
51    declaring a symbol global (default `.globl').  */
52 #undef  ASM_GLOBAL_DIRECTIVE
53
54 /* Define a symbol_name as a global .symbol_name for ld.  */
55 #undef  HAVE_ASM_GLOBAL_DOT_NAME
56
57 /* Define if _Unwind_Find_FDE should be exported from glibc.  */
58 #undef  EXPORT_UNWIND_FIND_FDE
59
60 /* Define to use GNU libio instead of GNU stdio.
61    This is defined by configure under --enable-libio.  */
62 #undef  USE_IN_LIBIO
63
64 /* Define if using ELF and the assembler supports the `.previous'
65    directive.  */
66 #undef  HAVE_ASM_PREVIOUS_DIRECTIVE
67
68 /* Define if using ELF and the assembler supports the `.popsection'
69    directive.  */
70 #undef  HAVE_ASM_POPSECTION_DIRECTIVE
71
72 /* Define to the prefix Alpha/ELF GCC emits before ..ng symbols.  */
73 #undef  ASM_ALPHA_NG_SYMBOL_PREFIX
74
75 /* Define if versioning of the library is wanted.  */
76 #undef  DO_VERSIONING
77
78 /* Defined to the oldest ABI we support, like 2.1.  */
79 #undef GLIBC_OLDEST_ABI
80
81 /* Define if static NSS modules are wanted.  */
82 #undef  DO_STATIC_NSS
83
84 /* Define if gcc uses DWARF2 unwind information for exception support.  */
85 #undef  HAVE_DWARF2_UNWIND_INFO
86
87 /* Define if gcc uses DWARF2 unwind information for exception support
88    with static variable. */
89 #undef  HAVE_DWARF2_UNWIND_INFO_STATIC
90
91 /* Define if the compiler supports __builtin_expect.  */
92 #undef  HAVE_BUILTIN_EXPECT
93
94 /* Define if the compiler supports __builtin_memset.  */
95 #undef  HAVE_BUILTIN_MEMSET
96
97 /* Define if the __thread keyword is supported.  */
98 #undef HAVE___THREAD
99
100 /* Define if the regparm attribute shall be used for local functions
101    (gcc on ix86 only).  */
102 #undef  USE_REGPARMS
103
104 /* Defined on PowerPC if the GCC being used has a problem with clobbering
105    certain registers (CR0, MQ, CTR, LR) in asm statements.  */
106 #undef  BROKEN_PPC_ASM_CR0
107
108 /* Define if the linker supports the -z combreloc option.  */
109 #undef  HAVE_Z_COMBRELOC
110
111 /* Define if the assembler supported .protected.  */
112 #undef  HAVE_PROTECTED
113
114 /* Define if the assembler supported .hidden.  */
115 #undef  HAVE_HIDDEN
116
117 /* Define if the compiler supports __attribute__ ((visibility (...))).  */
118 #undef  HAVE_VISIBILITY_ATTRIBUTE
119
120 /* Define if the compiler doesn't support __attribute__ ((visibility (...)))
121    together with __asm__ redirection properly.  */
122 #undef  HAVE_BROKEN_VISIBILITY_ATTRIBUTE
123
124 /* Define if the compiler doesn't support __attribute__ ((alias (...)))
125    together with __asm__ redirection properly.  */
126 #undef  HAVE_BROKEN_ALIAS_ATTRIBUTE
127
128 /* Define if _rtld_local structure should be forced into .sdata section.  */
129 #undef  HAVE_SDATA_SECTION
130
131 /* Define if binutils support TLS handling.  */
132 #undef  HAVE_TLS_SUPPORT
133
134 /* Define if the linker supports .preinit_array/.init_array/.fini_array
135    sections.  */
136 #undef  HAVE_INITFINI_ARRAY
137
138
139 /* Defined to some form of __attribute__ ((...)) if the compiler supports
140    a different, more efficient calling convention.  */
141 #if defined USE_REGPARMS && !defined PROF && !defined __BOUNDED_POINTERS__
142 # define internal_function __attribute__ ((regparm (3), stdcall))
143 #endif
144
145 /* Linux specific: minimum supported kernel version.  */
146 #undef  __LINUX_KERNEL_VERSION
147
148 /* Override abi-tags ABI version if necessary.  */
149 #undef  __ABI_TAG_VERSION
150
151 /* An extension in gcc 2.96 and up allows the subtraction of two
152    local labels.  */
153 #undef  HAVE_SUBTRACT_LOCAL_LABELS
154
155 /* bash 2.0 introduced the _XXX_GNU_nonoption_argv_flags_ variable to help
156    getopt determine whether a parameter is a flag or not.  This features
157    was disabled later since it caused trouble.  We are by default therefore
158    disabling the support as well.  */
159 #undef USE_NONOPTION_FLAGS
160
161 /* Mach/Hurd specific: define if mig supports the `retcode' keyword.  */
162 #undef  HAVE_MIG_RETCODE
163
164 /* Mach specific: define if the `host_page_size' RPC is available.  */
165 #undef  HAVE_HOST_PAGE_SIZE
166
167 /* Mach/i386 specific: define if the `i386_io_perm_*' RPCs are available.  */
168 #undef  HAVE_I386_IO_PERM_MODIFY
169
170 /* Sparc64 specific: define if .dynamic section comes before .got for
171    shared libs.  */
172 #undef  SPARC64_DYNAMIC_BEFORE_GOT
173
174 /*
175 \f */
176
177 #ifndef _LIBC
178
179 /* These symbols might be defined by some sysdeps configures.
180    They are used only in miscellaneous generator programs, not
181    in compiling libc itself.   */
182
183 /* sysdeps/generic/configure.in */
184 #undef  HAVE_PSIGNAL
185
186 /* sysdeps/unix/configure.in */
187 #undef  HAVE_STRERROR
188
189 /* sysdeps/unix/common/configure.in */
190 #undef  HAVE_SYS_SIGLIST
191 #undef  HAVE__SYS_SIGLIST
192 #undef  HAVE__CTYPE_
193 #undef  HAVE___CTYPE_
194 #undef  HAVE___CTYPE
195 #undef  HAVE__CTYPE__
196 #undef  HAVE__CTYPE
197 #undef  HAVE__LOCP
198
199 #endif
200
201 /*
202 \f */
203
204 #ifdef  _LIBC
205
206 /* The zic and zdump programs need these definitions.  */
207
208 #define HAVE_STRERROR   1
209
210 /* The locale code needs these definitions.  */
211
212 #define HAVE_REGEX 1
213
214 #endif