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)
277 # The way shlib-versions is used to generate soversions.mk uses a
278 # fairly simplistic model for name recognition that can't distinguish
279 # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os
280 # of `gnu*' here to be `gnu-gnu*' just so that shlib-versions can
281 # tell. This doesn't get used much beyond that, so it's fairly safe.
286 host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
290 # We keep the original values in `$config_*' and never modify them, so we
291 # can write them unchanged into config.make. Everything else uses
292 # $machine, $vendor, and $os, and changes them whenever convenient.
293 config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
295 # Don't allow vendor == "unknown"
296 test "$config_vendor" = unknown && config_vendor=
297 config_os="`echo $config_os | sed 's/^unknown-//'`"
299 # Some configurations imply other options.
301 # i586-linuxaout is mangled into i586-pc-linux-gnuaout
302 linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
304 gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
305 # These systems (almost) always use the ELF format.
309 # These systems are always xcoff
315 # The configure fragment of an add-on port can modify these to supplement
316 # or override the table in the case statement below. No fragment should
317 # ever change the config_* variables, however.
318 machine=$config_machine
319 vendor=$config_vendor
323 # config.guess on some IBM machines says `rs6000' instead of `powerpc'.
325 if test "$machine" = rs6000; then
329 # Braindead PowerPC box with absolutely no FPU.
330 case "$machine-$host_os" in
338 AS_HELP_STRING([--with-cpu=CPU], [select code for CPU variant]),
341 yes|'') AC_MSG_ERROR([--with-cpu requires an argument]) ;;
343 *) submachine="$withval" ;;
347 # An add-on can set this when it wants to disable the sanity check below.
350 dnl Having this here, though empty, makes sure that if add-ons' fragments
351 dnl do AC_CONFIG_SUBDIRS([some-dir]), which just sets $subdirs, then
352 dnl our AC_OUTPUT will actually use it.
355 case "$enable_add_ons" in
358 add_ons=`cd $srcdir && ls -d 2> /dev/null */configure */sysdeps |
359 sed 's@/[[^/]]*$@@' | sort | uniq`
360 add_ons_automatic=yes
362 *) add_ons=`echo "$enable_add_ons" | sed 's/,/ /g'`
363 add_ons_automatic=no ;;
369 if test x"$add_ons" != x; then
370 for f in $add_ons; do
375 *** It seems that you're using an old \`crypt' add-on. crypt is now
376 *** part of glibc and using the old add-on will not work with this
377 *** release. Start again with fresh sources and without the old
378 *** \`crypt' add-on.])
382 *** It seems that you're using an old \`localedata' add-on. localedata
383 *** is now part of glibc and using the old add-on will not work with
384 *** this release. Start again with fresh sources and without the old
385 *** \`localedata' add-on.])
390 # Now source each add-on's configure fragment.
391 # The fragments can use $srcdir/$libc_add_on to find themselves,
392 # and test $add_ons_automatic to see if they were explicitly requested.
393 # A fragment can clear (or even change) $libc_add_on to affect
394 # whether it goes into the list to be actually used in the build.
396 for libc_add_on in $add_ons; do
397 # Test whether such a directory really exists.
398 # It can be absolute, or relative to $srcdir, or relative to the build dir.
399 case "$libc_add_on" in
401 libc_add_on_srcdir=$libc_add_on
404 test -d "$srcdir/$libc_add_on" || {
405 if test -d "$libc_add_on"; then
406 libc_add_on="`pwd`/$libc_add_on"
408 AC_MSG_ERROR(add-on directory \"$libc_add_on\" does not exist)
411 libc_add_on_srcdir=$srcdir/$libc_add_on
415 libc_add_on_frag=$libc_add_on_srcdir/configure
416 libc_add_on_canonical=
417 if test -r "$libc_add_on_frag"; then
418 AC_MSG_NOTICE(running configure fragment for add-on $libc_add_on)
419 libc_add_on_canonical=unknown
421 . "$libc_add_on_frag"
422 test -z "$libc_add_on" || {
423 configured_add_ons="$configured_add_ons $libc_add_on"
424 if test "x$libc_add_on_canonical" = xunknown; then
425 AC_MSG_ERROR(fragment must set \$libc_add_on_canonical)
427 for d in $libc_add_on_subdirs; do
428 case "$libc_add_on" in
429 /*) subdir_srcdir="$libc_add_on" ;;
430 *) subdir_srcdir="\$(..)$libc_add_on" ;;
434 d="${libc_add_on_canonical:-$libc_add_on}"
440 subdir_srcdir="$subdir_srcdir/$d"
443 d=`echo "$d" | sed 's@/*$@@;s@^.*/@@'`
444 add_on_subdirs="$add_on_subdirs $d"
445 test "$subdir_srcdir" = "\$(..)$d" || config_vars="$config_vars
446 $d-srcdir = $subdir_srcdir"
450 if test -n "$libc_add_on"; then
451 if frags=`ls -d $libc_add_on_srcdir/sysdeps/*/preconfigure 2> /dev/null`
453 AC_MSG_CHECKING(add-on $libc_add_on for preconfigure fragments)
454 for frag in $frags; do
455 name=`echo "$frag" | sed 's@/[[^/]]*$@@;s@^.*/@@'`
456 echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
461 use_add_ons="$use_add_ons $libc_add_on"
462 add_ons_pfx="$add_ons_pfx $libc_add_on/"
463 test -z "$libc_add_on_canonical" ||
464 add_ons_sfx="$add_ons_sfx /$libc_add_on_canonical"
467 # Use echo to strip excess whitespace.
468 add_ons="`echo $use_add_ons`"
471 AC_SUBST(add_on_subdirs)
475 ### I put this here to prevent those annoying emails from people who cannot
476 ### read and try to compile glibc on unsupported platforms. --drepper
478 ### By using the undocumented --enable-hacker-mode option for configure
479 ### one can skip this test to make the configuration not fail for unsupported
482 if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then
483 case "$machine-$host_os" in
484 *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
487 echo "*** The GNU C library is currently not available for this platform."
488 echo "*** So far nobody cared to port it and if there is no volunteer it"
489 echo "*** might never happen. So, if you have interest to see glibc on"
490 echo "*** this platform visit"
491 echo "*** http://www.gnu.org/software/libc/porting.html"
492 echo "*** and join the group of porters"
498 dnl We need to use [ and ] for other purposes for a while now.
500 # Expand the configuration machine name into a subdirectory by architecture
501 # type and particular chip. If an add-on configure fragment already set
502 # base_machine, we don't change it.
503 test -n "$base_machine" || case "$machine" in
504 a29k | am29000) base_machine=a29k machine=a29k ;;
505 c3[012]) base_machine=cx0 machine=cx0/c30 ;;
506 c4[04]) base_machine=cx0 machine=cx0/c40 ;;
507 i[34567]86) base_machine=i386 machine=i386/$machine ;;
508 ia64) base_machine=ia64 machine=ia64 ;;
509 m88???) base_machine=m88k machine=m88k/$machine ;;
510 m88k) base_machine=m88k machine=m88k/m88100 ;;
511 powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;;
512 powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;;
513 s390) base_machine=s390 machine=s390/s390-32 ;;
514 s390x) base_machine=s390 machine=s390/s390-64 ;;
515 sh3*) base_machine=sh machine=sh/sh3 ;;
516 sh4*) base_machine=sh machine=sh/sh4 ;;
518 base_machine=sparc machine=sparc/sparc32 ;;
519 sparcv8 | supersparc | hypersparc)
520 base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
521 sparcv8plus | sparcv8plusa | sparcv9)
522 base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
523 sparcv8plusb | sparcv9b)
524 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9b ;;
526 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v ;;
528 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v2 ;;
530 base_machine=sparc machine=sparc/sparc64 ;;
532 base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
534 base_machine=sparc machine=sparc/sparc64/sparcv9v ;;
536 base_machine=sparc machine=sparc/sparc64/sparcv9v2 ;;
537 *) base_machine=$machine ;;
540 AC_SUBST(base_machine)
542 if test "$base_machine" = "i386"; then
543 AC_DEFINE(USE_REGPARMS)
546 # Compute the list of sysdep directories for this configuration.
547 # This can take a while to compute.
548 sysdep_dir=$srcdir/sysdeps
549 AC_MSG_CHECKING(sysdep dirs)
550 dnl We need to use [ and ] for other purposes for a while now.
552 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
553 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
555 test "x$base_os" != x || case "$os" in
558 netbsd* | 386bsd* | freebsd* | bsdi*)
559 base_os=unix/bsd/bsd4.4 ;;
560 osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
562 sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
565 base_os=unix/sysv/irix6/$os ;;
567 base_os=unix/sysv/sysv4 ;;
569 base_os=unix/sysv/hpux/$os ;;
571 base_os=unix/sysv/aix/aix4.3 ;;
573 base_os=standalone ;;
576 # For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
579 while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
583 o=`echo $tail | sed 's/[0-9]*$//'`
584 if test $o != $tail; then
587 # For linux-gnu, try linux-gnu, then linux.
588 o=`echo $tail | sed 's/-.*$//'`
589 if test $o != $tail; then
593 # For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
596 while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
602 # For sparc/sparc32, try sparc/sparc32 and then sparc.
604 tail=$machine${submachine:+/$submachine}
605 while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
607 # Prepend the machine's FPU directory unless --without-fp.
608 if test "$with_fp" = yes; then
611 mach="$mach /$1/nofpu"
617 dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
620 # Find what sysdep directories exist.
623 for b in $base ''; do
624 for m0 in $mach ''; do
625 for v in /$vendor ''; do
626 test "$v" = / && continue
627 for o in /$ostry ''; do
628 test "$o" = / && continue
629 for m in $multi_arch_d $mach ''; do
630 for d in $add_ons_pfx ''; do
631 for a in $add_ons_sfx ''; do
632 if test -n "$m0$m0sub$b$v$o$m$msub"; then
633 try_srcdir="${srcdir}/"
637 try="${d}sysdeps$m0$m0sub$b$v$o$m$msub$a"
638 test -n "$enable_debug_configure" &&
639 echo "$0 [DEBUG]: try $try" >&2
640 if test -d "$try_srcdir$try"; then
641 sysnames="$sysnames $try"
642 { test -n "$o" || test -n "$b"; } && os_used=t
643 { test -n "$m" || test -n "$m0"; } && machine_used=t
645 x*/$submachine) submachine_used=t ;;
647 if test -n "$d"; then
648 case "$sysnames_add_ons" in
650 *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
663 if test -z "$os_used" && test "$os" != none; then
664 AC_MSG_ERROR(Operating system $os is not supported.)
666 if test -z "$machine_used" && test "$machine" != none; then
667 AC_MSG_ERROR(The $machine is not supported.)
669 if test -z "$submachine_used" && test -n "$submachine"; then
670 AC_MSG_ERROR(The $submachine subspecies of $host_cpu is not supported.)
674 # We have now validated the configuration.
677 # If using ELF, look for an `elf' subdirectory of each machine directory.
678 # We prepend these rather than inserting them whereever the machine appears
679 # because things specified by the machine's ELF ABI should override
680 # OS-specific things, and should always be the same for any OS on the
681 # machine (otherwise what's the point of an ABI?).
682 if test "$elf" = yes; then
684 for d in $add_ons_pfx ''; do
686 if test -d $srcdir/${d}sysdeps$m/elf; then
687 elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
691 sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
695 # Expand the list of system names into a full list of directories
696 # from each element's parent name and Implies file (if present).
699 while test $# -gt 0; do
703 case " $names " in *" $name "*)
704 # Already in the list.
708 # Report each name as we discover it, so there is no long pause in output.
709 echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
711 name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
715 *) xsrcdir=$srcdir/ ;;
717 test -n "$enable_debug_configure" &&
718 echo "[DEBUG]: name/Implies $xsrcdir$name/Implies" >&2
720 if test -f $xsrcdir$name/Implies; then
721 # Collect more names from the `Implies' file (removing comments).
722 implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
724 for x in $implied_candidate; do
726 if test -d $xsrcdir$name_base/$x; then
727 implied="$implied $name_base/$x";
730 for d in $add_ons_pfx ''; do
734 *) try_srcdir=$srcdir/ ;;
736 test -n "$enable_debug_configure" &&
737 echo "[DEBUG]: $name implied $x try($d) {$try_srcdir}$try" >&2
738 if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
740 implied="$implied $try"
742 case "$sysnames_add_ons" in
744 *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
748 if test $found = no; then
749 AC_MSG_WARN($name/Implies specifies nonexistent $x)
756 # Add NAME to the list of names.
759 # Find the parent of NAME, using the empty string if it has none.
761 parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
764 # Add the names implied by NAME, and NAME's parent (if it has one), to
765 # the list of names to be processed (the argument list). We prepend the
766 # implied names to the list and append the parent. We want implied
767 # directories to come before further directories inferred from the
768 # configuration components; this ensures that for sysv4, unix/common
769 # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
771 sysnames="`echo $implied $* $parent`"
772 test -n "$sysnames" && set $sysnames
775 # Add the default directories.
776 default_sysnames=sysdeps/generic
777 if test "$elf" = yes; then
778 default_sysnames="sysdeps/generic/elf $default_sysnames"
780 sysnames="$names $default_sysnames"
782 # The other names were emitted during the scan.
783 AC_MSG_RESULT($default_sysnames)
785 # Collect the list of add-ons that supply partial sysdeps trees.
787 for add_on in $add_ons; do
790 *) xsrcdir="$srcdir/" ;;
793 test -d "$xsrcdir$add_on/sysdeps" || {
794 case "$configured_add_ons " in
797 AC_MSG_ERROR(add-on $add_on has no configure fragment or sysdeps tree)
803 sysdeps_add_ons="$sysdeps_add_ons $add_on"
804 case "$sysnames_add_ons" in
807 AC_MSG_WARN(add-on $add_on contributed no sysdeps directories)
812 for d in $sysnames; do
814 $add_on/sysdeps/*) ;;
817 (cd "$xsrcdir$d" && for f in *[[!~]]; do
821 test -d "$ff" || { test -e "$ff" && exit 88; }
825 test -d "$f" || { test -e "$f" && exit 88; }
829 if test $? -eq 88; then
834 if test $found = no; then
835 AC_MSG_WARN(add-on $add_on contributed no useful sysdeps directories)
838 AC_SUBST(sysdeps_add_ons)
844 if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
845 # The makefiles need to use a different form to find it in $srcdir.
846 INSTALL='\$(..)./scripts/install-sh -c'
851 if test $host != $build; then
852 AC_CHECK_PROGS(BUILD_CC, gcc cc)
854 AC_SUBST(cross_compiling)
856 # We need the C++ compiler only for testing.
859 AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
861 # Accept binutils 2.13 or newer.
862 AC_CHECK_PROG_VER(AS, $AS, --version,
863 [GNU assembler.* \([0-9]*\.[0-9.]*\)],
864 [2.1[3-9]*], AS=: critic_missing="$critic_missing as")
865 AC_CHECK_PROG_VER(LD, $LD, --version,
866 [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
867 [2.1[3-9]*], LD=: critic_missing="$critic_missing ld")
869 # We need the physical current working directory. We cannot use the
870 # "pwd -P" shell builtin since that's not portable. Instead we try to
871 # find a pwd binary. Note that assigning to the PWD environment
872 # variable might have some interesting side effects, so we don't do
874 AC_PATH_PROG(PWD_P, pwd, no)
875 if test "$PWD_P" = no; then
876 AC_MSG_ERROR(*** A pwd binary could not be found.)
879 # These programs are version sensitive.
881 AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
882 [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | 4.[0-9]* ],
883 critic_missing="$critic_missing gcc")
884 AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
885 [GNU Make[^0-9]*\([0-9][0-9.]*\)],
886 [3.79* | 3.[89]*], critic_missing="$critic_missing make")
888 AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
889 [GNU gettext.* \([0-9]*\.[0-9.]*\)],
890 [0.10.3[6-9]* | 0.10.[4-9][0-9]* | 0.1[1-9]* | 0.[2-9][0-9]* | [1-9].*],
891 MSGFMT=: aux_missing="$aux_missing msgfmt")
892 AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
893 [GNU texinfo.* \([0-9][0-9.]*\)],
895 MAKEINFO=: aux_missing="$aux_missing makeinfo")
896 AC_CHECK_PROG_VER(SED, sed, --version,
897 [GNU sed version \([0-9]*\.[0-9.]*\)],
898 [3.0[2-9]*|3.[1-9]*|[4-9]*],
899 SED=: aux_missing="$aux_missing sed")
901 AC_CHECK_PROGS(AUTOCONF, autoconf, no)
903 xno|x|x:) AUTOCONF=no ;;
906 whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works, libc_cv_autoconf_works, [dnl
907 if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then
908 libc_cv_autoconf_works=yes
910 libc_cv_autoconf_works=no
912 test $libc_cv_autoconf_works = yes || AUTOCONF=no
915 if test "x$with_cvs" = xyes && test "x$AUTOCONF" = xno; then
916 # If --without-cvs they probably won't change configure.in, so no complaints.
917 aux_missing="$aux_missing autoconf"
920 test -n "$critic_missing" && AC_MSG_ERROR([
921 *** These critical programs are missing or too old:$critic_missing
922 *** Check the INSTALL file for required versions.])
924 test -n "$aux_missing" && AC_MSG_WARN([
925 *** These auxiliary programs are missing or incompatible versions:$aux_missing
926 *** some features will be disabled.
927 *** Check the INSTALL file for required versions.])
929 # if using special system headers, find out the compiler's sekrit
930 # header directory and add that to the list. NOTE: Only does the right
931 # thing on a system that doesn't need fixincludes. (Not presently a problem.)
932 if test -n "$sysheaders"; then
933 SYSINCLUDES=-nostdinc
934 for d in include include-fixed; do
935 i=`$CC -print-file-name="$d"` && test "x$i" != x && test "x$i" != "x$d" &&
936 SYSINCLUDES="$SYSINCLUDES -isystem $i"
938 SYSINCLUDES="$SYSINCLUDES \
939 -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
940 if test -n "$CXX"; then
941 cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` &&
942 cxxmachine=`$CXX -dumpmachine 2>&AS_MESSAGE_LOG_FD` &&
943 cxxheaders=`$CXX -print-file-name=../../../../include/c++/`"$cxxversion" &&
944 CXX_SYSINCLUDES="-isystem $cxxheaders \
945 -isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward"
948 AC_SUBST(SYSINCLUDES)
949 AC_SUBST(CXX_SYSINCLUDES)
951 # check if ranlib is necessary
952 AC_CACHE_CHECK(whether ranlib is necessary, libc_cv_ranlib_necessary, [dnl
953 cat > conftest.c <<EOF
958 $CC $CFLAGS $CPPFLAGS -c conftest.c
959 $AR cr conftest.a conftest.o
960 cp conftest.a conftest2.a
962 if cmp -s conftest.a conftest2.a; then
963 libc_cv_ranlib_necessary=no
965 libc_cv_ranlib_necessary=yes
968 if test "$libc_cv_ranlib_necessary" = no; then
972 # Test if LD_LIBRARY_PATH contains the notation for the current directory
973 # since this would lead to problems installing/building glibc.
974 # LD_LIBRARY_PATH contains the current directory if one of the following
976 # - one of the terminals (":" and ";") is the first or last sign
977 # - two terminals occur directly after each other
978 # - the path contains an element with a dot in it
979 AC_MSG_CHECKING(LD_LIBRARY_PATH variable)
981 case ${LD_LIBRARY_PATH} in
982 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
983 ld_library_path_setting="contains current directory"
986 ld_library_path_setting="ok"
990 AC_MSG_RESULT($ld_library_path_setting)
991 if test "$ld_library_path_setting" != "ok"; then
993 *** LD_LIBRARY_PATH shouldn't contain the current directory when
994 *** building glibc. Please change the environment variable
995 *** and run configure again.])
998 AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl
999 if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
1000 libc_cv_gcc_static_libgcc=
1002 libc_cv_gcc_static_libgcc=-static-libgcc
1004 AC_SUBST(libc_cv_gcc_static_libgcc)
1006 AC_PATH_PROG(BASH_SHELL, bash, no)
1007 if test "$BASH_SHELL" != no &&
1008 $BASH_SHELL -c 'test "$BASH_VERSINFO" \
1009 && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then
1010 libc_cv_have_bash2=yes
1012 libc_cv_have_bash2=no
1014 AC_SUBST(libc_cv_have_bash2)
1016 dnl We need a ksh compatible shell for tzselect.
1017 if test "$BASH_SHELL" = no; then
1018 AC_PATH_PROG(KSH, ksh, no)
1019 if test "$KSH" = no; then
1022 libc_cv_have_ksh=yes
1027 libc_cv_have_ksh=yes
1029 AC_SUBST(libc_cv_have_ksh)
1032 AC_PATH_PROG(PERL, perl, no)
1033 if test "$PERL" != no &&
1034 (eval `$PERL -V:apiversion`; test `expr "$apiversion" \< 5` -ne 0); then
1037 AC_PATH_PROG(INSTALL_INFO, install-info, no,
1038 $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
1039 AC_PATH_PROG(BISON, bison, no, $PATH:/usr/local/bin:/usr/bin:/bin)
1041 AC_CACHE_CHECK(for signed size_t type, libc_cv_signed_size_t, [dnl
1042 echo '#include <stddef.h>
1043 FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
1044 if eval "$ac_cpp conftest.c 2>/dev/null" \
1045 | grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then
1046 libc_cv_signed_size_t=no
1048 libc_cv_signed_size_t=yes
1051 if test $libc_cv_signed_size_t = yes; then
1052 dnl Do this by hand instead of AC_DEFINE so can add #undef to avoid warnings.
1053 cat >> confdefs.h <<\EOF
1054 #undef __SIZE_TYPE__
1055 #define __SIZE_TYPE__ unsigned
1059 AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl
1061 [#define __need_size_t
1062 #define __need_wchar_t
1065 #include <stddef.h>], [size_t size; wchar_t wchar;
1067 #error stddef.h ignored __need_*
1069 if (&size == NULL || &wchar == NULL) abort ();],
1070 libc_cv_friendly_stddef=yes,
1071 libc_cv_friendly_stddef=no)])
1072 if test $libc_cv_friendly_stddef = yes; then
1073 config_vars="$config_vars
1074 override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
1077 AC_CACHE_CHECK(whether we need to use -P to assemble .S files,
1078 libc_cv_need_minus_P, [dnl
1079 cat > conftest.S <<EOF
1080 #include "confdefs.h"
1081 /* Nothing whatsoever. */
1083 if AC_TRY_COMMAND(${CC-cc} $CPPFLAGS $ASFLAGS -c conftest.S 1>&AS_MESSAGE_LOG_FD); then
1084 libc_cv_need_minus_P=no
1086 libc_cv_need_minus_P=yes
1089 if test $libc_cv_need_minus_P = yes; then
1090 config_vars="$config_vars
1091 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
1094 AC_MSG_CHECKING(whether .text pseudo-op must be used)
1095 AC_CACHE_VAL(libc_cv_dot_text, [dnl
1096 cat > conftest.s <<EOF
1100 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1101 libc_cv_dot_text=.text
1104 if test -z "$libc_cv_dot_text"; then
1110 AC_CACHE_CHECK(for assembler global-symbol directive,
1111 libc_cv_asm_global_directive, [dnl
1112 libc_cv_asm_global_directive=UNKNOWN
1113 for ac_globl in .globl .global .EXPORT; do
1114 cat > conftest.s <<EOF
1119 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1120 libc_cv_asm_global_directive=${ac_globl}
1123 test $libc_cv_asm_global_directive != UNKNOWN && break
1125 if test $libc_cv_asm_global_directive = UNKNOWN; then
1126 AC_MSG_ERROR(cannot determine asm global directive)
1128 AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
1131 AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
1132 cat > conftest.s <<EOF
1135 .set glibc_conftest_frobozz,foo
1136 $libc_cv_asm_global_directive glibc_conftest_frobozz
1138 # The alpha-dec-osf1 assembler gives only a warning for `.set'
1139 # (but it doesn't work), so we must do a linking check to be sure.
1140 cat > conftest1.c <<\EOF
1141 extern int glibc_conftest_frobozz;
1142 void _start() { glibc_conftest_frobozz = 1; }
1144 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
1145 -nostartfiles -nostdlib \
1146 -o conftest conftest.s conftest1.c 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1147 libc_cv_asm_set_directive=yes
1149 libc_cv_asm_set_directive=no
1152 if test $libc_cv_asm_set_directive = yes; then
1153 AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
1156 AC_CACHE_CHECK(for assembler .type directive prefix,
1157 libc_cv_asm_type_prefix, [dnl
1158 libc_cv_asm_type_prefix=no
1159 for ac_try_prefix in '@' '%' '#'; do
1160 cat > conftest.s <<EOF
1162 ${libc_cv_asm_global_directive} foo
1163 .type foo, ${ac_try_prefix}object
1168 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1169 libc_cv_asm_type_prefix=${ac_try_prefix}
1172 test "x$libc_cv_asm_type_prefix" != xno && break
1174 if test "x$libc_cv_asm_type_prefix" != xno; then
1175 AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
1178 # For the multi-arch option we need support in the assembler.
1179 if test "$multi_arch" = yes; then
1180 if test "x$libc_cv_asm_type_prefix" != xno; then
1181 AC_CACHE_CHECK([for assembler gnu_indirect_function symbol type support],
1182 libc_cv_asm_gnu_indirect_function, [dnl
1183 cat > conftest.s <<EOF
1184 .type foo,%gnu_indirect_function
1186 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD;
1188 libc_cv_asm_gnu_indirect_function=yes
1190 libc_cv_asm_gnu_indirect_function=no
1194 libc_cv_asm_gnu_indirect_function=no
1196 if test x"$libc_cv_asm_gnu_indirect_function" != xyes; then
1197 AC_MSG_ERROR([--enable-multi-arch support requires assembler and linker support])
1201 AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
1202 [cat > conftest.s <<EOF
1205 .symver _sym,sym@VERS
1207 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1208 libc_cv_asm_symver_directive=yes
1210 libc_cv_asm_symver_directive=no
1213 AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
1214 if test $libc_cv_asm_symver_directive = yes; then
1215 cat > conftest.s <<EOF
1218 .symver _sym,sym@VERS
1220 cat > conftest.map <<EOF
1229 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1230 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $LDFLAGS -shared
1231 -o conftest.so conftest.o
1232 -nostartfiles -nostdlib
1233 -Wl,--version-script,conftest.map
1234 1>&AS_MESSAGE_LOG_FD]);
1236 libc_cv_ld_version_script_option=yes
1238 libc_cv_ld_version_script_option=no
1241 libc_cv_ld_version_script_option=no
1244 libc_cv_ld_version_script_option=no
1247 if test $shared != no &&
1248 test $libc_cv_asm_symver_directive = yes &&
1249 test $libc_cv_ld_version_script_option = yes &&
1250 test $enable_versioning = yes; then
1252 AC_DEFINE(DO_VERSIONING)
1256 AC_SUBST(VERSIONING)
1258 if test $elf = yes && test $shared != no && test $VERSIONING = no; then
1260 *** WARNING: You should not compile GNU libc without versioning. Not using
1261 *** versioning will introduce incompatibilities so that old binaries
1262 *** will not run anymore.
1263 *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
1265 if test $elf = yes; then
1266 AC_CACHE_CHECK(for .previous assembler directive,
1267 libc_cv_asm_previous_directive, [dnl
1268 cat > conftest.s <<EOF
1269 .section foo_section
1272 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1273 libc_cv_asm_previous_directive=yes
1275 libc_cv_asm_previous_directive=no
1278 if test $libc_cv_asm_previous_directive = yes; then
1279 AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
1281 AC_CACHE_CHECK(for .popsection assembler directive,
1282 libc_cv_asm_popsection_directive, [dnl
1283 cat > conftest.s <<EOF
1284 .pushsection foo_section
1287 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1288 libc_cv_asm_popsection_directive=yes
1290 libc_cv_asm_popsection_directive=no
1293 if test $libc_cv_asm_popsection_directive = yes; then
1294 AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
1297 AC_CACHE_CHECK(for .protected and .hidden assembler directive,
1298 libc_cv_asm_protected_directive, [dnl
1299 cat > conftest.s <<EOF
1305 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1306 libc_cv_asm_protected_directive=yes
1308 AC_MSG_ERROR(assembler support for symbol visibility is required)
1312 if test $libc_cv_asm_protected_directive = yes; then
1313 AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
1314 libc_cv_visibility_attribute,
1315 [cat > conftest.c <<EOF
1316 int foo __attribute__ ((visibility ("hidden"))) = 1;
1317 int bar __attribute__ ((visibility ("protected"))) = 1;
1319 libc_cv_visibility_attribute=no
1320 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1321 if grep '\.hidden.*foo' conftest.s >/dev/null; then
1322 if grep '\.protected.*bar' conftest.s >/dev/null; then
1323 libc_cv_visibility_attribute=yes
1329 if test $libc_cv_visibility_attribute != yes; then
1330 AC_MSG_ERROR(compiler support for visibility attribute is required)
1334 if test $libc_cv_visibility_attribute = yes; then
1335 AC_CACHE_CHECK(for broken __attribute__((visibility())),
1336 libc_cv_broken_visibility_attribute,
1337 [cat > conftest.c <<EOF
1339 int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
1340 int bar (int x) { return x; }
1342 libc_cv_broken_visibility_attribute=yes
1343 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s1>&AS_MESSAGE_LOG_FD); then
1345 if grep '\.hidden[ _]foo' conftest.s >/dev/null; then
1347 libc_cv_broken_visibility_attribute=no
1350 rm -f conftest.c conftest.s
1352 if test $libc_cv_broken_visibility_attribute = yes; then
1353 AC_MSG_ERROR(working compiler support for visibility attribute is required)
1357 AC_CACHE_CHECK(for broken __attribute__((alias())),
1358 libc_cv_broken_alias_attribute,
1359 [cat > conftest.c <<EOF
1360 extern int foo (int x) __asm ("xyzzy");
1361 int bar (int x) { return x; }
1362 extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
1364 extern __typeof (dfoo) dfoo __asm ("abccb");
1367 libc_cv_broken_alias_attribute=yes
1368 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1369 if grep 'xyzzy' conftest.s >/dev/null &&
1370 grep 'abccb' conftest.s >/dev/null; then
1371 libc_cv_broken_alias_attribute=no
1374 rm -f conftest.c conftest.s
1376 if test $libc_cv_broken_alias_attribute = yes; then
1377 AC_MSG_ERROR(working alias attribute support required)
1380 if test $libc_cv_visibility_attribute = yes; then
1381 AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
1382 libc_cv_have_sdata_section,
1383 [echo "int i;" > conftest.c
1384 libc_cv_have_sdata_section=no
1385 if ${CC-cc} $LDFLAGS -fPIC -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
1386 | grep '\.sdata' >/dev/null; then
1387 libc_cv_have_sdata_section=yes
1389 rm -f conftest.c conftest.so
1391 if test $libc_cv_have_sdata_section = yes; then
1392 AC_DEFINE(HAVE_SDATA_SECTION)
1396 AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
1397 libc_cv_initfini_array, [dnl
1398 cat > conftest.c <<EOF
1399 int _start (void) { return 0; }
1400 int __start (void) { return 0; }
1401 int foo (void) { return 1; }
1402 int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
1404 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
1405 -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
1407 if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then
1408 libc_cv_initfini_array=yes
1410 libc_cv_initfini_array=no
1413 libc_cv_initfini_array=no
1416 if test $libc_cv_initfini_array != yes; then
1417 AC_MSG_ERROR([Need linker with .init_array/.fini_array support.])
1420 AC_CACHE_CHECK(for libunwind-support in compiler,
1421 libc_cv_cc_with_libunwind, [
1422 cat > conftest.c <<EOF
1423 int main (void) { return 0; }
1425 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
1426 conftest.c -v 2>&1 >/dev/null | grep -q " -lunwind "; then
1427 libc_cv_cc_with_libunwind=yes
1429 libc_cv_cc_with_libunwind=no
1432 AC_SUBST(libc_cv_cc_with_libunwind)
1433 if test $libc_cv_cc_with_libunwind = yes; then
1434 AC_DEFINE(HAVE_CC_WITH_LIBUNWIND)
1437 AC_CACHE_CHECK(for -z nodelete option,
1438 libc_cv_z_nodelete, [dnl
1439 cat > conftest.c <<EOF
1440 int _start (void) { return 42; }
1442 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1443 -fPIC -shared -o conftest.so conftest.c
1444 -nostartfiles -nostdlib
1445 -Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD])
1447 libc_cv_z_nodelete=yes
1449 AC_MSG_ERROR(linker with -z nodelete support required)
1453 AC_CACHE_CHECK(for -z nodlopen option,
1454 libc_cv_z_nodlopen, [dnl
1455 cat > conftest.c <<EOF
1456 int _start (void) { return 42; }
1458 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1459 -fPIC -shared -o conftest.so conftest.c
1460 -nostartfiles -nostdlib
1461 -Wl,--enable-new-dtags,-z,nodlopen 1>&AS_MESSAGE_LOG_FD])
1463 libc_cv_z_nodlopen=yes
1465 AC_MSG_ERROR(linker with -z nodlopen support required)
1469 AC_CACHE_CHECK(for -z initfirst option,
1470 libc_cv_z_initfirst, [dnl
1471 cat > conftest.c <<EOF
1472 int _start (void) { return 42; }
1474 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1475 -fPIC -shared -o conftest.so conftest.c
1476 -nostartfiles -nostdlib
1477 -Wl,--enable-new-dtags,-z,initfirst 1>&AS_MESSAGE_LOG_FD])
1479 libc_cv_z_initfirst=yes
1481 AC_MSG_ERROR(linker with -z initfirst support required)
1485 case "$base_machine" in
1487 i[34567]86 | x86_64 | powerpc* | s390* | sparc* | alpha*)
1489 AC_CACHE_CHECK(for -z relro option,
1490 libc_cv_z_relro, [dnl
1492 if AC_TRY_COMMAND([${CC-cc} -v --help 2>&1|grep "z relro" 1>&AS_MESSAGE_LOG_FD])
1494 if AC_TRY_COMMAND([${CC-cc} -Wl,--verbose 2>&1|grep DATA_SEGMENT_RELRO_END 1>&AS_MESSAGE_LOG_FD])
1499 if test "$libc_cv_z_relro" = no; then
1500 AC_MSG_ERROR(linker with -z relro support required)
1506 AC_CACHE_CHECK(for -Bgroup option,
1507 libc_cv_Bgroup, [dnl
1508 cat > conftest.c <<EOF
1509 int _start (void) { return 42; }
1511 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1512 -fPIC -shared -o conftest.so conftest.c
1513 -Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD])
1520 AC_SUBST(libc_cv_Bgroup)
1522 AC_CACHE_CHECK(for libgcc_s suffix,
1523 libc_cv_libgcc_s_suffix, [dnl
1524 cat > conftest.c <<EOF
1525 int main (void) { return 0; }
1528 libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
1529 -fPIC -shared -shared-libgcc -o conftest.so \
1530 conftest.c -v 2>&1 >/dev/null \
1531 | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
1534 AC_SUBST(libc_cv_libgcc_s_suffix)
1536 AC_CACHE_CHECK(for --as-needed option,
1537 libc_cv_as_needed, [dnl
1538 cat > conftest.c <<EOF
1539 int main (void) { return 0; }
1541 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1542 -fPIC -shared -o conftest.so conftest.c
1543 -lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
1544 -nostdlib 1>&AS_MESSAGE_LOG_FD])
1546 libc_cv_as_needed=yes
1548 libc_cv_as_needed=no
1551 AC_SUBST(libc_cv_as_needed)
1554 AC_CACHE_CHECK(whether --noexecstack is desirable for .S files,
1555 libc_cv_as_noexecstack, [dnl
1556 cat > conftest.c <<EOF
1559 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS
1560 -S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \
1561 && grep -q .note.GNU-stack conftest.s \
1562 && AC_TRY_COMMAND([${CC-cc} $ASFLAGS -Wa,--noexecstack
1563 -c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
1565 libc_cv_as_noexecstack=yes
1567 libc_cv_as_noexecstack=no
1570 if test $libc_cv_as_noexecstack = yes; then
1571 ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
1573 AC_SUBST(ASFLAGS_config)
1575 AC_CACHE_CHECK(for -z combreloc,
1576 libc_cv_z_combreloc, [dnl
1577 cat > conftest.c <<EOF
1578 extern int bar (int);
1580 int foo (void) { return bar (mumble); }
1582 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1583 -fPIC -shared -o conftest.so conftest.c
1584 -nostdlib -nostartfiles
1585 -Wl,-z,combreloc 1>&AS_MESSAGE_LOG_FD])
1587 dnl The following test is a bit weak. We must use a tool which can test
1588 dnl cross-platform since the gcc used can be a cross compiler. Without
1589 dnl introducing new options this is not easily doable. Instead use a tool
1590 dnl which always is cross-platform: readelf. To detect whether -z combreloc
1591 dnl look for a section named .rel.dyn.
1592 if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
1593 libc_cv_z_combreloc=yes
1595 libc_cv_z_combreloc=no
1598 libc_cv_z_combreloc=no
1601 if test "$libc_cv_z_combreloc" = yes; then
1602 AC_DEFINE(HAVE_Z_COMBRELOC)
1604 AC_SUBST(libc_cv_z_combreloc)
1606 AC_CACHE_CHECK(for -z execstack,
1607 libc_cv_z_execstack, [dnl
1608 cat > conftest.c <<EOF
1609 int _start (void) { return 42; }
1611 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1612 -fPIC -shared -o conftest.so conftest.c
1613 -Wl,-z,execstack -nostdlib
1614 1>&AS_MESSAGE_LOG_FD])
1616 libc_cv_z_execstack=yes
1618 libc_cv_z_execstack=no
1621 AC_SUBST(libc_cv_z_execstack)
1623 AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl
1624 cat > conftest.c <<EOF
1626 main () { return 0;}
1628 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
1629 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
1637 AC_SUBST(libc_cv_fpie)
1639 AC_CACHE_CHECK(for --hash-style option,
1640 libc_cv_hashstyle, [dnl
1641 cat > conftest.c <<EOF
1642 int _start (void) { return 42; }
1644 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1645 -fPIC -shared -o conftest.so conftest.c
1646 -Wl,--hash-style=both -nostdlib 1>&AS_MESSAGE_LOG_FD])
1648 libc_cv_hashstyle=yes
1650 libc_cv_hashstyle=no
1653 AC_SUBST(libc_cv_hashstyle)
1656 AC_CACHE_CHECK(for -fno-toplevel-reorder -fno-section-anchors, libc_cv_fno_toplevel_reorder, [dnl
1657 cat > conftest.c <<EOF
1660 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -fno-toplevel-reorder -fno-section-anchors
1661 conftest.c 1>&AS_MESSAGE_LOG_FD])
1663 libc_cv_fno_toplevel_reorder=yes
1665 libc_cv_fno_toplevel_reorder=no
1668 if test $libc_cv_fno_toplevel_reorder = yes; then
1669 fno_unit_at_a_time="-fno-toplevel-reorder -fno-section-anchors"
1671 fno_unit_at_a_time=-fno-unit-at-a-time
1673 AC_SUBST(fno_unit_at_a_time)
1675 AC_CACHE_CHECK(for -fstack-protector, libc_cv_ssp, [dnl
1676 cat > conftest.c <<EOF
1678 main () { return 0;}
1680 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -Werror -fstack-protector
1681 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
1688 AC_SUBST(libc_cv_ssp)
1690 AC_CACHE_CHECK(for -fgnu89-inline, libc_cv_gnu89_inline, [dnl
1691 cat > conftest.c <<EOF
1693 #ifdef __GNUC_GNU_INLINE__
1694 main () { return 0;}
1699 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -std=gnu99 -fgnu89-inline
1700 -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD])
1702 libc_cv_gnu89_inline=yes
1704 libc_cv_gnu89_inline=no
1707 if test $libc_cv_gnu89_inline = yes; then
1708 libc_cv_gnu89_inline=-fgnu89-inline
1710 libc_cv_gnu89_inline=
1712 AC_SUBST(libc_cv_gnu89_inline)
1714 if test $elf != yes; then
1715 AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
1716 [AC_TRY_COMPILE(, [asm (".section .init");
1717 asm (".section .fini");
1718 asm ("${libc_cv_dot_text}");],
1719 libc_cv_have_initfini=yes,
1720 libc_cv_have_initfini=no)])
1721 AC_SUBST(libc_cv_have_initfini)dnl
1722 if test $libc_cv_have_initfini = yes; then
1723 AC_DEFINE(HAVE_INITFINI)
1727 if test $elf = yes; then
1728 AC_CACHE_CHECK(whether cc puts quotes around section names,
1729 libc_cv_have_section_quotes,
1730 [cat > conftest.c <<EOF
1731 static const int foo
1732 __attribute__ ((section ("bar"))) = 1;
1734 if ${CC-cc} -S conftest.c -o conftest.s; then
1735 if grep '\.section.*"bar"' conftest.s >/dev/null; then
1736 libc_cv_have_section_quotes=yes
1738 libc_cv_have_section_quotes=no
1741 libc_cv_have_section_quotes=unknown
1745 if test $libc_cv_have_section_quotes = yes; then
1746 AC_DEFINE(HAVE_SECTION_QUOTES)
1750 dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1751 AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
1752 [cat > conftest.$ac_ext <<EOF
1753 dnl This sometimes fails to find confdefs.h, for some reason.
1754 dnl [#]line $LINENO "[$]0"
1755 [#]line $LINENO "configure"
1756 #include "confdefs.h"
1757 void underscore_test(void) {
1760 if AC_TRY_EVAL(ac_compile); then
1761 if grep _underscore_test conftest* >/dev/null; then
1762 ifelse([$1], , :, [rm -f conftest*
1765 ifelse([$2], , , [rm -f conftest*
1769 echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
1770 cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
1771 ifelse([$2], , , [rm -f conftest*
1776 if test $elf = yes; then
1777 libc_cv_asm_underscores=no
1779 if test $ac_cv_prog_cc_works = yes; then
1780 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1781 [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
1782 libc_cv_asm_underscores=yes,
1783 libc_cv_asm_underscores=no)])
1785 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1786 [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
1787 libc_cv_asm_underscores=no)])
1790 if test $libc_cv_asm_underscores = no; then
1791 AC_DEFINE(NO_UNDERSCORES)
1794 if test $elf = yes; then
1795 libc_cv_weak_symbols=yes
1798 AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
1800 cat > conftest.s <<EOF
1802 ${libc_cv_asm_global_directive} foo
1805 .weak bar; bar = foo
1807 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1808 libc_cv_asm_weak_directive=yes
1810 libc_cv_asm_weak_directive=no
1814 if test $libc_cv_asm_weak_directive = no; then
1815 AC_CACHE_CHECK(for assembler .weakext directive,
1816 libc_cv_asm_weakext_directive,
1818 cat > conftest.s <<EOF
1820 ${libc_cv_asm_global_directive} foo
1824 ${libc_cv_asm_global_directive} baz
1827 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1828 libc_cv_asm_weakext_directive=yes
1830 libc_cv_asm_weakext_directive=no
1836 if test $libc_cv_asm_weak_directive = yes; then
1837 AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
1838 elif test $libc_cv_asm_weakext_directive = yes; then
1839 AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
1842 AC_CACHE_CHECK(whether CFI directives are supported, libc_cv_asm_cfi_directives, [dnl
1844 sparc/sparc64*) cfi_offset=2047;;
1847 cat > conftest.s <<EOF
1849 .type func,%function
1853 .cfi_rel_offset 1, $cfi_offset
1856 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1857 libc_cv_asm_cfi_directives=yes
1859 libc_cv_asm_cfi_directives=no
1862 if test $libc_cv_asm_cfi_directives = yes; then
1863 AC_DEFINE(HAVE_ASM_CFI_DIRECTIVES)
1866 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
1867 cat > conftest.c <<\EOF
1872 dnl No \ in command here because it ends up inside ''.
1873 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1874 -nostdlib -nostartfiles -Wl,--no-whole-archive
1875 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1876 libc_cv_ld_no_whole_archive=yes
1878 libc_cv_ld_no_whole_archive=no
1881 if test $libc_cv_ld_no_whole_archive = yes; then
1882 no_whole_archive=-Wl,--no-whole-archive
1884 AC_SUBST(no_whole_archive)dnl
1886 AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
1887 cat > conftest.c <<\EOF
1892 dnl No \ in command here because it ends up inside ''.
1893 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1894 -nostdlib -nostartfiles -fexceptions
1895 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1896 libc_cv_gcc_exceptions=yes
1898 libc_cv_gcc_exceptions=no
1901 if test $libc_cv_gcc_exceptions = yes; then
1902 exceptions=-fexceptions
1904 AC_SUBST(exceptions)dnl
1906 if test "$host_cpu" = powerpc ; then
1907 # Check for a bug present in at least versions 2.8.x of GCC
1908 # and versions 1.0.x of EGCS.
1909 AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
1910 AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
1911 libc_cv_c_asmcr0_bug='no',
1912 libc_cv_c_asmcr0_bug='yes')])
1913 if test "$libc_cv_c_asmcr0_bug" != 'no'; then
1914 AC_DEFINE(BROKEN_PPC_ASM_CR0)
1918 dnl Check whether compiler understands __builtin_expect.
1919 AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
1920 [cat > conftest.c <<EOF
1921 #line $LINENO "configure"
1924 a = __builtin_expect (a, 10);
1925 return a == 10 ? 0 : 1;
1928 dnl No \ in command here because it ends up inside ''.
1929 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
1930 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1931 libc_cv_gcc_builtin_expect=yes
1933 libc_cv_gcc_builtin_expect=no
1936 if test "$libc_cv_gcc_builtin_expect" = yes; then
1937 AC_DEFINE(HAVE_BUILTIN_EXPECT)
1940 AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
1941 cat > conftest.c <<\EOF
1944 __builtin_memset (x, 0, 1000);
1948 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
1950 libc_cv_gcc_builtin_memset=no
1952 libc_cv_gcc_builtin_memset=yes
1955 if test "$libc_cv_gcc_builtin_memset" = yes ; then
1956 AC_DEFINE(HAVE_BUILTIN_MEMSET)
1959 AC_CACHE_CHECK(for redirection of built-in functions, libc_cv_gcc_builtin_redirection, [dnl
1960 cat > conftest.c <<\EOF
1961 extern char *strstr (const char *, const char *) __asm ("my_strstr");
1962 char *foo (const char *a, const char *b)
1964 return __builtin_strstr (a, b);
1968 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null]);
1970 libc_cv_gcc_builtin_redirection=yes
1972 libc_cv_gcc_builtin_redirection=no
1975 if test "$libc_cv_gcc_builtin_redirection" = yes ; then
1976 AC_DEFINE(HAVE_BUILTIN_REDIRECTION)
1979 dnl Check whether the compiler supports the __thread keyword.
1980 if test "x$use__thread" != xno; then
1981 AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
1982 [cat > conftest.c <<\EOF
1983 __thread int a = 42;
1985 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c >&AS_MESSAGE_LOG_FD]); then
1986 libc_cv_gcc___thread=yes
1988 libc_cv_gcc___thread=no
1991 if test "$libc_cv_gcc___thread" = yes; then
1992 AC_DEFINE(HAVE___THREAD)
1995 libc_cv_gcc___thread=no
1998 if test "$libc_cv_gcc___thread" = yes; then
1999 dnl Check whether the compiler supports the tls_model attribute.
2000 AC_CACHE_CHECK([for tls_model attribute], libc_cv_gcc_tls_model_attr, [dnl
2001 cat > conftest.c <<\EOF
2002 extern __thread int a __attribute__((tls_model ("initial-exec")));
2004 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -Werror conftest.c >&AS_MESSAGE_LOG_FD]); then
2005 libc_cv_gcc_tls_model_attr=yes
2007 libc_cv_gcc_tls_model_attr=no
2010 if test "$libc_cv_gcc_tls_model_attr" = yes; then
2011 AC_DEFINE(HAVE_TLS_MODEL_ATTRIBUTE)
2015 if test -n "$submachine"; then
2016 AC_CACHE_CHECK([for compiler option for CPU variant],
2017 libc_cv_cc_submachine, [dnl
2018 libc_cv_cc_submachine=no
2019 for opt in "-march=$submachine" "-mcpu=$submachine"; do
2020 if AC_TRY_COMMAND([${CC-cc} $opt -xc /dev/null -S -o /dev/null]); then
2021 libc_cv_cc_submachine="$opt"
2025 if test "x$libc_cv_cc_submachine" = xno; then
2026 AC_MSG_ERROR([${CC-cc} does not support $submachine])
2029 AC_SUBST(libc_cv_cc_submachine)
2031 dnl Check whether we have the gd library available.
2032 AC_MSG_CHECKING(for libgd)
2033 if test "$with_gd" != "no"; then
2034 old_CFLAGS="$CFLAGS"
2035 CFLAGS="$CFLAGS $libgd_include"
2036 old_LDFLAGS="$LDFLAGS"
2037 LDFLAGS="$LDFLAGS $libgd_ldflags"
2039 LIBS="$LIBS -lgd -lpng -lz -lm"
2040 AC_TRY_LINK([#include <gd.h>], [gdImagePng (0, 0)], LIBGD=yes, LIBGD=no)
2041 CFLAGS="$old_CFLAGS"
2042 LDFLAGS="$old_LDFLAGS"
2047 AC_MSG_RESULT($LIBGD)
2051 if test x$with_selinux = xno ; then
2054 # See if we have the SELinux library
2055 AC_CHECK_LIB(selinux, is_selinux_enabled,
2056 have_selinux=yes, have_selinux=no)
2057 # See if we have the SELinux header with the NSCD permissions in it.
2058 if test x$have_selinux = xyes ; then
2059 AC_MSG_CHECKING([for NSCD Flask permissions in selinux/av_permissions.h])
2060 AC_TRY_COMPILE([#include <selinux/av_permissions.h>],
2061 [#ifdef NSCD__SHMEMHOST
2064 #error NSCD__SHMEMHOST not defined
2066 have_selinux=yes, have_selinux=no)
2067 AC_MSG_RESULT($have_selinux)
2070 if test x$with_selinux = xyes ; then
2071 if test x$have_selinux = xno ; then
2072 AC_MSG_ERROR([SELinux explicitly required, but sufficiently recent SELinux library not found])
2076 # Check if we're building with SELinux support.
2077 if test "x$have_selinux" = xyes; then
2078 AC_DEFINE(HAVE_SELINUX, 1, [SELinux support])
2080 # See if we have the libaudit library
2081 AC_CHECK_LIB(audit, audit_log_user_avc_message,
2082 have_libaudit=yes, have_libaudit=no)
2083 if test "x$have_libaudit" = xyes; then
2084 AC_DEFINE(HAVE_LIBAUDIT, 1, [SELinux libaudit support])
2086 AC_SUBST(have_libaudit)
2088 # See if we have the libcap library
2089 AC_CHECK_LIB(cap, cap_init, have_libcap=yes, have_libcap=no)
2090 if test "x$have_libcap" = xyes; then
2091 AC_DEFINE(HAVE_LIBCAP, 1, [SELinux libcap support])
2093 AC_SUBST(have_libcap)
2095 AC_SUBST(have_selinux)
2097 dnl check for the size of 'long double'.
2098 AC_CHECK_SIZEOF(long double, 0)
2099 sizeof_long_double=$ac_cv_sizeof_long_double
2100 AC_SUBST(sizeof_long_double)
2102 ### End of automated tests.
2103 ### Now run sysdeps configure fragments.
2105 # They also can set these variables.
2107 ldd_rewrite_script=no
2108 libc_cv_sysconfdir=$sysconfdir
2109 libc_cv_gcc_unwind_find_fde=no
2112 # Iterate over all the sysdep directories we will use, running their
2113 # configure fragments, and looking for a uname implementation.
2115 for dir in $sysnames; do
2118 *) dest=$srcdir/$dir ;;
2120 if test -r $dest/configure; then
2121 AC_MSG_RESULT(running configure fragment for $dir)
2125 if test -z "$uname"; then
2126 if test -r $dest/uname.c ||
2127 test -r $dest/uname.S ||
2128 { test -r $dest/syscalls.list &&
2129 grep '^uname[ ]' $dest/syscalls.list >/dev/null; }; then
2136 if test x$libc_cv_gcc_unwind_find_fde = xyes; then
2137 AC_DEFINE(EXPORT_UNWIND_FIND_FDE)
2139 AC_SUBST(libc_cv_gcc_unwind_find_fde)
2141 # If we will use the generic uname implementation, we must figure out what
2142 # it will say by examining the system, and write the results in config-name.h.
2143 if test "$uname" = "sysdeps/generic"; then
2146 uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
2148 if test $uname_sysname != $config_os; then
2149 config_release=`echo $config_os | sed s/$uname_sysname//`
2152 AC_DEFUN(LIBC_KERNEL_ID, [dnl
2153 if test -r /vmunix; then
2154 kernel_id=`strings /vmunix | grep UNIX`
2155 elif test -r /dynix; then
2156 kernel_id=`strings /dynix | grep DYNIX`
2162 AC_CACHE_CHECK(OS release for uname, libc_cv_uname_release, [dnl
2165 kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
2167 if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
2168 != x$config_release; then
2169 # The configuration release is a substring of the kernel release.
2170 libc_cv_uname_release=$kernel_release
2171 elif test x$config_release != x; then
2172 libc_cv_uname_release=$config_release
2173 elif test x$kernel_release != x; then
2174 libc_cv_uname_release=$kernel_release
2176 libc_cv_uname_release=unknown
2178 uname_release="$libc_cv_uname_release"
2180 AC_CACHE_CHECK(OS version for uname, libc_cv_uname_version, [dnl
2183 kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
2185 if test -n "$kernel_version"; then
2186 libc_cv_uname_version="$kernel_version"
2188 libc_cv_uname_version=unknown
2190 uname_version="$libc_cv_uname_version"
2192 AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl
2193 config_uname=config-name.h:config-name.in
2195 # For non-generic uname, we don't need to create config-name.h at all.
2199 dnl This is tested by existing code and it's simpler to avoid changing it.
2200 AC_DEFINE(USE_IN_LIBIO)
2202 # Test for old glibc 2.0.x headers so that they can be removed properly
2203 # Search only in includedir.
2204 AC_MSG_CHECKING(for old glibc 2.0.x headers)
2205 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
2207 old_glibc_headers=yes
2209 old_glibc_headers=no
2211 AC_MSG_RESULT($old_glibc_headers)
2212 if test ${old_glibc_headers} = yes; then
2213 AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
2214 AC_MSG_WARN(*** be removed.)
2216 AC_SUBST(old_glibc_headers)
2218 AC_SUBST(libc_cv_slibdir)
2219 AC_SUBST(libc_cv_localedir)
2220 AC_SUBST(libc_cv_sysconfdir)
2221 AC_SUBST(libc_cv_rootsbindir)
2222 AC_SUBST(libc_cv_forced_unwind)
2224 dnl sysdeps/CPU/configure.in checks set this via arch-specific asm tests
2225 AC_SUBST(libc_cv_cpp_asm_debuginfo)
2227 AC_SUBST(use_ldconfig)
2228 AC_SUBST(ldd_rewrite_script)
2230 AC_SUBST(elf) AC_SUBST(xcoff)
2231 if test $elf = yes; then
2234 if test $xcoff = yes; then
2235 AC_DEFINE(HAVE_XCOFF)
2240 if test $shared = default; then
2244 AC_CACHE_CHECK([whether -fPIC is default], pic_default,
2246 cat > conftest.c <<EOF
2247 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
2248 # error PIC is default.
2251 if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
2255 AC_SUBST(pic_default)
2260 AC_SUBST(static_nss)
2261 AC_SUBST(nopic_initfini)
2265 dnl See sysdeps/mach/configure.in for this variable.
2266 AC_SUBST(mach_interface_list)
2268 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
2271 config_makefile=Makefile
2274 VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
2275 RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
2279 AC_CONFIG_FILES([config.make ${config_makefile} ${config_uname}])
2280 AC_CONFIG_COMMANDS([default],[[
2281 case $CONFIG_FILES in *config.make*)
2282 echo "$config_vars" >> config.make;;
2284 test -d bits || mkdir bits]],[[config_vars='$config_vars']])