* sysdeps/unix/sysv/linux/m68k/sysdep.h: Support inline syscall
[glibc.git] / configure.in
blob2804c3f8b1c8b331dffe9b4c6a6325e19928955e
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 # This will get text that should go into config.make.
10 config_vars=
12 # Check for a --with-gmp argument and set gmp-srcdir in config.make.
13 AC_ARG_WITH([gmp],
14             AC_HELP_STRING([--with-gmp=DIRECTORY],
15                            [find GMP source code in DIRECTORY (not needed)]),
16             [
17 case "$with_gmp" in
18 yes) AC_MSG_ERROR([--with-gmp requires an argument; use --with-gmp=DIRECTORY]) ;;
19 ''|no) ;;
20 *) config_vars="$config_vars
21 gmp-srcdir = $withval" ;;
22 esac
24 # Check for a --with-gd argument and set libgd-LDFLAGS in config.make.
25 AC_ARG_WITH([gd],
26             AC_HELP_STRING([--with-gd=DIR],
27                            [find libgd include dir and library with prefix DIR]),
28             [dnl
29 case "$with_gd" in
30 yes|''|no) ;;
31 *) libgd_include="-I$withval/include"
32    libgd_ldflags="-L$withval/lib" ;;
33 esac
35 AC_ARG_WITH([gd-include],
36             AC_HELP_STRING([--with-gd-include=DIR],
37                            [find libgd include files in DIR]),
38             [dnl
39 case "$with_gd_include" in
40 ''|no) ;;
41 *) libgd_include="-I$withval" ;;
42 esac
44 AC_ARG_WITH([gd-lib],
45             AC_HELP_STRING([--with-gd-lib=DIR],
46                            [find libgd library files in DIR]),
47             [dnl
48 case "$with_gd_lib" in
49 ''|no) ;;
50 *) libgd_ldflags="-L$withval" ;;
51 esac
54 if test -n "$libgd_include"; then
55   config_vars="$config_vars
56 CFLAGS-memusagestat.c = $libgd_include"
58 if test -n "$libgd_ldflags"; then
59   config_vars="$config_vars
60 libgd-LDFLAGS = $libgd_ldflags"
63 dnl Arguments to specify presence of other packages/features.
64 AC_ARG_WITH([fp],
65             AC_HELP_STRING([--with-fp],
66                            [if using floating-point hardware @<:@default=yes@:>@]),
67             [with_fp=$withval],
68             [with_fp=yes])
69 AC_SUBST(with_fp)
70 AC_ARG_WITH([binutils],
71             AC_HELP_STRING([--with-binutils=PATH],
72                            [specify location of binutils (as and ld)]),
73             [path_binutils=$withval],
74             [path_binutils=''])
75 AC_ARG_WITH([elf],
76             AC_HELP_STRING([--with-elf],
77                            [if using the ELF object format]),
78             [elf=$withval],
79             [elf=no])
80 AC_ARG_WITH([xcoff],
81             AC_HELP_STRING([--with-xcoff],
82                            [if using the XCOFF object format]),
83             [xcoff=$withval],
84             [xcoff=no])
85 AC_ARG_WITH([cvs],
86             AC_HELP_STRING([--without-cvs],
87                            [if CVS should not be used]),
88             [with_cvs=$withval],
89             [with_cvs=yes])
90 if test "$with_cvs" = yes; then
91   if test -d $srcdir/CVS && grep :pserver: $srcdir/CVS/Root > /dev/null
92   then
93     with_cvs=no
94   fi
96 AC_SUBST(with_cvs)
98 AC_ARG_WITH([headers],
99             AC_HELP_STRING([--with-headers=PATH],
100                            [location of system headers to use
101                             (for example /usr/src/linux/include)
102                             @<:@default=compiler default@:>@]),
103             [sysheaders=$withval],
104             [sysheaders=''])
106 AC_ARG_ENABLE([sanity-checks],
107               AC_HELP_STRING([--disable-sanity-checks],
108                              [really do not use threads (should not be used except in special situations) @<:@default=yes@:>@]),
109               [enable_sanity=$enableval],
110               [enable_sanity=yes])
112 dnl Arguments to enable or disable building the static, shared, profiled,
113 dnl and -fomit-frame-pointer libraries.
114 dnl I've disabled this for now since we cannot build glibc without static
115 dnl libraries built in the moment.
116 dnl AC_ARG_ENABLE([static],
117 dnl               AC_HELP_STRING([--enable-static],
118 dnl                              [build static library @<:@default=yes@:>@]),
119 dnl               [static=$enableval],
120 dnl               [static=yes])
121 static=yes
122 AC_ARG_ENABLE([shared],
123               AC_HELP_STRING([--enable-shared],
124                              [build shared library @<:@default=yes if GNU ld & ELF@:>@]),
125               [shared=$enableval],
126               [shared=default])
127 AC_ARG_ENABLE([profile],
128               AC_HELP_STRING([--enable-profile],
129                              [build profiled library @<:@default=yes@:>@]),
130               [profile=$enableval],
131               [profile=yes])
132 AC_ARG_ENABLE([omitfp],
133               AC_HELP_STRING([--enable-omitfp],
134                              [build undebuggable optimized library @<:@default=no@:>@]),
135               [omitfp=$enableval],
136               [omitfp=no])
137 AC_ARG_ENABLE([bounded],
138               AC_HELP_STRING([--enable-bounded],
139                              [build with runtime bounds checking @<:@default=no@:>@]),
140               [bounded=$enableval],
141               [bounded=no])
142 AC_ARG_ENABLE([versioning],
143               AC_HELP_STRING([--disable-versioning],
144                              [do not include versioning information in the library objects @<:@default=yes if supported@:>@]),
145               [enable_versioning=$enableval],
146               [enable_versioning=yes])
148 AC_ARG_ENABLE([oldest-abi],
149               AC_HELP_STRING([--enable-oldest-abi=ABI],
150                              [configure the oldest ABI supported @<:@e.g. 2.2@:>@ @<:@default=glibc default@:>@]),
151               [oldest_abi=$enableval],
152               [oldest_abi=no])
153 if test "$oldest_abi" = yes || test "$oldest_abi" = no; then
154   oldest_abi=default
155 else
156   AC_DEFINE_UNQUOTED(GLIBC_OLDEST_ABI, "$oldest_abi")
158 AC_SUBST(oldest_abi)
160 dnl Generic infrastructure for drop-in additions to libc.
161 AC_ARG_ENABLE([add-ons],
162               AC_HELP_STRING([--enable-add-ons@<:@=DIRS...@:>@],
163                              [configure and build add-ons in DIR1,DIR2,...  search for add-ons if no parameter given]),
164   [case "$enableval" in
165     yes) add_ons=`cd $srcdir && echo */configure | sed -e 's!/configure!!g'`
166          test "$add_ons" = "*" && add_ons= ;;
167     *) add_ons=`echo "$enableval" | sed 's/,/ /g'`;;
168    esac],
169   [add_ons=])
171 dnl Let the user avoid using TLS.  Don't know why but...
172 dnl XXX For now we disable support by default.
173 AC_ARG_WITH([tls],
174             AC_HELP_STRING([--with-tls],
175                            [enable support for TLS]),
176             [usetls=$withval],
177             [usetls=no])
179 AC_ARG_WITH([__thread],
180             AC_HELP_STRING([--without-__thread],
181                            [do not use TLS features even when supporting them]),
182             [use__thread=$withval],
183             [use__thread=yes])
185 AC_ARG_ENABLE([hidden-plt],
186               AC_HELP_STRING([--disable-hidden-plt],
187                              [do not hide internal function calls to avoid PLT]),
188               [hidden=$enableval],
189               [hidden=yes])
190 if test "x$hidden" = xno; then
191   AC_DEFINE(NO_HIDDEN)
194 AC_CONFIG_SUBDIRS([ ])dnl Bonehead new Autoconf whines if we do it cleanly.
195 add_ons_pfx=
196 if test x"$add_ons" != x; then
197   for f in $add_ons; do
198     # Some sanity checks
199     if test "$f" = "crypt"; then
200       AC_MSG_ERROR([
201 *** It seems that you're using an old \`crypt' add-on.  crypt is now
202 *** part of glibc and using the old add-on will not work with this
203 *** release.  Start again with fresh sources and without the old
204 *** \`crypt' add-on.])
205     fi
206     if test "$f" = "localedata"; then
207       AC_MSG_ERROR([
208 *** It seems that you're using an old \`localedata' add-on.  localedata
209 *** is now part of glibc and using the old add-on will not work with
210 *** this release.  Start again with fresh sources and without the old
211 *** \`localedata' add-on.])
212     fi
213     # Test whether such a subdir really exists.
214     if test -d $srcdir/$f; then
215       add_ons_pfx="$add_ons_pfx $f/"
216       dnl This variable is what AC_CONFIG_SUBDIRS is supposed to set,
217       dnl but the new Autoconf maintainers don't care about compatibility
218       dnl so we cannot use it normally any more without complaints.
219       subdirs="$subdirs $f"
220     else
221       AC_MSG_ERROR(add-on directory \"$f\" does not exist)
222     fi
223   done
226 dnl On some platforms we cannot use dynamic loading.  We must provide
227 dnl static NSS modules.
228 AC_ARG_ENABLE([static-nss],
229               AC_HELP_STRING([--enable-static-nss],
230                              [build static NSS modules @<:@default=no@:>@]),
231               [static_nss=$enableval],
232               [static_nss=no])
233 dnl Enable static NSS also if we build no shared objects.
234 if test x"$static_nss" = xyes || test x"$shared" = xno; then
235   static_nss=yes
236   AC_DEFINE(DO_STATIC_NSS)
239 AC_ARG_ENABLE([force-install],
240               AC_HELP_STRING([--disable-force-install],
241                              [don't force installation of files from this package, even if they are older than the installed files]),
242               [force_install=$enableval],
243               [force_install=yes])
244 AC_SUBST(force_install)
246 dnl On some platforms we allow dropping compatibility with all kernel
247 dnl versions.
248 AC_ARG_ENABLE([kernel],
249               AC_HELP_STRING([--enable-kernel=VERSION],
250                              [compile for compatibility with kernel not older than VERSION]),
251               [minimum_kernel=$enableval],
252               [])
253 dnl Prevent unreasonable values.
254 if test "$minimum_kernel" = yes || test "$minimum_kernel" = no; then
255   # Better nothing than this.
256   minimum_kernel=""
257 else
258   if test "$minimum_kernel" = current; then
259     minimum_kernel=`uname -r 2>/dev/null` || minimum_kernel=
260   fi
263 dnl For the development we sometimes want gcc to issue even more warnings.
264 dnl This is not the default since many of the extra warnings are not
265 dnl appropriate.
266 AC_ARG_ENABLE([all-warnings],
267               AC_HELP_STRING([--enable-all-warnings],
268                              [enable all useful warnings gcc can issue]),
269               [all_warnings=$enableval],
270               [])
271 AC_SUBST(all_warnings)
273 AC_CANONICAL_HOST
275 # The way shlib-versions is used to generate soversions.mk uses a
276 # fairly simplistic model for name recognition that can't distinguish
277 # i486-pc-linux-gnu fully from i486-pc-gnu.  So we mutate a $host_os
278 # of `gnu*' here to be `gnu-gnu*' just so that shlib-versions can
279 # tell.  This doesn't get used much beyond that, so it's fairly safe.
280 case "$host_os" in
281 linux*)
282   ;;
283 gnu*)
284   host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
285   ;;
286 esac
288 # We keep the original values in `$config_*' and never modify them, so we
289 # can write them unchanged into config.make.  Everything else uses
290 # $machine, $vendor, and $os, and changes them whenever convenient.
291 config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
293 # Don't allow vendor == "unknown"
294 test "$config_vendor" = unknown && config_vendor=
295 config_os="`echo $config_os | sed 's/^unknown-//'`"
297 # Some configurations imply other options.
298 case "$host_os" in
299 gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
300   # These systems always use GNU tools.
301   gnu_ld=yes gnu_as=yes ;;
302 esac
303 case "$host_os" in
304 # i586-linuxaout is mangled into i586-pc-linux-gnuaout
305 linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
306   ;;
307 gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
308   # These systems (almost) always use the ELF format.
309   elf=yes
310   ;;
311 aix*)
312   # These systems are always xcoff
313   xcoff=yes
314   elf=no
315   ;;
316 esac
318 machine=$config_machine
319 vendor=$config_vendor
320 os=$config_os
322 # config.guess on some IBM machines says `rs6000' instead of `powerpc'.
323 # Unify this here.
324 if test "$machine" = rs6000; then
325   machine="powerpc"
328 # Braindead PowerPC box with absolutely no FPU.
329 case "$machine-$host_os" in
330   powerpc*-*soft)
331     with_fp=no
332     ;;
333 esac
336 ### I put this here to prevent those annoying emails from people who cannot
337 ### read and try to compile glibc on unsupported platforms.  --drepper
339 ### By using the undocumented --enable-hacker-mode option for configure
340 ### one can skip this test to make the configuration not fail for unsupported
341 ### platforms.
343 if test -z "$enable_hacker_mode"; then
344   case "$machine-$host_os" in
345   *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
346     ;;
347   *)
348     echo "*** The GNU C library is currently not available for this platform."
349     echo "*** So far nobody cared to port it and if there is no volunteer it"
350     echo "*** might never happen.  So, if you have interest to see glibc on"
351     echo "*** this platform visit"
352     echo "***   http://www.gnu.org/software/libc/porting.html"
353     echo "*** and join the group of porters"
354     exit 1
355     ;;
356   esac
359 dnl We need to use [ and ] for other purposes for a while now.
360 changequote(,)dnl
361 # Expand the configuration machine name into a subdirectory by architecture
362 # type and particular chip.
363 case "$machine" in
364 a29k | am29000) base_machine=a29k machine=a29k ;;
365 alpha*)         base_machine=alpha machine=alpha/$machine ;;
366 arm*)           base_machine=arm machine=arm/arm32/$machine ;;
367 c3[012])        base_machine=cx0 machine=cx0/c30 ;;
368 c4[04])         base_machine=cx0 machine=cx0/c40 ;;
369 hppa*64*)       base_machine=hppa machine=hppa/hppa64 ;;
370 hppa*)          base_machine=hppa machine=hppa/hppa1.1 ;;
371 i[3456]86)      base_machine=i386 machine=i386/$machine ;;
372 ia64)           base_machine=ia64 machine=ia64 ;;
373 m680?0)         base_machine=m68k machine=m68k/$machine ;;
374 m68k)           base_machine=m68k machine=m68k/m68020 ;;
375 m88???)         base_machine=m88k machine=m88k/$machine ;;
376 m88k)           base_machine=m88k machine=m88k/m88100 ;;
377 mips64*)        base_machine=mips64 machine=mips/mips64/$machine ;;
378 mips*)          base_machine=mips machine=mips/$machine ;;
379 powerpc)        base_machine=powerpc machine=powerpc/powerpc32 ;;
380 powerpc64)      base_machine=powerpc machine=powerpc/powerpc64 ;;
381 s390)           base_machine=s390 machine=s390/s390-32 ;;
382 s390x)          base_machine=s390 machine=s390/s390-64 ;;
383 sh3*)           base_machine=sh machine=sh/sh3 ;;
384 sh4*)           base_machine=sh machine=sh/sh4 ;;
385 sparc | sparcv[67])
386                 base_machine=sparc machine=sparc/sparc32 ;;
387 sparcv8 | supersparc | hypersparc)
388                 base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
389 sparcv8plus | sparcv8plusa | sparcv9)
390                 base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
391 sparcv8plusb | sparcv9b)
392                 base_machine=sparc machine=sparc/sparc32/sparcv9b ;;
393 sparc64 | ultrasparc)
394                 base_machine=sparc machine=sparc/sparc64 ;;
395 sparc64b | ultrasparc3)
396                 base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
397 thumb*)         base_machine=thumb machine=arm/thumb/$machine ;;
398 *)              base_machine=$machine ;;
399 esac
400 changequote([,])dnl
401 AC_SUBST(base_machine)
403 if test "$base_machine" = "i386"; then
404   AC_DEFINE(USE_REGPARMS)
407 # Compute the list of sysdep directories for this configuration.
408 # This can take a while to compute.
409 sysdep_dir=$srcdir/sysdeps
410 AC_MSG_CHECKING(sysdep dirs)
411 dnl We need to use [ and ] for other purposes for a while now.
412 changequote(,)dnl
413 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
414 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
416 case "$os" in
417 gnu*)
418   base_os=mach/hurd ;;
419 netbsd* | 386bsd* | freebsd* | bsdi*)
420   base_os=unix/bsd/bsd4.4 ;;
421 osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
422   base_os=unix/bsd ;;
423 sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
424   base_os=unix/sysv ;;
425 irix6*)
426   base_os=unix/sysv/irix6/$os ;;
427 solaris[2-9]*)
428   base_os=unix/sysv/sysv4 ;;
429 hpux*)
430   base_os=unix/sysv/hpux/$os ;;
431 aix4.3*)
432   base_os=unix/sysv/aix/aix4.3 ;;
433 none)
434   base_os=standalone ;;
436   base_os='' ;;
437 esac
439 # For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
440 tail=$os
441 ostry=$os
442 while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
443   ostry="$ostry /$o"
444   tail=$o
445 done
446 o=`echo $tail | sed 's/[0-9]*$//'`
447 if test $o != $tail; then
448   ostry="$ostry /$o"
450 # For linux-gnu, try linux-gnu, then linux.
451 o=`echo $tail | sed 's/-.*$//'`
452 if test $o != $tail; then
453   ostry="$ostry /$o"
456 # For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
457 base=
458 tail=$base_os
459 while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
460   set $b
461   base="$base /$1"
462   tail="$2"
463 done
465 # For sparc/sparc32, try sparc/sparc32 and then sparc.
466 mach=
467 tail=$machine
468 while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
469   set $m
470   # Prepend the machine's FPU directory unless --without-fp.
471   if test "$with_fp" = yes; then
472     mach="$mach /$1/fpu"
473   else
474     mach="$mach /$1/nofpu"
475   fi
476   mach="$mach /$1"
477   tail="$2"
478 done
480 dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
481 changequote([,])dnl
483 # Find what sysdep directories exist.
484 sysnames=
485 IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
486 for d in $add_ons_pfx ''; do
487   for b in $base ''; do
488     for m0 in $mach ''; do
489       for v in /$vendor ''; do
490         test "$v" = / && continue
491         for o in /$ostry ''; do
492           test "$o" = / && continue
493           for m in $mach ''; do
494             if test "$m0$b$v$o$m"; then
495               try="${d}sysdeps$m0$b$v$o$m"
496               test -n "$enable_debug_configure" &&
497               echo "$0 [DEBUG]: try $try" >&2
498               if test -d $srcdir/$try; then
499                 sysnames="$sysnames $try"
500                 { test -n "$o" || test -n "$b"; } && os_used=t
501                 { test -n "$m" || test -n "$m0"; } && machine_used=t
502               fi
503             fi
504           done
505         done
506       done
507     done
508   done
509 done
510 IFS="$ac_save_ifs"
512 if test -z "$os_used" && test "$os" != none; then
513   AC_MSG_ERROR(Operating system $os is not supported.)
515 if test -z "$machine_used" && test "$machine" != none; then
516   AC_MSG_ERROR(The $machine is not supported.)
519 # We have now validated the configuration.
522 # If using ELF, look for an `elf' subdirectory of each machine directory.
523 # We prepend these rather than inserting them whereever the machine appears
524 # because things specified by the machine's ELF ABI should override
525 # OS-specific things, and should always be the same for any OS on the
526 # machine (otherwise what's the point of an ABI?).
527 if test "$elf" = yes; then
528   elf_dirs=
529   for d in $add_ons_pfx ''; do
530     for m in $mach; do
531       if test -d $srcdir/${d}sysdeps$m/elf; then
532         elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
533       fi
534     done
535   done
536   sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
540 # Expand the list of system names into a full list of directories
541 # from each element's parent name and Implies file (if present).
542 set $sysnames
543 names=
544 while test $# -gt 0; do
545   name=$1
546   shift
548   case " $names " in *" $name "*)
549     # Already in the list.
550     continue
551   esac
553   # Report each name as we discover it, so there is no long pause in output.
554   echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
556   name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
558   case $name in
559     /*) xsrcdir= ;;
560     *)  xsrcdir=$srcdir/ ;;
561   esac
562   test -n "$enable_debug_configure" &&
563   echo "[DEBUG]: name/Implies $xsrcdir$name/Implies" >&2
565   if test -f $xsrcdir$name/Implies; then
566     # Collect more names from the `Implies' file (removing comments).
567     implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
568     implied=
569     for x in $implied_candidate; do
570       found=no
571       if test -d $xsrcdir$name_base/$x; then
572         implied="$implied $name_base/$x";
573         found=yes
574       fi
575       for d in $add_ons_pfx ''; do
576         try="${d}sysdeps/$x"
577         case $d in
578          /*) try_srcdir= ;;
579          *) try_srcdir=$srcdir/ ;;
580         esac
581         test -n "$enable_debug_configure" &&
582          echo "[DEBUG]: $name implied $x try($d) {$try_srcdir}$try" >&2
583         if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
584         then
585           implied="$implied $try"
586           found=yes
587         fi
588       done
589       if test $found = no; then
590         AC_MSG_WARN($name/Implies specifies nonexistent $x)
591       fi
592     done
593   else
594     implied=
595   fi
597   # Add NAME to the list of names.
598   names="$names $name"
600   # Find the parent of NAME, using the empty string if it has none.
601 changequote(,)dnl
602   parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
603 changequote([,])dnl
605   # Add the names implied by NAME, and NAME's parent (if it has one), to
606   # the list of names to be processed (the argument list).  We prepend the
607   # implied names to the list and append the parent.  We want implied
608   # directories to come before further directories inferred from the
609   # configuration components; this ensures that for sysv4, unix/common
610   # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
611   # after sysv4).
612   sysnames="`echo $implied $* $parent`"
613   test -n "$sysnames" && set $sysnames
614 done
616 # Add the default directories.
617 default_sysnames=sysdeps/generic
618 if test "$elf" = yes; then
619   default_sysnames="sysdeps/generic/elf $default_sysnames"
621 sysnames="$names $default_sysnames"
622 AC_SUBST(sysnames)
623 # The other names were emitted during the scan.
624 AC_MSG_RESULT($default_sysnames)
627 ### Locate tools.
629 AC_PROG_INSTALL
630 if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
631   # The makefiles need to use a different form to find it in $srcdir.
632   INSTALL='\$(..)./scripts/install-sh -c'
634 AC_PROG_LN_S
636 # We need the physical current working directory.  We cannot use the
637 # "pwd -P" shell builtin since that's not portable.  Instead we try to
638 # find a pwd binary.  Note that assigning to the PWD environment
639 # variable might have some interesting side effects, so we don't do
640 # that.
641 AC_PATH_PROG(PWD_P, pwd, no)
642 if test "$PWD_P" = no; then
643   AC_MSG_ERROR(*** A pwd binary could not be found.)
646 # These programs are version sensitive.
647 AC_CHECK_TOOL_PREFIX
648 AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
649   [version \([egcygnustpi-]*[0-9.]*\)], [3.[2-9]*],
650   critic_missing="$critic_missing gcc")
651 AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
652   [GNU Make[^0-9]*\([0-9][0-9.]*\)],
653   [3.79* | 3.[89]*], critic_missing="$critic_missing make")
656 if test -n "$critic_missing"; then
657 AC_MSG_ERROR([
658 *** These critical programs are missing or too old:$critic_missing
659 *** Check the INSTALL file for required versions.])
663 AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
664   [GNU gettext.* \([0-9]*\.[0-9.]*\)],
665   [0.10.3[6-9]* | 0.10.[4-9][0-9]* | 0.1[1-9]* | 0.[2-9][0-9]* | [1-9].*],
666   MSGFMT=: aux_missing="$aux_missing msgfmt")
667 AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
668   [GNU texinfo.* \([0-9][0-9.]*\)],
669   [4.*],
670   MAKEINFO=: aux_missing="$aux_missing makeinfo")
671 AC_CHECK_PROG_VER(SED, sed, --version,
672   [GNU sed version \([0-9]*\.[0-9.]*\)],
673   [3.0[2-9]*|3.[1-9]*|[4-9]*],
674   SED=: aux_missing="$aux_missing sed")
676 AC_CHECK_PROGS(AUTOCONF, autoconf, no)
677 case "x$AUTOCONF" in
678 xno|x|x:) AUTOCONF=no ;;
680   AC_CACHE_CHECK(dnl
681 whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works, libc_cv_autoconf_works, [dnl
682   if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then
683     libc_cv_autoconf_works=yes
684   else
685     libc_cv_autoconf_works=no
686   fi])
687   test $libc_cv_autoconf_works = yes || AUTOCONF=no
688   ;;
689 esac
690 test "x$AUTOCONF" != xno || aux_missing="$aux_missing autoconf"
692 AC_PROG_CC
693 if test $host != $build; then
694   AC_CHECK_PROGS(BUILD_CC, gcc cc)
696 AC_SUBST(cross_compiling)
697 AC_PROG_CPP
698 LIBC_PROG_BINUTILS
699 AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
701 # Accept binutils 2.13 or newer.
702 AC_CHECK_PROG_VER(AS, $AS, --version,
703                   [GNU assembler.* \([0-9]*\.[0-9.]*\)],
704                   [2.1[3-9]*], AS=: critic_missing=t)
705 AC_CHECK_PROG_VER(LD, $LD, --version,
706                   [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
707                   [2.1[3-9]*], LD=: critic_missing=t)
709 test -n "$aux_missing" && AC_MSG_WARN([
710 *** These auxiliary programs are missing or incompatible versions:$aux_missing
711 *** some features will be disabled.
712 *** Check the INSTALL file for required versions.])
714 # glibcbug.in wants to know the compiler version.
715 CCVERSION=`$CC -v 2>&1 | sed -n 's/gcc version //p'`
716 AC_SUBST(CCVERSION)
718 # if using special system headers, find out the compiler's sekrit
719 # header directory and add that to the list.  NOTE: Only does the right
720 # thing on a system that doesn't need fixincludes.  (Not presently a problem.)
721 if test -n "$sysheaders"; then
722   ccheaders=`$CC -print-file-name=include`
723   SYSINCLUDES="-nostdinc -isystem $ccheaders -isystem $sysheaders"
725 AC_SUBST(SYSINCLUDES)
727 # check if ranlib is necessary
728 AC_CACHE_CHECK(whether ranlib is necessary, libc_cv_ranlib_necessary, [dnl
729 cat > conftest.c <<EOF
730 int a;
731 char b;
732 void c(void) {}
734 $CC $CFLAGS -c conftest.c
735 $AR cr conftest.a conftest.o
736 cp conftest.a conftest2.a
737 $RANLIB conftest.a
738 if cmp -s conftest.a conftest2.a; then
739   libc_cv_ranlib_necessary=no
740 else
741   libc_cv_ranlib_necessary=yes
743 rm -rf conftest*])
744 if test "$libc_cv_ranlib_necessary" = no; then
745  RANLIB=:
748 # Test if LD_LIBRARY_PATH contains the notation for the current directory
749 # since this would lead to problems installing/building glibc.
750 # LD_LIBRARY_PATH contains the current directory if one of the following
751 # is true:
752 # - one of the terminals (":" and ";") is the first or last sign
753 # - two terminals occur directly after each other
754 # - the path contains an element with a dot in it
755 AC_MSG_CHECKING(LD_LIBRARY_PATH variable)
756 changequote(,)dnl
757 case ${LD_LIBRARY_PATH} in
758   [:\;]* | *[:\;] | *[:\;][:\;]* |  *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
759     ld_library_path_setting="contains current directory"
760     ;;
761   *)
762     ld_library_path_setting="ok"
763     ;;
764 esac
765 changequote([,])dnl
766 AC_MSG_RESULT($ld_library_path_setting)
767 if test "$ld_library_path_setting" != "ok"; then
768 AC_MSG_ERROR([
769 *** LD_LIBRARY_PATH shouldn't contain the current directory when
770 *** building glibc. Please change the environment variable
771 *** and run configure again.])
774 AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl
775 if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
776   libc_cv_gcc_static_libgcc=
777 else
778   libc_cv_gcc_static_libgcc=-static-libgcc
779 fi])
780 AC_SUBST(libc_cv_gcc_static_libgcc)
782 AC_PATH_PROG(BASH, bash, no)
783 if test "$BASH" != no &&
784    $BASH -c 'test "$BASH_VERSINFO" \
785              && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then
786   libc_cv_have_bash2=yes
787 else
788   libc_cv_have_bash2=no
790 AC_SUBST(libc_cv_have_bash2)
792 dnl We need a ksh compatible shell for tzselect.
793 if test "$BASH" = no; then
794   AC_PATH_PROG(KSH, ksh, no)
795   if test "$KSH" = no; then
796     libc_cv_have_ksh=no
797   else
798     libc_cv_have_ksh=yes
799   fi
800 else
801   KSH="$BASH"
802   AC_SUBST(KSH)
803   libc_cv_have_ksh=yes
805 AC_SUBST(libc_cv_have_ksh)
807 AC_PROG_AWK
808 AC_PATH_PROG(PERL, perl, no)
809 if test "$PERL" != no &&
810    (eval `$PERL -V:apiversion`; test `expr "$apiversion" \< 5` -ne 0); then
811   PERL=no
813 AC_PATH_PROG(INSTALL_INFO, install-info, no,
814              $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
815 if test "$INSTALL_INFO" != "no"; then
816 AC_CACHE_CHECK(for old Debian install-info, libc_cv_old_debian_install_info,
817  [mkdir conftest.d
818   # There is a hard ^_ on the next line.  I am open to better ideas.
819   (echo '\x1f'
820   echo 'File: dir       Node: Top       This is the top of the INFO tree'
821   echo '* Menu:') >conftest.d/dir
822   (echo 'INFO-DIR-SECTION i-d-s works'
823   echo 'START-INFO-DIR-ENTRY'
824   echo '* Prog: (prog).   Program.'
825   echo 'END-INFO-DIR-ENTRY') >conftest.d/prog.info
826   if $INSTALL_INFO --info-dir=conftest.d conftest.d/prog.info >&AS_MESSAGE_LOG_FD 2>&1
827   then
828     if grep -s 'i-d-s works' conftest.d/dir >/dev/null
829     then libc_cv_old_debian_install_info=no
830     else libc_cv_old_debian_install_info=yes
831     fi
832   else libc_cv_old_debian_install_info=no testfailed=t
833   fi
834   rm -fr conftest.d])
835 if test -n "$testfailed"
836 then AC_MSG_WARN([install-info errored out, check config.log])
838 OLD_DEBIAN_INSTALL_INFO=$libc_cv_old_debian_install_info
840 AC_SUBST(OLD_DEBIAN_INSTALL_INFO)
842 AC_PATH_PROG(BISON, bison, no, $PATH:/usr/local/bin:/usr/bin:/bin)
844 AC_CACHE_CHECK(for signed size_t type, libc_cv_signed_size_t, [dnl
845 echo '#include <stddef.h>
846 FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
847 if eval "$ac_cpp conftest.c 2>/dev/null" \
848 | grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then
849   libc_cv_signed_size_t=no
850 else
851   libc_cv_signed_size_t=yes
853 rm -f conftest*])
854 if test $libc_cv_signed_size_t = yes; then
855   dnl Do this by hand instead of AC_DEFINE so can add #undef to avoid warnings.
856   cat >> confdefs.h <<\EOF
857 #undef __SIZE_TYPE__
858 #define __SIZE_TYPE__ unsigned
862 AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl
863 AC_TRY_COMPILE(dnl
864 [#define __need_size_t
865 #define __need_wchar_t
866 #include <stddef.h>
867 #define __need_NULL
868 #include <stddef.h>], [size_t size; wchar_t wchar;
869 #ifdef offsetof
870 #error stddef.h ignored __need_*
871 #endif
872 if (&size == NULL || &wchar == NULL) abort ();],
873                libc_cv_friendly_stddef=yes,
874                libc_cv_friendly_stddef=no)])
875 if test $libc_cv_friendly_stddef = yes; then
876   config_vars="$config_vars
877 override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
880 AC_CACHE_CHECK(whether we need to use -P to assemble .S files,
881                libc_cv_need_minus_P, [dnl
882 cat > conftest.S <<EOF
883 #include "confdefs.h"
884 /* Nothing whatsoever.  */
886 if ${CC-cc} $CFLAGS -c conftest.S 2>/dev/null; then
887   libc_cv_need_minus_P=no
888 else
889   libc_cv_need_minus_P=yes
891 rm -f conftest*])
892 if test $libc_cv_need_minus_P = yes; then
893   config_vars="$config_vars
894 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
897 AC_MSG_CHECKING(whether .text pseudo-op must be used)
898 AC_CACHE_VAL(libc_cv_dot_text, [dnl
899 cat > conftest.s <<EOF
900 .text
902 libc_cv_dot_text=
903 if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
904   libc_cv_dot_text=.text
906 rm -f conftest*])
907 if test -z "$libc_cv_dot_text"; then
908   AC_MSG_RESULT(no)
909 else
910   AC_MSG_RESULT(yes)
913 AC_CACHE_CHECK(for assembler global-symbol directive,
914                libc_cv_asm_global_directive, [dnl
915 libc_cv_asm_global_directive=UNKNOWN
916 for ac_globl in .globl .global .EXPORT; do
917   cat > conftest.s <<EOF
918         ${libc_cv_dot_text}
919         ${ac_globl} foo
920 foo:
922   if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
923     libc_cv_asm_global_directive=${ac_globl}
924   fi
925   rm -f conftest*
926   test $libc_cv_asm_global_directive != UNKNOWN && break
927 done])
928 if test $libc_cv_asm_global_directive = UNKNOWN; then
929   AC_MSG_ERROR(cannot determine asm global directive)
930 else
931   AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
934 AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
935 cat > conftest.s <<EOF
936 ${libc_cv_dot_text}
937 foo:
938 .set glibc_conftest_frobozz,foo
939 $libc_cv_asm_global_directive glibc_conftest_frobozz
941 # The alpha-dec-osf1 assembler gives only a warning for `.set'
942 # (but it doesn't work), so we must do a linking check to be sure.
943 cat > conftest1.c <<\EOF
944 extern int glibc_conftest_frobozz;
945 main () { printf ("%d\n", glibc_conftest_frobozz); }
947 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
948             -o conftest conftest.s conftest1.c 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
949   libc_cv_asm_set_directive=yes
950 else
951   libc_cv_asm_set_directive=no
953 rm -f conftest*])
954 if test $libc_cv_asm_set_directive = yes; then
955   AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
958 AC_CACHE_CHECK(for assembler .type directive prefix,
959                libc_cv_asm_type_prefix, [dnl
960 libc_cv_asm_type_prefix=no
961 for ac_try_prefix in '@' '%' '#'; do
962   cat > conftest.s <<EOF
963         ${libc_cv_dot_text}
964         ${libc_cv_asm_global_directive} foo
965         .type foo, ${ac_try_prefix}object
966         .size foo, 1
967 foo:
968         .byte 1
970   if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
971     libc_cv_asm_type_prefix=${ac_try_prefix}
972   fi
973   rm -f conftest*
974   test "x$libc_cv_asm_type_prefix" != xno && break
975 done])
976 if test "x$libc_cv_asm_type_prefix" != xno; then
977   AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
980 # The Aix ld uses global .symbol_names instead of symbol_names.
981 # Unfortunately also used in the PPC64 ELF ABI.
982 case "${os}${machine}" in
983 aix4.3* | linux*powerpc/powerpc64*)
984   AC_DEFINE(HAVE_ASM_GLOBAL_DOT_NAME)
985 esac
987 AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
988 [cat > conftest.s <<EOF
989 ${libc_cv_dot_text}
990 _sym:
991 .symver _sym,sym@VERS
993 if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
994   libc_cv_asm_symver_directive=yes
995 else
996   libc_cv_asm_symver_directive=no
998 rm -f conftest*])
999 AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
1000 if test $libc_cv_asm_symver_directive = yes; then
1001   cat > conftest.s <<EOF
1002 ${libc_cv_dot_text}
1003 _sym:
1004 .symver _sym,sym@VERS
1006   cat > conftest.map <<EOF
1007 VERS_1 {
1008         global: sym;
1011 VERS_2 {
1012         global: sym;
1013 } VERS_1;
1015   if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1016     if AC_TRY_COMMAND([${CC-cc} $CFLAGS -shared -o conftest.so conftest.o
1017                                         -nostartfiles -nostdlib
1018                                         -Wl,--version-script,conftest.map
1019                        1>&AS_MESSAGE_LOG_FD]);
1020     then
1021       libc_cv_ld_version_script_option=yes
1022     else
1023       libc_cv_ld_version_script_option=no
1024     fi
1025   else
1026     libc_cv_ld_version_script_option=no
1027   fi
1028 else
1029   libc_cv_ld_version_script_option=no
1031 rm -f conftest*])
1032 if test $shared != no &&
1033    test $libc_cv_asm_symver_directive = yes &&
1034    test $libc_cv_ld_version_script_option = yes &&
1035    test $enable_versioning = yes; then
1036   VERSIONING=yes
1037   AC_DEFINE(DO_VERSIONING)
1038 else
1039   VERSIONING=no
1041 AC_SUBST(VERSIONING)
1043 if test $elf = yes && test $shared != no && test $VERSIONING = no; then
1044   echo "\
1045 *** WARNING: You should not compile GNU libc without versioning. Not using
1046 *** versioning will introduce incompatibilities so that old binaries
1047 *** will not run anymore.
1048 *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
1050 if test $elf = yes; then
1051   AC_CACHE_CHECK(for .previous assembler directive,
1052                  libc_cv_asm_previous_directive, [dnl
1053   cat > conftest.s <<EOF
1054 .section foo_section
1055 .previous
1057   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1058     libc_cv_asm_previous_directive=yes
1059   else
1060     libc_cv_asm_previous_directive=no
1061   fi
1062   rm -f conftest*])
1063   if test $libc_cv_asm_previous_directive = yes; then
1064     AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
1065   else
1066     AC_CACHE_CHECK(for .popsection assembler directive,
1067                    libc_cv_asm_popsection_directive, [dnl
1068     cat > conftest.s <<EOF
1069 .pushsection foo_section
1070 .popsection
1072     if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1073       libc_cv_asm_popsection_directive=yes
1074     else
1075       libc_cv_asm_popsection_directive=no
1076     fi
1077     rm -f conftest*])
1078     if test $libc_cv_asm_popsection_directive = yes; then
1079       AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
1080     fi
1081   fi
1082   AC_CACHE_CHECK(for .protected and .hidden assembler directive,
1083                  libc_cv_asm_protected_directive, [dnl
1084   cat > conftest.s <<EOF
1085 .protected foo
1086 foo:
1087 .hidden bar
1088 bar:
1090   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1091     libc_cv_asm_protected_directive=yes
1092   else
1093     libc_cv_asm_protected_directive=no
1094   fi
1095   rm -f conftest*])
1096   AC_SUBST(libc_cv_asm_protected_directive)
1097   AC_DEFINE(HAVE_PROTECTED)
1098   AC_DEFINE(HAVE_HIDDEN)
1100   if test $libc_cv_asm_protected_directive = yes; then
1101     AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
1102                  libc_cv_visibility_attribute,
1103                  [cat > conftest.c <<EOF
1104                   int foo __attribute__ ((visibility ("hidden"))) = 1;
1105                   int bar __attribute__ ((visibility ("protected"))) = 1;
1107                   libc_cv_visibility_attribute=no
1108                   if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
1109                     if grep '\.hidden.*foo' conftest.s >/dev/null; then
1110                       if grep '\.protected.*bar' conftest.s >/dev/null; then
1111                         libc_cv_visibility_attribute=yes
1112                       fi
1113                     fi
1114                   fi
1115                   rm -f conftest.[cs]
1116                  ])
1117     if test $libc_cv_visibility_attribute = yes; then
1118       AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
1119     fi
1120   fi
1122   if test $libc_cv_visibility_attribute = yes; then
1123     AC_CACHE_CHECK(for broken __attribute__((visibility())),
1124                  libc_cv_broken_visibility_attribute,
1125                  [cat > conftest.c <<EOF
1126                   int foo (int x);
1127                   int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
1128                   int bar (int x) { return x; }
1130                   libc_cv_broken_visibility_attribute=yes
1131                   if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
1132 changequote(,)dnl
1133                     if grep '\.hidden[  _]foo' conftest.s >/dev/null; then
1134 changequote([,])dnl
1135                       libc_cv_broken_visibility_attribute=no
1136                     fi
1137                   fi
1138                   rm -f conftest.c conftest.s
1139                  ])
1140     if test $libc_cv_broken_visibility_attribute = yes; then
1141       AC_DEFINE(HAVE_BROKEN_VISIBILITY_ATTRIBUTE)
1142     fi
1143   fi
1145   AC_CACHE_CHECK(for broken __attribute__((alias())),
1146                  libc_cv_broken_alias_attribute,
1147                  [cat > conftest.c <<EOF
1148                   extern int foo (int x) __asm ("xyzzy");
1149                   int bar (int x) { return x; }
1150                   extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
1151                   extern int dfoo;
1152                   extern __typeof (dfoo) dfoo __asm ("abccb");
1153                   int dfoo = 1;
1155                   libc_cv_broken_alias_attribute=yes
1156                   if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
1157                     if grep 'xyzzy' conftest.s >/dev/null &&
1158                        grep 'abccb' conftest.s >/dev/null; then
1159                       libc_cv_broken_alias_attribute=no
1160                     fi
1161                   fi
1162                   rm -f conftest.c conftest.s
1163                  ])
1164   if test $libc_cv_broken_alias_attribute = yes; then
1165     AC_DEFINE(HAVE_BROKEN_ALIAS_ATTRIBUTE)
1166   fi
1168   if test $libc_cv_visibility_attribute = yes -a $gnu_ld = yes; then
1169     AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
1170                  libc_cv_have_sdata_section,
1171                  [echo "int i;" > conftest.c
1172                   libc_cv_have_sdata_section=no
1173                   if ${CC-cc} -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
1174                      | grep '\.sdata' >/dev/null; then
1175                     libc_cv_have_sdata_section=yes
1176                   fi
1177                   rm -f conftest.c conftest.so
1178                  ])
1179     if test $libc_cv_have_sdata_section = yes; then
1180       AC_DEFINE(HAVE_SDATA_SECTION)
1181     fi
1182   fi
1184   AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
1185                  libc_cv_initfinit_array, [dnl
1186   cat > conftest.c <<EOF
1187 int _start (void) { return 0; }
1188 int __start (void) { return 0; }
1189 int foo (void) { return 1; }
1190 int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
1192   if AC_TRY_COMMAND([${CC-cc} -o conftest conftest.c
1193                      -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
1194   then
1195     if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then
1196       libc_cv_initfinit_array=yes
1197     else
1198       libc_cv_initfinit_array=no
1199     fi
1200   else
1201     libc_cv_initfinit_array=no
1202   fi
1203   rm -f conftest*])
1204   AC_SUBST(libc_cv_initfinit_array)
1205   if test $libc_cv_initfinit_array = yes; then
1206     AC_DEFINE(HAVE_INITFINI_ARRAY)
1207   fi
1209   AC_CACHE_CHECK(for -z nodelete option,
1210                  libc_cv_z_nodelete, [dnl
1211   cat > conftest.c <<EOF
1212 int _start (void) { return 42; }
1214   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1215                      -nostartfiles -nostdlib
1216                      -Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD])
1217   then
1218     libc_cv_z_nodelete=yes
1219   else
1220     libc_cv_z_nodelete=no
1221   fi
1222   rm -f conftest*])
1223   AC_SUBST(libc_cv_z_nodelete)
1225   AC_CACHE_CHECK(for -z nodlopen option,
1226                  libc_cv_z_nodlopen, [dnl
1227   cat > conftest.c <<EOF
1228 int _start (void) { return 42; }
1230   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1231                         -nostartfiles -nostdlib
1232                         -Wl,--enable-new-dtags,-z,nodlopen 1>&AS_MESSAGE_LOG_FD])
1233   then
1234     libc_cv_z_nodlopen=yes
1235   else
1236     libc_cv_z_nodlopen=no
1237   fi
1238   rm -f conftest*])
1239   AC_SUBST(libc_cv_z_nodlopen)
1241   AC_CACHE_CHECK(for -z initfirst option,
1242                  libc_cv_z_initfirst, [dnl
1243   cat > conftest.c <<EOF
1244 int _start (void) { return 42; }
1246   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1247                         -nostartfiles -nostdlib
1248                         -Wl,--enable-new-dtags,-z,initfirst 1>&AS_MESSAGE_LOG_FD])
1249   then
1250     libc_cv_z_initfirst=yes
1251   else
1252     libc_cv_z_initfirst=no
1253   fi
1254   rm -f conftest*])
1255   AC_SUBST(libc_cv_z_initfirst)
1257   AC_CACHE_CHECK(for -Bgroup option,
1258                  libc_cv_Bgroup, [dnl
1259   cat > conftest.c <<EOF
1260 int _start (void) { return 42; }
1262   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c -Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD])
1263   then
1264     libc_cv_Bgroup=yes
1265   else
1266     libc_cv_Bgroup=no
1267   fi
1268   rm -f conftest*])
1269   AC_SUBST(libc_cv_Bgroup)
1271   AC_CACHE_CHECK(for -z combreloc,
1272                  libc_cv_z_combreloc, [dnl
1273   cat > conftest.c <<EOF
1274 extern int bar (int);
1275 extern int mumble;
1276 int foo (void) { return bar (mumble); }
1278   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1279                         -nostdlib -nostartfiles
1280                         -Wl,-z,combreloc 1>&AS_MESSAGE_LOG_FD])
1281   then
1282 dnl The following test is a bit weak.  We must use a tool which can test
1283 dnl cross-platform since the gcc used can be a cross compiler.  Without
1284 dnl introducing new options this is not easily doable.  Instead use a tool
1285 dnl which always is cross-platform: readelf.  To detect whether -z combreloc
1286 dnl look for a section named .rel.dyn.
1287     if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
1288       libc_cv_z_combreloc=yes
1289     else
1290       libc_cv_z_combreloc=no
1291     fi
1292   else
1293     libc_cv_z_combreloc=no
1294   fi
1295   rm -f conftest*])
1296   if test "$libc_cv_z_combreloc" = yes; then
1297     AC_DEFINE(HAVE_Z_COMBRELOC)
1298   fi
1300 AC_SUBST(libc_cv_z_combreloc)
1302 if test $elf != yes; then
1303   AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
1304                  [AC_TRY_COMPILE(, [asm (".section .init");
1305                                     asm (".section .fini");
1306                                     asm ("${libc_cv_dot_text}");],
1307                                  libc_cv_have_initfini=yes,
1308                                  libc_cv_have_initfini=no)])
1309   AC_SUBST(libc_cv_have_initfini)dnl
1310   if test $libc_cv_have_initfini = yes; then
1311     AC_DEFINE(HAVE_INITFINI)
1312   fi
1315 if test $elf = yes -a $gnu_ld = yes; then
1316   AC_CACHE_CHECK(whether cc puts quotes around section names,
1317                  libc_cv_have_section_quotes,
1318                  [cat > conftest.c <<EOF
1319                   static const int foo
1320                   __attribute__ ((section ("bar"))) = 1;
1322                   if ${CC-cc} -S conftest.c -o conftest.s; then
1323                     if grep '\.section.*"bar"' conftest.s >/dev/null; then
1324                       libc_cv_have_section_quotes=yes
1325                     else
1326                       libc_cv_have_section_quotes=no
1327                     fi
1328                   else
1329                     libc_cv_have_section_quotes=unknown
1330                   fi
1331                   rm -f conftest.[cs]
1332                  ])
1333   if test $libc_cv_have_section_quotes = yes; then
1334     AC_DEFINE(HAVE_SECTION_QUOTES)
1335   fi
1338 dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1339 AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
1340 [cat > conftest.$ac_ext <<EOF
1341 dnl This sometimes fails to find confdefs.h, for some reason.
1342 dnl [#]line __oline__ "[$]0"
1343 [#]line __oline__ "configure"
1344 #include "confdefs.h"
1345 void underscore_test(void) {
1346 return; }
1348 if AC_TRY_EVAL(ac_compile); then
1349   if grep _underscore_test conftest* >/dev/null; then
1350     ifelse([$1], , :, [rm -f conftest*
1351     $1])
1352   else
1353     ifelse([$2], , , [rm -f conftest*
1354     $2])
1355   fi
1356 else
1357   echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
1358   cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
1359   ifelse([$2], , , [rm -f conftest*
1360   $2])
1362 rm -f conftest*])
1364 if test $elf = yes; then
1365   libc_cv_asm_underscores=no
1366 else
1367   if test $ac_cv_prog_cc_works = yes; then
1368     AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1369                    [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
1370                                 libc_cv_asm_underscores=yes,
1371                                 libc_cv_asm_underscores=no)])
1372   else
1373     AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1374                    [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
1375                                             libc_cv_asm_underscores=no)])
1376   fi
1378 if test $libc_cv_asm_underscores = no; then
1379   AC_DEFINE(NO_UNDERSCORES)
1382 if test $elf = yes; then
1383   libc_cv_weak_symbols=yes
1386 AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
1387                [dnl
1388 cat > conftest.s <<EOF
1389 ${libc_cv_dot_text}
1390 ${libc_cv_asm_global_directive} foo
1391 foo:
1392 .weak foo
1393 .weak bar; bar = foo
1395 if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
1396   libc_cv_asm_weak_directive=yes
1397 else
1398   libc_cv_asm_weak_directive=no
1400 rm -f conftest*])
1402 if test $libc_cv_asm_weak_directive = no; then
1403   AC_CACHE_CHECK(for assembler .weakext directive,
1404                  libc_cv_asm_weakext_directive,
1405                  [dnl
1406 cat > conftest.s <<EOF
1407 ${libc_cv_dot_text}
1408 ${libc_cv_asm_global_directive} foo
1409 foo:
1410 .weakext bar foo
1411 .weakext baz
1412 ${libc_cv_asm_global_directive} baz
1413 baz:
1415   if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
1416     libc_cv_asm_weakext_directive=yes
1417   else
1418     libc_cv_asm_weakext_directive=no
1419   fi
1420   rm -f conftest*])
1422 fi # no .weak
1424 if test $libc_cv_asm_weak_directive = yes; then
1425   AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
1426 elif test $libc_cv_asm_weakext_directive = yes; then
1427   AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
1430 dnl The standard hppa assembler uses `;' to start comments and `!'
1431 dnl as a line separator.  CRIS uses `;' to start comments and `@' for
1432 dnl line separator.
1433 case "${host_cpu}-${host_os}" in
1434   cris*)
1435     libc_cv_asm_line_sep='@'
1436     AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
1437     ;;
1438   hppa*linux*)
1439   AC_CACHE_CHECK(for assembler line separator,
1440                  libc_cv_asm_line_sep, [dnl
1441   cat > conftest.s <<EOF
1442  nop ; is_old_puffin
1444   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1445     libc_cv_asm_line_sep='!'
1446   else
1447     if test -z "$enable_hacker_mode"; then
1448       echo "*** You need a newer assembler to compile glibc"
1449       rm -f conftest*
1450       exit 1
1451     fi
1452     libc_cv_asm_line_sep=';'
1453   fi
1454   rm -f conftest*])
1455   AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
1456   ;;
1457 esac
1459 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
1460 cat > conftest.c <<\EOF
1461 _start () {}
1462 int __eh_pc;
1463 __throw () {}
1465 dnl No \ in command here because it ends up inside ''.
1466 if AC_TRY_COMMAND([${CC-cc} $CFLAGS
1467                             -nostdlib -nostartfiles -Wl,--no-whole-archive
1468                             -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1469   libc_cv_ld_no_whole_archive=yes
1470 else
1471   libc_cv_ld_no_whole_archive=no
1473 rm -f conftest*])
1474 if test $libc_cv_ld_no_whole_archive = yes; then
1475   no_whole_archive=-Wl,--no-whole-archive
1477 AC_SUBST(no_whole_archive)dnl
1479 AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
1480 cat > conftest.c <<\EOF
1481 _start () {}
1482 int __eh_pc;
1483 __throw () {}
1485 dnl No \ in command here because it ends up inside ''.
1486 if AC_TRY_COMMAND([${CC-cc} $CFLAGS
1487                             -nostdlib -nostartfiles -fexceptions
1488                             -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1489   libc_cv_gcc_exceptions=yes
1490 else
1491   libc_cv_gcc_exceptions=no
1493 rm -f conftest*])
1494 if test $libc_cv_gcc_exceptions = yes; then
1495   exceptions=-fexceptions
1497 AC_SUBST(exceptions)dnl
1499 if test "$host_cpu" = powerpc ; then
1500 # Check for a bug present in at least versions 2.8.x of GCC
1501 # and versions 1.0.x of EGCS.
1502 AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
1503 AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
1504                libc_cv_c_asmcr0_bug='no',
1505                libc_cv_c_asmcr0_bug='yes')])
1506 if test "$libc_cv_c_asmcr0_bug" != 'no'; then
1507   AC_DEFINE(BROKEN_PPC_ASM_CR0)
1511 AC_CACHE_CHECK(for DWARF2 unwind info support, libc_cv_gcc_dwarf2_unwind_info,
1512 [cat > conftest.c <<EOF
1513 #line __oline__ "configure"
1514 static char *__EH_FRAME_BEGIN__;
1515 _start ()
1517 #ifdef CHECK__register_frame
1518   __register_frame (__EH_FRAME_BEGIN__);
1519   __deregister_frame (__EH_FRAME_BEGIN__);
1520 #endif
1521 #ifdef CHECK__register_frame_info
1522   __register_frame_info (__EH_FRAME_BEGIN__);
1523   __deregister_frame_info (__EH_FRAME_BEGIN__);
1524 #endif
1526 int __eh_pc;
1527 __throw () {}
1528 /* FIXME: this is fragile.  */
1529 malloc () {}
1530 strcmp () {}
1531 strlen () {}
1532 memcpy () {}
1533 memset () {}
1534 free () {}
1535 abort () {}
1536 __bzero () {}
1537 dl_iterate_phdr () {}
1539 dnl No \ in command here because it ends up inside ''.
1540 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -DCHECK__register_frame_info
1541                             -nostdlib -nostartfiles
1542                             -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1543   libc_cv_gcc_dwarf2_unwind_info=static
1544 else
1545   libc_cv_gcc_dwarf2_unwind_info=no
1547 # Some platforms' specs put -lgcc first.  The second one doesn't hurt.
1548 libc_unwind_check="${CC-cc} $CFLAGS -DCHECK__register_frame_info \
1549                             -nostdlib -nostartfiles -o conftest conftest.c \
1550                             -lgcc -lgcc_eh -lgcc"
1551 if AC_TRY_COMMAND([$libc_unwind_check >&AS_MESSAGE_LOG_FD]); then
1552   if $libc_unwind_check -v 2>&1 >/dev/null \
1553      | grep -q -- --eh-frame-hdr; then
1554     libc_cv_gcc_dwarf2_unwind_info=no_registry_needed
1555   else
1556     libc_cv_gcc_dwarf2_unwind_info=static
1557   fi
1558 else
1559   libc_cv_gcc_dwarf2_unwind_info=no
1561 if test $libc_cv_gcc_dwarf2_unwind_info = no; then
1562   if AC_TRY_COMMAND([${CC-cc} $CFLAGS -DCHECK__register_frame
1563                               -nostdlib -nostartfiles
1564                               -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1565     libc_cv_gcc_dwarf2_unwind_info=yes
1566   else
1567     libc_cv_gcc_dwarf2_unwind_info=no
1568   fi
1570 rm -f conftest*])
1571 case $libc_cv_gcc_dwarf2_unwind_info in
1572 yes)
1573   AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1574   ;;
1575 static)
1576   AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1577   AC_DEFINE(HAVE_DWARF2_UNWIND_INFO_STATIC)
1578   ;;
1579 esac
1581 dnl Check whether compiler understands __builtin_expect.
1582 AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
1583 [cat > conftest.c <<EOF
1584 #line __oline__ "configure"
1585 int foo (int a)
1587   a = __builtin_expect (a, 10);
1588   return a == 10 ? 0 : 1;
1591 dnl No \ in command here because it ends up inside ''.
1592 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -nostdlib -nostartfiles
1593                             -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1594   libc_cv_gcc_builtin_expect=yes
1595 else
1596   libc_cv_gcc_builtin_expect=no
1598 rm -f conftest*])
1599 if test "$libc_cv_gcc_builtin_expect" = yes; then
1600   AC_DEFINE(HAVE_BUILTIN_EXPECT)
1603 AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
1604 cat > conftest.c <<\EOF
1605 void zero (void *x)
1607   __builtin_memset (x, 0, 1000);
1611 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
1612 then
1613   libc_cv_gcc_builtin_memset=no
1614 else
1615   libc_cv_gcc_builtin_memset=yes
1617 rm -f conftest* ])
1618 if test "$libc_cv_gcc_builtin_memset" = yes ; then
1619   AC_DEFINE(HAVE_BUILTIN_MEMSET)
1622 dnl Check whether the compiler supports subtraction of local labels.
1623 AC_CACHE_CHECK(for local label subtraction, libc_cv_gcc_subtract_local_labels,
1624 [cat > conftest.c <<EOF
1625 changequote(,)dnl
1626 #line __oline__ "configure"
1627 int foo (int a)
1629   static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
1630   void *p = &&l1 + ar[a];
1631   goto *p;
1632  l1:
1633   return 1;
1634  l2:
1635   return 2;
1637 changequote([,])dnl
1639 dnl No \ in command here because it ends up inside ''.
1640 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -nostdlib -nostartfiles
1641                             -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1642   libc_cv_gcc_subtract_local_labels=yes
1643 else
1644   libc_cv_gcc_subtract_local_labels=no
1646 rm -f conftest*])
1647 if test "$libc_cv_gcc_subtract_local_labels" = yes; then
1648   AC_DEFINE(HAVE_SUBTRACT_LOCAL_LABELS)
1651 dnl Check whether the compiler supports the __thread keyword.
1652 if test "x$use__thread" != xno; then
1653   AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
1654   [cat > conftest.c <<\EOF
1655 __thread int a = 42;
1657   if AC_TRY_COMMAND([${CC-cc} $CFLAGS -c conftest.c >&AS_MESSAGE_LOG_FD]); then
1658     libc_cv_gcc___thread=yes
1659   else
1660     libc_cv_gcc___thread=no
1661   fi
1662   rm -f conftest*])
1663   if test "$libc_cv_gcc___thread" = yes; then
1664     AC_DEFINE(HAVE___THREAD)
1665   fi
1666 else
1667   libc_cv_gcc___thread=no
1670 if test "$libc_cv_gcc___thread" = yes; then
1671   dnl Check whether the compiler supports the tls_model attribute.
1672   AC_CACHE_CHECK([for tls_model attribute], libc_cv_gcc_tls_model_attr, [dnl
1673   cat > conftest.c <<\EOF
1674 extern __thread int a __attribute__((tls_model ("initial-exec")));
1676   if AC_TRY_COMMAND([${CC-cc} $CFLAGS -S -Werror conftest.c >&AS_MESSAGE_LOG_FD]); then
1677     libc_cv_gcc_tls_model_attr=yes
1678   else
1679     libc_cv_gcc_tls_model_attr=no
1680   fi
1681   rm -f conftest*])
1682   if test "$libc_cv_gcc_tls_model_attr" = yes; then
1683     AC_DEFINE(HAVE_TLS_MODEL_ATTRIBUTE)
1684   fi
1687 dnl Check whether we have the gd library available.
1688 AC_MSG_CHECKING(for libgd)
1689 if test "$with_gd" != "no"; then
1690   old_CFLAGS="$CFLAGS"
1691   CFLAGS="$CFLAGS $libgd_include"
1692   old_LDFLAGS="$LDFLAGS"
1693   LDFLAGS="$LDFLAGS $libgd_ldflags"
1694   old_LIBS="$LIBS"
1695   LIBS="$LIBS -lgd -lpng -lz -lm"
1696   AC_TRY_LINK([#include <gd.h>], [gdImagePng (0, 0)], LIBGD=yes, LIBGD=no)
1697   CFLAGS="$old_CFLAGS"
1698   LDFLAGS="$old_LDFLAGS"
1699   LIBS="$old_LIBS"
1700 else
1701   LIBGD=no
1703 AC_MSG_RESULT($LIBGD)
1704 AC_SUBST(LIBGD)
1706 dnl check for the size of 'long double'.
1707 AC_CHECK_SIZEOF(long double, 0)
1708 sizeof_long_double=$ac_cv_sizeof_long_double
1709 AC_SUBST(sizeof_long_double)
1711 ### End of automated tests.
1712 ### Now run sysdeps configure fragments.
1714 # They also can set these variables.
1715 use_ldconfig=no
1716 ldd_rewrite_script=no
1717 libc_cv_sysconfdir=$sysconfdir
1718 libc_cv_gcc_unwind_find_fde=no
1720 # Iterate over all the sysdep directories we will use, running their
1721 # configure fragments, and looking for a uname implementation.
1722 uname=
1723 for dir in $sysnames; do
1724   case $dir in
1725     /*) dest=$dir ;;
1726     *)  dest=$srcdir/$dir ;;
1727   esac
1728   if test -r $dest/configure; then
1729     AC_MSG_RESULT(running configure fragment for $dest)
1730     . $dest/configure
1731   fi
1733   if test -z "$uname"; then
1734     if test -r $dest/uname.c ||
1735        test -r $dest/uname.S ||
1736        { test -r $dest/syscalls.list &&
1737          grep '^uname[  ]' $dest/syscalls.list >/dev/null; }; then
1738       uname=$dir
1739     fi
1740   fi
1741 ]dnl
1742 done
1744 if test x$libc_cv_gcc_unwind_find_fde = xyes; then
1745   AC_DEFINE(EXPORT_UNWIND_FIND_FDE)
1747 AC_SUBST(libc_cv_gcc_unwind_find_fde)
1749 # If we will use the generic uname implementation, we must figure out what
1750 # it will say by examining the system, and write the results in config-name.h.
1751 if test "$uname" = "sysdeps/generic"; then
1753 changequote(,)dnl
1754   uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
1755 changequote([,])dnl
1756   if test $uname_sysname != $config_os; then
1757     config_release=`echo $config_os | sed s/$uname_sysname//`
1758   fi
1760 AC_DEFUN(LIBC_KERNEL_ID, [dnl
1761     if test -r /vmunix; then
1762       kernel_id=`strings /vmunix | grep UNIX`
1763     elif test -r /dynix; then
1764       kernel_id=`strings /dynix | grep DYNIX`
1765     else
1766       kernel_id=
1767     fi
1768 ])dnl
1770   AC_CACHE_CHECK(OS release for uname, libc_cv_uname_release, [dnl
1771 LIBC_KERNEL_ID
1772 changequote(,)dnl
1773   kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
1774 changequote([,])dnl
1775   if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
1776          != x$config_release; then
1777     # The configuration release is a substring of the kernel release.
1778     libc_cv_uname_release=$kernel_release
1779   elif test x$config_release != x; then
1780     libc_cv_uname_release=$config_release
1781   elif test x$kernel_release != x; then
1782     libc_cv_uname_release=$kernel_release
1783   else
1784     libc_cv_uname_release=unknown
1785   fi])
1786   uname_release="$libc_cv_uname_release"
1788   AC_CACHE_CHECK(OS version for uname, libc_cv_uname_version, [dnl
1789 LIBC_KERNEL_ID
1790 changequote(,)dnl
1791   kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
1792 changequote([,])dnl
1793   if test -n "$kernel_version"; then
1794     libc_cv_uname_version="$kernel_version"
1795   else
1796     libc_cv_uname_version=unknown
1797   fi])
1798   uname_version="$libc_cv_uname_version"
1800 AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl
1801   config_uname=config-name.h:config-name.in
1802 else
1803   # For non-generic uname, we don't need to create config-name.h at all.
1804   config_uname=
1807 dnl This is tested by existing code and it's simpler to avoid changing it.
1808 AC_DEFINE(USE_IN_LIBIO)
1810 # Test for old glibc 2.0.x headers so that they can be removed properly
1811 # Search only in includedir.
1812 AC_MSG_CHECKING(for old glibc 2.0.x headers)
1813 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
1814 then
1815   old_glibc_headers=yes
1816 else
1817   old_glibc_headers=no
1819 AC_MSG_RESULT($old_glibc_headers)
1820 if test ${old_glibc_headers} = yes; then
1821   AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
1822   AC_MSG_WARN(*** be removed.)
1824 AC_SUBST(old_glibc_headers)
1826 AC_SUBST(libc_cv_slibdir)
1827 AC_SUBST(libc_cv_localedir)
1828 AC_SUBST(libc_cv_sysconfdir)
1829 AC_SUBST(libc_cv_rootsbindir)
1831 AC_SUBST(use_ldconfig)
1832 AC_SUBST(ldd_rewrite_script)
1834 AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) AC_SUBST(xcoff)
1835 if test $gnu_ld = yes; then
1836   AC_DEFINE(HAVE_GNU_LD)
1838 if test $gnu_as = yes; then
1839   AC_DEFINE(HAVE_GNU_AS)
1841 if test $elf = yes; then
1842   AC_DEFINE(HAVE_ELF)
1844 if test $xcoff = yes; then
1845   AC_DEFINE(HAVE_XCOFF)
1848 AC_SUBST(static)
1849 AC_SUBST(shared)
1850 if test $shared = default; then
1851   if test $gnu_ld = yes; then
1852     shared=$elf
1853   else
1854     # For now we do not assume shared libs are available.  In future more
1855     # tests might become available.
1856     shared=no
1857   fi
1860 AC_CACHE_CHECK([whether -fPIC is default], pic_default,
1861 [pic_default=yes
1862 cat > conftest.c <<EOF
1863 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
1864 # error PIC is default.
1865 #endif
1867 if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
1868   pic_default=no
1870 rm -f conftest.*])
1871 AC_SUBST(pic_default)
1873 AC_SUBST(profile)
1874 AC_SUBST(omitfp)
1875 AC_SUBST(bounded)
1876 AC_SUBST(static_nss)
1877 AC_SUBST(nopic_initfini)
1879 AC_SUBST(DEFINES)
1881 case "$add_ons" in
1882   *door*) linux_doors=yes ;;
1883   *) linux_doors=no ;;
1884 esac
1885 AC_SUBST(linux_doors)
1887 dnl See sysdeps/mach/configure.in for this variable.
1888 AC_SUBST(mach_interface_list)
1890 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
1891   config_makefile=
1892 else
1893   config_makefile=Makefile
1896 VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
1897 RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
1898 AC_SUBST(VERSION)
1899 AC_SUBST(RELEASE)
1901 AC_CONFIG_FILES([config.make glibcbug ${config_makefile} ${config_uname}])
1902 AC_CONFIG_COMMANDS([default],[[
1903 case $CONFIG_FILES in *config.make*)
1904 echo "$config_vars" >> config.make;;
1905 esac
1906 test -d bits || mkdir bits]],[[config_vars='$config_vars']])
1907 AC_OUTPUT