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 -fPIC -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 -fPIC -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 -fPIC -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 -fPIC -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 -fPIC -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 -fPIC -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 -fPIC -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 -fPIC -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 -fPIC -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 AC_CACHE_CHECK(for -fstack-protector, libc_cv_ssp, [dnl
1512 cat > conftest.c <<EOF
1514 main () { return 0;}
1516 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -fstack-protector
1517 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
1524 AC_SUBST(libc_cv_ssp)
1526 if test $elf != yes; then
1527 AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
1528 [AC_TRY_COMPILE(, [asm (".section .init");
1529 asm (".section .fini");
1530 asm ("${libc_cv_dot_text}");],
1531 libc_cv_have_initfini=yes,
1532 libc_cv_have_initfini=no)])
1533 AC_SUBST(libc_cv_have_initfini)dnl
1534 if test $libc_cv_have_initfini = yes; then
1535 AC_DEFINE(HAVE_INITFINI)
1539 if test $elf = yes -a $gnu_ld = yes; then
1540 AC_CACHE_CHECK(whether cc puts quotes around section names,
1541 libc_cv_have_section_quotes,
1542 [cat > conftest.c <<EOF
1543 static const int foo
1544 __attribute__ ((section ("bar"))) = 1;
1546 if ${CC-cc} -S conftest.c -o conftest.s; then
1547 if grep '\.section.*"bar"' conftest.s >/dev/null; then
1548 libc_cv_have_section_quotes=yes
1550 libc_cv_have_section_quotes=no
1553 libc_cv_have_section_quotes=unknown
1557 if test $libc_cv_have_section_quotes = yes; then
1558 AC_DEFINE(HAVE_SECTION_QUOTES)
1562 dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1563 AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
1564 [cat > conftest.$ac_ext <<EOF
1565 dnl This sometimes fails to find confdefs.h, for some reason.
1566 dnl [#]line $LINENO "[$]0"
1567 [#]line $LINENO "configure"
1568 #include "confdefs.h"
1569 void underscore_test(void) {
1572 if AC_TRY_EVAL(ac_compile); then
1573 if grep _underscore_test conftest* >/dev/null; then
1574 ifelse([$1], , :, [rm -f conftest*
1577 ifelse([$2], , , [rm -f conftest*
1581 echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
1582 cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
1583 ifelse([$2], , , [rm -f conftest*
1588 if test $elf = yes; then
1589 libc_cv_asm_underscores=no
1591 if test $ac_cv_prog_cc_works = yes; then
1592 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1593 [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
1594 libc_cv_asm_underscores=yes,
1595 libc_cv_asm_underscores=no)])
1597 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1598 [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
1599 libc_cv_asm_underscores=no)])
1602 if test $libc_cv_asm_underscores = no; then
1603 AC_DEFINE(NO_UNDERSCORES)
1606 if test $elf = yes; then
1607 libc_cv_weak_symbols=yes
1610 AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
1612 cat > conftest.s <<EOF
1614 ${libc_cv_asm_global_directive} foo
1617 .weak bar; bar = foo
1619 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1620 libc_cv_asm_weak_directive=yes
1622 libc_cv_asm_weak_directive=no
1626 if test $libc_cv_asm_weak_directive = no; then
1627 AC_CACHE_CHECK(for assembler .weakext directive,
1628 libc_cv_asm_weakext_directive,
1630 cat > conftest.s <<EOF
1632 ${libc_cv_asm_global_directive} foo
1636 ${libc_cv_asm_global_directive} baz
1639 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1640 libc_cv_asm_weakext_directive=yes
1642 libc_cv_asm_weakext_directive=no
1648 if test $libc_cv_asm_weak_directive = yes; then
1649 AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
1650 elif test $libc_cv_asm_weakext_directive = yes; then
1651 AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
1654 AC_CACHE_CHECK(whether CFI directives are supported, libc_cv_asm_cfi_directives, [dnl
1655 cat > conftest.s <<EOF
1657 .type func,%function
1661 .cfi_rel_offset 1, 0
1664 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1665 libc_cv_asm_cfi_directives=yes
1667 libc_cv_asm_cfi_directives=no
1670 if test $libc_cv_asm_cfi_directives = yes; then
1671 AC_DEFINE(HAVE_ASM_CFI_DIRECTIVES)
1674 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
1675 cat > conftest.c <<\EOF
1680 dnl No \ in command here because it ends up inside ''.
1681 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1682 -nostdlib -nostartfiles -Wl,--no-whole-archive
1683 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1684 libc_cv_ld_no_whole_archive=yes
1686 libc_cv_ld_no_whole_archive=no
1689 if test $libc_cv_ld_no_whole_archive = yes; then
1690 no_whole_archive=-Wl,--no-whole-archive
1692 AC_SUBST(no_whole_archive)dnl
1694 AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
1695 cat > conftest.c <<\EOF
1700 dnl No \ in command here because it ends up inside ''.
1701 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1702 -nostdlib -nostartfiles -fexceptions
1703 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1704 libc_cv_gcc_exceptions=yes
1706 libc_cv_gcc_exceptions=no
1709 if test $libc_cv_gcc_exceptions = yes; then
1710 exceptions=-fexceptions
1712 AC_SUBST(exceptions)dnl
1714 if test "$host_cpu" = powerpc ; then
1715 # Check for a bug present in at least versions 2.8.x of GCC
1716 # and versions 1.0.x of EGCS.
1717 AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
1718 AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
1719 libc_cv_c_asmcr0_bug='no',
1720 libc_cv_c_asmcr0_bug='yes')])
1721 if test "$libc_cv_c_asmcr0_bug" != 'no'; then
1722 AC_DEFINE(BROKEN_PPC_ASM_CR0)
1726 AC_CACHE_CHECK(for DWARF2 unwind info support, libc_cv_gcc_dwarf2_unwind_info,
1727 [cat > conftest.c <<EOF
1728 #line $LINENO "configure"
1729 static char *__EH_FRAME_BEGIN__;
1732 #ifdef CHECK__register_frame
1733 __register_frame (__EH_FRAME_BEGIN__);
1734 __deregister_frame (__EH_FRAME_BEGIN__);
1736 #ifdef CHECK__register_frame_info
1737 __register_frame_info (__EH_FRAME_BEGIN__);
1738 __deregister_frame_info (__EH_FRAME_BEGIN__);
1743 /* FIXME: this is fragile. */
1752 dl_iterate_phdr () {}
1754 libc_unwind_check="${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame_info \
1756 -nostdlib -nostartfiles -o conftest conftest.c \
1758 # Some platforms' specs put -lgcc first. The second one doesn't hurt.
1759 if AC_TRY_COMMAND([$libc_unwind_check >&AS_MESSAGE_LOG_FD]) ||
1760 AC_TRY_COMMAND([$libc_unwind_check -lgcc_eh -lgcc >&AS_MESSAGE_LOG_FD])
1762 if $libc_unwind_check -v 2>&1 >/dev/null \
1763 | grep -- --eh-frame-hdr 2>&1 >/dev/null; then
1764 libc_cv_gcc_dwarf2_unwind_info=no_registry_needed
1766 libc_cv_gcc_dwarf2_unwind_info=static
1769 libc_cv_gcc_dwarf2_unwind_info=no
1771 if test $libc_cv_gcc_dwarf2_unwind_info = no; then
1772 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame
1773 $LDFLAGS -nostdlib -nostartfiles
1774 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1775 libc_cv_gcc_dwarf2_unwind_info=yes
1777 libc_cv_gcc_dwarf2_unwind_info=no
1781 case $libc_cv_gcc_dwarf2_unwind_info in
1783 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1786 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1787 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO_STATIC)
1791 dnl Check whether compiler understands __builtin_expect.
1792 AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
1793 [cat > conftest.c <<EOF
1794 #line $LINENO "configure"
1797 a = __builtin_expect (a, 10);
1798 return a == 10 ? 0 : 1;
1801 dnl No \ in command here because it ends up inside ''.
1802 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
1803 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1804 libc_cv_gcc_builtin_expect=yes
1806 libc_cv_gcc_builtin_expect=no
1809 if test "$libc_cv_gcc_builtin_expect" = yes; then
1810 AC_DEFINE(HAVE_BUILTIN_EXPECT)
1813 AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
1814 cat > conftest.c <<\EOF
1817 __builtin_memset (x, 0, 1000);
1821 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
1823 libc_cv_gcc_builtin_memset=no
1825 libc_cv_gcc_builtin_memset=yes
1828 if test "$libc_cv_gcc_builtin_memset" = yes ; then
1829 AC_DEFINE(HAVE_BUILTIN_MEMSET)
1832 AC_CACHE_CHECK(for redirection of built-in functions, libc_cv_gcc_builtin_redirection, [dnl
1833 cat > conftest.c <<\EOF
1834 extern char *strstr (const char *, const char *) __asm ("my_strstr");
1835 char *foo (const char *a, const char *b)
1837 return __builtin_strstr (a, b);
1841 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null]);
1843 libc_cv_gcc_builtin_redirection=yes
1845 libc_cv_gcc_builtin_redirection=no
1848 if test "$libc_cv_gcc_builtin_redirection" = yes ; then
1849 AC_DEFINE(HAVE_BUILTIN_REDIRECTION)
1852 dnl Check whether the compiler supports subtraction of local labels.
1853 AC_CACHE_CHECK(for local label subtraction, libc_cv_gcc_subtract_local_labels,
1854 [cat > conftest.c <<EOF
1856 #line $LINENO "configure"
1859 static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
1860 void *p = &&l1 + ar[a];
1869 dnl No \ in command here because it ends up inside ''.
1870 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
1871 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1872 libc_cv_gcc_subtract_local_labels=yes
1874 libc_cv_gcc_subtract_local_labels=no
1877 if test "$libc_cv_gcc_subtract_local_labels" = yes; then
1878 AC_DEFINE(HAVE_SUBTRACT_LOCAL_LABELS)
1881 dnl Check whether the compiler supports the __thread keyword.
1882 if test "x$use__thread" != xno; then
1883 AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
1884 [cat > conftest.c <<\EOF
1885 __thread int a = 42;
1887 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c >&AS_MESSAGE_LOG_FD]); then
1888 libc_cv_gcc___thread=yes
1890 libc_cv_gcc___thread=no
1893 if test "$libc_cv_gcc___thread" = yes; then
1894 AC_DEFINE(HAVE___THREAD)
1897 libc_cv_gcc___thread=no
1900 if test "$libc_cv_gcc___thread" = yes; then
1901 dnl Check whether the compiler supports the tls_model attribute.
1902 AC_CACHE_CHECK([for tls_model attribute], libc_cv_gcc_tls_model_attr, [dnl
1903 cat > conftest.c <<\EOF
1904 extern __thread int a __attribute__((tls_model ("initial-exec")));
1906 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -Werror conftest.c >&AS_MESSAGE_LOG_FD]); then
1907 libc_cv_gcc_tls_model_attr=yes
1909 libc_cv_gcc_tls_model_attr=no
1912 if test "$libc_cv_gcc_tls_model_attr" = yes; then
1913 AC_DEFINE(HAVE_TLS_MODEL_ATTRIBUTE)
1917 dnl Check whether we have the gd library available.
1918 AC_MSG_CHECKING(for libgd)
1919 if test "$with_gd" != "no"; then
1920 old_CFLAGS="$CFLAGS"
1921 CFLAGS="$CFLAGS $libgd_include"
1922 old_LDFLAGS="$LDFLAGS"
1923 LDFLAGS="$LDFLAGS $libgd_ldflags"
1925 LIBS="$LIBS -lgd -lpng -lz -lm"
1926 AC_TRY_LINK([#include <gd.h>], [gdImagePng (0, 0)], LIBGD=yes, LIBGD=no)
1927 CFLAGS="$old_CFLAGS"
1928 LDFLAGS="$old_LDFLAGS"
1933 AC_MSG_RESULT($LIBGD)
1937 if test x$with_selinux = xno ; then
1940 # See if we have the SELinux library
1941 AC_CHECK_LIB(selinux, is_selinux_enabled,
1942 have_selinux=yes, have_selinux=no)
1943 # See if we have the SELinux header with the NSCD permissions in it.
1944 if test x$have_selinux = xyes ; then
1945 AC_MSG_CHECKING([for NSCD Flask permissions in selinux/av_permissions.h])
1946 AC_TRY_COMPILE([#include <selinux/av_permissions.h>],
1947 [#ifdef NSCD__SHMEMHOST
1950 #error NSCD__SHMEMHOST not defined
1952 have_selinux=yes, have_selinux=no)
1953 AC_MSG_RESULT($have_selinux)
1956 if test x$with_selinux = xyes ; then
1957 if test x$have_selinux = xno ; then
1958 AC_MSG_ERROR([SELinux explicitly required, but sufficiently recent SELinux library not found])
1962 # Check if we're building with SELinux support.
1963 if test "x$have_selinux" = xyes; then
1964 AC_DEFINE(HAVE_SELINUX,1,[SELinux support])
1966 # See if we have the libaudit library
1967 AC_CHECK_LIB(audit, audit_log_avc,
1968 have_libaudit=yes, have_libaudit=no)
1969 if test "x$have_libaudit" = xyes; then
1970 AC_DEFINE(HAVE_LIBAUDIT,1,[SELinux libaudit support])
1972 AC_SUBST(have_libaudit)
1974 AC_SUBST(have_selinux)
1976 dnl check for the size of 'long double'.
1977 AC_CHECK_SIZEOF(long double, 0)
1978 sizeof_long_double=$ac_cv_sizeof_long_double
1979 AC_SUBST(sizeof_long_double)
1981 ### End of automated tests.
1982 ### Now run sysdeps configure fragments.
1984 # They also can set these variables.
1986 ldd_rewrite_script=no
1987 libc_cv_sysconfdir=$sysconfdir
1988 libc_cv_gcc_unwind_find_fde=no
1991 # Iterate over all the sysdep directories we will use, running their
1992 # configure fragments, and looking for a uname implementation.
1994 for dir in $sysnames; do
1997 *) dest=$srcdir/$dir ;;
1999 if test -r $dest/configure; then
2000 AC_MSG_RESULT(running configure fragment for $dir)
2004 if test -z "$uname"; then
2005 if test -r $dest/uname.c ||
2006 test -r $dest/uname.S ||
2007 { test -r $dest/syscalls.list &&
2008 grep '^uname[ ]' $dest/syscalls.list >/dev/null; }; then
2015 if test x$libc_cv_gcc_unwind_find_fde = xyes; then
2016 AC_DEFINE(EXPORT_UNWIND_FIND_FDE)
2018 AC_SUBST(libc_cv_gcc_unwind_find_fde)
2020 # If we will use the generic uname implementation, we must figure out what
2021 # it will say by examining the system, and write the results in config-name.h.
2022 if test "$uname" = "sysdeps/generic"; then
2025 uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
2027 if test $uname_sysname != $config_os; then
2028 config_release=`echo $config_os | sed s/$uname_sysname//`
2031 AC_DEFUN(LIBC_KERNEL_ID, [dnl
2032 if test -r /vmunix; then
2033 kernel_id=`strings /vmunix | grep UNIX`
2034 elif test -r /dynix; then
2035 kernel_id=`strings /dynix | grep DYNIX`
2041 AC_CACHE_CHECK(OS release for uname, libc_cv_uname_release, [dnl
2044 kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
2046 if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
2047 != x$config_release; then
2048 # The configuration release is a substring of the kernel release.
2049 libc_cv_uname_release=$kernel_release
2050 elif test x$config_release != x; then
2051 libc_cv_uname_release=$config_release
2052 elif test x$kernel_release != x; then
2053 libc_cv_uname_release=$kernel_release
2055 libc_cv_uname_release=unknown
2057 uname_release="$libc_cv_uname_release"
2059 AC_CACHE_CHECK(OS version for uname, libc_cv_uname_version, [dnl
2062 kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
2064 if test -n "$kernel_version"; then
2065 libc_cv_uname_version="$kernel_version"
2067 libc_cv_uname_version=unknown
2069 uname_version="$libc_cv_uname_version"
2071 AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl
2072 config_uname=config-name.h:config-name.in
2074 # For non-generic uname, we don't need to create config-name.h at all.
2078 dnl This is tested by existing code and it's simpler to avoid changing it.
2079 AC_DEFINE(USE_IN_LIBIO)
2081 # Test for old glibc 2.0.x headers so that they can be removed properly
2082 # Search only in includedir.
2083 AC_MSG_CHECKING(for old glibc 2.0.x headers)
2084 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
2086 old_glibc_headers=yes
2088 old_glibc_headers=no
2090 AC_MSG_RESULT($old_glibc_headers)
2091 if test ${old_glibc_headers} = yes; then
2092 AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
2093 AC_MSG_WARN(*** be removed.)
2095 AC_SUBST(old_glibc_headers)
2097 AC_SUBST(libc_cv_slibdir)
2098 AC_SUBST(libc_cv_localedir)
2099 AC_SUBST(libc_cv_sysconfdir)
2100 AC_SUBST(libc_cv_rootsbindir)
2101 AC_SUBST(libc_cv_forced_unwind)
2103 AC_SUBST(use_ldconfig)
2104 AC_SUBST(ldd_rewrite_script)
2106 AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) AC_SUBST(xcoff)
2107 if test $gnu_ld = yes; then
2108 AC_DEFINE(HAVE_GNU_LD)
2110 if test $gnu_as = yes; then
2111 AC_DEFINE(HAVE_GNU_AS)
2113 if test $elf = yes; then
2116 if test $xcoff = yes; then
2117 AC_DEFINE(HAVE_XCOFF)
2122 if test $shared = default; then
2123 if test $gnu_ld = yes; then
2126 # For now we do not assume shared libs are available. In future more
2127 # tests might become available.
2132 if test x"$libc_cv_idn" = xyes; then
2133 AC_DEFINE(HAVE_LIBIDN)
2136 AC_CACHE_CHECK([whether -fPIC is default], pic_default,
2138 cat > conftest.c <<EOF
2139 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
2140 # error PIC is default.
2143 if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
2147 AC_SUBST(pic_default)
2152 AC_SUBST(static_nss)
2153 AC_SUBST(nopic_initfini)
2157 dnl See sysdeps/mach/configure.in for this variable.
2158 AC_SUBST(mach_interface_list)
2160 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
2163 config_makefile=Makefile
2166 VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
2167 RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
2171 AC_CONFIG_FILES([config.make ${config_makefile} ${config_uname}])
2172 AC_CONFIG_COMMANDS([default],[[
2173 case $CONFIG_FILES in *config.make*)
2174 echo "$config_vars" >> config.make;;
2176 test -d bits || mkdir bits]],[[config_vars='$config_vars']])