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]),
85 AC_HELP_STRING([--with-xcoff],
86 [if using the XCOFF object format]),
90 AC_HELP_STRING([--without-cvs],
91 [if CVS should not be used]),
94 if test "$with_cvs" = yes; then
95 if test -d $srcdir/CVS && grep :pserver: $srcdir/CVS/Root > /dev/null
102 AC_ARG_WITH([headers],
103 AC_HELP_STRING([--with-headers=PATH],
104 [location of system headers to use
105 (for example /usr/src/linux/include)
106 @<:@default=compiler default@:>@]),
107 [sysheaders=$withval],
110 AC_ARG_ENABLE([sanity-checks],
111 AC_HELP_STRING([--disable-sanity-checks],
112 [really do not use threads (should not be used except in special situations) @<:@default=yes@:>@]),
113 [enable_sanity=$enableval],
116 AC_SUBST(enable_check_abi)
117 AC_ARG_ENABLE([check-abi],
118 AC_HELP_STRING([--enable-check-abi],
119 [do "make check-abi" in "make check" (no/warn/yes)
120 @<:@default=no@:>@]),
121 [enable_check_abi=$enableval],
122 [enable_check_abi=no])
124 dnl Arguments to enable or disable building the static, shared, profiled,
125 dnl and -fomit-frame-pointer libraries.
126 dnl I've disabled this for now since we cannot build glibc without static
127 dnl libraries built in the moment.
128 dnl AC_ARG_ENABLE([static],
129 dnl AC_HELP_STRING([--enable-static],
130 dnl [build static library @<:@default=yes@:>@]),
131 dnl [static=$enableval],
134 AC_ARG_ENABLE([shared],
135 AC_HELP_STRING([--enable-shared],
136 [build shared library @<:@default=yes if GNU ld & ELF@:>@]),
139 AC_ARG_ENABLE([profile],
140 AC_HELP_STRING([--enable-profile],
141 [build profiled library @<:@default=yes@:>@]),
142 [profile=$enableval],
144 AC_ARG_ENABLE([omitfp],
145 AC_HELP_STRING([--enable-omitfp],
146 [build undebuggable optimized library @<:@default=no@:>@]),
149 AC_ARG_ENABLE([bounded],
150 AC_HELP_STRING([--enable-bounded],
151 [build with runtime bounds checking @<:@default=no@:>@]),
152 [bounded=$enableval],
154 AC_ARG_ENABLE([versioning],
155 AC_HELP_STRING([--disable-versioning],
156 [do not include versioning information in the library objects @<:@default=yes if supported@:>@]),
157 [enable_versioning=$enableval],
158 [enable_versioning=yes])
160 AC_ARG_ENABLE([oldest-abi],
161 AC_HELP_STRING([--enable-oldest-abi=ABI],
162 [configure the oldest ABI supported @<:@e.g. 2.2@:>@ @<:@default=glibc default@:>@]),
163 [oldest_abi=$enableval],
165 if test "$oldest_abi" = yes || test "$oldest_abi" = no; then
168 AC_DEFINE_UNQUOTED(GLIBC_OLDEST_ABI, "$oldest_abi")
172 dnl Generic infrastructure for drop-in additions to libc.
173 AC_ARG_ENABLE([add-ons],
174 AC_HELP_STRING([--enable-add-ons@<:@=DIRS...@:>@],
175 [configure and build add-ons in DIR1,DIR2,... search for add-ons if no parameter given]),
176 [case "$enableval" in
177 yes) add_ons=`cd $srcdir && echo */configure | sed -e 's!/configure!!g'`
178 test "$add_ons" = "*" && add_ons= ;;
179 *) add_ons=`echo "$enableval" | sed 's/,/ /g'`;;
183 dnl Let the user avoid using TLS. Don't know why but...
184 dnl XXX For now we disable support by default.
186 AC_HELP_STRING([--with-tls],
187 [enable support for TLS]),
191 AC_ARG_WITH([__thread],
192 AC_HELP_STRING([--without-__thread],
193 [do not use TLS features even when supporting them]),
194 [use__thread=$withval],
197 AC_ARG_ENABLE([hidden-plt],
198 AC_HELP_STRING([--disable-hidden-plt],
199 [do not hide internal function calls to avoid PLT]),
202 if test "x$hidden" = xno; then
206 AC_ARG_ENABLE([bind-now],
207 AC_HELP_STRING([--enable-bind-now],
208 [disable lazy relocations in DSOs]),
209 [bindnow=$enableval],
213 dnl On some platforms we cannot use dynamic loading. We must provide
214 dnl static NSS modules.
215 AC_ARG_ENABLE([static-nss],
216 AC_HELP_STRING([--enable-static-nss],
217 [build static NSS modules @<:@default=no@:>@]),
218 [static_nss=$enableval],
220 dnl Enable static NSS also if we build no shared objects.
221 if test x"$static_nss" = xyes || test x"$shared" = xno; then
223 AC_DEFINE(DO_STATIC_NSS)
226 AC_ARG_ENABLE([force-install],
227 AC_HELP_STRING([--disable-force-install],
228 [don't force installation of files from this package, even if they are older than the installed files]),
229 [force_install=$enableval],
231 AC_SUBST(force_install)
233 dnl On some platforms we allow dropping compatibility with all kernel
235 AC_ARG_ENABLE([kernel],
236 AC_HELP_STRING([--enable-kernel=VERSION],
237 [compile for compatibility with kernel not older than VERSION]),
238 [minimum_kernel=$enableval],
240 dnl Prevent unreasonable values.
241 if test "$minimum_kernel" = yes || test "$minimum_kernel" = no; then
242 # Better nothing than this.
245 if test "$minimum_kernel" = current; then
246 minimum_kernel=`uname -r 2>/dev/null` || minimum_kernel=
250 dnl For the development we sometimes want gcc to issue even more warnings.
251 dnl This is not the default since many of the extra warnings are not
253 AC_ARG_ENABLE([all-warnings],
254 AC_HELP_STRING([--enable-all-warnings],
255 [enable all useful warnings gcc can issue]),
256 [all_warnings=$enableval],
258 AC_SUBST(all_warnings)
262 # The way shlib-versions is used to generate soversions.mk uses a
263 # fairly simplistic model for name recognition that can't distinguish
264 # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os
265 # of `gnu*' here to be `gnu-gnu*' just so that shlib-versions can
266 # tell. This doesn't get used much beyond that, so it's fairly safe.
271 host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
275 # We keep the original values in `$config_*' and never modify them, so we
276 # can write them unchanged into config.make. Everything else uses
277 # $machine, $vendor, and $os, and changes them whenever convenient.
278 config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
280 # Don't allow vendor == "unknown"
281 test "$config_vendor" = unknown && config_vendor=
282 config_os="`echo $config_os | sed 's/^unknown-//'`"
284 # Some configurations imply other options.
286 gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
287 # These systems always use GNU tools.
288 gnu_ld=yes gnu_as=yes ;;
291 # i586-linuxaout is mangled into i586-pc-linux-gnuaout
292 linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
294 gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
295 # These systems (almost) always use the ELF format.
299 # These systems are always xcoff
305 # The configure fragment of an add-on port can modify these to supplement
306 # or override the table in the case statement below. No fragment should
307 # ever change the config_* variables, however.
308 machine=$config_machine
309 vendor=$config_vendor
312 # config.guess on some IBM machines says `rs6000' instead of `powerpc'.
314 if test "$machine" = rs6000; then
318 # Braindead PowerPC box with absolutely no FPU.
319 case "$machine-$host_os" in
326 # An add-on can set this when it the tuple to disable the sanity check below.
329 dnl Having this here, though empty, makes sure that if add-ons' fragments
330 dnl do AC_CONFIG_SUBDIRS([some-dir]), which just sets $subdirs, then
331 dnl our AC_OUTPUT will actually use it.
336 if test x"$add_ons" != x; then
337 for f in $add_ons; do
342 *** It seems that you're using an old \`crypt' add-on. crypt is now
343 *** part of glibc and using the old add-on will not work with this
344 *** release. Start again with fresh sources and without the old
345 *** \`crypt' add-on.])
349 *** It seems that you're using an old \`localedata' add-on. localedata
350 *** is now part of glibc and using the old add-on will not work with
351 *** this release. Start again with fresh sources and without the old
352 *** \`localedata' add-on.])
356 # Test whether such a subdir really exists.
357 if test -d $srcdir/$f; then
358 add_ons_pfx="$add_ons_pfx $f/"
359 add_ons_sfx="$add_ons_sfx /$f"
361 AC_MSG_ERROR(add-on directory \"$f\" does not exist)
365 for f in $add_ons; do
366 frag=$srcdir/$f/configure
367 if test -r $frag; then
368 AC_MSG_RESULT(running configure fragment for add-on $f)
371 AC_MSG_WARN(add-on fragment $frag missing)
379 ### I put this here to prevent those annoying emails from people who cannot
380 ### read and try to compile glibc on unsupported platforms. --drepper
382 ### By using the undocumented --enable-hacker-mode option for configure
383 ### one can skip this test to make the configuration not fail for unsupported
386 if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then
387 case "$machine-$host_os" in
388 *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
391 echo "*** The GNU C library is currently not available for this platform."
392 echo "*** So far nobody cared to port it and if there is no volunteer it"
393 echo "*** might never happen. So, if you have interest to see glibc on"
394 echo "*** this platform visit"
395 echo "*** http://www.gnu.org/software/libc/porting.html"
396 echo "*** and join the group of porters"
402 dnl We need to use [ and ] for other purposes for a while now.
404 # Expand the configuration machine name into a subdirectory by architecture
405 # type and particular chip. If an add-on configure fragment already set
406 # base_machine, we don't change it.
407 test -n "$base_machine" || case "$machine" in
408 a29k | am29000) base_machine=a29k machine=a29k ;;
409 alpha*) base_machine=alpha machine=alpha/$machine ;;
410 arm*) base_machine=arm machine=arm/arm32/$machine ;;
411 c3[012]) base_machine=cx0 machine=cx0/c30 ;;
412 c4[04]) base_machine=cx0 machine=cx0/c40 ;;
413 hppa*64*) base_machine=hppa machine=hppa/hppa64 ;;
414 hppa*) base_machine=hppa machine=hppa/hppa1.1 ;;
415 i[3456]86) base_machine=i386 machine=i386/$machine ;;
416 ia64) base_machine=ia64 machine=ia64 ;;
417 m680?0) base_machine=m68k machine=m68k/$machine ;;
418 m68k) base_machine=m68k machine=m68k/m68020 ;;
419 m88???) base_machine=m88k machine=m88k/$machine ;;
420 m88k) base_machine=m88k machine=m88k/m88100 ;;
421 mips64*) base_machine=mips64
422 case "$CC $CFLAGS $CPPFLAGS " in
423 *" -mabi=n32 "*) mips_cc_abi=n32 ;;
424 *" -mabi=64 "*|*" -mabi=n64 "*) mips_cc_abi=64 ;;
425 *" -mabi=32 "*|*" -mabi=o32 "*) mips_cc_abi=32 ;;
426 *) mips_cc_abi=default ;;
429 *abin32*) mips_config_abi=n32 ;;
430 *abi64*|*abin64*) mips_config_abi=64 ;;
431 *abi32*|*abio32*) mips_config_abi=32 ;;
432 *) mips_config_abi=$mips_cc_abi ;;
434 case $mips_config_abi in
435 default) machine=mips/mips64/n32 mips_config_abi=n32 ;;
436 n32) machine=mips/mips64/n32 ;;
437 64) machine=mips/mips64/n64 ;;
438 32) machine=mips/mips32/kern64 ;;
440 machine=$machine/$config_machine
441 if test $mips_config_abi != $mips_cc_abi; then
442 # This won't make it to config.make, but we want to
443 # set this in case configure tests depend on it.
444 CPPFLAGS="$CPPFLAGS -mabi=$mips_config_abi"
447 mips*) base_machine=mips machine=mips/mips32/$machine ;;
448 powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;;
449 powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;;
450 s390) base_machine=s390 machine=s390/s390-32 ;;
451 s390x) base_machine=s390 machine=s390/s390-64 ;;
452 sh3*) base_machine=sh machine=sh/sh3 ;;
453 sh4*) base_machine=sh machine=sh/sh4 ;;
455 base_machine=sparc machine=sparc/sparc32 ;;
456 sparcv8 | supersparc | hypersparc)
457 base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
458 sparcv8plus | sparcv8plusa | sparcv9)
459 base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
460 sparcv8plusb | sparcv9b)
461 base_machine=sparc machine=sparc/sparc32/sparcv9b ;;
462 sparc64 | ultrasparc)
463 base_machine=sparc machine=sparc/sparc64 ;;
464 sparc64b | ultrasparc3)
465 base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
466 thumb*) base_machine=thumb machine=arm/thumb/$machine ;;
467 *) base_machine=$machine ;;
470 AC_SUBST(base_machine)
472 if test "$base_machine" = "i386"; then
473 AC_DEFINE(USE_REGPARMS)
476 # Compute the list of sysdep directories for this configuration.
477 # This can take a while to compute.
478 sysdep_dir=$srcdir/sysdeps
479 AC_MSG_CHECKING(sysdep dirs)
480 dnl We need to use [ and ] for other purposes for a while now.
482 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
483 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
488 netbsd* | 386bsd* | freebsd* | bsdi*)
489 base_os=unix/bsd/bsd4.4 ;;
490 osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
492 sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
495 base_os=unix/sysv/irix6/$os ;;
497 base_os=unix/sysv/sysv4 ;;
499 base_os=unix/sysv/hpux/$os ;;
501 base_os=unix/sysv/aix/aix4.3 ;;
503 base_os=standalone ;;
508 # For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
511 while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
515 o=`echo $tail | sed 's/[0-9]*$//'`
516 if test $o != $tail; then
519 # For linux-gnu, try linux-gnu, then linux.
520 o=`echo $tail | sed 's/-.*$//'`
521 if test $o != $tail; then
525 # For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
528 while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
534 # For sparc/sparc32, try sparc/sparc32 and then sparc.
537 while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
539 # Prepend the machine's FPU directory unless --without-fp.
540 if test "$with_fp" = yes; then
543 mach="$mach /$1/nofpu"
549 dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
552 # Find what sysdep directories exist.
554 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
555 for d in $add_ons_pfx ''; do
556 for b in $base ''; do
557 for m0 in $mach ''; do
558 for v in /$vendor ''; do
559 test "$v" = / && continue
560 for o in /$ostry ''; do
561 test "$o" = / && continue
562 for m in $mach ''; do
563 for a in $add_ons_sfx ''; do
564 if test "$m0$b$v$o$m"; then
565 try="${d}sysdeps$m0$b$v$o$m$a"
566 test -n "$enable_debug_configure" &&
567 echo "$0 [DEBUG]: try $try" >&2
568 if test -d $srcdir/$try; then
569 sysnames="$sysnames $try"
570 { test -n "$o" || test -n "$b"; } && os_used=t
571 { test -n "$m" || test -n "$m0"; } && machine_used=t
583 if test -z "$os_used" && test "$os" != none; then
584 AC_MSG_ERROR(Operating system $os is not supported.)
586 if test -z "$machine_used" && test "$machine" != none; then
587 AC_MSG_ERROR(The $machine is not supported.)
590 # We have now validated the configuration.
593 # If using ELF, look for an `elf' subdirectory of each machine directory.
594 # We prepend these rather than inserting them whereever the machine appears
595 # because things specified by the machine's ELF ABI should override
596 # OS-specific things, and should always be the same for any OS on the
597 # machine (otherwise what's the point of an ABI?).
598 if test "$elf" = yes; then
600 for d in $add_ons_pfx ''; do
602 if test -d $srcdir/${d}sysdeps$m/elf; then
603 elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
607 sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
611 # Expand the list of system names into a full list of directories
612 # from each element's parent name and Implies file (if present).
615 while test $# -gt 0; do
619 case " $names " in *" $name "*)
620 # Already in the list.
624 # Report each name as we discover it, so there is no long pause in output.
625 echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
627 name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
631 *) xsrcdir=$srcdir/ ;;
633 test -n "$enable_debug_configure" &&
634 echo "[DEBUG]: name/Implies $xsrcdir$name/Implies" >&2
636 if test -f $xsrcdir$name/Implies; then
637 # Collect more names from the `Implies' file (removing comments).
638 implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
640 for x in $implied_candidate; do
642 if test -d $xsrcdir$name_base/$x; then
643 implied="$implied $name_base/$x";
646 for d in $add_ons_pfx ''; do
650 *) try_srcdir=$srcdir/ ;;
652 test -n "$enable_debug_configure" &&
653 echo "[DEBUG]: $name implied $x try($d) {$try_srcdir}$try" >&2
654 if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
656 implied="$implied $try"
660 if test $found = no; then
661 AC_MSG_WARN($name/Implies specifies nonexistent $x)
668 # Add NAME to the list of names.
671 # Find the parent of NAME, using the empty string if it has none.
673 parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
676 # Add the names implied by NAME, and NAME's parent (if it has one), to
677 # the list of names to be processed (the argument list). We prepend the
678 # implied names to the list and append the parent. We want implied
679 # directories to come before further directories inferred from the
680 # configuration components; this ensures that for sysv4, unix/common
681 # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
683 sysnames="`echo $implied $* $parent`"
684 test -n "$sysnames" && set $sysnames
687 # Add the default directories.
688 default_sysnames=sysdeps/generic
689 if test "$elf" = yes; then
690 default_sysnames="sysdeps/generic/elf $default_sysnames"
692 sysnames="$names $default_sysnames"
694 # The other names were emitted during the scan.
695 AC_MSG_RESULT($default_sysnames)
701 if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
702 # The makefiles need to use a different form to find it in $srcdir.
703 INSTALL='\$(..)./scripts/install-sh -c'
708 if test $host != $build; then
709 AC_CHECK_PROGS(BUILD_CC, gcc cc)
711 AC_SUBST(cross_compiling)
713 # We need the C++ compiler only for testing.
716 AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
718 # Accept binutils 2.13 or newer.
719 AC_CHECK_PROG_VER(AS, $AS, --version,
720 [GNU assembler.* \([0-9]*\.[0-9.]*\)],
721 [2.1[3-9]*], AS=: critic_missing="$critic_missing as")
722 AC_CHECK_PROG_VER(LD, $LD, --version,
723 [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
724 [2.1[3-9]*], LD=: critic_missing="$critic_missing ld")
726 # We need the physical current working directory. We cannot use the
727 # "pwd -P" shell builtin since that's not portable. Instead we try to
728 # find a pwd binary. Note that assigning to the PWD environment
729 # variable might have some interesting side effects, so we don't do
731 AC_PATH_PROG(PWD_P, pwd, no)
732 if test "$PWD_P" = no; then
733 AC_MSG_ERROR(*** A pwd binary could not be found.)
736 # These programs are version sensitive.
738 AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
739 [version \([egcygnustpi-]*[0-9.]*\)], [3.[2-9]*],
740 critic_missing="$critic_missing gcc")
741 AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
742 [GNU Make[^0-9]*\([0-9][0-9.]*\)],
743 [3.79* | 3.[89]*], critic_missing="$critic_missing make")
745 AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
746 [GNU gettext.* \([0-9]*\.[0-9.]*\)],
747 [0.10.3[6-9]* | 0.10.[4-9][0-9]* | 0.1[1-9]* | 0.[2-9][0-9]* | [1-9].*],
748 MSGFMT=: aux_missing="$aux_missing msgfmt")
749 AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
750 [GNU texinfo.* \([0-9][0-9.]*\)],
752 MAKEINFO=: aux_missing="$aux_missing makeinfo")
753 AC_CHECK_PROG_VER(SED, sed, --version,
754 [GNU sed version \([0-9]*\.[0-9.]*\)],
755 [3.0[2-9]*|3.[1-9]*|[4-9]*],
756 SED=: aux_missing="$aux_missing sed")
758 AC_CHECK_PROGS(AUTOCONF, autoconf, no)
760 xno|x|x:) AUTOCONF=no ;;
763 whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works, libc_cv_autoconf_works, [dnl
764 if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then
765 libc_cv_autoconf_works=yes
767 libc_cv_autoconf_works=no
769 test $libc_cv_autoconf_works = yes || AUTOCONF=no
772 if test "x$with_cvs" = xyes && test "x$AUTOCONF" = xno; then
773 # If --without-cvs they probably won't change configure.in, so no complaints.
774 aux_missing="$aux_missing autoconf"
777 test -n "$critic_missing" && AC_MSG_ERROR([
778 *** These critical programs are missing or too old:$critic_missing
779 *** Check the INSTALL file for required versions.])
781 test -n "$aux_missing" && AC_MSG_WARN([
782 *** These auxiliary programs are missing or incompatible versions:$aux_missing
783 *** some features will be disabled.
784 *** Check the INSTALL file for required versions.])
786 # if using special system headers, find out the compiler's sekrit
787 # header directory and add that to the list. NOTE: Only does the right
788 # thing on a system that doesn't need fixincludes. (Not presently a problem.)
789 if test -n "$sysheaders"; then
790 ccheaders=`$CC -print-file-name=include`
791 SYSINCLUDES="-nostdinc -isystem $ccheaders -isystem $sysheaders"
793 AC_SUBST(SYSINCLUDES)
795 # check if ranlib is necessary
796 AC_CACHE_CHECK(whether ranlib is necessary, libc_cv_ranlib_necessary, [dnl
797 cat > conftest.c <<EOF
802 $CC $CFLAGS $CPPFLAGS -c conftest.c
803 $AR cr conftest.a conftest.o
804 cp conftest.a conftest2.a
806 if cmp -s conftest.a conftest2.a; then
807 libc_cv_ranlib_necessary=no
809 libc_cv_ranlib_necessary=yes
812 if test "$libc_cv_ranlib_necessary" = no; then
816 # Test if LD_LIBRARY_PATH contains the notation for the current directory
817 # since this would lead to problems installing/building glibc.
818 # LD_LIBRARY_PATH contains the current directory if one of the following
820 # - one of the terminals (":" and ";") is the first or last sign
821 # - two terminals occur directly after each other
822 # - the path contains an element with a dot in it
823 AC_MSG_CHECKING(LD_LIBRARY_PATH variable)
825 case ${LD_LIBRARY_PATH} in
826 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
827 ld_library_path_setting="contains current directory"
830 ld_library_path_setting="ok"
834 AC_MSG_RESULT($ld_library_path_setting)
835 if test "$ld_library_path_setting" != "ok"; then
837 *** LD_LIBRARY_PATH shouldn't contain the current directory when
838 *** building glibc. Please change the environment variable
839 *** and run configure again.])
842 AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl
843 if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
844 libc_cv_gcc_static_libgcc=
846 libc_cv_gcc_static_libgcc=-static-libgcc
848 AC_SUBST(libc_cv_gcc_static_libgcc)
850 AC_PATH_PROG(BASH, bash, no)
851 if test "$BASH" != no &&
852 $BASH -c 'test "$BASH_VERSINFO" \
853 && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then
854 libc_cv_have_bash2=yes
856 libc_cv_have_bash2=no
858 AC_SUBST(libc_cv_have_bash2)
860 dnl We need a ksh compatible shell for tzselect.
861 if test "$BASH" = no; then
862 AC_PATH_PROG(KSH, ksh, no)
863 if test "$KSH" = no; then
873 AC_SUBST(libc_cv_have_ksh)
876 AC_PATH_PROG(PERL, perl, no)
877 if test "$PERL" != no &&
878 (eval `$PERL -V:apiversion`; test `expr "$apiversion" \< 5` -ne 0); then
881 AC_PATH_PROG(INSTALL_INFO, install-info, no,
882 $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
883 AC_PATH_PROG(BISON, bison, no, $PATH:/usr/local/bin:/usr/bin:/bin)
885 AC_CACHE_CHECK(for signed size_t type, libc_cv_signed_size_t, [dnl
886 echo '#include <stddef.h>
887 FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
888 if eval "$ac_cpp conftest.c 2>/dev/null" \
889 | grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then
890 libc_cv_signed_size_t=no
892 libc_cv_signed_size_t=yes
895 if test $libc_cv_signed_size_t = yes; then
896 dnl Do this by hand instead of AC_DEFINE so can add #undef to avoid warnings.
897 cat >> confdefs.h <<\EOF
899 #define __SIZE_TYPE__ unsigned
903 AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl
905 [#define __need_size_t
906 #define __need_wchar_t
909 #include <stddef.h>], [size_t size; wchar_t wchar;
911 #error stddef.h ignored __need_*
913 if (&size == NULL || &wchar == NULL) abort ();],
914 libc_cv_friendly_stddef=yes,
915 libc_cv_friendly_stddef=no)])
916 if test $libc_cv_friendly_stddef = yes; then
917 config_vars="$config_vars
918 override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
921 AC_CACHE_CHECK(whether we need to use -P to assemble .S files,
922 libc_cv_need_minus_P, [dnl
923 cat > conftest.S <<EOF
924 #include "confdefs.h"
925 /* Nothing whatsoever. */
927 if AC_TRY_COMMAND(${CC-cc} $CPPFLAGS $ASFLAGS -c conftest.S 1>&AS_MESSAGE_LOG_FD); then
928 libc_cv_need_minus_P=no
930 libc_cv_need_minus_P=yes
933 if test $libc_cv_need_minus_P = yes; then
934 config_vars="$config_vars
935 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
938 AC_MSG_CHECKING(whether .text pseudo-op must be used)
939 AC_CACHE_VAL(libc_cv_dot_text, [dnl
940 cat > conftest.s <<EOF
944 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
945 libc_cv_dot_text=.text
948 if test -z "$libc_cv_dot_text"; then
954 AC_CACHE_CHECK(for assembler global-symbol directive,
955 libc_cv_asm_global_directive, [dnl
956 libc_cv_asm_global_directive=UNKNOWN
957 for ac_globl in .globl .global .EXPORT; do
958 cat > conftest.s <<EOF
963 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
964 libc_cv_asm_global_directive=${ac_globl}
967 test $libc_cv_asm_global_directive != UNKNOWN && break
969 if test $libc_cv_asm_global_directive = UNKNOWN; then
970 AC_MSG_ERROR(cannot determine asm global directive)
972 AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
975 AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
976 cat > conftest.s <<EOF
979 .set glibc_conftest_frobozz,foo
980 $libc_cv_asm_global_directive glibc_conftest_frobozz
982 # The alpha-dec-osf1 assembler gives only a warning for `.set'
983 # (but it doesn't work), so we must do a linking check to be sure.
984 cat > conftest1.c <<\EOF
985 extern int glibc_conftest_frobozz;
986 void _start() { glibc_conftest_frobozz = 1; }
988 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
989 -nostartfiles -nostdlib \
990 -o conftest conftest.s conftest1.c 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
991 libc_cv_asm_set_directive=yes
993 libc_cv_asm_set_directive=no
996 if test $libc_cv_asm_set_directive = yes; then
997 AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
1000 AC_CACHE_CHECK(for assembler .type directive prefix,
1001 libc_cv_asm_type_prefix, [dnl
1002 libc_cv_asm_type_prefix=no
1003 for ac_try_prefix in '@' '%' '#'; do
1004 cat > conftest.s <<EOF
1006 ${libc_cv_asm_global_directive} foo
1007 .type foo, ${ac_try_prefix}object
1012 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1013 libc_cv_asm_type_prefix=${ac_try_prefix}
1016 test "x$libc_cv_asm_type_prefix" != xno && break
1018 if test "x$libc_cv_asm_type_prefix" != xno; then
1019 AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
1022 # The Aix ld uses global .symbol_names instead of symbol_names.
1023 # Unfortunately also used in the PPC64 ELF ABI.
1024 case "${os}${machine}" in
1025 aix4.3* | linux*powerpc/powerpc64*)
1026 AC_DEFINE(HAVE_ASM_GLOBAL_DOT_NAME)
1029 AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
1030 [cat > conftest.s <<EOF
1033 .symver _sym,sym@VERS
1035 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1036 libc_cv_asm_symver_directive=yes
1038 libc_cv_asm_symver_directive=no
1041 AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
1042 if test $libc_cv_asm_symver_directive = yes; then
1043 cat > conftest.s <<EOF
1046 .symver _sym,sym@VERS
1048 cat > conftest.map <<EOF
1057 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1058 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $LDFLAGS -shared
1059 -o conftest.so conftest.o
1060 -nostartfiles -nostdlib
1061 -Wl,--version-script,conftest.map
1062 1>&AS_MESSAGE_LOG_FD]);
1064 libc_cv_ld_version_script_option=yes
1066 libc_cv_ld_version_script_option=no
1069 libc_cv_ld_version_script_option=no
1072 libc_cv_ld_version_script_option=no
1075 if test $shared != no &&
1076 test $libc_cv_asm_symver_directive = yes &&
1077 test $libc_cv_ld_version_script_option = yes &&
1078 test $enable_versioning = yes; then
1080 AC_DEFINE(DO_VERSIONING)
1084 AC_SUBST(VERSIONING)
1086 if test $elf = yes && test $shared != no && test $VERSIONING = no; then
1088 *** WARNING: You should not compile GNU libc without versioning. Not using
1089 *** versioning will introduce incompatibilities so that old binaries
1090 *** will not run anymore.
1091 *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
1093 if test $elf = yes; then
1094 AC_CACHE_CHECK(for .previous assembler directive,
1095 libc_cv_asm_previous_directive, [dnl
1096 cat > conftest.s <<EOF
1097 .section foo_section
1100 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1101 libc_cv_asm_previous_directive=yes
1103 libc_cv_asm_previous_directive=no
1106 if test $libc_cv_asm_previous_directive = yes; then
1107 AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
1109 AC_CACHE_CHECK(for .popsection assembler directive,
1110 libc_cv_asm_popsection_directive, [dnl
1111 cat > conftest.s <<EOF
1112 .pushsection foo_section
1115 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1116 libc_cv_asm_popsection_directive=yes
1118 libc_cv_asm_popsection_directive=no
1121 if test $libc_cv_asm_popsection_directive = yes; then
1122 AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
1125 AC_CACHE_CHECK(for .protected and .hidden assembler directive,
1126 libc_cv_asm_protected_directive, [dnl
1127 cat > conftest.s <<EOF
1133 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1134 libc_cv_asm_protected_directive=yes
1136 libc_cv_asm_protected_directive=no
1139 AC_SUBST(libc_cv_asm_protected_directive)
1140 AC_DEFINE(HAVE_PROTECTED)
1141 AC_DEFINE(HAVE_HIDDEN)
1143 if test $libc_cv_asm_protected_directive = yes; then
1144 AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
1145 libc_cv_visibility_attribute,
1146 [cat > conftest.c <<EOF
1147 int foo __attribute__ ((visibility ("hidden"))) = 1;
1148 int bar __attribute__ ((visibility ("protected"))) = 1;
1150 libc_cv_visibility_attribute=no
1151 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1152 if grep '\.hidden.*foo' conftest.s >/dev/null; then
1153 if grep '\.protected.*bar' conftest.s >/dev/null; then
1154 libc_cv_visibility_attribute=yes
1160 if test $libc_cv_visibility_attribute = yes; then
1161 AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
1165 if test $libc_cv_visibility_attribute = yes; then
1166 AC_CACHE_CHECK(for broken __attribute__((visibility())),
1167 libc_cv_broken_visibility_attribute,
1168 [cat > conftest.c <<EOF
1170 int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
1171 int bar (int x) { return x; }
1173 libc_cv_broken_visibility_attribute=yes
1174 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s1>&AS_MESSAGE_LOG_FD); then
1176 if grep '\.hidden[ _]foo' conftest.s >/dev/null; then
1178 libc_cv_broken_visibility_attribute=no
1181 rm -f conftest.c conftest.s
1183 if test $libc_cv_broken_visibility_attribute = yes; then
1184 AC_DEFINE(HAVE_BROKEN_VISIBILITY_ATTRIBUTE)
1188 AC_CACHE_CHECK(for broken __attribute__((alias())),
1189 libc_cv_broken_alias_attribute,
1190 [cat > conftest.c <<EOF
1191 extern int foo (int x) __asm ("xyzzy");
1192 int bar (int x) { return x; }
1193 extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
1195 extern __typeof (dfoo) dfoo __asm ("abccb");
1198 libc_cv_broken_alias_attribute=yes
1199 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1200 if grep 'xyzzy' conftest.s >/dev/null &&
1201 grep 'abccb' conftest.s >/dev/null; then
1202 libc_cv_broken_alias_attribute=no
1205 rm -f conftest.c conftest.s
1207 if test $libc_cv_broken_alias_attribute = yes; then
1208 AC_DEFINE(HAVE_BROKEN_ALIAS_ATTRIBUTE)
1211 if test $libc_cv_visibility_attribute = yes -a $gnu_ld = yes; then
1212 AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
1213 libc_cv_have_sdata_section,
1214 [echo "int i;" > conftest.c
1215 libc_cv_have_sdata_section=no
1216 if ${CC-cc} $LDFLAGS -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
1217 | grep '\.sdata' >/dev/null; then
1218 libc_cv_have_sdata_section=yes
1220 rm -f conftest.c conftest.so
1222 if test $libc_cv_have_sdata_section = yes; then
1223 AC_DEFINE(HAVE_SDATA_SECTION)
1227 AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
1228 libc_cv_initfinit_array, [dnl
1229 cat > conftest.c <<EOF
1230 int _start (void) { return 0; }
1231 int __start (void) { return 0; }
1232 int foo (void) { return 1; }
1233 int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
1235 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
1236 -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
1238 if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then
1239 libc_cv_initfinit_array=yes
1241 libc_cv_initfinit_array=no
1244 libc_cv_initfinit_array=no
1247 AC_SUBST(libc_cv_initfinit_array)
1248 if test $libc_cv_initfinit_array = yes; then
1249 AC_DEFINE(HAVE_INITFINI_ARRAY)
1252 AC_CACHE_CHECK(for libunwind-support in compiler,
1253 libc_cv_cc_with_libunwind, [dnl
1254 AC_TRY_LINK([#include <libunwind.h>], [
1257 unw_getcontext (&uc);
1258 unw_init_local (&c, &uc)],
1259 libc_cv_cc_with_libunwind=yes, libc_cv_cc_with_libunwind=no)])
1260 AC_SUBST(libc_cv_cc_with_libunwind)
1261 if test $libc_cv_cc_with_libunwind = yes; then
1262 AC_DEFINE(HAVE_CC_WITH_LIBUNWIND)
1265 AC_CACHE_CHECK(for -z nodelete option,
1266 libc_cv_z_nodelete, [dnl
1267 cat > conftest.c <<EOF
1268 int _start (void) { return 42; }
1270 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1271 -shared -o conftest.so conftest.c
1272 -nostartfiles -nostdlib
1273 -Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD])
1275 libc_cv_z_nodelete=yes
1277 libc_cv_z_nodelete=no
1280 AC_SUBST(libc_cv_z_nodelete)
1282 AC_CACHE_CHECK(for -z nodlopen option,
1283 libc_cv_z_nodlopen, [dnl
1284 cat > conftest.c <<EOF
1285 int _start (void) { return 42; }
1287 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1288 -shared -o conftest.so conftest.c
1289 -nostartfiles -nostdlib
1290 -Wl,--enable-new-dtags,-z,nodlopen 1>&AS_MESSAGE_LOG_FD])
1292 libc_cv_z_nodlopen=yes
1294 libc_cv_z_nodlopen=no
1297 AC_SUBST(libc_cv_z_nodlopen)
1299 AC_CACHE_CHECK(for -z initfirst option,
1300 libc_cv_z_initfirst, [dnl
1301 cat > conftest.c <<EOF
1302 int _start (void) { return 42; }
1304 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1305 -shared -o conftest.so conftest.c
1306 -nostartfiles -nostdlib
1307 -Wl,--enable-new-dtags,-z,initfirst 1>&AS_MESSAGE_LOG_FD])
1309 libc_cv_z_initfirst=yes
1311 libc_cv_z_initfirst=no
1314 AC_SUBST(libc_cv_z_initfirst)
1316 AC_CACHE_CHECK(for -z relro option,
1317 libc_cv_z_relro, [dnl
1318 if AC_TRY_COMMAND([${CC-cc} -v --help 2>&1|grep "z relro" 1>&AS_MESSAGE_LOG_FD])
1324 AC_SUBST(libc_cv_z_relro)
1325 if test $libc_cv_z_relro = yes; then
1326 AC_DEFINE(HAVE_Z_RELRO)
1329 AC_CACHE_CHECK(for -Bgroup option,
1330 libc_cv_Bgroup, [dnl
1331 cat > conftest.c <<EOF
1332 int _start (void) { return 42; }
1334 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1335 -shared -o conftest.so conftest.c
1336 -Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD])
1343 AC_SUBST(libc_cv_Bgroup)
1345 AC_CACHE_CHECK(for libgcc_s suffix,
1346 libc_cv_libgcc_s_suffix, [dnl
1347 cat > conftest.c <<EOF
1348 int main (void) { return 0; }
1351 libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
1352 -shared -shared-libgcc -o conftest.so \
1353 conftest.c -v 2>&1 >/dev/null \
1354 | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
1357 AC_SUBST(libc_cv_libgcc_s_suffix)
1359 AC_CACHE_CHECK(for --as-needed option,
1360 libc_cv_as_needed, [dnl
1361 cat > conftest.c <<EOF
1362 int main (void) { return 0; }
1364 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1365 -shared -o conftest.so conftest.c
1366 -lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
1367 -nostdlib 1>&AS_MESSAGE_LOG_FD])
1369 libc_cv_as_needed=yes
1371 libc_cv_as_needed=no
1374 AC_SUBST(libc_cv_as_needed)
1377 AC_CACHE_CHECK(whether --noexecstack is desirable for .S files,
1378 libc_cv_as_noexecstack, [dnl
1379 cat > conftest.c <<EOF
1382 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS
1383 -S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \
1384 && grep -q .note.GNU-stack conftest.s \
1385 && AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -Wa,--noexecstack
1386 -c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
1388 libc_cv_as_noexecstack=yes
1390 libc_cv_as_noexecstack=no
1393 if test $libc_cv_as_noexecstack = yes; then
1394 ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
1396 AC_SUBST(ASFLAGS_config)
1398 AC_CACHE_CHECK(for -z combreloc,
1399 libc_cv_z_combreloc, [dnl
1400 cat > conftest.c <<EOF
1401 extern int bar (int);
1403 int foo (void) { return bar (mumble); }
1405 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1406 -shared -o conftest.so conftest.c
1407 -nostdlib -nostartfiles
1408 -Wl,-z,combreloc 1>&AS_MESSAGE_LOG_FD])
1410 dnl The following test is a bit weak. We must use a tool which can test
1411 dnl cross-platform since the gcc used can be a cross compiler. Without
1412 dnl introducing new options this is not easily doable. Instead use a tool
1413 dnl which always is cross-platform: readelf. To detect whether -z combreloc
1414 dnl look for a section named .rel.dyn.
1415 if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
1416 libc_cv_z_combreloc=yes
1418 libc_cv_z_combreloc=no
1421 libc_cv_z_combreloc=no
1424 if test "$libc_cv_z_combreloc" = yes; then
1425 AC_DEFINE(HAVE_Z_COMBRELOC)
1427 AC_SUBST(libc_cv_z_combreloc)
1429 AC_CACHE_CHECK(for -z execstack,
1430 libc_cv_z_execstack, [dnl
1431 cat > conftest.c <<EOF
1432 int _start (void) { return 42; }
1434 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1435 -shared -o conftest.so conftest.c
1436 -Wl,-z,execstack -nostdlib
1437 1>&AS_MESSAGE_LOG_FD])
1439 libc_cv_z_execstack=yes
1441 libc_cv_z_execstack=no
1444 AC_SUBST(libc_cv_z_execstack)
1446 AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl
1447 cat > conftest.c <<EOF
1449 main () { return 0;}
1451 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
1452 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
1460 AC_SUBST(libc_cv_fpie)
1463 AC_CACHE_CHECK(for -fno-unit-at-a-time, libc_cv_fno_unit_at_a_time, [dnl
1464 cat > conftest.c <<EOF
1467 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -fno-unit-at-a-time
1468 conftest.c 1>&AS_MESSAGE_LOG_FD])
1470 libc_cv_fno_unit_at_a_time=yes
1472 libc_cv_fno_unit_at_a_time=no
1475 if test $libc_cv_fno_unit_at_a_time = yes; then
1476 fno_unit_at_a_time=-fno-unit-at-a-time
1478 AC_SUBST(fno_unit_at_a_time)
1480 if test $elf != yes; then
1481 AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
1482 [AC_TRY_COMPILE(, [asm (".section .init");
1483 asm (".section .fini");
1484 asm ("${libc_cv_dot_text}");],
1485 libc_cv_have_initfini=yes,
1486 libc_cv_have_initfini=no)])
1487 AC_SUBST(libc_cv_have_initfini)dnl
1488 if test $libc_cv_have_initfini = yes; then
1489 AC_DEFINE(HAVE_INITFINI)
1493 if test $elf = yes -a $gnu_ld = yes; then
1494 AC_CACHE_CHECK(whether cc puts quotes around section names,
1495 libc_cv_have_section_quotes,
1496 [cat > conftest.c <<EOF
1497 static const int foo
1498 __attribute__ ((section ("bar"))) = 1;
1500 if ${CC-cc} -S conftest.c -o conftest.s; then
1501 if grep '\.section.*"bar"' conftest.s >/dev/null; then
1502 libc_cv_have_section_quotes=yes
1504 libc_cv_have_section_quotes=no
1507 libc_cv_have_section_quotes=unknown
1511 if test $libc_cv_have_section_quotes = yes; then
1512 AC_DEFINE(HAVE_SECTION_QUOTES)
1516 dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
1517 AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
1518 [cat > conftest.$ac_ext <<EOF
1519 dnl This sometimes fails to find confdefs.h, for some reason.
1520 dnl [#]line $LINENO "[$]0"
1521 [#]line $LINENO "configure"
1522 #include "confdefs.h"
1523 void underscore_test(void) {
1526 if AC_TRY_EVAL(ac_compile); then
1527 if grep _underscore_test conftest* >/dev/null; then
1528 ifelse([$1], , :, [rm -f conftest*
1531 ifelse([$2], , , [rm -f conftest*
1535 echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
1536 cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
1537 ifelse([$2], , , [rm -f conftest*
1542 if test $elf = yes; then
1543 libc_cv_asm_underscores=no
1545 if test $ac_cv_prog_cc_works = yes; then
1546 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1547 [AC_TRY_LINK([asm ("_glibc_foobar:");], [glibc_foobar ();],
1548 libc_cv_asm_underscores=yes,
1549 libc_cv_asm_underscores=no)])
1551 AC_CACHE_CHECK(for _ prefix on C symbol names, libc_cv_asm_underscores,
1552 [AC_CHECK_ASM_UNDERSCORE(libc_cv_asm_underscores=yes,
1553 libc_cv_asm_underscores=no)])
1556 if test $libc_cv_asm_underscores = no; then
1557 AC_DEFINE(NO_UNDERSCORES)
1560 if test $elf = yes; then
1561 libc_cv_weak_symbols=yes
1564 AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
1566 cat > conftest.s <<EOF
1568 ${libc_cv_asm_global_directive} foo
1571 .weak bar; bar = foo
1573 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1574 libc_cv_asm_weak_directive=yes
1576 libc_cv_asm_weak_directive=no
1580 if test $libc_cv_asm_weak_directive = no; then
1581 AC_CACHE_CHECK(for assembler .weakext directive,
1582 libc_cv_asm_weakext_directive,
1584 cat > conftest.s <<EOF
1586 ${libc_cv_asm_global_directive} foo
1590 ${libc_cv_asm_global_directive} baz
1593 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1594 libc_cv_asm_weakext_directive=yes
1596 libc_cv_asm_weakext_directive=no
1602 if test $libc_cv_asm_weak_directive = yes; then
1603 AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
1604 elif test $libc_cv_asm_weakext_directive = yes; then
1605 AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
1608 dnl The standard hppa assembler uses `;' to start comments and `!'
1609 dnl as a line separator. CRIS uses `;' to start comments and `@' for
1611 case "${host_cpu}-${host_os}" in
1613 libc_cv_asm_line_sep='@'
1614 AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
1617 AC_CACHE_CHECK(for assembler line separator,
1618 libc_cv_asm_line_sep, [dnl
1619 cat > conftest.s <<EOF
1622 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1623 libc_cv_asm_line_sep='!'
1625 if test -z "$enable_hacker_mode"; then
1626 echo "*** You need a newer assembler to compile glibc"
1630 libc_cv_asm_line_sep=';'
1633 AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep)
1637 AC_CACHE_CHECK(whether CFI directives are supported, libc_cv_asm_cfi_directives, [dnl
1638 cat > conftest.s <<EOF
1640 .type func,@function
1644 .cfi_rel_offset 1, 0
1647 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1648 libc_cv_asm_cfi_directives=yes
1650 libc_cv_asm_cfi_directives=no
1653 if test $libc_cv_asm_cfi_directives = yes; then
1654 AC_DEFINE(HAVE_ASM_CFI_DIRECTIVES)
1657 AC_CACHE_CHECK(if -g produces usable source locations for assembler-with-cpp,
1658 libc_cv_cpp_asm_debuginfo, [dnl
1659 cat > conftest.S <<EOF
1660 #include "confdefs.h"
1665 ${libc_cv_asm_global_directive} foo
1667 /* Unfortunately this test only works for a real instruction,
1668 not for any of the machine-independent pseudo-ops.
1669 So we just have to assume everybody has a "nop". */
1676 if AC_TRY_COMMAND([${CC-cc} $CPPFLAGS $ASFLAGS -g -c conftest.S 1>&AS_MESSAGE_LOG_FD]) &&
1677 ac_pattern='conftest\.S'
1678 AC_TRY_COMMAND([readelf --debug-dump=line conftest.o |
1679 grep $ac_pattern 1>&AS_MESSAGE_LOG_FD]); then
1680 libc_cv_cpp_asm_debuginfo=yes
1682 libc_cv_cpp_asm_debuginfo=no
1684 rm -f conftest*])AC_SUBST(libc_cv_cpp_asm_debuginfo)
1685 if test $libc_cv_cpp_asm_debuginfo = yes; then
1686 AC_DEFINE(HAVE_CPP_ASM_DEBUGINFO)
1689 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
1690 cat > conftest.c <<\EOF
1695 dnl No \ in command here because it ends up inside ''.
1696 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1697 -nostdlib -nostartfiles -Wl,--no-whole-archive
1698 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1699 libc_cv_ld_no_whole_archive=yes
1701 libc_cv_ld_no_whole_archive=no
1704 if test $libc_cv_ld_no_whole_archive = yes; then
1705 no_whole_archive=-Wl,--no-whole-archive
1707 AC_SUBST(no_whole_archive)dnl
1709 AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
1710 cat > conftest.c <<\EOF
1715 dnl No \ in command here because it ends up inside ''.
1716 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1717 -nostdlib -nostartfiles -fexceptions
1718 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1719 libc_cv_gcc_exceptions=yes
1721 libc_cv_gcc_exceptions=no
1724 if test $libc_cv_gcc_exceptions = yes; then
1725 exceptions=-fexceptions
1727 AC_SUBST(exceptions)dnl
1729 if test "$host_cpu" = powerpc ; then
1730 # Check for a bug present in at least versions 2.8.x of GCC
1731 # and versions 1.0.x of EGCS.
1732 AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
1733 AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
1734 libc_cv_c_asmcr0_bug='no',
1735 libc_cv_c_asmcr0_bug='yes')])
1736 if test "$libc_cv_c_asmcr0_bug" != 'no'; then
1737 AC_DEFINE(BROKEN_PPC_ASM_CR0)
1741 AC_CACHE_CHECK(for DWARF2 unwind info support, libc_cv_gcc_dwarf2_unwind_info,
1742 [cat > conftest.c <<EOF
1743 #line $LINENO "configure"
1744 static char *__EH_FRAME_BEGIN__;
1747 #ifdef CHECK__register_frame
1748 __register_frame (__EH_FRAME_BEGIN__);
1749 __deregister_frame (__EH_FRAME_BEGIN__);
1751 #ifdef CHECK__register_frame_info
1752 __register_frame_info (__EH_FRAME_BEGIN__);
1753 __deregister_frame_info (__EH_FRAME_BEGIN__);
1758 /* FIXME: this is fragile. */
1767 dl_iterate_phdr () {}
1769 libc_unwind_check="${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame_info \
1771 -nostdlib -nostartfiles -o conftest conftest.c \
1773 # Some platforms' specs put -lgcc first. The second one doesn't hurt.
1774 if AC_TRY_COMMAND([$libc_unwind_check >&AS_MESSAGE_LOG_FD]) ||
1775 AC_TRY_COMMAND([$libc_unwind_check -lgcc_eh -lgcc >&AS_MESSAGE_LOG_FD])
1777 if $libc_unwind_check -v 2>&1 >/dev/null \
1778 | grep -- --eh-frame-hdr 2>&1 >/dev/null; then
1779 libc_cv_gcc_dwarf2_unwind_info=no_registry_needed
1781 libc_cv_gcc_dwarf2_unwind_info=static
1784 libc_cv_gcc_dwarf2_unwind_info=no
1786 if test $libc_cv_gcc_dwarf2_unwind_info = no; then
1787 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame
1788 $LDFLAGS -nostdlib -nostartfiles
1789 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1790 libc_cv_gcc_dwarf2_unwind_info=yes
1792 libc_cv_gcc_dwarf2_unwind_info=no
1796 case $libc_cv_gcc_dwarf2_unwind_info in
1798 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1801 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO)
1802 AC_DEFINE(HAVE_DWARF2_UNWIND_INFO_STATIC)
1806 dnl Check whether compiler understands __builtin_expect.
1807 AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
1808 [cat > conftest.c <<EOF
1809 #line $LINENO "configure"
1812 a = __builtin_expect (a, 10);
1813 return a == 10 ? 0 : 1;
1816 dnl No \ in command here because it ends up inside ''.
1817 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
1818 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1819 libc_cv_gcc_builtin_expect=yes
1821 libc_cv_gcc_builtin_expect=no
1824 if test "$libc_cv_gcc_builtin_expect" = yes; then
1825 AC_DEFINE(HAVE_BUILTIN_EXPECT)
1828 AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
1829 cat > conftest.c <<\EOF
1832 __builtin_memset (x, 0, 1000);
1836 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
1838 libc_cv_gcc_builtin_memset=no
1840 libc_cv_gcc_builtin_memset=yes
1843 if test "$libc_cv_gcc_builtin_memset" = yes ; then
1844 AC_DEFINE(HAVE_BUILTIN_MEMSET)
1847 AC_CACHE_CHECK(for redirection of built-in functions, libc_cv_gcc_builtin_redirection, [dnl
1848 cat > conftest.c <<\EOF
1849 extern char *strstr (const char *, const char *) __asm ("my_strstr");
1850 char *foo (const char *a, const char *b)
1852 return __builtin_strstr (a, b);
1856 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null]);
1858 libc_cv_gcc_builtin_redirection=yes
1860 libc_cv_gcc_builtin_redirection=no
1863 if test "$libc_cv_gcc_builtin_redirection" = yes ; then
1864 AC_DEFINE(HAVE_BUILTIN_REDIRECTION)
1867 dnl Check whether the compiler supports subtraction of local labels.
1868 AC_CACHE_CHECK(for local label subtraction, libc_cv_gcc_subtract_local_labels,
1869 [cat > conftest.c <<EOF
1871 #line $LINENO "configure"
1874 static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
1875 void *p = &&l1 + ar[a];
1884 dnl No \ in command here because it ends up inside ''.
1885 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
1886 -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then
1887 libc_cv_gcc_subtract_local_labels=yes
1889 libc_cv_gcc_subtract_local_labels=no
1892 if test "$libc_cv_gcc_subtract_local_labels" = yes; then
1893 AC_DEFINE(HAVE_SUBTRACT_LOCAL_LABELS)
1896 dnl Check whether the compiler supports the __thread keyword.
1897 if test "x$use__thread" != xno; then
1898 AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
1899 [cat > conftest.c <<\EOF
1900 __thread int a = 42;
1902 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c >&AS_MESSAGE_LOG_FD]); then
1903 libc_cv_gcc___thread=yes
1905 libc_cv_gcc___thread=no
1908 if test "$libc_cv_gcc___thread" = yes; then
1909 AC_DEFINE(HAVE___THREAD)
1912 libc_cv_gcc___thread=no
1915 if test "$libc_cv_gcc___thread" = yes; then
1916 dnl Check whether the compiler supports the tls_model attribute.
1917 AC_CACHE_CHECK([for tls_model attribute], libc_cv_gcc_tls_model_attr, [dnl
1918 cat > conftest.c <<\EOF
1919 extern __thread int a __attribute__((tls_model ("initial-exec")));
1921 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -Werror conftest.c >&AS_MESSAGE_LOG_FD]); then
1922 libc_cv_gcc_tls_model_attr=yes
1924 libc_cv_gcc_tls_model_attr=no
1927 if test "$libc_cv_gcc_tls_model_attr" = yes; then
1928 AC_DEFINE(HAVE_TLS_MODEL_ATTRIBUTE)
1932 dnl Check whether we have the gd library available.
1933 AC_MSG_CHECKING(for libgd)
1934 if test "$with_gd" != "no"; then
1935 old_CFLAGS="$CFLAGS"
1936 CFLAGS="$CFLAGS $libgd_include"
1937 old_LDFLAGS="$LDFLAGS"
1938 LDFLAGS="$LDFLAGS $libgd_ldflags"
1940 LIBS="$LIBS -lgd -lpng -lz -lm"
1941 AC_TRY_LINK([#include <gd.h>], [gdImagePng (0, 0)], LIBGD=yes, LIBGD=no)
1942 CFLAGS="$old_CFLAGS"
1943 LDFLAGS="$old_LDFLAGS"
1948 AC_MSG_RESULT($LIBGD)
1951 dnl check for the size of 'long double'.
1952 AC_CHECK_SIZEOF(long double, 0)
1953 sizeof_long_double=$ac_cv_sizeof_long_double
1954 AC_SUBST(sizeof_long_double)
1956 ### End of automated tests.
1957 ### Now run sysdeps configure fragments.
1959 # They also can set these variables.
1961 ldd_rewrite_script=no
1962 libc_cv_sysconfdir=$sysconfdir
1963 libc_cv_gcc_unwind_find_fde=no
1966 # Iterate over all the sysdep directories we will use, running their
1967 # configure fragments, and looking for a uname implementation.
1969 for dir in $sysnames; do
1972 *) dest=$srcdir/$dir ;;
1974 if test -r $dest/configure; then
1975 AC_MSG_RESULT(running configure fragment for $dir)
1979 if test -z "$uname"; then
1980 if test -r $dest/uname.c ||
1981 test -r $dest/uname.S ||
1982 { test -r $dest/syscalls.list &&
1983 grep '^uname[ ]' $dest/syscalls.list >/dev/null; }; then
1990 if test x$libc_cv_gcc_unwind_find_fde = xyes; then
1991 AC_DEFINE(EXPORT_UNWIND_FIND_FDE)
1993 AC_SUBST(libc_cv_gcc_unwind_find_fde)
1995 # If we will use the generic uname implementation, we must figure out what
1996 # it will say by examining the system, and write the results in config-name.h.
1997 if test "$uname" = "sysdeps/generic"; then
2000 uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
2002 if test $uname_sysname != $config_os; then
2003 config_release=`echo $config_os | sed s/$uname_sysname//`
2006 AC_DEFUN(LIBC_KERNEL_ID, [dnl
2007 if test -r /vmunix; then
2008 kernel_id=`strings /vmunix | grep UNIX`
2009 elif test -r /dynix; then
2010 kernel_id=`strings /dynix | grep DYNIX`
2016 AC_CACHE_CHECK(OS release for uname, libc_cv_uname_release, [dnl
2019 kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
2021 if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
2022 != x$config_release; then
2023 # The configuration release is a substring of the kernel release.
2024 libc_cv_uname_release=$kernel_release
2025 elif test x$config_release != x; then
2026 libc_cv_uname_release=$config_release
2027 elif test x$kernel_release != x; then
2028 libc_cv_uname_release=$kernel_release
2030 libc_cv_uname_release=unknown
2032 uname_release="$libc_cv_uname_release"
2034 AC_CACHE_CHECK(OS version for uname, libc_cv_uname_version, [dnl
2037 kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
2039 if test -n "$kernel_version"; then
2040 libc_cv_uname_version="$kernel_version"
2042 libc_cv_uname_version=unknown
2044 uname_version="$libc_cv_uname_version"
2046 AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl
2047 config_uname=config-name.h:config-name.in
2049 # For non-generic uname, we don't need to create config-name.h at all.
2053 dnl This is tested by existing code and it's simpler to avoid changing it.
2054 AC_DEFINE(USE_IN_LIBIO)
2056 # Test for old glibc 2.0.x headers so that they can be removed properly
2057 # Search only in includedir.
2058 AC_MSG_CHECKING(for old glibc 2.0.x headers)
2059 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
2061 old_glibc_headers=yes
2063 old_glibc_headers=no
2065 AC_MSG_RESULT($old_glibc_headers)
2066 if test ${old_glibc_headers} = yes; then
2067 AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
2068 AC_MSG_WARN(*** be removed.)
2070 AC_SUBST(old_glibc_headers)
2072 AC_SUBST(libc_cv_slibdir)
2073 AC_SUBST(libc_cv_localedir)
2074 AC_SUBST(libc_cv_sysconfdir)
2075 AC_SUBST(libc_cv_rootsbindir)
2076 AC_SUBST(libc_cv_forced_unwind)
2078 AC_SUBST(use_ldconfig)
2079 AC_SUBST(ldd_rewrite_script)
2081 AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) AC_SUBST(xcoff)
2082 if test $gnu_ld = yes; then
2083 AC_DEFINE(HAVE_GNU_LD)
2085 if test $gnu_as = yes; then
2086 AC_DEFINE(HAVE_GNU_AS)
2088 if test $elf = yes; then
2091 if test $xcoff = yes; then
2092 AC_DEFINE(HAVE_XCOFF)
2097 if test $shared = default; then
2098 if test $gnu_ld = yes; then
2101 # For now we do not assume shared libs are available. In future more
2102 # tests might become available.
2107 if test x"$libc_cv_idn" = xyes; then
2108 AC_DEFINE(HAVE_LIBIDN)
2111 AC_CACHE_CHECK([whether -fPIC is default], pic_default,
2113 cat > conftest.c <<EOF
2114 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
2115 # error PIC is default.
2118 if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
2122 AC_SUBST(pic_default)
2127 AC_SUBST(static_nss)
2128 AC_SUBST(nopic_initfini)
2133 *door*) linux_doors=yes ;;
2134 *) linux_doors=no ;;
2136 AC_SUBST(linux_doors)
2138 dnl See sysdeps/mach/configure.in for this variable.
2139 AC_SUBST(mach_interface_list)
2141 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
2144 config_makefile=Makefile
2147 VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
2148 RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
2152 AC_CONFIG_FILES([config.make ${config_makefile} ${config_uname}])
2153 AC_CONFIG_COMMANDS([default],[[
2154 case $CONFIG_FILES in *config.make*)
2155 echo "$config_vars" >> config.make;;
2157 test -d bits || mkdir bits]],[[config_vars='$config_vars']])