1 dnl Process this file with autoconf to produce a configure script.
3 AC_PREREQ(2.53)dnl dnl Minimum Autoconf version required.
4 AC_INIT([GNU C Library], [(see version.h)], [glibc])
5 AC_CONFIG_SRCDIR([include/features.h])
6 AC_CONFIG_HEADERS([config.h])
7 AC_CONFIG_AUX_DIR([scripts])
9 if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then
10 AC_MSG_ERROR([you must configure in a separate build directory])
13 # This will get text that should go into config.make.
16 # Check for a --with-gd argument and set libgd-LDFLAGS in config.make.
18 AC_HELP_STRING([--with-gd=DIR],
19 [find libgd include dir and library with prefix DIR]),
23 *) libgd_include="-I$withval/include"
24 libgd_ldflags="-L$withval/lib" ;;
27 AC_ARG_WITH([gd-include],
28 AC_HELP_STRING([--with-gd-include=DIR],
29 [find libgd include files in DIR]),
31 case "$with_gd_include" in
33 *) libgd_include="-I$withval" ;;
37 AC_HELP_STRING([--with-gd-lib=DIR],
38 [find libgd library files in DIR]),
40 case "$with_gd_lib" in
42 *) libgd_ldflags="-L$withval" ;;
46 if test -n "$libgd_include"; then
47 config_vars="$config_vars
48 CFLAGS-memusagestat.c = $libgd_include"
50 if test -n "$libgd_ldflags"; then
51 config_vars="$config_vars
52 libgd-LDFLAGS = $libgd_ldflags"
55 dnl Arguments to specify presence of other packages/features.
57 AC_HELP_STRING([--with-fp],
58 [if using floating-point hardware @<:@default=yes@:>@]),
62 AC_ARG_WITH([binutils],
63 AC_HELP_STRING([--with-binutils=PATH],
64 [specify location of binutils (as and ld)]),
65 [path_binutils=$withval],
68 AC_HELP_STRING([--with-elf],
69 [if using the ELF object format]),
72 AC_ARG_WITH([selinux],
73 AC_HELP_STRING([--with-selinux],
74 [if building with SELinux support]),
75 [with_selinux=$withval],
78 AC_HELP_STRING([--with-xcoff],
79 [if using the XCOFF object format]),
83 AC_HELP_STRING([--without-cvs],
84 [if CVS should not be used]),
87 if test "$with_cvs" = yes; then
88 if test -d $srcdir/CVS && grep :pserver: $srcdir/CVS/Root > /dev/null
95 AC_ARG_WITH([headers],
96 AC_HELP_STRING([--with-headers=PATH],
97 [location of system headers to use
98 (for example /usr/src/linux/include)
99 @<:@default=compiler default@:>@]),
100 [sysheaders=$withval],
103 AC_ARG_ENABLE([sanity-checks],
104 AC_HELP_STRING([--disable-sanity-checks],
105 [really do not use threads (should not be used except in special situations) @<:@default=yes@:>@]),
106 [enable_sanity=$enableval],
109 AC_SUBST(enable_check_abi)
110 AC_ARG_ENABLE([check-abi],
111 AC_HELP_STRING([--enable-check-abi],
112 [do "make check-abi" in "make check" (no/warn/yes)
113 @<:@default=no@:>@]),
114 [enable_check_abi=$enableval],
115 [enable_check_abi=no])
117 dnl Arguments to enable or disable building the static, shared, profiled,
118 dnl and -fomit-frame-pointer libraries.
119 dnl I've disabled this for now since we cannot build glibc without static
120 dnl libraries built in the moment.
121 dnl AC_ARG_ENABLE([static],
122 dnl AC_HELP_STRING([--enable-static],
123 dnl [build static library @<:@default=yes@:>@]),
124 dnl [static=$enableval],
127 AC_ARG_ENABLE([shared],
128 AC_HELP_STRING([--enable-shared],
129 [build shared library @<:@default=yes if GNU ld & ELF@:>@]),
132 AC_ARG_ENABLE([profile],
133 AC_HELP_STRING([--enable-profile],
134 [build profiled library @<:@default=no@:>@]),
135 [profile=$enableval],
137 AC_ARG_ENABLE([omitfp],
138 AC_HELP_STRING([--enable-omitfp],
139 [build undebuggable optimized library @<:@default=no@:>@]),
142 AC_ARG_ENABLE([bounded],
143 AC_HELP_STRING([--enable-bounded],
144 [build with runtime bounds checking @<:@default=no@:>@]),
145 [bounded=$enableval],
147 AC_ARG_ENABLE([versioning],
148 AC_HELP_STRING([--disable-versioning],
149 [do not include versioning information in the library objects @<:@default=yes if supported@:>@]),
150 [enable_versioning=$enableval],
151 [enable_versioning=yes])
153 AC_ARG_ENABLE([oldest-abi],
154 AC_HELP_STRING([--enable-oldest-abi=ABI],
155 [configure the oldest ABI supported @<:@e.g. 2.2@:>@ @<:@default=glibc default@:>@]),
156 [oldest_abi=$enableval],
158 if test "$oldest_abi" = yes || test "$oldest_abi" = no; then
161 AC_DEFINE_UNQUOTED(GLIBC_OLDEST_ABI, "$oldest_abi")
165 AC_ARG_ENABLE([stackguard-randomization],
166 AC_HELP_STRING([--enable-stackguard-randomization],
167 [initialize __stack_chk_guard canary with a random number at program start]),
168 [enable_stackguard_randomize=$enableval],
169 [enable_stackguard_randomize=no])
170 if test "$enable_stackguard_randomize" = yes; then
171 AC_DEFINE(ENABLE_STACKGUARD_RANDOMIZE)
174 dnl Generic infrastructure for drop-in additions to libc.
175 AC_ARG_ENABLE([add-ons],
176 AC_HELP_STRING([--enable-add-ons@<:@=DIRS...@:>@],
177 [configure and build add-ons in DIR1,DIR2,...
178 search for add-ons if no parameter given]),
179 , [enable_add_ons=yes])
181 dnl Let the user avoid using TLS. Don't know why but...
183 AC_HELP_STRING([--with-tls],
184 [enable support for TLS]),
188 AC_ARG_WITH([__thread],
189 AC_HELP_STRING([--without-__thread],
190 [do not use TLS features even when supporting them]),
191 [use__thread=$withval],
194 AC_ARG_ENABLE([hidden-plt],
195 AC_HELP_STRING([--disable-hidden-plt],
196 [do not hide internal function calls to avoid PLT]),
199 if test "x$hidden" = xno; then
203 AC_ARG_ENABLE([bind-now],
204 AC_HELP_STRING([--enable-bind-now],
205 [disable lazy relocations in DSOs]),
206 [bindnow=$enableval],
210 dnl On some platforms we cannot use dynamic loading. We must provide
211 dnl static NSS modules.
212 AC_ARG_ENABLE([static-nss],
213 AC_HELP_STRING([--enable-static-nss],
214 [build static NSS modules @<:@default=no@:>@]),
215 [static_nss=$enableval],
217 dnl Enable static NSS also if we build no shared objects.
218 if test x"$static_nss" = xyes || test x"$shared" = xno; then
220 AC_DEFINE(DO_STATIC_NSS)
223 AC_ARG_ENABLE([force-install],
224 AC_HELP_STRING([--disable-force-install],
225 [don't force installation of files from this package, even if they are older than the installed files]),
226 [force_install=$enableval],
228 AC_SUBST(force_install)
230 dnl On some platforms we allow dropping compatibility with all kernel
232 AC_ARG_ENABLE([kernel],
233 AC_HELP_STRING([--enable-kernel=VERSION],
234 [compile for compatibility with kernel not older than VERSION]),
235 [minimum_kernel=$enableval],
237 dnl Prevent unreasonable values.
238 if test "$minimum_kernel" = yes || test "$minimum_kernel" = no; then
239 # Better nothing than this.
242 if test "$minimum_kernel" = current; then
243 minimum_kernel=`uname -r 2>/dev/null` || minimum_kernel=
247 dnl For the development we sometimes want gcc to issue even more warnings.
248 dnl This is not the default since many of the extra warnings are not
250 AC_ARG_ENABLE([all-warnings],
251 AC_HELP_STRING([--enable-all-warnings],
252 [enable all useful warnings gcc can issue]),
253 [all_warnings=$enableval],
255 AC_SUBST(all_warnings)
259 # The way shlib-versions is used to generate soversions.mk uses a
260 # fairly simplistic model for name recognition that can't distinguish
261 # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os
262 # of `gnu*' here to be `gnu-gnu*' just so that shlib-versions can
263 # tell. This doesn't get used much beyond that, so it's fairly safe.
268 host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
272 # We keep the original values in `$config_*' and never modify them, so we
273 # can write them unchanged into config.make. Everything else uses
274 # $machine, $vendor, and $os, and changes them whenever convenient.
275 config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
277 # Don't allow vendor == "unknown"
278 test "$config_vendor" = unknown && config_vendor=
279 config_os="`echo $config_os | sed 's/^unknown-//'`"
281 # Some configurations imply other options.
283 # i586-linuxaout is mangled into i586-pc-linux-gnuaout
284 linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
286 gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
287 # These systems (almost) always use the ELF format.
291 # These systems are always xcoff
297 # The configure fragment of an add-on port can modify these to supplement
298 # or override the table in the case statement below. No fragment should
299 # ever change the config_* variables, however.
300 machine=$config_machine
301 vendor=$config_vendor
305 # config.guess on some IBM machines says `rs6000' instead of `powerpc'.
307 if test "$machine" = rs6000; then
311 # Braindead PowerPC box with absolutely no FPU.
312 case "$machine-$host_os" in
320 AS_HELP_STRING([--with-cpu=CPU], [select code for CPU variant]),
323 yes|'') AC_MSG_ERROR([--with-cpu requires an argument]) ;;
325 *) submachine="$withval" ;;
329 # An add-on can set this when it wants to disable the sanity check below.
332 dnl Having this here, though empty, makes sure that if add-ons' fragments
333 dnl do AC_CONFIG_SUBDIRS([some-dir]), which just sets $subdirs, then
334 dnl our AC_OUTPUT will actually use it.
337 case "$enable_add_ons" in
340 add_ons=`cd $srcdir && ls -d 2> /dev/null */configure */sysdeps |
341 sed 's@/[[^/]]*$@@' | sort | uniq`
342 add_ons_automatic=yes
344 *) add_ons=`echo "$enable_add_ons" | sed 's/,/ /g'`
345 add_ons_automatic=no ;;
351 if test x"$add_ons" != x; then
352 for f in $add_ons; do
357 *** It seems that you're using an old \`crypt' add-on. crypt is now
358 *** part of glibc and using the old add-on will not work with this
359 *** release. Start again with fresh sources and without the old
360 *** \`crypt' add-on.])
364 *** It seems that you're using an old \`localedata' add-on. localedata
365 *** is now part of glibc and using the old add-on will not work with
366 *** this release. Start again with fresh sources and without the old
367 *** \`localedata' add-on.])
372 # Now source each add-on's configure fragment.
373 # The fragments can use $srcdir/$libc_add_on to find themselves,
374 # and test $add_ons_automatic to see if they were explicitly requested.
375 # A fragment can clear (or even change) $libc_add_on to affect
376 # whether it goes into the list to be actually used in the build.
378 for libc_add_on in $add_ons; do
379 # Test whether such a directory really exists.
380 # It can be absolute, or relative to $srcdir, or relative to the build dir.
381 case "$libc_add_on" in
383 libc_add_on_srcdir=$libc_add_on
386 test -d "$srcdir/$libc_add_on" || {
387 if test -d "$libc_add_on"; then
388 libc_add_on="`pwd`/$libc_add_on"
390 AC_MSG_ERROR(add-on directory \"$libc_add_on\" does not exist)
393 libc_add_on_srcdir=$srcdir/$libc_add_on
397 libc_add_on_frag=$libc_add_on_srcdir/configure
398 libc_add_on_canonical=
399 if test -r "$libc_add_on_frag"; then
400 AC_MSG_NOTICE(running configure fragment for add-on $libc_add_on)
401 libc_add_on_canonical=unknown
403 . "$libc_add_on_frag"
404 test -z "$libc_add_on" || {
405 configured_add_ons="$configured_add_ons $libc_add_on"
406 if test "x$libc_add_on_canonical" = xunknown; then
407 AC_MSG_ERROR(fragment must set \$libc_add_on_canonical)
409 for d in $libc_add_on_subdirs; do
410 case "$libc_add_on" in
411 /*) subdir_srcdir="$libc_add_on" ;;
412 *) subdir_srcdir="\$(..)$libc_add_on" ;;
416 d="${libc_add_on_canonical:-$libc_add_on}"
422 subdir_srcdir="$subdir_srcdir/$d"
425 d=`echo "$d" | sed 's@/*$@@;s@^.*/@@'`
426 add_on_subdirs="$add_on_subdirs $d"
427 test "$subdir_srcdir" = "\$(..)$d" || config_vars="$config_vars
428 $d-srcdir = $subdir_srcdir"
432 if test -n "$libc_add_on"; then
433 if frags=`ls -d $libc_add_on_srcdir/sysdeps/*/preconfigure 2> /dev/null`
435 AC_MSG_CHECKING(add-on $libc_add_on for preconfigure fragments)
436 for frag in $frags; do
437 name=`echo "$frag" | sed 's@/[[^/]]*$@@;s@^.*/@@'`
438 echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
443 use_add_ons="$use_add_ons $libc_add_on"
444 add_ons_pfx="$add_ons_pfx $libc_add_on/"
445 test -z "$libc_add_on_canonical" ||
446 add_ons_sfx="$add_ons_sfx /$libc_add_on_canonical"
449 # Use echo to strip excess whitespace.
450 add_ons="`echo $use_add_ons`"
453 AC_SUBST(add_on_subdirs)
457 ### I put this here to prevent those annoying emails from people who cannot
458 ### read and try to compile glibc on unsupported platforms. --drepper
460 ### By using the undocumented --enable-hacker-mode option for configure
461 ### one can skip this test to make the configuration not fail for unsupported
464 if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then
465 case "$machine-$host_os" in
466 *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
469 echo "*** The GNU C library is currently not available for this platform."
470 echo "*** So far nobody cared to port it and if there is no volunteer it"
471 echo "*** might never happen. So, if you have interest to see glibc on"
472 echo "*** this platform visit"
473 echo "*** http://www.gnu.org/software/libc/porting.html"
474 echo "*** and join the group of porters"
480 dnl We need to use [ and ] for other purposes for a while now.
482 # Expand the configuration machine name into a subdirectory by architecture
483 # type and particular chip. If an add-on configure fragment already set
484 # base_machine, we don't change it.
485 test -n "$base_machine" || case "$machine" in
486 a29k | am29000) base_machine=a29k machine=a29k ;;
487 c3[012]) base_machine=cx0 machine=cx0/c30 ;;
488 c4[04]) base_machine=cx0 machine=cx0/c40 ;;
489 i[34567]86) base_machine=i386 machine=i386/$machine ;;
490 ia64) base_machine=ia64 machine=ia64 ;;
491 m88???) base_machine=m88k machine=m88k/$machine ;;
492 m88k) base_machine=m88k machine=m88k/m88100 ;;
493 powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;;
494 powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;;
495 s390) base_machine=s390 machine=s390/s390-32 ;;
496 s390x) base_machine=s390 machine=s390/s390-64 ;;
497 sh3*) base_machine=sh machine=sh/sh3 ;;
498 sh4*) base_machine=sh machine=sh/sh4 ;;
500 base_machine=sparc machine=sparc/sparc32 ;;
501 sparcv8 | supersparc | hypersparc)
502 base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
503 sparcv8plus | sparcv8plusa | sparcv9)
504 base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
505 sparcv8plusb | sparcv9b)
506 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9b ;;
508 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v ;;
510 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v2 ;;
512 base_machine=sparc machine=sparc/sparc64 ;;
514 base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
516 base_machine=sparc machine=sparc/sparc64/sparcv9v ;;
518 base_machine=sparc machine=sparc/sparc64/sparcv9v2 ;;
519 *) base_machine=$machine ;;
522 AC_SUBST(base_machine)
524 if test "$base_machine" = "i386"; then
525 AC_DEFINE(USE_REGPARMS)
528 # Compute the list of sysdep directories for this configuration.
529 # This can take a while to compute.
530 sysdep_dir=$srcdir/sysdeps
531 AC_MSG_CHECKING(sysdep dirs)
532 dnl We need to use [ and ] for other purposes for a while now.
534 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
535 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
537 test "x$base_os" != x || case "$os" in
540 netbsd* | 386bsd* | freebsd* | bsdi*)
541 base_os=unix/bsd/bsd4.4 ;;
542 osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
544 sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
547 base_os=unix/sysv/irix6/$os ;;
549 base_os=unix/sysv/sysv4 ;;
551 base_os=unix/sysv/hpux/$os ;;
553 base_os=unix/sysv/aix/aix4.3 ;;
555 base_os=standalone ;;
558 # For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
561 while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
565 o=`echo $tail | sed 's/[0-9]*$//'`
566 if test $o != $tail; then
569 # For linux-gnu, try linux-gnu, then linux.
570 o=`echo $tail | sed 's/-.*$//'`
571 if test $o != $tail; then
575 # For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
578 while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
584 # For sparc/sparc32, try sparc/sparc32 and then sparc.
586 tail=$machine${submachine:+/$submachine}
587 while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
589 # Prepend the machine's FPU directory unless --without-fp.
590 if test "$with_fp" = yes; then
593 mach="$mach /$1/nofpu"
599 dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
602 # Find what sysdep directories exist.
605 for b in $base ''; do
606 for m0 in $mach ''; do
607 for v in /$vendor ''; do
608 test "$v" = / && continue
609 for o in /$ostry ''; do
610 test "$o" = / && continue
611 for m in $mach ''; do
612 for d in $add_ons_pfx ''; do
613 for a in $add_ons_sfx ''; do
614 if test -n "$m0$m0sub$b$v$o$m$msub"; then
615 try_srcdir="${srcdir}/"
619 try="${d}sysdeps$m0$m0sub$b$v$o$m$msub$a"
620 test -n "$enable_debug_configure" &&
621 echo "$0 [DEBUG]: try $try" >&2
622 if test -d "$try_srcdir$try"; then
623 sysnames="$sysnames $try"
624 { test -n "$o" || test -n "$b"; } && os_used=t
625 { test -n "$m" || test -n "$m0"; } && machine_used=t
627 x*/$submachine) submachine_used=t ;;
629 if test -n "$d"; then
630 case "$sysnames_add_ons" in
632 *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
645 if test -z "$os_used" && test "$os" != none; then
646 AC_MSG_ERROR(Operating system $os is not supported.)
648 if test -z "$machine_used" && test "$machine" != none; then
649 AC_MSG_ERROR(The $machine is not supported.)
651 if test -z "$submachine_used" && test -n "$submachine"; then
652 AC_MSG_ERROR(The $submachine subspecies of $host_cpu is not supported.)
656 # We have now validated the configuration.
659 # If using ELF, look for an `elf' subdirectory of each machine directory.
660 # We prepend these rather than inserting them whereever the machine appears
661 # because things specified by the machine's ELF ABI should override
662 # OS-specific things, and should always be the same for any OS on the
663 # machine (otherwise what's the point of an ABI?).
664 if test "$elf" = yes; then
666 for d in $add_ons_pfx ''; do
668 if test -d $srcdir/${d}sysdeps$m/elf; then
669 elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
673 sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
677 # Expand the list of system names into a full list of directories
678 # from each element's parent name and Implies file (if present).
681 while test $# -gt 0; do
685 case " $names " in *" $name "*)
686 # Already in the list.
690 # Report each name as we discover it, so there is no long pause in output.
691 echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
693 name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
697 *) xsrcdir=$srcdir/ ;;
699 test -n "$enable_debug_configure" &&
700 echo "[DEBUG]: name/Implies $xsrcdir$name/Implies" >&2
702 if test -f $xsrcdir$name/Implies; then
703 # Collect more names from the `Implies' file (removing comments).
704 implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
706 for x in $implied_candidate; do
708 if test -d $xsrcdir$name_base/$x; then
709 implied="$implied $name_base/$x";
712 for d in $add_ons_pfx ''; do
716 *) try_srcdir=$srcdir/ ;;
718 test -n "$enable_debug_configure" &&
719 echo "[DEBUG]: $name implied $x try($d) {$try_srcdir}$try" >&2
720 if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
722 implied="$implied $try"
724 case "$sysnames_add_ons" in
726 *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
730 if test $found = no; then
731 AC_MSG_WARN($name/Implies specifies nonexistent $x)
738 # Add NAME to the list of names.
741 # Find the parent of NAME, using the empty string if it has none.
743 parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
746 # Add the names implied by NAME, and NAME's parent (if it has one), to
747 # the list of names to be processed (the argument list). We prepend the
748 # implied names to the list and append the parent. We want implied
749 # directories to come before further directories inferred from the
750 # configuration components; this ensures that for sysv4, unix/common
751 # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
753 sysnames="`echo $implied $* $parent`"
754 test -n "$sysnames" && set $sysnames
757 # Add the default directories.
758 default_sysnames=sysdeps/generic
759 if test "$elf" = yes; then
760 default_sysnames="sysdeps/generic/elf $default_sysnames"
762 sysnames="$names $default_sysnames"
764 # The other names were emitted during the scan.
765 AC_MSG_RESULT($default_sysnames)
767 # Collect the list of add-ons that supply partial sysdeps trees.
769 for add_on in $add_ons; do
772 *) xsrcdir="$srcdir/" ;;
775 test -d "$xsrcdir$add_on/sysdeps" || {
776 case "$configured_add_ons " in
779 AC_MSG_ERROR(add-on $add_on has no configure fragment or sysdeps tree)
785 sysdeps_add_ons="$sysdeps_add_ons $add_on"
786 case "$sysnames_add_ons" in
789 AC_MSG_WARN(add-on $add_on contributed no sysdeps directories)
794 for d in $sysnames; do
796 $add_on/sysdeps/*) ;;
799 (cd "$xsrcdir$d" && for f in *[[!~]]; do
803 test -d "$ff" || { test -e "$ff" && exit 88; }
807 test -d "$f" || { test -e "$f" && exit 88; }
811 if test $? -eq 88; then
816 if test $found = no; then
817 AC_MSG_WARN(add-on $add_on contributed no useful sysdeps directories)
820 AC_SUBST(sysdeps_add_ons)
826 if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
827 # The makefiles need to use a different form to find it in $srcdir.
828 INSTALL='\$(..)./scripts/install-sh -c'
833 if test $host != $build; then
834 AC_CHECK_PROGS(BUILD_CC, gcc cc)
836 AC_SUBST(cross_compiling)
838 # We need the C++ compiler only for testing.
841 AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
843 # Accept binutils 2.13 or newer.
844 AC_CHECK_PROG_VER(AS, $AS, --version,
845 [GNU assembler.* \([0-9]*\.[0-9.]*\)],
846 [2.1[3-9]*], AS=: critic_missing="$critic_missing as")
847 AC_CHECK_PROG_VER(LD, $LD, --version,
848 [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
849 [2.1[3-9]*], LD=: critic_missing="$critic_missing ld")
851 # We need the physical current working directory. We cannot use the
852 # "pwd -P" shell builtin since that's not portable. Instead we try to
853 # find a pwd binary. Note that assigning to the PWD environment
854 # variable might have some interesting side effects, so we don't do
856 AC_PATH_PROG(PWD_P, pwd, no)
857 if test "$PWD_P" = no; then
858 AC_MSG_ERROR(*** A pwd binary could not be found.)
861 # These programs are version sensitive.
863 AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
864 [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | 4.[0-9]* ],
865 critic_missing="$critic_missing gcc")
866 AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
867 [GNU Make[^0-9]*\([0-9][0-9.]*\)],
868 [3.79* | 3.[89]*], critic_missing="$critic_missing make")
870 AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
871 [GNU gettext.* \([0-9]*\.[0-9.]*\)],
872 [0.10.3[6-9]* | 0.10.[4-9][0-9]* | 0.1[1-9]* | 0.[2-9][0-9]* | [1-9].*],
873 MSGFMT=: aux_missing="$aux_missing msgfmt")
874 AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
875 [GNU texinfo.* \([0-9][0-9.]*\)],
877 MAKEINFO=: aux_missing="$aux_missing makeinfo")
878 AC_CHECK_PROG_VER(SED, sed, --version,
879 [GNU sed version \([0-9]*\.[0-9.]*\)],
880 [3.0[2-9]*|3.[1-9]*|[4-9]*],
881 SED=: aux_missing="$aux_missing sed")
883 AC_CHECK_PROGS(AUTOCONF, autoconf, no)
885 xno|x|x:) AUTOCONF=no ;;
888 whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works, libc_cv_autoconf_works, [dnl
889 if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then
890 libc_cv_autoconf_works=yes
892 libc_cv_autoconf_works=no
894 test $libc_cv_autoconf_works = yes || AUTOCONF=no
897 if test "x$with_cvs" = xyes && test "x$AUTOCONF" = xno; then
898 # If --without-cvs they probably won't change configure.in, so no complaints.
899 aux_missing="$aux_missing autoconf"
902 test -n "$critic_missing" && AC_MSG_ERROR([
903 *** These critical programs are missing or too old:$critic_missing
904 *** Check the INSTALL file for required versions.])
906 test -n "$aux_missing" && AC_MSG_WARN([
907 *** These auxiliary programs are missing or incompatible versions:$aux_missing
908 *** some features will be disabled.
909 *** Check the INSTALL file for required versions.])
911 # if using special system headers, find out the compiler's sekrit
912 # header directory and add that to the list. NOTE: Only does the right
913 # thing on a system that doesn't need fixincludes. (Not presently a problem.)
914 if test -n "$sysheaders"; then
915 SYSINCLUDES=-nostdinc
916 for d in include include-fixed; do
917 i=`$CC -print-file-name="$d"` && test "x$i" != x && test "x$i" != "x$d" &&
918 SYSINCLUDES="$SYSINCLUDES -isystem $i"
920 SYSINCLUDES="$SYSINCLUDES \
921 -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
922 if test -n "$CXX"; then
923 cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` &&
924 cxxmachine=`$CXX -dumpmachine 2>&AS_MESSAGE_LOG_FD` &&
925 cxxheaders=`$CXX -print-file-name=../../../../include/c++/`"$cxxversion" &&
926 CXX_SYSINCLUDES="-isystem $cxxheaders \
927 -isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward"
930 AC_SUBST(SYSINCLUDES)
931 AC_SUBST(CXX_SYSINCLUDES)
933 # check if ranlib is necessary
934 AC_CACHE_CHECK(whether ranlib is necessary, libc_cv_ranlib_necessary, [dnl
935 cat > conftest.c <<EOF
940 $CC $CFLAGS $CPPFLAGS -c conftest.c
941 $AR cr conftest.a conftest.o
942 cp conftest.a conftest2.a
944 if cmp -s conftest.a conftest2.a; then
945 libc_cv_ranlib_necessary=no
947 libc_cv_ranlib_necessary=yes
950 if test "$libc_cv_ranlib_necessary" = no; then
954 # Test if LD_LIBRARY_PATH contains the notation for the current directory
955 # since this would lead to problems installing/building glibc.
956 # LD_LIBRARY_PATH contains the current directory if one of the following
958 # - one of the terminals (":" and ";") is the first or last sign
959 # - two terminals occur directly after each other
960 # - the path contains an element with a dot in it
961 AC_MSG_CHECKING(LD_LIBRARY_PATH variable)
963 case ${LD_LIBRARY_PATH} in
964 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
965 ld_library_path_setting="contains current directory"
968 ld_library_path_setting="ok"
972 AC_MSG_RESULT($ld_library_path_setting)
973 if test "$ld_library_path_setting" != "ok"; then
975 *** LD_LIBRARY_PATH shouldn't contain the current directory when
976 *** building glibc. Please change the environment variable
977 *** and run configure again.])
980 AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl
981 if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
982 libc_cv_gcc_static_libgcc=
984 libc_cv_gcc_static_libgcc=-static-libgcc
986 AC_SUBST(libc_cv_gcc_static_libgcc)
988 AC_PATH_PROG(BASH_SHELL, bash, no)
989 if test "$BASH_SHELL" != no &&
990 $BASH_SHELL -c 'test "$BASH_VERSINFO" \
991 && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then
992 libc_cv_have_bash2=yes
994 libc_cv_have_bash2=no
996 AC_SUBST(libc_cv_have_bash2)
998 dnl We need a ksh compatible shell for tzselect.
999 if test "$BASH_SHELL" = no; then
1000 AC_PATH_PROG(KSH, ksh, no)
1001 if test "$KSH" = no; then
1004 libc_cv_have_ksh=yes
1009 libc_cv_have_ksh=yes
1011 AC_SUBST(libc_cv_have_ksh)
1014 AC_PATH_PROG(PERL, perl, no)
1015 if test "$PERL" != no &&
1016 (eval `$PERL -V:apiversion`; test `expr "$apiversion" \< 5` -ne 0); then
1019 AC_PATH_PROG(INSTALL_INFO, install-info, no,
1020 $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
1021 AC_PATH_PROG(BISON, bison, no, $PATH:/usr/local/bin:/usr/bin:/bin)
1023 AC_CACHE_CHECK(for signed size_t type, libc_cv_signed_size_t, [dnl
1024 echo '#include <stddef.h>
1025 FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
1026 if eval "$ac_cpp conftest.c 2>/dev/null" \
1027 | grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then
1028 libc_cv_signed_size_t=no
1030 libc_cv_signed_size_t=yes
1033 if test $libc_cv_signed_size_t = yes; then
1034 dnl Do this by hand instead of AC_DEFINE so can add #undef to avoid warnings.
1035 cat >> confdefs.h <<\EOF
1036 #undef __SIZE_TYPE__
1037 #define __SIZE_TYPE__ unsigned
1041 AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl
1043 [#define __need_size_t
1044 #define __need_wchar_t
1047 #include <stddef.h>], [size_t size; wchar_t wchar;
1049 #error stddef.h ignored __need_*
1051 if (&size == NULL || &wchar == NULL) abort ();],
1052 libc_cv_friendly_stddef=yes,
1053 libc_cv_friendly_stddef=no)])
1054 if test $libc_cv_friendly_stddef = yes; then
1055 config_vars="$config_vars
1056 override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
1059 AC_CACHE_CHECK(whether we need to use -P to assemble .S files,
1060 libc_cv_need_minus_P, [dnl
1061 cat > conftest.S <<EOF
1062 #include "confdefs.h"
1063 /* Nothing whatsoever. */
1065 if AC_TRY_COMMAND(${CC-cc} $CPPFLAGS $ASFLAGS -c conftest.S 1>&AS_MESSAGE_LOG_FD); then
1066 libc_cv_need_minus_P=no
1068 libc_cv_need_minus_P=yes
1071 if test $libc_cv_need_minus_P = yes; then
1072 config_vars="$config_vars
1073 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
1076 AC_MSG_CHECKING(whether .text pseudo-op must be used)
1077 AC_CACHE_VAL(libc_cv_dot_text, [dnl
1078 cat > conftest.s <<EOF
1082 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1083 libc_cv_dot_text=.text
1086 if test -z "$libc_cv_dot_text"; then
1092 AC_CACHE_CHECK(for assembler global-symbol directive,
1093 libc_cv_asm_global_directive, [dnl
1094 libc_cv_asm_global_directive=UNKNOWN
1095 for ac_globl in .globl .global .EXPORT; do
1096 cat > conftest.s <<EOF
1101 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1102 libc_cv_asm_global_directive=${ac_globl}
1105 test $libc_cv_asm_global_directive != UNKNOWN && break
1107 if test $libc_cv_asm_global_directive = UNKNOWN; then
1108 AC_MSG_ERROR(cannot determine asm global directive)
1110 AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
1113 AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
1114 cat > conftest.s <<EOF
1117 .set glibc_conftest_frobozz,foo
1118 $libc_cv_asm_global_directive glibc_conftest_frobozz
1120 # The alpha-dec-osf1 assembler gives only a warning for `.set'
1121 # (but it doesn't work), so we must do a linking check to be sure.
1122 cat > conftest1.c <<\EOF
1123 extern int glibc_conftest_frobozz;
1124 void _start() { glibc_conftest_frobozz = 1; }
1126 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
1127 -nostartfiles -nostdlib \
1128 -o conftest conftest.s conftest1.c 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1129 libc_cv_asm_set_directive=yes
1131 libc_cv_asm_set_directive=no
1134 if test $libc_cv_asm_set_directive = yes; then
1135 AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
1138 AC_CACHE_CHECK(for assembler .type directive prefix,
1139 libc_cv_asm_type_prefix, [dnl
1140 libc_cv_asm_type_prefix=no
1141 for ac_try_prefix in '@' '%' '#'; do
1142 cat > conftest.s <<EOF
1144 ${libc_cv_asm_global_directive} foo
1145 .type foo, ${ac_try_prefix}object
1150 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1151 libc_cv_asm_type_prefix=${ac_try_prefix}
1154 test "x$libc_cv_asm_type_prefix" != xno && break
1156 if test "x$libc_cv_asm_type_prefix" != xno; then
1157 AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
1160 AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
1161 [cat > conftest.s <<EOF
1164 .symver _sym,sym@VERS
1166 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1167 libc_cv_asm_symver_directive=yes
1169 libc_cv_asm_symver_directive=no
1172 AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
1173 if test $libc_cv_asm_symver_directive = yes; then
1174 cat > conftest.s <<EOF
1177 .symver _sym,sym@VERS
1179 cat > conftest.map <<EOF
1188 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1189 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $LDFLAGS -shared
1190 -o conftest.so conftest.o
1191 -nostartfiles -nostdlib
1192 -Wl,--version-script,conftest.map
1193 1>&AS_MESSAGE_LOG_FD]);
1195 libc_cv_ld_version_script_option=yes
1197 libc_cv_ld_version_script_option=no
1200 libc_cv_ld_version_script_option=no
1203 libc_cv_ld_version_script_option=no
1206 if test $shared != no &&
1207 test $libc_cv_asm_symver_directive = yes &&
1208 test $libc_cv_ld_version_script_option = yes &&
1209 test $enable_versioning = yes; then
1211 AC_DEFINE(DO_VERSIONING)
1215 AC_SUBST(VERSIONING)
1217 if test $elf = yes && test $shared != no && test $VERSIONING = no; then
1219 *** WARNING: You should not compile GNU libc without versioning. Not using
1220 *** versioning will introduce incompatibilities so that old binaries
1221 *** will not run anymore.
1222 *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
1224 if test $elf = yes; then
1225 AC_CACHE_CHECK(for .previous assembler directive,
1226 libc_cv_asm_previous_directive, [dnl
1227 cat > conftest.s <<EOF
1228 .section foo_section
1231 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1232 libc_cv_asm_previous_directive=yes
1234 libc_cv_asm_previous_directive=no
1237 if test $libc_cv_asm_previous_directive = yes; then
1238 AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
1240 AC_CACHE_CHECK(for .popsection assembler directive,
1241 libc_cv_asm_popsection_directive, [dnl
1242 cat > conftest.s <<EOF
1243 .pushsection foo_section
1246 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1247 libc_cv_asm_popsection_directive=yes
1249 libc_cv_asm_popsection_directive=no
1252 if test $libc_cv_asm_popsection_directive = yes; then
1253 AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
1256 AC_CACHE_CHECK(for .protected and .hidden assembler directive,
1257 libc_cv_asm_protected_directive, [dnl
1258 cat > conftest.s <<EOF
1264 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1265 libc_cv_asm_protected_directive=yes
1267 AC_MSG_ERROR(assembler support for symbol visibility is required)
1271 if test $libc_cv_asm_protected_directive = yes; then
1272 AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
1273 libc_cv_visibility_attribute,
1274 [cat > conftest.c <<EOF
1275 int foo __attribute__ ((visibility ("hidden"))) = 1;
1276 int bar __attribute__ ((visibility ("protected"))) = 1;
1278 libc_cv_visibility_attribute=no
1279 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1280 if grep '\.hidden.*foo' conftest.s >/dev/null; then
1281 if grep '\.protected.*bar' conftest.s >/dev/null; then
1282 libc_cv_visibility_attribute=yes
1288 if test $libc_cv_visibility_attribute != yes; then
1289 AC_MSG_ERROR(compiler support for visibility attribute is required)
1293 if test $libc_cv_visibility_attribute = yes; then
1294 AC_CACHE_CHECK(for broken __attribute__((visibility())),
1295 libc_cv_broken_visibility_attribute,
1296 [cat > conftest.c <<EOF
1298 int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
1299 int bar (int x) { return x; }
1301 libc_cv_broken_visibility_attribute=yes
1302 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s1>&AS_MESSAGE_LOG_FD); then
1304 if grep '\.hidden[ _]foo' conftest.s >/dev/null; then
1306 libc_cv_broken_visibility_attribute=no
1309 rm -f conftest.c conftest.s
1311 if test $libc_cv_broken_visibility_attribute = yes; then
1312 AC_MSG_ERROR(working compiler support for visibility attribute is required)
1316 AC_CACHE_CHECK(for broken __attribute__((alias())),
1317 libc_cv_broken_alias_attribute,
1318 [cat > conftest.c <<EOF
1319 extern int foo (int x) __asm ("xyzzy");
1320 int bar (int x) { return x; }
1321 extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
1323 extern __typeof (dfoo) dfoo __asm ("abccb");
1326 libc_cv_broken_alias_attribute=yes
1327 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1328 if grep 'xyzzy' conftest.s >/dev/null &&
1329 grep 'abccb' conftest.s >/dev/null; then
1330 libc_cv_broken_alias_attribute=no
1333 rm -f conftest.c conftest.s
1335 if test $libc_cv_broken_alias_attribute = yes; then
1336 AC_MSG_ERROR(working alias attribute support required)
1339 if test $libc_cv_visibility_attribute = yes; then
1340 AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
1341 libc_cv_have_sdata_section,
1342 [echo "int i;" > conftest.c
1343 libc_cv_have_sdata_section=no
1344 if ${CC-cc} $LDFLAGS -fPIC -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
1345 | grep '\.sdata' >/dev/null; then
1346 libc_cv_have_sdata_section=yes
1348 rm -f conftest.c conftest.so
1350 if test $libc_cv_have_sdata_section = yes; then
1351 AC_DEFINE(HAVE_SDATA_SECTION)
1355 AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
1356 libc_cv_initfini_array, [dnl
1357 cat > conftest.c <<EOF
1358 int _start (void) { return 0; }
1359 int __start (void) { return 0; }
1360 int foo (void) { return 1; }
1361 int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
1363 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
1364 -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
1366 if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then
1367 libc_cv_initfini_array=yes
1369 libc_cv_initfini_array=no
1372 libc_cv_initfini_array=no
1375 if test $libc_cv_initfini_array != yes; then
1376 AC_MSG_ERROR([Need linker with .init_array/.fini_array support.])
1379 AC_CACHE_CHECK(for libunwind-support in compiler,
1380 libc_cv_cc_with_libunwind, [
1381 cat > conftest.c <<EOF
1382 int main (void) { return 0; }
1384 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
1385 conftest.c -v 2>&1 >/dev/null | grep -q " -lunwind "; then
1386 libc_cv_cc_with_libunwind=yes
1388 libc_cv_cc_with_libunwind=no
1391 AC_SUBST(libc_cv_cc_with_libunwind)
1392 if test $libc_cv_cc_with_libunwind = yes; then
1393 AC_DEFINE(HAVE_CC_WITH_LIBUNWIND)
1396 AC_CACHE_CHECK(for -z nodelete option,
1397 libc_cv_z_nodelete, [dnl
1398 cat > conftest.c <<EOF
1399 int _start (void) { return 42; }
1401 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1402 -fPIC -shared -o conftest.so conftest.c
1403 -nostartfiles -nostdlib
1404 -Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD])
1406 libc_cv_z_nodelete=yes
1408 AC_MSG_ERROR(linker with -z nodelete support required)
1412 AC_CACHE_CHECK(for -z nodlopen option,
1413 libc_cv_z_nodlopen, [dnl
1414 cat > conftest.c <<EOF
1415 int _start (void) { return 42; }
1417 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1418 -fPIC -shared -o conftest.so conftest.c
1419 -nostartfiles -nostdlib
1420 -Wl,--enable-new-dtags,-z,nodlopen 1>&AS_MESSAGE_LOG_FD])
1422 libc_cv_z_nodlopen=yes
1424 AC_MSG_ERROR(linker with -z nodlopen support required)
1428 AC_CACHE_CHECK(for -z initfirst option,
1429 libc_cv_z_initfirst, [dnl
1430 cat > conftest.c <<EOF
1431 int _start (void) { return 42; }
1433 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1434 -fPIC -shared -o conftest.so conftest.c
1435 -nostartfiles -nostdlib
1436 -Wl,--enable-new-dtags,-z,initfirst 1>&AS_MESSAGE_LOG_FD])
1438 libc_cv_z_initfirst=yes
1440 AC_MSG_ERROR(linker with -z initfirst support required)
1444 case "$base_machine" in
1446 i[34567]86 | x86_64 | powerpc* | s390* | sparc* | alpha*)
1448 AC_CACHE_CHECK(for -z relro option,
1449 libc_cv_z_relro, [dnl
1451 if AC_TRY_COMMAND([${CC-cc} -v --help 2>&1|grep "z relro" 1>&AS_MESSAGE_LOG_FD])
1453 if AC_TRY_COMMAND([${CC-cc} -Wl,--verbose 2>&1|grep DATA_SEGMENT_RELRO_END 1>&AS_MESSAGE_LOG_FD])
1458 if test "$libc_cv_z_relro" = no; then
1459 AC_MSG_ERROR(linker with -z relro support required)
1465 AC_CACHE_CHECK(for -Bgroup option,
1466 libc_cv_Bgroup, [dnl
1467 cat > conftest.c <<EOF
1468 int _start (void) { return 42; }
1470 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1471 -fPIC -shared -o conftest.so conftest.c
1472 -Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD])
1479 AC_SUBST(libc_cv_Bgroup)
1481 AC_CACHE_CHECK(for libgcc_s suffix,
1482 libc_cv_libgcc_s_suffix, [dnl
1483 cat > conftest.c <<EOF
1484 int main (void) { return 0; }
1487 libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
1488 -fPIC -shared -shared-libgcc -o conftest.so \
1489 conftest.c -v 2>&1 >/dev/null \
1490 | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
1493 AC_SUBST(libc_cv_libgcc_s_suffix)
1495 AC_CACHE_CHECK(for --as-needed option,
1496 libc_cv_as_needed, [dnl
1497 cat > conftest.c <<EOF
1498 int main (void) { return 0; }
1500 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1501 -fPIC -shared -o conftest.so conftest.c
1502 -lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
1503 -nostdlib 1>&AS_MESSAGE_LOG_FD])
1505 libc_cv_as_needed=yes
1507 libc_cv_as_needed=no
1510 AC_SUBST(libc_cv_as_needed)
1513 AC_CACHE_CHECK(whether --noexecstack is desirable for .S files,
1514 libc_cv_as_noexecstack, [dnl
1515 cat > conftest.c <<EOF
1518 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS
1519 -S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \
1520 && grep -q .note.GNU-stack conftest.s \
1521 && AC_TRY_COMMAND([${CC-cc} $ASFLAGS -Wa,--noexecstack
1522 -c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
1524 libc_cv_as_noexecstack=yes
1526 libc_cv_as_noexecstack=no
1529 if test $libc_cv_as_noexecstack = yes; then
1530 ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
1532 AC_SUBST(ASFLAGS_config)
1534 AC_CACHE_CHECK(for -z combreloc,
1535 libc_cv_z_combreloc, [dnl
1536 cat > conftest.c <<EOF
1537 extern int bar (int);
1539 int foo (void) { return bar (mumble); }
1541 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1542 -fPIC -shared -o conftest.so conftest.c
1543 -nostdlib -nostartfiles
1544 -Wl,-z,combreloc 1>&AS_MESSAGE_LOG_FD])
1546 dnl The following test is a bit weak. We must use a tool which can test
1547 dnl cross-platform since the gcc used can be a cross compiler. Without
1548 dnl introducing new options this is not easily doable. Instead use a tool
1549 dnl which always is cross-platform: readelf. To detect whether -z combreloc
1550 dnl look for a section named .rel.dyn.
1551 if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
1552 libc_cv_z_combreloc=yes
1554 libc_cv_z_combreloc=no
1557 libc_cv_z_combreloc=no
1560 if test "$libc_cv_z_combreloc" = yes; then
1561 AC_DEFINE(HAVE_Z_COMBRELOC)
1563 AC_SUBST(libc_cv_z_combreloc)
1565 AC_CACHE_CHECK(for -z execstack,
1566 libc_cv_z_execstack, [dnl
1567 cat > conftest.c <<EOF
1568 int _start (void) { return 42; }
1570 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1571 -fPIC -shared -o conftest.so conftest.c
1572 -Wl,-z,execstack -nostdlib
1573 1>&AS_MESSAGE_LOG_FD])
1575 libc_cv_z_execstack=yes
1577 libc_cv_z_execstack=no
1580 AC_SUBST(libc_cv_z_execstack)
1582 AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl
1583 cat > conftest.c <<EOF
1585 main () { return 0;}
1587 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
1588 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
1596 AC_SUBST(libc_cv_fpie)
1598 AC_CACHE_CHECK(for --hash-style option,
1599 libc_cv_hashstyle, [dnl
1600 cat > conftest.c <<EOF
1601 int _start (void) { return 42; }
1603 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1604 -fPIC -shared -o conftest.so conftest.c
1605 -Wl,--hash-style=both -nostdlib 1>&AS_MESSAGE_LOG_FD])
1607 libc_cv_hashstyle=yes
1609 libc_cv_hashstyle=no
1612 AC_SUBST(libc_cv_hashstyle)
1615 AC_CACHE_CHECK(for -fno-toplevel-reorder -fno-section-anchors, libc_cv_fno_toplevel_reorder, [dnl
1616 cat > conftest.c <<EOF
1619 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -fno-toplevel-reorder -fno-section-anchors
1620 conftest.c 1>&AS_MESSAGE_LOG_FD])
1622 libc_cv_fno_toplevel_reorder=yes
1624 libc_cv_fno_toplevel_reorder=no
1627 if test $libc_cv_fno_toplevel_reorder = yes; then
1628 fno_unit_at_a_time="-fno-toplevel-reorder -fno-section-anchors"
1630 fno_unit_at_a_time=-fno-unit-at-a-time
1632 AC_SUBST(fno_unit_at_a_time)
1634 AC_CACHE_CHECK(for -fstack-protector, libc_cv_ssp, [dnl
1635 cat > conftest.c <<EOF
1637 main () { return 0;}
1639 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -Werror -fstack-protector
1640 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
1647 AC_SUBST(libc_cv_ssp)
1649 AC_CACHE_CHECK(for -fgnu89-inline, libc_cv_gnu89_inline, [dnl
1650 cat > conftest.c <<EOF
1652 #ifdef __GNUC_GNU_INLINE__
1653 main () { return 0;}
1658 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -std=gnu99 -fgnu89-inline
1659 -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD])
1661 libc_cv_gnu89_inline=yes
1663 libc_cv_gnu89_inline=no
1666 if test $libc_cv_gnu89_inline = yes; then
1667 libc_cv_gnu89_inline=-fgnu89-inline
1669 libc_cv_gnu89_inline=
1671 AC_SUBST(libc_cv_gnu89_inline)
1673 if test $elf != yes; then
1674 AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
1675 [AC_TRY_COMPILE(, [asm (".section .init");
1676 asm (".section .fini");
1677 asm ("${libc_cv_dot_text}");],
1678 libc_cv_have_initfini=yes,
1679 libc_cv_have_initfini=no)])
1680 AC_SUBST(libc_cv_have_initfini)dnl
1681 if test $libc_cv_have_initfini = yes; then
1682 AC_DEFINE(HAVE_INITFINI)
1686 if test $elf = yes; then
1687 AC_CACHE_CHECK(whether cc puts quotes around section names,
1688 libc_cv_have_section_quotes,
1689 [cat > conftest.c <<EOF
1690 static const int foo
1691 __attribute__ ((section ("bar"))) = 1;
1693 if ${CC-cc} -S conftest.c -o conftest.s; then
1694 if grep '\.section.*"bar"' conftest.s >/dev/null; then
1695 libc_cv_have_section_quotes=yes
1697 libc_cv_have_section_quotes=no
1700 libc_cv_have_section_quotes=unknown
1704 if test $libc_cv_have_section_quotes = yes; then
1705 AC_DEFINE(HAVE_SECTION_QUOTES)
1709 dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1710 AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
1711 [cat > conftest.$ac_ext <<EOF
1712 dnl This sometimes fails to find confdefs.h, for some reason.
1713 dnl [#]line $LINENO "[$]0"
1714 [#]line $LINENO "configure"
1715 #include "confdefs.h"
1716 void underscore_test(void) {
1719 if AC_TRY_EVAL(ac_compile); then
1720 if grep _underscore_test conftest* >/dev/null; then
1721 ifelse([$1], , :, [rm -f conftest*
1724 ifelse([$2], , , [rm -f conftest*
1728 echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
1729 cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
1730 ifelse([$2], , , [rm -f conftest*
1735 if test $elf = yes; then
1736 libc_cv_asm_underscores=no
1738 if test $ac_cv_prog_cc_works = yes; then
1739 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1740 [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
1741 libc_cv_asm_underscores=yes,
1742 libc_cv_asm_underscores=no)])
1744 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1745 [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
1746 libc_cv_asm_underscores=no)])
1749 if test $libc_cv_asm_underscores = no; then
1750 AC_DEFINE(NO_UNDERSCORES)
1753 if test $elf = yes; then
1754 libc_cv_weak_symbols=yes
1757 AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
1759 cat > conftest.s <<EOF
1761 ${libc_cv_asm_global_directive} foo
1764 .weak bar; bar = foo
1766 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1767 libc_cv_asm_weak_directive=yes
1769 libc_cv_asm_weak_directive=no
1773 if test $libc_cv_asm_weak_directive = no; then
1774 AC_CACHE_CHECK(for assembler .weakext directive,
1775 libc_cv_asm_weakext_directive,
1777 cat > conftest.s <<EOF
1779 ${libc_cv_asm_global_directive} foo
1783 ${libc_cv_asm_global_directive} baz
1786 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1787 libc_cv_asm_weakext_directive=yes
1789 libc_cv_asm_weakext_directive=no
1795 if test $libc_cv_asm_weak_directive = yes; then
1796 AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
1797 elif test $libc_cv_asm_weakext_directive = yes; then
1798 AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
1801 AC_CACHE_CHECK(whether CFI directives are supported, libc_cv_asm_cfi_directives, [dnl
1803 sparc/sparc64*) cfi_offset=2047;;
1806 cat > conftest.s <<EOF
1808 .type func,%function
1812 .cfi_rel_offset 1, $cfi_offset
1815 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1816 libc_cv_asm_cfi_directives=yes
1818 libc_cv_asm_cfi_directives=no
1821 if test $libc_cv_asm_cfi_directives = yes; then
1822 AC_DEFINE(HAVE_ASM_CFI_DIRECTIVES)
1825 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
1826 cat > conftest.c <<\EOF
1831 dnl No \ in command here because it ends up inside ''.
1832 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1833 -nostdlib -nostartfiles -Wl,--no-whole-archive
1834 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1835 libc_cv_ld_no_whole_archive=yes
1837 libc_cv_ld_no_whole_archive=no
1840 if test $libc_cv_ld_no_whole_archive = yes; then
1841 no_whole_archive=-Wl,--no-whole-archive
1843 AC_SUBST(no_whole_archive)dnl
1845 AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
1846 cat > conftest.c <<\EOF
1851 dnl No \ in command here because it ends up inside ''.
1852 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1853 -nostdlib -nostartfiles -fexceptions
1854 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1855 libc_cv_gcc_exceptions=yes
1857 libc_cv_gcc_exceptions=no
1860 if test $libc_cv_gcc_exceptions = yes; then
1861 exceptions=-fexceptions
1863 AC_SUBST(exceptions)dnl
1865 if test "$host_cpu" = powerpc ; then
1866 # Check for a bug present in at least versions 2.8.x of GCC
1867 # and versions 1.0.x of EGCS.
1868 AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
1869 AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
1870 libc_cv_c_asmcr0_bug='no',
1871 libc_cv_c_asmcr0_bug='yes')])
1872 if test "$libc_cv_c_asmcr0_bug" != 'no'; then
1873 AC_DEFINE(BROKEN_PPC_ASM_CR0)
1877 dnl Check whether compiler understands __builtin_expect.
1878 AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
1879 [cat > conftest.c <<EOF
1880 #line $LINENO "configure"
1883 a = __builtin_expect (a, 10);
1884 return a == 10 ? 0 : 1;
1887 dnl No \ in command here because it ends up inside ''.
1888 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
1889 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1890 libc_cv_gcc_builtin_expect=yes
1892 libc_cv_gcc_builtin_expect=no
1895 if test "$libc_cv_gcc_builtin_expect" = yes; then
1896 AC_DEFINE(HAVE_BUILTIN_EXPECT)
1899 AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
1900 cat > conftest.c <<\EOF
1903 __builtin_memset (x, 0, 1000);
1907 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
1909 libc_cv_gcc_builtin_memset=no
1911 libc_cv_gcc_builtin_memset=yes
1914 if test "$libc_cv_gcc_builtin_memset" = yes ; then
1915 AC_DEFINE(HAVE_BUILTIN_MEMSET)
1918 AC_CACHE_CHECK(for redirection of built-in functions, libc_cv_gcc_builtin_redirection, [dnl
1919 cat > conftest.c <<\EOF
1920 extern char *strstr (const char *, const char *) __asm ("my_strstr");
1921 char *foo (const char *a, const char *b)
1923 return __builtin_strstr (a, b);
1927 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null]);
1929 libc_cv_gcc_builtin_redirection=yes
1931 libc_cv_gcc_builtin_redirection=no
1934 if test "$libc_cv_gcc_builtin_redirection" = yes ; then
1935 AC_DEFINE(HAVE_BUILTIN_REDIRECTION)
1938 dnl Check whether the compiler supports the __thread keyword.
1939 if test "x$use__thread" != xno; then
1940 AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
1941 [cat > conftest.c <<\EOF
1942 __thread int a = 42;
1944 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c >&AS_MESSAGE_LOG_FD]); then
1945 libc_cv_gcc___thread=yes
1947 libc_cv_gcc___thread=no
1950 if test "$libc_cv_gcc___thread" = yes; then
1951 AC_DEFINE(HAVE___THREAD)
1954 libc_cv_gcc___thread=no
1957 if test "$libc_cv_gcc___thread" = yes; then
1958 dnl Check whether the compiler supports the tls_model attribute.
1959 AC_CACHE_CHECK([for tls_model attribute], libc_cv_gcc_tls_model_attr, [dnl
1960 cat > conftest.c <<\EOF
1961 extern __thread int a __attribute__((tls_model ("initial-exec")));
1963 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -Werror conftest.c >&AS_MESSAGE_LOG_FD]); then
1964 libc_cv_gcc_tls_model_attr=yes
1966 libc_cv_gcc_tls_model_attr=no
1969 if test "$libc_cv_gcc_tls_model_attr" = yes; then
1970 AC_DEFINE(HAVE_TLS_MODEL_ATTRIBUTE)
1974 if test -n "$submachine"; then
1975 AC_CACHE_CHECK([for compiler option for CPU variant],
1976 libc_cv_cc_submachine, [dnl
1977 libc_cv_cc_submachine=no
1978 for opt in "-march=$submachine" "-mcpu=$submachine"; do
1979 if AC_TRY_COMMAND([${CC-cc} $opt -xc /dev/null -S -o /dev/null]); then
1980 libc_cv_cc_submachine="$opt"
1984 if test "x$libc_cv_cc_submachine" = xno; then
1985 AC_MSG_ERROR([${CC-cc} does not support $submachine])
1988 AC_SUBST(libc_cv_cc_submachine)
1990 dnl Check whether we have the gd library available.
1991 AC_MSG_CHECKING(for libgd)
1992 if test "$with_gd" != "no"; then
1993 old_CFLAGS="$CFLAGS"
1994 CFLAGS="$CFLAGS $libgd_include"
1995 old_LDFLAGS="$LDFLAGS"
1996 LDFLAGS="$LDFLAGS $libgd_ldflags"
1998 LIBS="$LIBS -lgd -lpng -lz -lm"
1999 AC_TRY_LINK([#include <gd.h>], [gdImagePng (0, 0)], LIBGD=yes, LIBGD=no)
2000 CFLAGS="$old_CFLAGS"
2001 LDFLAGS="$old_LDFLAGS"
2006 AC_MSG_RESULT($LIBGD)
2010 if test x$with_selinux = xno ; then
2013 # See if we have the SELinux library
2014 AC_CHECK_LIB(selinux, is_selinux_enabled,
2015 have_selinux=yes, have_selinux=no)
2016 # See if we have the SELinux header with the NSCD permissions in it.
2017 if test x$have_selinux = xyes ; then
2018 AC_MSG_CHECKING([for NSCD Flask permissions in selinux/av_permissions.h])
2019 AC_TRY_COMPILE([#include <selinux/av_permissions.h>],
2020 [#ifdef NSCD__SHMEMHOST
2023 #error NSCD__SHMEMHOST not defined
2025 have_selinux=yes, have_selinux=no)
2026 AC_MSG_RESULT($have_selinux)
2029 if test x$with_selinux = xyes ; then
2030 if test x$have_selinux = xno ; then
2031 AC_MSG_ERROR([SELinux explicitly required, but sufficiently recent SELinux library not found])
2035 # Check if we're building with SELinux support.
2036 if test "x$have_selinux" = xyes; then
2037 AC_DEFINE(HAVE_SELINUX, 1, [SELinux support])
2039 # See if we have the libaudit library
2040 AC_CHECK_LIB(audit, audit_log_user_avc_message,
2041 have_libaudit=yes, have_libaudit=no)
2042 if test "x$have_libaudit" = xyes; then
2043 AC_DEFINE(HAVE_LIBAUDIT, 1, [SELinux libaudit support])
2045 AC_SUBST(have_libaudit)
2047 # See if we have the libcap library
2048 AC_CHECK_LIB(cap, cap_init, have_libcap=yes, have_libcap=no)
2049 if test "x$have_libcap" = xyes; then
2050 AC_DEFINE(HAVE_LIBCAP, 1, [SELinux libcap support])
2052 AC_SUBST(have_libcap)
2054 AC_SUBST(have_selinux)
2056 dnl check for the size of 'long double'.
2057 AC_CHECK_SIZEOF(long double, 0)
2058 sizeof_long_double=$ac_cv_sizeof_long_double
2059 AC_SUBST(sizeof_long_double)
2061 ### End of automated tests.
2062 ### Now run sysdeps configure fragments.
2064 # They also can set these variables.
2066 ldd_rewrite_script=no
2067 libc_cv_sysconfdir=$sysconfdir
2068 libc_cv_gcc_unwind_find_fde=no
2071 # Iterate over all the sysdep directories we will use, running their
2072 # configure fragments, and looking for a uname implementation.
2074 for dir in $sysnames; do
2077 *) dest=$srcdir/$dir ;;
2079 if test -r $dest/configure; then
2080 AC_MSG_RESULT(running configure fragment for $dir)
2084 if test -z "$uname"; then
2085 if test -r $dest/uname.c ||
2086 test -r $dest/uname.S ||
2087 { test -r $dest/syscalls.list &&
2088 grep '^uname[ ]' $dest/syscalls.list >/dev/null; }; then
2095 if test x$libc_cv_gcc_unwind_find_fde = xyes; then
2096 AC_DEFINE(EXPORT_UNWIND_FIND_FDE)
2098 AC_SUBST(libc_cv_gcc_unwind_find_fde)
2100 # If we will use the generic uname implementation, we must figure out what
2101 # it will say by examining the system, and write the results in config-name.h.
2102 if test "$uname" = "sysdeps/generic"; then
2105 uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
2107 if test $uname_sysname != $config_os; then
2108 config_release=`echo $config_os | sed s/$uname_sysname//`
2111 AC_DEFUN(LIBC_KERNEL_ID, [dnl
2112 if test -r /vmunix; then
2113 kernel_id=`strings /vmunix | grep UNIX`
2114 elif test -r /dynix; then
2115 kernel_id=`strings /dynix | grep DYNIX`
2121 AC_CACHE_CHECK(OS release for uname, libc_cv_uname_release, [dnl
2124 kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
2126 if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
2127 != x$config_release; then
2128 # The configuration release is a substring of the kernel release.
2129 libc_cv_uname_release=$kernel_release
2130 elif test x$config_release != x; then
2131 libc_cv_uname_release=$config_release
2132 elif test x$kernel_release != x; then
2133 libc_cv_uname_release=$kernel_release
2135 libc_cv_uname_release=unknown
2137 uname_release="$libc_cv_uname_release"
2139 AC_CACHE_CHECK(OS version for uname, libc_cv_uname_version, [dnl
2142 kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
2144 if test -n "$kernel_version"; then
2145 libc_cv_uname_version="$kernel_version"
2147 libc_cv_uname_version=unknown
2149 uname_version="$libc_cv_uname_version"
2151 AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl
2152 config_uname=config-name.h:config-name.in
2154 # For non-generic uname, we don't need to create config-name.h at all.
2158 dnl This is tested by existing code and it's simpler to avoid changing it.
2159 AC_DEFINE(USE_IN_LIBIO)
2161 # Test for old glibc 2.0.x headers so that they can be removed properly
2162 # Search only in includedir.
2163 AC_MSG_CHECKING(for old glibc 2.0.x headers)
2164 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
2166 old_glibc_headers=yes
2168 old_glibc_headers=no
2170 AC_MSG_RESULT($old_glibc_headers)
2171 if test ${old_glibc_headers} = yes; then
2172 AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
2173 AC_MSG_WARN(*** be removed.)
2175 AC_SUBST(old_glibc_headers)
2177 AC_SUBST(libc_cv_slibdir)
2178 AC_SUBST(libc_cv_localedir)
2179 AC_SUBST(libc_cv_sysconfdir)
2180 AC_SUBST(libc_cv_rootsbindir)
2181 AC_SUBST(libc_cv_forced_unwind)
2183 dnl sysdeps/CPU/configure.in checks set this via arch-specific asm tests
2184 AC_SUBST(libc_cv_cpp_asm_debuginfo)
2186 AC_SUBST(use_ldconfig)
2187 AC_SUBST(ldd_rewrite_script)
2189 AC_SUBST(elf) AC_SUBST(xcoff)
2190 if test $elf = yes; then
2193 if test $xcoff = yes; then
2194 AC_DEFINE(HAVE_XCOFF)
2199 if test $shared = default; then
2203 AC_CACHE_CHECK([whether -fPIC is default], pic_default,
2205 cat > conftest.c <<EOF
2206 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
2207 # error PIC is default.
2210 if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
2214 AC_SUBST(pic_default)
2219 AC_SUBST(static_nss)
2220 AC_SUBST(nopic_initfini)
2224 dnl See sysdeps/mach/configure.in for this variable.
2225 AC_SUBST(mach_interface_list)
2227 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
2230 config_makefile=Makefile
2233 VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
2234 RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
2238 AC_CONFIG_FILES([config.make ${config_makefile} ${config_uname}])
2239 AC_CONFIG_COMMANDS([default],[[
2240 case $CONFIG_FILES in *config.make*)
2241 echo "$config_vars" >> config.make;;
2243 test -d bits || mkdir bits]],[[config_vars='$config_vars']])