Update.
[glibc.git] / configure.in
blob2293f7538f3c06907c3bfa0de33f3bb88e3a3caf
1 dnl Process this file with autoconf to produce a configure script.
2 AC_REVISION([$CVSid$])
3 AC_PREREQ(2.13)dnl              dnl Minimum Autoconf version required.
4 AC_INIT(include/features.h)
5 AC_CONFIG_HEADER(config.h)
6 AC_CONFIG_AUX_DIR(scripts)
8 # This will get text that should go into config.make.
9 config_vars=
11 # Check for a --with-gmp argument and set gmp-srcdir in config.make.
12 AC_ARG_WITH(gmp, dnl
13   --with-gmp=DIRECTORY    find GMP source code in DIRECTORY (not needed),
14             [dnl
15 case "$with_gmp" in
16 yes) AC_MSG_ERROR(--with-gmp requires an argument; use --with-gmp=DIRECTORY) ;;
17 ''|no) ;;
18 *) config_vars="$config_vars
19 gmp-srcdir = $withval" ;;
20 esac
22 # Check for a --with-gd argument and set libgd-LDFLAGS in config.make.
23 AC_ARG_WITH(gd, dnl
24   --with-gd=DIR           find libgd include dir and library with prefix DIR,
25             [dnl
26 case "$with_gd" in
27 yes|''|no) ;;
28 *) libgd_include="-I$withval/include"
29    libgd_ldflags="-L$withval/lib" ;;
30 esac
32 AC_ARG_WITH(gd-include, dnl
33   --with-gd-include=DIR   find libgd include files in DIR,
34             [dnl
35 case "$with_gd_include" in
36 ''|no) ;;
37 *) libgd_include="-I$withval" ;;
38 esac
40 AC_ARG_WITH(gd-lib, dnl
41   --with-gd-lib=DIR       find libgd library files in DIR,
42             [dnl
43 case "$with_gd_lib" in
44 ''|no) ;;
45 *) libgd_ldflags="-L$withval" ;;
46 esac
49 if test -n "$libgd_include"; then
50   config_vars="$config_vars
51 CFLAGS-memusagestat.c = $libgd_include"
53 if test -n "$libgd_ldflags"; then
54   config_vars="$config_vars
55 libgd-LDFLAGS = $libgd_ldflags"
58 dnl Arguments to specify presence of other packages/features.
59 AC_ARG_WITH(fp, dnl
60 [  --with-fp              if using floating-point hardware [default=yes]],
61             with_fp=$withval, with_fp=yes)
62 AC_SUBST(with_fp)
63 AC_ARG_WITH(binutils, dnl
64   --with-binutils=PATH    specify location of binutils (as and ld),
65             path_binutils=$withval, path_binutils='')
66 AC_ARG_WITH(elf, dnl
67   --with-elf              if using the ELF object format,
68             elf=$withval, elf=no)
69 AC_ARG_WITH(xcoff, dnl
70   --with-xcoff            if using the XCOFF object format,
71             xcoff=$withval, xcoff=no)
72 AC_ARG_WITH(cvs, dnl
73 [  --without-cvs           if CVS should not be used],
74             with_cvs=$withval, with_cvs=yes)
75 if test "$with_cvs" = yes; then
76   if test -d $srcdir/CVS && grep :pserver: $srcdir/CVS/Root > /dev/null
77   then
78     with_cvs=no
79   fi
81 AC_SUBST(with_cvs)
83 AC_ARG_WITH(headers, dnl
84 [  --with-headers=PATH     location of system headers to use
85                           [e.g. /usr/src/linux/include]
86                           [default=compiler default]],
87             sysheaders=$withval, sysheaders='')
89 AC_ARG_ENABLE(sanity-checks, dnl
90 [  --disable-sanity-checks really do not use threads (should not be used
91                           except in special situations) [default=yes]],
92               enable_sanity=$enableval, enable_sanity=yes)
94 dnl Arguments to enable or disable building the static, shared, profiled,
95 dnl and -fomit-frame-pointer libraries.
96 dnl I've disabled this for now since we cannot build glibc without static
97 dnl libraries built in the moment.
98 dnl AC_ARG_ENABLE(static, dnl
99 dnl [  --enable-static         build static library [default=yes]],
100 dnl           static=$enableval, static=yes)
101 static=yes
102 AC_ARG_ENABLE(shared, dnl
103 [  --enable-shared         build shared library [default=yes if GNU ld & ELF]],
104               shared=$enableval, shared=default)
105 AC_ARG_ENABLE(profile, dnl
106 [  --enable-profile        build profiled library [default=yes]],
107               profile=$enableval, profile=yes)
108 AC_ARG_ENABLE(omitfp, dnl
109 [  --enable-omitfp         build undebuggable optimized library [default=no]],
110               omitfp=$enableval, omitfp=no)
111 AC_ARG_ENABLE(bounded, dnl
112 [  --enable-bounded        build with runtime bounds checking [default=no]],
113               bounded=$enableval, bounded=no)
114 AC_ARG_ENABLE(versioning, dnl
115 [  --disable-versioning    do not include versioning information in the
116                           library objects [default=yes if supported]],
117              enable_versioning=$enableval, enable_versioning=yes)
119 AC_ARG_ENABLE(oldest-abi, dnl
120 [  --enable-oldest-abi=ABI configure the oldest ABI supported [e.g. 2.2]
121                           [default=glibc default]],
122             oldest_abi=$enableval, oldest_abi=no)
123 if test "$oldest_abi" = yes || test "$oldest_abi" = no; then
124   oldest_abi=default
125 else
126   AC_DEFINE_UNQUOTED(GLIBC_OLDEST_ABI, "$oldest_abi")
128 AC_SUBST(oldest_abi)
130 dnl Generic infrastructure for drop-in additions to libc.
131 AC_ARG_ENABLE(add-ons, dnl
132 [  --enable-add-ons[=DIR1,DIR2]...
133                           configure and build add-ons in DIR1,DIR2,...
134                           search for add-ons if no parameter given],
135   [case "$enableval" in
136     yes) add_ons=`cd $srcdir && echo */configure | sed -e 's!/configure!!g'`
137          test "$add_ons" = "*" && add_ons= ;;
138     *) add_ons=`echo "$enableval" | sed 's/,/ /g'`;;
139    esac],
140   [add_ons=])
142 dnl Let the user avoid using TLS.  Don't know why but...
143 dnl XXX For now we disable support by default.
144 AC_ARG_WITH(tls, dnl
145 [  --with-tls              enable support for TLS],
146             usetls=$withval, usetls=no)
148 AC_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
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)
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)
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
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)
217 AC_CANONICAL_HOST
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
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
237 # Don't allow vendor == "unknown"
238 test "$config_vendor" = unknown && config_vendor=
239 config_os="`echo $config_os | sed 's/^unknown-//'`"
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
262 machine=$config_machine
263 vendor=$config_vendor
264 os=$config_os
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"
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
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.
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
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 powerpc)        base_machine=powerpc machine=powerpc/powerpc32 ;;
317 powerpc64)      base_machine=powerpc machine=powerpc/powerpc64 ;;
318 s390)           base_machine=s390 machine=s390/s390-32 ;;
319 s390x)          base_machine=s390 machine=s390/s390-64 ;;
320 sh3*)           base_machine=sh machine=sh/sh3 ;;
321 sh4*)           base_machine=sh machine=sh/sh4 ;;
322 sparc | sparcv[67])
323                 base_machine=sparc machine=sparc/sparc32 ;;
324 sparcv8 | supersparc | hypersparc)
325                 base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
326 sparcv8plus | sparcv8plusa | sparcv9)
327                 base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
328 sparcv8plusb | sparcv9b)
329                 base_machine=sparc machine=sparc/sparc32/sparcv9b ;;
330 sparc64 | ultrasparc)
331                 base_machine=sparc machine=sparc/sparc64 ;;
332 sparc64b | ultrasparc3)
333                 base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
334 thumb*)         base_machine=thumb machine=arm/thumb/$machine ;;
335 *)              base_machine=$machine ;;
336 esac
337 changequote([,])dnl
338 AC_SUBST(base_machine)
340 if test "$base_machine" = "i386"; then
341   AC_DEFINE(USE_REGPARMS)
344 # Compute the list of sysdep directories for this configuration.
345 # This can take a while to compute.
346 sysdep_dir=$srcdir/sysdeps
347 AC_MSG_CHECKING(sysdep dirs)
348 dnl We need to use [ and ] for other purposes for a while now.
349 changequote(,)dnl
350 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
351 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
353 case "$os" in
354 gnu*)
355   base_os=mach/hurd ;;
356 netbsd* | 386bsd* | freebsd* | bsdi*)
357   base_os=unix/bsd/bsd4.4 ;;
358 osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
359   base_os=unix/bsd ;;
360 sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
361   base_os=unix/sysv ;;
362 irix6*)
363   base_os=unix/sysv/irix6/$os ;;
364 solaris[2-9]*)
365   base_os=unix/sysv/sysv4 ;;
366 hpux*)
367   base_os=unix/sysv/hpux/$os ;;
368 aix4.3*)
369   base_os=unix/sysv/aix/aix4.3 ;;
370 none)
371   base_os=standalone ;;
373   base_os='' ;;
374 esac
376 # For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
377 tail=$os
378 ostry=$os
379 while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
380   ostry="$ostry /$o"
381   tail=$o
382 done
383 o=`echo $tail | sed 's/[0-9]*$//'`
384 if test $o != $tail; then
385   ostry="$ostry /$o"
387 # For linux-gnu, try linux-gnu, then linux.
388 o=`echo $tail | sed 's/-.*$//'`
389 if test $o != $tail; then
390   ostry="$ostry /$o"
393 # For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
394 base=
395 tail=$base_os
396 while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
397   set $b
398   base="$base /$1"
399   tail="$2"
400 done
402 # For sparc/sparc32, try sparc/sparc32 and then sparc.
403 mach=
404 tail=$machine
405 while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
406   set $m
407   # Prepend the machine's FPU directory unless --without-fp.
408   if test "$with_fp" = yes; then
409     mach="$mach /$1/fpu"
410   fi
411   mach="$mach /$1"
412   tail="$2"
413 done
415 dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
416 changequote([,])dnl
418 # Find what sysdep directories exist.
419 sysnames=
420 IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
421 for d in $add_ons_pfx ''; do
422   for b in $base ''; do
423     for m0 in $mach ''; do
424       for v in /$vendor ''; do
425         test "$v" = / && continue
426         for o in /$ostry ''; do
427           test "$o" = / && continue
428           for m in $mach ''; do
429             if test "$m0$b$v$o$m"; then
430               try="${d}sysdeps$m0$b$v$o$m"
431               test -n "$enable_debug_configure" &&
432               echo "$0 [DEBUG]: try $try" >&2
433               if test -d $srcdir/$try; then
434                 sysnames="$sysnames $try"
435                 { test -n "$o" || test -n "$b"; } && os_used=t
436                 { test -n "$m" || test -n "$m0"; } && machine_used=t
437               fi
438             fi
439           done
440         done
441       done
442     done
443   done
444 done
445 IFS="$ac_save_ifs"
447 if test -z "$os_used" && test "$os" != none; then
448   AC_MSG_ERROR(Operating system $os is not supported.)
450 if test -z "$machine_used" && test "$machine" != none; then
451   AC_MSG_ERROR(The $machine is not supported.)
454 # We have now validated the configuration.
457 # If using ELF, look for an `elf' subdirectory of each machine directory.
458 # We prepend these rather than inserting them whereever the machine appears
459 # because things specified by the machine's ELF ABI should override
460 # OS-specific things, and should always be the same for any OS on the
461 # machine (otherwise what's the point of an ABI?).
462 if test "$elf" = yes; then
463   elf_dirs=
464   for d in $add_ons_pfx ''; do
465     for m in $mach; do
466       if test -d $srcdir/${d}sysdeps$m/elf; then
467         elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
468       fi
469     done
470   done
471   sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
475 # Expand the list of system names into a full list of directories
476 # from each element's parent name and Implies file (if present).
477 set $sysnames
478 names=
479 while test $# -gt 0; do
480   name=$1
481   shift
483   case " $names " in *" $name "*)
484     # Already in the list.
485     continue
486   esac
488   # Report each name as we discover it, so there is no long pause in output.
489   echo $ac_n "$name $ac_c" >&AC_FD_MSG
491   name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
493   case $name in
494     /*) xsrcdir= ;;
495     *)  xsrcdir=$srcdir/ ;;
496   esac
497   test -n "$enable_debug_configure" &&
498   echo "[DEBUG]: name/Implies $xsrcdir$name/Implies" >&2
500   if test -f $xsrcdir$name/Implies; then
501     # Collect more names from the `Implies' file (removing comments).
502     implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
503     implied=
504     for x in $implied_candidate; do
505       found=no
506       if test -d $xsrcdir$name_base/$x; then
507         implied="$implied $name_base/$x";
508         found=yes
509       fi
510       for d in $add_ons_pfx ''; do
511         try="${d}sysdeps/$x"
512         case $d in
513          /*) try_srcdir= ;;
514          *) try_srcdir=$srcdir/ ;;
515         esac
516         test -n "$enable_debug_configure" &&
517          echo "[DEBUG]: $name implied $x try($d) {$try_srcdir}$try" >&2
518         if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
519         then
520           implied="$implied $try"
521           found=yes
522         fi
523       done
524       if test $found = no; then
525         AC_MSG_WARN($name/Implies specifies nonexistent $x)
526       fi
527     done
528   else
529     implied=
530   fi
532   # Add NAME to the list of names.
533   names="$names $name"
535   # Find the parent of NAME, using the empty string if it has none.
536 changequote(,)dnl
537   parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
538 changequote([,])dnl
540   # Add the names implied by NAME, and NAME's parent (if it has one), to
541   # the list of names to be processed (the argument list).  We prepend the
542   # implied names to the list and append the parent.  We want implied
543   # directories to come before further directories inferred from the
544   # configuration components; this ensures that for sysv4, unix/common
545   # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
546   # after sysv4).
547   sysnames="`echo $implied $* $parent`"
548   test -n "$sysnames" && set $sysnames
549 done
551 # Add the default directories.
552 default_sysnames=sysdeps/generic
553 if test "$elf" = yes; then
554   default_sysnames="sysdeps/generic/elf $default_sysnames"
556 sysnames="$names $default_sysnames"
557 AC_SUBST(sysnames)
558 # The other names were emitted during the scan.
559 AC_MSG_RESULT($default_sysnames)
562 ### Locate tools.
564 AC_PROG_INSTALL
565 if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
566   # The makefiles need to use a different form to find it in $srcdir.
567   INSTALL='\$(..)./scripts/install-sh -c'
569 AC_PROG_LN_S
571 # We need the physical current working directory.  We cannot use the
572 # "pwd -P" shell builtin since that's not portable.  Instead we try to
573 # find a pwd binary.  Note that assigning to the PWD environment
574 # variable might have some interesting side effects, so we don't do
575 # that.
576 AC_PATH_PROG(PWD_P, pwd, no)
577 if test "$PWD_P" = no; then
578   AC_MSG_ERROR(*** A pwd binary could not be found.)
581 # These programs are version sensitive.
582 AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
583 AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
584   [version \([egcygnustpi-]*[0-9.]*\)], [3.[2-9]*],
585   critic_missing="$critic_missing gcc")
586 AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
587   [GNU Make[^0-9]*\([0-9][0-9.]*\)],
588   [3.79* | 3.[89]*], critic_missing="$critic_missing make")
591 if test -n "$critic_missing"; then
592 AC_MSG_ERROR([
593 *** These critical programs are missing or too old:$critic_missing
594 *** Check the INSTALL file for required versions.])
598 AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
599   [GNU gettext.* \([0-9]*\.[0-9.]*\)],
600   [0.10.3[6-9]* | 0.10.[4-9][0-9]* | 0.1[1-9]* | 0.[2-9][0-9]* | [1-9].*],
601   MSGFMT=: aux_missing="$aux_missing msgfmt")
602 AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
603   [GNU texinfo.* \([0-9][0-9.]*\)],
604   [4.*],
605   MAKEINFO=: aux_missing="$aux_missing makeinfo")
606 AC_CHECK_PROG_VER(SED, sed, --version,
607   [GNU sed version \([0-9]*\.[0-9.]*\)],
608   [3.0[2-9]*|3.[1-9]*|[4-9]*],
609   SED=: aux_missing="$aux_missing sed")
611 AC_PROG_CC_LOCAL
612 AC_CANONICAL_BUILD
613 if test $host != $build; then
614   AC_CHECK_PROGS(BUILD_CC, gcc cc)
616 AC_SUBST(cross_compiling)
617 AC_PROG_CPP
618 LIBC_PROG_BINUTILS
619 AC_CHECK_TOOL(MIG, mig, MISSING)
621 # Accept binutils 2.10.1 or newer (and also any ia64 2.9 version)
622 # XXX Commented out because it filters out too many good versions.
623 # XXX --drepper
624 # AC_CHECK_PROG_VER(AS, $AS, --version,
625 #   [GNU assembler.* \([0-9]*\.[0-9.]*\(-ia64-[0-9]*\)*\)],
626 #   [2.10.[1-9]* | 2.1[1-9]* | 2.9-ia64-*], AS=: critic_missing=t)
628 test -n "$aux_missing" && AC_MSG_WARN([
629 *** These auxiliary programs are missing or too old:$aux_missing
630 *** some features will be disabled.
631 *** Check the INSTALL file for required versions.])
633 # glibcbug.in wants to know the compiler version.
634 CCVERSION=`$CC -v 2>&1 | sed -n 's/gcc version //p'`
635 AC_SUBST(CCVERSION)
637 # if using special system headers, find out the compiler's sekrit
638 # header directory and add that to the list.  NOTE: Only does the right
639 # thing on a system that doesn't need fixincludes.  (Not presently a problem.)
640 if test -n "$sysheaders"; then
641   ccheaders=`$CC -print-file-name=include`
642   SYSINCLUDES="-nostdinc -isystem $ccheaders -isystem $sysheaders"
644 AC_SUBST(SYSINCLUDES)
646 # check if ranlib is necessary
647 AC_CACHE_CHECK(whether ranlib is necessary, libc_cv_ranlib_necessary, [dnl
648 cat > conftest.c <<EOF
649 int a;
650 char b;
651 void c(void) {}
653 $CC $CFLAGS -c conftest.c
654 $AR cr conftest.a conftest.c
655 cp conftest.a conftest2.a
656 $RANLIB conftest.a
657 if cmp -s conftest.a conftest2.a; then
658   libc_cv_ranlib_necessary=no
659 else
660   libc_cv_ranlib_necessary=yes
662 rm -rf conftest*])
663 if test "$libc_cv_ranlib_necessary" = no; then
664  RANLIB=:
667 # Test if LD_LIBRARY_PATH contains the notation for the current directory
668 # since this would lead to problems installing/building glibc.
669 # LD_LIBRARY_PATH contains the current directory if one of the following
670 # is true:
671 # - one of the terminals (":" and ";") is the first or last sign
672 # - two terminals occur directly after each other
673 # - the path contains an element with a dot in it
674 AC_MSG_CHECKING(LD_LIBRARY_PATH variable)
675 changequote(,)dnl
676 case ${LD_LIBRARY_PATH} in
677   [:\;]* | *[:\;] | *[:\;][:\;]* |  *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
678     ld_library_path_setting="contains current directory"
679     ;;
680   *)
681     ld_library_path_setting="ok"
682     ;;
683 esac
684 changequote([,])dnl
685 AC_MSG_RESULT($ld_library_path_setting)
686 if test "$ld_library_path_setting" != "ok"; then
687 AC_MSG_ERROR([
688 *** LD_LIBRARY_PATH shouldn't contain the current directory when
689 *** building glibc. Please change the environment variable
690 *** and run configure again.])
693 AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl
694 if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
695   libc_cv_gcc_static_libgcc=
696 else
697   libc_cv_gcc_static_libgcc=-static-libgcc
698 fi])
699 AC_SUBST(libc_cv_gcc_static_libgcc)
701 AC_PATH_PROG(BASH, bash, no)
702 if test "$BASH" != no &&
703    $BASH -c 'test "$BASH_VERSINFO" \
704              && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then
705   libc_cv_have_bash2=yes
706 else
707   libc_cv_have_bash2=no
709 AC_SUBST(libc_cv_have_bash2)
711 dnl We need a ksh compatible shell for tzselect.
712 if test "$BASH" = no; then
713   AC_PATH_PROG(KSH, ksh, no)
714   if test "$KSH" = no; then
715     libc_cv_have_ksh=no
716   else
717     libc_cv_have_ksh=yes
718   fi
719 else
720   KSH="$BASH"
721   AC_SUBST(KSH)
722   libc_cv_have_ksh=yes
724 AC_SUBST(libc_cv_have_ksh)
726 AC_PROG_AWK
727 AC_PATH_PROG(PERL, perl, no)
728 if test "$PERL" != no &&
729    (eval `$PERL -V:apiversion`; test `expr "$apiversion" \< 5` -ne 0); then
730   PERL=no
732 AC_PATH_PROG(INSTALL_INFO, install-info, no,
733              $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
734 if test "$INSTALL_INFO" != "no"; then
735 AC_CACHE_CHECK(for old Debian install-info, libc_cv_old_debian_install_info,
736  [mkdir conftest.d
737   # There is a hard ^_ on the next line.  I am open to better ideas.
738   (echo '\x1f'
739   echo 'File: dir       Node: Top       This is the top of the INFO tree'
740   echo '* Menu:') >conftest.d/dir
741   (echo 'INFO-DIR-SECTION i-d-s works'
742   echo 'START-INFO-DIR-ENTRY'
743   echo '* Prog: (prog).   Program.'
744   echo 'END-INFO-DIR-ENTRY') >conftest.d/prog.info
745   if $INSTALL_INFO --info-dir=conftest.d conftest.d/prog.info >&AC_FD_CC 2>&1
746   then
747     if grep -s 'i-d-s works' conftest.d/dir >/dev/null
748     then libc_cv_old_debian_install_info=no
749     else libc_cv_old_debian_install_info=yes
750     fi
751   else libc_cv_old_debian_install_info=no testfailed=t
752   fi
753   rm -fr conftest.d])
754 if test -n "$testfailed"
755 then AC_MSG_WARN([install-info errored out, check config.log])
757 OLD_DEBIAN_INSTALL_INFO=$libc_cv_old_debian_install_info
759 AC_SUBST(OLD_DEBIAN_INSTALL_INFO)
761 AC_PATH_PROG(BISON, bison, no, $PATH:/usr/local/bin:/usr/bin:/bin)
763 AC_CACHE_CHECK(for signed size_t type, libc_cv_signed_size_t, [dnl
764 echo '#include <stddef.h>
765 FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
766 if eval "$ac_cpp conftest.c 2>/dev/null" \
767 | grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then
768   libc_cv_signed_size_t=no
769 else
770   libc_cv_signed_size_t=yes
772 rm -f conftest*])
773 if test $libc_cv_signed_size_t = yes; then
774   dnl Do this by hand instead of AC_DEFINE so can add #undef to avoid warnings.
775   cat >> confdefs.h <<\EOF
776 #undef __SIZE_TYPE__
777 #define __SIZE_TYPE__ unsigned
781 AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl
782 AC_TRY_COMPILE(dnl
783 [#define __need_size_t
784 #define __need_wchar_t
785 #include <stddef.h>
786 #define __need_NULL
787 #include <stddef.h>], [size_t size; wchar_t wchar;
788 #ifdef offsetof
789 #error stddef.h ignored __need_*
790 #endif
791 if (&size == NULL || &wchar == NULL) abort ();],
792                libc_cv_friendly_stddef=yes,
793                libc_cv_friendly_stddef=no)])
794 if test $libc_cv_friendly_stddef = yes; then
795   config_vars="$config_vars
796 override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
799 AC_CACHE_CHECK(whether we need to use -P to assemble .S files,
800                libc_cv_need_minus_P, [dnl
801 cat > conftest.S <<EOF
802 #include "confdefs.h"
803 /* Nothing whatsoever.  */
805 if ${CC-cc} $CFLAGS -c conftest.S 2>/dev/null; then
806   libc_cv_need_minus_P=no
807 else
808   libc_cv_need_minus_P=yes
810 rm -f conftest*])
811 if test $libc_cv_need_minus_P = yes; then
812   config_vars="$config_vars
813 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
816 AC_MSG_CHECKING(whether .text pseudo-op must be used)
817 AC_CACHE_VAL(libc_cv_dot_text, [dnl
818 cat > conftest.s <<EOF
819 .text
821 libc_cv_dot_text=
822 if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
823   libc_cv_dot_text=.text
825 rm -f conftest*])
826 if test -z "$libc_cv_dot_text"; then
827   AC_MSG_RESULT(no)
828 else
829   AC_MSG_RESULT(yes)
832 AC_CACHE_CHECK(for assembler global-symbol directive,
833                libc_cv_asm_global_directive, [dnl
834 libc_cv_asm_global_directive=UNKNOWN
835 for ac_globl in .globl .global .EXPORT; do
836   cat > conftest.s <<EOF
837         ${libc_cv_dot_text}
838         ${ac_globl} foo
839 foo:
841   if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
842     libc_cv_asm_global_directive=${ac_globl}
843   fi
844   rm -f conftest*
845   test $libc_cv_asm_global_directive != UNKNOWN && break
846 done])
847 if test $libc_cv_asm_global_directive = UNKNOWN; then
848   AC_MSG_ERROR(cannot determine asm global directive)
849 else
850   AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
853 AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
854 cat > conftest.s <<EOF
855 ${libc_cv_dot_text}
856 foo:
857 .set glibc_conftest_frobozz,foo
858 $libc_cv_asm_global_directive glibc_conftest_frobozz
860 # The alpha-dec-osf1 assembler gives only a warning for `.set'
861 # (but it doesn't work), so we must do a linking check to be sure.
862 cat > conftest1.c <<\EOF
863 extern int glibc_conftest_frobozz;
864 main () { printf ("%d\n", glibc_conftest_frobozz); }
866 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
867             -o conftest conftest.s conftest1.c 1>&AC_FD_CC 2>&AC_FD_CC; then
868   libc_cv_asm_set_directive=yes
869 else
870   libc_cv_asm_set_directive=no
872 rm -f conftest*])
873 if test $libc_cv_asm_set_directive = yes; then
874   AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
877 AC_CACHE_CHECK(for assembler .type directive prefix,
878                libc_cv_asm_type_prefix, [dnl
879 libc_cv_asm_type_prefix=no
880 for ac_try_prefix in '@' '%' '#'; do
881   cat > conftest.s <<EOF
882         ${libc_cv_dot_text}
883         ${libc_cv_asm_global_directive} foo
884         .type foo, ${ac_try_prefix}object
885         .size foo, 1
886 foo:
887         .byte 1
889   if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
890     libc_cv_asm_type_prefix=${ac_try_prefix}
891   fi
892   rm -f conftest*
893   test "x$libc_cv_asm_type_prefix" != xno && break
894 done])
895 if test "x$libc_cv_asm_type_prefix" != xno; then
896   AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
899 # The Aix ld uses global .symbol_names instead of symbol_names.
900 # Unfortunately also used in the PPC64 ELF ABI.
901 case "${os}${machine}" in
902 aix4.3* | linux*powerpc/powerpc64*)
903   AC_DEFINE(HAVE_ASM_GLOBAL_DOT_NAME)
904 esac
906 AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
907 [cat > conftest.s <<EOF
908 ${libc_cv_dot_text}
909 _sym:
910 .symver _sym,sym@VERS
912 if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&AC_FD_CC 2>&AC_FD_CC; then
913   libc_cv_asm_symver_directive=yes
914 else
915   libc_cv_asm_symver_directive=no
917 rm -f conftest*])
918 AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
919 if test $libc_cv_asm_symver_directive = yes; then
920   cat > conftest.s <<EOF
921 ${libc_cv_dot_text}
922 _sym:
923 .symver _sym,sym@VERS
925   cat > conftest.map <<EOF
926 VERS_1 {
927         global: sym;
930 VERS_2 {
931         global: sym;
932 } VERS_1;
934   if ${CC-cc} -c $CFLAGS $CPPFLAGS conftest.s 1>&AC_FD_CC 2>&AC_FD_CC; then
935     if AC_TRY_COMMAND([${CC-cc} $CFLAGS -shared -o conftest.so conftest.o
936                                         -nostartfiles -nostdlib
937                                         -Wl,--version-script,conftest.map
938                        1>&AC_FD_CC]);
939     then
940       libc_cv_ld_version_script_option=yes
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 else
948   libc_cv_ld_version_script_option=no
950 rm -f conftest*])
951 if test $shared != no &&
952    test $libc_cv_asm_symver_directive = yes &&
953    test $libc_cv_ld_version_script_option = yes &&
954    test $enable_versioning = yes; then
955   VERSIONING=yes
956   AC_DEFINE(DO_VERSIONING)
957 else
958   VERSIONING=no
960 AC_SUBST(VERSIONING)
962 if test $elf = yes && test $shared != no && test $VERSIONING = no; then
963   echo "\
964 *** WARNING: You should not compile GNU libc without versioning. Not using
965 *** versioning will introduce incompatibilities so that old binaries
966 *** will not run anymore.
967 *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
969 if test $elf = yes; then
970   AC_CACHE_CHECK(for .previous assembler directive,
971                  libc_cv_asm_previous_directive, [dnl
972   cat > conftest.s <<EOF
973 .section foo_section
974 .previous
976   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AC_FD_CC); then
977     libc_cv_asm_previous_directive=yes
978   else
979     libc_cv_asm_previous_directive=no
980   fi
981   rm -f conftest*])
982   if test $libc_cv_asm_previous_directive = yes; then
983     AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
984   else
985     AC_CACHE_CHECK(for .popsection assembler directive,
986                    libc_cv_asm_popsection_directive, [dnl
987     cat > conftest.s <<EOF
988 .pushsection foo_section
989 .popsection
991     if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AC_FD_CC); then
992       libc_cv_asm_popsection_directive=yes
993     else
994       libc_cv_asm_popsection_directive=no
995     fi
996     rm -f conftest*])
997     if test $libc_cv_asm_popsection_directive = yes; then
998       AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
999     fi
1000   fi
1001   AC_CACHE_CHECK(for .protected and .hidden assembler directive,
1002                  libc_cv_asm_protected_directive, [dnl
1003   cat > conftest.s <<EOF
1004 .protected foo
1005 foo:
1006 .hidden bar
1007 bar:
1009   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AC_FD_CC); then
1010     libc_cv_asm_protected_directive=yes
1011   else
1012     libc_cv_asm_protected_directive=no
1013   fi
1014   rm -f conftest*])
1015   AC_SUBST(libc_cv_asm_protected_directive)
1016   AC_DEFINE(HAVE_PROTECTED)
1017   AC_DEFINE(HAVE_HIDDEN)
1019   if test $libc_cv_asm_protected_directive = yes; then
1020     AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
1021                  libc_cv_visibility_attribute,
1022                  [cat > conftest.c <<EOF
1023                   int foo __attribute__ ((visibility ("hidden"))) = 1;
1024                   int bar __attribute__ ((visibility ("protected"))) = 1;
1026                   libc_cv_visibility_attribute=no
1027                   if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
1028                     if grep '\.hidden.*foo' conftest.s >/dev/null; then
1029                       if grep '\.protected.*bar' conftest.s >/dev/null; then
1030                         libc_cv_visibility_attribute=yes
1031                       fi
1032                     fi
1033                   fi
1034                   rm -f conftest.[cs]
1035                  ])
1036     if test $libc_cv_visibility_attribute = yes; then
1037       AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
1038     fi
1039   fi
1041   if test $libc_cv_visibility_attribute = yes; then
1042     AC_CACHE_CHECK(for broken __attribute__((visibility())),
1043                  libc_cv_broken_visibility_attribute,
1044                  [cat > conftest.c <<EOF
1045                   int foo (int x);
1046                   int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
1047                   int bar (int x) { return x; }
1049                   libc_cv_broken_visibility_attribute=yes
1050                   if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
1051 changequote(,)dnl
1052                     if grep '\.hidden[  _]foo' conftest.s >/dev/null; then
1053 changequote([,])dnl
1054                       libc_cv_broken_visibility_attribute=no
1055                     fi
1056                   fi
1057                   rm -f conftest.c conftest.s
1058                  ])
1059     if test $libc_cv_broken_visibility_attribute = yes; then
1060       AC_DEFINE(HAVE_BROKEN_VISIBILITY_ATTRIBUTE)
1061     fi
1062   fi
1064   AC_CACHE_CHECK(for broken __attribute__((alias())),
1065                  libc_cv_broken_alias_attribute,
1066                  [cat > conftest.c <<EOF
1067                   extern int foo (int x) __asm ("xyzzy");
1068                   int bar (int x) { return x; }
1069                   extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
1070                   extern int dfoo;
1071                   extern __typeof (dfoo) dfoo __asm ("abccb");
1072                   int dfoo = 1;
1074                   libc_cv_broken_alias_attribute=yes
1075                   if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
1076                     if grep 'xyzzy' conftest.s >/dev/null &&
1077                        grep 'abccb' conftest.s >/dev/null; then
1078                       libc_cv_broken_alias_attribute=no
1079                     fi
1080                   fi
1081                   rm -f conftest.c conftest.s
1082                  ])
1083   if test $libc_cv_broken_alias_attribute = yes; then
1084     AC_DEFINE(HAVE_BROKEN_ALIAS_ATTRIBUTE)
1085   fi
1087   if test $libc_cv_visibility_attribute = yes -a $gnu_ld = yes; then
1088     AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
1089                  libc_cv_have_sdata_section,
1090                  [echo "int i;" > conftest.c
1091                   libc_cv_have_sdata_section=no
1092                   if ${CC-cc} -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
1093                      | grep '\.sdata' >/dev/null; then
1094                     libc_cv_have_sdata_section=yes
1095                   fi
1096                   rm -f conftest.c conftest.so
1097                  ])
1098     if test $libc_cv_have_sdata_section = yes; then
1099       AC_DEFINE(HAVE_SDATA_SECTION)
1100     fi
1101   fi
1103   AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
1104                  libc_cv_initfinit_array, [dnl
1105   cat > conftest.c <<EOF
1106 int _start (void) { return 0; }
1107 int __start (void) { return 0; }
1108 int foo (void) { return 1; }
1109 int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
1111   if AC_TRY_COMMAND([${CC-cc} -o conftest conftest.c
1112                      -static -nostartfiles -nostdlib 1>&AC_FD_CC])
1113   then
1114     if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then
1115       libc_cv_initfinit_array=yes
1116     else
1117       libc_cv_initfinit_array=no
1118     fi
1119   else
1120     libc_cv_initfinit_array=no
1121   fi
1122   rm -f conftest*])
1123   AC_SUBST(libc_cv_initfinit_array)
1124   if test $libc_cv_initfinit_array = yes; then
1125     AC_DEFINE(HAVE_INITFINI_ARRAY)
1126   fi
1128   AC_CACHE_CHECK(for -z nodelete option,
1129                  libc_cv_z_nodelete, [dnl
1130   cat > conftest.c <<EOF
1131 int _start (void) { return 42; }
1133   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1134                      -nostartfiles -nostdlib
1135                      -Wl,--enable-new-dtags,-z,nodelete 1>&AC_FD_CC])
1136   then
1137     libc_cv_z_nodelete=yes
1138   else
1139     libc_cv_z_nodelete=no
1140   fi
1141   rm -f conftest*])
1142   AC_SUBST(libc_cv_z_nodelete)
1144   AC_CACHE_CHECK(for -z nodlopen option,
1145                  libc_cv_z_nodlopen, [dnl
1146   cat > conftest.c <<EOF
1147 int _start (void) { return 42; }
1149   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1150                         -nostartfiles -nostdlib
1151                         -Wl,--enable-new-dtags,-z,nodlopen 1>&AC_FD_CC])
1152   then
1153     libc_cv_z_nodlopen=yes
1154   else
1155     libc_cv_z_nodlopen=no
1156   fi
1157   rm -f conftest*])
1158   AC_SUBST(libc_cv_z_nodlopen)
1160   AC_CACHE_CHECK(for -z initfirst option,
1161                  libc_cv_z_initfirst, [dnl
1162   cat > conftest.c <<EOF
1163 int _start (void) { return 42; }
1165   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1166                         -nostartfiles -nostdlib
1167                         -Wl,--enable-new-dtags,-z,initfirst 1>&AC_FD_CC])
1168   then
1169     libc_cv_z_initfirst=yes
1170   else
1171     libc_cv_z_initfirst=no
1172   fi
1173   rm -f conftest*])
1174   AC_SUBST(libc_cv_z_initfirst)
1176   AC_CACHE_CHECK(for -Bgroup option,
1177                  libc_cv_Bgroup, [dnl
1178   cat > conftest.c <<EOF
1179 int _start (void) { return 42; }
1181   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c -Wl,-Bgroup -nostdlib 1>&AC_FD_CC])
1182   then
1183     libc_cv_Bgroup=yes
1184   else
1185     libc_cv_Bgroup=no
1186   fi
1187   rm -f conftest*])
1188   AC_SUBST(libc_cv_Bgroup)
1190   AC_CACHE_CHECK(for -z combreloc,
1191                  libc_cv_z_combreloc, [dnl
1192   cat > conftest.c <<EOF
1193 extern int bar (int);
1194 extern int mumble;
1195 int foo (void) { return bar (mumble); }
1197   if AC_TRY_COMMAND([${CC-cc} -shared -o conftest.so conftest.c
1198                         -nostdlib -nostartfiles
1199                         -Wl,-z,combreloc 1>&AC_FD_CC])
1200   then
1201 dnl The following test is a bit weak.  We must use a tool which can test
1202 dnl cross-platform since the gcc used can be a cross compiler.  Without
1203 dnl introducing new options this is not easily doable.  Instead use a tool
1204 dnl which always is cross-platform: readelf.  To detect whether -z combreloc
1205 dnl look for a section named .rel.dyn.
1206     if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
1207       libc_cv_z_combreloc=yes
1208     else
1209       libc_cv_z_combreloc=no
1210     fi
1211   else
1212     libc_cv_z_combreloc=no
1213   fi
1214   rm -f conftest*])
1215   if test "$libc_cv_z_combreloc" = yes; then
1216     AC_DEFINE(HAVE_Z_COMBRELOC)
1217   fi
1219 AC_SUBST(libc_cv_z_combreloc)
1221 if test $elf != yes; then
1222   AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
1223                  [AC_TRY_COMPILE(, [asm (".section .init");
1224                                     asm (".section .fini");
1225                                     asm ("${libc_cv_dot_text}");],
1226                                  libc_cv_have_initfini=yes,
1227                                  libc_cv_have_initfini=no)])
1228   AC_SUBST(libc_cv_have_initfini)dnl
1229   if test $libc_cv_have_initfini = yes; then
1230     AC_DEFINE(HAVE_INITFINI)
1231   fi
1234 if test $elf = yes -a $gnu_ld = yes; then
1235   AC_CACHE_CHECK(whether cc puts quotes around section names,
1236                  libc_cv_have_section_quotes,
1237                  [cat > conftest.c <<EOF
1238                   static const int foo
1239                   __attribute__ ((section ("bar"))) = 1;
1241                   if ${CC-cc} -S conftest.c -o conftest.s; then
1242                     if grep '\.section.*"bar"' conftest.s >/dev/null; then
1243                       libc_cv_have_section_quotes=yes
1244                     else
1245                       libc_cv_have_section_quotes=no
1246                     fi
1247                   else
1248                     libc_cv_have_section_quotes=unknown
1249                   fi
1250                   rm -f conftest.[cs]
1251                  ])
1252   if test $libc_cv_have_section_quotes = yes; then
1253     AC_DEFINE(HAVE_SECTION_QUOTES)
1254   fi
1257 dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1258 AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
1259 [cat > conftest.$ac_ext <<EOF
1260 dnl This sometimes fails to find confdefs.h, for some reason.
1261 dnl [#]line __oline__ "[$]0"
1262 [#]line __oline__ "configure"
1263 #include "confdefs.h"
1264 void underscore_test(void) {
1265 return; }
1267 if AC_TRY_EVAL(ac_compile); then
1268   if grep _underscore_test conftest* >/dev/null; then
1269     ifelse([$1], , :, [rm -f conftest*
1270     $1])
1271   else
1272     ifelse([$2], , , [rm -f conftest*
1273     $2])
1274   fi
1275 else
1276   echo "configure: failed program was:" >&AC_FD_CC
1277   cat conftest.$ac_ext >&AC_FD_CC
1278   ifelse([$2], , , [rm -f conftest*
1279   $2])
1281 rm -f conftest*])
1283 if test $elf = yes; then
1284   libc_cv_asm_underscores=no
1285 else
1286   if test $ac_cv_prog_cc_works = yes; then
1287     AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1288                    [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
1289                                 libc_cv_asm_underscores=yes,
1290                                 libc_cv_asm_underscores=no)])
1291   else
1292     AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1293                    [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
1294                                             libc_cv_asm_underscores=no)])
1295   fi
1297 if test $libc_cv_asm_underscores = no; then
1298   AC_DEFINE(NO_UNDERSCORES)
1301 if test $elf = yes; then
1302   libc_cv_weak_symbols=yes
1305 AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
1306                [dnl
1307 cat > conftest.s <<EOF
1308 ${libc_cv_dot_text}
1309 ${libc_cv_asm_global_directive} foo
1310 foo:
1311 .weak foo
1312 .weak bar; bar = foo
1314 if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
1315   libc_cv_asm_weak_directive=yes
1316 else
1317   libc_cv_asm_weak_directive=no
1319 rm -f conftest*])
1321 if test $libc_cv_asm_weak_directive = no; then
1322   AC_CACHE_CHECK(for assembler .weakext directive,
1323                  libc_cv_asm_weakext_directive,
1324                  [dnl
1325 cat > conftest.s <<EOF
1326 ${libc_cv_dot_text}
1327 ${libc_cv_asm_global_directive} foo
1328 foo:
1329 .weakext bar foo
1330 .weakext baz
1331 ${libc_cv_asm_global_directive} baz
1332 baz:
1334   if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
1335     libc_cv_asm_weakext_directive=yes
1336   else
1337     libc_cv_asm_weakext_directive=no
1338   fi
1339   rm -f conftest*])
1341 fi # no .weak
1343 if test $libc_cv_asm_weak_directive = yes; then
1344   AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
1345 elif test $libc_cv_asm_weakext_directive = yes; then
1346   AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
1349 dnl The standard hppa assembler uses `;' to start comments and `!'
1350 dnl as a line separator.  CRIS uses `;' to start comments and `@' for
1351 dnl line separator.
1352 case "${host_cpu}-${host_os}" in
1353   cris*)
1354     libc_cv_asm_line_sep='@'
1355     AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
1356     ;;
1357   hppa*linux*)
1358   AC_CACHE_CHECK(for assembler line separator,
1359                  libc_cv_asm_line_sep, [dnl
1360   cat > conftest.s <<EOF
1361  nop ; is_old_puffin
1363   if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s 1>&AC_FD_CC); then
1364     libc_cv_asm_line_sep='!'
1365   else
1366     if test -z "$enable_hacker_mode"; then
1367       echo "*** You need a newer assembler to compile glibc"
1368       rm -f conftest*
1369       exit 1
1370     fi
1371     libc_cv_asm_line_sep=';'
1372   fi
1373   rm -f conftest*])
1374   AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
1375   ;;
1376 esac
1378 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
1379 cat > conftest.c <<\EOF
1380 _start () {}
1381 int __eh_pc;
1382 __throw () {}
1384 dnl No \ in command here because it ends up inside ''.
1385 if AC_TRY_COMMAND([${CC-cc} $CFLAGS
1386                             -nostdlib -nostartfiles -Wl,--no-whole-archive
1387                             -o conftest conftest.c 1>&AC_FD_CC]); then
1388   libc_cv_ld_no_whole_archive=yes
1389 else
1390   libc_cv_ld_no_whole_archive=no
1392 rm -f conftest*])
1393 if test $libc_cv_ld_no_whole_archive = yes; then
1394   no_whole_archive=-Wl,--no-whole-archive
1396 AC_SUBST(no_whole_archive)dnl
1398 AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
1399 cat > conftest.c <<\EOF
1400 _start () {}
1401 int __eh_pc;
1402 __throw () {}
1404 dnl No \ in command here because it ends up inside ''.
1405 if AC_TRY_COMMAND([${CC-cc} $CFLAGS
1406                             -nostdlib -nostartfiles -fexceptions
1407                             -o conftest conftest.c 1>&AC_FD_CC]); then
1408   libc_cv_gcc_exceptions=yes
1409 else
1410   libc_cv_gcc_exceptions=no
1412 rm -f conftest*])
1413 if test $libc_cv_gcc_exceptions = yes; then
1414   exceptions=-fexceptions
1416 AC_SUBST(exceptions)dnl
1418 if test "$base_machine" = alpha ; then
1419 AC_CACHE_CHECK(for function ..ng prefix, libc_cv_gcc_alpha_ng_prefix, [dnl
1420 cat > conftest.c <<\EOF
1421 foo () { }
1424 if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null]);
1425 then
1426   libc_cv_gcc_alpha_ng_prefix=yes
1427 else
1428   libc_cv_gcc_alpha_ng_prefix=no
1430 rm -f conftest* ])
1431 if test $libc_cv_gcc_alpha_ng_prefix = yes ; then
1432   AC_DEFINE(ASM_ALPHA_NG_SYMBOL_PREFIX, "$")
1433 else
1434   AC_DEFINE(ASM_ALPHA_NG_SYMBOL_PREFIX, "")
1438 if test "$host_cpu" = powerpc ; then
1439 # Check for a bug present in at least versions 2.8.x of GCC
1440 # and versions 1.0.x of EGCS.
1441 AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
1442 AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
1443                libc_cv_c_asmcr0_bug='no',
1444                libc_cv_c_asmcr0_bug='yes')])
1445 if test "$libc_cv_c_asmcr0_bug" != 'no'; then
1446   AC_DEFINE(BROKEN_PPC_ASM_CR0)
1450 AC_CACHE_CHECK(for DWARF2 unwind info support, libc_cv_gcc_dwarf2_unwind_info,
1451 [cat > conftest.c <<EOF
1452 #line __oline__ "configure"
1453 static char *__EH_FRAME_BEGIN__;
1454 _start ()
1456 #ifdef CHECK__register_frame
1457   __register_frame (__EH_FRAME_BEGIN__);
1458   __deregister_frame (__EH_FRAME_BEGIN__);
1459 #endif
1460 #ifdef CHECK__register_frame_info
1461   __register_frame_info (__EH_FRAME_BEGIN__);
1462   __deregister_frame_info (__EH_FRAME_BEGIN__);
1463 #endif
1465 int __eh_pc;
1466 __throw () {}
1467 /* FIXME: this is fragile.  */
1468 malloc () {}
1469 strcmp () {}
1470 strlen () {}
1471 memcpy () {}
1472 memset () {}
1473 free () {}
1474 abort () {}
1475 __bzero () {}
1476 dl_iterate_phdr () {}
1478 dnl No \ in command here because it ends up inside ''.
1479 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -DCHECK__register_frame_info
1480                             -nostdlib -nostartfiles
1481                             -o conftest conftest.c -lgcc >&AC_FD_CC]); then
1482   libc_cv_gcc_dwarf2_unwind_info=static
1483 else
1484   libc_cv_gcc_dwarf2_unwind_info=no
1486 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -DCHECK__register_frame_info
1487                             -nostdlib -nostartfiles
1488                             -o conftest conftest.c -lgcc -lgcc_eh >&AC_FD_CC]); then
1489   if ${CC-cc} $CFLAGS -DCHECK__register_frame_info -nostdlib -nostartfiles \
1490      -o conftest conftest.c -lgcc -lgcc_eh -v 2>&1 >/dev/null \
1491      | grep -q -- --eh-frame-hdr; then
1492     libc_cv_gcc_dwarf2_unwind_info=no_registry_needed
1493   else
1494     libc_cv_gcc_dwarf2_unwind_info=static
1495   fi
1496 else
1497   libc_cv_gcc_dwarf2_unwind_info=no
1499 if test $libc_cv_gcc_dwarf2_unwind_info = no; then
1500   if AC_TRY_COMMAND([${CC-cc} $CFLAGS -DCHECK__register_frame
1501                               -nostdlib -nostartfiles
1502                               -o conftest conftest.c -lgcc >&AC_FD_CC]); then
1503     libc_cv_gcc_dwarf2_unwind_info=yes
1504   else
1505     libc_cv_gcc_dwarf2_unwind_info=no
1506   fi
1508 rm -f conftest*])
1509 case $libc_cv_gcc_dwarf2_unwind_info in
1510 yes)
1511   AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1512   ;;
1513 static)
1514   AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1515   AC_DEFINE(HAVE_DWARF2_UNWIND_INFO_STATIC)
1516   ;;
1517 esac
1519 dnl Check whether compiler understands __builtin_expect.
1520 AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
1521 [cat > conftest.c <<EOF
1522 #line __oline__ "configure"
1523 int foo (int a)
1525   a = __builtin_expect (a, 10);
1526   return a == 10 ? 0 : 1;
1529 dnl No \ in command here because it ends up inside ''.
1530 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -nostdlib -nostartfiles
1531                             -o conftest conftest.c -lgcc >&AC_FD_CC]); then
1532   libc_cv_gcc_builtin_expect=yes
1533 else
1534   libc_cv_gcc_builtin_expect=no
1536 rm -f conftest*])
1537 if test "$libc_cv_gcc_builtin_expect" = yes; then
1538   AC_DEFINE(HAVE_BUILTIN_EXPECT)
1541 AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
1542 cat > conftest.c <<\EOF
1543 void zero (void *x)
1545   __builtin_memset (x, 0, 1000);
1549 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
1550 then
1551   libc_cv_gcc_builtin_memset=no
1552 else
1553   libc_cv_gcc_builtin_memset=yes
1555 rm -f conftest* ])
1556 if test "$libc_cv_gcc_builtin_memset" = yes ; then
1557   AC_DEFINE(HAVE_BUILTIN_MEMSET)
1560 dnl Check whether the compiler supports subtraction of local labels.
1561 AC_CACHE_CHECK(for local label subtraction, libc_cv_gcc_subtract_local_labels,
1562 [cat > conftest.c <<EOF
1563 changequote(,)dnl
1564 #line __oline__ "configure"
1565 int foo (int a)
1567   static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
1568   void *p = &&l1 + ar[a];
1569   goto *p;
1570  l1:
1571   return 1;
1572  l2:
1573   return 2;
1575 changequote([,])dnl
1577 dnl No \ in command here because it ends up inside ''.
1578 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -nostdlib -nostartfiles
1579                             -o conftest conftest.c -lgcc >&AC_FD_CC]); then
1580   libc_cv_gcc_subtract_local_labels=yes
1581 else
1582   libc_cv_gcc_subtract_local_labels=no
1584 rm -f conftest*])
1585 if test "$libc_cv_gcc_subtract_local_labels" = yes; then
1586   AC_DEFINE(HAVE_SUBTRACT_LOCAL_LABELS)
1589 dnl Check whether the compiler supports the __thread keyword.
1590 AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
1591 [cat > conftest.c <<EOF
1592 __thread int a = 42;
1594 if AC_TRY_COMMAND([${CC-cc} $CFLAGS -c conftest.c >&AC_FD_CC]); then
1595   libc_cv_gcc___thread=yes
1596 else
1597   libc_cv_gcc___thread=no
1599 rm -f conftest*])
1600 if test "$libc_cv_gcc___thread" = yes; then
1601   AC_DEFINE(HAVE___THREAD)
1605 dnl Check whether we have the gd library available.
1606 AC_MSG_CHECKING(for libgd)
1607 if test "$with_gd" != "no"; then
1608   old_CFLAGS="$CFLAGS"
1609   CFLAGS="$CFLAGS $libgd_include"
1610   old_LDFLAGS="$LDFLAGS"
1611   LDFLAGS="$LDFLAGS $libgd_ldflags"
1612   old_LIBS="$LIBS"
1613   LIBS="$LIBS -lgd -lpng -lz -lm"
1614   AC_TRY_LINK([#include <gd.h>], [gdImagePng (0, 0)], LIBGD=yes, LIBGD=no)
1615   CFLAGS="$old_CFLAGS"
1616   LDFLAGS="$old_LDFLAGS"
1617   LIBS="$old_LIBS"
1618 else
1619   LIBGD=no
1621 AC_MSG_RESULT($LIBGD)
1622 AC_SUBST(LIBGD)
1624 dnl check for the size of 'long double'.
1625 AC_CHECK_SIZEOF(long double, 0)
1626 sizeof_long_double=$ac_cv_sizeof_long_double
1627 AC_SUBST(sizeof_long_double)
1629 ### End of automated tests.
1630 ### Now run sysdeps configure fragments.
1632 # sysdeps configure fragments may set these with files to be linked below.
1633 libc_link_dests=
1634 libc_link_sources=
1636 # They also can set these variables.
1637 use_ldconfig=no
1638 ldd_rewrite_script=no
1639 libc_cv_sysconfdir=$sysconfdir
1640 libc_cv_gcc_unwind_find_fde=no
1642 # Iterate over all the sysdep directories we will use, running their
1643 # configure fragments, and looking for a uname implementation.
1644 uname=
1645 for dir in $sysnames; do
1646   case $dir in
1647     /*) dest=$dir ;;
1648     *)  dest=$srcdir/$dir ;;
1649   esac
1650   if test -r $dest/configure; then
1651     AC_MSG_RESULT(running configure fragment for $dest)
1652     . $dest/configure
1653   fi
1655   if test -z "$uname"; then
1656     if test -r $dest/uname.c ||
1657        test -r $dest/uname.S ||
1658        { test -r $dest/syscalls.list &&
1659          grep '^uname[  ]' $dest/syscalls.list >/dev/null; }; then
1660       uname=$dir
1661     fi
1662   fi
1663 ]dnl
1664 done
1666 if test x$libc_cv_gcc_unwind_find_fde = xyes; then
1667   AC_DEFINE(EXPORT_UNWIND_FIND_FDE)
1669 AC_SUBST(libc_cv_gcc_unwind_find_fde)
1671 AC_LINK_FILES(`echo $libc_link_sources`, `echo $libc_link_dests`)
1673 # If we will use the generic uname implementation, we must figure out what
1674 # it will say by examining the system, and write the results in config-name.h.
1675 if test "$uname" = "sysdeps/generic"; then
1677 changequote(,)dnl
1678   uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
1679 changequote([,])dnl
1680   if test $uname_sysname != $config_os; then
1681     config_release=`echo $config_os | sed s/$uname_sysname//`
1682   fi
1684 AC_DEFUN(LIBC_KERNEL_ID, [dnl
1685     if test -r /vmunix; then
1686       kernel_id=`strings /vmunix | grep UNIX`
1687     elif test -r /dynix; then
1688       kernel_id=`strings /dynix | grep DYNIX`
1689     else
1690       kernel_id=
1691     fi
1692 ])dnl
1694   AC_CACHE_CHECK(OS release for uname, libc_cv_uname_release, [dnl
1695 AC_REQUIRE([LIBC_KERNEL_ID])dnl
1696 changequote(,)dnl
1697   kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
1698 changequote([,])dnl
1699   if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
1700          != x$config_release; then
1701     # The configuration release is a substring of the kernel release.
1702     libc_cv_uname_release=$kernel_release
1703   elif test x$config_release != x; then
1704     libc_cv_uname_release=$config_release
1705   elif test x$kernel_release != x; then
1706     libc_cv_uname_release=$kernel_release
1707   else
1708     libc_cv_uname_release=unknown
1709   fi])
1710   uname_release="$libc_cv_uname_release"
1712   AC_CACHE_CHECK(OS version for uname, libc_cv_uname_version, [dnl
1713 AC_REQUIRE([LIBC_KERNEL_ID])dnl
1714 changequote(,)dnl
1715   kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
1716 changequote([,])dnl
1717   if test -n "$kernel_version"; then
1718     libc_cv_uname_version="$kernel_version"
1719   else
1720     libc_cv_uname_version=unknown
1721   fi])
1722   uname_version="$libc_cv_uname_version"
1724 AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl
1725   config_uname=config-name.h:config-name.in
1726 else
1727   # For non-generic uname, we don't need to create config-name.h at all.
1728   config_uname=
1731 dnl This is tested by existing code and it's simpler to avoid changing it.
1732 AC_DEFINE(USE_IN_LIBIO)
1734 # Test for old glibc 2.0.x headers so that they can be removed properly
1735 # Search only in includedir.
1736 AC_MSG_CHECKING(for old glibc 2.0.x headers)
1737 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
1738 then
1739   old_glibc_headers=yes
1740 else
1741   old_glibc_headers=no
1743 AC_MSG_RESULT($old_glibc_headers)
1744 if test ${old_glibc_headers} = yes; then
1745   AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
1746   AC_MSG_WARN(*** be removed.)
1748 AC_SUBST(old_glibc_headers)
1750 AC_SUBST(libc_cv_slibdir)
1751 AC_SUBST(libc_cv_localedir)
1752 AC_SUBST(libc_cv_sysconfdir)
1753 AC_SUBST(libc_cv_rootsbindir)
1755 AC_SUBST(use_ldconfig)
1756 AC_SUBST(ldd_rewrite_script)
1758 AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) AC_SUBST(xcoff)
1759 if test $gnu_ld = yes; then
1760   AC_DEFINE(HAVE_GNU_LD)
1762 if test $gnu_as = yes; then
1763   AC_DEFINE(HAVE_GNU_AS)
1765 if test $elf = yes; then
1766   AC_DEFINE(HAVE_ELF)
1768 if test $xcoff = yes; then
1769   AC_DEFINE(HAVE_XCOFF)
1772 AC_SUBST(static)
1773 AC_SUBST(shared)
1774 if test $shared = default; then
1775   if test $gnu_ld = yes; then
1776     shared=$elf
1777   else
1778     # For now we do not assume shared libs are available.  In future more
1779     # tests might become available.
1780     shared=no
1781   fi
1784 AC_CACHE_CHECK([whether -fPIC is default], pic_default,
1785 [pic_default=yes
1786 cat > conftest.c <<EOF
1787 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
1788 # error PIC is default.
1789 #endif
1791 if eval "${CC-cc} -S conftest.c 2>&AC_FD_CC 1>&AC_FD_CC"; then
1792   pic_default=no
1794 rm -f conftest.*])
1795 AC_SUBST(pic_default)
1797 AC_SUBST(profile)
1798 AC_SUBST(omitfp)
1799 AC_SUBST(bounded)
1800 AC_SUBST(static_nss)
1801 AC_SUBST(nopic_initfini)
1803 AC_SUBST(DEFINES)
1805 case "$add_ons" in
1806   *door*) linux_doors=yes ;;
1807   *) linux_doors=no ;;
1808 esac
1809 AC_SUBST(linux_doors)
1811 dnl See sysdeps/mach/configure.in for this variable.
1812 AC_SUBST(mach_interface_list)
1814 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
1815   config_makefile=
1816 else
1817   config_makefile=Makefile
1820 VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
1821 RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
1822 AC_SUBST(VERSION)
1823 AC_SUBST(RELEASE)
1825 AC_OUTPUT(config.make glibcbug ${config_makefile} ${config_uname}, [
1826 case $CONFIG_FILES in *config.make*)
1827 echo "$config_vars" >> config.make;;
1828 esac
1829 test -d bits || mkdir bits], [config_vars='$config_vars'])