1 dnl Process this file with autoconf to produce a configure script.
2 AC_PREREQ(2.53)dnl dnl Minimum Autoconf version required.
3 AC_INIT([GNU C Library], [(see version.h)], [http://sourceware.org/bugzilla/], [glibc])
4 AC_CONFIG_SRCDIR([include/features.h])
5 AC_CONFIG_HEADERS([config.h])
6 AC_CONFIG_AUX_DIR([scripts])
8 dnl This is here so we can set $subdirs directly based on configure fragments.
14 if test $host != $build; then
15 AC_CHECK_PROGS(BUILD_CC, gcc cc)
17 AC_SUBST(cross_compiling)
19 # We need the C++ compiler only for testing.
22 if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then
23 AC_MSG_ERROR([you must configure in a separate build directory])
26 # This will get text that should go into config.make.
29 # Check for a --with-gd argument and set libgd-LDFLAGS in config.make.
31 AC_HELP_STRING([--with-gd=DIR],
32 [find libgd include dir and library with prefix DIR]),
36 *) libgd_include="-I$withval/include"
37 libgd_ldflags="-L$withval/lib" ;;
40 AC_ARG_WITH([gd-include],
41 AC_HELP_STRING([--with-gd-include=DIR],
42 [find libgd include files in DIR]),
44 case "$with_gd_include" in
46 *) libgd_include="-I$withval" ;;
50 AC_HELP_STRING([--with-gd-lib=DIR],
51 [find libgd library files in DIR]),
53 case "$with_gd_lib" in
55 *) libgd_ldflags="-L$withval" ;;
59 if test -n "$libgd_include"; then
60 config_vars="$config_vars
61 CFLAGS-memusagestat.c = $libgd_include"
63 if test -n "$libgd_ldflags"; then
64 config_vars="$config_vars
65 libgd-LDFLAGS = $libgd_ldflags"
68 dnl Arguments to specify presence of other packages/features.
70 AC_HELP_STRING([--with-fp],
71 [if using floating-point hardware @<:@default=yes@:>@]),
75 AC_ARG_WITH([binutils],
76 AC_HELP_STRING([--with-binutils=PATH],
77 [specify location of binutils (as and ld)]),
78 [path_binutils=$withval],
80 AC_ARG_WITH([selinux],
81 AC_HELP_STRING([--with-selinux],
82 [if building with SELinux support]),
83 [with_selinux=$withval],
86 AC_ARG_WITH([headers],
87 AC_HELP_STRING([--with-headers=PATH],
88 [location of system headers to use
89 (for example /usr/src/linux/include)
90 @<:@default=compiler default@:>@]),
91 [sysheaders=$withval],
94 AC_SUBST(use_default_link)
95 AC_ARG_WITH([default-link],
96 AC_HELP_STRING([--with-default-link],
97 [do not use explicit linker scripts]),
98 [use_default_link=$withval],
99 [use_default_link=default])
101 AC_ARG_ENABLE([sanity-checks],
102 AC_HELP_STRING([--disable-sanity-checks],
103 [really do not use threads (should not be used except in special situations) @<:@default=yes@:>@]),
104 [enable_sanity=$enableval],
107 AC_ARG_ENABLE([shared],
108 AC_HELP_STRING([--enable-shared],
109 [build shared library @<:@default=yes if GNU ld@:>@]),
112 AC_ARG_ENABLE([profile],
113 AC_HELP_STRING([--enable-profile],
114 [build profiled library @<:@default=no@:>@]),
115 [profile=$enableval],
117 AC_ARG_ENABLE([versioning],
118 AC_HELP_STRING([--disable-versioning],
119 [do not include versioning information in the library objects @<:@default=yes if supported@:>@]),
120 [enable_versioning=$enableval],
121 [enable_versioning=yes])
123 AC_ARG_ENABLE([oldest-abi],
124 AC_HELP_STRING([--enable-oldest-abi=ABI],
125 [configure the oldest ABI supported @<:@e.g. 2.2@:>@ @<:@default=glibc default@:>@]),
126 [oldest_abi=$enableval],
128 if test "$oldest_abi" = yes || test "$oldest_abi" = no; then
131 AC_DEFINE_UNQUOTED(GLIBC_OLDEST_ABI, "$oldest_abi")
135 AC_ARG_ENABLE([stackguard-randomization],
136 AC_HELP_STRING([--enable-stackguard-randomization],
137 [initialize __stack_chk_guard canary with a random number at program start]),
138 [enable_stackguard_randomize=$enableval],
139 [enable_stackguard_randomize=no])
140 if test "$enable_stackguard_randomize" = yes; then
141 AC_DEFINE(ENABLE_STACKGUARD_RANDOMIZE)
144 dnl Generic infrastructure for drop-in additions to libc.
145 AC_ARG_ENABLE([add-ons],
146 AC_HELP_STRING([--enable-add-ons@<:@=DIRS...@:>@],
147 [configure and build add-ons in DIR1,DIR2,...
148 search for add-ons if no parameter given]),
149 , [enable_add_ons=yes])
151 AC_ARG_ENABLE([hidden-plt],
152 AC_HELP_STRING([--disable-hidden-plt],
153 [do not hide internal function calls to avoid PLT]),
156 if test "x$hidden" = xno; then
160 AC_ARG_ENABLE([bind-now],
161 AC_HELP_STRING([--enable-bind-now],
162 [disable lazy relocations in DSOs]),
163 [bindnow=$enableval],
167 dnl On some platforms we cannot use dynamic loading. We must provide
168 dnl static NSS modules.
169 AC_ARG_ENABLE([static-nss],
170 AC_HELP_STRING([--enable-static-nss],
171 [build static NSS modules @<:@default=no@:>@]),
172 [static_nss=$enableval],
174 dnl Enable static NSS also if we build no shared objects.
175 if test x"$static_nss" = xyes || test x"$shared" = xno; then
177 AC_DEFINE(DO_STATIC_NSS)
180 AC_ARG_ENABLE([force-install],
181 AC_HELP_STRING([--disable-force-install],
182 [don't force installation of files from this package, even if they are older than the installed files]),
183 [force_install=$enableval],
185 AC_SUBST(force_install)
187 dnl On some platforms we allow dropping compatibility with all kernel
189 AC_ARG_ENABLE([kernel],
190 AC_HELP_STRING([--enable-kernel=VERSION],
191 [compile for compatibility with kernel not older than VERSION]),
192 [minimum_kernel=$enableval],
194 dnl Prevent unreasonable values.
195 if test "$minimum_kernel" = yes || test "$minimum_kernel" = no; then
196 # Better nothing than this.
199 if test "$minimum_kernel" = current; then
200 minimum_kernel=`uname -r 2>/dev/null` || minimum_kernel=
204 dnl For the development we sometimes want gcc to issue even more warnings.
205 dnl This is not the default since many of the extra warnings are not
207 AC_ARG_ENABLE([all-warnings],
208 AC_HELP_STRING([--enable-all-warnings],
209 [enable all useful warnings gcc can issue]),
210 [all_warnings=$enableval],
212 AC_SUBST(all_warnings)
214 AC_ARG_ENABLE([multi-arch],
215 AC_HELP_STRING([--enable-multi-arch],
216 [enable single DSO with optimizations for multiple architectures]),
217 [multi_arch=$enableval],
218 [multi_arch=default])
220 AC_ARG_ENABLE([nss-crypt],
221 AC_HELP_STRING([--enable-nss-crypt],
222 [enable libcrypt to use nss]),
223 [nss_crypt=$enableval],
225 if test x$nss_crypt = xyes; then
226 nss_includes=-I$(nss-config --includedir 2>/dev/null)
227 if test $? -ne 0; then
228 AC_MSG_ERROR([cannot find include directory with nss-config])
231 CFLAGS="$CFLAGS $nss_includes"
232 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([typedef int PRBool;
234 #include <nsslowhash.h>
235 void f (void) { NSSLOW_Init (); }])],
236 libc_cv_nss_crypt=yes,
238 cannot find NSS headers with lowlevel hash function interfaces]))
240 LIBS="$LIBS -lfreebl3"
241 AC_LINK_IFELSE([AC_LANG_PROGRAM([typedef int PRBool;
243 #include <nsslowhash.h>],
245 libc_cv_nss_crypt=yes,
247 cannot link program using lowlevel NSS hash functions]))
253 AC_SUBST(libc_cv_nss_crypt)
255 AC_ARG_ENABLE([obsolete-rpc],
256 AC_HELP_STRING([--enable-obsolete-rpc],
257 [build and install the obsolete RPC code for link-time usage]),
258 [link_obsolete_rpc=$enableval],
259 [link_obsolete_rpc=no])
260 AC_SUBST(link_obsolete_rpc)
262 if test "$link_obsolete_rpc" = yes; then
263 AC_DEFINE(LINK_OBSOLETE_RPC)
266 # The way shlib-versions is used to generate soversions.mk uses a
267 # fairly simplistic model for name recognition that can't distinguish
268 # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os
269 # of `gnu*' here to be `gnu-gnu*' just so that shlib-versions can
270 # tell. This doesn't get used much beyond that, so it's fairly safe.
275 host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
279 # We keep the original values in `$config_*' and never modify them, so we
280 # can write them unchanged into config.make. Everything else uses
281 # $machine, $vendor, and $os, and changes them whenever convenient.
282 config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
284 # Don't allow vendor == "unknown"
285 test "$config_vendor" = unknown && config_vendor=
286 config_os="`echo $config_os | sed 's/^unknown-//'`"
288 # Some configurations imply other options.
291 # The configure fragment of an add-on port can modify these to supplement
292 # or override the table in the case statement below. No fragment should
293 # ever change the config_* variables, however.
294 machine=$config_machine
295 vendor=$config_vendor
299 # config.guess on some IBM machines says `rs6000' instead of `powerpc'.
301 if test "$machine" = rs6000; then
305 # Braindead PowerPC box with absolutely no FPU.
306 case "$machine-$host_os" in
314 AS_HELP_STRING([--with-cpu=CPU], [select code for CPU variant]),
317 yes|'') AC_MSG_ERROR([--with-cpu requires an argument]) ;;
319 *) submachine="$withval" ;;
323 dnl Let sysdeps/*/preconfigure act here, like they can in add-ons.
324 LIBC_PRECONFIGURE([$srcdir], [for sysdeps])
326 # An add-on can set this when it wants 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.
334 case "$enable_add_ons" in
337 add_ons=`cd $srcdir && ls -d 2> /dev/null */configure */sysdeps |
338 sed 's@/[[^/]]*$@@' | sort | uniq`
339 add_ons_automatic=yes
341 *) add_ons=`echo "$enable_add_ons" | sed 's/,/ /g'`
342 add_ons_automatic=no ;;
348 if test x"$add_ons" != x; then
349 for f in $add_ons; do
354 *** It seems that you're using an old \`crypt' add-on. crypt is now
355 *** part of glibc and using the old add-on will not work with this
356 *** release. Start again with fresh sources and without the old
357 *** \`crypt' add-on.])
361 *** It seems that you're using an old \`localedata' add-on. localedata
362 *** is now part of glibc and using the old add-on will not work with
363 *** this release. Start again with fresh sources and without the old
364 *** \`localedata' add-on.])
369 # Now source each add-on's configure fragment.
370 # The fragments can use $srcdir/$libc_add_on to find themselves,
371 # and test $add_ons_automatic to see if they were explicitly requested.
372 # A fragment can clear (or even change) $libc_add_on to affect
373 # whether it goes into the list to be actually used in the build.
375 for libc_add_on in $add_ons; do
376 # Test whether such a directory really exists.
377 # It can be absolute, or relative to $srcdir, or relative to the build dir.
378 case "$libc_add_on" in
380 libc_add_on_srcdir=$libc_add_on
383 test -d "$srcdir/$libc_add_on" || {
384 if test -d "$libc_add_on"; then
385 libc_add_on="`pwd`/$libc_add_on"
387 AC_MSG_ERROR(add-on directory \"$libc_add_on\" does not exist)
390 libc_add_on_srcdir=$srcdir/$libc_add_on
394 libc_add_on_frag=$libc_add_on_srcdir/configure
395 libc_add_on_canonical=
396 libc_add_on_config_subdirs=
397 if test -r "$libc_add_on_frag"; then
398 AC_MSG_NOTICE(running configure fragment for add-on $libc_add_on)
399 libc_add_on_canonical=unknown
401 . "$libc_add_on_frag"
402 test -z "$libc_add_on" || {
403 configured_add_ons="$configured_add_ons $libc_add_on"
404 if test "x$libc_add_on_canonical" = xunknown; then
405 AC_MSG_ERROR(fragment must set \$libc_add_on_canonical)
407 for d in $libc_add_on_subdirs; do
408 case "$libc_add_on" in
409 /*) subdir_srcdir="$libc_add_on" ;;
410 *) subdir_srcdir="\$(..)$libc_add_on" ;;
414 d="${libc_add_on_canonical:-$libc_add_on}"
420 subdir_srcdir="$subdir_srcdir/$d"
423 d=`echo "$d" | sed 's@/*$@@;s@^.*/@@'`
424 add_on_subdirs="$add_on_subdirs $d"
425 test "$subdir_srcdir" = "\$(..)$d" || config_vars="$config_vars
426 $d-srcdir = $subdir_srcdir"
428 for d in $libc_add_on_config_subdirs; do
431 fragment uses absolute path in \$libc_add_on_config_subdirs) ;;
433 if test ! -d "$libc_add_on_srcdir/$d"; then
434 AC_MSG_ERROR(fragment wants to configure missing directory $d)
436 case "$libc_add_on" in
438 relative path required for add-on using \$libc_add_on_config_subdirs) ;;
440 subdirs="$subdirs $libc_add_on/$d"
444 if test -n "$libc_add_on"; then
445 LIBC_PRECONFIGURE([$libc_add_on_srcdir], [add-on $libc_add_on for])
446 use_add_ons="$use_add_ons $libc_add_on"
447 add_ons_pfx="$add_ons_pfx $libc_add_on/"
448 test -z "$libc_add_on_canonical" ||
449 add_ons_sfx="$add_ons_sfx /$libc_add_on_canonical"
452 # Use echo to strip excess whitespace.
453 add_ons="`echo $use_add_ons`"
456 AC_SUBST(add_on_subdirs)
460 ### I put this here to prevent those annoying emails from people who cannot
461 ### read and try to compile glibc on unsupported platforms. --drepper
463 ### By using the undocumented --enable-hacker-mode option for configure
464 ### one can skip this test to make the configuration not fail for unsupported
467 if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then
468 case "$machine-$host_os" in
472 echo "*** The GNU C library is currently not available for this platform."
473 echo "*** So far nobody cared to port it and if there is no volunteer it"
474 echo "*** might never happen. So, if you have interest to see glibc on"
475 echo "*** this platform visit"
476 echo "*** http://www.gnu.org/software/libc/porting.html"
477 echo "*** and join the group of porters"
483 dnl We need to use [ and ] for other purposes for a while now.
485 # Expand the configuration machine name into a subdirectory by architecture
486 # type and particular chip. If an add-on configure fragment already set
487 # base_machine, we don't change it.
488 test -n "$base_machine" || case "$machine" in
489 i[34567]86) base_machine=i386 machine=i386/$machine ;;
490 powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;;
491 powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;;
492 s390) base_machine=s390 machine=s390/s390-32 ;;
493 s390x) base_machine=s390 machine=s390/s390-64 ;;
494 sh3*) base_machine=sh machine=sh/sh3 ;;
495 sh4*) base_machine=sh machine=sh/sh4 ;;
497 base_machine=sparc machine=sparc/sparc32 ;;
498 sparcv8 | supersparc | hypersparc)
499 base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
500 sparcv8plus | sparcv8plusa | sparcv9)
501 base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
502 sparcv8plusb | sparcv9b)
503 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9b ;;
505 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v ;;
507 base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v2 ;;
509 base_machine=sparc machine=sparc/sparc64 ;;
511 base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
513 base_machine=sparc machine=sparc/sparc64/sparcv9v ;;
515 base_machine=sparc machine=sparc/sparc64/sparcv9v2 ;;
516 *) base_machine=$machine ;;
519 AC_SUBST(base_machine)
521 if test "$base_machine" = "i386"; then
522 AC_DEFINE(USE_REGPARMS)
525 # For the multi-arch option we need support in the assembler.
526 AC_CACHE_CHECK([for assembler gnu_indirect_function symbol type support],
527 libc_cv_asm_gnu_indirect_function, [dnl
528 cat > conftest.s <<EOF
529 .type foo,%gnu_indirect_function
531 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD;
533 libc_cv_asm_gnu_indirect_function=yes
535 libc_cv_asm_gnu_indirect_function=no
539 AC_MSG_CHECKING(whether .text pseudo-op must be used)
540 AC_CACHE_VAL(libc_cv_dot_text, [dnl
541 cat > conftest.s <<EOF
545 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
546 libc_cv_dot_text=.text
549 if test -z "$libc_cv_dot_text"; then
555 AC_CACHE_CHECK(for assembler global-symbol directive,
556 libc_cv_asm_global_directive, [dnl
557 libc_cv_asm_global_directive=UNKNOWN
558 for ac_globl in .globl .global .EXPORT; do
559 cat > conftest.s <<EOF
564 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
565 libc_cv_asm_global_directive=${ac_globl}
568 test $libc_cv_asm_global_directive != UNKNOWN && break
570 if test $libc_cv_asm_global_directive = UNKNOWN; then
571 AC_MSG_ERROR(cannot determine asm global directive)
573 AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
576 AC_CACHE_CHECK(for assembler .type directive prefix,
577 libc_cv_asm_type_prefix, [dnl
578 libc_cv_asm_type_prefix=no
579 for ac_try_prefix in '@' '%' '#'; do
580 cat > conftest.s <<EOF
582 ${libc_cv_asm_global_directive} foo
583 .type foo, ${ac_try_prefix}object
588 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
589 libc_cv_asm_type_prefix=${ac_try_prefix}
592 test "x$libc_cv_asm_type_prefix" != xno && break
594 if test "x$libc_cv_asm_type_prefix" != xno; then
595 AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
598 if test x"$libc_cv_asm_gnu_indirect_function" != xyes -o x"$libc_cv_asm_type_prefix" = xno; then
599 if test x"$multi_arch" = xyes; then
600 AC_MSG_ERROR([--enable-multi-arch support requires assembler and linker support])
605 if test x"$multi_arch" != xno; then
606 multi_arch_d=/multiarch
609 # Compute the list of sysdep directories for this configuration.
610 # This can take a while to compute.
611 sysdep_dir=$srcdir/sysdeps
612 AC_MSG_CHECKING(sysdep dirs)
613 dnl We need to use [ and ] for other purposes for a while now.
615 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
616 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
618 test "x$base_os" != x || case "$os" in
625 # For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
628 while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
632 o=`echo $tail | sed 's/[0-9]*$//'`
633 if test $o != $tail; then
636 # For linux-gnu, try linux-gnu, then linux.
637 o=`echo $tail | sed 's/-.*$//'`
638 if test $o != $tail; then
642 # For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
645 while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
651 # For sparc/sparc32, try sparc/sparc32 and then sparc.
653 tail=$machine${submachine:+/$submachine}
654 while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
656 # Prepend the machine's FPU directory unless --without-fp.
657 if test "$with_fp" = yes; then
660 mach="$mach /$1/nofpu"
666 dnl We are done with glob and regexp uses of [ and ]; return to autoconf.
669 # Find what sysdep directories exist.
672 for b in $base ''; do
673 for m0 in $mach ''; do
674 for v in /$vendor ''; do
675 test "$v" = / && continue
676 for o in /$ostry ''; do
677 test "$o" = / && continue
678 for m in $multi_arch_d $mach ''; do
679 for d in $add_ons_pfx ''; do
680 for a in $add_ons_sfx ''; do
681 if test -n "$m0$m0sub$b$v$o$m$msub"; then
682 try_srcdir="${srcdir}/"
686 try="${d}sysdeps$m0$m0sub$b$v$o$m$msub$a"
687 test -n "$enable_debug_configure" &&
688 echo "$0 [DEBUG]: try $try" >&2
689 if test -d "$try_srcdir$try"; then
690 sysnames="$sysnames $try"
691 { test -n "$o" || test -n "$b"; } && os_used=t
692 { test -n "$m" || test -n "$m0"; } && machine_used=t
694 x*/$submachine) submachine_used=t ;;
696 if test -n "$d"; then
697 case "$sysnames_add_ons" in
699 *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
712 # If the assembler supports gnu_indirect_function symbol type and the
713 # architecture supports multi-arch, we enable multi-arch by default.
714 case $sysnames_add_ons$sysnames in
718 test x"$multi_arch" = xdefault && multi_arch=no
721 if test x"$multi_arch" != xno; then
722 AC_DEFINE(USE_MULTIARCH)
726 if test -z "$os_used" && test "$os" != none; then
727 AC_MSG_ERROR(Operating system $os is not supported.)
729 if test -z "$machine_used" && test "$machine" != none; then
730 AC_MSG_ERROR(The $machine is not supported.)
732 if test -z "$submachine_used" && test -n "$submachine"; then
733 AC_MSG_ERROR(The $submachine subspecies of $host_cpu is not supported.)
737 # We have now validated the configuration.
739 # Expand the list of system names into a full list of directories
740 # from each element's parent name and Implies file (if present).
743 while test $# -gt 0; do
747 case " $names " in *" $name "*)
748 # Already in the list.
752 # Report each name as we discover it, so there is no long pause in output.
753 echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
755 name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
759 *) xsrcdir=$srcdir/ ;;
761 test -n "$enable_debug_configure" &&
762 echo "[DEBUG]: name/Implies $xsrcdir$name/Implies" >&2
764 for implies_file in Implies Implies-before Implies-after; do
765 implies_type=`echo $implies_file | sed s/-/_/`
766 eval ${implies_type}=
767 if test -f $xsrcdir$name/$implies_file; then
768 # Collect more names from the `Implies' file (removing comments).
769 implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/$implies_file`"
770 for x in $implied_candidate; do
772 if test -d $xsrcdir$name_base/$x; then
773 eval "${implies_type}=\"\$${implies_type} \$name_base/\$x\""
776 for d in $add_ons_pfx ''; do
780 *) try_srcdir=$srcdir/ ;;
782 test -n "$enable_debug_configure" &&
783 echo "[DEBUG]: $name $implies_file $x try($d) {$try_srcdir}$try" >&2
784 if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
786 eval "${implies_type}=\"\$${implies_type} \$try\""
788 case "$sysnames_add_ons" in
790 *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
794 if test $found = no; then
795 AC_MSG_WARN($name/$implies_file specifies nonexistent $x)
801 # Add NAME to the list of names.
804 # Find the parent of NAME, using the empty string if it has none.
806 parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
809 test -n "$enable_debug_configure" &&
810 echo "[DEBUG]: $name Implies='$Implies' rest='$*' parent='$parent' \
811 Implies_before='$Implies_after' Implies_after='$Implies_after'" >&2
813 # Add the names implied by NAME, and NAME's parent (if it has one), to
814 # the list of names to be processed (the argument list). We prepend the
815 # implied names to the list and append the parent. We want implied
816 # directories to come before further directories inferred from the
817 # configuration components; this ensures that for sysv4, unix/common
818 # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
820 sysnames="`echo $Implies $* $Implies_before $parent $Implies_after`"
821 test -n "$sysnames" && set $sysnames
824 # Add the default directories.
825 default_sysnames="sysdeps/generic"
826 sysnames="$names $default_sysnames"
828 # The other names were emitted during the scan.
829 AC_MSG_RESULT($default_sysnames)
831 # Collect the list of add-ons that supply partial sysdeps trees.
833 for add_on in $add_ons; do
836 *) xsrcdir="$srcdir/" ;;
839 test -d "$xsrcdir$add_on/sysdeps" || {
840 case "$configured_add_ons " in
843 AC_MSG_ERROR(add-on $add_on has no configure fragment or sysdeps tree)
849 sysdeps_add_ons="$sysdeps_add_ons $add_on"
850 case "$sysnames_add_ons" in
853 AC_MSG_WARN(add-on $add_on contributed no sysdeps directories)
858 for d in $sysnames; do
860 $add_on/sysdeps/*) ;;
863 (cd "$xsrcdir$d" && for f in *[[!~]]; do
867 test -d "$ff" || { test -e "$ff" && exit 88; }
871 test -d "$f" || { test -e "$f" && exit 88; }
875 if test $? -eq 88; then
880 if test $found = no; then
881 AC_MSG_WARN(add-on $add_on contributed no useful sysdeps directories)
884 AC_SUBST(sysdeps_add_ons)
890 if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
891 # The makefiles need to use a different form to find it in $srcdir.
892 INSTALL='\$(..)./scripts/install-sh -c'
897 AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
899 # Accept binutils 2.20 or newer.
900 AC_CHECK_PROG_VER(AS, $AS, --version,
901 [GNU assembler.* \([0-9]*\.[0-9.]*\)],
902 [2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], AS=: critic_missing="$critic_missing as")
903 AC_CHECK_PROG_VER(LD, $LD, --version,
904 [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
905 [2.1[0-9][0-9]*|2.[2-9][0-9]*|[3-9].*|[1-9][0-9]*], LD=: critic_missing="$critic_missing ld")
907 # These programs are version sensitive.
909 AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
910 [version \([egcygnustpi-]*[0-9.]*\)], [4.[3-9].* | 4.[1-9][0-9].* | [5-9].* ],
911 critic_missing="$critic_missing gcc")
912 AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
913 [GNU Make[^0-9]*\([0-9][0-9.]*\)],
914 [3.79* | 3.[89]*], critic_missing="$critic_missing make")
916 AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
917 [GNU gettext.* \([0-9]*\.[0-9.]*\)],
918 [0.10.3[6-9]* | 0.10.[4-9][0-9]* | 0.1[1-9]* | 0.[2-9][0-9]* | [1-9].*],
919 MSGFMT=: aux_missing="$aux_missing msgfmt")
920 AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
921 [GNU texinfo.* \([0-9][0-9.]*\)],
923 MAKEINFO=: aux_missing="$aux_missing makeinfo")
924 AC_CHECK_PROG_VER(SED, sed, --version,
925 [GNU sed version \([0-9]*\.[0-9.]*\)],
926 [3.0[2-9]*|3.[1-9]*|[4-9]*],
927 SED=: aux_missing="$aux_missing sed")
929 AC_CHECK_TOOL(READELF, readelf, false)
931 AC_CHECK_PROGS(AUTOCONF, autoconf, no)
933 xno|x|x:) AUTOCONF=no ;;
936 whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works, libc_cv_autoconf_works, [dnl
937 if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then
938 libc_cv_autoconf_works=yes
940 libc_cv_autoconf_works=no
942 test $libc_cv_autoconf_works = yes || AUTOCONF=no
945 if test "x$AUTOCONF" = xno; then
946 aux_missing="$aux_missing autoconf"
949 test -n "$critic_missing" && AC_MSG_ERROR([
950 *** These critical programs are missing or too old:$critic_missing
951 *** Check the INSTALL file for required versions.])
953 test -n "$aux_missing" && AC_MSG_WARN([
954 *** These auxiliary programs are missing or incompatible versions:$aux_missing
955 *** some features will be disabled.
956 *** Check the INSTALL file for required versions.])
958 # if using special system headers, find out the compiler's sekrit
959 # header directory and add that to the list. NOTE: Only does the right
960 # thing on a system that doesn't need fixincludes. (Not presently a problem.)
961 if test -n "$sysheaders"; then
962 SYSINCLUDES=-nostdinc
963 for d in include include-fixed; do
964 i=`$CC -print-file-name="$d"` && test "x$i" != x && test "x$i" != "x$d" &&
965 SYSINCLUDES="$SYSINCLUDES -isystem $i"
967 SYSINCLUDES="$SYSINCLUDES \
968 -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
969 if test -n "$CXX"; then
971 cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` &&
972 cxxmachine=`$CXX -dumpmachine 2>&AS_MESSAGE_LOG_FD` &&
973 for d in include "$cxxmachine/include"; do
974 i=../../../../$d/c++/$cxxversion
975 cxxheaders=`$CXX -print-file-name="$i"` &&
976 test "x$cxxheaders" != x && test "x$i" != "x$cxxheaders" &&
977 CXX_SYSINCLUDES="$CXX_SYSINCLUDES -isystem $cxxheaders \
978 -isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward"
982 AC_SUBST(SYSINCLUDES)
983 AC_SUBST(CXX_SYSINCLUDES)
985 # Test if LD_LIBRARY_PATH contains the notation for the current directory
986 # since this would lead to problems installing/building glibc.
987 # LD_LIBRARY_PATH contains the current directory if one of the following
989 # - one of the terminals (":" and ";") is the first or last sign
990 # - two terminals occur directly after each other
991 # - the path contains an element with a dot in it
992 AC_MSG_CHECKING(LD_LIBRARY_PATH variable)
994 case ${LD_LIBRARY_PATH} in
995 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
996 ld_library_path_setting="contains current directory"
999 ld_library_path_setting="ok"
1003 AC_MSG_RESULT($ld_library_path_setting)
1004 if test "$ld_library_path_setting" != "ok"; then
1006 *** LD_LIBRARY_PATH shouldn't contain the current directory when
1007 *** building glibc. Please change the environment variable
1008 *** and run configure again.])
1011 AC_CACHE_CHECK(whether GCC supports -static-libgcc, libc_cv_gcc_static_libgcc, [dnl
1012 if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
1013 libc_cv_gcc_static_libgcc=
1015 libc_cv_gcc_static_libgcc=-static-libgcc
1017 AC_SUBST(libc_cv_gcc_static_libgcc)
1019 AC_PATH_PROG(BASH_SHELL, bash, no)
1020 if test "$BASH_SHELL" != no &&
1021 $BASH_SHELL -c 'test "$BASH_VERSINFO" \
1022 && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then
1023 libc_cv_have_bash2=yes
1025 libc_cv_have_bash2=no
1027 AC_SUBST(libc_cv_have_bash2)
1029 dnl We need a ksh compatible shell for tzselect.
1030 if test "$BASH_SHELL" = no; then
1031 AC_PATH_PROG(KSH, ksh, no)
1032 if test "$KSH" = no; then
1035 libc_cv_have_ksh=yes
1040 libc_cv_have_ksh=yes
1042 AC_SUBST(libc_cv_have_ksh)
1045 AC_PATH_PROG(PERL, perl, no)
1046 if test "$PERL" != no &&
1047 (eval `$PERL -V:apiversion`; test `expr "$apiversion" \< 5` -ne 0); then
1050 AC_PATH_PROG(INSTALL_INFO, install-info, no,
1051 $PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
1052 AC_PATH_PROG(BISON, bison, no, $PATH:/usr/local/bin:/usr/bin:/bin)
1054 AC_CACHE_CHECK(for libc-friendly stddef.h, libc_cv_friendly_stddef, [dnl
1056 [#define __need_size_t
1057 #define __need_wchar_t
1060 #include <stddef.h>], [size_t size; wchar_t wchar;
1062 #error stddef.h ignored __need_*
1064 if (&size == NULL || &wchar == NULL) abort ();],
1065 libc_cv_friendly_stddef=yes,
1066 libc_cv_friendly_stddef=no)])
1067 if test $libc_cv_friendly_stddef = yes; then
1068 config_vars="$config_vars
1069 override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
1072 AC_CACHE_CHECK(whether we need to use -P to assemble .S files,
1073 libc_cv_need_minus_P, [dnl
1074 cat > conftest.S <<EOF
1075 #include "confdefs.h"
1076 /* Nothing whatsoever. */
1078 if AC_TRY_COMMAND(${CC-cc} $CPPFLAGS $ASFLAGS -c conftest.S 1>&AS_MESSAGE_LOG_FD); then
1079 libc_cv_need_minus_P=no
1081 libc_cv_need_minus_P=yes
1084 if test $libc_cv_need_minus_P = yes; then
1085 config_vars="$config_vars
1086 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
1089 AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
1090 cat > conftest.s <<EOF
1093 .set glibc_conftest_frobozz,foo
1094 $libc_cv_asm_global_directive glibc_conftest_frobozz
1096 # The alpha-dec-osf1 assembler gives only a warning for `.set'
1097 # (but it doesn't work), so we must do a linking check to be sure.
1098 cat > conftest1.c <<\EOF
1099 extern int glibc_conftest_frobozz;
1100 void _start() { glibc_conftest_frobozz = 1; }
1102 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
1103 -nostartfiles -nostdlib \
1104 -o conftest conftest.s conftest1.c 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1105 libc_cv_asm_set_directive=yes
1107 libc_cv_asm_set_directive=no
1110 if test $libc_cv_asm_set_directive = yes; then
1111 AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
1114 AC_CACHE_CHECK(for assembler gnu_unique_object symbol type,
1115 libc_cv_asm_unique_object, [dnl
1116 cat > conftest.s <<EOF
1119 .type _sym, ${libc_cv_asm_type_prefix}gnu_unique_object
1121 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1122 libc_cv_asm_unique_object=yes
1124 libc_cv_asm_unique_object=no
1127 if test $libc_cv_asm_unique_object = yes; then
1128 AC_DEFINE(HAVE_ASM_UNIQUE_OBJECT)
1131 AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
1132 [cat > conftest.s <<EOF
1135 .symver _sym,sym@VERS
1137 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1138 libc_cv_asm_symver_directive=yes
1140 libc_cv_asm_symver_directive=no
1143 AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
1144 if test $libc_cv_asm_symver_directive = yes; then
1145 cat > conftest.s <<EOF
1148 .symver _sym,sym@VERS
1150 cat > conftest.map <<EOF
1159 if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
1160 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $LDFLAGS -shared
1161 -o conftest.so conftest.o
1162 -nostartfiles -nostdlib
1163 -Wl,--version-script,conftest.map
1164 1>&AS_MESSAGE_LOG_FD]);
1166 libc_cv_ld_version_script_option=yes
1168 libc_cv_ld_version_script_option=no
1171 libc_cv_ld_version_script_option=no
1174 libc_cv_ld_version_script_option=no
1177 if test $shared != no &&
1178 test $libc_cv_asm_symver_directive = yes &&
1179 test $libc_cv_ld_version_script_option = yes &&
1180 test $enable_versioning = yes; then
1182 AC_DEFINE(DO_VERSIONING)
1186 AC_SUBST(VERSIONING)
1188 if test $shared != no && test $VERSIONING = no; then
1190 *** WARNING: You should not compile GNU libc without versioning. Not using
1191 *** versioning will introduce incompatibilities so that old binaries
1192 *** will not run anymore.
1193 *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
1195 AC_CACHE_CHECK(for .previous assembler directive,
1196 libc_cv_asm_previous_directive, [dnl
1197 cat > conftest.s <<EOF
1198 .section foo_section
1201 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1202 libc_cv_asm_previous_directive=yes
1204 libc_cv_asm_previous_directive=no
1207 if test $libc_cv_asm_previous_directive = yes; then
1208 AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE)
1210 AC_CACHE_CHECK(for .popsection assembler directive,
1211 libc_cv_asm_popsection_directive, [dnl
1212 cat > conftest.s <<EOF
1213 .pushsection foo_section
1216 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1217 libc_cv_asm_popsection_directive=yes
1219 libc_cv_asm_popsection_directive=no
1222 if test $libc_cv_asm_popsection_directive = yes; then
1223 AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE)
1226 AC_CACHE_CHECK(for .protected and .hidden assembler directive,
1227 libc_cv_asm_protected_directive, [dnl
1228 cat > conftest.s <<EOF
1234 if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
1235 libc_cv_asm_protected_directive=yes
1237 AC_MSG_ERROR(assembler support for symbol visibility is required)
1241 if test $libc_cv_asm_protected_directive = yes; then
1242 AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
1243 libc_cv_visibility_attribute,
1244 [cat > conftest.c <<EOF
1245 int foo __attribute__ ((visibility ("hidden"))) = 1;
1246 int bar __attribute__ ((visibility ("protected"))) = 1;
1248 libc_cv_visibility_attribute=no
1249 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1250 if grep '\.hidden.*foo' conftest.s >/dev/null; then
1251 if grep '\.protected.*bar' conftest.s >/dev/null; then
1252 libc_cv_visibility_attribute=yes
1256 rm -f conftest.{c,s}
1258 if test $libc_cv_visibility_attribute != yes; then
1259 AC_MSG_ERROR(compiler support for visibility attribute is required)
1263 if test $libc_cv_visibility_attribute = yes; then
1264 AC_CACHE_CHECK(for broken __attribute__((visibility())),
1265 libc_cv_broken_visibility_attribute,
1266 [cat > conftest.c <<EOF
1268 int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
1269 int bar (int x) { return x; }
1271 libc_cv_broken_visibility_attribute=yes
1272 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1274 if grep '\.hidden[ _]foo' conftest.s >/dev/null; then
1276 libc_cv_broken_visibility_attribute=no
1279 rm -f conftest.c conftest.s
1281 if test $libc_cv_broken_visibility_attribute = yes; then
1282 AC_MSG_ERROR(working compiler support for visibility attribute is required)
1286 AC_CACHE_CHECK(for broken __attribute__((alias())),
1287 libc_cv_broken_alias_attribute,
1288 [cat > conftest.c <<EOF
1289 extern int foo (int x) __asm ("xyzzy");
1290 int bar (int x) { return x; }
1291 extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
1293 extern __typeof (dfoo) dfoo __asm ("abccb");
1296 libc_cv_broken_alias_attribute=yes
1297 if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
1298 if grep 'xyzzy' conftest.s >/dev/null &&
1299 grep 'abccb' conftest.s >/dev/null; then
1300 libc_cv_broken_alias_attribute=no
1303 rm -f conftest.c conftest.s
1305 if test $libc_cv_broken_alias_attribute = yes; then
1306 AC_MSG_ERROR(working alias attribute support required)
1309 if test $libc_cv_visibility_attribute = yes; then
1310 AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
1311 libc_cv_have_sdata_section,
1312 [echo "int i;" > conftest.c
1313 libc_cv_have_sdata_section=no
1314 if ${CC-cc} $LDFLAGS -fPIC -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \
1315 | grep '\.sdata' >/dev/null; then
1316 libc_cv_have_sdata_section=yes
1318 rm -f conftest.c conftest.so
1320 if test $libc_cv_have_sdata_section = yes; then
1321 AC_DEFINE(HAVE_SDATA_SECTION)
1325 AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
1326 libc_cv_initfini_array, [dnl
1327 LIBC_TRY_LINK_STATIC([
1328 int foo (void) { return 1; }
1329 int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
1331 [if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
1332 libc_cv_initfini_array=yes
1334 libc_cv_initfini_array=no
1336 [libc_cv_initfini_array=no])
1338 if test $libc_cv_initfini_array != yes; then
1339 AC_MSG_ERROR([Need linker with .init_array/.fini_array support.])
1342 AC_CACHE_CHECK(whether to use .ctors/.dtors header and trailer,
1343 libc_cv_ctors_header, [dnl
1344 libc_cv_ctors_header=yes
1345 LIBC_TRY_LINK_STATIC([
1346 __attribute__ ((constructor)) void ctor (void) { asm (""); }
1347 __attribute__ ((destructor)) void dtor (void) { asm (""); }
1350 AS_IF([$READELF -WS conftest$ac_exeext | $AWK '
1351 { gsub(/\@<:@ */, "@<:@") }
1352 $2 == ".ctors" || $2 == ".dtors" {
1353 size = strtonum("0x" $6)
1354 align = strtonum("0x" $NF)
1356 stub@<:@$2@:>@ = size == align * 2
1359 ctors_ok = !seen@<:@".ctors"@:>@ || stub@<:@".ctors"@:>@
1360 dtors_ok = !seen@<:@".dtors"@:>@ || stub@<:@".dtors"@:>@
1361 exit ((ctors_ok && dtors_ok) ? 0 : 1)
1363 '], [libc_cv_ctors_header=no])
1365 AC_MSG_ERROR([missing __attribute__ ((constructor)) support??])
1368 if test $libc_cv_ctors_header = no; then
1369 AC_DEFINE(NO_CTORS_DTORS_SECTIONS)
1372 AC_CACHE_CHECK(for libunwind-support in compiler,
1373 libc_cv_cc_with_libunwind, [
1374 cat > conftest.c <<EOF
1375 int main (void) { return 0; }
1377 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
1378 conftest.c -v 2>&1 >/dev/null | grep -q " -lunwind "; then
1379 libc_cv_cc_with_libunwind=yes
1381 libc_cv_cc_with_libunwind=no
1384 AC_SUBST(libc_cv_cc_with_libunwind)
1385 if test $libc_cv_cc_with_libunwind = yes; then
1386 AC_DEFINE(HAVE_CC_WITH_LIBUNWIND)
1389 AC_CACHE_CHECK(for -z nodelete option,
1390 libc_cv_z_nodelete, [dnl
1391 cat > conftest.c <<EOF
1392 int _start (void) { return 42; }
1394 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1395 -fPIC -shared -o conftest.so conftest.c
1396 -nostartfiles -nostdlib
1397 -Wl,--enable-new-dtags,-z,nodelete 1>&AS_MESSAGE_LOG_FD])
1399 libc_cv_z_nodelete=yes
1401 AC_MSG_ERROR(linker with -z nodelete support required)
1405 AC_CACHE_CHECK(for -z nodlopen option,
1406 libc_cv_z_nodlopen, [dnl
1407 cat > conftest.c <<EOF
1408 int _start (void) { return 42; }
1410 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1411 -fPIC -shared -o conftest.so conftest.c
1412 -nostartfiles -nostdlib
1413 -Wl,--enable-new-dtags,-z,nodlopen 1>&AS_MESSAGE_LOG_FD])
1415 libc_cv_z_nodlopen=yes
1417 AC_MSG_ERROR(linker with -z nodlopen support required)
1421 AC_CACHE_CHECK(for -z initfirst option,
1422 libc_cv_z_initfirst, [dnl
1423 cat > conftest.c <<EOF
1424 int _start (void) { return 42; }
1426 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1427 -fPIC -shared -o conftest.so conftest.c
1428 -nostartfiles -nostdlib
1429 -Wl,--enable-new-dtags,-z,initfirst 1>&AS_MESSAGE_LOG_FD])
1431 libc_cv_z_initfirst=yes
1433 AC_MSG_ERROR(linker with -z initfirst support required)
1437 # Add-on fragments can set these for other machines.
1438 libc_commonpagesize=${libc_commonpagesize:-no}
1439 libc_relro_required=${libc_relro_required:-no}
1440 case "$base_machine" in
1441 i[[34567]]86 | x86_64 | powerpc* | s390*)
1442 libc_commonpagesize=0x1000
1443 libc_relro_required=yes
1446 libc_commonpagesize=0x2000
1447 libc_relro_required=yes
1451 if test $libc_commonpagesize != no; then
1452 AC_CACHE_CHECK(for -z relro option,
1453 libc_cv_z_relro, [dnl
1455 AC_LANG_CONFTEST([AC_LANG_SOURCE([[
1456 int _start (void) { return 42; }
1457 extern void _exit (int);
1458 /* Since these pointers are const, they should go in rodata.
1459 Since they refer to functions that have to be resolved by
1460 dynamic linking, they should instead go in RELRO data. */
1461 const void *const relro[] = { &_start, &_exit, 0 };
1462 /* GNU ld fails to produce RELRO data when it's very small and there is no
1463 normal writable data following it, or if only uninitialized (.bss) data
1464 follows it, or only very small writable data. */
1465 int data[0x10000] = { 1, };
1467 cat > conftest.awk <<\EOF
1470 commonpagesize = strtonum(commonpagesize)
1472 { print "LINE:", $0 > "/dev/stderr" }
1474 vaddr = strtonum($3)
1475 memsz = strtonum($6)
1477 printf "vaddr %#x memsz %#x end %#x commonpagesize %#x\n", \
1478 vaddr, memsz, end, commonpagesize > "/dev/stderr"
1479 result = (end % commonpagesize == 0) ? "yes" : "broken"
1481 END { print result }
1483 AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1484 -fPIC -shared -o conftest.so conftest.c
1485 -nostartfiles -nostdlib
1486 -Wl,-z,relro 1>&AS_MESSAGE_LOG_FD]) &&
1487 AC_TRY_COMMAND([$READELF -Wl conftest.so > conftest.ph]) &&
1489 $AWK -v commonpagesize=$libc_commonpagesize -f conftest.awk
1490 conftest.ph > conftest.cps
1492 libc_cv_z_relro=`cat conftest.cps 2>&AS_MESSAGE_LOG_FD`
1494 if { test "x$libc_relro_required" = xyes &&
1495 test "x$libc_cv_z_relro" != xyes
1498 AC_MSG_ERROR(linker with -z relro support required)
1501 AC_MSG_WARN([missing architecture parameter to check for working -z relro])
1504 AC_CACHE_CHECK(for -Bgroup option,
1505 libc_cv_Bgroup, [dnl
1506 cat > conftest.c <<EOF
1507 int _start (void) { return 42; }
1509 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1510 -fPIC -shared -o conftest.so conftest.c
1511 -Wl,-Bgroup -nostdlib 1>&AS_MESSAGE_LOG_FD])
1518 AC_SUBST(libc_cv_Bgroup)
1521 AC_CACHE_CHECK(whether --noexecstack is desirable for .S files,
1522 libc_cv_as_noexecstack, [dnl
1523 cat > conftest.c <<EOF
1526 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS
1527 -S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \
1528 && grep -q .note.GNU-stack conftest.s \
1529 && AC_TRY_COMMAND([${CC-cc} $ASFLAGS -Wa,--noexecstack
1530 -c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
1532 libc_cv_as_noexecstack=yes
1534 libc_cv_as_noexecstack=no
1537 if test $libc_cv_as_noexecstack = yes; then
1538 ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
1540 AC_SUBST(ASFLAGS_config)
1542 AC_CACHE_CHECK(for -z combreloc,
1543 libc_cv_z_combreloc, [dnl
1544 cat > conftest.c <<EOF
1545 extern int bar (int);
1547 int foo (void) { return bar (mumble); }
1549 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1550 -fPIC -shared -o conftest.so conftest.c
1551 -nostdlib -nostartfiles
1552 -Wl,-z,combreloc 1>&AS_MESSAGE_LOG_FD])
1554 dnl The following test is a bit weak. We must use a tool which can test
1555 dnl cross-platform since the gcc used can be a cross compiler. Without
1556 dnl introducing new options this is not easily doable. Instead use a tool
1557 dnl which always is cross-platform: readelf. To detect whether -z combreloc
1558 dnl look for a section named .rel.dyn.
1559 if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
1560 libc_cv_z_combreloc=yes
1562 libc_cv_z_combreloc=no
1565 libc_cv_z_combreloc=no
1568 if test "$libc_cv_z_combreloc" = yes; then
1569 AC_DEFINE(HAVE_Z_COMBRELOC)
1571 AC_SUBST(libc_cv_z_combreloc)
1573 AC_CACHE_CHECK(for -z execstack,
1574 libc_cv_z_execstack, [dnl
1575 cat > conftest.c <<EOF
1576 int _start (void) { return 42; }
1578 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1579 -fPIC -shared -o conftest.so conftest.c
1580 -Wl,-z,execstack -nostdlib
1581 1>&AS_MESSAGE_LOG_FD])
1583 libc_cv_z_execstack=yes
1585 libc_cv_z_execstack=no
1588 AC_SUBST(libc_cv_z_execstack)
1590 AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl
1591 cat > conftest.c <<EOF
1593 main () { return 0;}
1595 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie
1596 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
1604 AC_SUBST(libc_cv_fpie)
1606 AC_CACHE_CHECK(for --hash-style option,
1607 libc_cv_hashstyle, [dnl
1608 cat > conftest.c <<EOF
1609 int _start (void) { return 42; }
1611 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1612 -fPIC -shared -o conftest.so conftest.c
1613 -Wl,--hash-style=both -nostdlib 1>&AS_MESSAGE_LOG_FD])
1615 libc_cv_hashstyle=yes
1617 libc_cv_hashstyle=no
1620 AC_SUBST(libc_cv_hashstyle)
1622 # The linker's default -shared behavior is good enough if it
1623 # does these things that our custom linker scripts ensure that
1624 # all allocated NOTE sections come first.
1625 if test "$use_default_link" = default; then
1626 AC_CACHE_CHECK([for sufficient default -shared layout],
1627 libc_cv_use_default_link, [dnl
1628 libc_cv_use_default_link=no
1629 cat > conftest.s <<\EOF
1630 .section .note.a,"a",%note
1635 .section .note.b,"a",%note
1641 if AC_TRY_COMMAND([dnl
1642 ${CC-cc} $ASFLAGS -shared -o conftest.so conftest.s 1>&AS_MESSAGE_LOG_FD]) &&
1643 ac_try=`$READELF -S conftest.so | sed -n \
1645 s/^ *\[ *[1-9][0-9]*\] *\([^ ][^ ]*\) *\([^ ][^ ]*\) .*$/\2 \1/
1651 libc_seen_a=no libc_seen_b=no
1653 while test $# -ge 2 -a "$1" = NOTE; do
1655 .note.a) libc_seen_a=yes ;;
1656 .note.b) libc_seen_b=yes ;;
1660 case "$libc_seen_a$libc_seen_b" in
1662 libc_cv_use_default_link=yes
1665 echo >&AS_MESSAGE_LOG_FD "\
1666 $libc_seen_a$libc_seen_b from:
1672 use_default_link=$libc_cv_use_default_link
1675 AC_CACHE_CHECK(linker output format, libc_cv_output_format, [dnl
1676 if libc_cv_output_format=`
1677 ${CC-cc} -nostartfiles -nostdlib -Wl,--print-output-format 2>&AS_MESSAGE_LOG_FD`
1681 libc_cv_output_format=
1683 test -n "$libc_cv_output_format" || libc_cv_output_format=unknown])
1684 AC_SUBST(libc_cv_output_format)
1686 AC_CACHE_CHECK(for -fno-toplevel-reorder -fno-section-anchors, libc_cv_fno_toplevel_reorder, [dnl
1687 cat > conftest.c <<EOF
1690 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -fno-toplevel-reorder -fno-section-anchors
1691 conftest.c 1>&AS_MESSAGE_LOG_FD])
1693 libc_cv_fno_toplevel_reorder=yes
1695 libc_cv_fno_toplevel_reorder=no
1698 if test $libc_cv_fno_toplevel_reorder = yes; then
1699 fno_unit_at_a_time="-fno-toplevel-reorder -fno-section-anchors"
1701 fno_unit_at_a_time=-fno-unit-at-a-time
1703 AC_SUBST(fno_unit_at_a_time)
1705 AC_CACHE_CHECK(for -fstack-protector, libc_cv_ssp, [dnl
1706 LIBC_TRY_CC_OPTION([$CFLAGS $CPPFLAGS -Werror -fstack-protector],
1710 AC_SUBST(libc_cv_ssp)
1712 AC_CACHE_CHECK(for -fgnu89-inline, libc_cv_gnu89_inline, [dnl
1713 cat > conftest.c <<EOF
1715 #ifdef __GNUC_GNU_INLINE__
1716 main () { return 0;}
1721 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -std=gnu99 -fgnu89-inline
1722 -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD])
1724 libc_cv_gnu89_inline=yes
1726 libc_cv_gnu89_inline=no
1729 if test $libc_cv_gnu89_inline = yes; then
1730 gnu89_inline=-fgnu89-inline
1734 AC_SUBST(gnu89_inline)
1736 AC_CACHE_CHECK(whether cc puts quotes around section names,
1737 libc_cv_have_section_quotes,
1738 [cat > conftest.c <<EOF
1739 static const int foo
1740 __attribute__ ((section ("bar"))) = 1;
1742 if ${CC-cc} -S conftest.c -o conftest.s; then
1743 if grep '\.section.*"bar"' conftest.s >/dev/null; then
1744 libc_cv_have_section_quotes=yes
1746 libc_cv_have_section_quotes=no
1749 libc_cv_have_section_quotes=unknown
1751 rm -f conftest.{c,s}
1753 if test $libc_cv_have_section_quotes = yes; then
1754 AC_DEFINE(HAVE_SECTION_QUOTES)
1757 AC_CACHE_CHECK(for assembler .weak directive, libc_cv_asm_weak_directive,
1759 cat > conftest.s <<EOF
1761 ${libc_cv_asm_global_directive} foo
1764 .weak bar; bar = foo
1766 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1767 libc_cv_asm_weak_directive=yes
1769 libc_cv_asm_weak_directive=no
1773 if test $libc_cv_asm_weak_directive = no; then
1774 AC_CACHE_CHECK(for assembler .weakext directive,
1775 libc_cv_asm_weakext_directive,
1777 cat > conftest.s <<EOF
1779 ${libc_cv_asm_global_directive} foo
1783 ${libc_cv_asm_global_directive} baz
1786 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1787 libc_cv_asm_weakext_directive=yes
1789 libc_cv_asm_weakext_directive=no
1795 if test $libc_cv_asm_weak_directive = yes; then
1796 AC_DEFINE(HAVE_ASM_WEAK_DIRECTIVE)
1797 elif test $libc_cv_asm_weakext_directive = yes; then
1798 AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE)
1801 AC_CACHE_CHECK(whether CFI directives are supported, libc_cv_asm_cfi_directives, [dnl
1803 sparc/sparc64*) cfi_offset=2047;;
1806 cat > conftest.s <<EOF
1808 .type func,%function
1812 .cfi_rel_offset 1, $cfi_offset
1815 if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
1816 libc_cv_asm_cfi_directives=yes
1818 libc_cv_asm_cfi_directives=no
1821 if test $libc_cv_asm_cfi_directives = yes; then
1822 AC_DEFINE(HAVE_ASM_CFI_DIRECTIVES)
1825 AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl
1826 cat > conftest.c <<\EOF
1831 dnl No \ in command here because it ends up inside ''.
1832 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1833 -nostdlib -nostartfiles -Wl,--no-whole-archive
1834 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1835 libc_cv_ld_no_whole_archive=yes
1837 libc_cv_ld_no_whole_archive=no
1840 if test $libc_cv_ld_no_whole_archive = no; then
1841 AC_MSG_ERROR([support for --no-whole-archive is needed])
1844 AC_CACHE_CHECK(for gcc -fexceptions, libc_cv_gcc_exceptions, [dnl
1845 cat > conftest.c <<\EOF
1850 dnl No \ in command here because it ends up inside ''.
1851 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
1852 -nostdlib -nostartfiles -fexceptions
1853 -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]); then
1854 libc_cv_gcc_exceptions=yes
1856 libc_cv_gcc_exceptions=no
1859 if test $libc_cv_gcc_exceptions = yes; then
1860 exceptions=-fexceptions
1862 AC_SUBST(exceptions)dnl
1864 if test "$host_cpu" = powerpc ; then
1865 # Check for a bug present in at least versions 2.8.x of GCC
1866 # and versions 1.0.x of EGCS.
1867 AC_CACHE_CHECK(whether clobbering cr0 causes problems,libc_cv_c_asmcr0_bug,[dnl
1868 AC_TRY_COMPILE([int tester(int x) { asm ("" : : : "cc"); return x & 123; }],,
1869 libc_cv_c_asmcr0_bug='no',
1870 libc_cv_c_asmcr0_bug='yes')])
1871 if test "$libc_cv_c_asmcr0_bug" != 'no'; then
1872 AC_DEFINE(BROKEN_PPC_ASM_CR0)
1876 AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
1877 cat > conftest.c <<\EOF
1880 __builtin_memset (x, 0, 1000);
1884 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
1886 libc_cv_gcc_builtin_memset=no
1888 libc_cv_gcc_builtin_memset=yes
1891 if test "$libc_cv_gcc_builtin_memset" = yes ; then
1892 AC_DEFINE(HAVE_BUILTIN_MEMSET)
1895 AC_CACHE_CHECK(for redirection of built-in functions, libc_cv_gcc_builtin_redirection, [dnl
1896 cat > conftest.c <<\EOF
1897 extern char *strstr (const char *, const char *) __asm ("my_strstr");
1898 char *foo (const char *a, const char *b)
1900 return __builtin_strstr (a, b);
1904 if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null]);
1906 libc_cv_gcc_builtin_redirection=yes
1908 libc_cv_gcc_builtin_redirection=no
1911 if test "$libc_cv_gcc_builtin_redirection" = no; then
1912 AC_MSG_ERROR([support for the symbol redirection needed])
1915 dnl Check whether the compiler supports the __thread keyword.
1916 AC_CACHE_CHECK([for __thread], libc_cv_gcc___thread,
1917 [cat > conftest.c <<\EOF
1918 __thread int a = 42;
1920 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c >&AS_MESSAGE_LOG_FD]); then
1921 libc_cv_gcc___thread=yes
1923 libc_cv_gcc___thread=no
1926 if test "$libc_cv_gcc___thread" = no; then
1927 AC_MSG_ERROR([support for the __thread keyword is required])
1930 dnl Check whether the compiler supports the tls_model attribute.
1931 AC_CACHE_CHECK([for tls_model attribute], libc_cv_gcc_tls_model_attr, [dnl
1932 cat > conftest.c <<\EOF
1933 extern __thread int a __attribute__((tls_model ("initial-exec")));
1935 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -S -Werror conftest.c >&AS_MESSAGE_LOG_FD]); then
1936 libc_cv_gcc_tls_model_attr=yes
1938 libc_cv_gcc_tls_model_attr=no
1941 if test "$libc_cv_gcc_tls_model_attr" = no; then
1942 AC_MSG_ERROR([support for the tls_model attribute is required])
1945 dnl Determine how to disable generation of FMA instructions.
1946 AC_CACHE_CHECK([for compiler option to disable generation of FMA instructions],
1947 libc_cv_cc_nofma, [dnl
1949 for opt in -ffp-contract=off -mno-fused-madd; do
1950 LIBC_TRY_CC_OPTION([$opt], [libc_cv_cc_nofma=$opt; break])
1953 if test -n "$submachine"; then
1954 AC_CACHE_CHECK([for compiler option for CPU variant],
1955 libc_cv_cc_submachine, [dnl
1956 libc_cv_cc_submachine=no
1957 for opt in "-march=$submachine" "-mcpu=$submachine"; do
1958 LIBC_TRY_CC_OPTION([$opt], [
1959 libc_cv_cc_submachine="$opt"
1962 if test "x$libc_cv_cc_submachine" = xno; then
1963 AC_MSG_ERROR([${CC-cc} does not support $submachine])
1966 AC_SUBST(libc_cv_cc_submachine)
1968 dnl Check whether we have the gd library available.
1969 AC_MSG_CHECKING(for libgd)
1970 if test "$with_gd" != "no"; then
1971 old_CFLAGS="$CFLAGS"
1972 CFLAGS="$CFLAGS $libgd_include"
1973 old_LDFLAGS="$LDFLAGS"
1974 LDFLAGS="$LDFLAGS $libgd_ldflags"
1976 LIBS="$LIBS -lgd -lpng -lz -lm"
1977 AC_TRY_LINK([#include <gd.h>], [gdImagePng (0, 0)], LIBGD=yes, LIBGD=no)
1978 CFLAGS="$old_CFLAGS"
1979 LDFLAGS="$old_LDFLAGS"
1984 AC_MSG_RESULT($LIBGD)
1988 if test x$with_selinux = xno ; then
1991 # See if we have the SELinux library
1992 AC_CHECK_LIB(selinux, is_selinux_enabled,
1993 have_selinux=yes, have_selinux=no)
1994 # See if we have the SELinux header with the NSCD permissions in it.
1995 if test x$have_selinux = xyes ; then
1996 AC_MSG_CHECKING([for NSCD Flask permissions in selinux/av_permissions.h])
1997 AC_TRY_COMPILE([#include <selinux/av_permissions.h>],
1998 [#ifdef NSCD__SHMEMHOST
2001 #error NSCD__SHMEMHOST not defined
2003 have_selinux=yes, have_selinux=no)
2004 AC_MSG_RESULT($have_selinux)
2007 if test x$with_selinux = xyes ; then
2008 if test x$have_selinux = xno ; then
2009 AC_MSG_ERROR([SELinux explicitly required, but sufficiently recent SELinux library not found])
2013 # Check if we're building with SELinux support.
2014 if test "x$have_selinux" = xyes; then
2015 AC_DEFINE(HAVE_SELINUX, 1, [SELinux support])
2017 # See if we have the libaudit library
2018 AC_CHECK_LIB(audit, audit_log_user_avc_message,
2019 have_libaudit=yes, have_libaudit=no)
2020 if test "x$have_libaudit" = xyes; then
2021 AC_DEFINE(HAVE_LIBAUDIT, 1, [SELinux libaudit support])
2023 AC_SUBST(have_libaudit)
2025 # See if we have the libcap library
2026 AC_CHECK_LIB(cap, cap_init, have_libcap=yes, have_libcap=no)
2027 if test "x$have_libcap" = xyes; then
2028 AC_DEFINE(HAVE_LIBCAP, 1, [SELinux libcap support])
2030 AC_SUBST(have_libcap)
2032 AC_SUBST(have_selinux)
2034 dnl check for the size of 'long double'.
2035 AC_CHECK_SIZEOF(long double, 0)
2036 sizeof_long_double=$ac_cv_sizeof_long_double
2037 AC_SUBST(sizeof_long_double)
2039 ### End of automated tests.
2040 ### Now run sysdeps configure fragments.
2042 # They also can set these variables.
2044 ldd_rewrite_script=no
2045 libc_cv_sysconfdir=$sysconfdir
2046 libc_cv_gcc_unwind_find_fde=no
2049 # Iterate over all the sysdep directories we will use, running their
2050 # configure fragments.
2051 for dir in $sysnames; do
2054 *) dest=$srcdir/$dir ;;
2056 if test -r $dest/configure; then
2057 AC_MSG_RESULT(running configure fragment for $dir)
2062 if test x$libc_cv_gcc_unwind_find_fde = xyes; then
2063 AC_DEFINE(EXPORT_UNWIND_FIND_FDE)
2065 AC_SUBST(libc_cv_gcc_unwind_find_fde)
2067 # Test for old glibc 2.0.x headers so that they can be removed properly
2068 # Search only in includedir.
2069 AC_MSG_CHECKING(for old glibc 2.0.x headers)
2070 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
2072 old_glibc_headers=yes
2074 old_glibc_headers=no
2076 AC_MSG_RESULT($old_glibc_headers)
2077 if test ${old_glibc_headers} = yes; then
2078 AC_MSG_WARN(*** During \"make install\" old headers from glibc 2.0.x will)
2079 AC_MSG_WARN(*** be removed.)
2081 AC_SUBST(old_glibc_headers)
2083 AC_SUBST(libc_cv_slibdir)
2084 AC_SUBST(libc_cv_localedir)
2085 AC_SUBST(libc_cv_sysconfdir)
2086 AC_SUBST(libc_cv_rootsbindir)
2087 AC_SUBST(libc_cv_forced_unwind)
2089 dnl sysdeps/CPU/configure.in checks set this via arch-specific asm tests
2090 AC_SUBST(libc_cv_cpp_asm_debuginfo)
2091 AC_SUBST(libc_cv_cc_sse4)
2092 AC_SUBST(libc_cv_cc_avx)
2093 AC_SUBST(libc_cv_cc_sse2avx)
2094 AC_SUBST(libc_cv_cc_novzeroupper)
2095 AC_SUBST(libc_cv_cc_fma4)
2096 AC_SUBST(libc_cv_cc_nofma)
2097 AC_SUBST(libc_cv_as_i686)
2098 AC_SUBST(libc_cv_sparc_as_vis3)
2100 AC_SUBST(use_ldconfig)
2101 AC_SUBST(ldd_rewrite_script)
2106 AC_CACHE_CHECK([whether -fPIC is default], libc_cv_pic_default,
2107 [libc_cv_pic_default=yes
2108 cat > conftest.c <<EOF
2109 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
2110 # error PIC is default.
2113 if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
2114 libc_cv_pic_default=no
2117 AC_SUBST(libc_cv_pic_default)
2120 AC_SUBST(static_nss)
2124 dnl See sysdeps/mach/configure.in for this variable.
2125 AC_SUBST(mach_interface_list)
2127 if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
2130 config_makefile=Makefile
2133 VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
2134 RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
2138 AC_CONFIG_FILES([config.make ${config_makefile}])
2139 AC_CONFIG_COMMANDS([default],[[
2140 case $CONFIG_FILES in *config.make*)
2141 echo "$config_vars" >> config.make;;
2143 test -d bits || mkdir bits]],[[config_vars='$config_vars']])