* configure.in: Add mips64* support. * configure: Rebuilt. * sysdeps/mips/bits/endian...
[glibc.git] / configure.in
blob9a08b6c32ca593bb29bd2ef9c8a1fcef1909de19
1 dnl Process this file with autoconf to produce a configure script.
2 AC_REVISION([$CVSid$])
3 AC_PREREQ(2.53)dnl              dnl Minimum Autoconf version required.
4 AC_INIT([GNU C Library], [(see version.h)], [glibc])
5 AC_CONFIG_SRCDIR([include/features.h])
6 AC_CONFIG_HEADERS([config.h])
7 AC_CONFIG_AUX_DIR([scripts])
9 if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then
10   AC_MSG_ERROR([you must configure in a separate build directory])
13 # This will get text that should go into config.make.
14 config_vars=
16 # Check for a --with-gmp argument and set gmp-srcdir in config.make.
17 AC_ARG_WITH([gmp],
18             AC_HELP_STRING([--with-gmp=DIRECTORY],
19                            [find GMP source code in DIRECTORY (not needed)]),
20             [
21 case "$with_gmp" in
22 yes) AC_MSG_ERROR([--with-gmp requires an argument; use --with-gmp=DIRECTORY]) ;;
23 ''|no) ;;
24 *) config_vars="$config_vars
25 gmp-srcdir = $withval" ;;
26 esac
28 # Check for a --with-gd argument and set libgd-LDFLAGS in config.make.
29 AC_ARG_WITH([gd],
30             AC_HELP_STRING([--with-gd=DIR],
31                            [find libgd include dir and library with prefix DIR]),
32             [dnl
33 case "$with_gd" in
34 yes|''|no) ;;
35 *) libgd_include="-I$withval/include"
36    libgd_ldflags="-L$withval/lib" ;;
37 esac
39 AC_ARG_WITH([gd-include],
40             AC_HELP_STRING([--with-gd-include=DIR],
41                            [find libgd include files in DIR]),
42             [dnl
43 case "$with_gd_include" in
44 ''|no) ;;
45 *) libgd_include="-I$withval" ;;
46 esac
48 AC_ARG_WITH([gd-lib],
49             AC_HELP_STRING([--with-gd-lib=DIR],
50                            [find libgd library files in DIR]),
51             [dnl
52 case "$with_gd_lib" in
53 ''|no) ;;
54 *) libgd_ldflags="-L$withval" ;;
55 esac
58 if test -n "$libgd_include"; then
59   config_vars="$config_vars
60 CFLAGS-memusagestat.c = $libgd_include"
62 if test -n "$libgd_ldflags"; then
63   config_vars="$config_vars
64 libgd-LDFLAGS = $libgd_ldflags"
67 dnl Arguments to specify presence of other packages/features.
68 AC_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])
73 AC_SUBST(with_fp)
74 AC_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=''])
79 AC_ARG_WITH([elf],
80             AC_HELP_STRING([--with-elf],
81                            [if using the ELF object format]),
82             [elf=$withval],
83             [elf=no])
84 AC_ARG_WITH([xcoff],
85             AC_HELP_STRING([--with-xcoff],
86                            [if using the XCOFF object format]),
87             [xcoff=$withval],
88             [xcoff=no])
89 AC_ARG_WITH([cvs],
90             AC_HELP_STRING([--without-cvs],
91                            [if CVS should not be used]),
92             [with_cvs=$withval],
93             [with_cvs=yes])
94 if 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
100 AC_SUBST(with_cvs)
102 AC_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=''])
110 AC_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])
116 AC_SUBST(enable_check_abi)
117 AC_ARG_ENABLE([check-abi],
118               AC_HELP_STRING([--enable-check-abi],
119                              [do "make check-abi" in "make check" (no/warn/yes)
120                               @<:@default=no@:>@]),
121               [enable_check_abi=$enableval],
122               [enable_check_abi=no])
124 dnl Arguments to enable or disable building the static, shared, profiled,
125 dnl and -fomit-frame-pointer libraries.
126 dnl I've disabled this for now since we cannot build glibc without static
127 dnl libraries built in the moment.
128 dnl AC_ARG_ENABLE([static],
129 dnl               AC_HELP_STRING([--enable-static],
130 dnl                              [build static library @<:@default=yes@:>@]),
131 dnl               [static=$enableval],
132 dnl               [static=yes])
133 static=yes
134 AC_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])
139 AC_ARG_ENABLE([profile],
140               AC_HELP_STRING([--enable-profile],
141                              [build profiled library @<:@default=yes@:>@]),
142               [profile=$enableval],
143               [profile=yes])
144 AC_ARG_ENABLE([omitfp],
145               AC_HELP_STRING([--enable-omitfp],
146                              [build undebuggable optimized library @<:@default=no@:>@]),
147               [omitfp=$enableval],
148               [omitfp=no])
149 AC_ARG_ENABLE([bounded],
150               AC_HELP_STRING([--enable-bounded],
151                              [build with runtime bounds checking @<:@default=no@:>@]),
152               [bounded=$enableval],
153               [bounded=no])
154 AC_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])
160 AC_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])
165 if test "$oldest_abi" = yes || test "$oldest_abi" = no; then
166   oldest_abi=default
167 else
168   AC_DEFINE_UNQUOTED(GLIBC_OLDEST_ABI, "$oldest_abi")
170 AC_SUBST(oldest_abi)
172 dnl Generic infrastructure for drop-in additions to libc.
173 AC_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]),
176   [case "$enableval" in
177     yes) add_ons=`cd $srcdir && echo */configure | sed -e 's!/configure!!g'`
178          test "$add_ons" = "*" && add_ons= ;;
179     *) add_ons=`echo "$enableval" | sed 's/,/ /g'`;;
180    esac],
181   [add_ons=])
183 dnl Let the user avoid using TLS.  Don't know why but...
184 dnl XXX For now we disable support by default.
185 AC_ARG_WITH([tls],
186             AC_HELP_STRING([--with-tls],
187                            [enable support for TLS]),
188             [usetls=$withval],
189             [usetls=no])
191 AC_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])
197 AC_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])
202 if test "x$hidden" = xno; then
203   AC_DEFINE(NO_HIDDEN)
206 AC_CONFIG_SUBDIRS([ ])dnl Bonehead new Autoconf whines if we do it cleanly.
207 add_ons_pfx=
208 if test x"$add_ons" != x; then
209   for f in $add_ons; do
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
225     # Test whether such a subdir really exists.
226     if test -d $srcdir/$f; then
227       add_ons_pfx="$add_ons_pfx $f/"
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"
232     else
233       AC_MSG_ERROR(add-on directory \"$f\" does not exist)
234     fi
235   done
238 dnl On some platforms we cannot use dynamic loading.  We must provide
239 dnl static NSS modules.
240 AC_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])
245 dnl Enable static NSS also if we build no shared objects.
246 if test x"$static_nss" = xyes || test x"$shared" = xno; then
247   static_nss=yes
248   AC_DEFINE(DO_STATIC_NSS)
251 AC_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])
256 AC_SUBST(force_install)
258 dnl On some platforms we allow dropping compatibility with all kernel
259 dnl versions.
260 AC_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               [])
265 dnl Prevent unreasonable values.
266 if test "$minimum_kernel" = yes || test "$minimum_kernel" = no; then
267   # Better nothing than this.
268   minimum_kernel=""
269 else
270   if test "$minimum_kernel" = current; then
271     minimum_kernel=`uname -r 2>/dev/null` || minimum_kernel=
272   fi
275 dnl For the development we sometimes want gcc to issue even more warnings.
276 dnl This is not the default since many of the extra warnings are not
277 dnl appropriate.
278 AC_ARG_ENABLE([all-warnings],
279               AC_HELP_STRING([--enable-all-warnings],
280                              [enable all useful warnings gcc can issue]),
281               [all_warnings=$enableval],
282               [])
283 AC_SUBST(all_warnings)
285 AC_CANONICAL_HOST
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.
292 case "$host_os" in
293 linux*)
294   ;;
295 gnu*)
296   host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
297   ;;
298 esac
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.
303 config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
305 # Don't allow vendor == "unknown"
306 test "$config_vendor" = unknown && config_vendor=
307 config_os="`echo $config_os | sed 's/^unknown-//'`"
309 # Some configurations imply other options.
310 case "$host_os" in
311 gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
312   # These systems always use GNU tools.
313   gnu_ld=yes gnu_as=yes ;;
314 esac
315 case "$host_os" in
316 # i586-linuxaout is mangled into i586-pc-linux-gnuaout
317 linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
318   ;;
319 gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
320   # These systems (almost) always use the ELF format.
321   elf=yes
322   ;;
323 aix*)
324   # These systems are always xcoff
325   xcoff=yes
326   elf=no
327   ;;
328 esac
330 machine=$config_machine
331 vendor=$config_vendor
332 os=$config_os
334 # config.guess on some IBM machines says `rs6000' instead of `powerpc'.
335 # Unify this here.
336 if test "$machine" = rs6000; then
337   machine="powerpc"
340 # Braindead PowerPC box with absolutely no FPU.
341 case "$machine-$host_os" in
342   powerpc*-*soft)
343     with_fp=no
344     ;;
345 esac
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
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.
355 if test -z "$enable_hacker_mode"; then
356   case "$machine-$host_os" in
357   *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
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
371 dnl We need to use [ and ] for other purposes for a while now.
372 changequote(,)dnl
373 # Expand the configuration machine name into a subdirectory by architecture
374 # type and particular chip.
375 case "$machine" in
376 a29k | am29000) base_machine=a29k machine=a29k ;;
377 alpha*)         base_machine=alpha machine=alpha/$machine ;;
378 arm*)           base_machine=arm machine=arm/arm32/$machine ;;
379 c3[012])        base_machine=cx0 machine=cx0/c30 ;;
380 c4[04])         base_machine=cx0 machine=cx0/c40 ;;
381 hppa*64*)       base_machine=hppa machine=hppa/hppa64 ;;
382 hppa*)          base_machine=hppa machine=hppa/hppa1.1 ;;
383 i[3456]86)      base_machine=i386 machine=i386/$machine ;;
384 ia64)           base_machine=ia64 machine=ia64 ;;
385 m680?0)         base_machine=m68k machine=m68k/$machine ;;
386 m68k)           base_machine=m68k machine=m68k/m68020 ;;
387 m88???)         base_machine=m88k machine=m88k/$machine ;;
388 m88k)           base_machine=m88k machine=m88k/m88100 ;;
389 mips64*)        base_machine=mips64
390                 case "$CC $CPPFLAGS $CFLAGS " in
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                 ;;
415 mips*)          base_machine=mips machine=mips/mips32/$machine ;;
416 powerpc)        base_machine=powerpc machine=powerpc/powerpc32 ;;
417 powerpc64)      base_machine=powerpc machine=powerpc/powerpc64 ;;
418 s390)           base_machine=s390 machine=s390/s390-32 ;;
419 s390x)          base_machine=s390 machine=s390/s390-64 ;;
420 sh3*)           base_machine=sh machine=sh/sh3 ;;
421 sh4*)           base_machine=sh machine=sh/sh4 ;;
422 sparc | sparcv[67])
423                 base_machine=sparc machine=sparc/sparc32 ;;
424 sparcv8 | supersparc | hypersparc)
425                 base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
426 sparcv8plus | sparcv8plusa | sparcv9)
427                 base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
428 sparcv8plusb | sparcv9b)
429                 base_machine=sparc machine=sparc/sparc32/sparcv9b ;;
430 sparc64 | ultrasparc)
431                 base_machine=sparc machine=sparc/sparc64 ;;
432 sparc64b | ultrasparc3)
433                 base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
434 thumb*)         base_machine=thumb machine=arm/thumb/$machine ;;
435 *)              base_machine=$machine ;;
436 esac
437 changequote([,])dnl
438 AC_SUBST(base_machine)
440 if test "$base_machine" = "i386"; then
441   AC_DEFINE(USE_REGPARMS)
444 # Compute the list of sysdep directories for this configuration.
445 # This can take a while to compute.
446 sysdep_dir=$srcdir/sysdeps
447 AC_MSG_CHECKING(sysdep dirs)
448 dnl We need to use [ and ] for other purposes for a while now.
449 changequote(,)dnl
450 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
451 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
453 case "$os" in
454 gnu*)
455   base_os=mach/hurd ;;
456 netbsd* | 386bsd* | freebsd* | bsdi*)
457   base_os=unix/bsd/bsd4.4 ;;
458 osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
459   base_os=unix/bsd ;;
460 sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
461   base_os=unix/sysv ;;
462 irix6*)
463   base_os=unix/sysv/irix6/$os ;;
464 solaris[2-9]*)
465   base_os=unix/sysv/sysv4 ;;
466 hpux*)
467   base_os=unix/sysv/hpux/$os ;;
468 aix4.3*)
469   base_os=unix/sysv/aix/aix4.3 ;;
470 none)
471   base_os=standalone ;;
473   base_os='' ;;
474 esac
476 # For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
477 tail=$os
478 ostry=$os
479 while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
480   ostry="$ostry /$o"
481   tail=$o
482 done
483 o=`echo $tail | sed 's/[0-9]*$//'`
484 if test $o != $tail; then
485   ostry="$ostry /$o"
487 # For linux-gnu, try linux-gnu, then linux.
488 o=`echo $tail | sed 's/-.*$//'`
489 if test $o != $tail; then
490   ostry="$ostry /$o"
493 # For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
494 base=
495 tail=$base_os
496 while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
497   set $b
498   base="$base /$1"
499   tail="$2"
500 done
502 # For sparc/sparc32, try sparc/sparc32 and then sparc.
503 mach=
504 tail=$machine
505 while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
506   set $m
507   # Prepend the machine's FPU directory unless --without-fp.
508   if test "$with_fp" = yes; then
509     mach="$mach /$1/fpu"
510   else
511     mach="$mach /$1/nofpu"
512   fi
513   mach="$mach /$1"
514   tail="$2"
515 done
517 dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
518 changequote([,])dnl
520 # Find what sysdep directories exist.
521 sysnames=
522 IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
523 for d in $add_ons_pfx ''; do
524   for b in $base ''; do
525     for m0 in $mach ''; do
526       for v in /$vendor ''; do
527         test "$v" = / && continue
528         for o in /$ostry ''; do
529           test "$o" = / && continue
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
535               if test -d $srcdir/$try; then
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
542         done
543       done
544     done
545   done
546 done
547 IFS="$ac_save_ifs"
549 if test -z "$os_used" && test "$os" != none; then
550   AC_MSG_ERROR(Operating system $os is not supported.)
552 if test -z "$machine_used" && test "$machine" != none; then
553   AC_MSG_ERROR(The $machine is not supported.)
556 # We have now validated the configuration.
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?).
564 if test "$elf" = yes; then
565   elf_dirs=
566   for d in $add_ons_pfx ''; do
567     for m in $mach; do
568       if test -d $srcdir/${d}sysdeps$m/elf; then
569         elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
570       fi
571     done
572   done
573   sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
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).
579 set $sysnames
580 names=
581 while test $# -gt 0; do
582   name=$1
583   shift
585   case " $names " in *" $name "*)
586     # Already in the list.
587     continue
588   esac
590   # Report each name as we discover it, so there is no long pause in output.
591   echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
593   name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
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
602   if test -f $xsrcdir$name/Implies; then
603     # Collect more names from the `Implies' file (removing comments).
604     implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
605     implied=
606     for x in $implied_candidate; do
607       found=no
608       if test -d $xsrcdir$name_base/$x; then
609         implied="$implied $name_base/$x";
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
627         AC_MSG_WARN($name/Implies specifies nonexistent $x)
628       fi
629     done
630   else
631     implied=
632   fi
634   # Add NAME to the list of names.
635   names="$names $name"
637   # Find the parent of NAME, using the empty string if it has none.
638 changequote(,)dnl
639   parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
640 changequote([,])dnl
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
651 done
653 # Add the default directories.
654 default_sysnames=sysdeps/generic
655 if test "$elf" = yes; then
656   default_sysnames="sysdeps/generic/elf $default_sysnames"
658 sysnames="$names $default_sysnames"
659 AC_SUBST(sysnames)
660 # The other names were emitted during the scan.
661 AC_MSG_RESULT($default_sysnames)
664 ### Locate tools.
666 AC_PROG_INSTALL
667 if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
668   # The makefiles need to use a different form to find it in $srcdir.
669   INSTALL='\$(..)./scripts/install-sh -c'
671 AC_PROG_LN_S
673 AC_PROG_CC
674 if test $host != $build; then
675   AC_CHECK_PROGS(BUILD_CC, gcc cc)
677 AC_SUBST(cross_compiling)
678 AC_PROG_CPP
679 LIBC_PROG_BINUTILS
680 AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
682 # Accept binutils 2.13 or newer.
683 AC_CHECK_PROG_VER(AS, $AS, --version,
684                   [GNU assembler.* \([0-9]*\.[0-9.]*\)],
685                   [2.1[3-9]*], AS=: critic_missing=t)
686 AC_CHECK_PROG_VER(LD, $LD, --version,
687                   [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
688                   [2.1[3-9]*], LD=: critic_missing=t)
690 # We need the physical current working directory.  We cannot use the
691 # "pwd -P" shell builtin since that's not portable.  Instead we try to
692 # find a pwd binary.  Note that assigning to the PWD environment
693 # variable might have some interesting side effects, so we don't do
694 # that.
695 AC_PATH_PROG(PWD_P, pwd, no)
696 if test "$PWD_P" = no; then
697   AC_MSG_ERROR(*** A pwd binary could not be found.)
700 # These programs are version sensitive.
701 AC_CHECK_TOOL_PREFIX
702 AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
703   [version \([egcygnustpi-]*[0-9.]*\)], [3.[2-9]*],
704   critic_missing="$critic_missing gcc")
705 AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
706   [GNU Make[^0-9]*\([0-9][0-9.]*\)],
707   [3.79* | 3.[89]*], critic_missing="$critic_missing make")
709 AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
710   [GNU gettext.* \([0-9]*\.[0-9.]*\)],
711   [0.10.3[6-9]* | 0.10.[4-9][0-9]* | 0.1[1-9]* | 0.[2-9][0-9]* | [1-9].*],
712   MSGFMT=: aux_missing="$aux_missing msgfmt")
713 AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
714   [GNU texinfo.* \([0-9][0-9.]*\)],
715   [4.*],
716   MAKEINFO=: aux_missing="$aux_missing makeinfo")
717 AC_CHECK_PROG_VER(SED, sed, --version,
718   [GNU sed version \([0-9]*\.[0-9.]*\)],
719   [3.0[2-9]*|3.[1-9]*|[4-9]*],
720   SED=: aux_missing="$aux_missing sed")
722 if test "x$with_cvs" != xyes; then
723   AC_CHECK_PROGS(AUTOCONF, autoconf, no)
724   case "x$AUTOCONF" in
725   xno|x|x:) AUTOCONF=no ;;
726   *)
727     AC_CACHE_CHECK(dnl
728 whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works, libc_cv_autoconf_works, [dnl
729     if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then
730       libc_cv_autoconf_works=yes
731     else
732       libc_cv_autoconf_works=no
733     fi])
734     test $libc_cv_autoconf_works = yes || AUTOCONF=no
735     ;;
736   esac
737   test "x$AUTOCONF" != xno || aux_missing="$aux_missing autoconf"
740 test -n "$critic_missing" && AC_MSG_ERROR([
741 *** These critical programs are missing or too old:$critic_missing
742 *** Check the INSTALL file for required versions.])
744 test -n "$aux_missing" && AC_MSG_WARN([
745 *** These auxiliary programs are missing or incompatible versions:$aux_missing
746 *** some features will be disabled.
747 *** Check the INSTALL file for required versions.])
749 # glibcbug.in wants to know the compiler version.
750 CCVERSION=`$CC -v 2>&1 | sed -n 's/gcc version //p'`
751 AC_SUBST(CCVERSION)
753 # if using special system headers, find out the compiler's sekrit
754 # header directory and add that to the list.  NOTE: Only does the right
755 # thing on a system that doesn't need fixincludes.  (Not presently a problem.)
756 if test -n "$sysheaders"; then
757   ccheaders=`$CC -print-file-name=include`
758   SYSINCLUDES="-nostdinc -isystem $ccheaders -isystem $sysheaders"
760 AC_SUBST(SYSINCLUDES)
762 # check if ranlib is necessary
763 AC_CACHE_CHECK(whether ranlib is necessary, libc_cv_ranlib_necessary, [dnl
764 cat > conftest.c <<EOF
765 int a;
766 char b;
767 void c(void) {}
769 $CC $CFLAGS -c conftest.c
770 $AR cr conftest.a conftest.o
771 cp conftest.a conftest2.a
772 $RANLIB conftest.a
773 if cmp -s conftest.a conftest2.a; then
774   libc_cv_ranlib_necessary=no
775 else
776   libc_cv_ranlib_necessary=yes
778 rm -rf conftest*])
779 if test "$libc_cv_ranlib_necessary" = no; then
780  RANLIB=:
783 # Test if LD_LIBRARY_PATH contains the notation for the current directory
784 # since this would lead to problems installing/building glibc.
785 # LD_LIBRARY_PATH contains the current directory if one of the following
786 # is true:
787 # - one of the terminals (":" and ";") is the first or last sign
788 # - two terminals occur directly after each other
789 # - the path contains an element with a dot in it
790 AC_MSG_CHECKING(LD_LIBRARY_PATH variable)
791 changequote(,)dnl
792 case ${LD_LIBRARY_PATH} in
793   [:\;]* | *[:\;] | *[:\;][:\;]* |  *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
794     ld_library_path_setting="contains current directory"
795     ;;
796   *)
797     ld_library_path_setting="ok"
798     ;;
799 esac
800 changequote([,])dnl
801 AC_MSG_RESULT($ld_library_path_setting)
802 if test "$ld_library_path_setting" != "ok"; then
803 AC_MSG_ERROR([
804 *** LD_LIBRARY_PATH shouldn't contain the current directory when
805 *** building glibc. Please change the environment variable
806 *** and run configure again.])
809 AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl
810 if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
811   libc_cv_gcc_static_libgcc=
812 else
813   libc_cv_gcc_static_libgcc=-static-libgcc
814 fi])
815 AC_SUBST(libc_cv_gcc_static_libgcc)
817 AC_PATH_PROG(BASH, bash, no)
818 if test "$BASH" != no &&
819    $BASH -c 'test "$BASH_VERSINFO" \
820              && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then
821   libc_cv_have_bash2=yes
822 else
823   libc_cv_have_bash2=no
825 AC_SUBST(libc_cv_have_bash2)
827 dnl We need a ksh compatible shell for tzselect.
828 if test "$BASH" = no; then
829   AC_PATH_PROG(KSH, ksh, no)
830   if test "$KSH" = no; then
831     libc_cv_have_ksh=no
832   else
833     libc_cv_have_ksh=yes
834   fi
835 else
836   KSH="$BASH"
837   AC_SUBST(KSH)
838   libc_cv_have_ksh=yes
840 AC_SUBST(libc_cv_have_ksh)
842 AC_PROG_AWK
843 AC_PATH_PROG(PERL, perl, no)
844 if test "$PERL" != no &&
845    (eval `$PERL -V:apiversion`; test `expr "$apiversion" \< 5` -ne 0); then
846   PERL=no
848 AC_PATH_PROG(INSTALL_INFO, install-info, no,
849              $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
850 if test "$INSTALL_INFO" != "no"; then
851 AC_CACHE_CHECK(for old Debian install-info, libc_cv_old_debian_install_info,
852  [mkdir conftest.d
853   # There is a hard ^_ on the next line.  I am open to better ideas.
854   (echo '\x1f'
855   echo 'File: dir       Node: Top       This is the top of the INFO tree'
856   echo '* Menu:') >conftest.d/dir
857   (echo 'INFO-DIR-SECTION i-d-s works'
858   echo 'START-INFO-DIR-ENTRY'
859   echo '* Prog: (prog).   Program.'
860   echo 'END-INFO-DIR-ENTRY') >conftest.d/prog.info
861   if $INSTALL_INFO --info-dir=conftest.d conftest.d/prog.info >&AS_MESSAGE_LOG_FD 2>&1
862   then
863     if grep -s 'i-d-s works' conftest.d/dir >/dev/null
864     then libc_cv_old_debian_install_info=no
865     else libc_cv_old_debian_install_info=yes
866     fi
867   else libc_cv_old_debian_install_info=no testfailed=t
868   fi
869   rm -fr conftest.d])
870 if test -n "$testfailed"
871 then AC_MSG_WARN([install-info errored out, check config.log])
873 OLD_DEBIAN_INSTALL_INFO=$libc_cv_old_debian_install_info
875 AC_SUBST(OLD_DEBIAN_INSTALL_INFO)
877 AC_PATH_PROG(BISON, bison, no, $PATH:/usr/local/bin:/usr/bin:/bin)
879 AC_CACHE_CHECK(for signed size_t type, libc_cv_signed_size_t, [dnl
880 echo '#include <stddef.h>
881 FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
882 if eval "$ac_cpp conftest.c 2>/dev/null" \
883 | grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then
884   libc_cv_signed_size_t=no
885 else
886   libc_cv_signed_size_t=yes
888 rm -f conftest*])
889 if test $libc_cv_signed_size_t = yes; then
890   dnl Do this by hand instead of AC_DEFINE so can add #undef to avoid warnings.
891   cat >> confdefs.h <<\EOF
892 #undef __SIZE_TYPE__
893 #define __SIZE_TYPE__ unsigned
897 AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl
898 AC_TRY_COMPILE(dnl
899 [#define __need_size_t
900 #define __need_wchar_t
901 #include <stddef.h>
902 #define __need_NULL
903 #include <stddef.h>], [size_t size; wchar_t wchar;
904 #ifdef offsetof
905 #error stddef.h ignored __need_*
906 #endif
907 if (&size == NULL || &wchar == NULL) abort ();],
908                libc_cv_friendly_stddef=yes,
909                libc_cv_friendly_stddef=no)])
910 if test $libc_cv_friendly_stddef = yes; then
911   config_vars="$config_vars
912 override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
915 AC_CACHE_CHECK(whether we need to use -P to assemble .S files,
916                libc_cv_need_minus_P, [dnl
917 cat > conftest.S <<EOF
918 #include "confdefs.h"
919 /* Nothing whatsoever.  */
921 if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.S 1>&AS_MESSAGE_LOG_FD); then
922   libc_cv_need_minus_P=no
923 else
924   libc_cv_need_minus_P=yes
926 rm -f conftest*])
927 if test $libc_cv_need_minus_P = yes; then
928   config_vars="$config_vars
929 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
932 AC_MSG_CHECKING(whether .text pseudo-op must be used)
933 AC_CACHE_VAL(libc_cv_dot_text, [dnl
934 cat > conftest.s <<EOF
935 .text
937 libc_cv_dot_text=
938 if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
939   libc_cv_dot_text=.text
941 rm -f conftest*])
942 if test -z "$libc_cv_dot_text"; then
943   AC_MSG_RESULT(no)
944 else
945   AC_MSG_RESULT(yes)
948 AC_CACHE_CHECK(for assembler global-symbol directive,
949                libc_cv_asm_global_directive, [dnl
950 libc_cv_asm_global_directive=UNKNOWN
951 for ac_globl in .globl .global .EXPORT; do
952   cat > conftest.s <<EOF
953         ${libc_cv_dot_text}
954         ${ac_globl} foo
955 foo:
957   if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
958     libc_cv_asm_global_directive=${ac_globl}
959   fi
960   rm -f conftest*
961   test $libc_cv_asm_global_directive != UNKNOWN && break
962 done])
963 if test $libc_cv_asm_global_directive = UNKNOWN; then
964   AC_MSG_ERROR(cannot determine asm global directive)
965 else
966   AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
969 AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
970 cat > conftest.s <<EOF
971 ${libc_cv_dot_text}
972 foo:
973 .set glibc_conftest_frobozz,foo
974 $libc_cv_asm_global_directive glibc_conftest_frobozz
976 # The alpha-dec-osf1 assembler gives only a warning for `.set'
977 # (but it doesn't work), so we must do a linking check to be sure.
978 cat > conftest1.c <<\EOF
979 extern int glibc_conftest_frobozz;
980 main () { printf ("%d\n", glibc_conftest_frobozz); }
982 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
983             -o conftest conftest.s conftest1.c 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
984   libc_cv_asm_set_directive=yes
985 else
986   libc_cv_asm_set_directive=no
988 rm -f conftest*])
989 if test $libc_cv_asm_set_directive = yes; then
990   AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
993 AC_CACHE_CHECK(for assembler .type directive prefix,
994                libc_cv_asm_type_prefix, [dnl
995 libc_cv_asm_type_prefix=no
996 for ac_try_prefix in '@' '%' '#'; do
997   cat > conftest.s <<EOF
998         ${libc_cv_dot_text}
999         ${libc_cv_asm_global_directive} foo
1000         .type foo, ${ac_try_prefix}object
1001         .size foo, 1
1002 foo:
1003         .byte 1
1005   if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1006     libc_cv_asm_type_prefix=${ac_try_prefix}
1007   fi
1008   rm -f conftest*
1009   test "x$libc_cv_asm_type_prefix" != xno && break
1010 done])
1011 if test "x$libc_cv_asm_type_prefix" != xno; then
1012   AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
1015 # The Aix ld uses global .symbol_names instead of symbol_names.
1016 # Unfortunately also used in the PPC64 ELF ABI.
1017 case "${os}${machine}" in
1018 aix4.3* | linux*powerpc/powerpc64*)
1019   AC_DEFINE(HAVE_ASM_GLOBAL_DOT_NAME)
1020 esac
1022 AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
1023 [cat > conftest.s <<EOF
1024 ${libc_cv_dot_text}
1025 _sym:
1026 .symver _sym,sym@VERS
1028 if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1029   libc_cv_asm_symver_directive=yes
1030 else
1031   libc_cv_asm_symver_directive=no
1033 rm -f conftest*])
1034 AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
1035 if test $libc_cv_asm_symver_directive = yes; then
1036   cat > conftest.s <<EOF
1037 ${libc_cv_dot_text}
1038 _sym:
1039 .symver _sym,sym@VERS
1041   cat > conftest.map <<EOF
1042 VERS_1 {
1043         global: sym;
1046 VERS_2 {
1047         global: sym;
1048 } VERS_1;
1050   if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1051     if AC_TRY_COMMAND([${CC-cc} $CFLAGS -shared -o conftest.so conftest.o
1052                                         -nostartfiles -nostdlib
1053                                         -Wl,--version-script,conftest.map
1054                        1>&AS_MESSAGE_LOG_FD]);
1055     then
1056       libc_cv_ld_version_script_option=yes
1057     else
1058       libc_cv_ld_version_script_option=no
1059     fi
1060   else
1061     libc_cv_ld_version_script_option=no
1062   fi
1063 else
1064   libc_cv_ld_version_script_option=no
1066 rm -f conftest*])
1067 if test $shared != no &&
1068    test $libc_cv_asm_symver_directive = yes &&
1069    test $libc_cv_ld_version_script_option = yes &&
1070    test $enable_versioning = yes; then
1071   VERSIONING=yes
1072   AC_DEFINE(DO_VERSIONING)
1073 else
1074   VERSIONING=no
1076 AC_SUBST(VERSIONING)
1078 if test $elf = yes && test $shared != no && test $VERSIONING = no; then
1079   echo "\
1080 *** WARNING: You should not compile GNU libc without versioning. Not using
1081 *** versioning will introduce incompatibilities so that old binaries
1082 *** will not run anymore.
1083 *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
1085 if test $elf = yes; then
1086   AC_CACHE_CHECK(for .previous assembler directive,
1087                  libc_cv_asm_previous_directive, [dnl
1088   cat > conftest.s <<EOF
1089 .section foo_section
1090 .previous
1092   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1093     libc_cv_asm_previous_directive=yes
1094   else
1095     libc_cv_asm_previous_directive=no
1096   fi
1097   rm -f conftest*])
1098   if test $libc_cv_asm_previous_directive = yes; then
1099     AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
1100   else
1101     AC_CACHE_CHECK(for .popsection assembler directive,
1102                    libc_cv_asm_popsection_directive, [dnl
1103     cat > conftest.s <<EOF
1104 .pushsection foo_section
1105 .popsection
1107     if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1108       libc_cv_asm_popsection_directive=yes
1109     else
1110       libc_cv_asm_popsection_directive=no
1111     fi
1112     rm -f conftest*])
1113     if test $libc_cv_asm_popsection_directive = yes; then
1114       AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
1115     fi
1116   fi
1117   AC_CACHE_CHECK(for .protected and .hidden assembler directive,
1118                  libc_cv_asm_protected_directive, [dnl
1119   cat > conftest.s <<EOF
1120 .protected foo
1121 foo:
1122 .hidden bar
1123 bar:
1125   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1126     libc_cv_asm_protected_directive=yes
1127   else
1128     libc_cv_asm_protected_directive=no
1129   fi
1130   rm -f conftest*])
1131   AC_SUBST(libc_cv_asm_protected_directive)
1132   AC_DEFINE(HAVE_PROTECTED)
1133   AC_DEFINE(HAVE_HIDDEN)
1135   if test $libc_cv_asm_protected_directive = yes; then
1136     AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
1137                  libc_cv_visibility_attribute,
1138                  [cat > conftest.c <<EOF
1139                   int foo __attribute__ ((visibility ("hidden"))) = 1;
1140                   int bar __attribute__ ((visibility ("protected"))) = 1;
1142                   libc_cv_visibility_attribute=no
1143                   if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1144                     if grep '\.hidden.*foo' conftest.s >/dev/null; then
1145                       if grep '\.protected.*bar' conftest.s >/dev/null; then
1146                         libc_cv_visibility_attribute=yes
1147                       fi
1148                     fi
1149                   fi
1150                   rm -f conftest.[cs]
1151                  ])
1152     if test $libc_cv_visibility_attribute = yes; then
1153       AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
1154     fi
1155   fi
1157   if test $libc_cv_visibility_attribute = yes; then
1158     AC_CACHE_CHECK(for broken __attribute__((visibility())),
1159                  libc_cv_broken_visibility_attribute,
1160                  [cat > conftest.c <<EOF
1161                   int foo (int x);
1162                   int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
1163                   int bar (int x) { return x; }
1165                   libc_cv_broken_visibility_attribute=yes
1166                   if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s1>&AS_MESSAGE_LOG_FD); then
1167 changequote(,)dnl
1168                     if grep '\.hidden[  _]foo' conftest.s >/dev/null; then
1169 changequote([,])dnl
1170                       libc_cv_broken_visibility_attribute=no
1171                     fi
1172                   fi
1173                   rm -f conftest.c conftest.s
1174                  ])
1175     if test $libc_cv_broken_visibility_attribute = yes; then
1176       AC_DEFINE(HAVE_BROKEN_VISIBILITY_ATTRIBUTE)
1177     fi
1178   fi
1180   AC_CACHE_CHECK(for broken __attribute__((alias())),
1181                  libc_cv_broken_alias_attribute,
1182                  [cat > conftest.c <<EOF
1183                   extern int foo (int x) __asm ("xyzzy");
1184                   int bar (int x) { return x; }
1185                   extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
1186                   extern int dfoo;
1187                   extern __typeof (dfoo) dfoo __asm ("abccb");
1188                   int dfoo = 1;
1190                   libc_cv_broken_alias_attribute=yes
1191                   if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1192                     if grep 'xyzzy' conftest.s >/dev/null &&
1193                        grep 'abccb' conftest.s >/dev/null; then
1194                       libc_cv_broken_alias_attribute=no
1195                     fi
1196                   fi
1197                   rm -f conftest.c conftest.s
1198                  ])
1199   if test $libc_cv_broken_alias_attribute = yes; then
1200     AC_DEFINE(HAVE_BROKEN_ALIAS_ATTRIBUTE)
1201   fi
1203   if test $libc_cv_visibility_attribute = yes -a $gnu_ld = yes; then
1204     AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
1205                  libc_cv_have_sdata_section,
1206                  [echo "int i;" > conftest.c
1207                   libc_cv_have_sdata_section=no
1208                   if ${CC-cc} -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
1209                      | grep '\.sdata' >/dev/null; then
1210                     libc_cv_have_sdata_section=yes
1211                   fi
1212                   rm -f conftest.c conftest.so
1213                  ])
1214     if test $libc_cv_have_sdata_section = yes; then
1215       AC_DEFINE(HAVE_SDATA_SECTION)
1216     fi
1217   fi
1219   AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
1220                  libc_cv_initfinit_array, [dnl
1221   cat > conftest.c <<EOF
1222 int _start (void) { return 0; }
1223 int __start (void) { return 0; }
1224 int foo (void) { return 1; }
1225 int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
1227   if AC_TRY_COMMAND([${CC-cc} -o conftest conftest.c
1228                      -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
1229   then
1230     if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then
1231       libc_cv_initfinit_array=yes
1232     else
1233       libc_cv_initfinit_array=no
1234     fi
1235   else
1236     libc_cv_initfinit_array=no
1237   fi
1238   rm -f conftest*])
1239   AC_SUBST(libc_cv_initfinit_array)
1240   if test $libc_cv_initfinit_array = yes; then
1241     AC_DEFINE(HAVE_INITFINI_ARRAY)
1242   fi
1244   AC_CACHE_CHECK(for -z nodelete option,
1245                  libc_cv_z_nodelete, [dnl
1246   cat > conftest.c <<EOF
1247 int _start (void) { return 42; }
1249   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1250                      -nostartfiles -nostdlib
1251                      -Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD])
1252   then
1253     libc_cv_z_nodelete=yes
1254   else
1255     libc_cv_z_nodelete=no
1256   fi
1257   rm -f conftest*])
1258   AC_SUBST(libc_cv_z_nodelete)
1260   AC_CACHE_CHECK(for -z nodlopen option,
1261                  libc_cv_z_nodlopen, [dnl
1262   cat > conftest.c <<EOF
1263 int _start (void) { return 42; }
1265   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1266                         -nostartfiles -nostdlib
1267                         -Wl,--enable-new-dtags,-z,nodlopen 1>&AS_MESSAGE_LOG_FD])
1268   then
1269     libc_cv_z_nodlopen=yes
1270   else
1271     libc_cv_z_nodlopen=no
1272   fi
1273   rm -f conftest*])
1274   AC_SUBST(libc_cv_z_nodlopen)
1276   AC_CACHE_CHECK(for -z initfirst option,
1277                  libc_cv_z_initfirst, [dnl
1278   cat > conftest.c <<EOF
1279 int _start (void) { return 42; }
1281   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1282                         -nostartfiles -nostdlib
1283                         -Wl,--enable-new-dtags,-z,initfirst 1>&AS_MESSAGE_LOG_FD])
1284   then
1285     libc_cv_z_initfirst=yes
1286   else
1287     libc_cv_z_initfirst=no
1288   fi
1289   rm -f conftest*])
1290   AC_SUBST(libc_cv_z_initfirst)
1292   AC_CACHE_CHECK(for -Bgroup option,
1293                  libc_cv_Bgroup, [dnl
1294   cat > conftest.c <<EOF
1295 int _start (void) { return 42; }
1297   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c -Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD])
1298   then
1299     libc_cv_Bgroup=yes
1300   else
1301     libc_cv_Bgroup=no
1302   fi
1303   rm -f conftest*])
1304   AC_SUBST(libc_cv_Bgroup)
1306   AC_CACHE_CHECK(for -z combreloc,
1307                  libc_cv_z_combreloc, [dnl
1308   cat > conftest.c <<EOF
1309 extern int bar (int);
1310 extern int mumble;
1311 int foo (void) { return bar (mumble); }
1313   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1314                         -nostdlib -nostartfiles
1315                         -Wl,-z,combreloc 1>&AS_MESSAGE_LOG_FD])
1316   then
1317 dnl The following test is a bit weak.  We must use a tool which can test
1318 dnl cross-platform since the gcc used can be a cross compiler.  Without
1319 dnl introducing new options this is not easily doable.  Instead use a tool
1320 dnl which always is cross-platform: readelf.  To detect whether -z combreloc
1321 dnl look for a section named .rel.dyn.
1322     if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
1323       libc_cv_z_combreloc=yes
1324     else
1325       libc_cv_z_combreloc=no
1326     fi
1327   else
1328     libc_cv_z_combreloc=no
1329   fi
1330   rm -f conftest*])
1331   if test "$libc_cv_z_combreloc" = yes; then
1332     AC_DEFINE(HAVE_Z_COMBRELOC)
1333   fi
1335 AC_SUBST(libc_cv_z_combreloc)
1337 if test $elf != yes; then
1338   AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
1339                  [AC_TRY_COMPILE(, [asm (".section .init");
1340                                     asm (".section .fini");
1341                                     asm ("${libc_cv_dot_text}");],
1342                                  libc_cv_have_initfini=yes,
1343                                  libc_cv_have_initfini=no)])
1344   AC_SUBST(libc_cv_have_initfini)dnl
1345   if test $libc_cv_have_initfini = yes; then
1346     AC_DEFINE(HAVE_INITFINI)
1347   fi
1350 if test $elf = yes -a $gnu_ld = yes; then
1351   AC_CACHE_CHECK(whether cc puts quotes around section names,
1352                  libc_cv_have_section_quotes,
1353                  [cat > conftest.c <<EOF
1354                   static const int foo
1355                   __attribute__ ((section ("bar"))) = 1;
1357                   if ${CC-cc} -S conftest.c -o conftest.s; then
1358                     if grep '\.section.*"bar"' conftest.s >/dev/null; then
1359                       libc_cv_have_section_quotes=yes
1360                     else
1361                       libc_cv_have_section_quotes=no
1362                     fi
1363                   else
1364                     libc_cv_have_section_quotes=unknown
1365                   fi
1366                   rm -f conftest.[cs]
1367                  ])
1368   if test $libc_cv_have_section_quotes = yes; then
1369     AC_DEFINE(HAVE_SECTION_QUOTES)
1370   fi
1373 dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1374 AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
1375 [cat > conftest.$ac_ext <<EOF
1376 dnl This sometimes fails to find confdefs.h, for some reason.
1377 dnl [#]line __oline__ "[$]0"
1378 [#]line __oline__ "configure"
1379 #include "confdefs.h"
1380 void underscore_test(void) {
1381 return; }
1383 if AC_TRY_EVAL(ac_compile); then
1384   if grep _underscore_test conftest* >/dev/null; then
1385     ifelse([$1], , :, [rm -f conftest*
1386     $1])
1387   else
1388     ifelse([$2], , , [rm -f conftest*
1389     $2])
1390   fi
1391 else
1392   echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
1393   cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
1394   ifelse([$2], , , [rm -f conftest*
1395   $2])
1397 rm -f conftest*])
1399 if test $elf = yes; then
1400   libc_cv_asm_underscores=no
1401 else
1402   if test $ac_cv_prog_cc_works = yes; then
1403     AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1404                    [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
1405                                 libc_cv_asm_underscores=yes,
1406                                 libc_cv_asm_underscores=no)])
1407   else
1408     AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1409                    [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
1410                                             libc_cv_asm_underscores=no)])
1411   fi
1413 if test $libc_cv_asm_underscores = no; then
1414   AC_DEFINE(NO_UNDERSCORES)
1417 if test $elf = yes; then
1418   libc_cv_weak_symbols=yes
1421 AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
1422                [dnl
1423 cat > conftest.s <<EOF
1424 ${libc_cv_dot_text}
1425 ${libc_cv_asm_global_directive} foo
1426 foo:
1427 .weak foo
1428 .weak bar; bar = foo
1430 if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1431   libc_cv_asm_weak_directive=yes
1432 else
1433   libc_cv_asm_weak_directive=no
1435 rm -f conftest*])
1437 if test $libc_cv_asm_weak_directive = no; then
1438   AC_CACHE_CHECK(for assembler .weakext directive,
1439                  libc_cv_asm_weakext_directive,
1440                  [dnl
1441 cat > conftest.s <<EOF
1442 ${libc_cv_dot_text}
1443 ${libc_cv_asm_global_directive} foo
1444 foo:
1445 .weakext bar foo
1446 .weakext baz
1447 ${libc_cv_asm_global_directive} baz
1448 baz:
1450   if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1451     libc_cv_asm_weakext_directive=yes
1452   else
1453     libc_cv_asm_weakext_directive=no
1454   fi
1455   rm -f conftest*])
1457 fi # no .weak
1459 if test $libc_cv_asm_weak_directive = yes; then
1460   AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
1461 elif test $libc_cv_asm_weakext_directive = yes; then
1462   AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
1465 dnl The standard hppa assembler uses `;' to start comments and `!'
1466 dnl as a line separator.  CRIS uses `;' to start comments and `@' for
1467 dnl line separator.
1468 case "${host_cpu}-${host_os}" in
1469   cris*)
1470     libc_cv_asm_line_sep='@'
1471     AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
1472     ;;
1473   hppa*linux*)
1474   AC_CACHE_CHECK(for assembler line separator,
1475                  libc_cv_asm_line_sep, [dnl
1476   cat > conftest.s <<EOF
1477  nop ; is_old_puffin
1479   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1480     libc_cv_asm_line_sep='!'
1481   else
1482     if test -z "$enable_hacker_mode"; then
1483       echo "*** You need a newer assembler to compile glibc"
1484       rm -f conftest*
1485       exit 1
1486     fi
1487     libc_cv_asm_line_sep=';'
1488   fi
1489   rm -f conftest*])
1490   AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
1491   ;;
1492 esac
1494 AC_CACHE_CHECK(if -g produces usable source locations for assembler-with-cpp,
1495                libc_cv_cpp_asm_debuginfo, [dnl
1496 cat > conftest.S <<EOF
1497 #include "confdefs.h"
1499 /* comment on
1500    two lines */
1501         ${libc_cv_dot_text}
1502         ${libc_cv_asm_global_directive} foo
1503 foo:
1504         /* Unfortunately this test only works for a real instruction,
1505            not for any of the machine-independent pseudo-ops.
1506            So we just have to assume everybody has a "nop".  */
1507         nop
1508         /* comment */
1509         nop
1510         /* comment */
1511         nop
1513 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -g -c conftest.S 1>&AS_MESSAGE_LOG_FD]) &&
1514    ac_pattern='conftest\.S'
1515    AC_TRY_COMMAND([readelf --debug-dump=line conftest.o |
1516                    grep $ac_pattern 1>&AS_MESSAGE_LOG_FD]); then
1517   libc_cv_cpp_asm_debuginfo=yes
1518 else
1519   libc_cv_cpp_asm_debuginfo=no
1521 rm -f conftest*])AC_SUBST(libc_cv_cpp_asm_debuginfo)
1522 if test $libc_cv_cpp_asm_debuginfo = yes; then
1523   AC_DEFINE(HAVE_CPP_ASM_DEBUGINFO)
1526 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
1527 cat > conftest.c <<\EOF
1528 _start () {}
1529 int __eh_pc;
1530 __throw () {}
1532 dnl No \ in command here because it ends up inside ''.
1533 if AC_TRY_COMMAND([${CC-cc} $CFLAGS
1534                             -nostdlib -nostartfiles -Wl,--no-whole-archive
1535                             -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1536   libc_cv_ld_no_whole_archive=yes
1537 else
1538   libc_cv_ld_no_whole_archive=no
1540 rm -f conftest*])
1541 if test $libc_cv_ld_no_whole_archive = yes; then
1542   no_whole_archive=-Wl,--no-whole-archive
1544 AC_SUBST(no_whole_archive)dnl
1546 AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
1547 cat > conftest.c <<\EOF
1548 _start () {}
1549 int __eh_pc;
1550 __throw () {}
1552 dnl No \ in command here because it ends up inside ''.
1553 if AC_TRY_COMMAND([${CC-cc} $CFLAGS
1554                             -nostdlib -nostartfiles -fexceptions
1555                             -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1556   libc_cv_gcc_exceptions=yes
1557 else
1558   libc_cv_gcc_exceptions=no
1560 rm -f conftest*])
1561 if test $libc_cv_gcc_exceptions = yes; then
1562   exceptions=-fexceptions
1564 AC_SUBST(exceptions)dnl
1566 if test "$host_cpu" = powerpc ; then
1567 # Check for a bug present in at least versions 2.8.x of GCC
1568 # and versions 1.0.x of EGCS.
1569 AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
1570 AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
1571                libc_cv_c_asmcr0_bug='no',
1572                libc_cv_c_asmcr0_bug='yes')])
1573 if test "$libc_cv_c_asmcr0_bug" != 'no'; then
1574   AC_DEFINE(BROKEN_PPC_ASM_CR0)
1578 AC_CACHE_CHECK(for DWARF2 unwind info support, libc_cv_gcc_dwarf2_unwind_info,
1579 [cat > conftest.c <<EOF
1580 #line __oline__ "configure"
1581 static char *__EH_FRAME_BEGIN__;
1582 _start ()
1584 #ifdef CHECK__register_frame
1585   __register_frame (__EH_FRAME_BEGIN__);
1586   __deregister_frame (__EH_FRAME_BEGIN__);
1587 #endif
1588 #ifdef CHECK__register_frame_info
1589   __register_frame_info (__EH_FRAME_BEGIN__);
1590   __deregister_frame_info (__EH_FRAME_BEGIN__);
1591 #endif
1593 int __eh_pc;
1594 __throw () {}
1595 /* FIXME: this is fragile.  */
1596 malloc () {}
1597 strcmp () {}
1598 strlen () {}
1599 memcpy () {}
1600 memset () {}
1601 free () {}
1602 abort () {}
1603 __bzero () {}
1604 dl_iterate_phdr () {}
1606 dnl No \ in command here because it ends up inside ''.
1607 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -DCHECK__register_frame_info
1608                             -nostdlib -nostartfiles
1609                             -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1610   libc_cv_gcc_dwarf2_unwind_info=static
1611 else
1612   libc_cv_gcc_dwarf2_unwind_info=no
1614 # Some platforms' specs put -lgcc first.  The second one doesn't hurt.
1615 libc_unwind_check="${CC-cc} $CFLAGS -DCHECK__register_frame_info \
1616                             -nostdlib -nostartfiles -o conftest conftest.c \
1617                             -lgcc -lgcc_eh -lgcc"
1618 if AC_TRY_COMMAND([$libc_unwind_check >&AS_MESSAGE_LOG_FD]); then
1619   if $libc_unwind_check -v 2>&1 >/dev/null \
1620      | grep -q -- --eh-frame-hdr; then
1621     libc_cv_gcc_dwarf2_unwind_info=no_registry_needed
1622   else
1623     libc_cv_gcc_dwarf2_unwind_info=static
1624   fi
1625 else
1626   libc_cv_gcc_dwarf2_unwind_info=no
1628 if test $libc_cv_gcc_dwarf2_unwind_info = no; then
1629   if AC_TRY_COMMAND([${CC-cc} $CFLAGS -DCHECK__register_frame
1630                               -nostdlib -nostartfiles
1631                               -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1632     libc_cv_gcc_dwarf2_unwind_info=yes
1633   else
1634     libc_cv_gcc_dwarf2_unwind_info=no
1635   fi
1637 rm -f conftest*])
1638 case $libc_cv_gcc_dwarf2_unwind_info in
1639 yes)
1640   AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1641   ;;
1642 static)
1643   AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1644   AC_DEFINE(HAVE_DWARF2_UNWIND_INFO_STATIC)
1645   ;;
1646 esac
1648 dnl Check whether compiler understands __builtin_expect.
1649 AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
1650 [cat > conftest.c <<EOF
1651 #line __oline__ "configure"
1652 int foo (int a)
1654   a = __builtin_expect (a, 10);
1655   return a == 10 ? 0 : 1;
1658 dnl No \ in command here because it ends up inside ''.
1659 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -nostdlib -nostartfiles
1660                             -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1661   libc_cv_gcc_builtin_expect=yes
1662 else
1663   libc_cv_gcc_builtin_expect=no
1665 rm -f conftest*])
1666 if test "$libc_cv_gcc_builtin_expect" = yes; then
1667   AC_DEFINE(HAVE_BUILTIN_EXPECT)
1670 AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
1671 cat > conftest.c <<\EOF
1672 void zero (void *x)
1674   __builtin_memset (x, 0, 1000);
1678 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
1679 then
1680   libc_cv_gcc_builtin_memset=no
1681 else
1682   libc_cv_gcc_builtin_memset=yes
1684 rm -f conftest* ])
1685 if test "$libc_cv_gcc_builtin_memset" = yes ; then
1686   AC_DEFINE(HAVE_BUILTIN_MEMSET)
1689 dnl Check whether the compiler supports subtraction of local labels.
1690 AC_CACHE_CHECK(for local label subtraction, libc_cv_gcc_subtract_local_labels,
1691 [cat > conftest.c <<EOF
1692 changequote(,)dnl
1693 #line __oline__ "configure"
1694 int foo (int a)
1696   static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
1697   void *p = &&l1 + ar[a];
1698   goto *p;
1699  l1:
1700   return 1;
1701  l2:
1702   return 2;
1704 changequote([,])dnl
1706 dnl No \ in command here because it ends up inside ''.
1707 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -nostdlib -nostartfiles
1708                             -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1709   libc_cv_gcc_subtract_local_labels=yes
1710 else
1711   libc_cv_gcc_subtract_local_labels=no
1713 rm -f conftest*])
1714 if test "$libc_cv_gcc_subtract_local_labels" = yes; then
1715   AC_DEFINE(HAVE_SUBTRACT_LOCAL_LABELS)
1718 dnl Check whether the compiler supports the __thread keyword.
1719 if test "x$use__thread" != xno; then
1720   AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
1721   [cat > conftest.c <<\EOF
1722 __thread int a = 42;
1724   if AC_TRY_COMMAND([${CC-cc} $CFLAGS -c conftest.c >&AS_MESSAGE_LOG_FD]); then
1725     libc_cv_gcc___thread=yes
1726   else
1727     libc_cv_gcc___thread=no
1728   fi
1729   rm -f conftest*])
1730   if test "$libc_cv_gcc___thread" = yes; then
1731     AC_DEFINE(HAVE___THREAD)
1732   fi
1733 else
1734   libc_cv_gcc___thread=no
1737 if test "$libc_cv_gcc___thread" = yes; then
1738   dnl Check whether the compiler supports the tls_model attribute.
1739   AC_CACHE_CHECK([for tls_model attribute], libc_cv_gcc_tls_model_attr, [dnl
1740   cat > conftest.c <<\EOF
1741 extern __thread int a __attribute__((tls_model ("initial-exec")));
1743   if AC_TRY_COMMAND([${CC-cc} $CFLAGS -S -Werror conftest.c >&AS_MESSAGE_LOG_FD]); then
1744     libc_cv_gcc_tls_model_attr=yes
1745   else
1746     libc_cv_gcc_tls_model_attr=no
1747   fi
1748   rm -f conftest*])
1749   if test "$libc_cv_gcc_tls_model_attr" = yes; then
1750     AC_DEFINE(HAVE_TLS_MODEL_ATTRIBUTE)
1751   fi
1754 dnl Check whether we have the gd library available.
1755 AC_MSG_CHECKING(for libgd)
1756 if test "$with_gd" != "no"; then
1757   old_CFLAGS="$CFLAGS"
1758   CFLAGS="$CFLAGS $libgd_include"
1759   old_LDFLAGS="$LDFLAGS"
1760   LDFLAGS="$LDFLAGS $libgd_ldflags"
1761   old_LIBS="$LIBS"
1762   LIBS="$LIBS -lgd -lpng -lz -lm"
1763   AC_TRY_LINK([#include <gd.h>], [gdImagePng (0, 0)], LIBGD=yes, LIBGD=no)
1764   CFLAGS="$old_CFLAGS"
1765   LDFLAGS="$old_LDFLAGS"
1766   LIBS="$old_LIBS"
1767 else
1768   LIBGD=no
1770 AC_MSG_RESULT($LIBGD)
1771 AC_SUBST(LIBGD)
1773 dnl check for the size of 'long double'.
1774 AC_CHECK_SIZEOF(long double, 0)
1775 sizeof_long_double=$ac_cv_sizeof_long_double
1776 AC_SUBST(sizeof_long_double)
1778 ### End of automated tests.
1779 ### Now run sysdeps configure fragments.
1781 # They also can set these variables.
1782 use_ldconfig=no
1783 ldd_rewrite_script=no
1784 libc_cv_sysconfdir=$sysconfdir
1785 libc_cv_gcc_unwind_find_fde=no
1787 # Iterate over all the sysdep directories we will use, running their
1788 # configure fragments, and looking for a uname implementation.
1789 uname=
1790 for dir in $sysnames; do
1791   case $dir in
1792     /*) dest=$dir ;;
1793     *)  dest=$srcdir/$dir ;;
1794   esac
1795   if test -r $dest/configure; then
1796     AC_MSG_RESULT(running configure fragment for $dir)
1797     . $dest/configure
1798   fi
1800   if test -z "$uname"; then
1801     if test -r $dest/uname.c ||
1802        test -r $dest/uname.S ||
1803        { test -r $dest/syscalls.list &&
1804          grep '^uname[  ]' $dest/syscalls.list >/dev/null; }; then
1805       uname=$dir
1806     fi
1807   fi
1808 ]dnl
1809 done
1811 if test x$libc_cv_gcc_unwind_find_fde = xyes; then
1812   AC_DEFINE(EXPORT_UNWIND_FIND_FDE)
1814 AC_SUBST(libc_cv_gcc_unwind_find_fde)
1816 # If we will use the generic uname implementation, we must figure out what
1817 # it will say by examining the system, and write the results in config-name.h.
1818 if test "$uname" = "sysdeps/generic"; then
1820 changequote(,)dnl
1821   uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
1822 changequote([,])dnl
1823   if test $uname_sysname != $config_os; then
1824     config_release=`echo $config_os | sed s/$uname_sysname//`
1825   fi
1827 AC_DEFUN(LIBC_KERNEL_ID, [dnl
1828     if test -r /vmunix; then
1829       kernel_id=`strings /vmunix | grep UNIX`
1830     elif test -r /dynix; then
1831       kernel_id=`strings /dynix | grep DYNIX`
1832     else
1833       kernel_id=
1834     fi
1835 ])dnl
1837   AC_CACHE_CHECK(OS release for uname, libc_cv_uname_release, [dnl
1838 LIBC_KERNEL_ID
1839 changequote(,)dnl
1840   kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
1841 changequote([,])dnl
1842   if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
1843          != x$config_release; then
1844     # The configuration release is a substring of the kernel release.
1845     libc_cv_uname_release=$kernel_release
1846   elif test x$config_release != x; then
1847     libc_cv_uname_release=$config_release
1848   elif test x$kernel_release != x; then
1849     libc_cv_uname_release=$kernel_release
1850   else
1851     libc_cv_uname_release=unknown
1852   fi])
1853   uname_release="$libc_cv_uname_release"
1855   AC_CACHE_CHECK(OS version for uname, libc_cv_uname_version, [dnl
1856 LIBC_KERNEL_ID
1857 changequote(,)dnl
1858   kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
1859 changequote([,])dnl
1860   if test -n "$kernel_version"; then
1861     libc_cv_uname_version="$kernel_version"
1862   else
1863     libc_cv_uname_version=unknown
1864   fi])
1865   uname_version="$libc_cv_uname_version"
1867 AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl
1868   config_uname=config-name.h:config-name.in
1869 else
1870   # For non-generic uname, we don't need to create config-name.h at all.
1871   config_uname=
1874 dnl This is tested by existing code and it's simpler to avoid changing it.
1875 AC_DEFINE(USE_IN_LIBIO)
1877 # Test for old glibc 2.0.x headers so that they can be removed properly
1878 # Search only in includedir.
1879 AC_MSG_CHECKING(for old glibc 2.0.x headers)
1880 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
1881 then
1882   old_glibc_headers=yes
1883 else
1884   old_glibc_headers=no
1886 AC_MSG_RESULT($old_glibc_headers)
1887 if test ${old_glibc_headers} = yes; then
1888   AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
1889   AC_MSG_WARN(*** be removed.)
1891 AC_SUBST(old_glibc_headers)
1893 AC_SUBST(libc_cv_slibdir)
1894 AC_SUBST(libc_cv_localedir)
1895 AC_SUBST(libc_cv_sysconfdir)
1896 AC_SUBST(libc_cv_rootsbindir)
1898 AC_SUBST(use_ldconfig)
1899 AC_SUBST(ldd_rewrite_script)
1901 AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) AC_SUBST(xcoff)
1902 if test $gnu_ld = yes; then
1903   AC_DEFINE(HAVE_GNU_LD)
1905 if test $gnu_as = yes; then
1906   AC_DEFINE(HAVE_GNU_AS)
1908 if test $elf = yes; then
1909   AC_DEFINE(HAVE_ELF)
1911 if test $xcoff = yes; then
1912   AC_DEFINE(HAVE_XCOFF)
1915 AC_SUBST(static)
1916 AC_SUBST(shared)
1917 if test $shared = default; then
1918   if test $gnu_ld = yes; then
1919     shared=$elf
1920   else
1921     # For now we do not assume shared libs are available.  In future more
1922     # tests might become available.
1923     shared=no
1924   fi
1927 AC_CACHE_CHECK([whether -fPIC is default], pic_default,
1928 [pic_default=yes
1929 cat > conftest.c <<EOF
1930 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
1931 # error PIC is default.
1932 #endif
1934 if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
1935   pic_default=no
1937 rm -f conftest.*])
1938 AC_SUBST(pic_default)
1940 AC_SUBST(profile)
1941 AC_SUBST(omitfp)
1942 AC_SUBST(bounded)
1943 AC_SUBST(static_nss)
1944 AC_SUBST(nopic_initfini)
1946 AC_SUBST(DEFINES)
1948 case "$add_ons" in
1949   *door*) linux_doors=yes ;;
1950   *) linux_doors=no ;;
1951 esac
1952 AC_SUBST(linux_doors)
1954 dnl See sysdeps/mach/configure.in for this variable.
1955 AC_SUBST(mach_interface_list)
1957 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
1958   config_makefile=
1959 else
1960   config_makefile=Makefile
1963 VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
1964 RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
1965 AC_SUBST(VERSION)
1966 AC_SUBST(RELEASE)
1968 AC_CONFIG_FILES([config.make glibcbug ${config_makefile} ${config_uname}])
1969 AC_CONFIG_COMMANDS([default],[[
1970 case $CONFIG_FILES in *config.make*)
1971 echo "$config_vars" >> config.make;;
1972 esac
1973 test -d bits || mkdir bits]],[[config_vars='$config_vars']])
1974 AC_OUTPUT