* sysdeps/unix/sysv/linux/timer_getoverr.c: Fix typo in name
[glibc/pb-stable.git] / configure.in
blobee8769912311eb1cee3511e72a1225ad9284d3be
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([--disable-check-abi],
119                              [omit "make check-abi" from "make check"]),
120               [enable_check_abi=$enableval],
121               [enable_check_abi=yes])
123 dnl Arguments to enable or disable building the static, shared, profiled,
124 dnl and -fomit-frame-pointer libraries.
125 dnl I've disabled this for now since we cannot build glibc without static
126 dnl libraries built in the moment.
127 dnl AC_ARG_ENABLE([static],
128 dnl               AC_HELP_STRING([--enable-static],
129 dnl                              [build static library @<:@default=yes@:>@]),
130 dnl               [static=$enableval],
131 dnl               [static=yes])
132 static=yes
133 AC_ARG_ENABLE([shared],
134               AC_HELP_STRING([--enable-shared],
135                              [build shared library @<:@default=yes if GNU ld & ELF@:>@]),
136               [shared=$enableval],
137               [shared=default])
138 AC_ARG_ENABLE([profile],
139               AC_HELP_STRING([--enable-profile],
140                              [build profiled library @<:@default=yes@:>@]),
141               [profile=$enableval],
142               [profile=yes])
143 AC_ARG_ENABLE([omitfp],
144               AC_HELP_STRING([--enable-omitfp],
145                              [build undebuggable optimized library @<:@default=no@:>@]),
146               [omitfp=$enableval],
147               [omitfp=no])
148 AC_ARG_ENABLE([bounded],
149               AC_HELP_STRING([--enable-bounded],
150                              [build with runtime bounds checking @<:@default=no@:>@]),
151               [bounded=$enableval],
152               [bounded=no])
153 AC_ARG_ENABLE([versioning],
154               AC_HELP_STRING([--disable-versioning],
155                              [do not include versioning information in the library objects @<:@default=yes if supported@:>@]),
156               [enable_versioning=$enableval],
157               [enable_versioning=yes])
159 AC_ARG_ENABLE([oldest-abi],
160               AC_HELP_STRING([--enable-oldest-abi=ABI],
161                              [configure the oldest ABI supported @<:@e.g. 2.2@:>@ @<:@default=glibc default@:>@]),
162               [oldest_abi=$enableval],
163               [oldest_abi=no])
164 if test "$oldest_abi" = yes || test "$oldest_abi" = no; then
165   oldest_abi=default
166 else
167   AC_DEFINE_UNQUOTED(GLIBC_OLDEST_ABI, "$oldest_abi")
169 AC_SUBST(oldest_abi)
171 dnl Generic infrastructure for drop-in additions to libc.
172 AC_ARG_ENABLE([add-ons],
173               AC_HELP_STRING([--enable-add-ons@<:@=DIRS...@:>@],
174                              [configure and build add-ons in DIR1,DIR2,...  search for add-ons if no parameter given]),
175   [case "$enableval" in
176     yes) add_ons=`cd $srcdir && echo */configure | sed -e 's!/configure!!g'`
177          test "$add_ons" = "*" && add_ons= ;;
178     *) add_ons=`echo "$enableval" | sed 's/,/ /g'`;;
179    esac],
180   [add_ons=])
182 dnl Let the user avoid using TLS.  Don't know why but...
183 dnl XXX For now we disable support by default.
184 AC_ARG_WITH([tls],
185             AC_HELP_STRING([--with-tls],
186                            [enable support for TLS]),
187             [usetls=$withval],
188             [usetls=no])
190 AC_ARG_WITH([__thread],
191             AC_HELP_STRING([--without-__thread],
192                            [do not use TLS features even when supporting them]),
193             [use__thread=$withval],
194             [use__thread=yes])
196 AC_ARG_ENABLE([hidden-plt],
197               AC_HELP_STRING([--disable-hidden-plt],
198                              [do not hide internal function calls to avoid PLT]),
199               [hidden=$enableval],
200               [hidden=yes])
201 if test "x$hidden" = xno; then
202   AC_DEFINE(NO_HIDDEN)
205 AC_CONFIG_SUBDIRS([ ])dnl Bonehead new Autoconf whines if we do it cleanly.
206 add_ons_pfx=
207 if test x"$add_ons" != x; then
208   for f in $add_ons; do
209     # Some sanity checks
210     if test "$f" = "crypt"; then
211       AC_MSG_ERROR([
212 *** It seems that you're using an old \`crypt' add-on.  crypt is now
213 *** part of glibc and using the old add-on will not work with this
214 *** release.  Start again with fresh sources and without the old
215 *** \`crypt' add-on.])
216     fi
217     if test "$f" = "localedata"; then
218       AC_MSG_ERROR([
219 *** It seems that you're using an old \`localedata' add-on.  localedata
220 *** is now part of glibc and using the old add-on will not work with
221 *** this release.  Start again with fresh sources and without the old
222 *** \`localedata' add-on.])
223     fi
224     # Test whether such a subdir really exists.
225     if test -d $srcdir/$f; then
226       add_ons_pfx="$add_ons_pfx $f/"
227       dnl This variable is what AC_CONFIG_SUBDIRS is supposed to set,
228       dnl but the new Autoconf maintainers don't care about compatibility
229       dnl so we cannot use it normally any more without complaints.
230       subdirs="$subdirs $f"
231     else
232       AC_MSG_ERROR(add-on directory \"$f\" does not exist)
233     fi
234   done
237 dnl On some platforms we cannot use dynamic loading.  We must provide
238 dnl static NSS modules.
239 AC_ARG_ENABLE([static-nss],
240               AC_HELP_STRING([--enable-static-nss],
241                              [build static NSS modules @<:@default=no@:>@]),
242               [static_nss=$enableval],
243               [static_nss=no])
244 dnl Enable static NSS also if we build no shared objects.
245 if test x"$static_nss" = xyes || test x"$shared" = xno; then
246   static_nss=yes
247   AC_DEFINE(DO_STATIC_NSS)
250 AC_ARG_ENABLE([force-install],
251               AC_HELP_STRING([--disable-force-install],
252                              [don't force installation of files from this package, even if they are older than the installed files]),
253               [force_install=$enableval],
254               [force_install=yes])
255 AC_SUBST(force_install)
257 dnl On some platforms we allow dropping compatibility with all kernel
258 dnl versions.
259 AC_ARG_ENABLE([kernel],
260               AC_HELP_STRING([--enable-kernel=VERSION],
261                              [compile for compatibility with kernel not older than VERSION]),
262               [minimum_kernel=$enableval],
263               [])
264 dnl Prevent unreasonable values.
265 if test "$minimum_kernel" = yes || test "$minimum_kernel" = no; then
266   # Better nothing than this.
267   minimum_kernel=""
268 else
269   if test "$minimum_kernel" = current; then
270     minimum_kernel=`uname -r 2>/dev/null` || minimum_kernel=
271   fi
274 dnl For the development we sometimes want gcc to issue even more warnings.
275 dnl This is not the default since many of the extra warnings are not
276 dnl appropriate.
277 AC_ARG_ENABLE([all-warnings],
278               AC_HELP_STRING([--enable-all-warnings],
279                              [enable all useful warnings gcc can issue]),
280               [all_warnings=$enableval],
281               [])
282 AC_SUBST(all_warnings)
284 AC_CANONICAL_HOST
286 # The way shlib-versions is used to generate soversions.mk uses a
287 # fairly simplistic model for name recognition that can't distinguish
288 # i486-pc-linux-gnu fully from i486-pc-gnu.  So we mutate a $host_os
289 # of `gnu*' here to be `gnu-gnu*' just so that shlib-versions can
290 # tell.  This doesn't get used much beyond that, so it's fairly safe.
291 case "$host_os" in
292 linux*)
293   ;;
294 gnu*)
295   host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
296   ;;
297 esac
299 # We keep the original values in `$config_*' and never modify them, so we
300 # can write them unchanged into config.make.  Everything else uses
301 # $machine, $vendor, and $os, and changes them whenever convenient.
302 config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
304 # Don't allow vendor == "unknown"
305 test "$config_vendor" = unknown && config_vendor=
306 config_os="`echo $config_os | sed 's/^unknown-//'`"
308 # Some configurations imply other options.
309 case "$host_os" in
310 gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
311   # These systems always use GNU tools.
312   gnu_ld=yes gnu_as=yes ;;
313 esac
314 case "$host_os" in
315 # i586-linuxaout is mangled into i586-pc-linux-gnuaout
316 linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
317   ;;
318 gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
319   # These systems (almost) always use the ELF format.
320   elf=yes
321   ;;
322 aix*)
323   # These systems are always xcoff
324   xcoff=yes
325   elf=no
326   ;;
327 esac
329 machine=$config_machine
330 vendor=$config_vendor
331 os=$config_os
333 # config.guess on some IBM machines says `rs6000' instead of `powerpc'.
334 # Unify this here.
335 if test "$machine" = rs6000; then
336   machine="powerpc"
339 # Braindead PowerPC box with absolutely no FPU.
340 case "$machine-$host_os" in
341   powerpc*-*soft)
342     with_fp=no
343     ;;
344 esac
347 ### I put this here to prevent those annoying emails from people who cannot
348 ### read and try to compile glibc on unsupported platforms.  --drepper
350 ### By using the undocumented --enable-hacker-mode option for configure
351 ### one can skip this test to make the configuration not fail for unsupported
352 ### platforms.
354 if test -z "$enable_hacker_mode"; then
355   case "$machine-$host_os" in
356   *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
357     ;;
358   *)
359     echo "*** The GNU C library is currently not available for this platform."
360     echo "*** So far nobody cared to port it and if there is no volunteer it"
361     echo "*** might never happen.  So, if you have interest to see glibc on"
362     echo "*** this platform visit"
363     echo "***   http://www.gnu.org/software/libc/porting.html"
364     echo "*** and join the group of porters"
365     exit 1
366     ;;
367   esac
370 dnl We need to use [ and ] for other purposes for a while now.
371 changequote(,)dnl
372 # Expand the configuration machine name into a subdirectory by architecture
373 # type and particular chip.
374 case "$machine" in
375 a29k | am29000) base_machine=a29k machine=a29k ;;
376 alpha*)         base_machine=alpha machine=alpha/$machine ;;
377 arm*)           base_machine=arm machine=arm/arm32/$machine ;;
378 c3[012])        base_machine=cx0 machine=cx0/c30 ;;
379 c4[04])         base_machine=cx0 machine=cx0/c40 ;;
380 hppa*64*)       base_machine=hppa machine=hppa/hppa64 ;;
381 hppa*)          base_machine=hppa machine=hppa/hppa1.1 ;;
382 i[3456]86)      base_machine=i386 machine=i386/$machine ;;
383 ia64)           base_machine=ia64 machine=ia64 ;;
384 m680?0)         base_machine=m68k machine=m68k/$machine ;;
385 m68k)           base_machine=m68k machine=m68k/m68020 ;;
386 m88???)         base_machine=m88k machine=m88k/$machine ;;
387 m88k)           base_machine=m88k machine=m88k/m88100 ;;
388 mips64*)        base_machine=mips64 machine=mips/mips64/$machine ;;
389 mips*)          base_machine=mips machine=mips/$machine ;;
390 powerpc)        base_machine=powerpc machine=powerpc/powerpc32 ;;
391 powerpc64)      base_machine=powerpc machine=powerpc/powerpc64 ;;
392 s390)           base_machine=s390 machine=s390/s390-32 ;;
393 s390x)          base_machine=s390 machine=s390/s390-64 ;;
394 sh3*)           base_machine=sh machine=sh/sh3 ;;
395 sh4*)           base_machine=sh machine=sh/sh4 ;;
396 sparc | sparcv[67])
397                 base_machine=sparc machine=sparc/sparc32 ;;
398 sparcv8 | supersparc | hypersparc)
399                 base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
400 sparcv8plus | sparcv8plusa | sparcv9)
401                 base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
402 sparcv8plusb | sparcv9b)
403                 base_machine=sparc machine=sparc/sparc32/sparcv9b ;;
404 sparc64 | ultrasparc)
405                 base_machine=sparc machine=sparc/sparc64 ;;
406 sparc64b | ultrasparc3)
407                 base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
408 thumb*)         base_machine=thumb machine=arm/thumb/$machine ;;
409 *)              base_machine=$machine ;;
410 esac
411 changequote([,])dnl
412 AC_SUBST(base_machine)
414 if test "$base_machine" = "i386"; then
415   AC_DEFINE(USE_REGPARMS)
418 # Compute the list of sysdep directories for this configuration.
419 # This can take a while to compute.
420 sysdep_dir=$srcdir/sysdeps
421 AC_MSG_CHECKING(sysdep dirs)
422 dnl We need to use [ and ] for other purposes for a while now.
423 changequote(,)dnl
424 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
425 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
427 case "$os" in
428 gnu*)
429   base_os=mach/hurd ;;
430 netbsd* | 386bsd* | freebsd* | bsdi*)
431   base_os=unix/bsd/bsd4.4 ;;
432 osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
433   base_os=unix/bsd ;;
434 sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
435   base_os=unix/sysv ;;
436 irix6*)
437   base_os=unix/sysv/irix6/$os ;;
438 solaris[2-9]*)
439   base_os=unix/sysv/sysv4 ;;
440 hpux*)
441   base_os=unix/sysv/hpux/$os ;;
442 aix4.3*)
443   base_os=unix/sysv/aix/aix4.3 ;;
444 none)
445   base_os=standalone ;;
447   base_os='' ;;
448 esac
450 # For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
451 tail=$os
452 ostry=$os
453 while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
454   ostry="$ostry /$o"
455   tail=$o
456 done
457 o=`echo $tail | sed 's/[0-9]*$//'`
458 if test $o != $tail; then
459   ostry="$ostry /$o"
461 # For linux-gnu, try linux-gnu, then linux.
462 o=`echo $tail | sed 's/-.*$//'`
463 if test $o != $tail; then
464   ostry="$ostry /$o"
467 # For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
468 base=
469 tail=$base_os
470 while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
471   set $b
472   base="$base /$1"
473   tail="$2"
474 done
476 # For sparc/sparc32, try sparc/sparc32 and then sparc.
477 mach=
478 tail=$machine
479 while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
480   set $m
481   # Prepend the machine's FPU directory unless --without-fp.
482   if test "$with_fp" = yes; then
483     mach="$mach /$1/fpu"
484   else
485     mach="$mach /$1/nofpu"
486   fi
487   mach="$mach /$1"
488   tail="$2"
489 done
491 dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
492 changequote([,])dnl
494 # Find what sysdep directories exist.
495 sysnames=
496 IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
497 for d in $add_ons_pfx ''; do
498   for b in $base ''; do
499     for m0 in $mach ''; do
500       for v in /$vendor ''; do
501         test "$v" = / && continue
502         for o in /$ostry ''; do
503           test "$o" = / && continue
504           for m in $mach ''; do
505             if test "$m0$b$v$o$m"; then
506               try="${d}sysdeps$m0$b$v$o$m"
507               test -n "$enable_debug_configure" &&
508               echo "$0 [DEBUG]: try $try" >&2
509               if test -d $srcdir/$try; then
510                 sysnames="$sysnames $try"
511                 { test -n "$o" || test -n "$b"; } && os_used=t
512                 { test -n "$m" || test -n "$m0"; } && machine_used=t
513               fi
514             fi
515           done
516         done
517       done
518     done
519   done
520 done
521 IFS="$ac_save_ifs"
523 if test -z "$os_used" && test "$os" != none; then
524   AC_MSG_ERROR(Operating system $os is not supported.)
526 if test -z "$machine_used" && test "$machine" != none; then
527   AC_MSG_ERROR(The $machine is not supported.)
530 # We have now validated the configuration.
533 # If using ELF, look for an `elf' subdirectory of each machine directory.
534 # We prepend these rather than inserting them whereever the machine appears
535 # because things specified by the machine's ELF ABI should override
536 # OS-specific things, and should always be the same for any OS on the
537 # machine (otherwise what's the point of an ABI?).
538 if test "$elf" = yes; then
539   elf_dirs=
540   for d in $add_ons_pfx ''; do
541     for m in $mach; do
542       if test -d $srcdir/${d}sysdeps$m/elf; then
543         elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
544       fi
545     done
546   done
547   sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
551 # Expand the list of system names into a full list of directories
552 # from each element's parent name and Implies file (if present).
553 set $sysnames
554 names=
555 while test $# -gt 0; do
556   name=$1
557   shift
559   case " $names " in *" $name "*)
560     # Already in the list.
561     continue
562   esac
564   # Report each name as we discover it, so there is no long pause in output.
565   echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
567   name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
569   case $name in
570     /*) xsrcdir= ;;
571     *)  xsrcdir=$srcdir/ ;;
572   esac
573   test -n "$enable_debug_configure" &&
574   echo "[DEBUG]: name/Implies $xsrcdir$name/Implies" >&2
576   if test -f $xsrcdir$name/Implies; then
577     # Collect more names from the `Implies' file (removing comments).
578     implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
579     implied=
580     for x in $implied_candidate; do
581       found=no
582       if test -d $xsrcdir$name_base/$x; then
583         implied="$implied $name_base/$x";
584         found=yes
585       fi
586       for d in $add_ons_pfx ''; do
587         try="${d}sysdeps/$x"
588         case $d in
589          /*) try_srcdir= ;;
590          *) try_srcdir=$srcdir/ ;;
591         esac
592         test -n "$enable_debug_configure" &&
593          echo "[DEBUG]: $name implied $x try($d) {$try_srcdir}$try" >&2
594         if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
595         then
596           implied="$implied $try"
597           found=yes
598         fi
599       done
600       if test $found = no; then
601         AC_MSG_WARN($name/Implies specifies nonexistent $x)
602       fi
603     done
604   else
605     implied=
606   fi
608   # Add NAME to the list of names.
609   names="$names $name"
611   # Find the parent of NAME, using the empty string if it has none.
612 changequote(,)dnl
613   parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
614 changequote([,])dnl
616   # Add the names implied by NAME, and NAME's parent (if it has one), to
617   # the list of names to be processed (the argument list).  We prepend the
618   # implied names to the list and append the parent.  We want implied
619   # directories to come before further directories inferred from the
620   # configuration components; this ensures that for sysv4, unix/common
621   # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
622   # after sysv4).
623   sysnames="`echo $implied $* $parent`"
624   test -n "$sysnames" && set $sysnames
625 done
627 # Add the default directories.
628 default_sysnames=sysdeps/generic
629 if test "$elf" = yes; then
630   default_sysnames="sysdeps/generic/elf $default_sysnames"
632 sysnames="$names $default_sysnames"
633 AC_SUBST(sysnames)
634 # The other names were emitted during the scan.
635 AC_MSG_RESULT($default_sysnames)
638 ### Locate tools.
640 AC_PROG_INSTALL
641 if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
642   # The makefiles need to use a different form to find it in $srcdir.
643   INSTALL='\$(..)./scripts/install-sh -c'
645 AC_PROG_LN_S
647 AC_PROG_CC
648 if test $host != $build; then
649   AC_CHECK_PROGS(BUILD_CC, gcc cc)
651 AC_SUBST(cross_compiling)
652 AC_PROG_CPP
653 LIBC_PROG_BINUTILS
654 AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
656 # Accept binutils 2.13 or newer.
657 AC_CHECK_PROG_VER(AS, $AS, --version,
658                   [GNU assembler.* \([0-9]*\.[0-9.]*\)],
659                   [2.1[3-9]*], AS=: critic_missing=t)
660 AC_CHECK_PROG_VER(LD, $LD, --version,
661                   [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
662                   [2.1[3-9]*], LD=: critic_missing=t)
664 # We need the physical current working directory.  We cannot use the
665 # "pwd -P" shell builtin since that's not portable.  Instead we try to
666 # find a pwd binary.  Note that assigning to the PWD environment
667 # variable might have some interesting side effects, so we don't do
668 # that.
669 AC_PATH_PROG(PWD_P, pwd, no)
670 if test "$PWD_P" = no; then
671   AC_MSG_ERROR(*** A pwd binary could not be found.)
674 # These programs are version sensitive.
675 AC_CHECK_TOOL_PREFIX
676 AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
677   [version \([egcygnustpi-]*[0-9.]*\)], [3.[2-9]*],
678   critic_missing="$critic_missing gcc")
679 AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
680   [GNU Make[^0-9]*\([0-9][0-9.]*\)],
681   [3.79* | 3.[89]*], critic_missing="$critic_missing make")
683 AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
684   [GNU gettext.* \([0-9]*\.[0-9.]*\)],
685   [0.10.3[6-9]* | 0.10.[4-9][0-9]* | 0.1[1-9]* | 0.[2-9][0-9]* | [1-9].*],
686   MSGFMT=: aux_missing="$aux_missing msgfmt")
687 AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
688   [GNU texinfo.* \([0-9][0-9.]*\)],
689   [4.*],
690   MAKEINFO=: aux_missing="$aux_missing makeinfo")
691 AC_CHECK_PROG_VER(SED, sed, --version,
692   [GNU sed version \([0-9]*\.[0-9.]*\)],
693   [3.0[2-9]*|3.[1-9]*|[4-9]*],
694   SED=: aux_missing="$aux_missing sed")
696 if test "x$with_cvs" != xyes; then
697   AC_CHECK_PROGS(AUTOCONF, autoconf, no)
698   case "x$AUTOCONF" in
699   xno|x|x:) AUTOCONF=no ;;
700   *)
701     AC_CACHE_CHECK(dnl
702 whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works, libc_cv_autoconf_works, [dnl
703     if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then
704       libc_cv_autoconf_works=yes
705     else
706       libc_cv_autoconf_works=no
707     fi])
708     test $libc_cv_autoconf_works = yes || AUTOCONF=no
709     ;;
710   esac
711   test "x$AUTOCONF" != xno || aux_missing="$aux_missing autoconf"
714 test -n "$critic_missing" && AC_MSG_ERROR([
715 *** These critical programs are missing or too old:$critic_missing
716 *** Check the INSTALL file for required versions.])
718 test -n "$aux_missing" && AC_MSG_WARN([
719 *** These auxiliary programs are missing or incompatible versions:$aux_missing
720 *** some features will be disabled.
721 *** Check the INSTALL file for required versions.])
723 # glibcbug.in wants to know the compiler version.
724 CCVERSION=`$CC -v 2>&1 | sed -n 's/gcc version //p'`
725 AC_SUBST(CCVERSION)
727 # if using special system headers, find out the compiler's sekrit
728 # header directory and add that to the list.  NOTE: Only does the right
729 # thing on a system that doesn't need fixincludes.  (Not presently a problem.)
730 if test -n "$sysheaders"; then
731   ccheaders=`$CC -print-file-name=include`
732   SYSINCLUDES="-nostdinc -isystem $ccheaders -isystem $sysheaders"
734 AC_SUBST(SYSINCLUDES)
736 # check if ranlib is necessary
737 AC_CACHE_CHECK(whether ranlib is necessary, libc_cv_ranlib_necessary, [dnl
738 cat > conftest.c <<EOF
739 int a;
740 char b;
741 void c(void) {}
743 $CC $CFLAGS -c conftest.c
744 $AR cr conftest.a conftest.o
745 cp conftest.a conftest2.a
746 $RANLIB conftest.a
747 if cmp -s conftest.a conftest2.a; then
748   libc_cv_ranlib_necessary=no
749 else
750   libc_cv_ranlib_necessary=yes
752 rm -rf conftest*])
753 if test "$libc_cv_ranlib_necessary" = no; then
754  RANLIB=:
757 # Test if LD_LIBRARY_PATH contains the notation for the current directory
758 # since this would lead to problems installing/building glibc.
759 # LD_LIBRARY_PATH contains the current directory if one of the following
760 # is true:
761 # - one of the terminals (":" and ";") is the first or last sign
762 # - two terminals occur directly after each other
763 # - the path contains an element with a dot in it
764 AC_MSG_CHECKING(LD_LIBRARY_PATH variable)
765 changequote(,)dnl
766 case ${LD_LIBRARY_PATH} in
767   [:\;]* | *[:\;] | *[:\;][:\;]* |  *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
768     ld_library_path_setting="contains current directory"
769     ;;
770   *)
771     ld_library_path_setting="ok"
772     ;;
773 esac
774 changequote([,])dnl
775 AC_MSG_RESULT($ld_library_path_setting)
776 if test "$ld_library_path_setting" != "ok"; then
777 AC_MSG_ERROR([
778 *** LD_LIBRARY_PATH shouldn't contain the current directory when
779 *** building glibc. Please change the environment variable
780 *** and run configure again.])
783 AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl
784 if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
785   libc_cv_gcc_static_libgcc=
786 else
787   libc_cv_gcc_static_libgcc=-static-libgcc
788 fi])
789 AC_SUBST(libc_cv_gcc_static_libgcc)
791 AC_PATH_PROG(BASH, bash, no)
792 if test "$BASH" != no &&
793    $BASH -c 'test "$BASH_VERSINFO" \
794              && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then
795   libc_cv_have_bash2=yes
796 else
797   libc_cv_have_bash2=no
799 AC_SUBST(libc_cv_have_bash2)
801 dnl We need a ksh compatible shell for tzselect.
802 if test "$BASH" = no; then
803   AC_PATH_PROG(KSH, ksh, no)
804   if test "$KSH" = no; then
805     libc_cv_have_ksh=no
806   else
807     libc_cv_have_ksh=yes
808   fi
809 else
810   KSH="$BASH"
811   AC_SUBST(KSH)
812   libc_cv_have_ksh=yes
814 AC_SUBST(libc_cv_have_ksh)
816 AC_PROG_AWK
817 AC_PATH_PROG(PERL, perl, no)
818 if test "$PERL" != no &&
819    (eval `$PERL -V:apiversion`; test `expr "$apiversion" \< 5` -ne 0); then
820   PERL=no
822 AC_PATH_PROG(INSTALL_INFO, install-info, no,
823              $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
824 if test "$INSTALL_INFO" != "no"; then
825 AC_CACHE_CHECK(for old Debian install-info, libc_cv_old_debian_install_info,
826  [mkdir conftest.d
827   # There is a hard ^_ on the next line.  I am open to better ideas.
828   (echo '\x1f'
829   echo 'File: dir       Node: Top       This is the top of the INFO tree'
830   echo '* Menu:') >conftest.d/dir
831   (echo 'INFO-DIR-SECTION i-d-s works'
832   echo 'START-INFO-DIR-ENTRY'
833   echo '* Prog: (prog).   Program.'
834   echo 'END-INFO-DIR-ENTRY') >conftest.d/prog.info
835   if $INSTALL_INFO --info-dir=conftest.d conftest.d/prog.info >&AS_MESSAGE_LOG_FD 2>&1
836   then
837     if grep -s 'i-d-s works' conftest.d/dir >/dev/null
838     then libc_cv_old_debian_install_info=no
839     else libc_cv_old_debian_install_info=yes
840     fi
841   else libc_cv_old_debian_install_info=no testfailed=t
842   fi
843   rm -fr conftest.d])
844 if test -n "$testfailed"
845 then AC_MSG_WARN([install-info errored out, check config.log])
847 OLD_DEBIAN_INSTALL_INFO=$libc_cv_old_debian_install_info
849 AC_SUBST(OLD_DEBIAN_INSTALL_INFO)
851 AC_PATH_PROG(BISON, bison, no, $PATH:/usr/local/bin:/usr/bin:/bin)
853 AC_CACHE_CHECK(for signed size_t type, libc_cv_signed_size_t, [dnl
854 echo '#include <stddef.h>
855 FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
856 if eval "$ac_cpp conftest.c 2>/dev/null" \
857 | grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then
858   libc_cv_signed_size_t=no
859 else
860   libc_cv_signed_size_t=yes
862 rm -f conftest*])
863 if test $libc_cv_signed_size_t = yes; then
864   dnl Do this by hand instead of AC_DEFINE so can add #undef to avoid warnings.
865   cat >> confdefs.h <<\EOF
866 #undef __SIZE_TYPE__
867 #define __SIZE_TYPE__ unsigned
871 AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl
872 AC_TRY_COMPILE(dnl
873 [#define __need_size_t
874 #define __need_wchar_t
875 #include <stddef.h>
876 #define __need_NULL
877 #include <stddef.h>], [size_t size; wchar_t wchar;
878 #ifdef offsetof
879 #error stddef.h ignored __need_*
880 #endif
881 if (&size == NULL || &wchar == NULL) abort ();],
882                libc_cv_friendly_stddef=yes,
883                libc_cv_friendly_stddef=no)])
884 if test $libc_cv_friendly_stddef = yes; then
885   config_vars="$config_vars
886 override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
889 AC_CACHE_CHECK(whether we need to use -P to assemble .S files,
890                libc_cv_need_minus_P, [dnl
891 cat > conftest.S <<EOF
892 #include "confdefs.h"
893 /* Nothing whatsoever.  */
895 if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.S 1>&AS_MESSAGE_LOG_FD); then
896   libc_cv_need_minus_P=no
897 else
898   libc_cv_need_minus_P=yes
900 rm -f conftest*])
901 if test $libc_cv_need_minus_P = yes; then
902   config_vars="$config_vars
903 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
906 AC_MSG_CHECKING(whether .text pseudo-op must be used)
907 AC_CACHE_VAL(libc_cv_dot_text, [dnl
908 cat > conftest.s <<EOF
909 .text
911 libc_cv_dot_text=
912 if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
913   libc_cv_dot_text=.text
915 rm -f conftest*])
916 if test -z "$libc_cv_dot_text"; then
917   AC_MSG_RESULT(no)
918 else
919   AC_MSG_RESULT(yes)
922 AC_CACHE_CHECK(for assembler global-symbol directive,
923                libc_cv_asm_global_directive, [dnl
924 libc_cv_asm_global_directive=UNKNOWN
925 for ac_globl in .globl .global .EXPORT; do
926   cat > conftest.s <<EOF
927         ${libc_cv_dot_text}
928         ${ac_globl} foo
929 foo:
931   if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
932     libc_cv_asm_global_directive=${ac_globl}
933   fi
934   rm -f conftest*
935   test $libc_cv_asm_global_directive != UNKNOWN && break
936 done])
937 if test $libc_cv_asm_global_directive = UNKNOWN; then
938   AC_MSG_ERROR(cannot determine asm global directive)
939 else
940   AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
943 AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
944 cat > conftest.s <<EOF
945 ${libc_cv_dot_text}
946 foo:
947 .set glibc_conftest_frobozz,foo
948 $libc_cv_asm_global_directive glibc_conftest_frobozz
950 # The alpha-dec-osf1 assembler gives only a warning for `.set'
951 # (but it doesn't work), so we must do a linking check to be sure.
952 cat > conftest1.c <<\EOF
953 extern int glibc_conftest_frobozz;
954 main () { printf ("%d\n", glibc_conftest_frobozz); }
956 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
957             -o conftest conftest.s conftest1.c 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
958   libc_cv_asm_set_directive=yes
959 else
960   libc_cv_asm_set_directive=no
962 rm -f conftest*])
963 if test $libc_cv_asm_set_directive = yes; then
964   AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
967 AC_CACHE_CHECK(for assembler .type directive prefix,
968                libc_cv_asm_type_prefix, [dnl
969 libc_cv_asm_type_prefix=no
970 for ac_try_prefix in '@' '%' '#'; do
971   cat > conftest.s <<EOF
972         ${libc_cv_dot_text}
973         ${libc_cv_asm_global_directive} foo
974         .type foo, ${ac_try_prefix}object
975         .size foo, 1
976 foo:
977         .byte 1
979   if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
980     libc_cv_asm_type_prefix=${ac_try_prefix}
981   fi
982   rm -f conftest*
983   test "x$libc_cv_asm_type_prefix" != xno && break
984 done])
985 if test "x$libc_cv_asm_type_prefix" != xno; then
986   AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
989 # The Aix ld uses global .symbol_names instead of symbol_names.
990 # Unfortunately also used in the PPC64 ELF ABI.
991 case "${os}${machine}" in
992 aix4.3* | linux*powerpc/powerpc64*)
993   AC_DEFINE(HAVE_ASM_GLOBAL_DOT_NAME)
994 esac
996 AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
997 [cat > conftest.s <<EOF
998 ${libc_cv_dot_text}
999 _sym:
1000 .symver _sym,sym@VERS
1002 if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1003   libc_cv_asm_symver_directive=yes
1004 else
1005   libc_cv_asm_symver_directive=no
1007 rm -f conftest*])
1008 AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
1009 if test $libc_cv_asm_symver_directive = yes; then
1010   cat > conftest.s <<EOF
1011 ${libc_cv_dot_text}
1012 _sym:
1013 .symver _sym,sym@VERS
1015   cat > conftest.map <<EOF
1016 VERS_1 {
1017         global: sym;
1020 VERS_2 {
1021         global: sym;
1022 } VERS_1;
1024   if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1025     if AC_TRY_COMMAND([${CC-cc} $CFLAGS -shared -o conftest.so conftest.o
1026                                         -nostartfiles -nostdlib
1027                                         -Wl,--version-script,conftest.map
1028                        1>&AS_MESSAGE_LOG_FD]);
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
1037 else
1038   libc_cv_ld_version_script_option=no
1040 rm -f conftest*])
1041 if test $shared != no &&
1042    test $libc_cv_asm_symver_directive = yes &&
1043    test $libc_cv_ld_version_script_option = yes &&
1044    test $enable_versioning = yes; then
1045   VERSIONING=yes
1046   AC_DEFINE(DO_VERSIONING)
1047 else
1048   VERSIONING=no
1050 AC_SUBST(VERSIONING)
1052 if test $elf = yes && test $shared != no && test $VERSIONING = no; then
1053   echo "\
1054 *** WARNING: You should not compile GNU libc without versioning. Not using
1055 *** versioning will introduce incompatibilities so that old binaries
1056 *** will not run anymore.
1057 *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
1059 if 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
1066   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
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
1081     if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
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
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
1095 foo:
1096 .hidden bar
1097 bar:
1099   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
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)
1106   AC_DEFINE(HAVE_PROTECTED)
1107   AC_DEFINE(HAVE_HIDDEN)
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;
1116                   libc_cv_visibility_attribute=no
1117                   if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
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
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; }
1139                   libc_cv_broken_visibility_attribute=yes
1140                   if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s1>&AS_MESSAGE_LOG_FD); then
1141 changequote(,)dnl
1142                     if grep '\.hidden[  _]foo' conftest.s >/dev/null; then
1143 changequote([,])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
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; }
1159                   extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
1160                   extern int dfoo;
1161                   extern __typeof (dfoo) dfoo __asm ("abccb");
1162                   int dfoo = 1;
1164                   libc_cv_broken_alias_attribute=yes
1165                   if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1166                     if grep 'xyzzy' conftest.s >/dev/null &&
1167                        grep 'abccb' conftest.s >/dev/null; then
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
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
1182                   if ${CC-cc} -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
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
1193   AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
1194                  libc_cv_initfinit_array, [dnl
1195   cat > conftest.c <<EOF
1196 int _start (void) { return 0; }
1197 int __start (void) { return 0; }
1198 int foo (void) { return 1; }
1199 int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
1201   if AC_TRY_COMMAND([${CC-cc} -o conftest conftest.c
1202                      -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
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
1218   AC_CACHE_CHECK(for -z nodelete option,
1219                  libc_cv_z_nodelete, [dnl
1220   cat > conftest.c <<EOF
1221 int _start (void) { return 42; }
1223   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1224                      -nostartfiles -nostdlib
1225                      -Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD])
1226   then
1227     libc_cv_z_nodelete=yes
1228   else
1229     libc_cv_z_nodelete=no
1230   fi
1231   rm -f conftest*])
1232   AC_SUBST(libc_cv_z_nodelete)
1234   AC_CACHE_CHECK(for -z nodlopen option,
1235                  libc_cv_z_nodlopen, [dnl
1236   cat > conftest.c <<EOF
1237 int _start (void) { return 42; }
1239   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1240                         -nostartfiles -nostdlib
1241                         -Wl,--enable-new-dtags,-z,nodlopen 1>&AS_MESSAGE_LOG_FD])
1242   then
1243     libc_cv_z_nodlopen=yes
1244   else
1245     libc_cv_z_nodlopen=no
1246   fi
1247   rm -f conftest*])
1248   AC_SUBST(libc_cv_z_nodlopen)
1250   AC_CACHE_CHECK(for -z initfirst option,
1251                  libc_cv_z_initfirst, [dnl
1252   cat > conftest.c <<EOF
1253 int _start (void) { return 42; }
1255   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1256                         -nostartfiles -nostdlib
1257                         -Wl,--enable-new-dtags,-z,initfirst 1>&AS_MESSAGE_LOG_FD])
1258   then
1259     libc_cv_z_initfirst=yes
1260   else
1261     libc_cv_z_initfirst=no
1262   fi
1263   rm -f conftest*])
1264   AC_SUBST(libc_cv_z_initfirst)
1266   AC_CACHE_CHECK(for -Bgroup option,
1267                  libc_cv_Bgroup, [dnl
1268   cat > conftest.c <<EOF
1269 int _start (void) { return 42; }
1271   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c -Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD])
1272   then
1273     libc_cv_Bgroup=yes
1274   else
1275     libc_cv_Bgroup=no
1276   fi
1277   rm -f conftest*])
1278   AC_SUBST(libc_cv_Bgroup)
1280   AC_CACHE_CHECK(for -z combreloc,
1281                  libc_cv_z_combreloc, [dnl
1282   cat > conftest.c <<EOF
1283 extern int bar (int);
1284 extern int mumble;
1285 int foo (void) { return bar (mumble); }
1287   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1288                         -nostdlib -nostartfiles
1289                         -Wl,-z,combreloc 1>&AS_MESSAGE_LOG_FD])
1290   then
1291 dnl The following test is a bit weak.  We must use a tool which can test
1292 dnl cross-platform since the gcc used can be a cross compiler.  Without
1293 dnl introducing new options this is not easily doable.  Instead use a tool
1294 dnl which always is cross-platform: readelf.  To detect whether -z combreloc
1295 dnl look for a section named .rel.dyn.
1296     if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
1297       libc_cv_z_combreloc=yes
1298     else
1299       libc_cv_z_combreloc=no
1300     fi
1301   else
1302     libc_cv_z_combreloc=no
1303   fi
1304   rm -f conftest*])
1305   if test "$libc_cv_z_combreloc" = yes; then
1306     AC_DEFINE(HAVE_Z_COMBRELOC)
1307   fi
1309 AC_SUBST(libc_cv_z_combreloc)
1311 if test $elf != yes; then
1312   AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
1313                  [AC_TRY_COMPILE(, [asm (".section .init");
1314                                     asm (".section .fini");
1315                                     asm ("${libc_cv_dot_text}");],
1316                                  libc_cv_have_initfini=yes,
1317                                  libc_cv_have_initfini=no)])
1318   AC_SUBST(libc_cv_have_initfini)dnl
1319   if test $libc_cv_have_initfini = yes; then
1320     AC_DEFINE(HAVE_INITFINI)
1321   fi
1324 if test $elf = yes -a $gnu_ld = yes; then
1325   AC_CACHE_CHECK(whether cc puts quotes around section names,
1326                  libc_cv_have_section_quotes,
1327                  [cat > conftest.c <<EOF
1328                   static const int foo
1329                   __attribute__ ((section ("bar"))) = 1;
1331                   if ${CC-cc} -S conftest.c -o conftest.s; then
1332                     if grep '\.section.*"bar"' conftest.s >/dev/null; then
1333                       libc_cv_have_section_quotes=yes
1334                     else
1335                       libc_cv_have_section_quotes=no
1336                     fi
1337                   else
1338                     libc_cv_have_section_quotes=unknown
1339                   fi
1340                   rm -f conftest.[cs]
1341                  ])
1342   if test $libc_cv_have_section_quotes = yes; then
1343     AC_DEFINE(HAVE_SECTION_QUOTES)
1344   fi
1347 dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1348 AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
1349 [cat > conftest.$ac_ext <<EOF
1350 dnl This sometimes fails to find confdefs.h, for some reason.
1351 dnl [#]line __oline__ "[$]0"
1352 [#]line __oline__ "configure"
1353 #include "confdefs.h"
1354 void underscore_test(void) {
1355 return; }
1357 if AC_TRY_EVAL(ac_compile); then
1358   if grep _underscore_test conftest* >/dev/null; then
1359     ifelse([$1], , :, [rm -f conftest*
1360     $1])
1361   else
1362     ifelse([$2], , , [rm -f conftest*
1363     $2])
1364   fi
1365 else
1366   echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
1367   cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
1368   ifelse([$2], , , [rm -f conftest*
1369   $2])
1371 rm -f conftest*])
1373 if test $elf = yes; then
1374   libc_cv_asm_underscores=no
1375 else
1376   if test $ac_cv_prog_cc_works = yes; then
1377     AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1378                    [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
1379                                 libc_cv_asm_underscores=yes,
1380                                 libc_cv_asm_underscores=no)])
1381   else
1382     AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1383                    [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
1384                                             libc_cv_asm_underscores=no)])
1385   fi
1387 if test $libc_cv_asm_underscores = no; then
1388   AC_DEFINE(NO_UNDERSCORES)
1391 if test $elf = yes; then
1392   libc_cv_weak_symbols=yes
1395 AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
1396                [dnl
1397 cat > conftest.s <<EOF
1398 ${libc_cv_dot_text}
1399 ${libc_cv_asm_global_directive} foo
1400 foo:
1401 .weak foo
1402 .weak bar; bar = foo
1404 if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1405   libc_cv_asm_weak_directive=yes
1406 else
1407   libc_cv_asm_weak_directive=no
1409 rm -f conftest*])
1411 if test $libc_cv_asm_weak_directive = no; then
1412   AC_CACHE_CHECK(for assembler .weakext directive,
1413                  libc_cv_asm_weakext_directive,
1414                  [dnl
1415 cat > conftest.s <<EOF
1416 ${libc_cv_dot_text}
1417 ${libc_cv_asm_global_directive} foo
1418 foo:
1419 .weakext bar foo
1420 .weakext baz
1421 ${libc_cv_asm_global_directive} baz
1422 baz:
1424   if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1425     libc_cv_asm_weakext_directive=yes
1426   else
1427     libc_cv_asm_weakext_directive=no
1428   fi
1429   rm -f conftest*])
1431 fi # no .weak
1433 if test $libc_cv_asm_weak_directive = yes; then
1434   AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
1435 elif test $libc_cv_asm_weakext_directive = yes; then
1436   AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
1439 dnl The standard hppa assembler uses `;' to start comments and `!'
1440 dnl as a line separator.  CRIS uses `;' to start comments and `@' for
1441 dnl line separator.
1442 case "${host_cpu}-${host_os}" in
1443   cris*)
1444     libc_cv_asm_line_sep='@'
1445     AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
1446     ;;
1447   hppa*linux*)
1448   AC_CACHE_CHECK(for assembler line separator,
1449                  libc_cv_asm_line_sep, [dnl
1450   cat > conftest.s <<EOF
1451  nop ; is_old_puffin
1453   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1454     libc_cv_asm_line_sep='!'
1455   else
1456     if test -z "$enable_hacker_mode"; then
1457       echo "*** You need a newer assembler to compile glibc"
1458       rm -f conftest*
1459       exit 1
1460     fi
1461     libc_cv_asm_line_sep=';'
1462   fi
1463   rm -f conftest*])
1464   AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
1465   ;;
1466 esac
1468 AC_CACHE_CHECK(if -g produces usable source locations for assembler-with-cpp,
1469                libc_cv_cpp_asm_debuginfo, [dnl
1470 cat > conftest.S <<EOF
1471 #include "confdefs.h"
1473 /* comment on
1474    two lines */
1475         ${libc_cv_dot_text}
1476         ${libc_cv_asm_global_directive} foo
1477 foo:
1478         /* Unfortunately this test only works for a real instruction,
1479            not for any of the machine-independent pseudo-ops.
1480            So we just have to assume everybody has a "nop".  */
1481         nop
1482         /* comment */
1483         nop
1484         /* comment */
1485         nop
1487 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -g -c conftest.S 1>&AS_MESSAGE_LOG_FD]) &&
1488    ac_pattern='conftest\.S'
1489    AC_TRY_COMMAND([readelf --debug-dump=line conftest.o |
1490                    grep $ac_pattern 1>&AS_MESSAGE_LOG_FD]); then
1491   libc_cv_cpp_asm_debuginfo=yes
1492 else
1493   libc_cv_cpp_asm_debuginfo=no
1495 rm -f conftest*])AC_SUBST(libc_cv_cpp_asm_debuginfo)
1496 if test $libc_cv_cpp_asm_debuginfo = yes; then
1497   AC_DEFINE(HAVE_CPP_ASM_DEBUGINFO)
1500 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
1501 cat > conftest.c <<\EOF
1502 _start () {}
1503 int __eh_pc;
1504 __throw () {}
1506 dnl No \ in command here because it ends up inside ''.
1507 if AC_TRY_COMMAND([${CC-cc} $CFLAGS
1508                             -nostdlib -nostartfiles -Wl,--no-whole-archive
1509                             -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1510   libc_cv_ld_no_whole_archive=yes
1511 else
1512   libc_cv_ld_no_whole_archive=no
1514 rm -f conftest*])
1515 if test $libc_cv_ld_no_whole_archive = yes; then
1516   no_whole_archive=-Wl,--no-whole-archive
1518 AC_SUBST(no_whole_archive)dnl
1520 AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
1521 cat > conftest.c <<\EOF
1522 _start () {}
1523 int __eh_pc;
1524 __throw () {}
1526 dnl No \ in command here because it ends up inside ''.
1527 if AC_TRY_COMMAND([${CC-cc} $CFLAGS
1528                             -nostdlib -nostartfiles -fexceptions
1529                             -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1530   libc_cv_gcc_exceptions=yes
1531 else
1532   libc_cv_gcc_exceptions=no
1534 rm -f conftest*])
1535 if test $libc_cv_gcc_exceptions = yes; then
1536   exceptions=-fexceptions
1538 AC_SUBST(exceptions)dnl
1540 if test "$host_cpu" = powerpc ; then
1541 # Check for a bug present in at least versions 2.8.x of GCC
1542 # and versions 1.0.x of EGCS.
1543 AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
1544 AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
1545                libc_cv_c_asmcr0_bug='no',
1546                libc_cv_c_asmcr0_bug='yes')])
1547 if test "$libc_cv_c_asmcr0_bug" != 'no'; then
1548   AC_DEFINE(BROKEN_PPC_ASM_CR0)
1552 AC_CACHE_CHECK(for DWARF2 unwind info support, libc_cv_gcc_dwarf2_unwind_info,
1553 [cat > conftest.c <<EOF
1554 #line __oline__ "configure"
1555 static char *__EH_FRAME_BEGIN__;
1556 _start ()
1558 #ifdef CHECK__register_frame
1559   __register_frame (__EH_FRAME_BEGIN__);
1560   __deregister_frame (__EH_FRAME_BEGIN__);
1561 #endif
1562 #ifdef CHECK__register_frame_info
1563   __register_frame_info (__EH_FRAME_BEGIN__);
1564   __deregister_frame_info (__EH_FRAME_BEGIN__);
1565 #endif
1567 int __eh_pc;
1568 __throw () {}
1569 /* FIXME: this is fragile.  */
1570 malloc () {}
1571 strcmp () {}
1572 strlen () {}
1573 memcpy () {}
1574 memset () {}
1575 free () {}
1576 abort () {}
1577 __bzero () {}
1578 dl_iterate_phdr () {}
1580 dnl No \ in command here because it ends up inside ''.
1581 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -DCHECK__register_frame_info
1582                             -nostdlib -nostartfiles
1583                             -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1584   libc_cv_gcc_dwarf2_unwind_info=static
1585 else
1586   libc_cv_gcc_dwarf2_unwind_info=no
1588 # Some platforms' specs put -lgcc first.  The second one doesn't hurt.
1589 libc_unwind_check="${CC-cc} $CFLAGS -DCHECK__register_frame_info \
1590                             -nostdlib -nostartfiles -o conftest conftest.c \
1591                             -lgcc -lgcc_eh -lgcc"
1592 if AC_TRY_COMMAND([$libc_unwind_check >&AS_MESSAGE_LOG_FD]); then
1593   if $libc_unwind_check -v 2>&1 >/dev/null \
1594      | grep -q -- --eh-frame-hdr; then
1595     libc_cv_gcc_dwarf2_unwind_info=no_registry_needed
1596   else
1597     libc_cv_gcc_dwarf2_unwind_info=static
1598   fi
1599 else
1600   libc_cv_gcc_dwarf2_unwind_info=no
1602 if test $libc_cv_gcc_dwarf2_unwind_info = no; then
1603   if AC_TRY_COMMAND([${CC-cc} $CFLAGS -DCHECK__register_frame
1604                               -nostdlib -nostartfiles
1605                               -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1606     libc_cv_gcc_dwarf2_unwind_info=yes
1607   else
1608     libc_cv_gcc_dwarf2_unwind_info=no
1609   fi
1611 rm -f conftest*])
1612 case $libc_cv_gcc_dwarf2_unwind_info in
1613 yes)
1614   AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1615   ;;
1616 static)
1617   AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1618   AC_DEFINE(HAVE_DWARF2_UNWIND_INFO_STATIC)
1619   ;;
1620 esac
1622 dnl Check whether compiler understands __builtin_expect.
1623 AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
1624 [cat > conftest.c <<EOF
1625 #line __oline__ "configure"
1626 int foo (int a)
1628   a = __builtin_expect (a, 10);
1629   return a == 10 ? 0 : 1;
1632 dnl No \ in command here because it ends up inside ''.
1633 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -nostdlib -nostartfiles
1634                             -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1635   libc_cv_gcc_builtin_expect=yes
1636 else
1637   libc_cv_gcc_builtin_expect=no
1639 rm -f conftest*])
1640 if test "$libc_cv_gcc_builtin_expect" = yes; then
1641   AC_DEFINE(HAVE_BUILTIN_EXPECT)
1644 AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
1645 cat > conftest.c <<\EOF
1646 void zero (void *x)
1648   __builtin_memset (x, 0, 1000);
1652 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
1653 then
1654   libc_cv_gcc_builtin_memset=no
1655 else
1656   libc_cv_gcc_builtin_memset=yes
1658 rm -f conftest* ])
1659 if test "$libc_cv_gcc_builtin_memset" = yes ; then
1660   AC_DEFINE(HAVE_BUILTIN_MEMSET)
1663 dnl Check whether the compiler supports subtraction of local labels.
1664 AC_CACHE_CHECK(for local label subtraction, libc_cv_gcc_subtract_local_labels,
1665 [cat > conftest.c <<EOF
1666 changequote(,)dnl
1667 #line __oline__ "configure"
1668 int foo (int a)
1670   static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
1671   void *p = &&l1 + ar[a];
1672   goto *p;
1673  l1:
1674   return 1;
1675  l2:
1676   return 2;
1678 changequote([,])dnl
1680 dnl No \ in command here because it ends up inside ''.
1681 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -nostdlib -nostartfiles
1682                             -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1683   libc_cv_gcc_subtract_local_labels=yes
1684 else
1685   libc_cv_gcc_subtract_local_labels=no
1687 rm -f conftest*])
1688 if test "$libc_cv_gcc_subtract_local_labels" = yes; then
1689   AC_DEFINE(HAVE_SUBTRACT_LOCAL_LABELS)
1692 dnl Check whether the compiler supports the __thread keyword.
1693 if test "x$use__thread" != xno; then
1694   AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
1695   [cat > conftest.c <<\EOF
1696 __thread int a = 42;
1698   if AC_TRY_COMMAND([${CC-cc} $CFLAGS -c conftest.c >&AS_MESSAGE_LOG_FD]); then
1699     libc_cv_gcc___thread=yes
1700   else
1701     libc_cv_gcc___thread=no
1702   fi
1703   rm -f conftest*])
1704   if test "$libc_cv_gcc___thread" = yes; then
1705     AC_DEFINE(HAVE___THREAD)
1706   fi
1707 else
1708   libc_cv_gcc___thread=no
1711 if test "$libc_cv_gcc___thread" = yes; then
1712   dnl Check whether the compiler supports the tls_model attribute.
1713   AC_CACHE_CHECK([for tls_model attribute], libc_cv_gcc_tls_model_attr, [dnl
1714   cat > conftest.c <<\EOF
1715 extern __thread int a __attribute__((tls_model ("initial-exec")));
1717   if AC_TRY_COMMAND([${CC-cc} $CFLAGS -S -Werror conftest.c >&AS_MESSAGE_LOG_FD]); then
1718     libc_cv_gcc_tls_model_attr=yes
1719   else
1720     libc_cv_gcc_tls_model_attr=no
1721   fi
1722   rm -f conftest*])
1723   if test "$libc_cv_gcc_tls_model_attr" = yes; then
1724     AC_DEFINE(HAVE_TLS_MODEL_ATTRIBUTE)
1725   fi
1728 dnl Check whether we have the gd library available.
1729 AC_MSG_CHECKING(for libgd)
1730 if test "$with_gd" != "no"; then
1731   old_CFLAGS="$CFLAGS"
1732   CFLAGS="$CFLAGS $libgd_include"
1733   old_LDFLAGS="$LDFLAGS"
1734   LDFLAGS="$LDFLAGS $libgd_ldflags"
1735   old_LIBS="$LIBS"
1736   LIBS="$LIBS -lgd -lpng -lz -lm"
1737   AC_TRY_LINK([#include <gd.h>], [gdImagePng (0, 0)], LIBGD=yes, LIBGD=no)
1738   CFLAGS="$old_CFLAGS"
1739   LDFLAGS="$old_LDFLAGS"
1740   LIBS="$old_LIBS"
1741 else
1742   LIBGD=no
1744 AC_MSG_RESULT($LIBGD)
1745 AC_SUBST(LIBGD)
1747 dnl check for the size of 'long double'.
1748 AC_CHECK_SIZEOF(long double, 0)
1749 sizeof_long_double=$ac_cv_sizeof_long_double
1750 AC_SUBST(sizeof_long_double)
1752 ### End of automated tests.
1753 ### Now run sysdeps configure fragments.
1755 # They also can set these variables.
1756 use_ldconfig=no
1757 ldd_rewrite_script=no
1758 libc_cv_sysconfdir=$sysconfdir
1759 libc_cv_gcc_unwind_find_fde=no
1761 # Iterate over all the sysdep directories we will use, running their
1762 # configure fragments, and looking for a uname implementation.
1763 uname=
1764 for dir in $sysnames; do
1765   case $dir in
1766     /*) dest=$dir ;;
1767     *)  dest=$srcdir/$dir ;;
1768   esac
1769   if test -r $dest/configure; then
1770     AC_MSG_RESULT(running configure fragment for $dir)
1771     . $dest/configure
1772   fi
1774   if test -z "$uname"; then
1775     if test -r $dest/uname.c ||
1776        test -r $dest/uname.S ||
1777        { test -r $dest/syscalls.list &&
1778          grep '^uname[  ]' $dest/syscalls.list >/dev/null; }; then
1779       uname=$dir
1780     fi
1781   fi
1782 ]dnl
1783 done
1785 if test x$libc_cv_gcc_unwind_find_fde = xyes; then
1786   AC_DEFINE(EXPORT_UNWIND_FIND_FDE)
1788 AC_SUBST(libc_cv_gcc_unwind_find_fde)
1790 # If we will use the generic uname implementation, we must figure out what
1791 # it will say by examining the system, and write the results in config-name.h.
1792 if test "$uname" = "sysdeps/generic"; then
1794 changequote(,)dnl
1795   uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
1796 changequote([,])dnl
1797   if test $uname_sysname != $config_os; then
1798     config_release=`echo $config_os | sed s/$uname_sysname//`
1799   fi
1801 AC_DEFUN(LIBC_KERNEL_ID, [dnl
1802     if test -r /vmunix; then
1803       kernel_id=`strings /vmunix | grep UNIX`
1804     elif test -r /dynix; then
1805       kernel_id=`strings /dynix | grep DYNIX`
1806     else
1807       kernel_id=
1808     fi
1809 ])dnl
1811   AC_CACHE_CHECK(OS release for uname, libc_cv_uname_release, [dnl
1812 LIBC_KERNEL_ID
1813 changequote(,)dnl
1814   kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
1815 changequote([,])dnl
1816   if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
1817          != x$config_release; then
1818     # The configuration release is a substring of the kernel release.
1819     libc_cv_uname_release=$kernel_release
1820   elif test x$config_release != x; then
1821     libc_cv_uname_release=$config_release
1822   elif test x$kernel_release != x; then
1823     libc_cv_uname_release=$kernel_release
1824   else
1825     libc_cv_uname_release=unknown
1826   fi])
1827   uname_release="$libc_cv_uname_release"
1829   AC_CACHE_CHECK(OS version for uname, libc_cv_uname_version, [dnl
1830 LIBC_KERNEL_ID
1831 changequote(,)dnl
1832   kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
1833 changequote([,])dnl
1834   if test -n "$kernel_version"; then
1835     libc_cv_uname_version="$kernel_version"
1836   else
1837     libc_cv_uname_version=unknown
1838   fi])
1839   uname_version="$libc_cv_uname_version"
1841 AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl
1842   config_uname=config-name.h:config-name.in
1843 else
1844   # For non-generic uname, we don't need to create config-name.h at all.
1845   config_uname=
1848 dnl This is tested by existing code and it's simpler to avoid changing it.
1849 AC_DEFINE(USE_IN_LIBIO)
1851 # Test for old glibc 2.0.x headers so that they can be removed properly
1852 # Search only in includedir.
1853 AC_MSG_CHECKING(for old glibc 2.0.x headers)
1854 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
1855 then
1856   old_glibc_headers=yes
1857 else
1858   old_glibc_headers=no
1860 AC_MSG_RESULT($old_glibc_headers)
1861 if test ${old_glibc_headers} = yes; then
1862   AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
1863   AC_MSG_WARN(*** be removed.)
1865 AC_SUBST(old_glibc_headers)
1867 AC_SUBST(libc_cv_slibdir)
1868 AC_SUBST(libc_cv_localedir)
1869 AC_SUBST(libc_cv_sysconfdir)
1870 AC_SUBST(libc_cv_rootsbindir)
1872 AC_SUBST(use_ldconfig)
1873 AC_SUBST(ldd_rewrite_script)
1875 AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) AC_SUBST(xcoff)
1876 if test $gnu_ld = yes; then
1877   AC_DEFINE(HAVE_GNU_LD)
1879 if test $gnu_as = yes; then
1880   AC_DEFINE(HAVE_GNU_AS)
1882 if test $elf = yes; then
1883   AC_DEFINE(HAVE_ELF)
1885 if test $xcoff = yes; then
1886   AC_DEFINE(HAVE_XCOFF)
1889 AC_SUBST(static)
1890 AC_SUBST(shared)
1891 if test $shared = default; then
1892   if test $gnu_ld = yes; then
1893     shared=$elf
1894   else
1895     # For now we do not assume shared libs are available.  In future more
1896     # tests might become available.
1897     shared=no
1898   fi
1901 AC_CACHE_CHECK([whether -fPIC is default], pic_default,
1902 [pic_default=yes
1903 cat > conftest.c <<EOF
1904 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
1905 # error PIC is default.
1906 #endif
1908 if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
1909   pic_default=no
1911 rm -f conftest.*])
1912 AC_SUBST(pic_default)
1914 AC_SUBST(profile)
1915 AC_SUBST(omitfp)
1916 AC_SUBST(bounded)
1917 AC_SUBST(static_nss)
1918 AC_SUBST(nopic_initfini)
1920 AC_SUBST(DEFINES)
1922 case "$add_ons" in
1923   *door*) linux_doors=yes ;;
1924   *) linux_doors=no ;;
1925 esac
1926 AC_SUBST(linux_doors)
1928 dnl See sysdeps/mach/configure.in for this variable.
1929 AC_SUBST(mach_interface_list)
1931 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
1932   config_makefile=
1933 else
1934   config_makefile=Makefile
1937 VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
1938 RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
1939 AC_SUBST(VERSION)
1940 AC_SUBST(RELEASE)
1942 AC_CONFIG_FILES([config.make glibcbug ${config_makefile} ${config_uname}])
1943 AC_CONFIG_COMMANDS([default],[[
1944 case $CONFIG_FILES in *config.make*)
1945 echo "$config_vars" >> config.make;;
1946 esac
1947 test -d bits || mkdir bits]],[[config_vars='$config_vars']])
1948 AC_OUTPUT