]> git.ipfire.org Git - thirdparty/glibc.git/blame - configure.in
* configure.in: Don't set CCVERSION.
[thirdparty/glibc.git] / configure.in
CommitLineData
f4017d20 1dnl Process this file with autoconf to produce a configure script.
ff3d7ed3 2AC_REVISION([$CVSid$])
3a12e572 3AC_PREREQ(2.53)dnl dnl Minimum Autoconf version required.
5d77b1da
RM
4AC_INIT([GNU C Library], [(see version.h)], [glibc])
5AC_CONFIG_SRCDIR([include/features.h])
6b7f6183
RM
6AC_CONFIG_HEADERS([config.h])
7AC_CONFIG_AUX_DIR([scripts])
28f540f4 8
c72637d4
RM
9if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then
10 AC_MSG_ERROR([you must configure in a separate build directory])
11fi
12
28f540f4
RM
13# This will get text that should go into config.make.
14config_vars=
15
16# Check for a --with-gmp argument and set gmp-srcdir in config.make.
6b7f6183
RM
17AC_ARG_WITH([gmp],
18 AC_HELP_STRING([--with-gmp=DIRECTORY],
19 [find GMP source code in DIRECTORY (not needed)]),
20 [
28f540f4 21case "$with_gmp" in
6b7f6183 22yes) AC_MSG_ERROR([--with-gmp requires an argument; use --with-gmp=DIRECTORY]) ;;
28f540f4
RM
23''|no) ;;
24*) config_vars="$config_vars
25gmp-srcdir = $withval" ;;
26esac
27])
c8f3e6db 28# Check for a --with-gd argument and set libgd-LDFLAGS in config.make.
6b7f6183
RM
29AC_ARG_WITH([gd],
30 AC_HELP_STRING([--with-gd=DIR],
31 [find libgd include dir and library with prefix DIR]),
c8f3e6db
UD
32 [dnl
33case "$with_gd" in
f5f7239f
UD
34yes|''|no) ;;
35*) libgd_include="-I$withval/include"
c8f3e6db
UD
36 libgd_ldflags="-L$withval/lib" ;;
37esac
38])
6b7f6183
RM
39AC_ARG_WITH([gd-include],
40 AC_HELP_STRING([--with-gd-include=DIR],
41 [find libgd include files in DIR]),
f5f7239f
UD
42 [dnl
43case "$with_gd_include" in
44''|no) ;;
45*) libgd_include="-I$withval" ;;
46esac
47])
6b7f6183
RM
48AC_ARG_WITH([gd-lib],
49 AC_HELP_STRING([--with-gd-lib=DIR],
50 [find libgd library files in DIR]),
f5f7239f
UD
51 [dnl
52case "$with_gd_lib" in
53''|no) ;;
54*) libgd_ldflags="-L$withval" ;;
55esac
56])
57
58if test -n "$libgd_include"; then
59 config_vars="$config_vars
cf90163d 60CFLAGS-memusagestat.c = $libgd_include"
f5f7239f
UD
61fi
62if test -n "$libgd_ldflags"; then
63 config_vars="$config_vars
64libgd-LDFLAGS = $libgd_ldflags"
65fi
28f540f4 66
ff3d7ed3 67dnl Arguments to specify presence of other packages/features.
6b7f6183
RM
68AC_ARG_WITH([fp],
69 AC_HELP_STRING([--with-fp],
70 [if using floating-point hardware @<:@default=yes@:>@]),
71 [with_fp=$withval],
72 [with_fp=yes])
675322a5 73AC_SUBST(with_fp)
6b7f6183
RM
74AC_ARG_WITH([binutils],
75 AC_HELP_STRING([--with-binutils=PATH],
76 [specify location of binutils (as and ld)]),
77 [path_binutils=$withval],
78 [path_binutils=''])
79AC_ARG_WITH([elf],
80 AC_HELP_STRING([--with-elf],
81 [if using the ELF object format]),
82 [elf=$withval],
83 [elf=no])
84AC_ARG_WITH([xcoff],
85 AC_HELP_STRING([--with-xcoff],
86 [if using the XCOFF object format]),
87 [xcoff=$withval],
88 [xcoff=no])
89AC_ARG_WITH([cvs],
90 AC_HELP_STRING([--without-cvs],
91 [if CVS should not be used]),
92 [with_cvs=$withval],
93 [with_cvs=yes])
6b3f2b3d
UD
94if test "$with_cvs" = yes; then
95 if test -d $srcdir/CVS && grep :pserver: $srcdir/CVS/Root > /dev/null
96 then
97 with_cvs=no
98 fi
4442d7e8 99fi
4d06461a 100AC_SUBST(with_cvs)
28f540f4 101
6b7f6183
RM
102AC_ARG_WITH([headers],
103 AC_HELP_STRING([--with-headers=PATH],
104 [location of system headers to use
105 (for example /usr/src/linux/include)
106 @<:@default=compiler default@:>@]),
107 [sysheaders=$withval],
108 [sysheaders=''])
dbe7a0f5 109
6b7f6183
RM
110AC_ARG_ENABLE([sanity-checks],
111 AC_HELP_STRING([--disable-sanity-checks],
112 [really do not use threads (should not be used except in special situations) @<:@default=yes@:>@]),
113 [enable_sanity=$enableval],
114 [enable_sanity=yes])
a18f587d 115
7dbde9db
RM
116AC_SUBST(enable_check_abi)
117AC_ARG_ENABLE([check-abi],
fd54683c
RM
118 AC_HELP_STRING([--enable-check-abi],
119 [do "make check-abi" in "make check" (no/warn/yes)
120 @<:@default=no@:>@]),
7dbde9db 121 [enable_check_abi=$enableval],
fd54683c 122 [enable_check_abi=no])
7dbde9db 123
650425ce
UD
124dnl Arguments to enable or disable building the static, shared, profiled,
125dnl and -fomit-frame-pointer libraries.
b38bb8ca
UD
126dnl I've disabled this for now since we cannot build glibc without static
127dnl libraries built in the moment.
6b7f6183
RM
128dnl AC_ARG_ENABLE([static],
129dnl AC_HELP_STRING([--enable-static],
130dnl [build static library @<:@default=yes@:>@]),
131dnl [static=$enableval],
132dnl [static=yes])
5c2a0669 133static=yes
6b7f6183
RM
134AC_ARG_ENABLE([shared],
135 AC_HELP_STRING([--enable-shared],
136 [build shared library @<:@default=yes if GNU ld & ELF@:>@]),
137 [shared=$enableval],
138 [shared=default])
139AC_ARG_ENABLE([profile],
140 AC_HELP_STRING([--enable-profile],
141 [build profiled library @<:@default=yes@:>@]),
142 [profile=$enableval],
143 [profile=yes])
144AC_ARG_ENABLE([omitfp],
145 AC_HELP_STRING([--enable-omitfp],
146 [build undebuggable optimized library @<:@default=no@:>@]),
147 [omitfp=$enableval],
148 [omitfp=no])
149AC_ARG_ENABLE([bounded],
150 AC_HELP_STRING([--enable-bounded],
151 [build with runtime bounds checking @<:@default=no@:>@]),
152 [bounded=$enableval],
153 [bounded=no])
154AC_ARG_ENABLE([versioning],
155 AC_HELP_STRING([--disable-versioning],
156 [do not include versioning information in the library objects @<:@default=yes if supported@:>@]),
157 [enable_versioning=$enableval],
158 [enable_versioning=yes])
159
160AC_ARG_ENABLE([oldest-abi],
161 AC_HELP_STRING([--enable-oldest-abi=ABI],
162 [configure the oldest ABI supported @<:@e.g. 2.2@:>@ @<:@default=glibc default@:>@]),
163 [oldest_abi=$enableval],
164 [oldest_abi=no])
62ab42d6
UD
165if test "$oldest_abi" = yes || test "$oldest_abi" = no; then
166 oldest_abi=default
167else
168 AC_DEFINE_UNQUOTED(GLIBC_OLDEST_ABI, "$oldest_abi")
169fi
170AC_SUBST(oldest_abi)
171
6b3a2224 172dnl Generic infrastructure for drop-in additions to libc.
6b7f6183
RM
173AC_ARG_ENABLE([add-ons],
174 AC_HELP_STRING([--enable-add-ons@<:@=DIRS...@:>@],
175 [configure and build add-ons in DIR1,DIR2,... search for add-ons if no parameter given]),
61952351 176 [case "$enableval" in
9c4c0024
UD
177 yes) add_ons=`cd $srcdir && echo */configure | sed -e 's!/configure!!g'`
178 test "$add_ons" = "*" && add_ons= ;;
61952351
UD
179 *) add_ons=`echo "$enableval" | sed 's/,/ /g'`;;
180 esac],
181 [add_ons=])
182
8d4b5a8a 183dnl Let the user avoid using TLS. Don't know why but...
9cce206e 184dnl XXX For now we disable support by default.
6b7f6183
RM
185AC_ARG_WITH([tls],
186 AC_HELP_STRING([--with-tls],
187 [enable support for TLS]),
188 [usetls=$withval],
189 [usetls=no])
8d4b5a8a 190
6b7f6183
RM
191AC_ARG_WITH([__thread],
192 AC_HELP_STRING([--without-__thread],
193 [do not use TLS features even when supporting them]),
194 [use__thread=$withval],
195 [use__thread=yes])
5b8f26b4 196
6b7f6183
RM
197AC_ARG_ENABLE([hidden-plt],
198 AC_HELP_STRING([--disable-hidden-plt],
199 [do not hide internal function calls to avoid PLT]),
200 [hidden=$enableval],
201 [hidden=yes])
749a9a4f
RM
202if test "x$hidden" = xno; then
203 AC_DEFINE(NO_HIDDEN)
204fi
205
a1ceed7a 206AC_CONFIG_SUBDIRS([ ])dnl Bonehead new Autoconf whines if we do it cleanly.
57ba7bb4 207add_ons_pfx=
da74e902 208if test x"$add_ons" != x; then
57ba7bb4 209 for f in $add_ons; do
aa44a9de
AJ
210 # Some sanity checks
211 if test "$f" = "crypt"; then
212 AC_MSG_ERROR([
213*** It seems that you're using an old \`crypt' add-on. crypt is now
214*** part of glibc and using the old add-on will not work with this
215*** release. Start again with fresh sources and without the old
216*** \`crypt' add-on.])
217 fi
218 if test "$f" = "localedata"; then
219 AC_MSG_ERROR([
220*** It seems that you're using an old \`localedata' add-on. localedata
221*** is now part of glibc and using the old add-on will not work with
222*** this release. Start again with fresh sources and without the old
223*** \`localedata' add-on.])
224 fi
af6f3906
UD
225 # Test whether such a subdir really exists.
226 if test -d $srcdir/$f; then
227 add_ons_pfx="$add_ons_pfx $f/"
a1ceed7a
RM
228 dnl This variable is what AC_CONFIG_SUBDIRS is supposed to set,
229 dnl but the new Autoconf maintainers don't care about compatibility
230 dnl so we cannot use it normally any more without complaints.
231 subdirs="$subdirs $f"
af6f3906
UD
232 else
233 AC_MSG_ERROR(add-on directory \"$f\" does not exist)
234 fi
57ba7bb4
UD
235 done
236fi
ff3d7ed3 237
5107cf1d
UD
238dnl On some platforms we cannot use dynamic loading. We must provide
239dnl static NSS modules.
6b7f6183
RM
240AC_ARG_ENABLE([static-nss],
241 AC_HELP_STRING([--enable-static-nss],
242 [build static NSS modules @<:@default=no@:>@]),
243 [static_nss=$enableval],
244 [static_nss=no])
834cef7c
UD
245dnl Enable static NSS also if we build no shared objects.
246if test x"$static_nss" = xyes || test x"$shared" = xno; then
3172f58f 247 static_nss=yes
5107cf1d
UD
248 AC_DEFINE(DO_STATIC_NSS)
249fi
250
6b7f6183
RM
251AC_ARG_ENABLE([force-install],
252 AC_HELP_STRING([--disable-force-install],
253 [don't force installation of files from this package, even if they are older than the installed files]),
254 [force_install=$enableval],
255 [force_install=yes])
73237de3
UD
256AC_SUBST(force_install)
257
958f238f
UD
258dnl On some platforms we allow dropping compatibility with all kernel
259dnl versions.
6b7f6183
RM
260AC_ARG_ENABLE([kernel],
261 AC_HELP_STRING([--enable-kernel=VERSION],
262 [compile for compatibility with kernel not older than VERSION]),
263 [minimum_kernel=$enableval],
264 [])
86cfe82d
UD
265dnl Prevent unreasonable values.
266if test "$minimum_kernel" = yes || test "$minimum_kernel" = no; then
267 # Better nothing than this.
268 minimum_kernel=""
269e369f
UD
269else
270 if test "$minimum_kernel" = current; then
271 minimum_kernel=`uname -r 2>/dev/null` || minimum_kernel=
272 fi
86cfe82d 273fi
958f238f 274
6cc7d725
UD
275dnl For the development we sometimes want gcc to issue even more warnings.
276dnl This is not the default since many of the extra warnings are not
277dnl appropriate.
6b7f6183
RM
278AC_ARG_ENABLE([all-warnings],
279 AC_HELP_STRING([--enable-all-warnings],
280 [enable all useful warnings gcc can issue]),
281 [all_warnings=$enableval],
282 [])
6cc7d725
UD
283AC_SUBST(all_warnings)
284
28f540f4 285AC_CANONICAL_HOST
8a523922
UD
286
287# The way shlib-versions is used to generate soversions.mk uses a
288# fairly simplistic model for name recognition that can't distinguish
289# i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os
290# of `gnu*' here to be `gnu-gnu*' just so that shlib-versions can
291# tell. This doesn't get used much beyond that, so it's fairly safe.
292case "$host_os" in
293linux*)
294 ;;
295gnu*)
296 host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
297 ;;
298esac
299
28f540f4
RM
300# We keep the original values in `$config_*' and never modify them, so we
301# can write them unchanged into config.make. Everything else uses
302# $machine, $vendor, and $os, and changes them whenever convenient.
303config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
304
2f64b655
UD
305# Don't allow vendor == "unknown"
306test "$config_vendor" = unknown && config_vendor=
307config_os="`echo $config_os | sed 's/^unknown-//'`"
308
a2fe9c76
RM
309# Some configurations imply other options.
310case "$host_os" in
311gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
312 # These systems always use GNU tools.
c8cf0b14 313 gnu_ld=yes gnu_as=yes ;;
a2fe9c76
RM
314esac
315case "$host_os" in
7799b7b3
UD
316# i586-linuxaout is mangled into i586-pc-linux-gnuaout
317linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
3776d592 318 ;;
ffa8d2a0 319gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
3776d592
RM
320 # These systems (almost) always use the ELF format.
321 elf=yes
84724245 322 ;;
5af3245a
UD
323aix*)
324 # These systems are always xcoff
325 xcoff=yes
a711b01d 326 elf=no
5af3245a 327 ;;
a2fe9c76
RM
328esac
329
28f540f4
RM
330machine=$config_machine
331vendor=$config_vendor
332os=$config_os
333
a808d541
UD
334# config.guess on some IBM machines says `rs6000' instead of `powerpc'.
335# Unify this here.
336if test "$machine" = rs6000; then
337 machine="powerpc"
338fi
339
f4b07664
RM
340# Braindead PowerPC box with absolutely no FPU.
341case "$machine-$host_os" in
342 powerpc*-*soft)
343 with_fp=no
344 ;;
345esac
346
bdc8eb03
UD
347###
348### I put this here to prevent those annoying emails from people who cannot
349### read and try to compile glibc on unsupported platforms. --drepper
350###
351### By using the undocumented --enable-hacker-mode option for configure
352### one can skip this test to make the configuration not fail for unsupported
353### platforms.
354###
355if test -z "$enable_hacker_mode"; then
356 case "$machine-$host_os" in
75d86c1f 357 *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
bdc8eb03
UD
358 ;;
359 *)
360 echo "*** The GNU C library is currently not available for this platform."
361 echo "*** So far nobody cared to port it and if there is no volunteer it"
362 echo "*** might never happen. So, if you have interest to see glibc on"
363 echo "*** this platform visit"
364 echo "*** http://www.gnu.org/software/libc/porting.html"
365 echo "*** and join the group of porters"
366 exit 1
367 ;;
368 esac
369fi
370
28f540f4
RM
371dnl We need to use [ and ] for other purposes for a while now.
372changequote(,)dnl
373# Expand the configuration machine name into a subdirectory by architecture
374# type and particular chip.
375case "$machine" in
f0523145
RM
376a29k | am29000) base_machine=a29k machine=a29k ;;
377alpha*) base_machine=alpha machine=alpha/$machine ;;
0c8b61e6 378arm*) base_machine=arm machine=arm/arm32/$machine ;;
60c96635
UD
379c3[012]) base_machine=cx0 machine=cx0/c30 ;;
380c4[04]) base_machine=cx0 machine=cx0/c40 ;;
b15cb495
UD
381hppa*64*) base_machine=hppa machine=hppa/hppa64 ;;
382hppa*) base_machine=hppa machine=hppa/hppa1.1 ;;
a8922de8 383i[3456]86) base_machine=i386 machine=i386/$machine ;;
d64e704c 384ia64) base_machine=ia64 machine=ia64 ;;
f0523145
RM
385m680?0) base_machine=m68k machine=m68k/$machine ;;
386m68k) base_machine=m68k machine=m68k/m68020 ;;
387m88???) base_machine=m88k machine=m88k/$machine ;;
388m88k) base_machine=m88k machine=m88k/m88100 ;;
e077d10d 389mips64*) base_machine=mips64
3217788f 390 case "$CC $CFLAGS $CPPFLAGS " in
e077d10d
AO
391 *" -mabi=n32 "*) mips_cc_abi=n32 ;;
392 *" -mabi=64 "*|*" -mabi=n64 "*) mips_cc_abi=64 ;;
393 *" -mabi=32 "*|*" -mabi=o32 "*) mips_cc_abi=32 ;;
394 *) mips_cc_abi=default ;;
395 esac
396 case $config_os in
397 *abin32*) mips_config_abi=n32 ;;
398 *abi64*|*abin64*) mips_config_abi=64 ;;
399 *abi32*|*abio32*) mips_config_abi=32 ;;
400 *) mips_config_abi=$mips_cc_abi ;;
401 esac
402 case $mips_config_abi in
403 default) machine=mips/mips64/n32 mips_config_abi=n32 ;;
404 n32) machine=mips/mips64/n32 ;;
405 64) machine=mips/mips64/n64 ;;
406 32) machine=mips/mips32/kern64 ;;
407 esac
408 machine=$machine/$config_machine
409 if test $mips_config_abi != $mips_cc_abi; then
410 # This won't make it to config.make, but we want to
411 # set this in case configure tests depend on it.
412 CPPFLAGS="$CPPFLAGS -mabi=$mips_config_abi"
413 fi
414 ;;
415mips*) base_machine=mips machine=mips/mips32/$machine ;;
92b27c74
UD
416powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;;
417powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;;
136d4332
UD
418s390) base_machine=s390 machine=s390/s390-32 ;;
419s390x) base_machine=s390 machine=s390/s390-64 ;;
88615235
UD
420sh3*) base_machine=sh machine=sh/sh3 ;;
421sh4*) base_machine=sh machine=sh/sh4 ;;
ca34d7a7
UD
422sparc | sparcv[67])
423 base_machine=sparc machine=sparc/sparc32 ;;
424sparcv8 | supersparc | hypersparc)
425 base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
ae6b8730
RH
426sparcv8plus | sparcv8plusa | sparcv9)
427 base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
bb769ab6
UD
428sparcv8plusb | sparcv9b)
429 base_machine=sparc machine=sparc/sparc32/sparcv9b ;;
ca34d7a7
UD
430sparc64 | ultrasparc)
431 base_machine=sparc machine=sparc/sparc64 ;;
bb769ab6
UD
432sparc64b | ultrasparc3)
433 base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
0c8b61e6 434thumb*) base_machine=thumb machine=arm/thumb/$machine ;;
3a2832a0 435*) base_machine=$machine ;;
28f540f4 436esac
f0523145
RM
437changequote([,])dnl
438AC_SUBST(base_machine)
28f540f4 439
dfd2257a
UD
440if test "$base_machine" = "i386"; then
441 AC_DEFINE(USE_REGPARMS)
442fi
443
f0523145 444# Compute the list of sysdep directories for this configuration.
f332db02 445# This can take a while to compute.
f0523145 446sysdep_dir=$srcdir/sysdeps
f332db02 447AC_MSG_CHECKING(sysdep dirs)
f0523145
RM
448dnl We need to use [ and ] for other purposes for a while now.
449changequote(,)dnl
28f540f4
RM
450# Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
451os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
452
453case "$os" in
454gnu*)
455 base_os=mach/hurd ;;
883bc19b 456netbsd* | 386bsd* | freebsd* | bsdi*)
28f540f4 457 base_os=unix/bsd/bsd4.4 ;;
222c4e71 458osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
28f540f4 459 base_os=unix/bsd ;;
d586354e 460sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
28f540f4 461 base_os=unix/sysv ;;
f802accb
UD
462irix6*)
463 base_os=unix/sysv/irix6/$os ;;
d586354e 464solaris[2-9]*)
28f540f4 465 base_os=unix/sysv/sysv4 ;;
908c3d5b
UD
466hpux*)
467 base_os=unix/sysv/hpux/$os ;;
75d86c1f
UD
468aix4.3*)
469 base_os=unix/sysv/aix/aix4.3 ;;
28f540f4
RM
470none)
471 base_os=standalone ;;
472*)
473 base_os='' ;;
474esac
475
476# For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
477tail=$os
478ostry=$os
479while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
480 ostry="$ostry /$o"
481 tail=$o
75914335 482done
28f540f4
RM
483o=`echo $tail | sed 's/[0-9]*$//'`
484if test $o != $tail; then
485 ostry="$ostry /$o"
486fi
ec4b0518
UD
487# For linux-gnu, try linux-gnu, then linux.
488o=`echo $tail | sed 's/-.*$//'`
489if test $o != $tail; then
490 ostry="$ostry /$o"
491fi
28f540f4
RM
492
493# For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
494base=
495tail=$base_os
496while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
497 set $b
498 base="$base /$1"
499 tail="$2"
500done
501
ae6b8730 502# For sparc/sparc32, try sparc/sparc32 and then sparc.
28f540f4
RM
503mach=
504tail=$machine
505while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
506 set $m
10ceac89
RM
507 # Prepend the machine's FPU directory unless --without-fp.
508 if test "$with_fp" = yes; then
509 mach="$mach /$1/fpu"
f4b07664
RM
510 else
511 mach="$mach /$1/nofpu"
82d00cab 512 fi
28f540f4
RM
513 mach="$mach /$1"
514 tail="$2"
515done
516
517dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
518changequote([,])dnl
519
520# Find what sysdep directories exist.
521sysnames=
57ba7bb4
UD
522IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
523for d in $add_ons_pfx ''; do
524 for b in $base ''; do
525 for m0 in $mach ''; do
526 for v in /$vendor ''; do
ae828bc6 527 test "$v" = / && continue
57ba7bb4 528 for o in /$ostry ''; do
ae828bc6 529 test "$o" = / && continue
57ba7bb4
UD
530 for m in $mach ''; do
531 if test "$m0$b$v$o$m"; then
532 try="${d}sysdeps$m0$b$v$o$m"
533 test -n "$enable_debug_configure" &&
534 echo "$0 [DEBUG]: try $try" >&2
9c4c0024 535 if test -d $srcdir/$try; then
57ba7bb4
UD
536 sysnames="$sysnames $try"
537 { test -n "$o" || test -n "$b"; } && os_used=t
538 { test -n "$m" || test -n "$m0"; } && machine_used=t
539 fi
540 fi
541 done
28f540f4
RM
542 done
543 done
544 done
545 done
546done
57ba7bb4 547IFS="$ac_save_ifs"
28f540f4
RM
548
549if test -z "$os_used" && test "$os" != none; then
550 AC_MSG_ERROR(Operating system $os is not supported.)
551fi
552if test -z "$machine_used" && test "$machine" != none; then
553 AC_MSG_ERROR(The $machine is not supported.)
554fi
555
556# We have now validated the configuration.
557
335aa320 558
10ceac89
RM
559# If using ELF, look for an `elf' subdirectory of each machine directory.
560# We prepend these rather than inserting them whereever the machine appears
561# because things specified by the machine's ELF ABI should override
562# OS-specific things, and should always be the same for any OS on the
563# machine (otherwise what's the point of an ABI?).
564if test "$elf" = yes; then
565 elf_dirs=
57ba7bb4 566 for d in $add_ons_pfx ''; do
57ba7bb4 567 for m in $mach; do
9c4c0024 568 if test -d $srcdir/${d}sysdeps$m/elf; then
c2bb8cab 569 elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
57ba7bb4
UD
570 fi
571 done
28f540f4 572 done
57ba7bb4 573 sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
28f540f4
RM
574fi
575
335aa320 576
28f540f4
RM
577# Expand the list of system names into a full list of directories
578# from each element's parent name and Implies file (if present).
579set $sysnames
e50ec9f9 580names=
28f540f4
RM
581while test $# -gt 0; do
582 name=$1
583 shift
584
e50ec9f9 585 case " $names " in *" $name "*)
f332db02
RM
586 # Already in the list.
587 continue
e50ec9f9 588 esac
f332db02
RM
589
590 # Report each name as we discover it, so there is no long pause in output.
0b4ee387 591 echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
f332db02 592
57ba7bb4
UD
593 name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
594
595 case $name in
596 /*) xsrcdir= ;;
597 *) xsrcdir=$srcdir/ ;;
598 esac
599 test -n "$enable_debug_configure" &&
600 echo "[DEBUG]: name/Implies $xsrcdir$name/Implies" >&2
601
602 if test -f $xsrcdir$name/Implies; then
28f540f4 603 # Collect more names from the `Implies' file (removing comments).
57ba7bb4
UD
604 implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
605 implied=
606 for x in $implied_candidate; do
636ccfc8 607 found=no
57ba7bb4
UD
608 if test -d $xsrcdir$name_base/$x; then
609 implied="$implied $name_base/$x";
636ccfc8
UD
610 found=yes
611 fi
612 for d in $add_ons_pfx ''; do
613 try="${d}sysdeps/$x"
614 case $d in
615 /*) try_srcdir= ;;
616 *) try_srcdir=$srcdir/ ;;
617 esac
618 test -n "$enable_debug_configure" &&
619 echo "[DEBUG]: $name implied $x try($d) {$try_srcdir}$try" >&2
620 if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
621 then
622 implied="$implied $try"
623 found=yes
624 fi
625 done
626 if test $found = no; then
57ba7bb4
UD
627 AC_MSG_WARN($name/Implies specifies nonexistent $x)
628 fi
28f540f4
RM
629 done
630 else
631 implied=
632 fi
633
634 # Add NAME to the list of names.
635 names="$names $name"
636
637 # Find the parent of NAME, using the empty string if it has none.
638changequote(,)dnl
57ba7bb4 639 parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
28f540f4
RM
640changequote([,])dnl
641
642 # Add the names implied by NAME, and NAME's parent (if it has one), to
643 # the list of names to be processed (the argument list). We prepend the
644 # implied names to the list and append the parent. We want implied
645 # directories to come before further directories inferred from the
646 # configuration components; this ensures that for sysv4, unix/common
647 # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
648 # after sysv4).
649 sysnames="`echo $implied $* $parent`"
650 test -n "$sysnames" && set $sysnames
651done
652
653# Add the default directories.
ecdc196c 654default_sysnames=sysdeps/generic
2de7874e 655if test "$elf" = yes; then
ecdc196c 656 default_sysnames="sysdeps/generic/elf $default_sysnames"
2de7874e 657fi
ecdc196c 658sysnames="$names $default_sysnames"
f332db02
RM
659AC_SUBST(sysnames)
660# The other names were emitted during the scan.
ecdc196c 661AC_MSG_RESULT($default_sysnames)
28f540f4 662
f332db02
RM
663
664### Locate tools.
28f540f4 665
28f540f4 666AC_PROG_INSTALL
2b80a372 667if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
28f540f4 668 # The makefiles need to use a different form to find it in $srcdir.
2b80a372 669 INSTALL='\$(..)./scripts/install-sh -c'
28f540f4 670fi
0e3426bb 671AC_PROG_LN_S
ae828bc6 672
4baa087a
RM
673AC_PROG_CC
674if test $host != $build; then
675 AC_CHECK_PROGS(BUILD_CC, gcc cc)
676fi
677AC_SUBST(cross_compiling)
678AC_PROG_CPP
58a7a325
UD
679# We need the C++ compiler only for testing.
680AC_PROG_CXX
4baa087a
RM
681LIBC_PROG_BINUTILS
682AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
683
684# Accept binutils 2.13 or newer.
685AC_CHECK_PROG_VER(AS, $AS, --version,
686 [GNU assembler.* \([0-9]*\.[0-9.]*\)],
73588175 687 [2.1[3-9]*], AS=: critic_missing="$critic_missing as")
4baa087a
RM
688AC_CHECK_PROG_VER(LD, $LD, --version,
689 [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
73588175 690 [2.1[3-9]*], LD=: critic_missing="$critic_missing ld")
4baa087a 691
a4301d41
UD
692# We need the physical current working directory. We cannot use the
693# "pwd -P" shell builtin since that's not portable. Instead we try to
694# find a pwd binary. Note that assigning to the PWD environment
695# variable might have some interesting side effects, so we don't do
696# that.
697AC_PATH_PROG(PWD_P, pwd, no)
698if test "$PWD_P" = no; then
699 AC_MSG_ERROR(*** A pwd binary could not be found.)
700fi
701
63bda0c1 702# These programs are version sensitive.
3a12e572 703AC_CHECK_TOOL_PREFIX
4bca4c17 704AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
90d1d40b
RM
705 [version \([egcygnustpi-]*[0-9.]*\)], [3.[2-9]*],
706 critic_missing="$critic_missing gcc")
22e65f8f 707AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
8fc1e2ca 708 [GNU Make[^0-9]*\([0-9][0-9.]*\)],
6b4e880f 709 [3.79* | 3.[89]*], critic_missing="$critic_missing make")
63bda0c1 710
22e65f8f 711AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
bdd421cc 712 [GNU gettext.* \([0-9]*\.[0-9.]*\)],
aefdff34
RM
713 [0.10.3[6-9]* | 0.10.[4-9][0-9]* | 0.1[1-9]* | 0.[2-9][0-9]* | [1-9].*],
714 MSGFMT=: aux_missing="$aux_missing msgfmt")
63bda0c1 715AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
8b7fb588 716 [GNU texinfo.* \([0-9][0-9.]*\)],
aefdff34
RM
717 [4.*],
718 MAKEINFO=: aux_missing="$aux_missing makeinfo")
d6a97a28 719AC_CHECK_PROG_VER(SED, sed, --version,
aec103d3 720 [GNU sed version \([0-9]*\.[0-9.]*\)],
aefdff34
RM
721 [3.0[2-9]*|3.[1-9]*|[4-9]*],
722 SED=: aux_missing="$aux_missing sed")
63bda0c1 723
476e7d78
RM
724AC_CHECK_PROGS(AUTOCONF, autoconf, no)
725case "x$AUTOCONF" in
726xno|x|x:) AUTOCONF=no ;;
727*)
728 AC_CACHE_CHECK(dnl
1400de2e 729whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works, libc_cv_autoconf_works, [dnl
476e7d78
RM
730 if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then
731 libc_cv_autoconf_works=yes
732 else
733 libc_cv_autoconf_works=no
734 fi])
735 test $libc_cv_autoconf_works = yes || AUTOCONF=no
736 ;;
737esac
738if test "x$with_cvs" = xyes && test "x$AUTOCONF" = xno; then
739 # If --without-cvs they probably won't change configure.in, so no complaints.
740 aux_missing="$aux_missing autoconf"
14519931 741fi
1400de2e 742
32a448ed
RM
743test -n "$critic_missing" && AC_MSG_ERROR([
744*** These critical programs are missing or too old:$critic_missing
745*** Check the INSTALL file for required versions.])
746
4bca4c17 747test -n "$aux_missing" && AC_MSG_WARN([
9c6fffc0 748*** These auxiliary programs are missing or incompatible versions:$aux_missing
63bda0c1
UD
749*** some features will be disabled.
750*** Check the INSTALL file for required versions.])
28f540f4 751
dbe7a0f5
UD
752# if using special system headers, find out the compiler's sekrit
753# header directory and add that to the list. NOTE: Only does the right
754# thing on a system that doesn't need fixincludes. (Not presently a problem.)
755if test -n "$sysheaders"; then
756 ccheaders=`$CC -print-file-name=include`
757 SYSINCLUDES="-nostdinc -isystem $ccheaders -isystem $sysheaders"
758fi
759AC_SUBST(SYSINCLUDES)
760
97a47867
UD
761# check if ranlib is necessary
762AC_CACHE_CHECK(whether ranlib is necessary, libc_cv_ranlib_necessary, [dnl
763cat > conftest.c <<EOF
764int a;
765char b;
766void c(void) {}
767EOF
3217788f 768$CC $CFLAGS $CPPFLAGS -c conftest.c
72d4c33d 769$AR cr conftest.a conftest.o
97a47867
UD
770cp conftest.a conftest2.a
771$RANLIB conftest.a
772if cmp -s conftest.a conftest2.a; then
773 libc_cv_ranlib_necessary=no
f38931a9 774else
97a47867
UD
775 libc_cv_ranlib_necessary=yes
776fi
777rm -rf conftest*])
778if test "$libc_cv_ranlib_necessary" = no; then
779 RANLIB=:
f38931a9 780fi
f38931a9 781
3911660e
UD
782# Test if LD_LIBRARY_PATH contains the notation for the current directory
783# since this would lead to problems installing/building glibc.
784# LD_LIBRARY_PATH contains the current directory if one of the following
785# is true:
786# - one of the terminals (":" and ";") is the first or last sign
787# - two terminals occur directly after each other
788# - the path contains an element with a dot in it
789AC_MSG_CHECKING(LD_LIBRARY_PATH variable)
790changequote(,)dnl
791case ${LD_LIBRARY_PATH} in
792 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
b3a86ae1 793 ld_library_path_setting="contains current directory"
3911660e
UD
794 ;;
795 *)
796 ld_library_path_setting="ok"
797 ;;
798esac
799changequote([,])dnl
800AC_MSG_RESULT($ld_library_path_setting)
801if test "$ld_library_path_setting" != "ok"; then
63bda0c1
UD
802AC_MSG_ERROR([
803*** LD_LIBRARY_PATH shouldn't contain the current directory when
804*** building glibc. Please change the environment variable
805*** and run configure again.])
3911660e 806fi
8e31cf7e 807
74bd2300
UD
808AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl
809if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
810 libc_cv_gcc_static_libgcc=
811else
812 libc_cv_gcc_static_libgcc=-static-libgcc
813fi])
814AC_SUBST(libc_cv_gcc_static_libgcc)
815
84384f5b 816AC_PATH_PROG(BASH, bash, no)
a18f587d 817if test "$BASH" != no &&
f43ce637 818 $BASH -c 'test "$BASH_VERSINFO" \
6973fc01 819 && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then
84384f5b
UD
820 libc_cv_have_bash2=yes
821else
822 libc_cv_have_bash2=no
823fi
824AC_SUBST(libc_cv_have_bash2)
825
5290baf0
UD
826dnl We need a ksh compatible shell for tzselect.
827if test "$BASH" = no; then
828 AC_PATH_PROG(KSH, ksh, no)
829 if test "$KSH" = no; then
830 libc_cv_have_ksh=no
831 else
832 libc_cv_have_ksh=yes
833 fi
834else
835 KSH="$BASH"
836 AC_SUBST(KSH)
837 libc_cv_have_ksh=yes
838fi
839AC_SUBST(libc_cv_have_ksh)
840
5aa8ff62 841AC_PROG_AWK
c0016081 842AC_PATH_PROG(PERL, perl, no)
2fd5d029
RM
843if test "$PERL" != no &&
844 (eval `$PERL -V:apiversion`; test `expr "$apiversion" \< 5` -ne 0); then
845 PERL=no
ecb06196 846fi
2f512715
AS
847AC_PATH_PROG(INSTALL_INFO, install-info, no,
848 $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
2de00372
UD
849AC_PATH_PROG(BISON, bison, no, $PATH:/usr/local/bin:/usr/bin:/bin)
850
b8dc6a10 851AC_CACHE_CHECK(for signed size_t type, libc_cv_signed_size_t, [dnl
28f540f4
RM
852echo '#include <stddef.h>
853FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
854if eval "$ac_cpp conftest.c 2>/dev/null" \
855| grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then
856 libc_cv_signed_size_t=no
857else
858 libc_cv_signed_size_t=yes
859fi
860rm -f conftest*])
28f540f4
RM
861if test $libc_cv_signed_size_t = yes; then
862 dnl Do this by hand instead of AC_DEFINE so can add #undef to avoid warnings.
863 cat >> confdefs.h <<\EOF
864#undef __SIZE_TYPE__
865#define __SIZE_TYPE__ unsigned
866EOF
867fi
868
b8dc6a10 869AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl
28f540f4
RM
870AC_TRY_COMPILE(dnl
871[#define __need_size_t
872#define __need_wchar_t
873#include <stddef.h>
874#define __need_NULL
875#include <stddef.h>], [size_t size; wchar_t wchar;
876#ifdef offsetof
877#error stddef.h ignored __need_*
878#endif
879if (&size == NULL || &wchar == NULL) abort ();],
880 libc_cv_friendly_stddef=yes,
881 libc_cv_friendly_stddef=no)])
28f540f4
RM
882if test $libc_cv_friendly_stddef = yes; then
883 config_vars="$config_vars
884override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
885fi
886
b8dc6a10
RM
887AC_CACHE_CHECK(whether we need to use -P to assemble .S files,
888 libc_cv_need_minus_P, [dnl
28f540f4
RM
889cat > conftest.S <<EOF
890#include "confdefs.h"
891/* Nothing whatsoever. */
892EOF
3217788f 893if AC_TRY_COMMAND(${CC-cc} $CPPFLAGS $ASFLAGS -c conftest.S 1>&AS_MESSAGE_LOG_FD); then
28f540f4
RM
894 libc_cv_need_minus_P=no
895else
896 libc_cv_need_minus_P=yes
897fi
898rm -f conftest*])
28f540f4
RM
899if test $libc_cv_need_minus_P = yes; then
900 config_vars="$config_vars
901asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
902fi
903
2293395f
UD
904AC_MSG_CHECKING(whether .text pseudo-op must be used)
905AC_CACHE_VAL(libc_cv_dot_text, [dnl
906cat > conftest.s <<EOF
907.text
908EOF
909libc_cv_dot_text=
3217788f 910if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
2293395f
UD
911 libc_cv_dot_text=.text
912fi
913rm -f conftest*])
914if test -z "$libc_cv_dot_text"; then
915 AC_MSG_RESULT(no)
916else
917 AC_MSG_RESULT(yes)
918fi
919
b8dc6a10
RM
920AC_CACHE_CHECK(for assembler global-symbol directive,
921 libc_cv_asm_global_directive, [dnl
9a70fcab 922libc_cv_asm_global_directive=UNKNOWN
908c3d5b 923for ac_globl in .globl .global .EXPORT; do
9a70fcab 924 cat > conftest.s <<EOF
2293395f 925 ${libc_cv_dot_text}
908c3d5b 926 ${ac_globl} foo
ae1025be 927foo:
9a70fcab 928EOF
3217788f 929 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
9a70fcab
UD
930 libc_cv_asm_global_directive=${ac_globl}
931 fi
932 rm -f conftest*
933 test $libc_cv_asm_global_directive != UNKNOWN && break
934done])
9a70fcab
UD
935if test $libc_cv_asm_global_directive = UNKNOWN; then
936 AC_MSG_ERROR(cannot determine asm global directive)
937else
938 AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
939fi
940
b8dc6a10 941AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
9a70fcab 942cat > conftest.s <<EOF
2293395f 943${libc_cv_dot_text}
ae1025be 944foo:
df2a0c93 945.set glibc_conftest_frobozz,foo
9a70fcab 946$libc_cv_asm_global_directive glibc_conftest_frobozz
e215c478 947EOF
df2a0c93
RM
948# The alpha-dec-osf1 assembler gives only a warning for `.set'
949# (but it doesn't work), so we must do a linking check to be sure.
950cat > conftest1.c <<\EOF
951extern int glibc_conftest_frobozz;
640f0119 952void _start() { glibc_conftest_frobozz = 1; }
df2a0c93
RM
953EOF
954if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
640f0119 955 -nostartfiles -nostdlib \
0b4ee387 956 -o conftest conftest.s conftest1.c 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
e215c478
RM
957 libc_cv_asm_set_directive=yes
958else
959 libc_cv_asm_set_directive=no
960fi
65b3cbcb 961rm -f conftest*])
e215c478
RM
962if test $libc_cv_asm_set_directive = yes; then
963 AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
964fi
965
b88ac073
RM
966AC_CACHE_CHECK(for assembler .type directive prefix,
967 libc_cv_asm_type_prefix, [dnl
968libc_cv_asm_type_prefix=no
969for ac_try_prefix in '@' '%' '#'; do
970 cat > conftest.s <<EOF
971 ${libc_cv_dot_text}
972 ${libc_cv_asm_global_directive} foo
973 .type foo, ${ac_try_prefix}object
974 .size foo, 1
975foo:
976 .byte 1
977EOF
3217788f 978 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
b88ac073
RM
979 libc_cv_asm_type_prefix=${ac_try_prefix}
980 fi
981 rm -f conftest*
982 test "x$libc_cv_asm_type_prefix" != xno && break
983done])
984if test "x$libc_cv_asm_type_prefix" != xno; then
985 AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
986fi
987
2aa15430 988# The Aix ld uses global .symbol_names instead of symbol_names.
92b27c74
UD
989# Unfortunately also used in the PPC64 ELF ABI.
990case "${os}${machine}" in
991aix4.3* | linux*powerpc/powerpc64*)
2aa15430
UD
992 AC_DEFINE(HAVE_ASM_GLOBAL_DOT_NAME)
993esac
994
377a515b
UD
995AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
996[cat > conftest.s <<EOF
2293395f 997${libc_cv_dot_text}
4cca6b86 998_sym:
377a515b
UD
999.symver _sym,sym@VERS
1000EOF
3217788f 1001if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
377a515b
UD
1002 libc_cv_asm_symver_directive=yes
1003else
1004 libc_cv_asm_symver_directive=no
1005fi
1006rm -f conftest*])
1007AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
1008if test $libc_cv_asm_symver_directive = yes; then
1009 cat > conftest.s <<EOF
2293395f 1010${libc_cv_dot_text}
4cca6b86 1011_sym:
377a515b
UD
1012.symver _sym,sym@VERS
1013EOF
1014 cat > conftest.map <<EOF
f43ce637 1015VERS_1 {
377a515b
UD
1016 global: sym;
1017};
f43ce637
UD
1018
1019VERS_2 {
1020 global: sym;
1021} VERS_1;
377a515b 1022EOF
3217788f
RM
1023 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1024 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $LDFLAGS -shared
1025 -o conftest.so conftest.o
1026 -nostartfiles -nostdlib
1027 -Wl,--version-script,conftest.map
c2f55635 1028 1>&AS_MESSAGE_LOG_FD]);
377a515b
UD
1029 then
1030 libc_cv_ld_version_script_option=yes
1031 else
1032 libc_cv_ld_version_script_option=no
1033 fi
1034 else
1035 libc_cv_ld_version_script_option=no
1036 fi
1037else
1038 libc_cv_ld_version_script_option=no
1039fi
1040rm -f conftest*])
7499a22a
RM
1041if test $shared != no &&
1042 test $libc_cv_asm_symver_directive = yes &&
650425ce
UD
1043 test $libc_cv_ld_version_script_option = yes &&
1044 test $enable_versioning = yes; then
377a515b
UD
1045 VERSIONING=yes
1046 AC_DEFINE(DO_VERSIONING)
1047else
1048 VERSIONING=no
1049fi
1050AC_SUBST(VERSIONING)
1051
102a3e8f 1052if test $elf = yes && test $shared != no && test $VERSIONING = no; then
f43ce637 1053 echo "\
f4017d20 1054*** WARNING: You should not compile GNU libc without versioning. Not using
f43ce637
UD
1055*** versioning will introduce incompatibilities so that old binaries
1056*** will not run anymore.
50304ef0 1057*** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
f43ce637 1058fi
fd26970f
UD
1059if test $elf = yes; then
1060 AC_CACHE_CHECK(for .previous assembler directive,
1061 libc_cv_asm_previous_directive, [dnl
1062 cat > conftest.s <<EOF
1063.section foo_section
1064.previous
1065EOF
3217788f 1066 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
fd26970f
UD
1067 libc_cv_asm_previous_directive=yes
1068 else
1069 libc_cv_asm_previous_directive=no
1070 fi
1071 rm -f conftest*])
1072 if test $libc_cv_asm_previous_directive = yes; then
1073 AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
1074 else
1075 AC_CACHE_CHECK(for .popsection assembler directive,
1076 libc_cv_asm_popsection_directive, [dnl
1077 cat > conftest.s <<EOF
1078.pushsection foo_section
1079.popsection
1080EOF
3217788f 1081 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
fd26970f
UD
1082 libc_cv_asm_popsection_directive=yes
1083 else
1084 libc_cv_asm_popsection_directive=no
1085 fi
1086 rm -f conftest*])
1087 if test $libc_cv_asm_popsection_directive = yes; then
1088 AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
1089 fi
1090 fi
2d499f55
UD
1091 AC_CACHE_CHECK(for .protected and .hidden assembler directive,
1092 libc_cv_asm_protected_directive, [dnl
1093 cat > conftest.s <<EOF
1094.protected foo
1095foo:
1096.hidden bar
1097bar:
1098EOF
3217788f 1099 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
2d499f55
UD
1100 libc_cv_asm_protected_directive=yes
1101 else
1102 libc_cv_asm_protected_directive=no
1103 fi
1104 rm -f conftest*])
1105 AC_SUBST(libc_cv_asm_protected_directive)
5688da55 1106 AC_DEFINE(HAVE_PROTECTED)
9bd64602 1107 AC_DEFINE(HAVE_HIDDEN)
0fb7851f 1108
0d01dace
UD
1109 if test $libc_cv_asm_protected_directive = yes; then
1110 AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
1111 libc_cv_visibility_attribute,
1112 [cat > conftest.c <<EOF
1113 int foo __attribute__ ((visibility ("hidden"))) = 1;
1114 int bar __attribute__ ((visibility ("protected"))) = 1;
1115EOF
1116 libc_cv_visibility_attribute=no
61cea1c3 1117 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
0d01dace
UD
1118 if grep '\.hidden.*foo' conftest.s >/dev/null; then
1119 if grep '\.protected.*bar' conftest.s >/dev/null; then
1120 libc_cv_visibility_attribute=yes
1121 fi
1122 fi
1123 fi
1124 rm -f conftest.[cs]
1125 ])
1126 if test $libc_cv_visibility_attribute = yes; then
1127 AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
1128 fi
1129 fi
1130
37ba7d66
UD
1131 if test $libc_cv_visibility_attribute = yes; then
1132 AC_CACHE_CHECK(for broken __attribute__((visibility())),
1133 libc_cv_broken_visibility_attribute,
1134 [cat > conftest.c <<EOF
1135 int foo (int x);
1136 int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
1137 int bar (int x) { return x; }
1138EOF
1139 libc_cv_broken_visibility_attribute=yes
61cea1c3 1140 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s1>&AS_MESSAGE_LOG_FD); then
37ba7d66
UD
1141changequote(,)dnl
1142 if grep '\.hidden[ _]foo' conftest.s >/dev/null; then
1143changequote([,])dnl
1144 libc_cv_broken_visibility_attribute=no
1145 fi
1146 fi
1147 rm -f conftest.c conftest.s
1148 ])
1149 if test $libc_cv_broken_visibility_attribute = yes; then
1150 AC_DEFINE(HAVE_BROKEN_VISIBILITY_ATTRIBUTE)
1151 fi
1152 fi
1153
1154 AC_CACHE_CHECK(for broken __attribute__((alias())),
1155 libc_cv_broken_alias_attribute,
1156 [cat > conftest.c <<EOF
1157 extern int foo (int x) __asm ("xyzzy");
1158 int bar (int x) { return x; }
48b8e846
UD
1159 extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
1160 extern int dfoo;
1161 extern __typeof (dfoo) dfoo __asm ("abccb");
1162 int dfoo = 1;
37ba7d66
UD
1163EOF
1164 libc_cv_broken_alias_attribute=yes
61cea1c3 1165 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
48b8e846
UD
1166 if grep 'xyzzy' conftest.s >/dev/null &&
1167 grep 'abccb' conftest.s >/dev/null; then
37ba7d66
UD
1168 libc_cv_broken_alias_attribute=no
1169 fi
1170 fi
1171 rm -f conftest.c conftest.s
1172 ])
1173 if test $libc_cv_broken_alias_attribute = yes; then
1174 AC_DEFINE(HAVE_BROKEN_ALIAS_ATTRIBUTE)
1175 fi
1176
0d01dace
UD
1177 if test $libc_cv_visibility_attribute = yes -a $gnu_ld = yes; then
1178 AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
1179 libc_cv_have_sdata_section,
1180 [echo "int i;" > conftest.c
1181 libc_cv_have_sdata_section=no
3217788f 1182 if ${CC-cc} $LDFLAGS -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
0d01dace
UD
1183 | grep '\.sdata' >/dev/null; then
1184 libc_cv_have_sdata_section=yes
1185 fi
1186 rm -f conftest.c conftest.so
1187 ])
1188 if test $libc_cv_have_sdata_section = yes; then
1189 AC_DEFINE(HAVE_SDATA_SECTION)
1190 fi
1191 fi
1192
5241882c
UD
1193 AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
1194 libc_cv_initfinit_array, [dnl
1195 cat > conftest.c <<EOF
1196int _start (void) { return 0; }
1197int __start (void) { return 0; }
1198int foo (void) { return 1; }
2c617417 1199int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
5241882c 1200EOF
3217788f 1201 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
c2f55635 1202 -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
5241882c
UD
1203 then
1204 if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then
1205 libc_cv_initfinit_array=yes
1206 else
1207 libc_cv_initfinit_array=no
1208 fi
1209 else
1210 libc_cv_initfinit_array=no
1211 fi
1212 rm -f conftest*])
1213 AC_SUBST(libc_cv_initfinit_array)
1214 if test $libc_cv_initfinit_array = yes; then
1215 AC_DEFINE(HAVE_INITFINI_ARRAY)
1216 fi
1217
c776b3d7
UD
1218 AC_CACHE_CHECK(for libunwind-support in compiler,
1219 libc_cv_cc_with_libunwind, [dnl
1220 AC_TRY_LINK([#include <libunwind.h>], [
1221 unw_context_t uc;
1222 unw_cursor_t c;
1223 unw_getcontext (&uc);
1224 unw_init_local (&c, &uc)],
1225 libc_cv_cc_with_libunwind=yes, libc_cv_cc_with_libunwind=no)])
1226 AC_SUBST(libc_cv_cc_with_libunwind)
1227 if test $libc_cv_cc_with_libunwind = yes; then
1228 AC_DEFINE(HAVE_CC_WITH_LIBUNWIND)
1229 fi
1230
0fb7851f
UD
1231 AC_CACHE_CHECK(for -z nodelete option,
1232 libc_cv_z_nodelete, [dnl
1233 cat > conftest.c <<EOF
1234int _start (void) { return 42; }
1235EOF
3217788f
RM
1236 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1237 -shared -o conftest.so conftest.c
35cd3c97 1238 -nostartfiles -nostdlib
c2f55635 1239 -Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD])
0fb7851f
UD
1240 then
1241 libc_cv_z_nodelete=yes
1242 else
1243 libc_cv_z_nodelete=no
1244 fi
1245 rm -f conftest*])
1246 AC_SUBST(libc_cv_z_nodelete)
2f54c82d
UD
1247
1248 AC_CACHE_CHECK(for -z nodlopen option,
1249 libc_cv_z_nodlopen, [dnl
1250 cat > conftest.c <<EOF
1251int _start (void) { return 42; }
1252EOF
3217788f
RM
1253 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1254 -shared -o conftest.so conftest.c
35cd3c97 1255 -nostartfiles -nostdlib
c2f55635 1256 -Wl,--enable-new-dtags,-z,nodlopen 1>&AS_MESSAGE_LOG_FD])
2f54c82d
UD
1257 then
1258 libc_cv_z_nodlopen=yes
1259 else
1260 libc_cv_z_nodlopen=no
1261 fi
1262 rm -f conftest*])
1263 AC_SUBST(libc_cv_z_nodlopen)
5d916713
UD
1264
1265 AC_CACHE_CHECK(for -z initfirst option,
1266 libc_cv_z_initfirst, [dnl
1267 cat > conftest.c <<EOF
1268int _start (void) { return 42; }
1269EOF
3217788f
RM
1270 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1271 -shared -o conftest.so conftest.c
35cd3c97 1272 -nostartfiles -nostdlib
c2f55635 1273 -Wl,--enable-new-dtags,-z,initfirst 1>&AS_MESSAGE_LOG_FD])
5d916713
UD
1274 then
1275 libc_cv_z_initfirst=yes
1276 else
1277 libc_cv_z_initfirst=no
1278 fi
1279 rm -f conftest*])
1280 AC_SUBST(libc_cv_z_initfirst)
639c3248 1281
ed20b3d9
UD
1282 AC_CACHE_CHECK(for -z relro option,
1283 libc_cv_z_relro, [dnl
1284 if AC_TRY_COMMAND([${CC-cc} -v --help 2>&1|grep "z relro" 1>&AS_MESSAGE_LOG_FD])
1285 then
1286 libc_cv_z_relro=yes
1287 else
1288 libc_cv_z_relro=no
1289 fi])
1290 AC_SUBST(libc_cv_z_relro)
cb6ee14a
UD
1291 if test $libc_cv_z_relro = yes; then
1292 AC_DEFINE(HAVE_Z_RELRO)
1293 fi
ed20b3d9 1294
639c3248
UD
1295 AC_CACHE_CHECK(for -Bgroup option,
1296 libc_cv_Bgroup, [dnl
1297 cat > conftest.c <<EOF
1298int _start (void) { return 42; }
1299EOF
3217788f
RM
1300 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1301 -shared -o conftest.so conftest.c
1302 -Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD])
639c3248
UD
1303 then
1304 libc_cv_Bgroup=yes
1305 else
1306 libc_cv_Bgroup=no
1307 fi
1308 rm -f conftest*])
1309 AC_SUBST(libc_cv_Bgroup)
a711b01d 1310
35915ec8
UD
1311 ASFLAGS_config=
1312 AC_CACHE_CHECK(whether --noexecstack is desirable for .S files,
1313 libc_cv_as_noexecstack, [dnl
1314 cat > conftest.c <<EOF
1315void foo (void) { }
1316EOF
1317 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS
1318 -S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \
1319 && grep -q .note.GNU-stack conftest.s \
1320 && AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -Wa,--noexecstack
1321 -c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
1322 then
1323 libc_cv_as_noexecstack=yes
1324 else
1325 libc_cv_as_noexecstack=no
1326 fi
1327 rm -f conftest*])
1328 if test $libc_cv_as_noexecstack = yes; then
1329 ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
1330 fi
1331 AC_SUBST(ASFLAGS_config)
2abf9ff1 1332
a711b01d
UD
1333 AC_CACHE_CHECK(for -z combreloc,
1334 libc_cv_z_combreloc, [dnl
1335 cat > conftest.c <<EOF
d555194c
UD
1336extern int bar (int);
1337extern int mumble;
1338int foo (void) { return bar (mumble); }
a711b01d 1339EOF
3217788f
RM
1340 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1341 -shared -o conftest.so conftest.c
35cd3c97 1342 -nostdlib -nostartfiles
c2f55635 1343 -Wl,-z,combreloc 1>&AS_MESSAGE_LOG_FD])
a711b01d
UD
1344 then
1345dnl The following test is a bit weak. We must use a tool which can test
1346dnl cross-platform since the gcc used can be a cross compiler. Without
1347dnl introducing new options this is not easily doable. Instead use a tool
1348dnl which always is cross-platform: readelf. To detect whether -z combreloc
1349dnl look for a section named .rel.dyn.
fdde8349
UD
1350 if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
1351 libc_cv_z_combreloc=yes
1352 else
1353 libc_cv_z_combreloc=no
a711b01d 1354 fi
fdde8349
UD
1355 else
1356 libc_cv_z_combreloc=no
a711b01d
UD
1357 fi
1358 rm -f conftest*])
fdde8349
UD
1359 if test "$libc_cv_z_combreloc" = yes; then
1360 AC_DEFINE(HAVE_Z_COMBRELOC)
1361 fi
2abf9ff1
RM
1362 AC_SUBST(libc_cv_z_combreloc)
1363
1364 AC_CACHE_CHECK(for -z execstack,
1365 libc_cv_z_execstack, [dnl
1366 cat > conftest.c <<EOF
1367int _start (void) { return 42; }
1368EOF
1369 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1370 -shared -o conftest.so conftest.c
1371 -Wl,-z,execstack -nostdlib
1372 1>&AS_MESSAGE_LOG_FD])
1373 then
1374 libc_cv_z_execstack=yes
1375 else
1376 libc_cv_z_execstack=no
1377 fi
1378 rm -f conftest*])
1379 AC_SUBST(libc_cv_z_execstack)
c9c60884
UD
1380
1381 AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl
1382 cat > conftest.c <<EOF
1383int foo;
49803108 1384main () { return 0;}
c9c60884
UD
1385EOF
1386 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
1387 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
1388 then
1389 libc_cv_fpie=yes
1390 else
1391 libc_cv_fpie=no
1392 fi
1393 rm -f conftest*])
1394
1395 AC_SUBST(libc_cv_fpie)
fd26970f 1396fi
49803108
AJ
1397
1398AC_CACHE_CHECK(for -fno-unit-at-a-time, libc_cv_fno_unit_at_a_time, [dnl
1399cat > conftest.c <<EOF
1400int foo;
1401EOF
1402if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -fno-unit-at-a-time
1403 conftest.c 1>&AS_MESSAGE_LOG_FD])
1404then
1405 libc_cv_fno_unit_at_a_time=yes
1406else
1407 libc_cv_fno_unit_at_a_time=no
1408fi
1409rm -f conftest*])
1410if test $libc_cv_fno_unit_at_a_time = yes; then
1411 fno_unit_at_a_time=-fno-unit-at-a-time
1412fi
1413AC_SUBST(fno_unit_at_a_time)
fd26970f 1414
b8dc6a10
RM
1415if test $elf != yes; then
1416 AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
1417 [AC_TRY_COMPILE(, [asm (".section .init");
84724245 1418 asm (".section .fini");
2293395f 1419 asm ("${libc_cv_dot_text}");],
b8dc6a10
RM
1420 libc_cv_have_initfini=yes,
1421 libc_cv_have_initfini=no)])
1422 AC_SUBST(libc_cv_have_initfini)dnl
1423 if test $libc_cv_have_initfini = yes; then
1424 AC_DEFINE(HAVE_INITFINI)
1425 fi
1426fi
e215c478 1427
e26dd47f
UD
1428if test $elf = yes -a $gnu_ld = yes; then
1429 AC_CACHE_CHECK(whether cc puts quotes around section names,
1430 libc_cv_have_section_quotes,
1431 [cat > conftest.c <<EOF
1432 static const int foo
1433 __attribute__ ((section ("bar"))) = 1;
1434EOF
1435 if ${CC-cc} -S conftest.c -o conftest.s; then
1436 if grep '\.section.*"bar"' conftest.s >/dev/null; then
1437 libc_cv_have_section_quotes=yes
1438 else
1439 libc_cv_have_section_quotes=no
1440 fi
1441 else
1442 libc_cv_have_section_quotes=unknown
1443 fi
1444 rm -f conftest.[cs]
1445 ])
1446 if test $libc_cv_have_section_quotes = yes; then
1447 AC_DEFINE(HAVE_SECTION_QUOTES)
1448 fi
1449fi
1450
9a0a462c
UD
1451dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1452AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
1453[cat > conftest.$ac_ext <<EOF
1454dnl This sometimes fails to find confdefs.h, for some reason.
85dd1003
UD
1455dnl [#]line $LINENO "[$]0"
1456[#]line $LINENO "configure"
9a0a462c
UD
1457#include "confdefs.h"
1458void underscore_test(void) {
1459return; }
1460EOF
1461if AC_TRY_EVAL(ac_compile); then
1462 if grep _underscore_test conftest* >/dev/null; then
1463 ifelse([$1], , :, [rm -f conftest*
1464 $1])
1465 else
1466 ifelse([$2], , , [rm -f conftest*
1467 $2])
1468 fi
1469else
c2f55635
RM
1470 echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
1471 cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
9a0a462c
UD
1472 ifelse([$2], , , [rm -f conftest*
1473 $2])
1474fi
1475rm -f conftest*])
1476
c224a18a
RM
1477if test $elf = yes; then
1478 libc_cv_asm_underscores=no
1479else
9a0a462c
UD
1480 if test $ac_cv_prog_cc_works = yes; then
1481 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1482 [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
1483 libc_cv_asm_underscores=yes,
1484 libc_cv_asm_underscores=no)])
1485 else
1486 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1487 [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
1488 libc_cv_asm_underscores=no)])
1489 fi
c224a18a
RM
1490fi
1491if test $libc_cv_asm_underscores = no; then
1492 AC_DEFINE(NO_UNDERSCORES)
1493fi
1494
1495if test $elf = yes; then
1496 libc_cv_weak_symbols=yes
9a97d1f7
UD
1497fi
1498
1499AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
75d86c1f 1500 [dnl
c224a18a 1501cat > conftest.s <<EOF
2293395f 1502${libc_cv_dot_text}
c224a18a 1503${libc_cv_asm_global_directive} foo
ae1025be 1504foo:
c224a18a
RM
1505.weak foo
1506.weak bar; bar = foo
1507EOF
3217788f 1508if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
9a97d1f7
UD
1509 libc_cv_asm_weak_directive=yes
1510else
1511 libc_cv_asm_weak_directive=no
1512fi
1513rm -f conftest*])
c224a18a 1514
c8cf0b14 1515if test $libc_cv_asm_weak_directive = no; then
c224a18a
RM
1516 AC_CACHE_CHECK(for assembler .weakext directive,
1517 libc_cv_asm_weakext_directive,
1518 [dnl
1519cat > conftest.s <<EOF
2293395f 1520${libc_cv_dot_text}
c224a18a 1521${libc_cv_asm_global_directive} foo
ae1025be 1522foo:
f802accb
UD
1523.weakext bar foo
1524.weakext baz
1525${libc_cv_asm_global_directive} baz
9a97d1f7 1526baz:
c224a18a 1527EOF
3217788f 1528 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
c224a18a
RM
1529 libc_cv_asm_weakext_directive=yes
1530 else
1531 libc_cv_asm_weakext_directive=no
1532 fi
1533 rm -f conftest*])
1534
9a97d1f7 1535fi # no .weak
c224a18a 1536
ffcf9634 1537if test $libc_cv_asm_weak_directive = yes; then
c224a18a 1538 AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
ffcf9634 1539elif test $libc_cv_asm_weakext_directive = yes; then
c224a18a
RM
1540 AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
1541fi
1542
b15cb495 1543dnl The standard hppa assembler uses `;' to start comments and `!'
eacde9d0
UD
1544dnl as a line separator. CRIS uses `;' to start comments and `@' for
1545dnl line separator.
b15cb495 1546case "${host_cpu}-${host_os}" in
eacde9d0
UD
1547 cris*)
1548 libc_cv_asm_line_sep='@'
1549 AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
1550 ;;
b15cb495
UD
1551 hppa*linux*)
1552 AC_CACHE_CHECK(for assembler line separator,
1553 libc_cv_asm_line_sep, [dnl
1554 cat > conftest.s <<EOF
1555 nop ; is_old_puffin
1556EOF
3217788f 1557 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
b15cb495
UD
1558 libc_cv_asm_line_sep='!'
1559 else
1560 if test -z "$enable_hacker_mode"; then
1561 echo "*** You need a newer assembler to compile glibc"
1562 rm -f conftest*
1563 exit 1
1564 fi
1565 libc_cv_asm_line_sep=';'
1566 fi
1567 rm -f conftest*])
1568 AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
1569 ;;
1570esac
1571
50189569
AJ
1572AC_CACHE_CHECK(whether CFI directives are supported, libc_cv_asm_cfi_directives, [dnl
1573cat > conftest.s <<EOF
1574 .text
1575 .type func,@function
1576func:
1577 .cfi_startproc
f212e8dc 1578 .cfi_remember_state
fbd90f6c 1579 .cfi_rel_offset 1, 0
50189569
AJ
1580 .cfi_endproc
1581EOF
1582if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1583 libc_cv_asm_cfi_directives=yes
1584else
1585 libc_cv_asm_cfi_directives=no
1586fi
1587rm -f conftest*])
1588if test $libc_cv_asm_cfi_directives = yes; then
1589 AC_DEFINE(HAVE_ASM_CFI_DIRECTIVES)
bcd5f356 1590fi
50189569 1591
073e82bf
RM
1592AC_CACHE_CHECK(if -g produces usable source locations for assembler-with-cpp,
1593 libc_cv_cpp_asm_debuginfo, [dnl
1594cat > conftest.S <<EOF
1595#include "confdefs.h"
1596
1597/* comment on
1598 two lines */
1599 ${libc_cv_dot_text}
1600 ${libc_cv_asm_global_directive} foo
1601foo:
1602 /* Unfortunately this test only works for a real instruction,
1603 not for any of the machine-independent pseudo-ops.
1604 So we just have to assume everybody has a "nop". */
1605 nop
1606 /* comment */
1607 nop
1608 /* comment */
1609 nop
1610EOF
3217788f 1611if AC_TRY_COMMAND([${CC-cc} $CPPFLAGS $ASFLAGS -g -c conftest.S 1>&AS_MESSAGE_LOG_FD]) &&
073e82bf
RM
1612 ac_pattern='conftest\.S'
1613 AC_TRY_COMMAND([readelf --debug-dump=line conftest.o |
1614 grep $ac_pattern 1>&AS_MESSAGE_LOG_FD]); then
1615 libc_cv_cpp_asm_debuginfo=yes
1616else
1617 libc_cv_cpp_asm_debuginfo=no
1618fi
1619rm -f conftest*])AC_SUBST(libc_cv_cpp_asm_debuginfo)
1620if test $libc_cv_cpp_asm_debuginfo = yes; then
1621 AC_DEFINE(HAVE_CPP_ASM_DEBUGINFO)
1622fi
1623
a641835a
RM
1624AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
1625cat > conftest.c <<\EOF
5f0e6fc7 1626_start () {}
dcf0671d
UD
1627int __eh_pc;
1628__throw () {}
a641835a 1629EOF
dcea62dd 1630dnl No \ in command here because it ends up inside ''.
3217788f 1631if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
dcea62dd 1632 -nostdlib -nostartfiles -Wl,--no-whole-archive
c2f55635 1633 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
a641835a
RM
1634 libc_cv_ld_no_whole_archive=yes
1635else
1636 libc_cv_ld_no_whole_archive=no
1637fi
1638rm -f conftest*])
b17277cf
UD
1639if test $libc_cv_ld_no_whole_archive = yes; then
1640 no_whole_archive=-Wl,--no-whole-archive
1641fi
1642AC_SUBST(no_whole_archive)dnl
a641835a 1643
dff14448 1644AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
b236e99d
UD
1645cat > conftest.c <<\EOF
1646_start () {}
1647int __eh_pc;
1648__throw () {}
1649EOF
1650dnl No \ in command here because it ends up inside ''.
3217788f 1651if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
dff14448 1652 -nostdlib -nostartfiles -fexceptions
c2f55635 1653 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
dff14448 1654 libc_cv_gcc_exceptions=yes
b236e99d 1655else
dff14448 1656 libc_cv_gcc_exceptions=no
b236e99d
UD
1657fi
1658rm -f conftest*])
dff14448
UD
1659if test $libc_cv_gcc_exceptions = yes; then
1660 exceptions=-fexceptions
b17277cf 1661fi
dff14448 1662AC_SUBST(exceptions)dnl
b236e99d 1663
66000494
UD
1664if test "$host_cpu" = powerpc ; then
1665# Check for a bug present in at least versions 2.8.x of GCC
1666# and versions 1.0.x of EGCS.
1667AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
1668AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
1669 libc_cv_c_asmcr0_bug='no',
1670 libc_cv_c_asmcr0_bug='yes')])
1671if test "$libc_cv_c_asmcr0_bug" != 'no'; then
1672 AC_DEFINE(BROKEN_PPC_ASM_CR0)
1673fi
1674fi
1675
650425ce
UD
1676AC_CACHE_CHECK(for DWARF2 unwind info support, libc_cv_gcc_dwarf2_unwind_info,
1677[cat > conftest.c <<EOF
85dd1003 1678#line $LINENO "configure"
2b904739 1679static char *__EH_FRAME_BEGIN__;
650425ce
UD
1680_start ()
1681{
9756dfe1 1682#ifdef CHECK__register_frame
650425ce
UD
1683 __register_frame (__EH_FRAME_BEGIN__);
1684 __deregister_frame (__EH_FRAME_BEGIN__);
9756dfe1
UD
1685#endif
1686#ifdef CHECK__register_frame_info
1687 __register_frame_info (__EH_FRAME_BEGIN__);
1688 __deregister_frame_info (__EH_FRAME_BEGIN__);
1689#endif
650425ce
UD
1690}
1691int __eh_pc;
1692__throw () {}
1693/* FIXME: this is fragile. */
1694malloc () {}
1695strcmp () {}
1696strlen () {}
1697memcpy () {}
1698memset () {}
1699free () {}
1700abort () {}
dfd2257a 1701__bzero () {}
df17727a 1702dl_iterate_phdr () {}
650425ce 1703EOF
3217788f
RM
1704libc_unwind_check="${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame_info \
1705 $LDFLAGS \
42607429
RM
1706 -nostdlib -nostartfiles -o conftest conftest.c \
1707 -lgcc"
1708# Some platforms' specs put -lgcc first. The second one doesn't hurt.
1709if AC_TRY_COMMAND([$libc_unwind_check >&AS_MESSAGE_LOG_FD]) ||
1710 AC_TRY_COMMAND([$libc_unwind_check -lgcc_eh -lgcc >&AS_MESSAGE_LOG_FD])
1711then
cd925327 1712 if $libc_unwind_check -v 2>&1 >/dev/null \
5de90b7c 1713 | grep -- --eh-frame-hdr 2>&1 >/dev/null; then
2b904739
AJ
1714 libc_cv_gcc_dwarf2_unwind_info=no_registry_needed
1715 else
1716 libc_cv_gcc_dwarf2_unwind_info=static
1717 fi
1718else
1719 libc_cv_gcc_dwarf2_unwind_info=no
1720fi
9756dfe1 1721if test $libc_cv_gcc_dwarf2_unwind_info = no; then
3217788f
RM
1722 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame
1723 $LDFLAGS -nostdlib -nostartfiles
c2f55635 1724 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
9756dfe1
UD
1725 libc_cv_gcc_dwarf2_unwind_info=yes
1726 else
1727 libc_cv_gcc_dwarf2_unwind_info=no
1728 fi
1729fi
650425ce 1730rm -f conftest*])
9756dfe1
UD
1731case $libc_cv_gcc_dwarf2_unwind_info in
1732yes)
650425ce 1733 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
9756dfe1
UD
1734 ;;
1735static)
1736 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1737 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO_STATIC)
1738 ;;
1739esac
650425ce 1740
a8eab8b1
UD
1741dnl Check whether compiler understands __builtin_expect.
1742AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
1743[cat > conftest.c <<EOF
85dd1003 1744#line $LINENO "configure"
a8eab8b1
UD
1745int foo (int a)
1746{
1747 a = __builtin_expect (a, 10);
1748 return a == 10 ? 0 : 1;
1749}
1750EOF
1751dnl No \ in command here because it ends up inside ''.
3217788f 1752if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
c2f55635 1753 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
a8eab8b1
UD
1754 libc_cv_gcc_builtin_expect=yes
1755else
1756 libc_cv_gcc_builtin_expect=no
1757fi
1758rm -f conftest*])
1759if test "$libc_cv_gcc_builtin_expect" = yes; then
1760 AC_DEFINE(HAVE_BUILTIN_EXPECT)
1761fi
1762
d555194c
UD
1763AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
1764cat > conftest.c <<\EOF
1765void zero (void *x)
1766{
a52d1562 1767 __builtin_memset (x, 0, 1000);
d555194c
UD
1768}
1769EOF
1770dnl
1771if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
1772then
1773 libc_cv_gcc_builtin_memset=no
1774else
1775 libc_cv_gcc_builtin_memset=yes
1776fi
1777rm -f conftest* ])
1778if test "$libc_cv_gcc_builtin_memset" = yes ; then
1779 AC_DEFINE(HAVE_BUILTIN_MEMSET)
1780fi
1781
85dd1003
UD
1782AC_CACHE_CHECK(for redirection of built-in functions, libc_cv_gcc_builtin_redirection, [dnl
1783cat > conftest.c <<\EOF
1784extern char *strstr (const char *, const char *) __asm ("my_strstr");
1785char *foo (const char *a, const char *b)
1786{
1787 return __builtin_strstr (a, b);
1788}
1789EOF
1790dnl
1791if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null]);
1792then
1793 libc_cv_gcc_builtin_redirection=yes
1794else
1795 libc_cv_gcc_builtin_redirection=no
1796fi
1797rm -f conftest* ])
1798if test "$libc_cv_gcc_builtin_redirection" = yes ; then
1799 AC_DEFINE(HAVE_BUILTIN_REDIRECTION)
1800fi
1801
3d558f4e
UD
1802dnl Check whether the compiler supports subtraction of local labels.
1803AC_CACHE_CHECK(for local label subtraction, libc_cv_gcc_subtract_local_labels,
1804[cat > conftest.c <<EOF
1805changequote(,)dnl
85dd1003 1806#line $LINENO "configure"
3d558f4e
UD
1807int foo (int a)
1808{
1809 static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
1810 void *p = &&l1 + ar[a];
1811 goto *p;
1812 l1:
1813 return 1;
1814 l2:
1815 return 2;
1816}
1817changequote([,])dnl
1818EOF
1819dnl No \ in command here because it ends up inside ''.
3217788f 1820if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
c2f55635 1821 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
3d558f4e
UD
1822 libc_cv_gcc_subtract_local_labels=yes
1823else
1824 libc_cv_gcc_subtract_local_labels=no
1825fi
1826rm -f conftest*])
1827if test "$libc_cv_gcc_subtract_local_labels" = yes; then
1828 AC_DEFINE(HAVE_SUBTRACT_LOCAL_LABELS)
1829fi
1830
739d440d 1831dnl Check whether the compiler supports the __thread keyword.
5b8f26b4
RM
1832if test "x$use__thread" != xno; then
1833 AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
1834 [cat > conftest.c <<\EOF
fbb18522
RM
1835__thread int a = 42;
1836EOF
3217788f 1837 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c >&AS_MESSAGE_LOG_FD]); then
5b8f26b4
RM
1838 libc_cv_gcc___thread=yes
1839 else
1840 libc_cv_gcc___thread=no
1841 fi
1842 rm -f conftest*])
1843 if test "$libc_cv_gcc___thread" = yes; then
1844 AC_DEFINE(HAVE___THREAD)
1845 fi
739d440d
UD
1846else
1847 libc_cv_gcc___thread=no
1848fi
739d440d 1849
9b21e6bc
RM
1850if test "$libc_cv_gcc___thread" = yes; then
1851 dnl Check whether the compiler supports the tls_model attribute.
1852 AC_CACHE_CHECK([for tls_model attribute], libc_cv_gcc_tls_model_attr, [dnl
1853 cat > conftest.c <<\EOF
1854extern __thread int a __attribute__((tls_model ("initial-exec")));
1855EOF
3217788f 1856 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -Werror conftest.c >&AS_MESSAGE_LOG_FD]); then
9b21e6bc
RM
1857 libc_cv_gcc_tls_model_attr=yes
1858 else
1859 libc_cv_gcc_tls_model_attr=no
1860 fi
1861 rm -f conftest*])
1862 if test "$libc_cv_gcc_tls_model_attr" = yes; then
1863 AC_DEFINE(HAVE_TLS_MODEL_ATTRIBUTE)
1864 fi
1865fi
739d440d 1866
c8f3e6db
UD
1867dnl Check whether we have the gd library available.
1868AC_MSG_CHECKING(for libgd)
6dab8688
UD
1869if test "$with_gd" != "no"; then
1870 old_CFLAGS="$CFLAGS"
1871 CFLAGS="$CFLAGS $libgd_include"
1872 old_LDFLAGS="$LDFLAGS"
1873 LDFLAGS="$LDFLAGS $libgd_ldflags"
1874 old_LIBS="$LIBS"
1875 LIBS="$LIBS -lgd -lpng -lz -lm"
1876 AC_TRY_LINK([#include <gd.h>], [gdImagePng (0, 0)], LIBGD=yes, LIBGD=no)
1877 CFLAGS="$old_CFLAGS"
1878 LDFLAGS="$old_LDFLAGS"
1879 LIBS="$old_LIBS"
1880else
1881 LIBGD=no
1882fi
c8f3e6db
UD
1883AC_MSG_RESULT($LIBGD)
1884AC_SUBST(LIBGD)
3d558f4e 1885
8ed1e7d5
GK
1886dnl check for the size of 'long double'.
1887AC_CHECK_SIZEOF(long double, 0)
1888sizeof_long_double=$ac_cv_sizeof_long_double
1889AC_SUBST(sizeof_long_double)
1890
c224a18a
RM
1891### End of automated tests.
1892### Now run sysdeps configure fragments.
1893
cb343854 1894# They also can set these variables.
591e1ffb 1895use_ldconfig=no
cb343854 1896ldd_rewrite_script=no
77259608 1897libc_cv_sysconfdir=$sysconfdir
74bd2300 1898libc_cv_gcc_unwind_find_fde=no
cb343854 1899
28f540f4
RM
1900# Iterate over all the sysdep directories we will use, running their
1901# configure fragments, and looking for a uname implementation.
1902uname=
1903for dir in $sysnames; do
57ba7bb4
UD
1904 case $dir in
1905 /*) dest=$dir ;;
1906 *) dest=$srcdir/$dir ;;
1907 esac
1908 if test -r $dest/configure; then
d1149385 1909 AC_MSG_RESULT(running configure fragment for $dir)
57ba7bb4 1910 . $dest/configure
28f540f4 1911 fi
4ca84cff 1912[
28f540f4 1913 if test -z "$uname"; then
e7f1f046
UD
1914 if test -r $dest/uname.c ||
1915 test -r $dest/uname.S ||
1916 { test -r $dest/syscalls.list &&
1917 grep '^uname[ ]' $dest/syscalls.list >/dev/null; }; then
b86199fb 1918 uname=$dir
4ca84cff 1919 fi
28f540f4 1920 fi
4ca84cff 1921]dnl
28f540f4
RM
1922done
1923
74bd2300
UD
1924if test x$libc_cv_gcc_unwind_find_fde = xyes; then
1925 AC_DEFINE(EXPORT_UNWIND_FIND_FDE)
1926fi
1927AC_SUBST(libc_cv_gcc_unwind_find_fde)
1928
28f540f4
RM
1929# If we will use the generic uname implementation, we must figure out what
1930# it will say by examining the system, and write the results in config-name.h.
e7f1f046 1931if test "$uname" = "sysdeps/generic"; then
28f540f4
RM
1932
1933changequote(,)dnl
1934 uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
1935changequote([,])dnl
1936 if test $uname_sysname != $config_os; then
1937 config_release=`echo $config_os | sed s/$uname_sysname//`
1938 fi
1939dnl
1940AC_DEFUN(LIBC_KERNEL_ID, [dnl
1941 if test -r /vmunix; then
1942 kernel_id=`strings /vmunix | grep UNIX`
1943 elif test -r /dynix; then
1944 kernel_id=`strings /dynix | grep DYNIX`
1945 else
1946 kernel_id=
1947 fi
1948])dnl
1949
b8dc6a10 1950 AC_CACHE_CHECK(OS release for uname, libc_cv_uname_release, [dnl
3a12e572 1951LIBC_KERNEL_ID
28f540f4
RM
1952changequote(,)dnl
1953 kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
1954changequote([,])dnl
1955 if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
1956 != x$config_release; then
1957 # The configuration release is a substring of the kernel release.
1958 libc_cv_uname_release=$kernel_release
1959 elif test x$config_release != x; then
1960 libc_cv_uname_release=$config_release
1961 elif test x$kernel_release != x; then
1962 libc_cv_uname_release=$kernel_release
1963 else
1964 libc_cv_uname_release=unknown
1965 fi])
28f540f4
RM
1966 uname_release="$libc_cv_uname_release"
1967
b8dc6a10 1968 AC_CACHE_CHECK(OS version for uname, libc_cv_uname_version, [dnl
3a12e572 1969LIBC_KERNEL_ID
28f540f4
RM
1970changequote(,)dnl
1971 kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
1972changequote([,])dnl
1973 if test -n "$kernel_version"; then
1974 libc_cv_uname_version="$kernel_version"
1975 else
1976 libc_cv_uname_version=unknown
1977 fi])
28f540f4
RM
1978 uname_version="$libc_cv_uname_version"
1979
1980AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl
1981 config_uname=config-name.h:config-name.in
1982else
1983 # For non-generic uname, we don't need to create config-name.h at all.
1984 config_uname=
1985fi
1986
a8c01776
RM
1987dnl This is tested by existing code and it's simpler to avoid changing it.
1988AC_DEFINE(USE_IN_LIBIO)
96aa2d94 1989
a53bad16
UD
1990# Test for old glibc 2.0.x headers so that they can be removed properly
1991# Search only in includedir.
1992AC_MSG_CHECKING(for old glibc 2.0.x headers)
350eb336 1993if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
a53bad16
UD
1994then
1995 old_glibc_headers=yes
1996else
1997 old_glibc_headers=no
1998fi
1999AC_MSG_RESULT($old_glibc_headers)
2000if test ${old_glibc_headers} = yes; then
2001 AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
2002 AC_MSG_WARN(*** be removed.)
2003fi
b195f6bc 2004AC_SUBST(old_glibc_headers)
26b4d766 2005
84384f5b 2006AC_SUBST(libc_cv_slibdir)
a1d84548 2007AC_SUBST(libc_cv_localedir)
77259608 2008AC_SUBST(libc_cv_sysconfdir)
1ef32c3d 2009AC_SUBST(libc_cv_rootsbindir)
bcd5f356 2010AC_SUBST(libc_cv_forced_unwind)
1ef32c3d 2011
591e1ffb 2012AC_SUBST(use_ldconfig)
cb343854 2013AC_SUBST(ldd_rewrite_script)
84384f5b 2014
5af3245a 2015AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) AC_SUBST(xcoff)
28f540f4
RM
2016if test $gnu_ld = yes; then
2017 AC_DEFINE(HAVE_GNU_LD)
2018fi
2019if test $gnu_as = yes; then
2020 AC_DEFINE(HAVE_GNU_AS)
2021fi
2022if test $elf = yes; then
2023 AC_DEFINE(HAVE_ELF)
2024fi
5af3245a
UD
2025if test $xcoff = yes; then
2026 AC_DEFINE(HAVE_XCOFF)
2027fi
28f540f4 2028
650425ce 2029AC_SUBST(static)
ff3d7ed3
RM
2030AC_SUBST(shared)
2031if test $shared = default; then
2032 if test $gnu_ld = yes; then
2033 shared=$elf
f65fd747
UD
2034 else
2035 # For now we do not assume shared libs are available. In future more
2036 # tests might become available.
2037 shared=no
ff3d7ed3
RM
2038 fi
2039fi
cc3fa755
UD
2040
2041AC_CACHE_CHECK([whether -fPIC is default], pic_default,
2042[pic_default=yes
2043cat > conftest.c <<EOF
9756dfe1 2044#if defined __PIC__ || defined __pic__ || defined PIC || defined pic
cc3fa755
UD
2045# error PIC is default.
2046#endif
2047EOF
0b4ee387 2048if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
cc3fa755
UD
2049 pic_default=no
2050fi
2051rm -f conftest.*])
2052AC_SUBST(pic_default)
2053
ff3d7ed3
RM
2054AC_SUBST(profile)
2055AC_SUBST(omitfp)
5a97622d 2056AC_SUBST(bounded)
5107cf1d 2057AC_SUBST(static_nss)
5ae3e846 2058AC_SUBST(nopic_initfini)
ff3d7ed3 2059
edf5b2d7
UD
2060AC_SUBST(DEFINES)
2061
7cabd57c
UD
2062case "$add_ons" in
2063 *door*) linux_doors=yes ;;
2064 *) linux_doors=no ;;
2065esac
2066AC_SUBST(linux_doors)
2067
61c83c3f
RM
2068dnl See sysdeps/mach/configure.in for this variable.
2069AC_SUBST(mach_interface_list)
2070
28f540f4
RM
2071if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
2072 config_makefile=
2073else
2074 config_makefile=Makefile
2075fi
2076
ee74a442
UD
2077VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
2078RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
df4ef2ab 2079AC_SUBST(VERSION)
ee74a442 2080AC_SUBST(RELEASE)
df4ef2ab 2081
c118d634
RM
2082AC_CONFIG_FILES([config.make glibcbug ${config_makefile} ${config_uname}])
2083AC_CONFIG_COMMANDS([default],[[
737547be
UD
2084case $CONFIG_FILES in *config.make*)
2085echo "$config_vars" >> config.make;;
2086esac
c118d634
RM
2087test -d bits || mkdir bits]],[[config_vars='$config_vars']])
2088AC_OUTPUT