(libc): Add GLIBC_2.3.1. (libpthread): Add GLIBC_2.3.1.
[glibc.git] / configure.in
blobc115be5414df6a46427edc4bd495ebcdfc5e0ed4
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_CHECK_PROGS(AUTOCONF, autoconf, no)
619 case "x$AUTOCONF" in
620 xno|x|x:) AUTOCONF=no ;;
622   AC_CACHE_CHECK(dnl
623 whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works, libc_cv_autoconf_works, [dnl
624   if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then
625     libc_cv_autoconf_works=yes
626   else
627     libc_cv_autoconf_works=no
628   fi])
629   test $libc_cv_autoconf_works = yes || AUTOCONF=no
630   ;;
631 esac
632 test "x$AUTOCONF" != xno || aux_missing="$aux_missing autoconf"
634 AC_PROG_CC_LOCAL
635 AC_CANONICAL_BUILD
636 if test $host != $build; then
637   AC_CHECK_PROGS(BUILD_CC, gcc cc)
639 AC_SUBST(cross_compiling)
640 AC_PROG_CPP
641 LIBC_PROG_BINUTILS
642 AC_CHECK_TOOL(MIG, mig, MISSING)
644 # Accept binutils 2.10.1 or newer (and also any ia64 2.9 version)
645 # XXX Commented out because it filters out too many good versions.
646 # XXX --drepper
647 # AC_CHECK_PROG_VER(AS, $AS, --version,
648 #   [GNU assembler.* \([0-9]*\.[0-9.]*\(-ia64-[0-9]*\)*\)],
649 #   [2.10.[1-9]* | 2.1[1-9]* | 2.9-ia64-*], AS=: critic_missing=t)
651 test -n "$aux_missing" && AC_MSG_WARN([
652 *** These auxiliary programs are missing or incompatible versions:$aux_missing
653 *** some features will be disabled.
654 *** Check the INSTALL file for required versions.])
656 # glibcbug.in wants to know the compiler version.
657 CCVERSION=`$CC -v 2>&1 | sed -n 's/gcc version //p'`
658 AC_SUBST(CCVERSION)
660 # if using special system headers, find out the compiler's sekrit
661 # header directory and add that to the list.  NOTE: Only does the right
662 # thing on a system that doesn't need fixincludes.  (Not presently a problem.)
663 if test -n "$sysheaders"; then
664   ccheaders=`$CC -print-file-name=include`
665   SYSINCLUDES="-nostdinc -isystem $ccheaders -isystem $sysheaders"
667 AC_SUBST(SYSINCLUDES)
669 # check if ranlib is necessary
670 AC_CACHE_CHECK(whether ranlib is necessary, libc_cv_ranlib_necessary, [dnl
671 cat > conftest.c <<EOF
672 int a;
673 char b;
674 void c(void) {}
676 $CC $CFLAGS -c conftest.c
677 $AR cr conftest.a conftest.o
678 cp conftest.a conftest2.a
679 $RANLIB conftest.a
680 if cmp -s conftest.a conftest2.a; then
681   libc_cv_ranlib_necessary=no
682 else
683   libc_cv_ranlib_necessary=yes
685 rm -rf conftest*])
686 if test "$libc_cv_ranlib_necessary" = no; then
687  RANLIB=:
690 # Test if LD_LIBRARY_PATH contains the notation for the current directory
691 # since this would lead to problems installing/building glibc.
692 # LD_LIBRARY_PATH contains the current directory if one of the following
693 # is true:
694 # - one of the terminals (":" and ";") is the first or last sign
695 # - two terminals occur directly after each other
696 # - the path contains an element with a dot in it
697 AC_MSG_CHECKING(LD_LIBRARY_PATH variable)
698 changequote(,)dnl
699 case ${LD_LIBRARY_PATH} in
700   [:\;]* | *[:\;] | *[:\;][:\;]* |  *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
701     ld_library_path_setting="contains current directory"
702     ;;
703   *)
704     ld_library_path_setting="ok"
705     ;;
706 esac
707 changequote([,])dnl
708 AC_MSG_RESULT($ld_library_path_setting)
709 if test "$ld_library_path_setting" != "ok"; then
710 AC_MSG_ERROR([
711 *** LD_LIBRARY_PATH shouldn't contain the current directory when
712 *** building glibc. Please change the environment variable
713 *** and run configure again.])
716 AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl
717 if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
718   libc_cv_gcc_static_libgcc=
719 else
720   libc_cv_gcc_static_libgcc=-static-libgcc
721 fi])
722 AC_SUBST(libc_cv_gcc_static_libgcc)
724 AC_PATH_PROG(BASH, bash, no)
725 if test "$BASH" != no &&
726    $BASH -c 'test "$BASH_VERSINFO" \
727              && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then
728   libc_cv_have_bash2=yes
729 else
730   libc_cv_have_bash2=no
732 AC_SUBST(libc_cv_have_bash2)
734 dnl We need a ksh compatible shell for tzselect.
735 if test "$BASH" = no; then
736   AC_PATH_PROG(KSH, ksh, no)
737   if test "$KSH" = no; then
738     libc_cv_have_ksh=no
739   else
740     libc_cv_have_ksh=yes
741   fi
742 else
743   KSH="$BASH"
744   AC_SUBST(KSH)
745   libc_cv_have_ksh=yes
747 AC_SUBST(libc_cv_have_ksh)
749 AC_PROG_AWK
750 AC_PATH_PROG(PERL, perl, no)
751 if test "$PERL" != no &&
752    (eval `$PERL -V:apiversion`; test `expr "$apiversion" \< 5` -ne 0); then
753   PERL=no
755 AC_PATH_PROG(INSTALL_INFO, install-info, no,
756              $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
757 if test "$INSTALL_INFO" != "no"; then
758 AC_CACHE_CHECK(for old Debian install-info, libc_cv_old_debian_install_info,
759  [mkdir conftest.d
760   # There is a hard ^_ on the next line.  I am open to better ideas.
761   (echo '\x1f'
762   echo 'File: dir       Node: Top       This is the top of the INFO tree'
763   echo '* Menu:') >conftest.d/dir
764   (echo 'INFO-DIR-SECTION i-d-s works'
765   echo 'START-INFO-DIR-ENTRY'
766   echo '* Prog: (prog).   Program.'
767   echo 'END-INFO-DIR-ENTRY') >conftest.d/prog.info
768   if $INSTALL_INFO --info-dir=conftest.d conftest.d/prog.info >&AC_FD_CC 2>&1
769   then
770     if grep -s 'i-d-s works' conftest.d/dir >/dev/null
771     then libc_cv_old_debian_install_info=no
772     else libc_cv_old_debian_install_info=yes
773     fi
774   else libc_cv_old_debian_install_info=no testfailed=t
775   fi
776   rm -fr conftest.d])
777 if test -n "$testfailed"
778 then AC_MSG_WARN([install-info errored out, check config.log])
780 OLD_DEBIAN_INSTALL_INFO=$libc_cv_old_debian_install_info
782 AC_SUBST(OLD_DEBIAN_INSTALL_INFO)
784 AC_PATH_PROG(BISON, bison, no, $PATH:/usr/local/bin:/usr/bin:/bin)
786 AC_CACHE_CHECK(for signed size_t type, libc_cv_signed_size_t, [dnl
787 echo '#include <stddef.h>
788 FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
789 if eval "$ac_cpp conftest.c 2>/dev/null" \
790 | grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then
791   libc_cv_signed_size_t=no
792 else
793   libc_cv_signed_size_t=yes
795 rm -f conftest*])
796 if test $libc_cv_signed_size_t = yes; then
797   dnl Do this by hand instead of AC_DEFINE so can add #undef to avoid warnings.
798   cat >> confdefs.h <<\EOF
799 #undef __SIZE_TYPE__
800 #define __SIZE_TYPE__ unsigned
804 AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl
805 AC_TRY_COMPILE(dnl
806 [#define __need_size_t
807 #define __need_wchar_t
808 #include <stddef.h>
809 #define __need_NULL
810 #include <stddef.h>], [size_t size; wchar_t wchar;
811 #ifdef offsetof
812 #error stddef.h ignored __need_*
813 #endif
814 if (&size == NULL || &wchar == NULL) abort ();],
815                libc_cv_friendly_stddef=yes,
816                libc_cv_friendly_stddef=no)])
817 if test $libc_cv_friendly_stddef = yes; then
818   config_vars="$config_vars
819 override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
822 AC_CACHE_CHECK(whether we need to use -P to assemble .S files,
823                libc_cv_need_minus_P, [dnl
824 cat > conftest.S <<EOF
825 #include "confdefs.h"
826 /* Nothing whatsoever.  */
828 if ${CC-cc} $CFLAGS -c conftest.S 2>/dev/null; then
829   libc_cv_need_minus_P=no
830 else
831   libc_cv_need_minus_P=yes
833 rm -f conftest*])
834 if test $libc_cv_need_minus_P = yes; then
835   config_vars="$config_vars
836 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
839 AC_MSG_CHECKING(whether .text pseudo-op must be used)
840 AC_CACHE_VAL(libc_cv_dot_text, [dnl
841 cat > conftest.s <<EOF
842 .text
844 libc_cv_dot_text=
845 if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
846   libc_cv_dot_text=.text
848 rm -f conftest*])
849 if test -z "$libc_cv_dot_text"; then
850   AC_MSG_RESULT(no)
851 else
852   AC_MSG_RESULT(yes)
855 AC_CACHE_CHECK(for assembler global-symbol directive,
856                libc_cv_asm_global_directive, [dnl
857 libc_cv_asm_global_directive=UNKNOWN
858 for ac_globl in .globl .global .EXPORT; do
859   cat > conftest.s <<EOF
860         ${libc_cv_dot_text}
861         ${ac_globl} foo
862 foo:
864   if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
865     libc_cv_asm_global_directive=${ac_globl}
866   fi
867   rm -f conftest*
868   test $libc_cv_asm_global_directive != UNKNOWN && break
869 done])
870 if test $libc_cv_asm_global_directive = UNKNOWN; then
871   AC_MSG_ERROR(cannot determine asm global directive)
872 else
873   AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
876 AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
877 cat > conftest.s <<EOF
878 ${libc_cv_dot_text}
879 foo:
880 .set glibc_conftest_frobozz,foo
881 $libc_cv_asm_global_directive glibc_conftest_frobozz
883 # The alpha-dec-osf1 assembler gives only a warning for `.set'
884 # (but it doesn't work), so we must do a linking check to be sure.
885 cat > conftest1.c <<\EOF
886 extern int glibc_conftest_frobozz;
887 main () { printf ("%d\n", glibc_conftest_frobozz); }
889 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
890             -o conftest conftest.s conftest1.c 1>&AC_FD_CC 2>&AC_FD_CC; then
891   libc_cv_asm_set_directive=yes
892 else
893   libc_cv_asm_set_directive=no
895 rm -f conftest*])
896 if test $libc_cv_asm_set_directive = yes; then
897   AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
900 AC_CACHE_CHECK(for assembler .type directive prefix,
901                libc_cv_asm_type_prefix, [dnl
902 libc_cv_asm_type_prefix=no
903 for ac_try_prefix in '@' '%' '#'; do
904   cat > conftest.s <<EOF
905         ${libc_cv_dot_text}
906         ${libc_cv_asm_global_directive} foo
907         .type foo, ${ac_try_prefix}object
908         .size foo, 1
909 foo:
910         .byte 1
912   if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
913     libc_cv_asm_type_prefix=${ac_try_prefix}
914   fi
915   rm -f conftest*
916   test "x$libc_cv_asm_type_prefix" != xno && break
917 done])
918 if test "x$libc_cv_asm_type_prefix" != xno; then
919   AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
922 # The Aix ld uses global .symbol_names instead of symbol_names.
923 # Unfortunately also used in the PPC64 ELF ABI.
924 case "${os}${machine}" in
925 aix4.3* | linux*powerpc/powerpc64*)
926   AC_DEFINE(HAVE_ASM_GLOBAL_DOT_NAME)
927 esac
929 AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
930 [cat > conftest.s <<EOF
931 ${libc_cv_dot_text}
932 _sym:
933 .symver _sym,sym@VERS
935 if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&AC_FD_CC 2>&AC_FD_CC; then
936   libc_cv_asm_symver_directive=yes
937 else
938   libc_cv_asm_symver_directive=no
940 rm -f conftest*])
941 AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
942 if test $libc_cv_asm_symver_directive = yes; then
943   cat > conftest.s <<EOF
944 ${libc_cv_dot_text}
945 _sym:
946 .symver _sym,sym@VERS
948   cat > conftest.map <<EOF
949 VERS_1 {
950         global: sym;
953 VERS_2 {
954         global: sym;
955 } VERS_1;
957   if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&AC_FD_CC 2>&AC_FD_CC; then
958     if AC_TRY_COMMAND([${CC-cc} $CFLAGS -shared -o conftest.so conftest.o
959                                         -nostartfiles -nostdlib
960                                         -Wl,--version-script,conftest.map
961                        1>&AC_FD_CC]);
962     then
963       libc_cv_ld_version_script_option=yes
964     else
965       libc_cv_ld_version_script_option=no
966     fi
967   else
968     libc_cv_ld_version_script_option=no
969   fi
970 else
971   libc_cv_ld_version_script_option=no
973 rm -f conftest*])
974 if test $shared != no &&
975    test $libc_cv_asm_symver_directive = yes &&
976    test $libc_cv_ld_version_script_option = yes &&
977    test $enable_versioning = yes; then
978   VERSIONING=yes
979   AC_DEFINE(DO_VERSIONING)
980 else
981   VERSIONING=no
983 AC_SUBST(VERSIONING)
985 if test $elf = yes && test $shared != no && test $VERSIONING = no; then
986   echo "\
987 *** WARNING: You should not compile GNU libc without versioning. Not using
988 *** versioning will introduce incompatibilities so that old binaries
989 *** will not run anymore.
990 *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
992 if test $elf = yes; then
993   AC_CACHE_CHECK(for .previous assembler directive,
994                  libc_cv_asm_previous_directive, [dnl
995   cat > conftest.s <<EOF
996 .section foo_section
997 .previous
999   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AC_FD_CC); then
1000     libc_cv_asm_previous_directive=yes
1001   else
1002     libc_cv_asm_previous_directive=no
1003   fi
1004   rm -f conftest*])
1005   if test $libc_cv_asm_previous_directive = yes; then
1006     AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
1007   else
1008     AC_CACHE_CHECK(for .popsection assembler directive,
1009                    libc_cv_asm_popsection_directive, [dnl
1010     cat > conftest.s <<EOF
1011 .pushsection foo_section
1012 .popsection
1014     if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AC_FD_CC); then
1015       libc_cv_asm_popsection_directive=yes
1016     else
1017       libc_cv_asm_popsection_directive=no
1018     fi
1019     rm -f conftest*])
1020     if test $libc_cv_asm_popsection_directive = yes; then
1021       AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
1022     fi
1023   fi
1024   AC_CACHE_CHECK(for .protected and .hidden assembler directive,
1025                  libc_cv_asm_protected_directive, [dnl
1026   cat > conftest.s <<EOF
1027 .protected foo
1028 foo:
1029 .hidden bar
1030 bar:
1032   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AC_FD_CC); then
1033     libc_cv_asm_protected_directive=yes
1034   else
1035     libc_cv_asm_protected_directive=no
1036   fi
1037   rm -f conftest*])
1038   AC_SUBST(libc_cv_asm_protected_directive)
1039   AC_DEFINE(HAVE_PROTECTED)
1040   AC_DEFINE(HAVE_HIDDEN)
1042   if test $libc_cv_asm_protected_directive = yes; then
1043     AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
1044                  libc_cv_visibility_attribute,
1045                  [cat > conftest.c <<EOF
1046                   int foo __attribute__ ((visibility ("hidden"))) = 1;
1047                   int bar __attribute__ ((visibility ("protected"))) = 1;
1049                   libc_cv_visibility_attribute=no
1050                   if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
1051                     if grep '\.hidden.*foo' conftest.s >/dev/null; then
1052                       if grep '\.protected.*bar' conftest.s >/dev/null; then
1053                         libc_cv_visibility_attribute=yes
1054                       fi
1055                     fi
1056                   fi
1057                   rm -f conftest.[cs]
1058                  ])
1059     if test $libc_cv_visibility_attribute = yes; then
1060       AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
1061     fi
1062   fi
1064   if test $libc_cv_visibility_attribute = yes; then
1065     AC_CACHE_CHECK(for broken __attribute__((visibility())),
1066                  libc_cv_broken_visibility_attribute,
1067                  [cat > conftest.c <<EOF
1068                   int foo (int x);
1069                   int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
1070                   int bar (int x) { return x; }
1072                   libc_cv_broken_visibility_attribute=yes
1073                   if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
1074 changequote(,)dnl
1075                     if grep '\.hidden[  _]foo' conftest.s >/dev/null; then
1076 changequote([,])dnl
1077                       libc_cv_broken_visibility_attribute=no
1078                     fi
1079                   fi
1080                   rm -f conftest.c conftest.s
1081                  ])
1082     if test $libc_cv_broken_visibility_attribute = yes; then
1083       AC_DEFINE(HAVE_BROKEN_VISIBILITY_ATTRIBUTE)
1084     fi
1085   fi
1087   AC_CACHE_CHECK(for broken __attribute__((alias())),
1088                  libc_cv_broken_alias_attribute,
1089                  [cat > conftest.c <<EOF
1090                   extern int foo (int x) __asm ("xyzzy");
1091                   int bar (int x) { return x; }
1092                   extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
1093                   extern int dfoo;
1094                   extern __typeof (dfoo) dfoo __asm ("abccb");
1095                   int dfoo = 1;
1097                   libc_cv_broken_alias_attribute=yes
1098                   if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
1099                     if grep 'xyzzy' conftest.s >/dev/null &&
1100                        grep 'abccb' conftest.s >/dev/null; then
1101                       libc_cv_broken_alias_attribute=no
1102                     fi
1103                   fi
1104                   rm -f conftest.c conftest.s
1105                  ])
1106   if test $libc_cv_broken_alias_attribute = yes; then
1107     AC_DEFINE(HAVE_BROKEN_ALIAS_ATTRIBUTE)
1108   fi
1110   if test $libc_cv_visibility_attribute = yes -a $gnu_ld = yes; then
1111     AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
1112                  libc_cv_have_sdata_section,
1113                  [echo "int i;" > conftest.c
1114                   libc_cv_have_sdata_section=no
1115                   if ${CC-cc} -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
1116                      | grep '\.sdata' >/dev/null; then
1117                     libc_cv_have_sdata_section=yes
1118                   fi
1119                   rm -f conftest.c conftest.so
1120                  ])
1121     if test $libc_cv_have_sdata_section = yes; then
1122       AC_DEFINE(HAVE_SDATA_SECTION)
1123     fi
1124   fi
1126   AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
1127                  libc_cv_initfinit_array, [dnl
1128   cat > conftest.c <<EOF
1129 int _start (void) { return 0; }
1130 int __start (void) { return 0; }
1131 int foo (void) { return 1; }
1132 int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
1134   if AC_TRY_COMMAND([${CC-cc} -o conftest conftest.c
1135                      -static -nostartfiles -nostdlib 1>&AC_FD_CC])
1136   then
1137     if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then
1138       libc_cv_initfinit_array=yes
1139     else
1140       libc_cv_initfinit_array=no
1141     fi
1142   else
1143     libc_cv_initfinit_array=no
1144   fi
1145   rm -f conftest*])
1146   AC_SUBST(libc_cv_initfinit_array)
1147   if test $libc_cv_initfinit_array = yes; then
1148     AC_DEFINE(HAVE_INITFINI_ARRAY)
1149   fi
1151   AC_CACHE_CHECK(for -z nodelete option,
1152                  libc_cv_z_nodelete, [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,nodelete 1>&AC_FD_CC])
1159   then
1160     libc_cv_z_nodelete=yes
1161   else
1162     libc_cv_z_nodelete=no
1163   fi
1164   rm -f conftest*])
1165   AC_SUBST(libc_cv_z_nodelete)
1167   AC_CACHE_CHECK(for -z nodlopen option,
1168                  libc_cv_z_nodlopen, [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,nodlopen 1>&AC_FD_CC])
1175   then
1176     libc_cv_z_nodlopen=yes
1177   else
1178     libc_cv_z_nodlopen=no
1179   fi
1180   rm -f conftest*])
1181   AC_SUBST(libc_cv_z_nodlopen)
1183   AC_CACHE_CHECK(for -z initfirst option,
1184                  libc_cv_z_initfirst, [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
1189                         -nostartfiles -nostdlib
1190                         -Wl,--enable-new-dtags,-z,initfirst 1>&AC_FD_CC])
1191   then
1192     libc_cv_z_initfirst=yes
1193   else
1194     libc_cv_z_initfirst=no
1195   fi
1196   rm -f conftest*])
1197   AC_SUBST(libc_cv_z_initfirst)
1199   AC_CACHE_CHECK(for -Bgroup option,
1200                  libc_cv_Bgroup, [dnl
1201   cat > conftest.c <<EOF
1202 int _start (void) { return 42; }
1204   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c -Wl,-Bgroup -nostdlib 1>&AC_FD_CC])
1205   then
1206     libc_cv_Bgroup=yes
1207   else
1208     libc_cv_Bgroup=no
1209   fi
1210   rm -f conftest*])
1211   AC_SUBST(libc_cv_Bgroup)
1213   AC_CACHE_CHECK(for -z combreloc,
1214                  libc_cv_z_combreloc, [dnl
1215   cat > conftest.c <<EOF
1216 extern int bar (int);
1217 extern int mumble;
1218 int foo (void) { return bar (mumble); }
1220   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1221                         -nostdlib -nostartfiles
1222                         -Wl,-z,combreloc 1>&AC_FD_CC])
1223   then
1224 dnl The following test is a bit weak.  We must use a tool which can test
1225 dnl cross-platform since the gcc used can be a cross compiler.  Without
1226 dnl introducing new options this is not easily doable.  Instead use a tool
1227 dnl which always is cross-platform: readelf.  To detect whether -z combreloc
1228 dnl look for a section named .rel.dyn.
1229     if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
1230       libc_cv_z_combreloc=yes
1231     else
1232       libc_cv_z_combreloc=no
1233     fi
1234   else
1235     libc_cv_z_combreloc=no
1236   fi
1237   rm -f conftest*])
1238   if test "$libc_cv_z_combreloc" = yes; then
1239     AC_DEFINE(HAVE_Z_COMBRELOC)
1240   fi
1242 AC_SUBST(libc_cv_z_combreloc)
1244 if test $elf != yes; then
1245   AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
1246                  [AC_TRY_COMPILE(, [asm (".section .init");
1247                                     asm (".section .fini");
1248                                     asm ("${libc_cv_dot_text}");],
1249                                  libc_cv_have_initfini=yes,
1250                                  libc_cv_have_initfini=no)])
1251   AC_SUBST(libc_cv_have_initfini)dnl
1252   if test $libc_cv_have_initfini = yes; then
1253     AC_DEFINE(HAVE_INITFINI)
1254   fi
1257 if test $elf = yes -a $gnu_ld = yes; then
1258   AC_CACHE_CHECK(whether cc puts quotes around section names,
1259                  libc_cv_have_section_quotes,
1260                  [cat > conftest.c <<EOF
1261                   static const int foo
1262                   __attribute__ ((section ("bar"))) = 1;
1264                   if ${CC-cc} -S conftest.c -o conftest.s; then
1265                     if grep '\.section.*"bar"' conftest.s >/dev/null; then
1266                       libc_cv_have_section_quotes=yes
1267                     else
1268                       libc_cv_have_section_quotes=no
1269                     fi
1270                   else
1271                     libc_cv_have_section_quotes=unknown
1272                   fi
1273                   rm -f conftest.[cs]
1274                  ])
1275   if test $libc_cv_have_section_quotes = yes; then
1276     AC_DEFINE(HAVE_SECTION_QUOTES)
1277   fi
1280 dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1281 AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
1282 [cat > conftest.$ac_ext <<EOF
1283 dnl This sometimes fails to find confdefs.h, for some reason.
1284 dnl [#]line __oline__ "[$]0"
1285 [#]line __oline__ "configure"
1286 #include "confdefs.h"
1287 void underscore_test(void) {
1288 return; }
1290 if AC_TRY_EVAL(ac_compile); then
1291   if grep _underscore_test conftest* >/dev/null; then
1292     ifelse([$1], , :, [rm -f conftest*
1293     $1])
1294   else
1295     ifelse([$2], , , [rm -f conftest*
1296     $2])
1297   fi
1298 else
1299   echo "configure: failed program was:" >&AC_FD_CC
1300   cat conftest.$ac_ext >&AC_FD_CC
1301   ifelse([$2], , , [rm -f conftest*
1302   $2])
1304 rm -f conftest*])
1306 if test $elf = yes; then
1307   libc_cv_asm_underscores=no
1308 else
1309   if test $ac_cv_prog_cc_works = yes; then
1310     AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1311                    [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
1312                                 libc_cv_asm_underscores=yes,
1313                                 libc_cv_asm_underscores=no)])
1314   else
1315     AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1316                    [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
1317                                             libc_cv_asm_underscores=no)])
1318   fi
1320 if test $libc_cv_asm_underscores = no; then
1321   AC_DEFINE(NO_UNDERSCORES)
1324 if test $elf = yes; then
1325   libc_cv_weak_symbols=yes
1328 AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
1329                [dnl
1330 cat > conftest.s <<EOF
1331 ${libc_cv_dot_text}
1332 ${libc_cv_asm_global_directive} foo
1333 foo:
1334 .weak foo
1335 .weak bar; bar = foo
1337 if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
1338   libc_cv_asm_weak_directive=yes
1339 else
1340   libc_cv_asm_weak_directive=no
1342 rm -f conftest*])
1344 if test $libc_cv_asm_weak_directive = no; then
1345   AC_CACHE_CHECK(for assembler .weakext directive,
1346                  libc_cv_asm_weakext_directive,
1347                  [dnl
1348 cat > conftest.s <<EOF
1349 ${libc_cv_dot_text}
1350 ${libc_cv_asm_global_directive} foo
1351 foo:
1352 .weakext bar foo
1353 .weakext baz
1354 ${libc_cv_asm_global_directive} baz
1355 baz:
1357   if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
1358     libc_cv_asm_weakext_directive=yes
1359   else
1360     libc_cv_asm_weakext_directive=no
1361   fi
1362   rm -f conftest*])
1364 fi # no .weak
1366 if test $libc_cv_asm_weak_directive = yes; then
1367   AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
1368 elif test $libc_cv_asm_weakext_directive = yes; then
1369   AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
1372 dnl The standard hppa assembler uses `;' to start comments and `!'
1373 dnl as a line separator.  CRIS uses `;' to start comments and `@' for
1374 dnl line separator.
1375 case "${host_cpu}-${host_os}" in
1376   cris*)
1377     libc_cv_asm_line_sep='@'
1378     AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
1379     ;;
1380   hppa*linux*)
1381   AC_CACHE_CHECK(for assembler line separator,
1382                  libc_cv_asm_line_sep, [dnl
1383   cat > conftest.s <<EOF
1384  nop ; is_old_puffin
1386   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AC_FD_CC); then
1387     libc_cv_asm_line_sep='!'
1388   else
1389     if test -z "$enable_hacker_mode"; then
1390       echo "*** You need a newer assembler to compile glibc"
1391       rm -f conftest*
1392       exit 1
1393     fi
1394     libc_cv_asm_line_sep=';'
1395   fi
1396   rm -f conftest*])
1397   AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
1398   ;;
1399 esac
1401 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
1402 cat > conftest.c <<\EOF
1403 _start () {}
1404 int __eh_pc;
1405 __throw () {}
1407 dnl No \ in command here because it ends up inside ''.
1408 if AC_TRY_COMMAND([${CC-cc} $CFLAGS
1409                             -nostdlib -nostartfiles -Wl,--no-whole-archive
1410                             -o conftest conftest.c 1>&AC_FD_CC]); then
1411   libc_cv_ld_no_whole_archive=yes
1412 else
1413   libc_cv_ld_no_whole_archive=no
1415 rm -f conftest*])
1416 if test $libc_cv_ld_no_whole_archive = yes; then
1417   no_whole_archive=-Wl,--no-whole-archive
1419 AC_SUBST(no_whole_archive)dnl
1421 AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
1422 cat > conftest.c <<\EOF
1423 _start () {}
1424 int __eh_pc;
1425 __throw () {}
1427 dnl No \ in command here because it ends up inside ''.
1428 if AC_TRY_COMMAND([${CC-cc} $CFLAGS
1429                             -nostdlib -nostartfiles -fexceptions
1430                             -o conftest conftest.c 1>&AC_FD_CC]); then
1431   libc_cv_gcc_exceptions=yes
1432 else
1433   libc_cv_gcc_exceptions=no
1435 rm -f conftest*])
1436 if test $libc_cv_gcc_exceptions = yes; then
1437   exceptions=-fexceptions
1439 AC_SUBST(exceptions)dnl
1441 if test "$base_machine" = alpha ; then
1442 AC_CACHE_CHECK(for function ..ng prefix, libc_cv_gcc_alpha_ng_prefix, [dnl
1443 cat > conftest.c <<\EOF
1444 foo () { }
1447 if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null]);
1448 then
1449   libc_cv_gcc_alpha_ng_prefix=yes
1450 else
1451   libc_cv_gcc_alpha_ng_prefix=no
1453 rm -f conftest* ])
1454 if test $libc_cv_gcc_alpha_ng_prefix = yes ; then
1455   AC_DEFINE(ASM_ALPHA_NG_SYMBOL_PREFIX, "$")
1456 else
1457   AC_DEFINE(ASM_ALPHA_NG_SYMBOL_PREFIX, "")
1461 if test "$host_cpu" = powerpc ; then
1462 # Check for a bug present in at least versions 2.8.x of GCC
1463 # and versions 1.0.x of EGCS.
1464 AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
1465 AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
1466                libc_cv_c_asmcr0_bug='no',
1467                libc_cv_c_asmcr0_bug='yes')])
1468 if test "$libc_cv_c_asmcr0_bug" != 'no'; then
1469   AC_DEFINE(BROKEN_PPC_ASM_CR0)
1473 AC_CACHE_CHECK(for DWARF2 unwind info support, libc_cv_gcc_dwarf2_unwind_info,
1474 [cat > conftest.c <<EOF
1475 #line __oline__ "configure"
1476 static char *__EH_FRAME_BEGIN__;
1477 _start ()
1479 #ifdef CHECK__register_frame
1480   __register_frame (__EH_FRAME_BEGIN__);
1481   __deregister_frame (__EH_FRAME_BEGIN__);
1482 #endif
1483 #ifdef CHECK__register_frame_info
1484   __register_frame_info (__EH_FRAME_BEGIN__);
1485   __deregister_frame_info (__EH_FRAME_BEGIN__);
1486 #endif
1488 int __eh_pc;
1489 __throw () {}
1490 /* FIXME: this is fragile.  */
1491 malloc () {}
1492 strcmp () {}
1493 strlen () {}
1494 memcpy () {}
1495 memset () {}
1496 free () {}
1497 abort () {}
1498 __bzero () {}
1499 dl_iterate_phdr () {}
1501 dnl No \ in command here because it ends up inside ''.
1502 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -DCHECK__register_frame_info
1503                             -nostdlib -nostartfiles
1504                             -o conftest conftest.c -lgcc >&AC_FD_CC]); then
1505   libc_cv_gcc_dwarf2_unwind_info=static
1506 else
1507   libc_cv_gcc_dwarf2_unwind_info=no
1509 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -DCHECK__register_frame_info
1510                             -nostdlib -nostartfiles
1511                             -o conftest conftest.c -lgcc -lgcc_eh >&AC_FD_CC]); then
1512   if ${CC-cc} $CFLAGS -DCHECK__register_frame_info -nostdlib -nostartfiles \
1513      -o conftest conftest.c -lgcc -lgcc_eh -v 2>&1 >/dev/null \
1514      | grep -q -- --eh-frame-hdr; then
1515     libc_cv_gcc_dwarf2_unwind_info=no_registry_needed
1516   else
1517     libc_cv_gcc_dwarf2_unwind_info=static
1518   fi
1519 else
1520   libc_cv_gcc_dwarf2_unwind_info=no
1522 if test $libc_cv_gcc_dwarf2_unwind_info = no; then
1523   if AC_TRY_COMMAND([${CC-cc} $CFLAGS -DCHECK__register_frame
1524                               -nostdlib -nostartfiles
1525                               -o conftest conftest.c -lgcc >&AC_FD_CC]); then
1526     libc_cv_gcc_dwarf2_unwind_info=yes
1527   else
1528     libc_cv_gcc_dwarf2_unwind_info=no
1529   fi
1531 rm -f conftest*])
1532 case $libc_cv_gcc_dwarf2_unwind_info in
1533 yes)
1534   AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1535   ;;
1536 static)
1537   AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1538   AC_DEFINE(HAVE_DWARF2_UNWIND_INFO_STATIC)
1539   ;;
1540 esac
1542 dnl Check whether compiler understands __builtin_expect.
1543 AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
1544 [cat > conftest.c <<EOF
1545 #line __oline__ "configure"
1546 int foo (int a)
1548   a = __builtin_expect (a, 10);
1549   return a == 10 ? 0 : 1;
1552 dnl No \ in command here because it ends up inside ''.
1553 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -nostdlib -nostartfiles
1554                             -o conftest conftest.c -lgcc >&AC_FD_CC]); then
1555   libc_cv_gcc_builtin_expect=yes
1556 else
1557   libc_cv_gcc_builtin_expect=no
1559 rm -f conftest*])
1560 if test "$libc_cv_gcc_builtin_expect" = yes; then
1561   AC_DEFINE(HAVE_BUILTIN_EXPECT)
1564 AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
1565 cat > conftest.c <<\EOF
1566 void zero (void *x)
1568   __builtin_memset (x, 0, 1000);
1572 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
1573 then
1574   libc_cv_gcc_builtin_memset=no
1575 else
1576   libc_cv_gcc_builtin_memset=yes
1578 rm -f conftest* ])
1579 if test "$libc_cv_gcc_builtin_memset" = yes ; then
1580   AC_DEFINE(HAVE_BUILTIN_MEMSET)
1583 dnl Check whether the compiler supports subtraction of local labels.
1584 AC_CACHE_CHECK(for local label subtraction, libc_cv_gcc_subtract_local_labels,
1585 [cat > conftest.c <<EOF
1586 changequote(,)dnl
1587 #line __oline__ "configure"
1588 int foo (int a)
1590   static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
1591   void *p = &&l1 + ar[a];
1592   goto *p;
1593  l1:
1594   return 1;
1595  l2:
1596   return 2;
1598 changequote([,])dnl
1600 dnl No \ in command here because it ends up inside ''.
1601 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -nostdlib -nostartfiles
1602                             -o conftest conftest.c -lgcc >&AC_FD_CC]); then
1603   libc_cv_gcc_subtract_local_labels=yes
1604 else
1605   libc_cv_gcc_subtract_local_labels=no
1607 rm -f conftest*])
1608 if test "$libc_cv_gcc_subtract_local_labels" = yes; then
1609   AC_DEFINE(HAVE_SUBTRACT_LOCAL_LABELS)
1612 dnl Check whether the compiler supports the __thread keyword.
1613 AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
1614 [cat > conftest.c <<\EOF
1615 __thread int a = 42;
1617 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -c conftest.c >&AC_FD_CC]); then
1618   libc_cv_gcc___thread=yes
1619 else
1620   libc_cv_gcc___thread=no
1622 rm -f conftest*])
1623 if test "$libc_cv_gcc___thread" = yes; then
1624   AC_DEFINE(HAVE___THREAD)
1628 dnl Check whether we have the gd library available.
1629 AC_MSG_CHECKING(for libgd)
1630 if test "$with_gd" != "no"; then
1631   old_CFLAGS="$CFLAGS"
1632   CFLAGS="$CFLAGS $libgd_include"
1633   old_LDFLAGS="$LDFLAGS"
1634   LDFLAGS="$LDFLAGS $libgd_ldflags"
1635   old_LIBS="$LIBS"
1636   LIBS="$LIBS -lgd -lpng -lz -lm"
1637   AC_TRY_LINK([#include <gd.h>], [gdImagePng (0, 0)], LIBGD=yes, LIBGD=no)
1638   CFLAGS="$old_CFLAGS"
1639   LDFLAGS="$old_LDFLAGS"
1640   LIBS="$old_LIBS"
1641 else
1642   LIBGD=no
1644 AC_MSG_RESULT($LIBGD)
1645 AC_SUBST(LIBGD)
1647 dnl check for the size of 'long double'.
1648 AC_CHECK_SIZEOF(long double, 0)
1649 sizeof_long_double=$ac_cv_sizeof_long_double
1650 AC_SUBST(sizeof_long_double)
1652 ### End of automated tests.
1653 ### Now run sysdeps configure fragments.
1655 # sysdeps configure fragments may set these with files to be linked below.
1656 libc_link_dests=
1657 libc_link_sources=
1659 # They also can set these variables.
1660 use_ldconfig=no
1661 ldd_rewrite_script=no
1662 libc_cv_sysconfdir=$sysconfdir
1663 libc_cv_gcc_unwind_find_fde=no
1665 # Iterate over all the sysdep directories we will use, running their
1666 # configure fragments, and looking for a uname implementation.
1667 uname=
1668 for dir in $sysnames; do
1669   case $dir in
1670     /*) dest=$dir ;;
1671     *)  dest=$srcdir/$dir ;;
1672   esac
1673   if test -r $dest/configure; then
1674     AC_MSG_RESULT(running configure fragment for $dest)
1675     . $dest/configure
1676   fi
1678   if test -z "$uname"; then
1679     if test -r $dest/uname.c ||
1680        test -r $dest/uname.S ||
1681        { test -r $dest/syscalls.list &&
1682          grep '^uname[  ]' $dest/syscalls.list >/dev/null; }; then
1683       uname=$dir
1684     fi
1685   fi
1686 ]dnl
1687 done
1689 if test x$libc_cv_gcc_unwind_find_fde = xyes; then
1690   AC_DEFINE(EXPORT_UNWIND_FIND_FDE)
1692 AC_SUBST(libc_cv_gcc_unwind_find_fde)
1694 AC_LINK_FILES(`echo $libc_link_sources`, `echo $libc_link_dests`)
1696 # If we will use the generic uname implementation, we must figure out what
1697 # it will say by examining the system, and write the results in config-name.h.
1698 if test "$uname" = "sysdeps/generic"; then
1700 changequote(,)dnl
1701   uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
1702 changequote([,])dnl
1703   if test $uname_sysname != $config_os; then
1704     config_release=`echo $config_os | sed s/$uname_sysname//`
1705   fi
1707 AC_DEFUN(LIBC_KERNEL_ID, [dnl
1708     if test -r /vmunix; then
1709       kernel_id=`strings /vmunix | grep UNIX`
1710     elif test -r /dynix; then
1711       kernel_id=`strings /dynix | grep DYNIX`
1712     else
1713       kernel_id=
1714     fi
1715 ])dnl
1717   AC_CACHE_CHECK(OS release for uname, libc_cv_uname_release, [dnl
1718 AC_REQUIRE([LIBC_KERNEL_ID])dnl
1719 changequote(,)dnl
1720   kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
1721 changequote([,])dnl
1722   if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
1723          != x$config_release; then
1724     # The configuration release is a substring of the kernel release.
1725     libc_cv_uname_release=$kernel_release
1726   elif test x$config_release != x; then
1727     libc_cv_uname_release=$config_release
1728   elif test x$kernel_release != x; then
1729     libc_cv_uname_release=$kernel_release
1730   else
1731     libc_cv_uname_release=unknown
1732   fi])
1733   uname_release="$libc_cv_uname_release"
1735   AC_CACHE_CHECK(OS version for uname, libc_cv_uname_version, [dnl
1736 AC_REQUIRE([LIBC_KERNEL_ID])dnl
1737 changequote(,)dnl
1738   kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
1739 changequote([,])dnl
1740   if test -n "$kernel_version"; then
1741     libc_cv_uname_version="$kernel_version"
1742   else
1743     libc_cv_uname_version=unknown
1744   fi])
1745   uname_version="$libc_cv_uname_version"
1747 AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl
1748   config_uname=config-name.h:config-name.in
1749 else
1750   # For non-generic uname, we don't need to create config-name.h at all.
1751   config_uname=
1754 dnl This is tested by existing code and it's simpler to avoid changing it.
1755 AC_DEFINE(USE_IN_LIBIO)
1757 # Test for old glibc 2.0.x headers so that they can be removed properly
1758 # Search only in includedir.
1759 AC_MSG_CHECKING(for old glibc 2.0.x headers)
1760 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
1761 then
1762   old_glibc_headers=yes
1763 else
1764   old_glibc_headers=no
1766 AC_MSG_RESULT($old_glibc_headers)
1767 if test ${old_glibc_headers} = yes; then
1768   AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
1769   AC_MSG_WARN(*** be removed.)
1771 AC_SUBST(old_glibc_headers)
1773 AC_SUBST(libc_cv_slibdir)
1774 AC_SUBST(libc_cv_localedir)
1775 AC_SUBST(libc_cv_sysconfdir)
1776 AC_SUBST(libc_cv_rootsbindir)
1778 AC_SUBST(use_ldconfig)
1779 AC_SUBST(ldd_rewrite_script)
1781 AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) AC_SUBST(xcoff)
1782 if test $gnu_ld = yes; then
1783   AC_DEFINE(HAVE_GNU_LD)
1785 if test $gnu_as = yes; then
1786   AC_DEFINE(HAVE_GNU_AS)
1788 if test $elf = yes; then
1789   AC_DEFINE(HAVE_ELF)
1791 if test $xcoff = yes; then
1792   AC_DEFINE(HAVE_XCOFF)
1795 AC_SUBST(static)
1796 AC_SUBST(shared)
1797 if test $shared = default; then
1798   if test $gnu_ld = yes; then
1799     shared=$elf
1800   else
1801     # For now we do not assume shared libs are available.  In future more
1802     # tests might become available.
1803     shared=no
1804   fi
1807 AC_CACHE_CHECK([whether -fPIC is default], pic_default,
1808 [pic_default=yes
1809 cat > conftest.c <<EOF
1810 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
1811 # error PIC is default.
1812 #endif
1814 if eval "${CC-cc} -S conftest.c 2>&AC_FD_CC 1>&AC_FD_CC"; then
1815   pic_default=no
1817 rm -f conftest.*])
1818 AC_SUBST(pic_default)
1820 AC_SUBST(profile)
1821 AC_SUBST(omitfp)
1822 AC_SUBST(bounded)
1823 AC_SUBST(static_nss)
1824 AC_SUBST(nopic_initfini)
1826 AC_SUBST(DEFINES)
1828 case "$add_ons" in
1829   *door*) linux_doors=yes ;;
1830   *) linux_doors=no ;;
1831 esac
1832 AC_SUBST(linux_doors)
1834 dnl See sysdeps/mach/configure.in for this variable.
1835 AC_SUBST(mach_interface_list)
1837 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
1838   config_makefile=
1839 else
1840   config_makefile=Makefile
1843 VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
1844 RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
1845 AC_SUBST(VERSION)
1846 AC_SUBST(RELEASE)
1848 AC_OUTPUT(config.make glibcbug ${config_makefile} ${config_uname}, [
1849 case $CONFIG_FILES in *config.make*)
1850 echo "$config_vars" >> config.make;;
1851 esac
1852 test -d bits || mkdir bits], [config_vars='$config_vars'])