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)
257 AC_ARG_ENABLE([multi-arch],
258 AC_HELP_STRING([--enable-multi-arch],
259 [enable single DSO with optimizations for multiple architectures]),
260 [multi_arch=$enableval],
262 if test x"$multi_arch" = xyes; then
263 AC_DEFINE(USE_MULTIARCH)
264 multi_arch_d=/multiarch
268 AC_ARG_ENABLE([experimental-malloc],
269 AC_HELP_STRING([--enable-experimental-malloc],
270 [enable experimental malloc features]),
271 [experimental_malloc=$enableval],
273 AC_SUBST(experimental_malloc)
275 AC_ARG_ENABLE([nss-crypt],
276 AC_HELP_STRING([--enable-nss-crypt],
277 [enable libcrypt to use nss]),
278 [nss_crypt=$enableval],
280 if test x$nss_crypt = xyes; then
281 nss_includes=-I$(nss-config --includedir 2>/dev/null)
282 if test $? -ne 0; then
283 AC_MSG_ERROR([cannot find include directory with nss-config])
286 CFLAGS="$CFLAGS $nss_includes"
287 AC_COMPILE_IFELSE([typedef int PRBool;
289 #include <nsslowhash.h>
290 void f (void) { NSSLOW_Init (); }],
291 libc_cv_nss_crypt=yes,
293 cannot find NSS headers with lowlevel hash function interfaces]))
295 LIBS="$LIBS -lfreebl3"
296 AC_LINK_IFELSE([AC_LANG_PROGRAM([typedef int PRBool;
298 #include <nsslowhash.h>],
300 libc_cv_nss_crypt=yes,
302 cannot link program using lowlevel NSS hash functions]))
308 AC_SUBST(libc_cv_nss_crypt)
312 # The way shlib-versions is used to generate soversions.mk uses a
313 # fairly simplistic model for name recognition that can't distinguish
314 # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os
315 # of `gnu*' here to be `gnu-gnu*' just so that shlib-versions can
316 # tell. This doesn't get used much beyond that, so it's fairly safe.
321 host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
325 # We keep the original values in `$config_*' and never modify them, so we
326 # can write them unchanged into config.make. Everything else uses
327 # $machine, $vendor, and $os, and changes them whenever convenient.
328 config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
330 # Don't allow vendor == "unknown"
331 test "$config_vendor" = unknown && config_vendor=
332 config_os="`echo $config_os | sed 's/^unknown-//'`"
334 # Some configurations imply other options.
336 # i586-linuxaout is mangled into i586-pc-linux-gnuaout
337 linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
339 gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
340 # These systems (almost) always use the ELF format.
344 # These systems are always xcoff
350 # The configure fragment of an add-on port can modify these to supplement
351 # or override the table in the case statement below. No fragment should
352 # ever change the config_* variables, however.
353 machine=$config_machine
354 vendor=$config_vendor
358 # config.guess on some IBM machines says `rs6000' instead of `powerpc'.
360 if test "$machine" = rs6000; then
364 # Braindead PowerPC box with absolutely no FPU.
365 case "$machine-$host_os" in
373 AS_HELP_STRING([--with-cpu=CPU], [select code for CPU variant]),
376 yes|'') AC_MSG_ERROR([--with-cpu requires an argument]) ;;
378 *) submachine="$withval" ;;
382 # An add-on can set this when it wants to disable the sanity check below.
385 dnl Having this here, though empty, makes sure that if add-ons' fragments
386 dnl do AC_CONFIG_SUBDIRS([some-dir]), which just sets $subdirs, then
387 dnl our AC_OUTPUT will actually use it.
390 case "$enable_add_ons" in
393 add_ons=`cd $srcdir && ls -d 2> /dev/null */configure */sysdeps |
394 sed 's@/[[^/]]*$@@' | sort | uniq`
395 add_ons_automatic=yes
397 *) add_ons=`echo "$enable_add_ons" | sed 's/,/ /g'`
398 add_ons_automatic=no ;;
404 if test x"$add_ons" != x; then
405 for f in $add_ons; do
410 *** It seems that you're using an old \`crypt' add-on. crypt is now
411 *** part of glibc and using the old add-on will not work with this
412 *** release. Start again with fresh sources and without the old
413 *** \`crypt' add-on.])
417 *** It seems that you're using an old \`localedata' add-on. localedata
418 *** is now part of glibc and using the old add-on will not work with
419 *** this release. Start again with fresh sources and without the old
420 *** \`localedata' add-on.])
425 # Now source each add-on's configure fragment.
426 # The fragments can use $srcdir/$libc_add_on to find themselves,
427 # and test $add_ons_automatic to see if they were explicitly requested.
428 # A fragment can clear (or even change) $libc_add_on to affect
429 # whether it goes into the list to be actually used in the build.
431 for libc_add_on in $add_ons; do
432 # Test whether such a directory really exists.
433 # It can be absolute, or relative to $srcdir, or relative to the build dir.
434 case "$libc_add_on" in
436 libc_add_on_srcdir=$libc_add_on
439 test -d "$srcdir/$libc_add_on" || {
440 if test -d "$libc_add_on"; then
441 libc_add_on="`pwd`/$libc_add_on"
443 AC_MSG_ERROR(add-on directory \"$libc_add_on\" does not exist)
446 libc_add_on_srcdir=$srcdir/$libc_add_on
450 libc_add_on_frag=$libc_add_on_srcdir/configure
451 libc_add_on_canonical=
452 if test -r "$libc_add_on_frag"; then
453 AC_MSG_NOTICE(running configure fragment for add-on $libc_add_on)
454 libc_add_on_canonical=unknown
456 . "$libc_add_on_frag"
457 test -z "$libc_add_on" || {
458 configured_add_ons="$configured_add_ons $libc_add_on"
459 if test "x$libc_add_on_canonical" = xunknown; then
460 AC_MSG_ERROR(fragment must set \$libc_add_on_canonical)
462 for d in $libc_add_on_subdirs; do
463 case "$libc_add_on" in
464 /*) subdir_srcdir="$libc_add_on" ;;
465 *) subdir_srcdir="\$(..)$libc_add_on" ;;
469 d="${libc_add_on_canonical:-$libc_add_on}"
475 subdir_srcdir="$subdir_srcdir/$d"
478 d=`echo "$d" | sed 's@/*$@@;s@^.*/@@'`
479 add_on_subdirs="$add_on_subdirs $d"
480 test "$subdir_srcdir" = "\$(..)$d" || config_vars="$config_vars
481 $d-srcdir = $subdir_srcdir"
485 if test -n "$libc_add_on"; then
486 if frags=`ls -d $libc_add_on_srcdir/sysdeps/*/preconfigure 2> /dev/null`
488 AC_MSG_CHECKING(add-on $libc_add_on for preconfigure fragments)
489 for frag in $frags; do
490 name=`echo "$frag" | sed 's@/[[^/]]*$@@;s@^.*/@@'`
491 echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
496 use_add_ons="$use_add_ons $libc_add_on"
497 add_ons_pfx="$add_ons_pfx $libc_add_on/"
498 test -z "$libc_add_on_canonical" ||
499 add_ons_sfx="$add_ons_sfx /$libc_add_on_canonical"
502 # Use echo to strip excess whitespace.
503 add_ons="`echo $use_add_ons`"
506 AC_SUBST(add_on_subdirs)
510 ### I put this here to prevent those annoying emails from people who cannot
511 ### read and try to compile glibc on unsupported platforms. --drepper
513 ### By using the undocumented --enable-hacker-mode option for configure
514 ### one can skip this test to make the configuration not fail for unsupported
517 if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then
518 case "$machine-$host_os" in
519 *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
522 echo "*** The GNU C library is currently not available for this platform."
523 echo "*** So far nobody cared to port it and if there is no volunteer it"
524 echo "*** might never happen. So, if you have interest to see glibc on"
525 echo "*** this platform visit"
526 echo "*** http://www.gnu.org/software/libc/porting.html"
527 echo "*** and join the group of porters"
533 dnl We need to use [ and ] for other purposes for a while now.
535 # Expand the configuration machine name into a subdirectory by architecture
536 # type and particular chip. If an add-on configure fragment already set
537 # base_machine, we don't change it.
538 test -n "$base_machine" || case "$machine" in
539 a29k | am29000) base_machine=a29k machine=a29k ;;
540 c3[012]) base_machine=cx0 machine=cx0/c30 ;;
541 c4[04]) base_machine=cx0 machine=cx0/c40 ;;
542 i[34567]86) base_machine=i386 machine=i386/$machine ;;
543 ia64) base_machine=ia64 machine=ia64 ;;
544 m88???) base_machine=m88k machine=m88k/$machine ;;
545 m88k) base_machine=m88k machine=m88k/m88100 ;;
546 powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;;
547 powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;;
548 s390) base_machine=s390 machine=s390/s390-32 ;;
549 s390x) base_machine=s390 machine=s390/s390-64 ;;
550 sh3*) base_machine=sh machine=sh/sh3 ;;
551 sh4*) base_machine=sh machine=sh/sh4 ;;
553 base_machine=sparc machine=sparc/sparc32 ;;
554 sparcv8 | supersparc | hypersparc)
555 base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
556 sparcv8plus | sparcv8plusa | sparcv9)
557 base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
558 sparcv8plusb | sparcv9b)
559 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9b ;;
561 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v ;;
563 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v2 ;;
565 base_machine=sparc machine=sparc/sparc64 ;;
567 base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
569 base_machine=sparc machine=sparc/sparc64/sparcv9v ;;
571 base_machine=sparc machine=sparc/sparc64/sparcv9v2 ;;
572 *) base_machine=$machine ;;
575 AC_SUBST(base_machine)
577 if test "$base_machine" = "i386"; then
578 AC_DEFINE(USE_REGPARMS)
581 # Compute the list of sysdep directories for this configuration.
582 # This can take a while to compute.
583 sysdep_dir=$srcdir/sysdeps
584 AC_MSG_CHECKING(sysdep dirs)
585 dnl We need to use [ and ] for other purposes for a while now.
587 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
588 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
590 test "x$base_os" != x || case "$os" in
593 netbsd* | 386bsd* | freebsd* | bsdi*)
594 base_os=unix/bsd/bsd4.4 ;;
595 osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
597 sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
600 base_os=unix/sysv/irix6/$os ;;
602 base_os=unix/sysv/sysv4 ;;
604 base_os=unix/sysv/hpux/$os ;;
606 base_os=unix/sysv/aix/aix4.3 ;;
608 base_os=standalone ;;
611 # For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
614 while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
618 o=`echo $tail | sed 's/[0-9]*$//'`
619 if test $o != $tail; then
622 # For linux-gnu, try linux-gnu, then linux.
623 o=`echo $tail | sed 's/-.*$//'`
624 if test $o != $tail; then
628 # For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
631 while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
637 # For sparc/sparc32, try sparc/sparc32 and then sparc.
639 tail=$machine${submachine:+/$submachine}
640 while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
642 # Prepend the machine's FPU directory unless --without-fp.
643 if test "$with_fp" = yes; then
646 mach="$mach /$1/nofpu"
652 dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
655 # Find what sysdep directories exist.
658 for b in $base ''; do
659 for m0 in $mach ''; do
660 for v in /$vendor ''; do
661 test "$v" = / && continue
662 for o in /$ostry ''; do
663 test "$o" = / && continue
664 for m in $multi_arch_d $mach ''; do
665 for d in $add_ons_pfx ''; do
666 for a in $add_ons_sfx ''; do
667 if test -n "$m0$m0sub$b$v$o$m$msub"; then
668 try_srcdir="${srcdir}/"
672 try="${d}sysdeps$m0$m0sub$b$v$o$m$msub$a"
673 test -n "$enable_debug_configure" &&
674 echo "$0 [DEBUG]: try $try" >&2
675 if test -d "$try_srcdir$try"; then
676 sysnames="$sysnames $try"
677 { test -n "$o" || test -n "$b"; } && os_used=t
678 { test -n "$m" || test -n "$m0"; } && machine_used=t
680 x*/$submachine) submachine_used=t ;;
682 if test -n "$d"; then
683 case "$sysnames_add_ons" in
685 *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
698 if test -z "$os_used" && test "$os" != none; then
699 AC_MSG_ERROR(Operating system $os is not supported.)
701 if test -z "$machine_used" && test "$machine" != none; then
702 AC_MSG_ERROR(The $machine is not supported.)
704 if test -z "$submachine_used" && test -n "$submachine"; then
705 AC_MSG_ERROR(The $submachine subspecies of $host_cpu is not supported.)
709 # We have now validated the configuration.
712 # If using ELF, look for an `elf' subdirectory of each machine directory.
713 # We prepend these rather than inserting them whereever the machine appears
714 # because things specified by the machine's ELF ABI should override
715 # OS-specific things, and should always be the same for any OS on the
716 # machine (otherwise what's the point of an ABI?).
717 if test "$elf" = yes; then
719 for d in $add_ons_pfx ''; do
721 if test -d $srcdir/${d}sysdeps$m/elf; then
722 elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
726 sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
730 # Expand the list of system names into a full list of directories
731 # from each element's parent name and Implies file (if present).
734 while test $# -gt 0; do
738 case " $names " in *" $name "*)
739 # Already in the list.
743 # Report each name as we discover it, so there is no long pause in output.
744 echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
746 name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
750 *) xsrcdir=$srcdir/ ;;
752 test -n "$enable_debug_configure" &&
753 echo "[DEBUG]: name/Implies $xsrcdir$name/Implies" >&2
755 if test -f $xsrcdir$name/Implies; then
756 # Collect more names from the `Implies' file (removing comments).
757 implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
759 for x in $implied_candidate; do
761 if test -d $xsrcdir$name_base/$x; then
762 implied="$implied $name_base/$x";
765 for d in $add_ons_pfx ''; do
769 *) try_srcdir=$srcdir/ ;;
771 test -n "$enable_debug_configure" &&
772 echo "[DEBUG]: $name implied $x try($d) {$try_srcdir}$try" >&2
773 if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
775 implied="$implied $try"
777 case "$sysnames_add_ons" in
779 *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
783 if test $found = no; then
784 AC_MSG_WARN($name/Implies specifies nonexistent $x)
791 # Add NAME to the list of names.
794 # Find the parent of NAME, using the empty string if it has none.
796 parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
799 # Add the names implied by NAME, and NAME's parent (if it has one), to
800 # the list of names to be processed (the argument list). We prepend the
801 # implied names to the list and append the parent. We want implied
802 # directories to come before further directories inferred from the
803 # configuration components; this ensures that for sysv4, unix/common
804 # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
806 sysnames="`echo $implied $* $parent`"
807 test -n "$sysnames" && set $sysnames
810 # Add the default directories.
811 default_sysnames=sysdeps/generic
812 if test "$elf" = yes; then
813 default_sysnames="sysdeps/generic/elf $default_sysnames"
815 sysnames="$names $default_sysnames"
817 # The other names were emitted during the scan.
818 AC_MSG_RESULT($default_sysnames)
820 # Collect the list of add-ons that supply partial sysdeps trees.
822 for add_on in $add_ons; do
825 *) xsrcdir="$srcdir/" ;;
828 test -d "$xsrcdir$add_on/sysdeps" || {
829 case "$configured_add_ons " in
832 AC_MSG_ERROR(add-on $add_on has no configure fragment or sysdeps tree)
838 sysdeps_add_ons="$sysdeps_add_ons $add_on"
839 case "$sysnames_add_ons" in
842 AC_MSG_WARN(add-on $add_on contributed no sysdeps directories)
847 for d in $sysnames; do
849 $add_on/sysdeps/*) ;;
852 (cd "$xsrcdir$d" && for f in *[[!~]]; do
856 test -d "$ff" || { test -e "$ff" && exit 88; }
860 test -d "$f" || { test -e "$f" && exit 88; }
864 if test $? -eq 88; then
869 if test $found = no; then
870 AC_MSG_WARN(add-on $add_on contributed no useful sysdeps directories)
873 AC_SUBST(sysdeps_add_ons)
879 if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
880 # The makefiles need to use a different form to find it in $srcdir.
881 INSTALL='\$(..)./scripts/install-sh -c'
886 if test $host != $build; then
887 AC_CHECK_PROGS(BUILD_CC, gcc cc)
889 AC_SUBST(cross_compiling)
891 # We need the C++ compiler only for testing.
894 AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
896 # Accept binutils 2.13 or newer.
897 AC_CHECK_PROG_VER(AS, $AS, --version,
898 [GNU assembler.* \([0-9]*\.[0-9.]*\)],
899 [2.1[3-9]*], AS=: critic_missing="$critic_missing as")
900 AC_CHECK_PROG_VER(LD, $LD, --version,
901 [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
902 [2.1[3-9]*], LD=: critic_missing="$critic_missing ld")
904 # We need the physical current working directory. We cannot use the
905 # "pwd -P" shell builtin since that's not portable. Instead we try to
906 # find a pwd binary. Note that assigning to the PWD environment
907 # variable might have some interesting side effects, so we don't do
909 AC_PATH_PROG(PWD_P, pwd, no)
910 if test "$PWD_P" = no; then
911 AC_MSG_ERROR(*** A pwd binary could not be found.)
914 # These programs are version sensitive.
916 AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
917 [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | 4.[0-9]* ],
918 critic_missing="$critic_missing gcc")
919 AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
920 [GNU Make[^0-9]*\([0-9][0-9.]*\)],
921 [3.79* | 3.[89]*], critic_missing="$critic_missing make")
923 AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
924 [GNU gettext.* \([0-9]*\.[0-9.]*\)],
925 [0.10.3[6-9]* | 0.10.[4-9][0-9]* | 0.1[1-9]* | 0.[2-9][0-9]* | [1-9].*],
926 MSGFMT=: aux_missing="$aux_missing msgfmt")
927 AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
928 [GNU texinfo.* \([0-9][0-9.]*\)],
930 MAKEINFO=: aux_missing="$aux_missing makeinfo")
931 AC_CHECK_PROG_VER(SED, sed, --version,
932 [GNU sed version \([0-9]*\.[0-9.]*\)],
933 [3.0[2-9]*|3.[1-9]*|[4-9]*],
934 SED=: aux_missing="$aux_missing sed")
936 AC_CHECK_PROGS(AUTOCONF, autoconf, no)
938 xno|x|x:) AUTOCONF=no ;;
941 whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works, libc_cv_autoconf_works, [dnl
942 if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then
943 libc_cv_autoconf_works=yes
945 libc_cv_autoconf_works=no
947 test $libc_cv_autoconf_works = yes || AUTOCONF=no
950 if test "x$with_cvs" = xyes && test "x$AUTOCONF" = xno; then
951 # If --without-cvs they probably won't change configure.in, so no complaints.
952 aux_missing="$aux_missing autoconf"
955 test -n "$critic_missing" && AC_MSG_ERROR([
956 *** These critical programs are missing or too old:$critic_missing
957 *** Check the INSTALL file for required versions.])
959 test -n "$aux_missing" && AC_MSG_WARN([
960 *** These auxiliary programs are missing or incompatible versions:$aux_missing
961 *** some features will be disabled.
962 *** Check the INSTALL file for required versions.])
964 # if using special system headers, find out the compiler's sekrit
965 # header directory and add that to the list. NOTE: Only does the right
966 # thing on a system that doesn't need fixincludes. (Not presently a problem.)
967 if test -n "$sysheaders"; then
968 SYSINCLUDES=-nostdinc
969 for d in include include-fixed; do
970 i=`$CC -print-file-name="$d"` && test "x$i" != x && test "x$i" != "x$d" &&
971 SYSINCLUDES="$SYSINCLUDES -isystem $i"
973 SYSINCLUDES="$SYSINCLUDES \
974 -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
975 if test -n "$CXX"; then
976 cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` &&
977 cxxmachine=`$CXX -dumpmachine 2>&AS_MESSAGE_LOG_FD` &&
978 cxxheaders=`$CXX -print-file-name=../../../../include/c++/`"$cxxversion" &&
979 CXX_SYSINCLUDES="-isystem $cxxheaders \
980 -isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward"
983 AC_SUBST(SYSINCLUDES)
984 AC_SUBST(CXX_SYSINCLUDES)
986 # check if ranlib is necessary
987 AC_CACHE_CHECK(whether ranlib is necessary, libc_cv_ranlib_necessary, [dnl
988 cat > conftest.c <<EOF
993 $CC $CFLAGS $CPPFLAGS -c conftest.c
994 $AR cr conftest.a conftest.o
995 cp conftest.a conftest2.a
997 if cmp -s conftest.a conftest2.a; then
998 libc_cv_ranlib_necessary=no
1000 libc_cv_ranlib_necessary=yes
1003 if test "$libc_cv_ranlib_necessary" = no; then
1007 # Test if LD_LIBRARY_PATH contains the notation for the current directory
1008 # since this would lead to problems installing/building glibc.
1009 # LD_LIBRARY_PATH contains the current directory if one of the following
1011 # - one of the terminals (":" and ";") is the first or last sign
1012 # - two terminals occur directly after each other
1013 # - the path contains an element with a dot in it
1014 AC_MSG_CHECKING(LD_LIBRARY_PATH variable)
1016 case ${LD_LIBRARY_PATH} in
1017 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
1018 ld_library_path_setting="contains current directory"
1021 ld_library_path_setting="ok"
1025 AC_MSG_RESULT($ld_library_path_setting)
1026 if test "$ld_library_path_setting" != "ok"; then
1028 *** LD_LIBRARY_PATH shouldn't contain the current directory when
1029 *** building glibc. Please change the environment variable
1030 *** and run configure again.])
1033 AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl
1034 if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
1035 libc_cv_gcc_static_libgcc=
1037 libc_cv_gcc_static_libgcc=-static-libgcc
1039 AC_SUBST(libc_cv_gcc_static_libgcc)
1041 AC_PATH_PROG(BASH_SHELL, bash, no)
1042 if test "$BASH_SHELL" != no &&
1043 $BASH_SHELL -c 'test "$BASH_VERSINFO" \
1044 && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then
1045 libc_cv_have_bash2=yes
1047 libc_cv_have_bash2=no
1049 AC_SUBST(libc_cv_have_bash2)
1051 dnl We need a ksh compatible shell for tzselect.
1052 if test "$BASH_SHELL" = no; then
1053 AC_PATH_PROG(KSH, ksh, no)
1054 if test "$KSH" = no; then
1057 libc_cv_have_ksh=yes
1062 libc_cv_have_ksh=yes
1064 AC_SUBST(libc_cv_have_ksh)
1067 AC_PATH_PROG(PERL, perl, no)
1068 if test "$PERL" != no &&
1069 (eval `$PERL -V:apiversion`; test `expr "$apiversion" \< 5` -ne 0); then
1072 AC_PATH_PROG(INSTALL_INFO, install-info, no,
1073 $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
1074 AC_PATH_PROG(BISON, bison, no, $PATH:/usr/local/bin:/usr/bin:/bin)
1076 AC_CACHE_CHECK(for signed size_t type, libc_cv_signed_size_t, [dnl
1077 echo '#include <stddef.h>
1078 FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
1079 if eval "$ac_cpp conftest.c 2>/dev/null" \
1080 | grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then
1081 libc_cv_signed_size_t=no
1083 libc_cv_signed_size_t=yes
1086 if test $libc_cv_signed_size_t = yes; then
1087 dnl Do this by hand instead of AC_DEFINE so can add #undef to avoid warnings.
1088 cat >> confdefs.h <<\EOF
1089 #undef __SIZE_TYPE__
1090 #define __SIZE_TYPE__ unsigned
1094 AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl
1096 [#define __need_size_t
1097 #define __need_wchar_t
1100 #include <stddef.h>], [size_t size; wchar_t wchar;
1102 #error stddef.h ignored __need_*
1104 if (&size == NULL || &wchar == NULL) abort ();],
1105 libc_cv_friendly_stddef=yes,
1106 libc_cv_friendly_stddef=no)])
1107 if test $libc_cv_friendly_stddef = yes; then
1108 config_vars="$config_vars
1109 override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
1112 AC_CACHE_CHECK(whether we need to use -P to assemble .S files,
1113 libc_cv_need_minus_P, [dnl
1114 cat > conftest.S <<EOF
1115 #include "confdefs.h"
1116 /* Nothing whatsoever. */
1118 if AC_TRY_COMMAND(${CC-cc} $CPPFLAGS $ASFLAGS -c conftest.S 1>&AS_MESSAGE_LOG_FD); then
1119 libc_cv_need_minus_P=no
1121 libc_cv_need_minus_P=yes
1124 if test $libc_cv_need_minus_P = yes; then
1125 config_vars="$config_vars
1126 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
1129 AC_MSG_CHECKING(whether .text pseudo-op must be used)
1130 AC_CACHE_VAL(libc_cv_dot_text, [dnl
1131 cat > conftest.s <<EOF
1135 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1136 libc_cv_dot_text=.text
1139 if test -z "$libc_cv_dot_text"; then
1145 AC_CACHE_CHECK(for assembler global-symbol directive,
1146 libc_cv_asm_global_directive, [dnl
1147 libc_cv_asm_global_directive=UNKNOWN
1148 for ac_globl in .globl .global .EXPORT; do
1149 cat > conftest.s <<EOF
1154 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1155 libc_cv_asm_global_directive=${ac_globl}
1158 test $libc_cv_asm_global_directive != UNKNOWN && break
1160 if test $libc_cv_asm_global_directive = UNKNOWN; then
1161 AC_MSG_ERROR(cannot determine asm global directive)
1163 AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
1166 AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
1167 cat > conftest.s <<EOF
1170 .set glibc_conftest_frobozz,foo
1171 $libc_cv_asm_global_directive glibc_conftest_frobozz
1173 # The alpha-dec-osf1 assembler gives only a warning for `.set'
1174 # (but it doesn't work), so we must do a linking check to be sure.
1175 cat > conftest1.c <<\EOF
1176 extern int glibc_conftest_frobozz;
1177 void _start() { glibc_conftest_frobozz = 1; }
1179 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
1180 -nostartfiles -nostdlib \
1181 -o conftest conftest.s conftest1.c 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1182 libc_cv_asm_set_directive=yes
1184 libc_cv_asm_set_directive=no
1187 if test $libc_cv_asm_set_directive = yes; then
1188 AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
1191 AC_CACHE_CHECK(for assembler .type directive prefix,
1192 libc_cv_asm_type_prefix, [dnl
1193 libc_cv_asm_type_prefix=no
1194 for ac_try_prefix in '@' '%' '#'; do
1195 cat > conftest.s <<EOF
1197 ${libc_cv_asm_global_directive} foo
1198 .type foo, ${ac_try_prefix}object
1203 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1204 libc_cv_asm_type_prefix=${ac_try_prefix}
1207 test "x$libc_cv_asm_type_prefix" != xno && break
1209 if test "x$libc_cv_asm_type_prefix" != xno; then
1210 AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
1213 # For the multi-arch option we need support in the assembler.
1214 if test "$multi_arch" = yes; then
1215 if test "x$libc_cv_asm_type_prefix" != xno; then
1216 AC_CACHE_CHECK([for assembler gnu_indirect_function symbol type support],
1217 libc_cv_asm_gnu_indirect_function, [dnl
1218 cat > conftest.s <<EOF
1219 .type foo,%gnu_indirect_function
1221 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD;
1223 libc_cv_asm_gnu_indirect_function=yes
1225 libc_cv_asm_gnu_indirect_function=no
1229 libc_cv_asm_gnu_indirect_function=no
1231 if test x"$libc_cv_asm_gnu_indirect_function" != xyes; then
1232 AC_MSG_ERROR([--enable-multi-arch support requires assembler and linker support])
1236 AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
1237 [cat > conftest.s <<EOF
1240 .symver _sym,sym@VERS
1242 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1243 libc_cv_asm_symver_directive=yes
1245 libc_cv_asm_symver_directive=no
1248 AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
1249 if test $libc_cv_asm_symver_directive = yes; then
1250 cat > conftest.s <<EOF
1253 .symver _sym,sym@VERS
1255 cat > conftest.map <<EOF
1264 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1265 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $LDFLAGS -shared
1266 -o conftest.so conftest.o
1267 -nostartfiles -nostdlib
1268 -Wl,--version-script,conftest.map
1269 1>&AS_MESSAGE_LOG_FD]);
1271 libc_cv_ld_version_script_option=yes
1273 libc_cv_ld_version_script_option=no
1276 libc_cv_ld_version_script_option=no
1279 libc_cv_ld_version_script_option=no
1282 if test $shared != no &&
1283 test $libc_cv_asm_symver_directive = yes &&
1284 test $libc_cv_ld_version_script_option = yes &&
1285 test $enable_versioning = yes; then
1287 AC_DEFINE(DO_VERSIONING)
1291 AC_SUBST(VERSIONING)
1293 if test $elf = yes && test $shared != no && test $VERSIONING = no; then
1295 *** WARNING: You should not compile GNU libc without versioning. Not using
1296 *** versioning will introduce incompatibilities so that old binaries
1297 *** will not run anymore.
1298 *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
1300 if test $elf = yes; then
1301 AC_CACHE_CHECK(for .previous assembler directive,
1302 libc_cv_asm_previous_directive, [dnl
1303 cat > conftest.s <<EOF
1304 .section foo_section
1307 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1308 libc_cv_asm_previous_directive=yes
1310 libc_cv_asm_previous_directive=no
1313 if test $libc_cv_asm_previous_directive = yes; then
1314 AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
1316 AC_CACHE_CHECK(for .popsection assembler directive,
1317 libc_cv_asm_popsection_directive, [dnl
1318 cat > conftest.s <<EOF
1319 .pushsection foo_section
1322 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1323 libc_cv_asm_popsection_directive=yes
1325 libc_cv_asm_popsection_directive=no
1328 if test $libc_cv_asm_popsection_directive = yes; then
1329 AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
1332 AC_CACHE_CHECK(for .protected and .hidden assembler directive,
1333 libc_cv_asm_protected_directive, [dnl
1334 cat > conftest.s <<EOF
1340 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1341 libc_cv_asm_protected_directive=yes
1343 AC_MSG_ERROR(assembler support for symbol visibility is required)
1347 if test $libc_cv_asm_protected_directive = yes; then
1348 AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
1349 libc_cv_visibility_attribute,
1350 [cat > conftest.c <<EOF
1351 int foo __attribute__ ((visibility ("hidden"))) = 1;
1352 int bar __attribute__ ((visibility ("protected"))) = 1;
1354 libc_cv_visibility_attribute=no
1355 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1356 if grep '\.hidden.*foo' conftest.s >/dev/null; then
1357 if grep '\.protected.*bar' conftest.s >/dev/null; then
1358 libc_cv_visibility_attribute=yes
1364 if test $libc_cv_visibility_attribute != yes; then
1365 AC_MSG_ERROR(compiler support for visibility attribute is required)
1369 if test $libc_cv_visibility_attribute = yes; then
1370 AC_CACHE_CHECK(for broken __attribute__((visibility())),
1371 libc_cv_broken_visibility_attribute,
1372 [cat > conftest.c <<EOF
1374 int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
1375 int bar (int x) { return x; }
1377 libc_cv_broken_visibility_attribute=yes
1378 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s1>&AS_MESSAGE_LOG_FD); then
1380 if grep '\.hidden[ _]foo' conftest.s >/dev/null; then
1382 libc_cv_broken_visibility_attribute=no
1385 rm -f conftest.c conftest.s
1387 if test $libc_cv_broken_visibility_attribute = yes; then
1388 AC_MSG_ERROR(working compiler support for visibility attribute is required)
1392 AC_CACHE_CHECK(for broken __attribute__((alias())),
1393 libc_cv_broken_alias_attribute,
1394 [cat > conftest.c <<EOF
1395 extern int foo (int x) __asm ("xyzzy");
1396 int bar (int x) { return x; }
1397 extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
1399 extern __typeof (dfoo) dfoo __asm ("abccb");
1402 libc_cv_broken_alias_attribute=yes
1403 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1404 if grep 'xyzzy' conftest.s >/dev/null &&
1405 grep 'abccb' conftest.s >/dev/null; then
1406 libc_cv_broken_alias_attribute=no
1409 rm -f conftest.c conftest.s
1411 if test $libc_cv_broken_alias_attribute = yes; then
1412 AC_MSG_ERROR(working alias attribute support required)
1415 if test $libc_cv_visibility_attribute = yes; then
1416 AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
1417 libc_cv_have_sdata_section,
1418 [echo "int i;" > conftest.c
1419 libc_cv_have_sdata_section=no
1420 if ${CC-cc} $LDFLAGS -fPIC -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
1421 | grep '\.sdata' >/dev/null; then
1422 libc_cv_have_sdata_section=yes
1424 rm -f conftest.c conftest.so
1426 if test $libc_cv_have_sdata_section = yes; then
1427 AC_DEFINE(HAVE_SDATA_SECTION)
1431 AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
1432 libc_cv_initfini_array, [dnl
1433 cat > conftest.c <<EOF
1434 int _start (void) { return 0; }
1435 int __start (void) { return 0; }
1436 int foo (void) { return 1; }
1437 int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
1439 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
1440 -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
1442 if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then
1443 libc_cv_initfini_array=yes
1445 libc_cv_initfini_array=no
1448 libc_cv_initfini_array=no
1451 if test $libc_cv_initfini_array != yes; then
1452 AC_MSG_ERROR([Need linker with .init_array/.fini_array support.])
1455 AC_CACHE_CHECK(for libunwind-support in compiler,
1456 libc_cv_cc_with_libunwind, [
1457 cat > conftest.c <<EOF
1458 int main (void) { return 0; }
1460 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
1461 conftest.c -v 2>&1 >/dev/null | grep -q " -lunwind "; then
1462 libc_cv_cc_with_libunwind=yes
1464 libc_cv_cc_with_libunwind=no
1467 AC_SUBST(libc_cv_cc_with_libunwind)
1468 if test $libc_cv_cc_with_libunwind = yes; then
1469 AC_DEFINE(HAVE_CC_WITH_LIBUNWIND)
1472 AC_CACHE_CHECK(for -z nodelete option,
1473 libc_cv_z_nodelete, [dnl
1474 cat > conftest.c <<EOF
1475 int _start (void) { return 42; }
1477 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1478 -fPIC -shared -o conftest.so conftest.c
1479 -nostartfiles -nostdlib
1480 -Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD])
1482 libc_cv_z_nodelete=yes
1484 AC_MSG_ERROR(linker with -z nodelete support required)
1488 AC_CACHE_CHECK(for -z nodlopen option,
1489 libc_cv_z_nodlopen, [dnl
1490 cat > conftest.c <<EOF
1491 int _start (void) { return 42; }
1493 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1494 -fPIC -shared -o conftest.so conftest.c
1495 -nostartfiles -nostdlib
1496 -Wl,--enable-new-dtags,-z,nodlopen 1>&AS_MESSAGE_LOG_FD])
1498 libc_cv_z_nodlopen=yes
1500 AC_MSG_ERROR(linker with -z nodlopen support required)
1504 AC_CACHE_CHECK(for -z initfirst option,
1505 libc_cv_z_initfirst, [dnl
1506 cat > conftest.c <<EOF
1507 int _start (void) { return 42; }
1509 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1510 -fPIC -shared -o conftest.so conftest.c
1511 -nostartfiles -nostdlib
1512 -Wl,--enable-new-dtags,-z,initfirst 1>&AS_MESSAGE_LOG_FD])
1514 libc_cv_z_initfirst=yes
1516 AC_MSG_ERROR(linker with -z initfirst support required)
1520 case "$base_machine" in
1522 i[34567]86 | x86_64 | powerpc* | s390* | sparc* | alpha*)
1524 AC_CACHE_CHECK(for -z relro option,
1525 libc_cv_z_relro, [dnl
1527 if AC_TRY_COMMAND([${CC-cc} -v --help 2>&1|grep "z relro" 1>&AS_MESSAGE_LOG_FD])
1529 if AC_TRY_COMMAND([${CC-cc} -Wl,--verbose 2>&1|grep DATA_SEGMENT_RELRO_END 1>&AS_MESSAGE_LOG_FD])
1534 if test "$libc_cv_z_relro" = no; then
1535 AC_MSG_ERROR(linker with -z relro support required)
1541 AC_CACHE_CHECK(for -Bgroup option,
1542 libc_cv_Bgroup, [dnl
1543 cat > conftest.c <<EOF
1544 int _start (void) { return 42; }
1546 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1547 -fPIC -shared -o conftest.so conftest.c
1548 -Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD])
1555 AC_SUBST(libc_cv_Bgroup)
1557 AC_CACHE_CHECK(for libgcc_s suffix,
1558 libc_cv_libgcc_s_suffix, [dnl
1559 cat > conftest.c <<EOF
1560 int main (void) { return 0; }
1563 libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
1564 -fPIC -shared -shared-libgcc -o conftest.so \
1565 conftest.c -v 2>&1 >/dev/null \
1566 | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
1569 AC_SUBST(libc_cv_libgcc_s_suffix)
1571 AC_CACHE_CHECK(for --as-needed option,
1572 libc_cv_as_needed, [dnl
1573 cat > conftest.c <<EOF
1574 int main (void) { return 0; }
1576 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1577 -fPIC -shared -o conftest.so conftest.c
1578 -lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
1579 -nostdlib 1>&AS_MESSAGE_LOG_FD])
1581 libc_cv_as_needed=yes
1583 libc_cv_as_needed=no
1586 AC_SUBST(libc_cv_as_needed)
1589 AC_CACHE_CHECK(whether --noexecstack is desirable for .S files,
1590 libc_cv_as_noexecstack, [dnl
1591 cat > conftest.c <<EOF
1594 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS
1595 -S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \
1596 && grep -q .note.GNU-stack conftest.s \
1597 && AC_TRY_COMMAND([${CC-cc} $ASFLAGS -Wa,--noexecstack
1598 -c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
1600 libc_cv_as_noexecstack=yes
1602 libc_cv_as_noexecstack=no
1605 if test $libc_cv_as_noexecstack = yes; then
1606 ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
1608 AC_SUBST(ASFLAGS_config)
1610 AC_CACHE_CHECK(for -z combreloc,
1611 libc_cv_z_combreloc, [dnl
1612 cat > conftest.c <<EOF
1613 extern int bar (int);
1615 int foo (void) { return bar (mumble); }
1617 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1618 -fPIC -shared -o conftest.so conftest.c
1619 -nostdlib -nostartfiles
1620 -Wl,-z,combreloc 1>&AS_MESSAGE_LOG_FD])
1622 dnl The following test is a bit weak. We must use a tool which can test
1623 dnl cross-platform since the gcc used can be a cross compiler. Without
1624 dnl introducing new options this is not easily doable. Instead use a tool
1625 dnl which always is cross-platform: readelf. To detect whether -z combreloc
1626 dnl look for a section named .rel.dyn.
1627 if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
1628 libc_cv_z_combreloc=yes
1630 libc_cv_z_combreloc=no
1633 libc_cv_z_combreloc=no
1636 if test "$libc_cv_z_combreloc" = yes; then
1637 AC_DEFINE(HAVE_Z_COMBRELOC)
1639 AC_SUBST(libc_cv_z_combreloc)
1641 AC_CACHE_CHECK(for -z execstack,
1642 libc_cv_z_execstack, [dnl
1643 cat > conftest.c <<EOF
1644 int _start (void) { return 42; }
1646 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1647 -fPIC -shared -o conftest.so conftest.c
1648 -Wl,-z,execstack -nostdlib
1649 1>&AS_MESSAGE_LOG_FD])
1651 libc_cv_z_execstack=yes
1653 libc_cv_z_execstack=no
1656 AC_SUBST(libc_cv_z_execstack)
1658 AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl
1659 cat > conftest.c <<EOF
1661 main () { return 0;}
1663 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
1664 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
1672 AC_SUBST(libc_cv_fpie)
1674 AC_CACHE_CHECK(for --hash-style option,
1675 libc_cv_hashstyle, [dnl
1676 cat > conftest.c <<EOF
1677 int _start (void) { return 42; }
1679 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1680 -fPIC -shared -o conftest.so conftest.c
1681 -Wl,--hash-style=both -nostdlib 1>&AS_MESSAGE_LOG_FD])
1683 libc_cv_hashstyle=yes
1685 libc_cv_hashstyle=no
1688 AC_SUBST(libc_cv_hashstyle)
1691 AC_CACHE_CHECK(for -fno-toplevel-reorder -fno-section-anchors, libc_cv_fno_toplevel_reorder, [dnl
1692 cat > conftest.c <<EOF
1695 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -fno-toplevel-reorder -fno-section-anchors
1696 conftest.c 1>&AS_MESSAGE_LOG_FD])
1698 libc_cv_fno_toplevel_reorder=yes
1700 libc_cv_fno_toplevel_reorder=no
1703 if test $libc_cv_fno_toplevel_reorder = yes; then
1704 fno_unit_at_a_time="-fno-toplevel-reorder -fno-section-anchors"
1706 fno_unit_at_a_time=-fno-unit-at-a-time
1708 AC_SUBST(fno_unit_at_a_time)
1710 AC_CACHE_CHECK(for -fstack-protector, libc_cv_ssp, [dnl
1711 cat > conftest.c <<EOF
1713 main () { return 0;}
1715 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -Werror -fstack-protector
1716 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
1723 AC_SUBST(libc_cv_ssp)
1725 AC_CACHE_CHECK(for -fgnu89-inline, libc_cv_gnu89_inline, [dnl
1726 cat > conftest.c <<EOF
1728 #ifdef __GNUC_GNU_INLINE__
1729 main () { return 0;}
1734 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -std=gnu99 -fgnu89-inline
1735 -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD])
1737 libc_cv_gnu89_inline=yes
1739 libc_cv_gnu89_inline=no
1742 if test $libc_cv_gnu89_inline = yes; then
1743 libc_cv_gnu89_inline=-fgnu89-inline
1745 libc_cv_gnu89_inline=
1747 AC_SUBST(libc_cv_gnu89_inline)
1749 if test $elf != yes; then
1750 AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
1751 [AC_TRY_COMPILE(, [asm (".section .init");
1752 asm (".section .fini");
1753 asm ("${libc_cv_dot_text}");],
1754 libc_cv_have_initfini=yes,
1755 libc_cv_have_initfini=no)])
1756 AC_SUBST(libc_cv_have_initfini)dnl
1757 if test $libc_cv_have_initfini = yes; then
1758 AC_DEFINE(HAVE_INITFINI)
1762 if test $elf = yes; then
1763 AC_CACHE_CHECK(whether cc puts quotes around section names,
1764 libc_cv_have_section_quotes,
1765 [cat > conftest.c <<EOF
1766 static const int foo
1767 __attribute__ ((section ("bar"))) = 1;
1769 if ${CC-cc} -S conftest.c -o conftest.s; then
1770 if grep '\.section.*"bar"' conftest.s >/dev/null; then
1771 libc_cv_have_section_quotes=yes
1773 libc_cv_have_section_quotes=no
1776 libc_cv_have_section_quotes=unknown
1780 if test $libc_cv_have_section_quotes = yes; then
1781 AC_DEFINE(HAVE_SECTION_QUOTES)
1785 dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1786 AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
1787 [cat > conftest.$ac_ext <<EOF
1788 dnl This sometimes fails to find confdefs.h, for some reason.
1789 dnl [#]line $LINENO "[$]0"
1790 [#]line $LINENO "configure"
1791 #include "confdefs.h"
1792 void underscore_test(void) {
1795 if AC_TRY_EVAL(ac_compile); then
1796 if grep _underscore_test conftest* >/dev/null; then
1797 ifelse([$1], , :, [rm -f conftest*
1800 ifelse([$2], , , [rm -f conftest*
1804 echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
1805 cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
1806 ifelse([$2], , , [rm -f conftest*
1811 if test $elf = yes; then
1812 libc_cv_asm_underscores=no
1814 if test $ac_cv_prog_cc_works = yes; then
1815 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1816 [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
1817 libc_cv_asm_underscores=yes,
1818 libc_cv_asm_underscores=no)])
1820 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1821 [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
1822 libc_cv_asm_underscores=no)])
1825 if test $libc_cv_asm_underscores = no; then
1826 AC_DEFINE(NO_UNDERSCORES)
1829 if test $elf = yes; then
1830 libc_cv_weak_symbols=yes
1833 AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
1835 cat > conftest.s <<EOF
1837 ${libc_cv_asm_global_directive} foo
1840 .weak bar; bar = foo
1842 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1843 libc_cv_asm_weak_directive=yes
1845 libc_cv_asm_weak_directive=no
1849 if test $libc_cv_asm_weak_directive = no; then
1850 AC_CACHE_CHECK(for assembler .weakext directive,
1851 libc_cv_asm_weakext_directive,
1853 cat > conftest.s <<EOF
1855 ${libc_cv_asm_global_directive} foo
1859 ${libc_cv_asm_global_directive} baz
1862 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1863 libc_cv_asm_weakext_directive=yes
1865 libc_cv_asm_weakext_directive=no
1871 if test $libc_cv_asm_weak_directive = yes; then
1872 AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
1873 elif test $libc_cv_asm_weakext_directive = yes; then
1874 AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
1877 AC_CACHE_CHECK(whether CFI directives are supported, libc_cv_asm_cfi_directives, [dnl
1879 sparc/sparc64*) cfi_offset=2047;;
1882 cat > conftest.s <<EOF
1884 .type func,%function
1888 .cfi_rel_offset 1, $cfi_offset
1891 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1892 libc_cv_asm_cfi_directives=yes
1894 libc_cv_asm_cfi_directives=no
1897 if test $libc_cv_asm_cfi_directives = yes; then
1898 AC_DEFINE(HAVE_ASM_CFI_DIRECTIVES)
1901 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
1902 cat > conftest.c <<\EOF
1907 dnl No \ in command here because it ends up inside ''.
1908 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1909 -nostdlib -nostartfiles -Wl,--no-whole-archive
1910 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1911 libc_cv_ld_no_whole_archive=yes
1913 libc_cv_ld_no_whole_archive=no
1916 if test $libc_cv_ld_no_whole_archive = yes; then
1917 no_whole_archive=-Wl,--no-whole-archive
1919 AC_SUBST(no_whole_archive)dnl
1921 AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
1922 cat > conftest.c <<\EOF
1927 dnl No \ in command here because it ends up inside ''.
1928 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1929 -nostdlib -nostartfiles -fexceptions
1930 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1931 libc_cv_gcc_exceptions=yes
1933 libc_cv_gcc_exceptions=no
1936 if test $libc_cv_gcc_exceptions = yes; then
1937 exceptions=-fexceptions
1939 AC_SUBST(exceptions)dnl
1941 if test "$host_cpu" = powerpc ; then
1942 # Check for a bug present in at least versions 2.8.x of GCC
1943 # and versions 1.0.x of EGCS.
1944 AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
1945 AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
1946 libc_cv_c_asmcr0_bug='no',
1947 libc_cv_c_asmcr0_bug='yes')])
1948 if test "$libc_cv_c_asmcr0_bug" != 'no'; then
1949 AC_DEFINE(BROKEN_PPC_ASM_CR0)
1953 dnl Check whether compiler understands __builtin_expect.
1954 AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
1955 [cat > conftest.c <<EOF
1956 #line $LINENO "configure"
1959 a = __builtin_expect (a, 10);
1960 return a == 10 ? 0 : 1;
1963 dnl No \ in command here because it ends up inside ''.
1964 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
1965 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1966 libc_cv_gcc_builtin_expect=yes
1968 libc_cv_gcc_builtin_expect=no
1971 if test "$libc_cv_gcc_builtin_expect" = yes; then
1972 AC_DEFINE(HAVE_BUILTIN_EXPECT)
1975 AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
1976 cat > conftest.c <<\EOF
1979 __builtin_memset (x, 0, 1000);
1983 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
1985 libc_cv_gcc_builtin_memset=no
1987 libc_cv_gcc_builtin_memset=yes
1990 if test "$libc_cv_gcc_builtin_memset" = yes ; then
1991 AC_DEFINE(HAVE_BUILTIN_MEMSET)
1994 AC_CACHE_CHECK(for redirection of built-in functions, libc_cv_gcc_builtin_redirection, [dnl
1995 cat > conftest.c <<\EOF
1996 extern char *strstr (const char *, const char *) __asm ("my_strstr");
1997 char *foo (const char *a, const char *b)
1999 return __builtin_strstr (a, b);
2003 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null]);
2005 libc_cv_gcc_builtin_redirection=yes
2007 libc_cv_gcc_builtin_redirection=no
2010 if test "$libc_cv_gcc_builtin_redirection" = yes ; then
2011 AC_DEFINE(HAVE_BUILTIN_REDIRECTION)
2014 dnl Check whether the compiler supports the __thread keyword.
2015 if test "x$use__thread" != xno; then
2016 AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
2017 [cat > conftest.c <<\EOF
2018 __thread int a = 42;
2020 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c >&AS_MESSAGE_LOG_FD]); then
2021 libc_cv_gcc___thread=yes
2023 libc_cv_gcc___thread=no
2026 if test "$libc_cv_gcc___thread" = yes; then
2027 AC_DEFINE(HAVE___THREAD)
2030 libc_cv_gcc___thread=no
2033 if test "$libc_cv_gcc___thread" = yes; then
2034 dnl Check whether the compiler supports the tls_model attribute.
2035 AC_CACHE_CHECK([for tls_model attribute], libc_cv_gcc_tls_model_attr, [dnl
2036 cat > conftest.c <<\EOF
2037 extern __thread int a __attribute__((tls_model ("initial-exec")));
2039 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -Werror conftest.c >&AS_MESSAGE_LOG_FD]); then
2040 libc_cv_gcc_tls_model_attr=yes
2042 libc_cv_gcc_tls_model_attr=no
2045 if test "$libc_cv_gcc_tls_model_attr" = yes; then
2046 AC_DEFINE(HAVE_TLS_MODEL_ATTRIBUTE)
2050 if test -n "$submachine"; then
2051 AC_CACHE_CHECK([for compiler option for CPU variant],
2052 libc_cv_cc_submachine, [dnl
2053 libc_cv_cc_submachine=no
2054 for opt in "-march=$submachine" "-mcpu=$submachine"; do
2055 if AC_TRY_COMMAND([${CC-cc} $opt -xc /dev/null -S -o /dev/null]); then
2056 libc_cv_cc_submachine="$opt"
2060 if test "x$libc_cv_cc_submachine" = xno; then
2061 AC_MSG_ERROR([${CC-cc} does not support $submachine])
2064 AC_SUBST(libc_cv_cc_submachine)
2066 dnl Check whether we have the gd library available.
2067 AC_MSG_CHECKING(for libgd)
2068 if test "$with_gd" != "no"; then
2069 old_CFLAGS="$CFLAGS"
2070 CFLAGS="$CFLAGS $libgd_include"
2071 old_LDFLAGS="$LDFLAGS"
2072 LDFLAGS="$LDFLAGS $libgd_ldflags"
2074 LIBS="$LIBS -lgd -lpng -lz -lm"
2075 AC_TRY_LINK([#include <gd.h>], [gdImagePng (0, 0)], LIBGD=yes, LIBGD=no)
2076 CFLAGS="$old_CFLAGS"
2077 LDFLAGS="$old_LDFLAGS"
2082 AC_MSG_RESULT($LIBGD)
2086 if test x$with_selinux = xno ; then
2089 # See if we have the SELinux library
2090 AC_CHECK_LIB(selinux, is_selinux_enabled,
2091 have_selinux=yes, have_selinux=no)
2092 # See if we have the SELinux header with the NSCD permissions in it.
2093 if test x$have_selinux = xyes ; then
2094 AC_MSG_CHECKING([for NSCD Flask permissions in selinux/av_permissions.h])
2095 AC_TRY_COMPILE([#include <selinux/av_permissions.h>],
2096 [#ifdef NSCD__SHMEMHOST
2099 #error NSCD__SHMEMHOST not defined
2101 have_selinux=yes, have_selinux=no)
2102 AC_MSG_RESULT($have_selinux)
2105 if test x$with_selinux = xyes ; then
2106 if test x$have_selinux = xno ; then
2107 AC_MSG_ERROR([SELinux explicitly required, but sufficiently recent SELinux library not found])
2111 # Check if we're building with SELinux support.
2112 if test "x$have_selinux" = xyes; then
2113 AC_DEFINE(HAVE_SELINUX, 1, [SELinux support])
2115 # See if we have the libaudit library
2116 AC_CHECK_LIB(audit, audit_log_user_avc_message,
2117 have_libaudit=yes, have_libaudit=no)
2118 if test "x$have_libaudit" = xyes; then
2119 AC_DEFINE(HAVE_LIBAUDIT, 1, [SELinux libaudit support])
2121 AC_SUBST(have_libaudit)
2123 # See if we have the libcap library
2124 AC_CHECK_LIB(cap, cap_init, have_libcap=yes, have_libcap=no)
2125 if test "x$have_libcap" = xyes; then
2126 AC_DEFINE(HAVE_LIBCAP, 1, [SELinux libcap support])
2128 AC_SUBST(have_libcap)
2130 AC_SUBST(have_selinux)
2132 dnl check for the size of 'long double'.
2133 AC_CHECK_SIZEOF(long double, 0)
2134 sizeof_long_double=$ac_cv_sizeof_long_double
2135 AC_SUBST(sizeof_long_double)
2137 ### End of automated tests.
2138 ### Now run sysdeps configure fragments.
2140 # They also can set these variables.
2142 ldd_rewrite_script=no
2143 libc_cv_sysconfdir=$sysconfdir
2144 libc_cv_gcc_unwind_find_fde=no
2147 # Iterate over all the sysdep directories we will use, running their
2148 # configure fragments, and looking for a uname implementation.
2150 for dir in $sysnames; do
2153 *) dest=$srcdir/$dir ;;
2155 if test -r $dest/configure; then
2156 AC_MSG_RESULT(running configure fragment for $dir)
2160 if test -z "$uname"; then
2161 if test -r $dest/uname.c ||
2162 test -r $dest/uname.S ||
2163 { test -r $dest/syscalls.list &&
2164 grep '^uname[ ]' $dest/syscalls.list >/dev/null; }; then
2171 if test x$libc_cv_gcc_unwind_find_fde = xyes; then
2172 AC_DEFINE(EXPORT_UNWIND_FIND_FDE)
2174 AC_SUBST(libc_cv_gcc_unwind_find_fde)
2176 # If we will use the generic uname implementation, we must figure out what
2177 # it will say by examining the system, and write the results in config-name.h.
2178 if test "$uname" = "sysdeps/generic"; then
2181 uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
2183 if test $uname_sysname != $config_os; then
2184 config_release=`echo $config_os | sed s/$uname_sysname//`
2187 AC_DEFUN(LIBC_KERNEL_ID, [dnl
2188 if test -r /vmunix; then
2189 kernel_id=`strings /vmunix | grep UNIX`
2190 elif test -r /dynix; then
2191 kernel_id=`strings /dynix | grep DYNIX`
2197 AC_CACHE_CHECK(OS release for uname, libc_cv_uname_release, [dnl
2200 kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
2202 if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
2203 != x$config_release; then
2204 # The configuration release is a substring of the kernel release.
2205 libc_cv_uname_release=$kernel_release
2206 elif test x$config_release != x; then
2207 libc_cv_uname_release=$config_release
2208 elif test x$kernel_release != x; then
2209 libc_cv_uname_release=$kernel_release
2211 libc_cv_uname_release=unknown
2213 uname_release="$libc_cv_uname_release"
2215 AC_CACHE_CHECK(OS version for uname, libc_cv_uname_version, [dnl
2218 kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
2220 if test -n "$kernel_version"; then
2221 libc_cv_uname_version="$kernel_version"
2223 libc_cv_uname_version=unknown
2225 uname_version="$libc_cv_uname_version"
2227 AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl
2228 config_uname=config-name.h:config-name.in
2230 # For non-generic uname, we don't need to create config-name.h at all.
2234 dnl This is tested by existing code and it's simpler to avoid changing it.
2235 AC_DEFINE(USE_IN_LIBIO)
2237 # Test for old glibc 2.0.x headers so that they can be removed properly
2238 # Search only in includedir.
2239 AC_MSG_CHECKING(for old glibc 2.0.x headers)
2240 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
2242 old_glibc_headers=yes
2244 old_glibc_headers=no
2246 AC_MSG_RESULT($old_glibc_headers)
2247 if test ${old_glibc_headers} = yes; then
2248 AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
2249 AC_MSG_WARN(*** be removed.)
2251 AC_SUBST(old_glibc_headers)
2253 AC_SUBST(libc_cv_slibdir)
2254 AC_SUBST(libc_cv_localedir)
2255 AC_SUBST(libc_cv_sysconfdir)
2256 AC_SUBST(libc_cv_rootsbindir)
2257 AC_SUBST(libc_cv_forced_unwind)
2259 dnl sysdeps/CPU/configure.in checks set this via arch-specific asm tests
2260 AC_SUBST(libc_cv_cpp_asm_debuginfo)
2262 AC_SUBST(use_ldconfig)
2263 AC_SUBST(ldd_rewrite_script)
2265 AC_SUBST(elf) AC_SUBST(xcoff)
2266 if test $elf = yes; then
2269 if test $xcoff = yes; then
2270 AC_DEFINE(HAVE_XCOFF)
2275 if test $shared = default; then
2279 AC_CACHE_CHECK([whether -fPIC is default], libc_cv_pic_default,
2280 [libc_cv_pic_default=yes
2281 cat > conftest.c <<EOF
2282 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
2283 # error PIC is default.
2286 if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
2287 libc_cv_pic_default=no
2290 AC_SUBST(libc_cv_pic_default)
2295 AC_SUBST(static_nss)
2296 AC_SUBST(nopic_initfini)
2300 dnl See sysdeps/mach/configure.in for this variable.
2301 AC_SUBST(mach_interface_list)
2303 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
2306 config_makefile=Makefile
2309 VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
2310 RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
2314 AC_CONFIG_FILES([config.make ${config_makefile} ${config_uname}])
2315 AC_CONFIG_COMMANDS([default],[[
2316 case $CONFIG_FILES in *config.make*)
2317 echo "$config_vars" >> config.make;;
2319 test -d bits || mkdir bits]],[[config_vars='$config_vars']])