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 AC_ARG_ENABLE([stackguard-randomization],
178 AC_HELP_STRING([--enable-stackguard-randomization],
179 [initialize __stack_chk_guard canary with a random number at program start]),
180 [enable_stackguard_randomize=$enableval],
181 [enable_stackguard_randomize=no])
182 if test "$enable_stackguard_randomize" = yes; then
183 AC_DEFINE(ENABLE_STACKGUARD_RANDOMIZE)
186 dnl Generic infrastructure for drop-in additions to libc.
187 AC_ARG_ENABLE([add-ons],
188 AC_HELP_STRING([--enable-add-ons@<:@=DIRS...@:>@],
189 [configure and build add-ons in DIR1,DIR2,... search for add-ons if no parameter given]),
190 [case "$enableval" in
191 yes) add_ons=`cd $srcdir && echo */configure | sed -e 's!/configure!!g'`
192 add_ons_automatic=yes
193 test "$add_ons" = "*" && add_ons= ;;
194 *) add_ons=`echo "$enableval" | sed 's/,/ /g'`
195 add_ons_automatic=no ;;
197 [add_ons= add_ons_automatic=no])
199 dnl Let the user avoid using TLS. Don't know why but...
201 AC_HELP_STRING([--with-tls],
202 [enable support for TLS]),
206 AC_ARG_WITH([__thread],
207 AC_HELP_STRING([--without-__thread],
208 [do not use TLS features even when supporting them]),
209 [use__thread=$withval],
212 AC_ARG_ENABLE([hidden-plt],
213 AC_HELP_STRING([--disable-hidden-plt],
214 [do not hide internal function calls to avoid PLT]),
217 if test "x$hidden" = xno; then
221 AC_ARG_ENABLE([bind-now],
222 AC_HELP_STRING([--enable-bind-now],
223 [disable lazy relocations in DSOs]),
224 [bindnow=$enableval],
228 dnl On some platforms we cannot use dynamic loading. We must provide
229 dnl static NSS modules.
230 AC_ARG_ENABLE([static-nss],
231 AC_HELP_STRING([--enable-static-nss],
232 [build static NSS modules @<:@default=no@:>@]),
233 [static_nss=$enableval],
235 dnl Enable static NSS also if we build no shared objects.
236 if test x"$static_nss" = xyes || test x"$shared" = xno; then
238 AC_DEFINE(DO_STATIC_NSS)
241 AC_ARG_ENABLE([force-install],
242 AC_HELP_STRING([--disable-force-install],
243 [don't force installation of files from this package, even if they are older than the installed files]),
244 [force_install=$enableval],
246 AC_SUBST(force_install)
248 dnl On some platforms we allow dropping compatibility with all kernel
250 AC_ARG_ENABLE([kernel],
251 AC_HELP_STRING([--enable-kernel=VERSION],
252 [compile for compatibility with kernel not older than VERSION]),
253 [minimum_kernel=$enableval],
255 dnl Prevent unreasonable values.
256 if test "$minimum_kernel" = yes || test "$minimum_kernel" = no; then
257 # Better nothing than this.
260 if test "$minimum_kernel" = current; then
261 minimum_kernel=`uname -r 2>/dev/null` || minimum_kernel=
265 dnl For the development we sometimes want gcc to issue even more warnings.
266 dnl This is not the default since many of the extra warnings are not
268 AC_ARG_ENABLE([all-warnings],
269 AC_HELP_STRING([--enable-all-warnings],
270 [enable all useful warnings gcc can issue]),
271 [all_warnings=$enableval],
273 AC_SUBST(all_warnings)
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 gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
302 # These systems always use GNU tools.
303 gnu_ld=yes gnu_as=yes ;;
306 # i586-linuxaout is mangled into i586-pc-linux-gnuaout
307 linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
309 gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
310 # These systems (almost) always use the ELF format.
314 # These systems are always xcoff
320 # The configure fragment of an add-on port can modify these to supplement
321 # or override the table in the case statement below. No fragment should
322 # ever change the config_* variables, however.
323 machine=$config_machine
324 vendor=$config_vendor
327 # config.guess on some IBM machines says `rs6000' instead of `powerpc'.
329 if test "$machine" = rs6000; then
333 # Braindead PowerPC box with absolutely no FPU.
334 case "$machine-$host_os" in
341 # An add-on can set this when it the tuple to disable the sanity check below.
344 dnl Having this here, though empty, makes sure that if add-ons' fragments
345 dnl do AC_CONFIG_SUBDIRS([some-dir]), which just sets $subdirs, then
346 dnl our AC_OUTPUT will actually use it.
351 if test x"$add_ons" != x; then
352 for f in $add_ons; do
357 *** It seems that you're using an old \`crypt' add-on. crypt is now
358 *** part of glibc and using the old add-on will not work with this
359 *** release. Start again with fresh sources and without the old
360 *** \`crypt' add-on.])
364 *** It seems that you're using an old \`localedata' add-on. localedata
365 *** is now part of glibc and using the old add-on will not work with
366 *** this release. Start again with fresh sources and without the old
367 *** \`localedata' add-on.])
371 # Test whether such a subdir really exists.
372 test -d $srcdir/$f || {
373 AC_MSG_ERROR(add-on directory \"$f\" does not exist)
377 # Now source each add-on's configure fragment.
378 # The fragments can use $srcdir/$libc_add_on to find themselves,
379 # and test $add_ons_automatic to see if they were explicitly requested.
380 # A fragment can clear (or even change) $libc_add_on to affect
381 # whether it goes into the list to be actually used in the build.
383 for libc_add_on in $add_ons; do
384 libc_add_on_frag=$srcdir/$libc_add_on/configure
385 if test -r $libc_add_on_frag; then
386 AC_MSG_RESULT(running configure fragment for add-on $libc_add_on)
389 AC_MSG_WARN(add-on fragment $libc_add_on_frag missing)
391 if test -n "$libc_add_on"; then
392 use_add_ons="$use_add_ons $libc_add_on"
393 add_ons_pfx="$add_ons_pfx $libc_add_on/"
394 add_ons_sfx="$add_ons_sfx /$libc_add_on"
397 # Use echo to strip excess whitespace.
398 add_ons="`echo $use_add_ons`"
404 ### I put this here to prevent those annoying emails from people who cannot
405 ### read and try to compile glibc on unsupported platforms. --drepper
407 ### By using the undocumented --enable-hacker-mode option for configure
408 ### one can skip this test to make the configuration not fail for unsupported
411 if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then
412 case "$machine-$host_os" in
413 *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
416 echo "*** The GNU C library is currently not available for this platform."
417 echo "*** So far nobody cared to port it and if there is no volunteer it"
418 echo "*** might never happen. So, if you have interest to see glibc on"
419 echo "*** this platform visit"
420 echo "*** http://www.gnu.org/software/libc/porting.html"
421 echo "*** and join the group of porters"
427 dnl We need to use [ and ] for other purposes for a while now.
429 # Expand the configuration machine name into a subdirectory by architecture
430 # type and particular chip. If an add-on configure fragment already set
431 # base_machine, we don't change it.
432 test -n "$base_machine" || case "$machine" in
433 a29k | am29000) base_machine=a29k machine=a29k ;;
434 alpha*) base_machine=alpha machine=alpha/$machine ;;
435 c3[012]) base_machine=cx0 machine=cx0/c30 ;;
436 c4[04]) base_machine=cx0 machine=cx0/c40 ;;
437 hppa*64*) base_machine=hppa machine=hppa/hppa64 ;;
438 hppa*) base_machine=hppa machine=hppa/hppa1.1 ;;
439 i[34567]86) base_machine=i386 machine=i386/$machine ;;
440 ia64) base_machine=ia64 machine=ia64 ;;
441 m680?0) base_machine=m68k machine=m68k/$machine ;;
442 m68k) base_machine=m68k machine=m68k/m68020 ;;
443 m88???) base_machine=m88k machine=m88k/$machine ;;
444 m88k) base_machine=m88k machine=m88k/m88100 ;;
445 mips64*) base_machine=mips64
446 case "$CC $CFLAGS $CPPFLAGS " in
447 *" -mabi=n32 "*) mips_cc_abi=n32 ;;
448 *" -mabi=64 "*|*" -mabi=n64 "*) mips_cc_abi=64 ;;
449 *" -mabi=32 "*|*" -mabi=o32 "*) mips_cc_abi=32 ;;
450 *) mips_cc_abi=default ;;
453 *abin32*) mips_config_abi=n32 ;;
454 *abi64*|*abin64*) mips_config_abi=64 ;;
455 *abi32*|*abio32*) mips_config_abi=32 ;;
456 *) mips_config_abi=$mips_cc_abi ;;
458 case $mips_config_abi in
459 default) machine=mips/mips64/n32 mips_config_abi=n32 ;;
460 n32) machine=mips/mips64/n32 ;;
461 64) machine=mips/mips64/n64 ;;
462 32) machine=mips/mips32/kern64 ;;
464 machine=$machine/$config_machine
465 if test $mips_config_abi != $mips_cc_abi; then
466 # This won't make it to config.make, but we want to
467 # set this in case configure tests depend on it.
468 CPPFLAGS="$CPPFLAGS -mabi=$mips_config_abi"
471 mips*) base_machine=mips machine=mips/mips32/$machine ;;
472 powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;;
473 powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;;
474 s390) base_machine=s390 machine=s390/s390-32 ;;
475 s390x) base_machine=s390 machine=s390/s390-64 ;;
476 sh3*) base_machine=sh machine=sh/sh3 ;;
477 sh4*) base_machine=sh machine=sh/sh4 ;;
479 base_machine=sparc machine=sparc/sparc32 ;;
480 sparcv8 | supersparc | hypersparc)
481 base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
482 sparcv8plus | sparcv8plusa | sparcv9)
483 base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
484 sparcv8plusb | sparcv9b)
485 base_machine=sparc machine=sparc/sparc32/sparcv9b ;;
487 base_machine=sparc machine=sparc/sparc64 ;;
489 base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
490 *) base_machine=$machine ;;
493 AC_SUBST(base_machine)
495 if test "$base_machine" = "i386"; then
496 AC_DEFINE(USE_REGPARMS)
499 # Compute the list of sysdep directories for this configuration.
500 # This can take a while to compute.
501 sysdep_dir=$srcdir/sysdeps
502 AC_MSG_CHECKING(sysdep dirs)
503 dnl We need to use [ and ] for other purposes for a while now.
505 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
506 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
511 netbsd* | 386bsd* | freebsd* | bsdi*)
512 base_os=unix/bsd/bsd4.4 ;;
513 osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
515 sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
518 base_os=unix/sysv/irix6/$os ;;
520 base_os=unix/sysv/sysv4 ;;
522 base_os=unix/sysv/hpux/$os ;;
524 base_os=unix/sysv/aix/aix4.3 ;;
526 base_os=standalone ;;
531 # For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
534 while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
538 o=`echo $tail | sed 's/[0-9]*$//'`
539 if test $o != $tail; then
542 # For linux-gnu, try linux-gnu, then linux.
543 o=`echo $tail | sed 's/-.*$//'`
544 if test $o != $tail; then
548 # For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
551 while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
557 # For sparc/sparc32, try sparc/sparc32 and then sparc.
560 while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
562 # Prepend the machine's FPU directory unless --without-fp.
563 if test "$with_fp" = yes; then
566 mach="$mach /$1/nofpu"
572 dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
575 # Find what sysdep directories exist.
577 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
578 for d in $add_ons_pfx ''; do
579 for b in $base ''; do
580 for m0 in $mach ''; do
581 for v in /$vendor ''; do
582 test "$v" = / && continue
583 for o in /$ostry ''; do
584 test "$o" = / && continue
585 for m in $mach ''; do
586 for a in $add_ons_sfx ''; do
587 if test "$m0$b$v$o$m"; then
588 try="${d}sysdeps$m0$b$v$o$m$a"
589 test -n "$enable_debug_configure" &&
590 echo "$0 [DEBUG]: try $try" >&2
591 if test -d $srcdir/$try; then
592 sysnames="$sysnames $try"
593 { test -n "$o" || test -n "$b"; } && os_used=t
594 { test -n "$m" || test -n "$m0"; } && machine_used=t
603 if test -n "$d"; then
604 try="${d}sysdeps/generic"
605 test -n "$enable_debug_configure" &&
606 echo "$0 DEBUG: try $try" >&2
607 if test -d $srcdir/$try; then
608 sysnames="$sysnames $try"
614 if test -z "$os_used" && test "$os" != none; then
615 AC_MSG_ERROR(Operating system $os is not supported.)
617 if test -z "$machine_used" && test "$machine" != none; then
618 AC_MSG_ERROR(The $machine is not supported.)
621 # We have now validated the configuration.
624 # If using ELF, look for an `elf' subdirectory of each machine directory.
625 # We prepend these rather than inserting them whereever the machine appears
626 # because things specified by the machine's ELF ABI should override
627 # OS-specific things, and should always be the same for any OS on the
628 # machine (otherwise what's the point of an ABI?).
629 if test "$elf" = yes; then
631 for d in $add_ons_pfx ''; do
633 if test -d $srcdir/${d}sysdeps$m/elf; then
634 elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
638 sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
642 # Expand the list of system names into a full list of directories
643 # from each element's parent name and Implies file (if present).
646 while test $# -gt 0; do
650 case " $names " in *" $name "*)
651 # Already in the list.
655 # Report each name as we discover it, so there is no long pause in output.
656 echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
658 name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
662 *) xsrcdir=$srcdir/ ;;
664 test -n "$enable_debug_configure" &&
665 echo "[DEBUG]: name/Implies $xsrcdir$name/Implies" >&2
667 if test -f $xsrcdir$name/Implies; then
668 # Collect more names from the `Implies' file (removing comments).
669 implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
671 for x in $implied_candidate; do
673 if test -d $xsrcdir$name_base/$x; then
674 implied="$implied $name_base/$x";
677 for d in $add_ons_pfx ''; do
681 *) try_srcdir=$srcdir/ ;;
683 test -n "$enable_debug_configure" &&
684 echo "[DEBUG]: $name implied $x try($d) {$try_srcdir}$try" >&2
685 if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
687 implied="$implied $try"
691 if test $found = no; then
692 AC_MSG_WARN($name/Implies specifies nonexistent $x)
699 # Add NAME to the list of names.
702 # Find the parent of NAME, using the empty string if it has none.
704 parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
707 # Add the names implied by NAME, and NAME's parent (if it has one), to
708 # the list of names to be processed (the argument list). We prepend the
709 # implied names to the list and append the parent. We want implied
710 # directories to come before further directories inferred from the
711 # configuration components; this ensures that for sysv4, unix/common
712 # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
714 sysnames="`echo $implied $* $parent`"
715 test -n "$sysnames" && set $sysnames
718 # Add the default directories.
719 default_sysnames=sysdeps/generic
720 if test "$elf" = yes; then
721 default_sysnames="sysdeps/generic/elf $default_sysnames"
723 sysnames="$names $default_sysnames"
725 # The other names were emitted during the scan.
726 AC_MSG_RESULT($default_sysnames)
732 if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
733 # The makefiles need to use a different form to find it in $srcdir.
734 INSTALL='\$(..)./scripts/install-sh -c'
739 if test $host != $build; then
740 AC_CHECK_PROGS(BUILD_CC, gcc cc)
742 AC_SUBST(cross_compiling)
744 # We need the C++ compiler only for testing.
747 AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
749 # Accept binutils 2.13 or newer.
750 AC_CHECK_PROG_VER(AS, $AS, --version,
751 [GNU assembler.* \([0-9]*\.[0-9.]*\)],
752 [2.1[3-9]*], AS=: critic_missing="$critic_missing as")
753 AC_CHECK_PROG_VER(LD, $LD, --version,
754 [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
755 [2.1[3-9]*], LD=: critic_missing="$critic_missing ld")
757 # We need the physical current working directory. We cannot use the
758 # "pwd -P" shell builtin since that's not portable. Instead we try to
759 # find a pwd binary. Note that assigning to the PWD environment
760 # variable might have some interesting side effects, so we don't do
762 AC_PATH_PROG(PWD_P, pwd, no)
763 if test "$PWD_P" = no; then
764 AC_MSG_ERROR(*** A pwd binary could not be found.)
767 # These programs are version sensitive.
769 AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
770 [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | 4.[0-9]* ],
771 critic_missing="$critic_missing gcc")
772 AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
773 [GNU Make[^0-9]*\([0-9][0-9.]*\)],
774 [3.79* | 3.[89]*], critic_missing="$critic_missing make")
776 AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
777 [GNU gettext.* \([0-9]*\.[0-9.]*\)],
778 [0.10.3[6-9]* | 0.10.[4-9][0-9]* | 0.1[1-9]* | 0.[2-9][0-9]* | [1-9].*],
779 MSGFMT=: aux_missing="$aux_missing msgfmt")
780 AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
781 [GNU texinfo.* \([0-9][0-9.]*\)],
783 MAKEINFO=: aux_missing="$aux_missing makeinfo")
784 AC_CHECK_PROG_VER(SED, sed, --version,
785 [GNU sed version \([0-9]*\.[0-9.]*\)],
786 [3.0[2-9]*|3.[1-9]*|[4-9]*],
787 SED=: aux_missing="$aux_missing sed")
789 AC_CHECK_PROGS(AUTOCONF, autoconf, no)
791 xno|x|x:) AUTOCONF=no ;;
794 whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works, libc_cv_autoconf_works, [dnl
795 if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then
796 libc_cv_autoconf_works=yes
798 libc_cv_autoconf_works=no
800 test $libc_cv_autoconf_works = yes || AUTOCONF=no
803 if test "x$with_cvs" = xyes && test "x$AUTOCONF" = xno; then
804 # If --without-cvs they probably won't change configure.in, so no complaints.
805 aux_missing="$aux_missing autoconf"
808 test -n "$critic_missing" && AC_MSG_ERROR([
809 *** These critical programs are missing or too old:$critic_missing
810 *** Check the INSTALL file for required versions.])
812 test -n "$aux_missing" && AC_MSG_WARN([
813 *** These auxiliary programs are missing or incompatible versions:$aux_missing
814 *** some features will be disabled.
815 *** Check the INSTALL file for required versions.])
817 # if using special system headers, find out the compiler's sekrit
818 # header directory and add that to the list. NOTE: Only does the right
819 # thing on a system that doesn't need fixincludes. (Not presently a problem.)
820 if test -n "$sysheaders"; then
821 ccheaders=`$CC -print-file-name=include`
822 SYSINCLUDES="-nostdinc -isystem $ccheaders \
823 -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
825 AC_SUBST(SYSINCLUDES)
827 # check if ranlib is necessary
828 AC_CACHE_CHECK(whether ranlib is necessary, libc_cv_ranlib_necessary, [dnl
829 cat > conftest.c <<EOF
834 $CC $CFLAGS $CPPFLAGS -c conftest.c
835 $AR cr conftest.a conftest.o
836 cp conftest.a conftest2.a
838 if cmp -s conftest.a conftest2.a; then
839 libc_cv_ranlib_necessary=no
841 libc_cv_ranlib_necessary=yes
844 if test "$libc_cv_ranlib_necessary" = no; then
848 # Test if LD_LIBRARY_PATH contains the notation for the current directory
849 # since this would lead to problems installing/building glibc.
850 # LD_LIBRARY_PATH contains the current directory if one of the following
852 # - one of the terminals (":" and ";") is the first or last sign
853 # - two terminals occur directly after each other
854 # - the path contains an element with a dot in it
855 AC_MSG_CHECKING(LD_LIBRARY_PATH variable)
857 case ${LD_LIBRARY_PATH} in
858 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
859 ld_library_path_setting="contains current directory"
862 ld_library_path_setting="ok"
866 AC_MSG_RESULT($ld_library_path_setting)
867 if test "$ld_library_path_setting" != "ok"; then
869 *** LD_LIBRARY_PATH shouldn't contain the current directory when
870 *** building glibc. Please change the environment variable
871 *** and run configure again.])
874 AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl
875 if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
876 libc_cv_gcc_static_libgcc=
878 libc_cv_gcc_static_libgcc=-static-libgcc
880 AC_SUBST(libc_cv_gcc_static_libgcc)
882 AC_PATH_PROG(BASH, bash, no)
883 if test "$BASH" != no &&
884 $BASH -c 'test "$BASH_VERSINFO" \
885 && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then
886 libc_cv_have_bash2=yes
888 libc_cv_have_bash2=no
890 AC_SUBST(libc_cv_have_bash2)
892 dnl We need a ksh compatible shell for tzselect.
893 if test "$BASH" = no; then
894 AC_PATH_PROG(KSH, ksh, no)
895 if test "$KSH" = no; then
905 AC_SUBST(libc_cv_have_ksh)
908 AC_PATH_PROG(PERL, perl, no)
909 if test "$PERL" != no &&
910 (eval `$PERL -V:apiversion`; test `expr "$apiversion" \< 5` -ne 0); then
913 AC_PATH_PROG(INSTALL_INFO, install-info, no,
914 $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
915 AC_PATH_PROG(BISON, bison, no, $PATH:/usr/local/bin:/usr/bin:/bin)
917 AC_CACHE_CHECK(for signed size_t type, libc_cv_signed_size_t, [dnl
918 echo '#include <stddef.h>
919 FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
920 if eval "$ac_cpp conftest.c 2>/dev/null" \
921 | grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then
922 libc_cv_signed_size_t=no
924 libc_cv_signed_size_t=yes
927 if test $libc_cv_signed_size_t = yes; then
928 dnl Do this by hand instead of AC_DEFINE so can add #undef to avoid warnings.
929 cat >> confdefs.h <<\EOF
931 #define __SIZE_TYPE__ unsigned
935 AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl
937 [#define __need_size_t
938 #define __need_wchar_t
941 #include <stddef.h>], [size_t size; wchar_t wchar;
943 #error stddef.h ignored __need_*
945 if (&size == NULL || &wchar == NULL) abort ();],
946 libc_cv_friendly_stddef=yes,
947 libc_cv_friendly_stddef=no)])
948 if test $libc_cv_friendly_stddef = yes; then
949 config_vars="$config_vars
950 override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
953 AC_CACHE_CHECK(whether we need to use -P to assemble .S files,
954 libc_cv_need_minus_P, [dnl
955 cat > conftest.S <<EOF
956 #include "confdefs.h"
957 /* Nothing whatsoever. */
959 if AC_TRY_COMMAND(${CC-cc} $CPPFLAGS $ASFLAGS -c conftest.S 1>&AS_MESSAGE_LOG_FD); then
960 libc_cv_need_minus_P=no
962 libc_cv_need_minus_P=yes
965 if test $libc_cv_need_minus_P = yes; then
966 config_vars="$config_vars
967 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
970 AC_MSG_CHECKING(whether .text pseudo-op must be used)
971 AC_CACHE_VAL(libc_cv_dot_text, [dnl
972 cat > conftest.s <<EOF
976 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
977 libc_cv_dot_text=.text
980 if test -z "$libc_cv_dot_text"; then
986 AC_CACHE_CHECK(for assembler global-symbol directive,
987 libc_cv_asm_global_directive, [dnl
988 libc_cv_asm_global_directive=UNKNOWN
989 for ac_globl in .globl .global .EXPORT; do
990 cat > conftest.s <<EOF
995 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
996 libc_cv_asm_global_directive=${ac_globl}
999 test $libc_cv_asm_global_directive != UNKNOWN && break
1001 if test $libc_cv_asm_global_directive = UNKNOWN; then
1002 AC_MSG_ERROR(cannot determine asm global directive)
1004 AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
1007 AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
1008 cat > conftest.s <<EOF
1011 .set glibc_conftest_frobozz,foo
1012 $libc_cv_asm_global_directive glibc_conftest_frobozz
1014 # The alpha-dec-osf1 assembler gives only a warning for `.set'
1015 # (but it doesn't work), so we must do a linking check to be sure.
1016 cat > conftest1.c <<\EOF
1017 extern int glibc_conftest_frobozz;
1018 void _start() { glibc_conftest_frobozz = 1; }
1020 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
1021 -nostartfiles -nostdlib \
1022 -o conftest conftest.s conftest1.c 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1023 libc_cv_asm_set_directive=yes
1025 libc_cv_asm_set_directive=no
1028 if test $libc_cv_asm_set_directive = yes; then
1029 AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
1032 AC_CACHE_CHECK(for assembler .type directive prefix,
1033 libc_cv_asm_type_prefix, [dnl
1034 libc_cv_asm_type_prefix=no
1035 for ac_try_prefix in '@' '%' '#'; do
1036 cat > conftest.s <<EOF
1038 ${libc_cv_asm_global_directive} foo
1039 .type foo, ${ac_try_prefix}object
1044 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1045 libc_cv_asm_type_prefix=${ac_try_prefix}
1048 test "x$libc_cv_asm_type_prefix" != xno && break
1050 if test "x$libc_cv_asm_type_prefix" != xno; then
1051 AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
1054 AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
1055 [cat > conftest.s <<EOF
1058 .symver _sym,sym@VERS
1060 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1061 libc_cv_asm_symver_directive=yes
1063 libc_cv_asm_symver_directive=no
1066 AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
1067 if test $libc_cv_asm_symver_directive = yes; then
1068 cat > conftest.s <<EOF
1071 .symver _sym,sym@VERS
1073 cat > conftest.map <<EOF
1082 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1083 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $LDFLAGS -shared
1084 -o conftest.so conftest.o
1085 -nostartfiles -nostdlib
1086 -Wl,--version-script,conftest.map
1087 1>&AS_MESSAGE_LOG_FD]);
1089 libc_cv_ld_version_script_option=yes
1091 libc_cv_ld_version_script_option=no
1094 libc_cv_ld_version_script_option=no
1097 libc_cv_ld_version_script_option=no
1100 if test $shared != no &&
1101 test $libc_cv_asm_symver_directive = yes &&
1102 test $libc_cv_ld_version_script_option = yes &&
1103 test $enable_versioning = yes; then
1105 AC_DEFINE(DO_VERSIONING)
1109 AC_SUBST(VERSIONING)
1111 if test $elf = yes && test $shared != no && test $VERSIONING = no; then
1113 *** WARNING: You should not compile GNU libc without versioning. Not using
1114 *** versioning will introduce incompatibilities so that old binaries
1115 *** will not run anymore.
1116 *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
1118 if test $elf = yes; then
1119 AC_CACHE_CHECK(for .previous assembler directive,
1120 libc_cv_asm_previous_directive, [dnl
1121 cat > conftest.s <<EOF
1122 .section foo_section
1125 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1126 libc_cv_asm_previous_directive=yes
1128 libc_cv_asm_previous_directive=no
1131 if test $libc_cv_asm_previous_directive = yes; then
1132 AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
1134 AC_CACHE_CHECK(for .popsection assembler directive,
1135 libc_cv_asm_popsection_directive, [dnl
1136 cat > conftest.s <<EOF
1137 .pushsection foo_section
1140 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1141 libc_cv_asm_popsection_directive=yes
1143 libc_cv_asm_popsection_directive=no
1146 if test $libc_cv_asm_popsection_directive = yes; then
1147 AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
1150 AC_CACHE_CHECK(for .protected and .hidden assembler directive,
1151 libc_cv_asm_protected_directive, [dnl
1152 cat > conftest.s <<EOF
1158 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1159 libc_cv_asm_protected_directive=yes
1161 libc_cv_asm_protected_directive=no
1164 AC_SUBST(libc_cv_asm_protected_directive)
1165 AC_DEFINE(HAVE_PROTECTED)
1166 AC_DEFINE(HAVE_HIDDEN)
1168 if test $libc_cv_asm_protected_directive = yes; then
1169 AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
1170 libc_cv_visibility_attribute,
1171 [cat > conftest.c <<EOF
1172 int foo __attribute__ ((visibility ("hidden"))) = 1;
1173 int bar __attribute__ ((visibility ("protected"))) = 1;
1175 libc_cv_visibility_attribute=no
1176 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1177 if grep '\.hidden.*foo' conftest.s >/dev/null; then
1178 if grep '\.protected.*bar' conftest.s >/dev/null; then
1179 libc_cv_visibility_attribute=yes
1185 if test $libc_cv_visibility_attribute = yes; then
1186 AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
1190 if test $libc_cv_visibility_attribute = yes; then
1191 AC_CACHE_CHECK(for broken __attribute__((visibility())),
1192 libc_cv_broken_visibility_attribute,
1193 [cat > conftest.c <<EOF
1195 int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
1196 int bar (int x) { return x; }
1198 libc_cv_broken_visibility_attribute=yes
1199 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s1>&AS_MESSAGE_LOG_FD); then
1201 if grep '\.hidden[ _]foo' conftest.s >/dev/null; then
1203 libc_cv_broken_visibility_attribute=no
1206 rm -f conftest.c conftest.s
1208 if test $libc_cv_broken_visibility_attribute = yes; then
1209 AC_DEFINE(HAVE_BROKEN_VISIBILITY_ATTRIBUTE)
1213 AC_CACHE_CHECK(for broken __attribute__((alias())),
1214 libc_cv_broken_alias_attribute,
1215 [cat > conftest.c <<EOF
1216 extern int foo (int x) __asm ("xyzzy");
1217 int bar (int x) { return x; }
1218 extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
1220 extern __typeof (dfoo) dfoo __asm ("abccb");
1223 libc_cv_broken_alias_attribute=yes
1224 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1225 if grep 'xyzzy' conftest.s >/dev/null &&
1226 grep 'abccb' conftest.s >/dev/null; then
1227 libc_cv_broken_alias_attribute=no
1230 rm -f conftest.c conftest.s
1232 if test $libc_cv_broken_alias_attribute = yes; then
1233 AC_DEFINE(HAVE_BROKEN_ALIAS_ATTRIBUTE)
1236 if test $libc_cv_visibility_attribute = yes -a $gnu_ld = yes; then
1237 AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
1238 libc_cv_have_sdata_section,
1239 [echo "int i;" > conftest.c
1240 libc_cv_have_sdata_section=no
1241 if ${CC-cc} $LDFLAGS -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
1242 | grep '\.sdata' >/dev/null; then
1243 libc_cv_have_sdata_section=yes
1245 rm -f conftest.c conftest.so
1247 if test $libc_cv_have_sdata_section = yes; then
1248 AC_DEFINE(HAVE_SDATA_SECTION)
1252 AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
1253 libc_cv_initfinit_array, [dnl
1254 cat > conftest.c <<EOF
1255 int _start (void) { return 0; }
1256 int __start (void) { return 0; }
1257 int foo (void) { return 1; }
1258 int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
1260 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
1261 -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
1263 if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then
1264 libc_cv_initfinit_array=yes
1266 libc_cv_initfinit_array=no
1269 libc_cv_initfinit_array=no
1272 AC_SUBST(libc_cv_initfinit_array)
1273 if test $libc_cv_initfinit_array = yes; then
1274 AC_DEFINE(HAVE_INITFINI_ARRAY)
1277 AC_CACHE_CHECK(for libunwind-support in compiler,
1278 libc_cv_cc_with_libunwind, [
1279 cat > conftest.c <<EOF
1280 int main (void) { return 0; }
1282 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
1283 conftest.c -v 2>&1 >/dev/null | grep -q " -lunwind "; then
1284 libc_cv_cc_with_libunwind=yes
1286 libc_cv_cc_with_libunwind=no
1289 AC_SUBST(libc_cv_cc_with_libunwind)
1290 if test $libc_cv_cc_with_libunwind = yes; then
1291 AC_DEFINE(HAVE_CC_WITH_LIBUNWIND)
1294 AC_CACHE_CHECK(for -z nodelete option,
1295 libc_cv_z_nodelete, [dnl
1296 cat > conftest.c <<EOF
1297 int _start (void) { return 42; }
1299 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1300 -shared -o conftest.so conftest.c
1301 -nostartfiles -nostdlib
1302 -Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD])
1304 libc_cv_z_nodelete=yes
1306 libc_cv_z_nodelete=no
1309 AC_SUBST(libc_cv_z_nodelete)
1311 AC_CACHE_CHECK(for -z nodlopen option,
1312 libc_cv_z_nodlopen, [dnl
1313 cat > conftest.c <<EOF
1314 int _start (void) { return 42; }
1316 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1317 -shared -o conftest.so conftest.c
1318 -nostartfiles -nostdlib
1319 -Wl,--enable-new-dtags,-z,nodlopen 1>&AS_MESSAGE_LOG_FD])
1321 libc_cv_z_nodlopen=yes
1323 libc_cv_z_nodlopen=no
1326 AC_SUBST(libc_cv_z_nodlopen)
1328 AC_CACHE_CHECK(for -z initfirst option,
1329 libc_cv_z_initfirst, [dnl
1330 cat > conftest.c <<EOF
1331 int _start (void) { return 42; }
1333 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1334 -shared -o conftest.so conftest.c
1335 -nostartfiles -nostdlib
1336 -Wl,--enable-new-dtags,-z,initfirst 1>&AS_MESSAGE_LOG_FD])
1338 libc_cv_z_initfirst=yes
1340 libc_cv_z_initfirst=no
1343 AC_SUBST(libc_cv_z_initfirst)
1345 AC_CACHE_CHECK(for -z relro option,
1346 libc_cv_z_relro, [dnl
1348 if AC_TRY_COMMAND([${CC-cc} -v --help 2>&1|grep "z relro" 1>&AS_MESSAGE_LOG_FD])
1350 if AC_TRY_COMMAND([${CC-cc} -Wl,--verbose 2>&1|grep DATA_SEGMENT_RELRO_END 1>&AS_MESSAGE_LOG_FD])
1355 AC_SUBST(libc_cv_z_relro)
1356 if test $libc_cv_z_relro = yes; then
1357 AC_DEFINE(HAVE_Z_RELRO)
1360 AC_CACHE_CHECK(for -Bgroup option,
1361 libc_cv_Bgroup, [dnl
1362 cat > conftest.c <<EOF
1363 int _start (void) { return 42; }
1365 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1366 -shared -o conftest.so conftest.c
1367 -Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD])
1374 AC_SUBST(libc_cv_Bgroup)
1376 AC_CACHE_CHECK(for libgcc_s suffix,
1377 libc_cv_libgcc_s_suffix, [dnl
1378 cat > conftest.c <<EOF
1379 int main (void) { return 0; }
1382 libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
1383 -shared -shared-libgcc -o conftest.so \
1384 conftest.c -v 2>&1 >/dev/null \
1385 | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
1388 AC_SUBST(libc_cv_libgcc_s_suffix)
1390 AC_CACHE_CHECK(for --as-needed option,
1391 libc_cv_as_needed, [dnl
1392 cat > conftest.c <<EOF
1393 int main (void) { return 0; }
1395 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1396 -shared -o conftest.so conftest.c
1397 -lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
1398 -nostdlib 1>&AS_MESSAGE_LOG_FD])
1400 libc_cv_as_needed=yes
1402 libc_cv_as_needed=no
1405 AC_SUBST(libc_cv_as_needed)
1408 AC_CACHE_CHECK(whether --noexecstack is desirable for .S files,
1409 libc_cv_as_noexecstack, [dnl
1410 cat > conftest.c <<EOF
1413 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS
1414 -S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \
1415 && grep -q .note.GNU-stack conftest.s \
1416 && AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -Wa,--noexecstack
1417 -c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
1419 libc_cv_as_noexecstack=yes
1421 libc_cv_as_noexecstack=no
1424 if test $libc_cv_as_noexecstack = yes; then
1425 ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
1427 AC_SUBST(ASFLAGS_config)
1429 AC_CACHE_CHECK(for -z combreloc,
1430 libc_cv_z_combreloc, [dnl
1431 cat > conftest.c <<EOF
1432 extern int bar (int);
1434 int foo (void) { return bar (mumble); }
1436 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1437 -shared -o conftest.so conftest.c
1438 -nostdlib -nostartfiles
1439 -Wl,-z,combreloc 1>&AS_MESSAGE_LOG_FD])
1441 dnl The following test is a bit weak. We must use a tool which can test
1442 dnl cross-platform since the gcc used can be a cross compiler. Without
1443 dnl introducing new options this is not easily doable. Instead use a tool
1444 dnl which always is cross-platform: readelf. To detect whether -z combreloc
1445 dnl look for a section named .rel.dyn.
1446 if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
1447 libc_cv_z_combreloc=yes
1449 libc_cv_z_combreloc=no
1452 libc_cv_z_combreloc=no
1455 if test "$libc_cv_z_combreloc" = yes; then
1456 AC_DEFINE(HAVE_Z_COMBRELOC)
1458 AC_SUBST(libc_cv_z_combreloc)
1460 AC_CACHE_CHECK(for -z execstack,
1461 libc_cv_z_execstack, [dnl
1462 cat > conftest.c <<EOF
1463 int _start (void) { return 42; }
1465 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1466 -shared -o conftest.so conftest.c
1467 -Wl,-z,execstack -nostdlib
1468 1>&AS_MESSAGE_LOG_FD])
1470 libc_cv_z_execstack=yes
1472 libc_cv_z_execstack=no
1475 AC_SUBST(libc_cv_z_execstack)
1477 AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl
1478 cat > conftest.c <<EOF
1480 main () { return 0;}
1482 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
1483 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
1491 AC_SUBST(libc_cv_fpie)
1494 AC_CACHE_CHECK(for -fno-unit-at-a-time, libc_cv_fno_unit_at_a_time, [dnl
1495 cat > conftest.c <<EOF
1498 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -fno-unit-at-a-time
1499 conftest.c 1>&AS_MESSAGE_LOG_FD])
1501 libc_cv_fno_unit_at_a_time=yes
1503 libc_cv_fno_unit_at_a_time=no
1506 if test $libc_cv_fno_unit_at_a_time = yes; then
1507 fno_unit_at_a_time=-fno-unit-at-a-time
1509 AC_SUBST(fno_unit_at_a_time)
1511 if test $elf != yes; then
1512 AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
1513 [AC_TRY_COMPILE(, [asm (".section .init");
1514 asm (".section .fini");
1515 asm ("${libc_cv_dot_text}");],
1516 libc_cv_have_initfini=yes,
1517 libc_cv_have_initfini=no)])
1518 AC_SUBST(libc_cv_have_initfini)dnl
1519 if test $libc_cv_have_initfini = yes; then
1520 AC_DEFINE(HAVE_INITFINI)
1524 if test $elf = yes -a $gnu_ld = yes; then
1525 AC_CACHE_CHECK(whether cc puts quotes around section names,
1526 libc_cv_have_section_quotes,
1527 [cat > conftest.c <<EOF
1528 static const int foo
1529 __attribute__ ((section ("bar"))) = 1;
1531 if ${CC-cc} -S conftest.c -o conftest.s; then
1532 if grep '\.section.*"bar"' conftest.s >/dev/null; then
1533 libc_cv_have_section_quotes=yes
1535 libc_cv_have_section_quotes=no
1538 libc_cv_have_section_quotes=unknown
1542 if test $libc_cv_have_section_quotes = yes; then
1543 AC_DEFINE(HAVE_SECTION_QUOTES)
1547 dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1548 AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
1549 [cat > conftest.$ac_ext <<EOF
1550 dnl This sometimes fails to find confdefs.h, for some reason.
1551 dnl [#]line $LINENO "[$]0"
1552 [#]line $LINENO "configure"
1553 #include "confdefs.h"
1554 void underscore_test(void) {
1557 if AC_TRY_EVAL(ac_compile); then
1558 if grep _underscore_test conftest* >/dev/null; then
1559 ifelse([$1], , :, [rm -f conftest*
1562 ifelse([$2], , , [rm -f conftest*
1566 echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
1567 cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
1568 ifelse([$2], , , [rm -f conftest*
1573 if test $elf = yes; then
1574 libc_cv_asm_underscores=no
1576 if test $ac_cv_prog_cc_works = yes; then
1577 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1578 [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
1579 libc_cv_asm_underscores=yes,
1580 libc_cv_asm_underscores=no)])
1582 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1583 [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
1584 libc_cv_asm_underscores=no)])
1587 if test $libc_cv_asm_underscores = no; then
1588 AC_DEFINE(NO_UNDERSCORES)
1591 if test $elf = yes; then
1592 libc_cv_weak_symbols=yes
1595 AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
1597 cat > conftest.s <<EOF
1599 ${libc_cv_asm_global_directive} foo
1602 .weak bar; bar = foo
1604 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1605 libc_cv_asm_weak_directive=yes
1607 libc_cv_asm_weak_directive=no
1611 if test $libc_cv_asm_weak_directive = no; then
1612 AC_CACHE_CHECK(for assembler .weakext directive,
1613 libc_cv_asm_weakext_directive,
1615 cat > conftest.s <<EOF
1617 ${libc_cv_asm_global_directive} foo
1621 ${libc_cv_asm_global_directive} baz
1624 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1625 libc_cv_asm_weakext_directive=yes
1627 libc_cv_asm_weakext_directive=no
1633 if test $libc_cv_asm_weak_directive = yes; then
1634 AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
1635 elif test $libc_cv_asm_weakext_directive = yes; then
1636 AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
1639 AC_CACHE_CHECK(whether CFI directives are supported, libc_cv_asm_cfi_directives, [dnl
1640 cat > conftest.s <<EOF
1642 .type func,%function
1646 .cfi_rel_offset 1, 0
1649 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1650 libc_cv_asm_cfi_directives=yes
1652 libc_cv_asm_cfi_directives=no
1655 if test $libc_cv_asm_cfi_directives = yes; then
1656 AC_DEFINE(HAVE_ASM_CFI_DIRECTIVES)
1659 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
1660 cat > conftest.c <<\EOF
1665 dnl No \ in command here because it ends up inside ''.
1666 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1667 -nostdlib -nostartfiles -Wl,--no-whole-archive
1668 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1669 libc_cv_ld_no_whole_archive=yes
1671 libc_cv_ld_no_whole_archive=no
1674 if test $libc_cv_ld_no_whole_archive = yes; then
1675 no_whole_archive=-Wl,--no-whole-archive
1677 AC_SUBST(no_whole_archive)dnl
1679 AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
1680 cat > conftest.c <<\EOF
1685 dnl No \ in command here because it ends up inside ''.
1686 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1687 -nostdlib -nostartfiles -fexceptions
1688 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1689 libc_cv_gcc_exceptions=yes
1691 libc_cv_gcc_exceptions=no
1694 if test $libc_cv_gcc_exceptions = yes; then
1695 exceptions=-fexceptions
1697 AC_SUBST(exceptions)dnl
1699 if test "$host_cpu" = powerpc ; then
1700 # Check for a bug present in at least versions 2.8.x of GCC
1701 # and versions 1.0.x of EGCS.
1702 AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
1703 AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
1704 libc_cv_c_asmcr0_bug='no',
1705 libc_cv_c_asmcr0_bug='yes')])
1706 if test "$libc_cv_c_asmcr0_bug" != 'no'; then
1707 AC_DEFINE(BROKEN_PPC_ASM_CR0)
1711 AC_CACHE_CHECK(for DWARF2 unwind info support, libc_cv_gcc_dwarf2_unwind_info,
1712 [cat > conftest.c <<EOF
1713 #line $LINENO "configure"
1714 static char *__EH_FRAME_BEGIN__;
1717 #ifdef CHECK__register_frame
1718 __register_frame (__EH_FRAME_BEGIN__);
1719 __deregister_frame (__EH_FRAME_BEGIN__);
1721 #ifdef CHECK__register_frame_info
1722 __register_frame_info (__EH_FRAME_BEGIN__);
1723 __deregister_frame_info (__EH_FRAME_BEGIN__);
1728 /* FIXME: this is fragile. */
1737 dl_iterate_phdr () {}
1739 libc_unwind_check="${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame_info \
1741 -nostdlib -nostartfiles -o conftest conftest.c \
1743 # Some platforms' specs put -lgcc first. The second one doesn't hurt.
1744 if AC_TRY_COMMAND([$libc_unwind_check >&AS_MESSAGE_LOG_FD]) ||
1745 AC_TRY_COMMAND([$libc_unwind_check -lgcc_eh -lgcc >&AS_MESSAGE_LOG_FD])
1747 if $libc_unwind_check -v 2>&1 >/dev/null \
1748 | grep -- --eh-frame-hdr 2>&1 >/dev/null; then
1749 libc_cv_gcc_dwarf2_unwind_info=no_registry_needed
1751 libc_cv_gcc_dwarf2_unwind_info=static
1754 libc_cv_gcc_dwarf2_unwind_info=no
1756 if test $libc_cv_gcc_dwarf2_unwind_info = no; then
1757 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame
1758 $LDFLAGS -nostdlib -nostartfiles
1759 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1760 libc_cv_gcc_dwarf2_unwind_info=yes
1762 libc_cv_gcc_dwarf2_unwind_info=no
1766 case $libc_cv_gcc_dwarf2_unwind_info in
1768 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1771 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1772 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO_STATIC)
1776 dnl Check whether compiler understands __builtin_expect.
1777 AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
1778 [cat > conftest.c <<EOF
1779 #line $LINENO "configure"
1782 a = __builtin_expect (a, 10);
1783 return a == 10 ? 0 : 1;
1786 dnl No \ in command here because it ends up inside ''.
1787 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
1788 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1789 libc_cv_gcc_builtin_expect=yes
1791 libc_cv_gcc_builtin_expect=no
1794 if test "$libc_cv_gcc_builtin_expect" = yes; then
1795 AC_DEFINE(HAVE_BUILTIN_EXPECT)
1798 AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
1799 cat > conftest.c <<\EOF
1802 __builtin_memset (x, 0, 1000);
1806 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
1808 libc_cv_gcc_builtin_memset=no
1810 libc_cv_gcc_builtin_memset=yes
1813 if test "$libc_cv_gcc_builtin_memset" = yes ; then
1814 AC_DEFINE(HAVE_BUILTIN_MEMSET)
1817 AC_CACHE_CHECK(for redirection of built-in functions, libc_cv_gcc_builtin_redirection, [dnl
1818 cat > conftest.c <<\EOF
1819 extern char *strstr (const char *, const char *) __asm ("my_strstr");
1820 char *foo (const char *a, const char *b)
1822 return __builtin_strstr (a, b);
1826 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null]);
1828 libc_cv_gcc_builtin_redirection=yes
1830 libc_cv_gcc_builtin_redirection=no
1833 if test "$libc_cv_gcc_builtin_redirection" = yes ; then
1834 AC_DEFINE(HAVE_BUILTIN_REDIRECTION)
1837 dnl Check whether the compiler supports subtraction of local labels.
1838 AC_CACHE_CHECK(for local label subtraction, libc_cv_gcc_subtract_local_labels,
1839 [cat > conftest.c <<EOF
1841 #line $LINENO "configure"
1844 static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
1845 void *p = &&l1 + ar[a];
1854 dnl No \ in command here because it ends up inside ''.
1855 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
1856 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1857 libc_cv_gcc_subtract_local_labels=yes
1859 libc_cv_gcc_subtract_local_labels=no
1862 if test "$libc_cv_gcc_subtract_local_labels" = yes; then
1863 AC_DEFINE(HAVE_SUBTRACT_LOCAL_LABELS)
1866 dnl Check whether the compiler supports the __thread keyword.
1867 if test "x$use__thread" != xno; then
1868 AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
1869 [cat > conftest.c <<\EOF
1870 __thread int a = 42;
1872 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c >&AS_MESSAGE_LOG_FD]); then
1873 libc_cv_gcc___thread=yes
1875 libc_cv_gcc___thread=no
1878 if test "$libc_cv_gcc___thread" = yes; then
1879 AC_DEFINE(HAVE___THREAD)
1882 libc_cv_gcc___thread=no
1885 if test "$libc_cv_gcc___thread" = yes; then
1886 dnl Check whether the compiler supports the tls_model attribute.
1887 AC_CACHE_CHECK([for tls_model attribute], libc_cv_gcc_tls_model_attr, [dnl
1888 cat > conftest.c <<\EOF
1889 extern __thread int a __attribute__((tls_model ("initial-exec")));
1891 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -Werror conftest.c >&AS_MESSAGE_LOG_FD]); then
1892 libc_cv_gcc_tls_model_attr=yes
1894 libc_cv_gcc_tls_model_attr=no
1897 if test "$libc_cv_gcc_tls_model_attr" = yes; then
1898 AC_DEFINE(HAVE_TLS_MODEL_ATTRIBUTE)
1902 dnl Check whether we have the gd library available.
1903 AC_MSG_CHECKING(for libgd)
1904 if test "$with_gd" != "no"; then
1905 old_CFLAGS="$CFLAGS"
1906 CFLAGS="$CFLAGS $libgd_include"
1907 old_LDFLAGS="$LDFLAGS"
1908 LDFLAGS="$LDFLAGS $libgd_ldflags"
1910 LIBS="$LIBS -lgd -lpng -lz -lm"
1911 AC_TRY_LINK([#include <gd.h>], [gdImagePng (0, 0)], LIBGD=yes, LIBGD=no)
1912 CFLAGS="$old_CFLAGS"
1913 LDFLAGS="$old_LDFLAGS"
1918 AC_MSG_RESULT($LIBGD)
1922 if test x$with_selinux = xno ; then
1925 # See if we have the SELinux library
1926 AC_CHECK_LIB(selinux, is_selinux_enabled,
1927 have_selinux=yes, have_selinux=no)
1928 # See if we have the SELinux header with the NSCD permissions in it.
1929 if test x$have_selinux = xyes ; then
1930 AC_MSG_CHECKING([for NSCD Flask permissions in selinux/av_permissions.h])
1931 AC_TRY_COMPILE([#include <selinux/av_permissions.h>],
1932 [#ifdef NSCD__SHMEMHOST
1935 #error NSCD__SHMEMHOST not defined
1937 have_selinux=yes, have_selinux=no)
1938 AC_MSG_RESULT($have_selinux)
1941 if test x$with_selinux = xyes ; then
1942 if test x$have_selinux = xno ; then
1943 AC_MSG_ERROR([SELinux explicitly required, but sufficiently recent SELinux library not found])
1947 # Check if we're building with SELinux support.
1948 if test "x$have_selinux" = xyes; then
1949 AC_DEFINE(HAVE_SELINUX,1,[SELinux support])
1951 # See if we have the libaudit library
1952 AC_CHECK_LIB(audit, audit_log_avc,
1953 have_libaudit=yes, have_libaudit=no)
1954 if test "x$have_libaudit" = xyes; then
1955 AC_DEFINE(HAVE_LIBAUDIT,1,[SELinux libaudit support])
1957 AC_SUBST(have_libaudit)
1959 AC_SUBST(have_selinux)
1961 dnl check for the size of 'long double'.
1962 AC_CHECK_SIZEOF(long double, 0)
1963 sizeof_long_double=$ac_cv_sizeof_long_double
1964 AC_SUBST(sizeof_long_double)
1966 ### End of automated tests.
1967 ### Now run sysdeps configure fragments.
1969 # They also can set these variables.
1971 ldd_rewrite_script=no
1972 libc_cv_sysconfdir=$sysconfdir
1973 libc_cv_gcc_unwind_find_fde=no
1976 # Iterate over all the sysdep directories we will use, running their
1977 # configure fragments, and looking for a uname implementation.
1979 for dir in $sysnames; do
1982 *) dest=$srcdir/$dir ;;
1984 if test -r $dest/configure; then
1985 AC_MSG_RESULT(running configure fragment for $dir)
1989 if test -z "$uname"; then
1990 if test -r $dest/uname.c ||
1991 test -r $dest/uname.S ||
1992 { test -r $dest/syscalls.list &&
1993 grep '^uname[ ]' $dest/syscalls.list >/dev/null; }; then
2000 if test x$libc_cv_gcc_unwind_find_fde = xyes; then
2001 AC_DEFINE(EXPORT_UNWIND_FIND_FDE)
2003 AC_SUBST(libc_cv_gcc_unwind_find_fde)
2005 # If we will use the generic uname implementation, we must figure out what
2006 # it will say by examining the system, and write the results in config-name.h.
2007 if test "$uname" = "sysdeps/generic"; then
2010 uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
2012 if test $uname_sysname != $config_os; then
2013 config_release=`echo $config_os | sed s/$uname_sysname//`
2016 AC_DEFUN(LIBC_KERNEL_ID, [dnl
2017 if test -r /vmunix; then
2018 kernel_id=`strings /vmunix | grep UNIX`
2019 elif test -r /dynix; then
2020 kernel_id=`strings /dynix | grep DYNIX`
2026 AC_CACHE_CHECK(OS release for uname, libc_cv_uname_release, [dnl
2029 kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
2031 if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
2032 != x$config_release; then
2033 # The configuration release is a substring of the kernel release.
2034 libc_cv_uname_release=$kernel_release
2035 elif test x$config_release != x; then
2036 libc_cv_uname_release=$config_release
2037 elif test x$kernel_release != x; then
2038 libc_cv_uname_release=$kernel_release
2040 libc_cv_uname_release=unknown
2042 uname_release="$libc_cv_uname_release"
2044 AC_CACHE_CHECK(OS version for uname, libc_cv_uname_version, [dnl
2047 kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
2049 if test -n "$kernel_version"; then
2050 libc_cv_uname_version="$kernel_version"
2052 libc_cv_uname_version=unknown
2054 uname_version="$libc_cv_uname_version"
2056 AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl
2057 config_uname=config-name.h:config-name.in
2059 # For non-generic uname, we don't need to create config-name.h at all.
2063 dnl This is tested by existing code and it's simpler to avoid changing it.
2064 AC_DEFINE(USE_IN_LIBIO)
2066 # Test for old glibc 2.0.x headers so that they can be removed properly
2067 # Search only in includedir.
2068 AC_MSG_CHECKING(for old glibc 2.0.x headers)
2069 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
2071 old_glibc_headers=yes
2073 old_glibc_headers=no
2075 AC_MSG_RESULT($old_glibc_headers)
2076 if test ${old_glibc_headers} = yes; then
2077 AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
2078 AC_MSG_WARN(*** be removed.)
2080 AC_SUBST(old_glibc_headers)
2082 AC_SUBST(libc_cv_slibdir)
2083 AC_SUBST(libc_cv_localedir)
2084 AC_SUBST(libc_cv_sysconfdir)
2085 AC_SUBST(libc_cv_rootsbindir)
2086 AC_SUBST(libc_cv_forced_unwind)
2088 AC_SUBST(use_ldconfig)
2089 AC_SUBST(ldd_rewrite_script)
2091 AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) AC_SUBST(xcoff)
2092 if test $gnu_ld = yes; then
2093 AC_DEFINE(HAVE_GNU_LD)
2095 if test $gnu_as = yes; then
2096 AC_DEFINE(HAVE_GNU_AS)
2098 if test $elf = yes; then
2101 if test $xcoff = yes; then
2102 AC_DEFINE(HAVE_XCOFF)
2107 if test $shared = default; then
2108 if test $gnu_ld = yes; then
2111 # For now we do not assume shared libs are available. In future more
2112 # tests might become available.
2117 if test x"$libc_cv_idn" = xyes; then
2118 AC_DEFINE(HAVE_LIBIDN)
2121 AC_CACHE_CHECK([whether -fPIC is default], pic_default,
2123 cat > conftest.c <<EOF
2124 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
2125 # error PIC is default.
2128 if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
2132 AC_SUBST(pic_default)
2137 AC_SUBST(static_nss)
2138 AC_SUBST(nopic_initfini)
2142 dnl See sysdeps/mach/configure.in for this variable.
2143 AC_SUBST(mach_interface_list)
2145 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
2148 config_makefile=Makefile
2151 VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
2152 RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
2156 AC_CONFIG_FILES([config.make ${config_makefile} ${config_uname}])
2157 AC_CONFIG_COMMANDS([default],[[
2158 case $CONFIG_FILES in *config.make*)
2159 echo "$config_vars" >> config.make;;
2161 test -d bits || mkdir bits]],[[config_vars='$config_vars']])