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-gmp argument and set gmp-srcdir in config.make.
18 AC_HELP_STRING([--with-gmp=DIRECTORY],
19 [find GMP source code in DIRECTORY (not needed)]),
22 yes) AC_MSG_ERROR([--with-gmp requires an argument; use --with-gmp=DIRECTORY]) ;;
24 *) config_vars="$config_vars
25 gmp-srcdir = $withval" ;;
28 # Check for a --with-gd argument and set libgd-LDFLAGS in config.make.
30 AC_HELP_STRING([--with-gd=DIR],
31 [find libgd include dir and library with prefix DIR]),
35 *) libgd_include="-I$withval/include"
36 libgd_ldflags="-L$withval/lib" ;;
39 AC_ARG_WITH([gd-include],
40 AC_HELP_STRING([--with-gd-include=DIR],
41 [find libgd include files in DIR]),
43 case "$with_gd_include" in
45 *) libgd_include="-I$withval" ;;
49 AC_HELP_STRING([--with-gd-lib=DIR],
50 [find libgd library files in DIR]),
52 case "$with_gd_lib" in
54 *) libgd_ldflags="-L$withval" ;;
58 if test -n "$libgd_include"; then
59 config_vars="$config_vars
60 CFLAGS-memusagestat.c = $libgd_include"
62 if test -n "$libgd_ldflags"; then
63 config_vars="$config_vars
64 libgd-LDFLAGS = $libgd_ldflags"
67 dnl Arguments to specify presence of other packages/features.
69 AC_HELP_STRING([--with-fp],
70 [if using floating-point hardware @<:@default=yes@:>@]),
74 AC_ARG_WITH([binutils],
75 AC_HELP_STRING([--with-binutils=PATH],
76 [specify location of binutils (as and ld)]),
77 [path_binutils=$withval],
80 AC_HELP_STRING([--with-elf],
81 [if using the ELF object format]),
84 AC_ARG_WITH([selinux],
85 AC_HELP_STRING([--with-selinux],
86 [if building with SELinux support]),
87 [with_selinux=$withval],
90 AC_HELP_STRING([--with-xcoff],
91 [if using the XCOFF object format]),
95 AC_HELP_STRING([--without-cvs],
96 [if CVS should not be used]),
99 if test "$with_cvs" = yes; then
100 if test -d $srcdir/CVS && grep :pserver: $srcdir/CVS/Root > /dev/null
107 AC_ARG_WITH([headers],
108 AC_HELP_STRING([--with-headers=PATH],
109 [location of system headers to use
110 (for example /usr/src/linux/include)
111 @<:@default=compiler default@:>@]),
112 [sysheaders=$withval],
115 AC_ARG_ENABLE([sanity-checks],
116 AC_HELP_STRING([--disable-sanity-checks],
117 [really do not use threads (should not be used except in special situations) @<:@default=yes@:>@]),
118 [enable_sanity=$enableval],
121 AC_SUBST(enable_check_abi)
122 AC_ARG_ENABLE([check-abi],
123 AC_HELP_STRING([--enable-check-abi],
124 [do "make check-abi" in "make check" (no/warn/yes)
125 @<:@default=no@:>@]),
126 [enable_check_abi=$enableval],
127 [enable_check_abi=no])
129 dnl Arguments to enable or disable building the static, shared, profiled,
130 dnl and -fomit-frame-pointer libraries.
131 dnl I've disabled this for now since we cannot build glibc without static
132 dnl libraries built in the moment.
133 dnl AC_ARG_ENABLE([static],
134 dnl AC_HELP_STRING([--enable-static],
135 dnl [build static library @<:@default=yes@:>@]),
136 dnl [static=$enableval],
139 AC_ARG_ENABLE([shared],
140 AC_HELP_STRING([--enable-shared],
141 [build shared library @<:@default=yes if GNU ld & ELF@:>@]),
144 AC_ARG_ENABLE([profile],
145 AC_HELP_STRING([--enable-profile],
146 [build profiled library @<:@default=yes@:>@]),
147 [profile=$enableval],
149 AC_ARG_ENABLE([omitfp],
150 AC_HELP_STRING([--enable-omitfp],
151 [build undebuggable optimized library @<:@default=no@:>@]),
154 AC_ARG_ENABLE([bounded],
155 AC_HELP_STRING([--enable-bounded],
156 [build with runtime bounds checking @<:@default=no@:>@]),
157 [bounded=$enableval],
159 AC_ARG_ENABLE([versioning],
160 AC_HELP_STRING([--disable-versioning],
161 [do not include versioning information in the library objects @<:@default=yes if supported@:>@]),
162 [enable_versioning=$enableval],
163 [enable_versioning=yes])
165 AC_ARG_ENABLE([oldest-abi],
166 AC_HELP_STRING([--enable-oldest-abi=ABI],
167 [configure the oldest ABI supported @<:@e.g. 2.2@:>@ @<:@default=glibc default@:>@]),
168 [oldest_abi=$enableval],
170 if test "$oldest_abi" = yes || test "$oldest_abi" = no; then
173 AC_DEFINE_UNQUOTED(GLIBC_OLDEST_ABI, "$oldest_abi")
177 dnl Generic infrastructure for drop-in additions to libc.
178 AC_ARG_ENABLE([add-ons],
179 AC_HELP_STRING([--enable-add-ons@<:@=DIRS...@:>@],
180 [configure and build add-ons in DIR1,DIR2,... search for add-ons if no parameter given]),
181 [case "$enableval" in
182 yes) add_ons=`cd $srcdir && echo */configure | sed -e 's!/configure!!g'`
183 add_ons_automatic=yes
184 test "$add_ons" = "*" && add_ons= ;;
185 *) add_ons=`echo "$enableval" | sed 's/,/ /g'`
186 add_ons_automatic=no ;;
188 [add_ons= add_ons_automatic=no])
190 dnl Let the user avoid using TLS. Don't know why but...
192 AC_HELP_STRING([--with-tls],
193 [enable support for TLS]),
197 AC_ARG_WITH([__thread],
198 AC_HELP_STRING([--without-__thread],
199 [do not use TLS features even when supporting them]),
200 [use__thread=$withval],
203 AC_ARG_ENABLE([hidden-plt],
204 AC_HELP_STRING([--disable-hidden-plt],
205 [do not hide internal function calls to avoid PLT]),
208 if test "x$hidden" = xno; then
212 AC_ARG_ENABLE([bind-now],
213 AC_HELP_STRING([--enable-bind-now],
214 [disable lazy relocations in DSOs]),
215 [bindnow=$enableval],
219 dnl On some platforms we cannot use dynamic loading. We must provide
220 dnl static NSS modules.
221 AC_ARG_ENABLE([static-nss],
222 AC_HELP_STRING([--enable-static-nss],
223 [build static NSS modules @<:@default=no@:>@]),
224 [static_nss=$enableval],
226 dnl Enable static NSS also if we build no shared objects.
227 if test x"$static_nss" = xyes || test x"$shared" = xno; then
229 AC_DEFINE(DO_STATIC_NSS)
232 AC_ARG_ENABLE([force-install],
233 AC_HELP_STRING([--disable-force-install],
234 [don't force installation of files from this package, even if they are older than the installed files]),
235 [force_install=$enableval],
237 AC_SUBST(force_install)
239 dnl On some platforms we allow dropping compatibility with all kernel
241 AC_ARG_ENABLE([kernel],
242 AC_HELP_STRING([--enable-kernel=VERSION],
243 [compile for compatibility with kernel not older than VERSION]),
244 [minimum_kernel=$enableval],
246 dnl Prevent unreasonable values.
247 if test "$minimum_kernel" = yes || test "$minimum_kernel" = no; then
248 # Better nothing than this.
251 if test "$minimum_kernel" = current; then
252 minimum_kernel=`uname -r 2>/dev/null` || minimum_kernel=
256 dnl For the development we sometimes want gcc to issue even more warnings.
257 dnl This is not the default since many of the extra warnings are not
259 AC_ARG_ENABLE([all-warnings],
260 AC_HELP_STRING([--enable-all-warnings],
261 [enable all useful warnings gcc can issue]),
262 [all_warnings=$enableval],
264 AC_SUBST(all_warnings)
268 # The way shlib-versions is used to generate soversions.mk uses a
269 # fairly simplistic model for name recognition that can't distinguish
270 # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os
271 # of `gnu*' here to be `gnu-gnu*' just so that shlib-versions can
272 # tell. This doesn't get used much beyond that, so it's fairly safe.
277 host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
281 # We keep the original values in `$config_*' and never modify them, so we
282 # can write them unchanged into config.make. Everything else uses
283 # $machine, $vendor, and $os, and changes them whenever convenient.
284 config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
286 # Don't allow vendor == "unknown"
287 test "$config_vendor" = unknown && config_vendor=
288 config_os="`echo $config_os | sed 's/^unknown-//'`"
290 # Some configurations imply other options.
292 gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
293 # These systems always use GNU tools.
294 gnu_ld=yes gnu_as=yes ;;
297 # i586-linuxaout is mangled into i586-pc-linux-gnuaout
298 linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
300 gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
301 # These systems (almost) always use the ELF format.
305 # These systems are always xcoff
311 # The configure fragment of an add-on port can modify these to supplement
312 # or override the table in the case statement below. No fragment should
313 # ever change the config_* variables, however.
314 machine=$config_machine
315 vendor=$config_vendor
318 # config.guess on some IBM machines says `rs6000' instead of `powerpc'.
320 if test "$machine" = rs6000; then
324 # Braindead PowerPC box with absolutely no FPU.
325 case "$machine-$host_os" in
332 # An add-on can set this when it the tuple to disable the sanity check below.
335 dnl Having this here, though empty, makes sure that if add-ons' fragments
336 dnl do AC_CONFIG_SUBDIRS([some-dir]), which just sets $subdirs, then
337 dnl our AC_OUTPUT will actually use it.
342 if test x"$add_ons" != x; then
343 for f in $add_ons; do
348 *** It seems that you're using an old \`crypt' add-on. crypt is now
349 *** part of glibc and using the old add-on will not work with this
350 *** release. Start again with fresh sources and without the old
351 *** \`crypt' add-on.])
355 *** It seems that you're using an old \`localedata' add-on. localedata
356 *** is now part of glibc and using the old add-on will not work with
357 *** this release. Start again with fresh sources and without the old
358 *** \`localedata' add-on.])
362 # Test whether such a subdir really exists.
363 test -d $srcdir/$f || {
364 AC_MSG_ERROR(add-on directory \"$f\" does not exist)
368 # Now source each add-on's configure fragment.
369 # The fragments can use $srcdir/$libc_add_on to find themselves,
370 # and test $add_ons_automatic to see if they were explicitly requested.
371 # A fragment can clear (or even change) $libc_add_on to affect
372 # whether it goes into the list to be actually used in the build.
374 for libc_add_on in $add_ons; do
375 libc_add_on_frag=$srcdir/$libc_add_on/configure
376 if test -r $libc_add_on_frag; then
377 AC_MSG_RESULT(running configure fragment for add-on $libc_add_on)
380 AC_MSG_WARN(add-on fragment $libc_add_on_frag missing)
382 if test -n "$libc_add_on"; then
383 use_add_ons="$use_add_ons $libc_add_on"
384 add_ons_pfx="$add_ons_pfx $libc_add_on/"
385 add_ons_sfx="$add_ons_sfx /$libc_add_on"
388 # Use echo to strip excess whitespace.
389 add_ons="`echo $use_add_ons`"
395 ### I put this here to prevent those annoying emails from people who cannot
396 ### read and try to compile glibc on unsupported platforms. --drepper
398 ### By using the undocumented --enable-hacker-mode option for configure
399 ### one can skip this test to make the configuration not fail for unsupported
402 if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then
403 case "$machine-$host_os" in
404 *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
407 echo "*** The GNU C library is currently not available for this platform."
408 echo "*** So far nobody cared to port it and if there is no volunteer it"
409 echo "*** might never happen. So, if you have interest to see glibc on"
410 echo "*** this platform visit"
411 echo "*** http://www.gnu.org/software/libc/porting.html"
412 echo "*** and join the group of porters"
418 dnl We need to use [ and ] for other purposes for a while now.
420 # Expand the configuration machine name into a subdirectory by architecture
421 # type and particular chip. If an add-on configure fragment already set
422 # base_machine, we don't change it.
423 test -n "$base_machine" || case "$machine" in
424 a29k | am29000) base_machine=a29k machine=a29k ;;
425 alpha*) base_machine=alpha machine=alpha/$machine ;;
426 arm*) base_machine=arm machine=arm/arm32/$machine ;;
427 c3[012]) base_machine=cx0 machine=cx0/c30 ;;
428 c4[04]) base_machine=cx0 machine=cx0/c40 ;;
429 hppa*64*) base_machine=hppa machine=hppa/hppa64 ;;
430 hppa*) base_machine=hppa machine=hppa/hppa1.1 ;;
431 i[34567]86) base_machine=i386 machine=i386/$machine ;;
432 ia64) base_machine=ia64 machine=ia64 ;;
433 m680?0) base_machine=m68k machine=m68k/$machine ;;
434 m68k) base_machine=m68k machine=m68k/m68020 ;;
435 m88???) base_machine=m88k machine=m88k/$machine ;;
436 m88k) base_machine=m88k machine=m88k/m88100 ;;
437 mips64*) base_machine=mips64
438 case "$CC $CFLAGS $CPPFLAGS " in
439 *" -mabi=n32 "*) mips_cc_abi=n32 ;;
440 *" -mabi=64 "*|*" -mabi=n64 "*) mips_cc_abi=64 ;;
441 *" -mabi=32 "*|*" -mabi=o32 "*) mips_cc_abi=32 ;;
442 *) mips_cc_abi=default ;;
445 *abin32*) mips_config_abi=n32 ;;
446 *abi64*|*abin64*) mips_config_abi=64 ;;
447 *abi32*|*abio32*) mips_config_abi=32 ;;
448 *) mips_config_abi=$mips_cc_abi ;;
450 case $mips_config_abi in
451 default) machine=mips/mips64/n32 mips_config_abi=n32 ;;
452 n32) machine=mips/mips64/n32 ;;
453 64) machine=mips/mips64/n64 ;;
454 32) machine=mips/mips32/kern64 ;;
456 machine=$machine/$config_machine
457 if test $mips_config_abi != $mips_cc_abi; then
458 # This won't make it to config.make, but we want to
459 # set this in case configure tests depend on it.
460 CPPFLAGS="$CPPFLAGS -mabi=$mips_config_abi"
463 mips*) base_machine=mips machine=mips/mips32/$machine ;;
464 powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;;
465 powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;;
466 s390) base_machine=s390 machine=s390/s390-32 ;;
467 s390x) base_machine=s390 machine=s390/s390-64 ;;
468 sh3*) base_machine=sh machine=sh/sh3 ;;
469 sh4*) base_machine=sh machine=sh/sh4 ;;
471 base_machine=sparc machine=sparc/sparc32 ;;
472 sparcv8 | supersparc | hypersparc)
473 base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
474 sparcv8plus | sparcv8plusa | sparcv9)
475 base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
476 sparcv8plusb | sparcv9b)
477 base_machine=sparc machine=sparc/sparc32/sparcv9b ;;
478 sparc64 | ultrasparc)
479 base_machine=sparc machine=sparc/sparc64 ;;
480 sparc64b | ultrasparc3)
481 base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
482 thumb*) base_machine=thumb machine=arm/thumb/$machine ;;
483 *) base_machine=$machine ;;
486 AC_SUBST(base_machine)
488 if test "$base_machine" = "i386"; then
489 AC_DEFINE(USE_REGPARMS)
492 # Compute the list of sysdep directories for this configuration.
493 # This can take a while to compute.
494 sysdep_dir=$srcdir/sysdeps
495 AC_MSG_CHECKING(sysdep dirs)
496 dnl We need to use [ and ] for other purposes for a while now.
498 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
499 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
504 netbsd* | 386bsd* | freebsd* | bsdi*)
505 base_os=unix/bsd/bsd4.4 ;;
506 osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
508 sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
511 base_os=unix/sysv/irix6/$os ;;
513 base_os=unix/sysv/sysv4 ;;
515 base_os=unix/sysv/hpux/$os ;;
517 base_os=unix/sysv/aix/aix4.3 ;;
519 base_os=standalone ;;
524 # For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
527 while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
531 o=`echo $tail | sed 's/[0-9]*$//'`
532 if test $o != $tail; then
535 # For linux-gnu, try linux-gnu, then linux.
536 o=`echo $tail | sed 's/-.*$//'`
537 if test $o != $tail; then
541 # For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
544 while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
550 # For sparc/sparc32, try sparc/sparc32 and then sparc.
553 while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
555 # Prepend the machine's FPU directory unless --without-fp.
556 if test "$with_fp" = yes; then
559 mach="$mach /$1/nofpu"
565 dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
568 # Find what sysdep directories exist.
570 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
571 for d in $add_ons_pfx ''; do
572 for b in $base ''; do
573 for m0 in $mach ''; do
574 for v in /$vendor ''; do
575 test "$v" = / && continue
576 for o in /$ostry ''; do
577 test "$o" = / && continue
578 for m in $mach ''; do
579 for a in $add_ons_sfx ''; do
580 if test "$m0$b$v$o$m"; then
581 try="${d}sysdeps$m0$b$v$o$m$a"
582 test -n "$enable_debug_configure" &&
583 echo "$0 [DEBUG]: try $try" >&2
584 if test -d $srcdir/$try; then
585 sysnames="$sysnames $try"
586 { test -n "$o" || test -n "$b"; } && os_used=t
587 { test -n "$m" || test -n "$m0"; } && machine_used=t
599 if test -z "$os_used" && test "$os" != none; then
600 AC_MSG_ERROR(Operating system $os is not supported.)
602 if test -z "$machine_used" && test "$machine" != none; then
603 AC_MSG_ERROR(The $machine is not supported.)
606 # We have now validated the configuration.
609 # If using ELF, look for an `elf' subdirectory of each machine directory.
610 # We prepend these rather than inserting them whereever the machine appears
611 # because things specified by the machine's ELF ABI should override
612 # OS-specific things, and should always be the same for any OS on the
613 # machine (otherwise what's the point of an ABI?).
614 if test "$elf" = yes; then
616 for d in $add_ons_pfx ''; do
618 if test -d $srcdir/${d}sysdeps$m/elf; then
619 elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
623 sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
627 # Expand the list of system names into a full list of directories
628 # from each element's parent name and Implies file (if present).
631 while test $# -gt 0; do
635 case " $names " in *" $name "*)
636 # Already in the list.
640 # Report each name as we discover it, so there is no long pause in output.
641 echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
643 name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
647 *) xsrcdir=$srcdir/ ;;
649 test -n "$enable_debug_configure" &&
650 echo "[DEBUG]: name/Implies $xsrcdir$name/Implies" >&2
652 if test -f $xsrcdir$name/Implies; then
653 # Collect more names from the `Implies' file (removing comments).
654 implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
656 for x in $implied_candidate; do
658 if test -d $xsrcdir$name_base/$x; then
659 implied="$implied $name_base/$x";
662 for d in $add_ons_pfx ''; do
666 *) try_srcdir=$srcdir/ ;;
668 test -n "$enable_debug_configure" &&
669 echo "[DEBUG]: $name implied $x try($d) {$try_srcdir}$try" >&2
670 if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
672 implied="$implied $try"
676 if test $found = no; then
677 AC_MSG_WARN($name/Implies specifies nonexistent $x)
684 # Add NAME to the list of names.
687 # Find the parent of NAME, using the empty string if it has none.
689 parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
692 # Add the names implied by NAME, and NAME's parent (if it has one), to
693 # the list of names to be processed (the argument list). We prepend the
694 # implied names to the list and append the parent. We want implied
695 # directories to come before further directories inferred from the
696 # configuration components; this ensures that for sysv4, unix/common
697 # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
699 sysnames="`echo $implied $* $parent`"
700 test -n "$sysnames" && set $sysnames
703 # Add the default directories.
704 default_sysnames=sysdeps/generic
705 if test "$elf" = yes; then
706 default_sysnames="sysdeps/generic/elf $default_sysnames"
708 sysnames="$names $default_sysnames"
710 # The other names were emitted during the scan.
711 AC_MSG_RESULT($default_sysnames)
717 if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
718 # The makefiles need to use a different form to find it in $srcdir.
719 INSTALL='\$(..)./scripts/install-sh -c'
724 if test $host != $build; then
725 AC_CHECK_PROGS(BUILD_CC, gcc cc)
727 AC_SUBST(cross_compiling)
729 # We need the C++ compiler only for testing.
732 AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
734 # Accept binutils 2.13 or newer.
735 AC_CHECK_PROG_VER(AS, $AS, --version,
736 [GNU assembler.* \([0-9]*\.[0-9.]*\)],
737 [2.1[3-9]*], AS=: critic_missing="$critic_missing as")
738 AC_CHECK_PROG_VER(LD, $LD, --version,
739 [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
740 [2.1[3-9]*], LD=: critic_missing="$critic_missing ld")
742 # We need the physical current working directory. We cannot use the
743 # "pwd -P" shell builtin since that's not portable. Instead we try to
744 # find a pwd binary. Note that assigning to the PWD environment
745 # variable might have some interesting side effects, so we don't do
747 AC_PATH_PROG(PWD_P, pwd, no)
748 if test "$PWD_P" = no; then
749 AC_MSG_ERROR(*** A pwd binary could not be found.)
752 # These programs are version sensitive.
754 AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
755 [version \([egcygnustpi-]*[0-9.]*\)], [3.[2-9]* | 4.[0-9]* ],
756 critic_missing="$critic_missing gcc")
757 AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
758 [GNU Make[^0-9]*\([0-9][0-9.]*\)],
759 [3.79* | 3.[89]*], critic_missing="$critic_missing make")
761 AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
762 [GNU gettext.* \([0-9]*\.[0-9.]*\)],
763 [0.10.3[6-9]* | 0.10.[4-9][0-9]* | 0.1[1-9]* | 0.[2-9][0-9]* | [1-9].*],
764 MSGFMT=: aux_missing="$aux_missing msgfmt")
765 AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
766 [GNU texinfo.* \([0-9][0-9.]*\)],
768 MAKEINFO=: aux_missing="$aux_missing makeinfo")
769 AC_CHECK_PROG_VER(SED, sed, --version,
770 [GNU sed version \([0-9]*\.[0-9.]*\)],
771 [3.0[2-9]*|3.[1-9]*|[4-9]*],
772 SED=: aux_missing="$aux_missing sed")
774 AC_CHECK_PROGS(AUTOCONF, autoconf, no)
776 xno|x|x:) AUTOCONF=no ;;
779 whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works, libc_cv_autoconf_works, [dnl
780 if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then
781 libc_cv_autoconf_works=yes
783 libc_cv_autoconf_works=no
785 test $libc_cv_autoconf_works = yes || AUTOCONF=no
788 if test "x$with_cvs" = xyes && test "x$AUTOCONF" = xno; then
789 # If --without-cvs they probably won't change configure.in, so no complaints.
790 aux_missing="$aux_missing autoconf"
793 test -n "$critic_missing" && AC_MSG_ERROR([
794 *** These critical programs are missing or too old:$critic_missing
795 *** Check the INSTALL file for required versions.])
797 test -n "$aux_missing" && AC_MSG_WARN([
798 *** These auxiliary programs are missing or incompatible versions:$aux_missing
799 *** some features will be disabled.
800 *** Check the INSTALL file for required versions.])
802 # if using special system headers, find out the compiler's sekrit
803 # header directory and add that to the list. NOTE: Only does the right
804 # thing on a system that doesn't need fixincludes. (Not presently a problem.)
805 if test -n "$sysheaders"; then
806 ccheaders=`$CC -print-file-name=include`
807 SYSINCLUDES="-nostdinc -isystem $ccheaders \
808 -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
810 AC_SUBST(SYSINCLUDES)
812 # check if ranlib is necessary
813 AC_CACHE_CHECK(whether ranlib is necessary, libc_cv_ranlib_necessary, [dnl
814 cat > conftest.c <<EOF
819 $CC $CFLAGS $CPPFLAGS -c conftest.c
820 $AR cr conftest.a conftest.o
821 cp conftest.a conftest2.a
823 if cmp -s conftest.a conftest2.a; then
824 libc_cv_ranlib_necessary=no
826 libc_cv_ranlib_necessary=yes
829 if test "$libc_cv_ranlib_necessary" = no; then
833 # Test if LD_LIBRARY_PATH contains the notation for the current directory
834 # since this would lead to problems installing/building glibc.
835 # LD_LIBRARY_PATH contains the current directory if one of the following
837 # - one of the terminals (":" and ";") is the first or last sign
838 # - two terminals occur directly after each other
839 # - the path contains an element with a dot in it
840 AC_MSG_CHECKING(LD_LIBRARY_PATH variable)
842 case ${LD_LIBRARY_PATH} in
843 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
844 ld_library_path_setting="contains current directory"
847 ld_library_path_setting="ok"
851 AC_MSG_RESULT($ld_library_path_setting)
852 if test "$ld_library_path_setting" != "ok"; then
854 *** LD_LIBRARY_PATH shouldn't contain the current directory when
855 *** building glibc. Please change the environment variable
856 *** and run configure again.])
859 AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl
860 if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
861 libc_cv_gcc_static_libgcc=
863 libc_cv_gcc_static_libgcc=-static-libgcc
865 AC_SUBST(libc_cv_gcc_static_libgcc)
867 AC_PATH_PROG(BASH, bash, no)
868 if test "$BASH" != no &&
869 $BASH -c 'test "$BASH_VERSINFO" \
870 && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then
871 libc_cv_have_bash2=yes
873 libc_cv_have_bash2=no
875 AC_SUBST(libc_cv_have_bash2)
877 dnl We need a ksh compatible shell for tzselect.
878 if test "$BASH" = no; then
879 AC_PATH_PROG(KSH, ksh, no)
880 if test "$KSH" = no; then
890 AC_SUBST(libc_cv_have_ksh)
893 AC_PATH_PROG(PERL, perl, no)
894 if test "$PERL" != no &&
895 (eval `$PERL -V:apiversion`; test `expr "$apiversion" \< 5` -ne 0); then
898 AC_PATH_PROG(INSTALL_INFO, install-info, no,
899 $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
900 AC_PATH_PROG(BISON, bison, no, $PATH:/usr/local/bin:/usr/bin:/bin)
902 AC_CACHE_CHECK(for signed size_t type, libc_cv_signed_size_t, [dnl
903 echo '#include <stddef.h>
904 FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
905 if eval "$ac_cpp conftest.c 2>/dev/null" \
906 | grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then
907 libc_cv_signed_size_t=no
909 libc_cv_signed_size_t=yes
912 if test $libc_cv_signed_size_t = yes; then
913 dnl Do this by hand instead of AC_DEFINE so can add #undef to avoid warnings.
914 cat >> confdefs.h <<\EOF
916 #define __SIZE_TYPE__ unsigned
920 AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl
922 [#define __need_size_t
923 #define __need_wchar_t
926 #include <stddef.h>], [size_t size; wchar_t wchar;
928 #error stddef.h ignored __need_*
930 if (&size == NULL || &wchar == NULL) abort ();],
931 libc_cv_friendly_stddef=yes,
932 libc_cv_friendly_stddef=no)])
933 if test $libc_cv_friendly_stddef = yes; then
934 config_vars="$config_vars
935 override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
938 AC_CACHE_CHECK(whether we need to use -P to assemble .S files,
939 libc_cv_need_minus_P, [dnl
940 cat > conftest.S <<EOF
941 #include "confdefs.h"
942 /* Nothing whatsoever. */
944 if AC_TRY_COMMAND(${CC-cc} $CPPFLAGS $ASFLAGS -c conftest.S 1>&AS_MESSAGE_LOG_FD); then
945 libc_cv_need_minus_P=no
947 libc_cv_need_minus_P=yes
950 if test $libc_cv_need_minus_P = yes; then
951 config_vars="$config_vars
952 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
955 AC_MSG_CHECKING(whether .text pseudo-op must be used)
956 AC_CACHE_VAL(libc_cv_dot_text, [dnl
957 cat > conftest.s <<EOF
961 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
962 libc_cv_dot_text=.text
965 if test -z "$libc_cv_dot_text"; then
971 AC_CACHE_CHECK(for assembler global-symbol directive,
972 libc_cv_asm_global_directive, [dnl
973 libc_cv_asm_global_directive=UNKNOWN
974 for ac_globl in .globl .global .EXPORT; do
975 cat > conftest.s <<EOF
980 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
981 libc_cv_asm_global_directive=${ac_globl}
984 test $libc_cv_asm_global_directive != UNKNOWN && break
986 if test $libc_cv_asm_global_directive = UNKNOWN; then
987 AC_MSG_ERROR(cannot determine asm global directive)
989 AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
992 AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
993 cat > conftest.s <<EOF
996 .set glibc_conftest_frobozz,foo
997 $libc_cv_asm_global_directive glibc_conftest_frobozz
999 # The alpha-dec-osf1 assembler gives only a warning for `.set'
1000 # (but it doesn't work), so we must do a linking check to be sure.
1001 cat > conftest1.c <<\EOF
1002 extern int glibc_conftest_frobozz;
1003 void _start() { glibc_conftest_frobozz = 1; }
1005 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
1006 -nostartfiles -nostdlib \
1007 -o conftest conftest.s conftest1.c 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1008 libc_cv_asm_set_directive=yes
1010 libc_cv_asm_set_directive=no
1013 if test $libc_cv_asm_set_directive = yes; then
1014 AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
1017 AC_CACHE_CHECK(for assembler .type directive prefix,
1018 libc_cv_asm_type_prefix, [dnl
1019 libc_cv_asm_type_prefix=no
1020 for ac_try_prefix in '@' '%' '#'; do
1021 cat > conftest.s <<EOF
1023 ${libc_cv_asm_global_directive} foo
1024 .type foo, ${ac_try_prefix}object
1029 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1030 libc_cv_asm_type_prefix=${ac_try_prefix}
1033 test "x$libc_cv_asm_type_prefix" != xno && break
1035 if test "x$libc_cv_asm_type_prefix" != xno; then
1036 AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
1039 AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
1040 [cat > conftest.s <<EOF
1043 .symver _sym,sym@VERS
1045 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1046 libc_cv_asm_symver_directive=yes
1048 libc_cv_asm_symver_directive=no
1051 AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
1052 if test $libc_cv_asm_symver_directive = yes; then
1053 cat > conftest.s <<EOF
1056 .symver _sym,sym@VERS
1058 cat > conftest.map <<EOF
1067 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1068 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $LDFLAGS -shared
1069 -o conftest.so conftest.o
1070 -nostartfiles -nostdlib
1071 -Wl,--version-script,conftest.map
1072 1>&AS_MESSAGE_LOG_FD]);
1074 libc_cv_ld_version_script_option=yes
1076 libc_cv_ld_version_script_option=no
1079 libc_cv_ld_version_script_option=no
1082 libc_cv_ld_version_script_option=no
1085 if test $shared != no &&
1086 test $libc_cv_asm_symver_directive = yes &&
1087 test $libc_cv_ld_version_script_option = yes &&
1088 test $enable_versioning = yes; then
1090 AC_DEFINE(DO_VERSIONING)
1094 AC_SUBST(VERSIONING)
1096 if test $elf = yes && test $shared != no && test $VERSIONING = no; then
1098 *** WARNING: You should not compile GNU libc without versioning. Not using
1099 *** versioning will introduce incompatibilities so that old binaries
1100 *** will not run anymore.
1101 *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
1103 if test $elf = yes; then
1104 AC_CACHE_CHECK(for .previous assembler directive,
1105 libc_cv_asm_previous_directive, [dnl
1106 cat > conftest.s <<EOF
1107 .section foo_section
1110 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1111 libc_cv_asm_previous_directive=yes
1113 libc_cv_asm_previous_directive=no
1116 if test $libc_cv_asm_previous_directive = yes; then
1117 AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
1119 AC_CACHE_CHECK(for .popsection assembler directive,
1120 libc_cv_asm_popsection_directive, [dnl
1121 cat > conftest.s <<EOF
1122 .pushsection foo_section
1125 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1126 libc_cv_asm_popsection_directive=yes
1128 libc_cv_asm_popsection_directive=no
1131 if test $libc_cv_asm_popsection_directive = yes; then
1132 AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
1135 AC_CACHE_CHECK(for .protected and .hidden assembler directive,
1136 libc_cv_asm_protected_directive, [dnl
1137 cat > conftest.s <<EOF
1143 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1144 libc_cv_asm_protected_directive=yes
1146 libc_cv_asm_protected_directive=no
1149 AC_SUBST(libc_cv_asm_protected_directive)
1150 AC_DEFINE(HAVE_PROTECTED)
1151 AC_DEFINE(HAVE_HIDDEN)
1153 if test $libc_cv_asm_protected_directive = yes; then
1154 AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
1155 libc_cv_visibility_attribute,
1156 [cat > conftest.c <<EOF
1157 int foo __attribute__ ((visibility ("hidden"))) = 1;
1158 int bar __attribute__ ((visibility ("protected"))) = 1;
1160 libc_cv_visibility_attribute=no
1161 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1162 if grep '\.hidden.*foo' conftest.s >/dev/null; then
1163 if grep '\.protected.*bar' conftest.s >/dev/null; then
1164 libc_cv_visibility_attribute=yes
1170 if test $libc_cv_visibility_attribute = yes; then
1171 AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
1175 if test $libc_cv_visibility_attribute = yes; then
1176 AC_CACHE_CHECK(for broken __attribute__((visibility())),
1177 libc_cv_broken_visibility_attribute,
1178 [cat > conftest.c <<EOF
1180 int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
1181 int bar (int x) { return x; }
1183 libc_cv_broken_visibility_attribute=yes
1184 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s1>&AS_MESSAGE_LOG_FD); then
1186 if grep '\.hidden[ _]foo' conftest.s >/dev/null; then
1188 libc_cv_broken_visibility_attribute=no
1191 rm -f conftest.c conftest.s
1193 if test $libc_cv_broken_visibility_attribute = yes; then
1194 AC_DEFINE(HAVE_BROKEN_VISIBILITY_ATTRIBUTE)
1198 AC_CACHE_CHECK(for broken __attribute__((alias())),
1199 libc_cv_broken_alias_attribute,
1200 [cat > conftest.c <<EOF
1201 extern int foo (int x) __asm ("xyzzy");
1202 int bar (int x) { return x; }
1203 extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
1205 extern __typeof (dfoo) dfoo __asm ("abccb");
1208 libc_cv_broken_alias_attribute=yes
1209 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1210 if grep 'xyzzy' conftest.s >/dev/null &&
1211 grep 'abccb' conftest.s >/dev/null; then
1212 libc_cv_broken_alias_attribute=no
1215 rm -f conftest.c conftest.s
1217 if test $libc_cv_broken_alias_attribute = yes; then
1218 AC_DEFINE(HAVE_BROKEN_ALIAS_ATTRIBUTE)
1221 if test $libc_cv_visibility_attribute = yes -a $gnu_ld = yes; then
1222 AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
1223 libc_cv_have_sdata_section,
1224 [echo "int i;" > conftest.c
1225 libc_cv_have_sdata_section=no
1226 if ${CC-cc} $LDFLAGS -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
1227 | grep '\.sdata' >/dev/null; then
1228 libc_cv_have_sdata_section=yes
1230 rm -f conftest.c conftest.so
1232 if test $libc_cv_have_sdata_section = yes; then
1233 AC_DEFINE(HAVE_SDATA_SECTION)
1237 AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
1238 libc_cv_initfinit_array, [dnl
1239 cat > conftest.c <<EOF
1240 int _start (void) { return 0; }
1241 int __start (void) { return 0; }
1242 int foo (void) { return 1; }
1243 int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
1245 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
1246 -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
1248 if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then
1249 libc_cv_initfinit_array=yes
1251 libc_cv_initfinit_array=no
1254 libc_cv_initfinit_array=no
1257 AC_SUBST(libc_cv_initfinit_array)
1258 if test $libc_cv_initfinit_array = yes; then
1259 AC_DEFINE(HAVE_INITFINI_ARRAY)
1262 AC_CACHE_CHECK(for libunwind-support in compiler,
1263 libc_cv_cc_with_libunwind, [dnl
1264 AC_TRY_LINK([#include <libunwind.h>], [
1267 unw_getcontext (&uc);
1268 unw_init_local (&c, &uc)],
1269 libc_cv_cc_with_libunwind=yes, libc_cv_cc_with_libunwind=no)])
1270 AC_SUBST(libc_cv_cc_with_libunwind)
1271 if test $libc_cv_cc_with_libunwind = yes; then
1272 AC_DEFINE(HAVE_CC_WITH_LIBUNWIND)
1275 AC_CACHE_CHECK(for -z nodelete option,
1276 libc_cv_z_nodelete, [dnl
1277 cat > conftest.c <<EOF
1278 int _start (void) { return 42; }
1280 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1281 -shared -o conftest.so conftest.c
1282 -nostartfiles -nostdlib
1283 -Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD])
1285 libc_cv_z_nodelete=yes
1287 libc_cv_z_nodelete=no
1290 AC_SUBST(libc_cv_z_nodelete)
1292 AC_CACHE_CHECK(for -z nodlopen option,
1293 libc_cv_z_nodlopen, [dnl
1294 cat > conftest.c <<EOF
1295 int _start (void) { return 42; }
1297 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1298 -shared -o conftest.so conftest.c
1299 -nostartfiles -nostdlib
1300 -Wl,--enable-new-dtags,-z,nodlopen 1>&AS_MESSAGE_LOG_FD])
1302 libc_cv_z_nodlopen=yes
1304 libc_cv_z_nodlopen=no
1307 AC_SUBST(libc_cv_z_nodlopen)
1309 AC_CACHE_CHECK(for -z initfirst option,
1310 libc_cv_z_initfirst, [dnl
1311 cat > conftest.c <<EOF
1312 int _start (void) { return 42; }
1314 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1315 -shared -o conftest.so conftest.c
1316 -nostartfiles -nostdlib
1317 -Wl,--enable-new-dtags,-z,initfirst 1>&AS_MESSAGE_LOG_FD])
1319 libc_cv_z_initfirst=yes
1321 libc_cv_z_initfirst=no
1324 AC_SUBST(libc_cv_z_initfirst)
1326 AC_CACHE_CHECK(for -z relro option,
1327 libc_cv_z_relro, [dnl
1329 if AC_TRY_COMMAND([${CC-cc} -v --help 2>&1|grep "z relro" 1>&AS_MESSAGE_LOG_FD])
1331 if AC_TRY_COMMAND([${CC-cc} -Wl,--verbose 2>&1|grep DATA_SEGMENT_RELRO_END 1>&AS_MESSAGE_LOG_FD])
1336 AC_SUBST(libc_cv_z_relro)
1337 if test $libc_cv_z_relro = yes; then
1338 AC_DEFINE(HAVE_Z_RELRO)
1341 AC_CACHE_CHECK(for -Bgroup option,
1342 libc_cv_Bgroup, [dnl
1343 cat > conftest.c <<EOF
1344 int _start (void) { return 42; }
1346 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1347 -shared -o conftest.so conftest.c
1348 -Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD])
1355 AC_SUBST(libc_cv_Bgroup)
1357 AC_CACHE_CHECK(for libgcc_s suffix,
1358 libc_cv_libgcc_s_suffix, [dnl
1359 cat > conftest.c <<EOF
1360 int main (void) { return 0; }
1363 libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
1364 -shared -shared-libgcc -o conftest.so \
1365 conftest.c -v 2>&1 >/dev/null \
1366 | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
1369 AC_SUBST(libc_cv_libgcc_s_suffix)
1371 AC_CACHE_CHECK(for --as-needed option,
1372 libc_cv_as_needed, [dnl
1373 cat > conftest.c <<EOF
1374 int main (void) { return 0; }
1376 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1377 -shared -o conftest.so conftest.c
1378 -lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
1379 -nostdlib 1>&AS_MESSAGE_LOG_FD])
1381 libc_cv_as_needed=yes
1383 libc_cv_as_needed=no
1386 AC_SUBST(libc_cv_as_needed)
1389 AC_CACHE_CHECK(whether --noexecstack is desirable for .S files,
1390 libc_cv_as_noexecstack, [dnl
1391 cat > conftest.c <<EOF
1394 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS
1395 -S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \
1396 && grep -q .note.GNU-stack conftest.s \
1397 && AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -Wa,--noexecstack
1398 -c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
1400 libc_cv_as_noexecstack=yes
1402 libc_cv_as_noexecstack=no
1405 if test $libc_cv_as_noexecstack = yes; then
1406 ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
1408 AC_SUBST(ASFLAGS_config)
1410 AC_CACHE_CHECK(for -z combreloc,
1411 libc_cv_z_combreloc, [dnl
1412 cat > conftest.c <<EOF
1413 extern int bar (int);
1415 int foo (void) { return bar (mumble); }
1417 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1418 -shared -o conftest.so conftest.c
1419 -nostdlib -nostartfiles
1420 -Wl,-z,combreloc 1>&AS_MESSAGE_LOG_FD])
1422 dnl The following test is a bit weak. We must use a tool which can test
1423 dnl cross-platform since the gcc used can be a cross compiler. Without
1424 dnl introducing new options this is not easily doable. Instead use a tool
1425 dnl which always is cross-platform: readelf. To detect whether -z combreloc
1426 dnl look for a section named .rel.dyn.
1427 if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
1428 libc_cv_z_combreloc=yes
1430 libc_cv_z_combreloc=no
1433 libc_cv_z_combreloc=no
1436 if test "$libc_cv_z_combreloc" = yes; then
1437 AC_DEFINE(HAVE_Z_COMBRELOC)
1439 AC_SUBST(libc_cv_z_combreloc)
1441 AC_CACHE_CHECK(for -z execstack,
1442 libc_cv_z_execstack, [dnl
1443 cat > conftest.c <<EOF
1444 int _start (void) { return 42; }
1446 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1447 -shared -o conftest.so conftest.c
1448 -Wl,-z,execstack -nostdlib
1449 1>&AS_MESSAGE_LOG_FD])
1451 libc_cv_z_execstack=yes
1453 libc_cv_z_execstack=no
1456 AC_SUBST(libc_cv_z_execstack)
1458 AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl
1459 cat > conftest.c <<EOF
1461 main () { return 0;}
1463 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
1464 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
1472 AC_SUBST(libc_cv_fpie)
1475 AC_CACHE_CHECK(for -fno-unit-at-a-time, libc_cv_fno_unit_at_a_time, [dnl
1476 cat > conftest.c <<EOF
1479 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -fno-unit-at-a-time
1480 conftest.c 1>&AS_MESSAGE_LOG_FD])
1482 libc_cv_fno_unit_at_a_time=yes
1484 libc_cv_fno_unit_at_a_time=no
1487 if test $libc_cv_fno_unit_at_a_time = yes; then
1488 fno_unit_at_a_time=-fno-unit-at-a-time
1490 AC_SUBST(fno_unit_at_a_time)
1492 if test $elf != yes; then
1493 AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
1494 [AC_TRY_COMPILE(, [asm (".section .init");
1495 asm (".section .fini");
1496 asm ("${libc_cv_dot_text}");],
1497 libc_cv_have_initfini=yes,
1498 libc_cv_have_initfini=no)])
1499 AC_SUBST(libc_cv_have_initfini)dnl
1500 if test $libc_cv_have_initfini = yes; then
1501 AC_DEFINE(HAVE_INITFINI)
1505 if test $elf = yes -a $gnu_ld = yes; then
1506 AC_CACHE_CHECK(whether cc puts quotes around section names,
1507 libc_cv_have_section_quotes,
1508 [cat > conftest.c <<EOF
1509 static const int foo
1510 __attribute__ ((section ("bar"))) = 1;
1512 if ${CC-cc} -S conftest.c -o conftest.s; then
1513 if grep '\.section.*"bar"' conftest.s >/dev/null; then
1514 libc_cv_have_section_quotes=yes
1516 libc_cv_have_section_quotes=no
1519 libc_cv_have_section_quotes=unknown
1523 if test $libc_cv_have_section_quotes = yes; then
1524 AC_DEFINE(HAVE_SECTION_QUOTES)
1528 dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1529 AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
1530 [cat > conftest.$ac_ext <<EOF
1531 dnl This sometimes fails to find confdefs.h, for some reason.
1532 dnl [#]line $LINENO "[$]0"
1533 [#]line $LINENO "configure"
1534 #include "confdefs.h"
1535 void underscore_test(void) {
1538 if AC_TRY_EVAL(ac_compile); then
1539 if grep _underscore_test conftest* >/dev/null; then
1540 ifelse([$1], , :, [rm -f conftest*
1543 ifelse([$2], , , [rm -f conftest*
1547 echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
1548 cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
1549 ifelse([$2], , , [rm -f conftest*
1554 if test $elf = yes; then
1555 libc_cv_asm_underscores=no
1557 if test $ac_cv_prog_cc_works = yes; then
1558 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1559 [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
1560 libc_cv_asm_underscores=yes,
1561 libc_cv_asm_underscores=no)])
1563 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1564 [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
1565 libc_cv_asm_underscores=no)])
1568 if test $libc_cv_asm_underscores = no; then
1569 AC_DEFINE(NO_UNDERSCORES)
1572 if test $elf = yes; then
1573 libc_cv_weak_symbols=yes
1576 AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
1578 cat > conftest.s <<EOF
1580 ${libc_cv_asm_global_directive} foo
1583 .weak bar; bar = foo
1585 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1586 libc_cv_asm_weak_directive=yes
1588 libc_cv_asm_weak_directive=no
1592 if test $libc_cv_asm_weak_directive = no; then
1593 AC_CACHE_CHECK(for assembler .weakext directive,
1594 libc_cv_asm_weakext_directive,
1596 cat > conftest.s <<EOF
1598 ${libc_cv_asm_global_directive} foo
1602 ${libc_cv_asm_global_directive} baz
1605 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1606 libc_cv_asm_weakext_directive=yes
1608 libc_cv_asm_weakext_directive=no
1614 if test $libc_cv_asm_weak_directive = yes; then
1615 AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
1616 elif test $libc_cv_asm_weakext_directive = yes; then
1617 AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
1620 AC_CACHE_CHECK(whether CFI directives are supported, libc_cv_asm_cfi_directives, [dnl
1621 cat > conftest.s <<EOF
1623 .type func,@function
1627 .cfi_rel_offset 1, 0
1630 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1631 libc_cv_asm_cfi_directives=yes
1633 libc_cv_asm_cfi_directives=no
1636 if test $libc_cv_asm_cfi_directives = yes; then
1637 AC_DEFINE(HAVE_ASM_CFI_DIRECTIVES)
1640 AC_CACHE_CHECK(if -g produces usable source locations for assembler-with-cpp,
1641 libc_cv_cpp_asm_debuginfo, [dnl
1642 cat > conftest.S <<EOF
1643 #include "confdefs.h"
1648 ${libc_cv_asm_global_directive} foo
1650 /* Unfortunately this test only works for a real instruction,
1651 not for any of the machine-independent pseudo-ops.
1652 So we just have to assume everybody has a "nop". */
1659 if AC_TRY_COMMAND([${CC-cc} $CPPFLAGS $ASFLAGS -g -c conftest.S 1>&AS_MESSAGE_LOG_FD]) && {
1660 ac_pattern='conftest\.S'
1661 AC_TRY_COMMAND([readelf --debug-dump=line conftest.o |
1662 grep $ac_pattern 1>&AS_MESSAGE_LOG_FD])
1664 libc_cv_cpp_asm_debuginfo=yes
1666 libc_cv_cpp_asm_debuginfo=no
1668 rm -f conftest*])AC_SUBST(libc_cv_cpp_asm_debuginfo)
1669 if test $libc_cv_cpp_asm_debuginfo = yes; then
1670 AC_DEFINE(HAVE_CPP_ASM_DEBUGINFO)
1673 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
1674 cat > conftest.c <<\EOF
1679 dnl No \ in command here because it ends up inside ''.
1680 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1681 -nostdlib -nostartfiles -Wl,--no-whole-archive
1682 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1683 libc_cv_ld_no_whole_archive=yes
1685 libc_cv_ld_no_whole_archive=no
1688 if test $libc_cv_ld_no_whole_archive = yes; then
1689 no_whole_archive=-Wl,--no-whole-archive
1691 AC_SUBST(no_whole_archive)dnl
1693 AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
1694 cat > conftest.c <<\EOF
1699 dnl No \ in command here because it ends up inside ''.
1700 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1701 -nostdlib -nostartfiles -fexceptions
1702 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1703 libc_cv_gcc_exceptions=yes
1705 libc_cv_gcc_exceptions=no
1708 if test $libc_cv_gcc_exceptions = yes; then
1709 exceptions=-fexceptions
1711 AC_SUBST(exceptions)dnl
1713 if test "$host_cpu" = powerpc ; then
1714 # Check for a bug present in at least versions 2.8.x of GCC
1715 # and versions 1.0.x of EGCS.
1716 AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
1717 AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
1718 libc_cv_c_asmcr0_bug='no',
1719 libc_cv_c_asmcr0_bug='yes')])
1720 if test "$libc_cv_c_asmcr0_bug" != 'no'; then
1721 AC_DEFINE(BROKEN_PPC_ASM_CR0)
1725 AC_CACHE_CHECK(for DWARF2 unwind info support, libc_cv_gcc_dwarf2_unwind_info,
1726 [cat > conftest.c <<EOF
1727 #line $LINENO "configure"
1728 static char *__EH_FRAME_BEGIN__;
1731 #ifdef CHECK__register_frame
1732 __register_frame (__EH_FRAME_BEGIN__);
1733 __deregister_frame (__EH_FRAME_BEGIN__);
1735 #ifdef CHECK__register_frame_info
1736 __register_frame_info (__EH_FRAME_BEGIN__);
1737 __deregister_frame_info (__EH_FRAME_BEGIN__);
1742 /* FIXME: this is fragile. */
1751 dl_iterate_phdr () {}
1753 libc_unwind_check="${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame_info \
1755 -nostdlib -nostartfiles -o conftest conftest.c \
1757 # Some platforms' specs put -lgcc first. The second one doesn't hurt.
1758 if AC_TRY_COMMAND([$libc_unwind_check >&AS_MESSAGE_LOG_FD]) ||
1759 AC_TRY_COMMAND([$libc_unwind_check -lgcc_eh -lgcc >&AS_MESSAGE_LOG_FD])
1761 if $libc_unwind_check -v 2>&1 >/dev/null \
1762 | grep -- --eh-frame-hdr 2>&1 >/dev/null; then
1763 libc_cv_gcc_dwarf2_unwind_info=no_registry_needed
1765 libc_cv_gcc_dwarf2_unwind_info=static
1768 libc_cv_gcc_dwarf2_unwind_info=no
1770 if test $libc_cv_gcc_dwarf2_unwind_info = no; then
1771 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame
1772 $LDFLAGS -nostdlib -nostartfiles
1773 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1774 libc_cv_gcc_dwarf2_unwind_info=yes
1776 libc_cv_gcc_dwarf2_unwind_info=no
1780 case $libc_cv_gcc_dwarf2_unwind_info in
1782 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1785 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1786 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO_STATIC)
1790 dnl Check whether compiler understands __builtin_expect.
1791 AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
1792 [cat > conftest.c <<EOF
1793 #line $LINENO "configure"
1796 a = __builtin_expect (a, 10);
1797 return a == 10 ? 0 : 1;
1800 dnl No \ in command here because it ends up inside ''.
1801 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
1802 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1803 libc_cv_gcc_builtin_expect=yes
1805 libc_cv_gcc_builtin_expect=no
1808 if test "$libc_cv_gcc_builtin_expect" = yes; then
1809 AC_DEFINE(HAVE_BUILTIN_EXPECT)
1812 AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
1813 cat > conftest.c <<\EOF
1816 __builtin_memset (x, 0, 1000);
1820 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
1822 libc_cv_gcc_builtin_memset=no
1824 libc_cv_gcc_builtin_memset=yes
1827 if test "$libc_cv_gcc_builtin_memset" = yes ; then
1828 AC_DEFINE(HAVE_BUILTIN_MEMSET)
1831 AC_CACHE_CHECK(for redirection of built-in functions, libc_cv_gcc_builtin_redirection, [dnl
1832 cat > conftest.c <<\EOF
1833 extern char *strstr (const char *, const char *) __asm ("my_strstr");
1834 char *foo (const char *a, const char *b)
1836 return __builtin_strstr (a, b);
1840 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null]);
1842 libc_cv_gcc_builtin_redirection=yes
1844 libc_cv_gcc_builtin_redirection=no
1847 if test "$libc_cv_gcc_builtin_redirection" = yes ; then
1848 AC_DEFINE(HAVE_BUILTIN_REDIRECTION)
1851 dnl Check whether the compiler supports subtraction of local labels.
1852 AC_CACHE_CHECK(for local label subtraction, libc_cv_gcc_subtract_local_labels,
1853 [cat > conftest.c <<EOF
1855 #line $LINENO "configure"
1858 static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
1859 void *p = &&l1 + ar[a];
1868 dnl No \ in command here because it ends up inside ''.
1869 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
1870 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1871 libc_cv_gcc_subtract_local_labels=yes
1873 libc_cv_gcc_subtract_local_labels=no
1876 if test "$libc_cv_gcc_subtract_local_labels" = yes; then
1877 AC_DEFINE(HAVE_SUBTRACT_LOCAL_LABELS)
1880 dnl Check whether the compiler supports the __thread keyword.
1881 if test "x$use__thread" != xno; then
1882 AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
1883 [cat > conftest.c <<\EOF
1884 __thread int a = 42;
1886 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c >&AS_MESSAGE_LOG_FD]); then
1887 libc_cv_gcc___thread=yes
1889 libc_cv_gcc___thread=no
1892 if test "$libc_cv_gcc___thread" = yes; then
1893 AC_DEFINE(HAVE___THREAD)
1896 libc_cv_gcc___thread=no
1899 if test "$libc_cv_gcc___thread" = yes; then
1900 dnl Check whether the compiler supports the tls_model attribute.
1901 AC_CACHE_CHECK([for tls_model attribute], libc_cv_gcc_tls_model_attr, [dnl
1902 cat > conftest.c <<\EOF
1903 extern __thread int a __attribute__((tls_model ("initial-exec")));
1905 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -Werror conftest.c >&AS_MESSAGE_LOG_FD]); then
1906 libc_cv_gcc_tls_model_attr=yes
1908 libc_cv_gcc_tls_model_attr=no
1911 if test "$libc_cv_gcc_tls_model_attr" = yes; then
1912 AC_DEFINE(HAVE_TLS_MODEL_ATTRIBUTE)
1916 dnl Check whether we have the gd library available.
1917 AC_MSG_CHECKING(for libgd)
1918 if test "$with_gd" != "no"; then
1919 old_CFLAGS="$CFLAGS"
1920 CFLAGS="$CFLAGS $libgd_include"
1921 old_LDFLAGS="$LDFLAGS"
1922 LDFLAGS="$LDFLAGS $libgd_ldflags"
1924 LIBS="$LIBS -lgd -lpng -lz -lm"
1925 AC_TRY_LINK([#include <gd.h>], [gdImagePng (0, 0)], LIBGD=yes, LIBGD=no)
1926 CFLAGS="$old_CFLAGS"
1927 LDFLAGS="$old_LDFLAGS"
1932 AC_MSG_RESULT($LIBGD)
1936 if test x$with_selinux = xno ; then
1939 # See if we have the SELinux library
1940 AC_CHECK_LIB(selinux, is_selinux_enabled,
1941 have_selinux=yes, have_selinux=no)
1942 # See if we have the SELinux header with the NSCD permissions in it.
1943 if test x$have_selinux = xyes ; then
1944 AC_MSG_CHECKING([for NSCD Flask permissions in selinux/av_permissions.h])
1945 AC_TRY_COMPILE([#include <selinux/av_permissions.h>],
1946 [#ifdef NSCD__SHMEMHOST
1949 #error NSCD__SHMEMHOST not defined
1951 have_selinux=yes, have_selinux=no)
1952 AC_MSG_RESULT($have_selinux)
1955 if test x$with_selinux = xyes ; then
1956 if test x$have_selinux = xno ; then
1957 AC_MSG_ERROR([SELinux explicitly required, but sufficiently recent SELinux library not found])
1961 # Check if we're building with SELinux support.
1962 if test "x$have_selinux" = xyes; then
1963 AC_DEFINE(HAVE_SELINUX,1,[SELinux support])
1965 AC_SUBST(have_selinux)
1967 dnl check for the size of 'long double'.
1968 AC_CHECK_SIZEOF(long double, 0)
1969 sizeof_long_double=$ac_cv_sizeof_long_double
1970 AC_SUBST(sizeof_long_double)
1972 ### End of automated tests.
1973 ### Now run sysdeps configure fragments.
1975 # They also can set these variables.
1977 ldd_rewrite_script=no
1978 libc_cv_sysconfdir=$sysconfdir
1979 libc_cv_gcc_unwind_find_fde=no
1982 # Iterate over all the sysdep directories we will use, running their
1983 # configure fragments, and looking for a uname implementation.
1985 for dir in $sysnames; do
1988 *) dest=$srcdir/$dir ;;
1990 if test -r $dest/configure; then
1991 AC_MSG_RESULT(running configure fragment for $dir)
1995 if test -z "$uname"; then
1996 if test -r $dest/uname.c ||
1997 test -r $dest/uname.S ||
1998 { test -r $dest/syscalls.list &&
1999 grep '^uname[ ]' $dest/syscalls.list >/dev/null; }; then
2006 if test x$libc_cv_gcc_unwind_find_fde = xyes; then
2007 AC_DEFINE(EXPORT_UNWIND_FIND_FDE)
2009 AC_SUBST(libc_cv_gcc_unwind_find_fde)
2011 # If we will use the generic uname implementation, we must figure out what
2012 # it will say by examining the system, and write the results in config-name.h.
2013 if test "$uname" = "sysdeps/generic"; then
2016 uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
2018 if test $uname_sysname != $config_os; then
2019 config_release=`echo $config_os | sed s/$uname_sysname//`
2022 AC_DEFUN(LIBC_KERNEL_ID, [dnl
2023 if test -r /vmunix; then
2024 kernel_id=`strings /vmunix | grep UNIX`
2025 elif test -r /dynix; then
2026 kernel_id=`strings /dynix | grep DYNIX`
2032 AC_CACHE_CHECK(OS release for uname, libc_cv_uname_release, [dnl
2035 kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
2037 if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
2038 != x$config_release; then
2039 # The configuration release is a substring of the kernel release.
2040 libc_cv_uname_release=$kernel_release
2041 elif test x$config_release != x; then
2042 libc_cv_uname_release=$config_release
2043 elif test x$kernel_release != x; then
2044 libc_cv_uname_release=$kernel_release
2046 libc_cv_uname_release=unknown
2048 uname_release="$libc_cv_uname_release"
2050 AC_CACHE_CHECK(OS version for uname, libc_cv_uname_version, [dnl
2053 kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
2055 if test -n "$kernel_version"; then
2056 libc_cv_uname_version="$kernel_version"
2058 libc_cv_uname_version=unknown
2060 uname_version="$libc_cv_uname_version"
2062 AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl
2063 config_uname=config-name.h:config-name.in
2065 # For non-generic uname, we don't need to create config-name.h at all.
2069 dnl This is tested by existing code and it's simpler to avoid changing it.
2070 AC_DEFINE(USE_IN_LIBIO)
2072 # Test for old glibc 2.0.x headers so that they can be removed properly
2073 # Search only in includedir.
2074 AC_MSG_CHECKING(for old glibc 2.0.x headers)
2075 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
2077 old_glibc_headers=yes
2079 old_glibc_headers=no
2081 AC_MSG_RESULT($old_glibc_headers)
2082 if test ${old_glibc_headers} = yes; then
2083 AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
2084 AC_MSG_WARN(*** be removed.)
2086 AC_SUBST(old_glibc_headers)
2088 AC_SUBST(libc_cv_slibdir)
2089 AC_SUBST(libc_cv_localedir)
2090 AC_SUBST(libc_cv_sysconfdir)
2091 AC_SUBST(libc_cv_rootsbindir)
2092 AC_SUBST(libc_cv_forced_unwind)
2094 AC_SUBST(use_ldconfig)
2095 AC_SUBST(ldd_rewrite_script)
2097 AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) AC_SUBST(xcoff)
2098 if test $gnu_ld = yes; then
2099 AC_DEFINE(HAVE_GNU_LD)
2101 if test $gnu_as = yes; then
2102 AC_DEFINE(HAVE_GNU_AS)
2104 if test $elf = yes; then
2107 if test $xcoff = yes; then
2108 AC_DEFINE(HAVE_XCOFF)
2113 if test $shared = default; then
2114 if test $gnu_ld = yes; then
2117 # For now we do not assume shared libs are available. In future more
2118 # tests might become available.
2123 if test x"$libc_cv_idn" = xyes; then
2124 AC_DEFINE(HAVE_LIBIDN)
2127 AC_CACHE_CHECK([whether -fPIC is default], pic_default,
2129 cat > conftest.c <<EOF
2130 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
2131 # error PIC is default.
2134 if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
2138 AC_SUBST(pic_default)
2143 AC_SUBST(static_nss)
2144 AC_SUBST(nopic_initfini)
2149 *door*) linux_doors=yes ;;
2150 *) linux_doors=no ;;
2152 AC_SUBST(linux_doors)
2154 dnl See sysdeps/mach/configure.in for this variable.
2155 AC_SUBST(mach_interface_list)
2157 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
2160 config_makefile=Makefile
2163 VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
2164 RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
2168 AC_CONFIG_FILES([config.make ${config_makefile} ${config_uname}])
2169 AC_CONFIG_COMMANDS([default],[[
2170 case $CONFIG_FILES in *config.make*)
2171 echo "$config_vars" >> config.make;;
2173 test -d bits || mkdir bits]],[[config_vars='$config_vars']])