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