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