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 c3[012]) base_machine=cx0 machine=cx0/c30 ;;
427 c4[04]) base_machine=cx0 machine=cx0/c40 ;;
428 hppa*64*) base_machine=hppa machine=hppa/hppa64 ;;
429 hppa*) base_machine=hppa machine=hppa/hppa1.1 ;;
430 i[34567]86) base_machine=i386 machine=i386/$machine ;;
431 ia64) base_machine=ia64 machine=ia64 ;;
432 m680?0) base_machine=m68k machine=m68k/$machine ;;
433 m68k) base_machine=m68k machine=m68k/m68020 ;;
434 m88???) base_machine=m88k machine=m88k/$machine ;;
435 m88k) base_machine=m88k machine=m88k/m88100 ;;
436 mips64*) base_machine=mips64
437 case "$CC $CFLAGS $CPPFLAGS " in
438 *" -mabi=n32 "*) mips_cc_abi=n32 ;;
439 *" -mabi=64 "*|*" -mabi=n64 "*) mips_cc_abi=64 ;;
440 *" -mabi=32 "*|*" -mabi=o32 "*) mips_cc_abi=32 ;;
441 *) mips_cc_abi=default ;;
444 *abin32*) mips_config_abi=n32 ;;
445 *abi64*|*abin64*) mips_config_abi=64 ;;
446 *abi32*|*abio32*) mips_config_abi=32 ;;
447 *) mips_config_abi=$mips_cc_abi ;;
449 case $mips_config_abi in
450 default) machine=mips/mips64/n32 mips_config_abi=n32 ;;
451 n32) machine=mips/mips64/n32 ;;
452 64) machine=mips/mips64/n64 ;;
453 32) machine=mips/mips32/kern64 ;;
455 machine=$machine/$config_machine
456 if test $mips_config_abi != $mips_cc_abi; then
457 # This won't make it to config.make, but we want to
458 # set this in case configure tests depend on it.
459 CPPFLAGS="$CPPFLAGS -mabi=$mips_config_abi"
462 mips*) base_machine=mips machine=mips/mips32/$machine ;;
463 powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;;
464 powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;;
465 s390) base_machine=s390 machine=s390/s390-32 ;;
466 s390x) base_machine=s390 machine=s390/s390-64 ;;
467 sh3*) base_machine=sh machine=sh/sh3 ;;
468 sh4*) base_machine=sh machine=sh/sh4 ;;
470 base_machine=sparc machine=sparc/sparc32 ;;
471 sparcv8 | supersparc | hypersparc)
472 base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
473 sparcv8plus | sparcv8plusa | sparcv9)
474 base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
475 sparcv8plusb | sparcv9b)
476 base_machine=sparc machine=sparc/sparc32/sparcv9b ;;
478 base_machine=sparc machine=sparc/sparc64 ;;
480 base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
481 *) base_machine=$machine ;;
484 AC_SUBST(base_machine)
486 if test "$base_machine" = "i386"; then
487 AC_DEFINE(USE_REGPARMS)
490 # Compute the list of sysdep directories for this configuration.
491 # This can take a while to compute.
492 sysdep_dir=$srcdir/sysdeps
493 AC_MSG_CHECKING(sysdep dirs)
494 dnl We need to use [ and ] for other purposes for a while now.
496 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
497 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
502 netbsd* | 386bsd* | freebsd* | bsdi*)
503 base_os=unix/bsd/bsd4.4 ;;
504 osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
506 sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
509 base_os=unix/sysv/irix6/$os ;;
511 base_os=unix/sysv/sysv4 ;;
513 base_os=unix/sysv/hpux/$os ;;
515 base_os=unix/sysv/aix/aix4.3 ;;
517 base_os=standalone ;;
522 # For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
525 while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
529 o=`echo $tail | sed 's/[0-9]*$//'`
530 if test $o != $tail; then
533 # For linux-gnu, try linux-gnu, then linux.
534 o=`echo $tail | sed 's/-.*$//'`
535 if test $o != $tail; then
539 # For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
542 while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
548 # For sparc/sparc32, try sparc/sparc32 and then sparc.
551 while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
553 # Prepend the machine's FPU directory unless --without-fp.
554 if test "$with_fp" = yes; then
557 mach="$mach /$1/nofpu"
563 dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
566 # Find what sysdep directories exist.
568 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
569 for d in $add_ons_pfx ''; do
570 for b in $base ''; do
571 for m0 in $mach ''; do
572 for v in /$vendor ''; do
573 test "$v" = / && continue
574 for o in /$ostry ''; do
575 test "$o" = / && continue
576 for m in $mach ''; do
577 for a in $add_ons_sfx ''; do
578 if test "$m0$b$v$o$m"; then
579 try="${d}sysdeps$m0$b$v$o$m$a"
580 test -n "$enable_debug_configure" &&
581 echo "$0 [DEBUG]: try $try" >&2
582 if test -d $srcdir/$try; then
583 sysnames="$sysnames $try"
584 { test -n "$o" || test -n "$b"; } && os_used=t
585 { test -n "$m" || test -n "$m0"; } && machine_used=t
594 if test -n "$d"; then
595 try="${d}sysdeps/generic"
596 test -n "$enable_debug_configure" &&
597 echo "$0 DEBUG: try $try" >&2
598 if test -d $srcdir/$try; then
599 sysnames="$sysnames $try"
605 if test -z "$os_used" && test "$os" != none; then
606 AC_MSG_ERROR(Operating system $os is not supported.)
608 if test -z "$machine_used" && test "$machine" != none; then
609 AC_MSG_ERROR(The $machine is not supported.)
612 # We have now validated the configuration.
615 # If using ELF, look for an `elf' subdirectory of each machine directory.
616 # We prepend these rather than inserting them whereever the machine appears
617 # because things specified by the machine's ELF ABI should override
618 # OS-specific things, and should always be the same for any OS on the
619 # machine (otherwise what's the point of an ABI?).
620 if test "$elf" = yes; then
622 for d in $add_ons_pfx ''; do
624 if test -d $srcdir/${d}sysdeps$m/elf; then
625 elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
629 sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
633 # Expand the list of system names into a full list of directories
634 # from each element's parent name and Implies file (if present).
637 while test $# -gt 0; do
641 case " $names " in *" $name "*)
642 # Already in the list.
646 # Report each name as we discover it, so there is no long pause in output.
647 echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
649 name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
653 *) xsrcdir=$srcdir/ ;;
655 test -n "$enable_debug_configure" &&
656 echo "[DEBUG]: name/Implies $xsrcdir$name/Implies" >&2
658 if test -f $xsrcdir$name/Implies; then
659 # Collect more names from the `Implies' file (removing comments).
660 implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
662 for x in $implied_candidate; do
664 if test -d $xsrcdir$name_base/$x; then
665 implied="$implied $name_base/$x";
668 for d in $add_ons_pfx ''; do
672 *) try_srcdir=$srcdir/ ;;
674 test -n "$enable_debug_configure" &&
675 echo "[DEBUG]: $name implied $x try($d) {$try_srcdir}$try" >&2
676 if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
678 implied="$implied $try"
682 if test $found = no; then
683 AC_MSG_WARN($name/Implies specifies nonexistent $x)
690 # Add NAME to the list of names.
693 # Find the parent of NAME, using the empty string if it has none.
695 parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
698 # Add the names implied by NAME, and NAME's parent (if it has one), to
699 # the list of names to be processed (the argument list). We prepend the
700 # implied names to the list and append the parent. We want implied
701 # directories to come before further directories inferred from the
702 # configuration components; this ensures that for sysv4, unix/common
703 # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
705 sysnames="`echo $implied $* $parent`"
706 test -n "$sysnames" && set $sysnames
709 # Add the default directories.
710 default_sysnames=sysdeps/generic
711 if test "$elf" = yes; then
712 default_sysnames="sysdeps/generic/elf $default_sysnames"
714 sysnames="$names $default_sysnames"
716 # The other names were emitted during the scan.
717 AC_MSG_RESULT($default_sysnames)
723 if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
724 # The makefiles need to use a different form to find it in $srcdir.
725 INSTALL='\$(..)./scripts/install-sh -c'
730 if test $host != $build; then
731 AC_CHECK_PROGS(BUILD_CC, gcc cc)
733 AC_SUBST(cross_compiling)
735 # We need the C++ compiler only for testing.
738 AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
740 # Accept binutils 2.13 or newer.
741 AC_CHECK_PROG_VER(AS, $AS, --version,
742 [GNU assembler.* \([0-9]*\.[0-9.]*\)],
743 [2.1[3-9]*], AS=: critic_missing="$critic_missing as")
744 AC_CHECK_PROG_VER(LD, $LD, --version,
745 [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
746 [2.1[3-9]*], LD=: critic_missing="$critic_missing ld")
748 # We need the physical current working directory. We cannot use the
749 # "pwd -P" shell builtin since that's not portable. Instead we try to
750 # find a pwd binary. Note that assigning to the PWD environment
751 # variable might have some interesting side effects, so we don't do
753 AC_PATH_PROG(PWD_P, pwd, no)
754 if test "$PWD_P" = no; then
755 AC_MSG_ERROR(*** A pwd binary could not be found.)
758 # These programs are version sensitive.
760 AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
761 [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | 4.[0-9]* ],
762 critic_missing="$critic_missing gcc")
763 AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
764 [GNU Make[^0-9]*\([0-9][0-9.]*\)],
765 [3.79* | 3.[89]*], critic_missing="$critic_missing make")
767 AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
768 [GNU gettext.* \([0-9]*\.[0-9.]*\)],
769 [0.10.3[6-9]* | 0.10.[4-9][0-9]* | 0.1[1-9]* | 0.[2-9][0-9]* | [1-9].*],
770 MSGFMT=: aux_missing="$aux_missing msgfmt")
771 AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
772 [GNU texinfo.* \([0-9][0-9.]*\)],
774 MAKEINFO=: aux_missing="$aux_missing makeinfo")
775 AC_CHECK_PROG_VER(SED, sed, --version,
776 [GNU sed version \([0-9]*\.[0-9.]*\)],
777 [3.0[2-9]*|3.[1-9]*|[4-9]*],
778 SED=: aux_missing="$aux_missing sed")
780 AC_CHECK_PROGS(AUTOCONF, autoconf, no)
782 xno|x|x:) AUTOCONF=no ;;
785 whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works, libc_cv_autoconf_works, [dnl
786 if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then
787 libc_cv_autoconf_works=yes
789 libc_cv_autoconf_works=no
791 test $libc_cv_autoconf_works = yes || AUTOCONF=no
794 if test "x$with_cvs" = xyes && test "x$AUTOCONF" = xno; then
795 # If --without-cvs they probably won't change configure.in, so no complaints.
796 aux_missing="$aux_missing autoconf"
799 test -n "$critic_missing" && AC_MSG_ERROR([
800 *** These critical programs are missing or too old:$critic_missing
801 *** Check the INSTALL file for required versions.])
803 test -n "$aux_missing" && AC_MSG_WARN([
804 *** These auxiliary programs are missing or incompatible versions:$aux_missing
805 *** some features will be disabled.
806 *** Check the INSTALL file for required versions.])
808 # if using special system headers, find out the compiler's sekrit
809 # header directory and add that to the list. NOTE: Only does the right
810 # thing on a system that doesn't need fixincludes. (Not presently a problem.)
811 if test -n "$sysheaders"; then
812 ccheaders=`$CC -print-file-name=include`
813 SYSINCLUDES="-nostdinc -isystem $ccheaders \
814 -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
816 AC_SUBST(SYSINCLUDES)
818 # check if ranlib is necessary
819 AC_CACHE_CHECK(whether ranlib is necessary, libc_cv_ranlib_necessary, [dnl
820 cat > conftest.c <<EOF
825 $CC $CFLAGS $CPPFLAGS -c conftest.c
826 $AR cr conftest.a conftest.o
827 cp conftest.a conftest2.a
829 if cmp -s conftest.a conftest2.a; then
830 libc_cv_ranlib_necessary=no
832 libc_cv_ranlib_necessary=yes
835 if test "$libc_cv_ranlib_necessary" = no; then
839 # Test if LD_LIBRARY_PATH contains the notation for the current directory
840 # since this would lead to problems installing/building glibc.
841 # LD_LIBRARY_PATH contains the current directory if one of the following
843 # - one of the terminals (":" and ";") is the first or last sign
844 # - two terminals occur directly after each other
845 # - the path contains an element with a dot in it
846 AC_MSG_CHECKING(LD_LIBRARY_PATH variable)
848 case ${LD_LIBRARY_PATH} in
849 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
850 ld_library_path_setting="contains current directory"
853 ld_library_path_setting="ok"
857 AC_MSG_RESULT($ld_library_path_setting)
858 if test "$ld_library_path_setting" != "ok"; then
860 *** LD_LIBRARY_PATH shouldn't contain the current directory when
861 *** building glibc. Please change the environment variable
862 *** and run configure again.])
865 AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl
866 if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
867 libc_cv_gcc_static_libgcc=
869 libc_cv_gcc_static_libgcc=-static-libgcc
871 AC_SUBST(libc_cv_gcc_static_libgcc)
873 AC_PATH_PROG(BASH, bash, no)
874 if test "$BASH" != no &&
875 $BASH -c 'test "$BASH_VERSINFO" \
876 && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then
877 libc_cv_have_bash2=yes
879 libc_cv_have_bash2=no
881 AC_SUBST(libc_cv_have_bash2)
883 dnl We need a ksh compatible shell for tzselect.
884 if test "$BASH" = no; then
885 AC_PATH_PROG(KSH, ksh, no)
886 if test "$KSH" = no; then
896 AC_SUBST(libc_cv_have_ksh)
899 AC_PATH_PROG(PERL, perl, no)
900 if test "$PERL" != no &&
901 (eval `$PERL -V:apiversion`; test `expr "$apiversion" \< 5` -ne 0); then
904 AC_PATH_PROG(INSTALL_INFO, install-info, no,
905 $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
906 AC_PATH_PROG(BISON, bison, no, $PATH:/usr/local/bin:/usr/bin:/bin)
908 AC_CACHE_CHECK(for signed size_t type, libc_cv_signed_size_t, [dnl
909 echo '#include <stddef.h>
910 FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
911 if eval "$ac_cpp conftest.c 2>/dev/null" \
912 | grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then
913 libc_cv_signed_size_t=no
915 libc_cv_signed_size_t=yes
918 if test $libc_cv_signed_size_t = yes; then
919 dnl Do this by hand instead of AC_DEFINE so can add #undef to avoid warnings.
920 cat >> confdefs.h <<\EOF
922 #define __SIZE_TYPE__ unsigned
926 AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl
928 [#define __need_size_t
929 #define __need_wchar_t
932 #include <stddef.h>], [size_t size; wchar_t wchar;
934 #error stddef.h ignored __need_*
936 if (&size == NULL || &wchar == NULL) abort ();],
937 libc_cv_friendly_stddef=yes,
938 libc_cv_friendly_stddef=no)])
939 if test $libc_cv_friendly_stddef = yes; then
940 config_vars="$config_vars
941 override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
944 AC_CACHE_CHECK(whether we need to use -P to assemble .S files,
945 libc_cv_need_minus_P, [dnl
946 cat > conftest.S <<EOF
947 #include "confdefs.h"
948 /* Nothing whatsoever. */
950 if AC_TRY_COMMAND(${CC-cc} $CPPFLAGS $ASFLAGS -c conftest.S 1>&AS_MESSAGE_LOG_FD); then
951 libc_cv_need_minus_P=no
953 libc_cv_need_minus_P=yes
956 if test $libc_cv_need_minus_P = yes; then
957 config_vars="$config_vars
958 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
961 AC_MSG_CHECKING(whether .text pseudo-op must be used)
962 AC_CACHE_VAL(libc_cv_dot_text, [dnl
963 cat > conftest.s <<EOF
967 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
968 libc_cv_dot_text=.text
971 if test -z "$libc_cv_dot_text"; then
977 AC_CACHE_CHECK(for assembler global-symbol directive,
978 libc_cv_asm_global_directive, [dnl
979 libc_cv_asm_global_directive=UNKNOWN
980 for ac_globl in .globl .global .EXPORT; do
981 cat > conftest.s <<EOF
986 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
987 libc_cv_asm_global_directive=${ac_globl}
990 test $libc_cv_asm_global_directive != UNKNOWN && break
992 if test $libc_cv_asm_global_directive = UNKNOWN; then
993 AC_MSG_ERROR(cannot determine asm global directive)
995 AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
998 AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
999 cat > conftest.s <<EOF
1002 .set glibc_conftest_frobozz,foo
1003 $libc_cv_asm_global_directive glibc_conftest_frobozz
1005 # The alpha-dec-osf1 assembler gives only a warning for `.set'
1006 # (but it doesn't work), so we must do a linking check to be sure.
1007 cat > conftest1.c <<\EOF
1008 extern int glibc_conftest_frobozz;
1009 void _start() { glibc_conftest_frobozz = 1; }
1011 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
1012 -nostartfiles -nostdlib \
1013 -o conftest conftest.s conftest1.c 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1014 libc_cv_asm_set_directive=yes
1016 libc_cv_asm_set_directive=no
1019 if test $libc_cv_asm_set_directive = yes; then
1020 AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
1023 AC_CACHE_CHECK(for assembler .type directive prefix,
1024 libc_cv_asm_type_prefix, [dnl
1025 libc_cv_asm_type_prefix=no
1026 for ac_try_prefix in '@' '%' '#'; do
1027 cat > conftest.s <<EOF
1029 ${libc_cv_asm_global_directive} foo
1030 .type foo, ${ac_try_prefix}object
1035 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1036 libc_cv_asm_type_prefix=${ac_try_prefix}
1039 test "x$libc_cv_asm_type_prefix" != xno && break
1041 if test "x$libc_cv_asm_type_prefix" != xno; then
1042 AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
1045 AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
1046 [cat > conftest.s <<EOF
1049 .symver _sym,sym@VERS
1051 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1052 libc_cv_asm_symver_directive=yes
1054 libc_cv_asm_symver_directive=no
1057 AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
1058 if test $libc_cv_asm_symver_directive = yes; then
1059 cat > conftest.s <<EOF
1062 .symver _sym,sym@VERS
1064 cat > conftest.map <<EOF
1073 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1074 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $LDFLAGS -shared
1075 -o conftest.so conftest.o
1076 -nostartfiles -nostdlib
1077 -Wl,--version-script,conftest.map
1078 1>&AS_MESSAGE_LOG_FD]);
1080 libc_cv_ld_version_script_option=yes
1082 libc_cv_ld_version_script_option=no
1085 libc_cv_ld_version_script_option=no
1088 libc_cv_ld_version_script_option=no
1091 if test $shared != no &&
1092 test $libc_cv_asm_symver_directive = yes &&
1093 test $libc_cv_ld_version_script_option = yes &&
1094 test $enable_versioning = yes; then
1096 AC_DEFINE(DO_VERSIONING)
1100 AC_SUBST(VERSIONING)
1102 if test $elf = yes && test $shared != no && test $VERSIONING = no; then
1104 *** WARNING: You should not compile GNU libc without versioning. Not using
1105 *** versioning will introduce incompatibilities so that old binaries
1106 *** will not run anymore.
1107 *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
1109 if test $elf = yes; then
1110 AC_CACHE_CHECK(for .previous assembler directive,
1111 libc_cv_asm_previous_directive, [dnl
1112 cat > conftest.s <<EOF
1113 .section foo_section
1116 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1117 libc_cv_asm_previous_directive=yes
1119 libc_cv_asm_previous_directive=no
1122 if test $libc_cv_asm_previous_directive = yes; then
1123 AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
1125 AC_CACHE_CHECK(for .popsection assembler directive,
1126 libc_cv_asm_popsection_directive, [dnl
1127 cat > conftest.s <<EOF
1128 .pushsection foo_section
1131 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1132 libc_cv_asm_popsection_directive=yes
1134 libc_cv_asm_popsection_directive=no
1137 if test $libc_cv_asm_popsection_directive = yes; then
1138 AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
1141 AC_CACHE_CHECK(for .protected and .hidden assembler directive,
1142 libc_cv_asm_protected_directive, [dnl
1143 cat > conftest.s <<EOF
1149 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1150 libc_cv_asm_protected_directive=yes
1152 libc_cv_asm_protected_directive=no
1155 AC_SUBST(libc_cv_asm_protected_directive)
1156 AC_DEFINE(HAVE_PROTECTED)
1157 AC_DEFINE(HAVE_HIDDEN)
1159 if test $libc_cv_asm_protected_directive = yes; then
1160 AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
1161 libc_cv_visibility_attribute,
1162 [cat > conftest.c <<EOF
1163 int foo __attribute__ ((visibility ("hidden"))) = 1;
1164 int bar __attribute__ ((visibility ("protected"))) = 1;
1166 libc_cv_visibility_attribute=no
1167 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1168 if grep '\.hidden.*foo' conftest.s >/dev/null; then
1169 if grep '\.protected.*bar' conftest.s >/dev/null; then
1170 libc_cv_visibility_attribute=yes
1176 if test $libc_cv_visibility_attribute = yes; then
1177 AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
1181 if test $libc_cv_visibility_attribute = yes; then
1182 AC_CACHE_CHECK(for broken __attribute__((visibility())),
1183 libc_cv_broken_visibility_attribute,
1184 [cat > conftest.c <<EOF
1186 int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
1187 int bar (int x) { return x; }
1189 libc_cv_broken_visibility_attribute=yes
1190 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s1>&AS_MESSAGE_LOG_FD); then
1192 if grep '\.hidden[ _]foo' conftest.s >/dev/null; then
1194 libc_cv_broken_visibility_attribute=no
1197 rm -f conftest.c conftest.s
1199 if test $libc_cv_broken_visibility_attribute = yes; then
1200 AC_DEFINE(HAVE_BROKEN_VISIBILITY_ATTRIBUTE)
1204 AC_CACHE_CHECK(for broken __attribute__((alias())),
1205 libc_cv_broken_alias_attribute,
1206 [cat > conftest.c <<EOF
1207 extern int foo (int x) __asm ("xyzzy");
1208 int bar (int x) { return x; }
1209 extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
1211 extern __typeof (dfoo) dfoo __asm ("abccb");
1214 libc_cv_broken_alias_attribute=yes
1215 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1216 if grep 'xyzzy' conftest.s >/dev/null &&
1217 grep 'abccb' conftest.s >/dev/null; then
1218 libc_cv_broken_alias_attribute=no
1221 rm -f conftest.c conftest.s
1223 if test $libc_cv_broken_alias_attribute = yes; then
1224 AC_DEFINE(HAVE_BROKEN_ALIAS_ATTRIBUTE)
1227 if test $libc_cv_visibility_attribute = yes -a $gnu_ld = yes; then
1228 AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
1229 libc_cv_have_sdata_section,
1230 [echo "int i;" > conftest.c
1231 libc_cv_have_sdata_section=no
1232 if ${CC-cc} $LDFLAGS -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
1233 | grep '\.sdata' >/dev/null; then
1234 libc_cv_have_sdata_section=yes
1236 rm -f conftest.c conftest.so
1238 if test $libc_cv_have_sdata_section = yes; then
1239 AC_DEFINE(HAVE_SDATA_SECTION)
1243 AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
1244 libc_cv_initfinit_array, [dnl
1245 cat > conftest.c <<EOF
1246 int _start (void) { return 0; }
1247 int __start (void) { return 0; }
1248 int foo (void) { return 1; }
1249 int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
1251 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
1252 -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
1254 if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then
1255 libc_cv_initfinit_array=yes
1257 libc_cv_initfinit_array=no
1260 libc_cv_initfinit_array=no
1263 AC_SUBST(libc_cv_initfinit_array)
1264 if test $libc_cv_initfinit_array = yes; then
1265 AC_DEFINE(HAVE_INITFINI_ARRAY)
1268 AC_CACHE_CHECK(for libunwind-support in compiler,
1269 libc_cv_cc_with_libunwind, [
1270 cat > conftest.c <<EOF
1271 int main (void) { return 0; }
1273 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
1274 conftest.c -v 2>&1 >/dev/null | grep -q " -lunwind "; then
1275 libc_cv_cc_with_libunwind=yes
1277 libc_cv_cc_with_libunwind=no
1280 AC_SUBST(libc_cv_cc_with_libunwind)
1281 if test $libc_cv_cc_with_libunwind = yes; then
1282 AC_DEFINE(HAVE_CC_WITH_LIBUNWIND)
1285 AC_CACHE_CHECK(for -z nodelete option,
1286 libc_cv_z_nodelete, [dnl
1287 cat > conftest.c <<EOF
1288 int _start (void) { return 42; }
1290 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1291 -shared -o conftest.so conftest.c
1292 -nostartfiles -nostdlib
1293 -Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD])
1295 libc_cv_z_nodelete=yes
1297 libc_cv_z_nodelete=no
1300 AC_SUBST(libc_cv_z_nodelete)
1302 AC_CACHE_CHECK(for -z nodlopen option,
1303 libc_cv_z_nodlopen, [dnl
1304 cat > conftest.c <<EOF
1305 int _start (void) { return 42; }
1307 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1308 -shared -o conftest.so conftest.c
1309 -nostartfiles -nostdlib
1310 -Wl,--enable-new-dtags,-z,nodlopen 1>&AS_MESSAGE_LOG_FD])
1312 libc_cv_z_nodlopen=yes
1314 libc_cv_z_nodlopen=no
1317 AC_SUBST(libc_cv_z_nodlopen)
1319 AC_CACHE_CHECK(for -z initfirst option,
1320 libc_cv_z_initfirst, [dnl
1321 cat > conftest.c <<EOF
1322 int _start (void) { return 42; }
1324 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1325 -shared -o conftest.so conftest.c
1326 -nostartfiles -nostdlib
1327 -Wl,--enable-new-dtags,-z,initfirst 1>&AS_MESSAGE_LOG_FD])
1329 libc_cv_z_initfirst=yes
1331 libc_cv_z_initfirst=no
1334 AC_SUBST(libc_cv_z_initfirst)
1336 AC_CACHE_CHECK(for -z relro option,
1337 libc_cv_z_relro, [dnl
1339 if AC_TRY_COMMAND([${CC-cc} -v --help 2>&1|grep "z relro" 1>&AS_MESSAGE_LOG_FD])
1341 if AC_TRY_COMMAND([${CC-cc} -Wl,--verbose 2>&1|grep DATA_SEGMENT_RELRO_END 1>&AS_MESSAGE_LOG_FD])
1346 AC_SUBST(libc_cv_z_relro)
1347 if test $libc_cv_z_relro = yes; then
1348 AC_DEFINE(HAVE_Z_RELRO)
1351 AC_CACHE_CHECK(for -Bgroup option,
1352 libc_cv_Bgroup, [dnl
1353 cat > conftest.c <<EOF
1354 int _start (void) { return 42; }
1356 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1357 -shared -o conftest.so conftest.c
1358 -Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD])
1365 AC_SUBST(libc_cv_Bgroup)
1367 AC_CACHE_CHECK(for libgcc_s suffix,
1368 libc_cv_libgcc_s_suffix, [dnl
1369 cat > conftest.c <<EOF
1370 int main (void) { return 0; }
1373 libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
1374 -shared -shared-libgcc -o conftest.so \
1375 conftest.c -v 2>&1 >/dev/null \
1376 | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
1379 AC_SUBST(libc_cv_libgcc_s_suffix)
1381 AC_CACHE_CHECK(for --as-needed option,
1382 libc_cv_as_needed, [dnl
1383 cat > conftest.c <<EOF
1384 int main (void) { return 0; }
1386 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1387 -shared -o conftest.so conftest.c
1388 -lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
1389 -nostdlib 1>&AS_MESSAGE_LOG_FD])
1391 libc_cv_as_needed=yes
1393 libc_cv_as_needed=no
1396 AC_SUBST(libc_cv_as_needed)
1399 AC_CACHE_CHECK(whether --noexecstack is desirable for .S files,
1400 libc_cv_as_noexecstack, [dnl
1401 cat > conftest.c <<EOF
1404 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS
1405 -S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \
1406 && grep -q .note.GNU-stack conftest.s \
1407 && AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -Wa,--noexecstack
1408 -c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
1410 libc_cv_as_noexecstack=yes
1412 libc_cv_as_noexecstack=no
1415 if test $libc_cv_as_noexecstack = yes; then
1416 ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
1418 AC_SUBST(ASFLAGS_config)
1420 AC_CACHE_CHECK(for -z combreloc,
1421 libc_cv_z_combreloc, [dnl
1422 cat > conftest.c <<EOF
1423 extern int bar (int);
1425 int foo (void) { return bar (mumble); }
1427 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1428 -shared -o conftest.so conftest.c
1429 -nostdlib -nostartfiles
1430 -Wl,-z,combreloc 1>&AS_MESSAGE_LOG_FD])
1432 dnl The following test is a bit weak. We must use a tool which can test
1433 dnl cross-platform since the gcc used can be a cross compiler. Without
1434 dnl introducing new options this is not easily doable. Instead use a tool
1435 dnl which always is cross-platform: readelf. To detect whether -z combreloc
1436 dnl look for a section named .rel.dyn.
1437 if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
1438 libc_cv_z_combreloc=yes
1440 libc_cv_z_combreloc=no
1443 libc_cv_z_combreloc=no
1446 if test "$libc_cv_z_combreloc" = yes; then
1447 AC_DEFINE(HAVE_Z_COMBRELOC)
1449 AC_SUBST(libc_cv_z_combreloc)
1451 AC_CACHE_CHECK(for -z execstack,
1452 libc_cv_z_execstack, [dnl
1453 cat > conftest.c <<EOF
1454 int _start (void) { return 42; }
1456 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1457 -shared -o conftest.so conftest.c
1458 -Wl,-z,execstack -nostdlib
1459 1>&AS_MESSAGE_LOG_FD])
1461 libc_cv_z_execstack=yes
1463 libc_cv_z_execstack=no
1466 AC_SUBST(libc_cv_z_execstack)
1468 AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl
1469 cat > conftest.c <<EOF
1471 main () { return 0;}
1473 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
1474 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
1482 AC_SUBST(libc_cv_fpie)
1485 AC_CACHE_CHECK(for -fno-unit-at-a-time, libc_cv_fno_unit_at_a_time, [dnl
1486 cat > conftest.c <<EOF
1489 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -fno-unit-at-a-time
1490 conftest.c 1>&AS_MESSAGE_LOG_FD])
1492 libc_cv_fno_unit_at_a_time=yes
1494 libc_cv_fno_unit_at_a_time=no
1497 if test $libc_cv_fno_unit_at_a_time = yes; then
1498 fno_unit_at_a_time=-fno-unit-at-a-time
1500 AC_SUBST(fno_unit_at_a_time)
1502 if test $elf != yes; then
1503 AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
1504 [AC_TRY_COMPILE(, [asm (".section .init");
1505 asm (".section .fini");
1506 asm ("${libc_cv_dot_text}");],
1507 libc_cv_have_initfini=yes,
1508 libc_cv_have_initfini=no)])
1509 AC_SUBST(libc_cv_have_initfini)dnl
1510 if test $libc_cv_have_initfini = yes; then
1511 AC_DEFINE(HAVE_INITFINI)
1515 if test $elf = yes -a $gnu_ld = yes; then
1516 AC_CACHE_CHECK(whether cc puts quotes around section names,
1517 libc_cv_have_section_quotes,
1518 [cat > conftest.c <<EOF
1519 static const int foo
1520 __attribute__ ((section ("bar"))) = 1;
1522 if ${CC-cc} -S conftest.c -o conftest.s; then
1523 if grep '\.section.*"bar"' conftest.s >/dev/null; then
1524 libc_cv_have_section_quotes=yes
1526 libc_cv_have_section_quotes=no
1529 libc_cv_have_section_quotes=unknown
1533 if test $libc_cv_have_section_quotes = yes; then
1534 AC_DEFINE(HAVE_SECTION_QUOTES)
1538 dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1539 AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
1540 [cat > conftest.$ac_ext <<EOF
1541 dnl This sometimes fails to find confdefs.h, for some reason.
1542 dnl [#]line $LINENO "[$]0"
1543 [#]line $LINENO "configure"
1544 #include "confdefs.h"
1545 void underscore_test(void) {
1548 if AC_TRY_EVAL(ac_compile); then
1549 if grep _underscore_test conftest* >/dev/null; then
1550 ifelse([$1], , :, [rm -f conftest*
1553 ifelse([$2], , , [rm -f conftest*
1557 echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
1558 cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
1559 ifelse([$2], , , [rm -f conftest*
1564 if test $elf = yes; then
1565 libc_cv_asm_underscores=no
1567 if test $ac_cv_prog_cc_works = yes; then
1568 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1569 [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
1570 libc_cv_asm_underscores=yes,
1571 libc_cv_asm_underscores=no)])
1573 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1574 [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
1575 libc_cv_asm_underscores=no)])
1578 if test $libc_cv_asm_underscores = no; then
1579 AC_DEFINE(NO_UNDERSCORES)
1582 if test $elf = yes; then
1583 libc_cv_weak_symbols=yes
1586 AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
1588 cat > conftest.s <<EOF
1590 ${libc_cv_asm_global_directive} foo
1593 .weak bar; bar = foo
1595 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1596 libc_cv_asm_weak_directive=yes
1598 libc_cv_asm_weak_directive=no
1602 if test $libc_cv_asm_weak_directive = no; then
1603 AC_CACHE_CHECK(for assembler .weakext directive,
1604 libc_cv_asm_weakext_directive,
1606 cat > conftest.s <<EOF
1608 ${libc_cv_asm_global_directive} foo
1612 ${libc_cv_asm_global_directive} baz
1615 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1616 libc_cv_asm_weakext_directive=yes
1618 libc_cv_asm_weakext_directive=no
1624 if test $libc_cv_asm_weak_directive = yes; then
1625 AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
1626 elif test $libc_cv_asm_weakext_directive = yes; then
1627 AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
1630 AC_CACHE_CHECK(whether CFI directives are supported, libc_cv_asm_cfi_directives, [dnl
1631 cat > conftest.s <<EOF
1633 .type func,%function
1637 .cfi_rel_offset 1, 0
1640 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1641 libc_cv_asm_cfi_directives=yes
1643 libc_cv_asm_cfi_directives=no
1646 if test $libc_cv_asm_cfi_directives = yes; then
1647 AC_DEFINE(HAVE_ASM_CFI_DIRECTIVES)
1650 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
1651 cat > conftest.c <<\EOF
1656 dnl No \ in command here because it ends up inside ''.
1657 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1658 -nostdlib -nostartfiles -Wl,--no-whole-archive
1659 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1660 libc_cv_ld_no_whole_archive=yes
1662 libc_cv_ld_no_whole_archive=no
1665 if test $libc_cv_ld_no_whole_archive = yes; then
1666 no_whole_archive=-Wl,--no-whole-archive
1668 AC_SUBST(no_whole_archive)dnl
1670 AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
1671 cat > conftest.c <<\EOF
1676 dnl No \ in command here because it ends up inside ''.
1677 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1678 -nostdlib -nostartfiles -fexceptions
1679 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1680 libc_cv_gcc_exceptions=yes
1682 libc_cv_gcc_exceptions=no
1685 if test $libc_cv_gcc_exceptions = yes; then
1686 exceptions=-fexceptions
1688 AC_SUBST(exceptions)dnl
1690 if test "$host_cpu" = powerpc ; then
1691 # Check for a bug present in at least versions 2.8.x of GCC
1692 # and versions 1.0.x of EGCS.
1693 AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
1694 AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
1695 libc_cv_c_asmcr0_bug='no',
1696 libc_cv_c_asmcr0_bug='yes')])
1697 if test "$libc_cv_c_asmcr0_bug" != 'no'; then
1698 AC_DEFINE(BROKEN_PPC_ASM_CR0)
1702 AC_CACHE_CHECK(for DWARF2 unwind info support, libc_cv_gcc_dwarf2_unwind_info,
1703 [cat > conftest.c <<EOF
1704 #line $LINENO "configure"
1705 static char *__EH_FRAME_BEGIN__;
1708 #ifdef CHECK__register_frame
1709 __register_frame (__EH_FRAME_BEGIN__);
1710 __deregister_frame (__EH_FRAME_BEGIN__);
1712 #ifdef CHECK__register_frame_info
1713 __register_frame_info (__EH_FRAME_BEGIN__);
1714 __deregister_frame_info (__EH_FRAME_BEGIN__);
1719 /* FIXME: this is fragile. */
1728 dl_iterate_phdr () {}
1730 libc_unwind_check="${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame_info \
1732 -nostdlib -nostartfiles -o conftest conftest.c \
1734 # Some platforms' specs put -lgcc first. The second one doesn't hurt.
1735 if AC_TRY_COMMAND([$libc_unwind_check >&AS_MESSAGE_LOG_FD]) ||
1736 AC_TRY_COMMAND([$libc_unwind_check -lgcc_eh -lgcc >&AS_MESSAGE_LOG_FD])
1738 if $libc_unwind_check -v 2>&1 >/dev/null \
1739 | grep -- --eh-frame-hdr 2>&1 >/dev/null; then
1740 libc_cv_gcc_dwarf2_unwind_info=no_registry_needed
1742 libc_cv_gcc_dwarf2_unwind_info=static
1745 libc_cv_gcc_dwarf2_unwind_info=no
1747 if test $libc_cv_gcc_dwarf2_unwind_info = no; then
1748 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame
1749 $LDFLAGS -nostdlib -nostartfiles
1750 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1751 libc_cv_gcc_dwarf2_unwind_info=yes
1753 libc_cv_gcc_dwarf2_unwind_info=no
1757 case $libc_cv_gcc_dwarf2_unwind_info in
1759 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1762 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1763 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO_STATIC)
1767 dnl Check whether compiler understands __builtin_expect.
1768 AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
1769 [cat > conftest.c <<EOF
1770 #line $LINENO "configure"
1773 a = __builtin_expect (a, 10);
1774 return a == 10 ? 0 : 1;
1777 dnl No \ in command here because it ends up inside ''.
1778 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
1779 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1780 libc_cv_gcc_builtin_expect=yes
1782 libc_cv_gcc_builtin_expect=no
1785 if test "$libc_cv_gcc_builtin_expect" = yes; then
1786 AC_DEFINE(HAVE_BUILTIN_EXPECT)
1789 AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
1790 cat > conftest.c <<\EOF
1793 __builtin_memset (x, 0, 1000);
1797 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
1799 libc_cv_gcc_builtin_memset=no
1801 libc_cv_gcc_builtin_memset=yes
1804 if test "$libc_cv_gcc_builtin_memset" = yes ; then
1805 AC_DEFINE(HAVE_BUILTIN_MEMSET)
1808 AC_CACHE_CHECK(for redirection of built-in functions, libc_cv_gcc_builtin_redirection, [dnl
1809 cat > conftest.c <<\EOF
1810 extern char *strstr (const char *, const char *) __asm ("my_strstr");
1811 char *foo (const char *a, const char *b)
1813 return __builtin_strstr (a, b);
1817 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null]);
1819 libc_cv_gcc_builtin_redirection=yes
1821 libc_cv_gcc_builtin_redirection=no
1824 if test "$libc_cv_gcc_builtin_redirection" = yes ; then
1825 AC_DEFINE(HAVE_BUILTIN_REDIRECTION)
1828 dnl Check whether the compiler supports subtraction of local labels.
1829 AC_CACHE_CHECK(for local label subtraction, libc_cv_gcc_subtract_local_labels,
1830 [cat > conftest.c <<EOF
1832 #line $LINENO "configure"
1835 static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
1836 void *p = &&l1 + ar[a];
1845 dnl No \ in command here because it ends up inside ''.
1846 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
1847 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1848 libc_cv_gcc_subtract_local_labels=yes
1850 libc_cv_gcc_subtract_local_labels=no
1853 if test "$libc_cv_gcc_subtract_local_labels" = yes; then
1854 AC_DEFINE(HAVE_SUBTRACT_LOCAL_LABELS)
1857 dnl Check whether the compiler supports the __thread keyword.
1858 if test "x$use__thread" != xno; then
1859 AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
1860 [cat > conftest.c <<\EOF
1861 __thread int a = 42;
1863 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c >&AS_MESSAGE_LOG_FD]); then
1864 libc_cv_gcc___thread=yes
1866 libc_cv_gcc___thread=no
1869 if test "$libc_cv_gcc___thread" = yes; then
1870 AC_DEFINE(HAVE___THREAD)
1873 libc_cv_gcc___thread=no
1876 if test "$libc_cv_gcc___thread" = yes; then
1877 dnl Check whether the compiler supports the tls_model attribute.
1878 AC_CACHE_CHECK([for tls_model attribute], libc_cv_gcc_tls_model_attr, [dnl
1879 cat > conftest.c <<\EOF
1880 extern __thread int a __attribute__((tls_model ("initial-exec")));
1882 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -Werror conftest.c >&AS_MESSAGE_LOG_FD]); then
1883 libc_cv_gcc_tls_model_attr=yes
1885 libc_cv_gcc_tls_model_attr=no
1888 if test "$libc_cv_gcc_tls_model_attr" = yes; then
1889 AC_DEFINE(HAVE_TLS_MODEL_ATTRIBUTE)
1893 dnl Check whether we have the gd library available.
1894 AC_MSG_CHECKING(for libgd)
1895 if test "$with_gd" != "no"; then
1896 old_CFLAGS="$CFLAGS"
1897 CFLAGS="$CFLAGS $libgd_include"
1898 old_LDFLAGS="$LDFLAGS"
1899 LDFLAGS="$LDFLAGS $libgd_ldflags"
1901 LIBS="$LIBS -lgd -lpng -lz -lm"
1902 AC_TRY_LINK([#include <gd.h>], [gdImagePng (0, 0)], LIBGD=yes, LIBGD=no)
1903 CFLAGS="$old_CFLAGS"
1904 LDFLAGS="$old_LDFLAGS"
1909 AC_MSG_RESULT($LIBGD)
1913 if test x$with_selinux = xno ; then
1916 # See if we have the SELinux library
1917 AC_CHECK_LIB(selinux, is_selinux_enabled,
1918 have_selinux=yes, have_selinux=no)
1919 # See if we have the SELinux header with the NSCD permissions in it.
1920 if test x$have_selinux = xyes ; then
1921 AC_MSG_CHECKING([for NSCD Flask permissions in selinux/av_permissions.h])
1922 AC_TRY_COMPILE([#include <selinux/av_permissions.h>],
1923 [#ifdef NSCD__SHMEMHOST
1926 #error NSCD__SHMEMHOST not defined
1928 have_selinux=yes, have_selinux=no)
1929 AC_MSG_RESULT($have_selinux)
1932 if test x$with_selinux = xyes ; then
1933 if test x$have_selinux = xno ; then
1934 AC_MSG_ERROR([SELinux explicitly required, but sufficiently recent SELinux library not found])
1938 # Check if we're building with SELinux support.
1939 if test "x$have_selinux" = xyes; then
1940 AC_DEFINE(HAVE_SELINUX,1,[SELinux support])
1942 AC_SUBST(have_selinux)
1944 dnl check for the size of 'long double'.
1945 AC_CHECK_SIZEOF(long double, 0)
1946 sizeof_long_double=$ac_cv_sizeof_long_double
1947 AC_SUBST(sizeof_long_double)
1949 ### End of automated tests.
1950 ### Now run sysdeps configure fragments.
1952 # They also can set these variables.
1954 ldd_rewrite_script=no
1955 libc_cv_sysconfdir=$sysconfdir
1956 libc_cv_gcc_unwind_find_fde=no
1959 # Iterate over all the sysdep directories we will use, running their
1960 # configure fragments, and looking for a uname implementation.
1962 for dir in $sysnames; do
1965 *) dest=$srcdir/$dir ;;
1967 if test -r $dest/configure; then
1968 AC_MSG_RESULT(running configure fragment for $dir)
1972 if test -z "$uname"; then
1973 if test -r $dest/uname.c ||
1974 test -r $dest/uname.S ||
1975 { test -r $dest/syscalls.list &&
1976 grep '^uname[ ]' $dest/syscalls.list >/dev/null; }; then
1983 if test x$libc_cv_gcc_unwind_find_fde = xyes; then
1984 AC_DEFINE(EXPORT_UNWIND_FIND_FDE)
1986 AC_SUBST(libc_cv_gcc_unwind_find_fde)
1988 # If we will use the generic uname implementation, we must figure out what
1989 # it will say by examining the system, and write the results in config-name.h.
1990 if test "$uname" = "sysdeps/generic"; then
1993 uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
1995 if test $uname_sysname != $config_os; then
1996 config_release=`echo $config_os | sed s/$uname_sysname//`
1999 AC_DEFUN(LIBC_KERNEL_ID, [dnl
2000 if test -r /vmunix; then
2001 kernel_id=`strings /vmunix | grep UNIX`
2002 elif test -r /dynix; then
2003 kernel_id=`strings /dynix | grep DYNIX`
2009 AC_CACHE_CHECK(OS release for uname, libc_cv_uname_release, [dnl
2012 kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
2014 if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
2015 != x$config_release; then
2016 # The configuration release is a substring of the kernel release.
2017 libc_cv_uname_release=$kernel_release
2018 elif test x$config_release != x; then
2019 libc_cv_uname_release=$config_release
2020 elif test x$kernel_release != x; then
2021 libc_cv_uname_release=$kernel_release
2023 libc_cv_uname_release=unknown
2025 uname_release="$libc_cv_uname_release"
2027 AC_CACHE_CHECK(OS version for uname, libc_cv_uname_version, [dnl
2030 kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
2032 if test -n "$kernel_version"; then
2033 libc_cv_uname_version="$kernel_version"
2035 libc_cv_uname_version=unknown
2037 uname_version="$libc_cv_uname_version"
2039 AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl
2040 config_uname=config-name.h:config-name.in
2042 # For non-generic uname, we don't need to create config-name.h at all.
2046 dnl This is tested by existing code and it's simpler to avoid changing it.
2047 AC_DEFINE(USE_IN_LIBIO)
2049 # Test for old glibc 2.0.x headers so that they can be removed properly
2050 # Search only in includedir.
2051 AC_MSG_CHECKING(for old glibc 2.0.x headers)
2052 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
2054 old_glibc_headers=yes
2056 old_glibc_headers=no
2058 AC_MSG_RESULT($old_glibc_headers)
2059 if test ${old_glibc_headers} = yes; then
2060 AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
2061 AC_MSG_WARN(*** be removed.)
2063 AC_SUBST(old_glibc_headers)
2065 AC_SUBST(libc_cv_slibdir)
2066 AC_SUBST(libc_cv_localedir)
2067 AC_SUBST(libc_cv_sysconfdir)
2068 AC_SUBST(libc_cv_rootsbindir)
2069 AC_SUBST(libc_cv_forced_unwind)
2071 AC_SUBST(use_ldconfig)
2072 AC_SUBST(ldd_rewrite_script)
2074 AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) AC_SUBST(xcoff)
2075 if test $gnu_ld = yes; then
2076 AC_DEFINE(HAVE_GNU_LD)
2078 if test $gnu_as = yes; then
2079 AC_DEFINE(HAVE_GNU_AS)
2081 if test $elf = yes; then
2084 if test $xcoff = yes; then
2085 AC_DEFINE(HAVE_XCOFF)
2090 if test $shared = default; then
2091 if test $gnu_ld = yes; then
2094 # For now we do not assume shared libs are available. In future more
2095 # tests might become available.
2100 if test x"$libc_cv_idn" = xyes; then
2101 AC_DEFINE(HAVE_LIBIDN)
2104 AC_CACHE_CHECK([whether -fPIC is default], pic_default,
2106 cat > conftest.c <<EOF
2107 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
2108 # error PIC is default.
2111 if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
2115 AC_SUBST(pic_default)
2120 AC_SUBST(static_nss)
2121 AC_SUBST(nopic_initfini)
2125 dnl See sysdeps/mach/configure.in for this variable.
2126 AC_SUBST(mach_interface_list)
2128 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
2131 config_makefile=Makefile
2134 VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
2135 RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
2139 AC_CONFIG_FILES([config.make ${config_makefile} ${config_uname}])
2140 AC_CONFIG_COMMANDS([default],[[
2141 case $CONFIG_FILES in *config.make*)
2142 echo "$config_vars" >> config.make;;
2144 test -d bits || mkdir bits]],[[config_vars='$config_vars']])