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