]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Updated to fedora-glibc-20090407T0545
authorJakub Jelinek <jakub@redhat.com>
Tue, 7 Apr 2009 06:20:59 +0000 (06:20 +0000)
committerJakub Jelinek <jakub@redhat.com>
Tue, 7 Apr 2009 06:20:59 +0000 (06:20 +0000)
45 files changed:
ChangeLog
NEWS
config.make.in
configure
configure.in
crypt/Makefile
crypt/md5-crypt.c
crypt/sha256-crypt.c
crypt/sha512-crypt.c
elf/elf.h
fedora/branch.mk
fedora/glibc.spec.in
localedata/ChangeLog
localedata/locales/ks_IN [new file with mode: 0644]
misc/Makefile
misc/Versions
misc/preadv.c [new file with mode: 0644]
misc/preadv64.c [new file with mode: 0644]
misc/pwritev.c [new file with mode: 0644]
misc/pwritev64.c [new file with mode: 0644]
misc/sys/uio.h
resolv/res_init.c
resolv/res_send.c
resolv/resolv.h
scripts/check-local-headers.sh
string/strverscmp.c
sysdeps/posix/preadv.c [new file with mode: 0644]
sysdeps/posix/preadv64.c [new file with mode: 0644]
sysdeps/posix/pwritev.c [new file with mode: 0644]
sysdeps/posix/pwritev64.c [new file with mode: 0644]
sysdeps/posix/readv.c
sysdeps/posix/writev.c
sysdeps/unix/sysv/linux/bits/socket.h
sysdeps/unix/sysv/linux/kernel-features.h
sysdeps/unix/sysv/linux/preadv.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/preadv64.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/pwritev.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/pwritev64.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/readv.c
sysdeps/unix/sysv/linux/sys/eventfd.h
sysdeps/unix/sysv/linux/wordsize-64/preadv64.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/wordsize-64/pwritev64.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/writev.c
sysdeps/x86_64/strchr.S
sysdeps/x86_64/strlen.S

index 3bd91c3ceea03c7dd95b9ffd21e13949d22d6d02..62e4d49dc29d38d9564a2577952883b917e0a7a3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,90 @@
+2009-04-06  Ulrich Drepper  <drepper@redhat.com>
+
+       * resolv/resolv.h (RES_SNGLKUP): Define.
+       * resolv/res_init.c (res_setoptions): Recognize single-request option.
+       * resolv/res_send.c (send_dg): If we sent two requests at once and
+       only get one reply before timeout switch to mode where we send the
+       second request only after the first answer has been received.
+
+2009-04-05  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/x86_64/strlen.S: Optimize by using SSE2 instructions.
+       * sysdeps/x86_64/strchr.S: Likewise.
+
+2009-04-03  Ulrich Drepper  <drepper@redhat.com>
+
+       * configure.in: We need to test for the compiler earlier.
+
+       * misc/Makefile (routines): Add preadv, preadv64, pwritev, pwritev64.
+       * misc/Versions: Export preadv, preadv64, pwritev, pwritev64 for
+       GLIBC_2.10.
+       * misc/sys/uio.h: Declare preadv, preadv64, pwritev, pwritev64.
+       * sysdeps/unix/sysv/linux/kernel-features.h: Add entries for preadv
+       and pwritev.
+       * misc/preadv.c: New file.
+       * misc/preadv64.c: New file.
+       * misc/pwritev.c: New file.
+       * misc/pwritev64.c: New file.
+       * sysdeps/posx/preadv.c: New file.
+       * sysdeps/posx/preadv64.c: New file.
+       * sysdeps/posx/pwritev.c: New file.
+       * sysdeps/posx/pwritev64.c: New file.
+       * sysdeps/unix/sysv/linux/preadv.c: New file.
+       * sysdeps/unix/sysv/linux/preadv64.c: New file.
+       * sysdeps/unix/sysv/linux/pwritev.c: New file.
+       * sysdeps/unix/sysv/linux/pwritev64.c: New file.
+       * sysdeps/unix/sysv/linux/wordsize-64/preadv64.c: New file.
+       * sysdeps/unix/sysv/linux/wordsize-64/pwritev64.c: New file.
+
+       * sysdeps/unix/sysv/linux/readv.c (__libc_readv): Fix calling of
+       compatibility code.
+       * sysdeps/unix/sysv/linux/writev.c (__libc_writev): Likewise.
+
+       * sysdeps/unix/sysv/linux/kernel-features.h: Define
+       __ASSUME_COMPLETE_READV_WRITEV.
+       * sysdeps/unix/sysv/linux/readv.c: No need for userlevel fallback
+       with modern kernels.
+       * sysdeps/unix/sysv/linux/writev.c: Likewise.
+
+       * sysdeps/posix/readv.c: Since read is a cancellation point we have
+       to free a possible malloced buffer in case of cancellation.
+       * sysdeps/posix/writev.c: Likewise for write.
+
+2009-04-02  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/bits/socket.h: Add missing protocol numbers.
+
+       * configure.in: Recognize --enable-nss-crypt.
+       * config.make.in: Add nss-crypt entry.
+       * crypt/Makefile: If nss-crypt==yes, don't build md5.c, sha256.c,
+       sha512.c.  Don't run md5test, sha256test, sha512test.  Pass -DUSE_NSS
+       and include path for NSS directory to compiler for md5-crypt,
+       sha256-crypt, sha512-crypt.  Link libcrypt.so with -lfreebl3.
+       * crypt/md5-crypt.c: If USE_NSS is defined, don't use local hash
+       function implementation, use NSS.  Introduce wrappers around the
+       hash function calls.  Little code size optimization.
+       * crypt/sha256-crypt.c: Likewise.
+       * crypt/sha512-crypt.c: Likewise.
+       * scripts/check-local-headers.sh: Ignore nss3 directory.
+
+       * configure.in: Rename pic_default to libc_cv_pic_default.
+       * config.make.in: Likewise.
+
+2009-04-01  Roland McGrath  <roland@redhat.com>
+
+       * elf/elf.h (R_SPARC_GLOB_JMP): New macro.
+       (R_SPARC_GOTDATA_HIX22, R_SPARC_GOTDATA_LOX10): New macros.
+       (R_SPARC_GOTDATA_OP_HIX22, R_SPARC_GOTDATA_OP_LOX10): Likewise.
+       (R_SPARC_GOTDATA_OP, R_SPARC_H34): Likewise.
+       (R_SPARC_SIZE32, R_SPARC_SIZE64): Likewise.
+       (R_SPARC_GNU_VTINHERIT, R_SPARC_GNU_VTENTRY, R_SPARC_REV32): Likewise.
+       (R_SPARC_NUM): Update.
+       From Dave Miller <davem@davemloft.net>.
+
+2009-04-01  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/sys/eventfd.h (EFD_SEMAPHORE): Define.
+
 2009-03-31  Ulrich Drepper  <drepper@redhat.com>
 
        * elf/dl-open.c: Keep track of used name spaces and only iterate over
diff --git a/NEWS b/NEWS
index 686d5dfdc4086e62781e37c3d8dcaf5179315d79..1388caa804e268e6f3eb69761c9c9ff61f4ff77a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes.  2009-3-14
+GNU C Library NEWS -- history of user-visible changes.  2009-4-6
 Copyright (C) 1992-2008, 2009 Free Software Foundation, Inc.
 See the end for copying conditions.
 
@@ -7,10 +7,14 @@ using `glibc' in the "product" field.
 \f
 Version 2.10
 
+* New interfaces: preadv, preadv64, pwritev, pwritev64
+  Implemented by Ulrich Drepper.
+
 * New Linux interfaces: accept4, fallocate, fallocate64.
+  Implemented by Ulrich Drepper.
 
 * Correct declarations of string function when used in C++ code.  This
-  could lead to compile error for invalid C++ code.
+  could lead to compile errors for invalid C++ code.
 
 * XPG7/POSIX 2008 compilation environment.  Many GNU-specific functions are
   now in POSIX.
@@ -24,7 +28,17 @@ Version 2.10
 * Support for selecting between multiple function definitions at runtime
   using STT_GNU_IFUNC symbols.  Implemented by Ulrich Drepper.
 
-* New locale: nan_TW@latin
+* The libcrypt library can now use the hash function implementations in
+  NSS.  Implemented by Ulrich Drepper.
+
+* The malloc implementation can be compiled to be less memory efficient
+  but higher performing in multi-threaded programs.
+  Implemented by Ulrich Drepper.
+
+* New locales: nan_TW@latin, ks_IN
+
+* Faster strlen and strchr on x86-64.
+  Implemented by Ulrich Drepper.
 
 \f
 Version 2.9
index 6da6362f2415e672c8df64a501a7ae1118925031..73faa77b6f4134d4afb1c9684114d33f01a9a8c0 100644 (file)
@@ -81,10 +81,12 @@ sizeof-long-double = @sizeof_long_double@
 
 experimental-malloc = @experimental_malloc@
 
+nss-crypt = @libc_cv_nss_crypt@
+
 # Configuration options.
 build-static = @static@
 build-shared = @shared@
-build-pic-default= @pic_default@
+build-pic-default= @libc_cv_pic_default@
 build-profile = @profile@
 build-omitfp = @omitfp@
 build-bounded = @bounded@
index 69af8525bec3c5074fa872799a405c8d874a01f4..755589111e074e564b8238a44287840f6c9759cf 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,12 +1,12 @@
 #! /bin/sh
 # From configure.in CVSid.
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for GNU C Library (see version.h).
+# Generated by GNU Autoconf 2.63 for GNU C Library (see version.h).
 #
 # Report bugs to <glibc>.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
 ## --------------------- ##
@@ -18,7 +18,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
@@ -40,17 +40,45 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
 as_cr_digits='0123456789'
 as_cr_alnum=$as_cr_Letters$as_cr_digits
 
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
   else
-    PATH_SEPARATOR=:
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in
+      *"$as_nl"*)
+       expr "X$arg" : "X\\(.*\\)$as_nl";
+       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
   fi
-  rm -f conf$$.sh
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
 fi
 
 # Support unset when possible.
@@ -66,8 +94,6 @@ fi
 # there to prevent editors from complaining about space-tab.
 # (If _AS_PATH_WALK were called with IFS unset, it would disable word
 # splitting by setting IFS to empty value.)
-as_nl='
-'
 IFS=" ""       $as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
@@ -90,7 +116,7 @@ if test "x$as_myself" = x; then
   as_myself=$0
 fi
 if test ! -f "$as_myself"; then
-  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
   { (exit 1); exit 1; }
 fi
 
@@ -103,17 +129,10 @@ PS2='> '
 PS4='+ '
 
 # NLS nuisances.
-for as_var in \
-  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-  LC_TELEPHONE LC_TIME
-do
-  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-    eval $as_var=C; export $as_var
-  else
-    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-  fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
 
 # Required to use basename.
 if expr a : '\(a\)' >/dev/null 2>&1 &&
@@ -135,7 +154,7 @@ as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
         X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
+$as_echo X/"$0" |
     sed '/^.*\/\([^/][^/]*\)\/*$/{
            s//\1/
            q
@@ -161,7 +180,7 @@ else
   as_have_required=no
 fi
 
-  if test $as_have_required = yes &&    (eval ":
+  if test $as_have_required = yes &&    (eval ":
 (as_func_return () {
   (exit \$1)
 }
@@ -243,7 +262,7 @@ IFS=$as_save_IFS
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
@@ -264,7 +283,7 @@ _ASEOF
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
@@ -344,10 +363,10 @@ fi
 
       if test "x$CONFIG_SHELL" != x; then
   for as_var in BASH_ENV ENV
-        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-        done
-        export CONFIG_SHELL
-        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+       do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+       done
+       export CONFIG_SHELL
+       exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
 fi
 
 
@@ -416,9 +435,10 @@ fi
 
 test \$exitcode = 0") || {
   echo No shell found that supports shell functions.
-  echo Please tell autoconf@gnu.org about your system,
-  echo including any error possibly output before this
-  echo message
+  echo Please tell bug-autoconf@gnu.org about your system,
+  echo including any error possibly output before this message.
+  echo This can help us improve future autoconf versions.
+  echo Configuration will now proceed without shell functions.
 }
 
 
@@ -454,7 +474,7 @@ test \$exitcode = 0") || {
       s/-\n.*//
     ' >$as_me.lineno &&
   chmod +x "$as_me.lineno" ||
-    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
    { (exit 1); exit 1; }; }
 
   # Don't try to exec as it changes $[0], causing all sort of problems
@@ -482,7 +502,6 @@ case `echo -n x` in
 *)
   ECHO_N='-n';;
 esac
-
 if expr a : '\(a\)' >/dev/null 2>&1 &&
    test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
@@ -495,19 +514,22 @@ if test -d conf$$.dir; then
   rm -f conf$$.dir/conf$$.file
 else
   rm -f conf$$.dir
-  mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s='ln -s'
-  # ... but there are two gotchas:
-  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-  # In both cases, we have to default to `cp -p'.
-  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
     as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s=ln
+  fi
 else
   as_ln_s='cp -p'
 fi
@@ -532,10 +554,10 @@ else
   as_test_x='
     eval sh -c '\''
       if test -d "$1"; then
-        test -d "$1/.";
+       test -d "$1/.";
       else
        case $1 in
-        -*)set "./$1";;
+       -*)set "./$1";;
        esac;
        case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
        ???[sx]*):;;*)false;;esac;fi
@@ -580,6 +602,7 @@ PACKAGE_STRING='GNU C Library (see version.h)'
 PACKAGE_BUGREPORT='glibc'
 
 ac_unique_file="include/features.h"
+enable_option_checking=no
 # Factoring default headers for most tests.
 ac_includes_default="\
 #include <stdio.h>
@@ -616,167 +639,203 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
+ac_subst_vars='LTLIBOBJS
+LIBOBJS
+RELEASE
+VERSION
+mach_interface_list
+DEFINES
+nopic_initfini
+static_nss
+bounded
+omitfp
+profile
+libc_cv_pic_default
+shared
+static
+xcoff
+elf
+ldd_rewrite_script
+use_ldconfig
+libc_cv_cpp_asm_debuginfo
+libc_cv_forced_unwind
+libc_cv_rootsbindir
+libc_cv_sysconfdir
+libc_cv_localedir
+libc_cv_slibdir
+old_glibc_headers
+uname_version
+uname_release
+uname_sysname
+libc_cv_gcc_unwind_find_fde
+sizeof_long_double
+EGREP
+GREP
+have_selinux
+have_libcap
+have_libaudit
+LIBGD
+libc_cv_cc_submachine
+exceptions
+no_whole_archive
+libc_cv_have_initfini
+libc_cv_gnu89_inline
+libc_cv_ssp
+fno_unit_at_a_time
+libc_cv_hashstyle
+libc_cv_fpie
+libc_cv_z_execstack
+libc_cv_z_combreloc
+ASFLAGS_config
+libc_cv_as_needed
+libc_cv_libgcc_s_suffix
+libc_cv_Bgroup
+libc_cv_cc_with_libunwind
+VERSIONING
+BISON
+INSTALL_INFO
+PERL
+AWK
+libc_cv_have_ksh
+KSH
+libc_cv_have_bash2
+BASH_SHELL
+libc_cv_gcc_static_libgcc
+CXX_SYSINCLUDES
+SYSINCLUDES
+AUTOCONF
+SED
+MAKEINFO
+MSGFMT
+MAKE
+PWD_P
+LD
+AS
+MIG
+RANLIB
+OBJDUMP
+AR
+LN_S
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+sysdeps_add_ons
+sysnames
+submachine
+base_machine
+add_on_subdirs
+add_ons
+subdirs
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+libc_cv_nss_crypt
+experimental_malloc
+multi_arch
+all_warnings
+force_install
+bindnow
+oldest_abi
+enable_check_abi
+with_cvs
+with_fp
+ac_ct_CXX
+CXXFLAGS
+CXX
+CPP
+cross_compiling
+BUILD_CC
+OBJEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
 target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+with_gd
+with_gd_include
+with_gd_lib
 with_fp
+with_binutils
+with_elf
+with_selinux
+with_xcoff
 with_cvs
+with_headers
+enable_sanity_checks
 enable_check_abi
-oldest_abi
-bindnow
-force_install
-all_warnings
-multi_arch
-experimental_malloc
-build
-build_cpu
-build_vendor
-build_os
-host
-host_cpu
-host_vendor
-host_os
-subdirs
-add_ons
-add_on_subdirs
-base_machine
-submachine
-sysnames
-sysdeps_add_ons
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-LN_S
+enable_shared
+enable_profile
+enable_omitfp
+enable_bounded
+enable_versioning
+enable_oldest_abi
+enable_stackguard_randomization
+enable_add_ons
+with_tls
+with___thread
+enable_hidden_plt
+enable_bind_now
+enable_static_nss
+enable_force_install
+enable_kernel
+enable_all_warnings
+enable_multi_arch
+enable_experimental_malloc
+enable_nss_crypt
+with_cpu
+'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
 CC
 CFLAGS
 LDFLAGS
-CPPFLAGS
-ac_ct_CC
-OBJEXT
-BUILD_CC
-cross_compiling
-CPP
-CXX
-CXXFLAGS
-ac_ct_CXX
-AR
-OBJDUMP
-RANLIB
-MIG
-AS
-LD
-PWD_P
-MAKE
-MSGFMT
-MAKEINFO
-SED
-AUTOCONF
-SYSINCLUDES
-CXX_SYSINCLUDES
-libc_cv_gcc_static_libgcc
-BASH_SHELL
-libc_cv_have_bash2
-KSH
-libc_cv_have_ksh
-AWK
-PERL
-INSTALL_INFO
-BISON
-VERSIONING
-libc_cv_cc_with_libunwind
-libc_cv_Bgroup
-libc_cv_libgcc_s_suffix
-libc_cv_as_needed
-ASFLAGS_config
-libc_cv_z_combreloc
-libc_cv_z_execstack
-libc_cv_fpie
-libc_cv_hashstyle
-fno_unit_at_a_time
-libc_cv_ssp
-libc_cv_gnu89_inline
-libc_cv_have_initfini
-no_whole_archive
-exceptions
-libc_cv_cc_submachine
-LIBGD
-have_libaudit
-have_libcap
-have_selinux
-GREP
-EGREP
-sizeof_long_double
-libc_cv_gcc_unwind_find_fde
-uname_sysname
-uname_release
-uname_version
-old_glibc_headers
-libc_cv_slibdir
-libc_cv_localedir
-libc_cv_sysconfdir
-libc_cv_rootsbindir
-libc_cv_forced_unwind
-libc_cv_cpp_asm_debuginfo
-use_ldconfig
-ldd_rewrite_script
-elf
-xcoff
-static
-shared
-pic_default
-profile
-omitfp
-bounded
-static_nss
-nopic_initfini
-DEFINES
-mach_interface_list
-VERSION
-RELEASE
-LIBOBJS
-LTLIBOBJS'
-ac_subst_files=''
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
+LIBS
 CPPFLAGS
 CPP
 CXX
@@ -787,6 +846,8 @@ ac_subdirs_all=''
 # Initialize some variables set by options.
 ac_init_help=
 ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
 # The variables have the same names as the options, with
 # dashes changed to underlines.
 cache_file=/dev/null
@@ -885,13 +946,21 @@ do
     datarootdir=$ac_optarg ;;
 
   -disable-* | --disable-*)
-    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
-    eval enable_$ac_feature=no ;;
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=no ;;
 
   -docdir | --docdir | --docdi | --doc | --do)
     ac_prev=docdir ;;
@@ -904,13 +973,21 @@ do
     dvidir=$ac_optarg ;;
 
   -enable-* | --enable-*)
-    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
-    eval enable_$ac_feature=\$ac_optarg ;;
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=\$ac_optarg ;;
 
   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
   | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -1101,22 +1178,38 @@ do
     ac_init_version=: ;;
 
   -with-* | --with-*)
-    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid package name: $ac_package" >&2
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
-    eval with_$ac_package=\$ac_optarg ;;
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=\$ac_optarg ;;
 
   -without-* | --without-*)
-    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid package name: $ac_package" >&2
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
-    eval with_$ac_package=no ;;
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=no ;;
 
   --x)
     # Obsolete; use --with-x.
@@ -1136,7 +1229,7 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) { echo "$as_me: error: unrecognized option: $ac_option
+  -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
 Try \`$0 --help' for more information." >&2
    { (exit 1); exit 1; }; }
     ;;
@@ -1145,16 +1238,16 @@ Try \`$0 --help' for more information." >&2
     ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
     # Reject names that are not valid shell variable names.
     expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+      { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
    { (exit 1); exit 1; }; }
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
 
   *)
     # FIXME: should be removed in autoconf 3.0.
-    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
     : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
     ;;
 
@@ -1163,22 +1256,38 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  { echo "$as_me: error: missing argument to $ac_option" >&2
+  { $as_echo "$as_me: error: missing argument to $ac_option" >&2
    { (exit 1); exit 1; }; }
 fi
 
-# Be sure to have absolute directory names.
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
+   { (exit 1); exit 1; }; } ;;
+    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+  esac
+fi
+
+# Check all directory arguments for consistency.
 for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
                datadir sysconfdir sharedstatedir localstatedir includedir \
                oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
                libdir localedir mandir
 do
   eval ac_val=\$$ac_var
+  # Remove trailing slashes.
+  case $ac_val in
+    */ )
+      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+      eval $ac_var=\$ac_val;;
+  esac
+  # Be sure to have absolute directory names.
   case $ac_val in
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+  { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
    { (exit 1); exit 1; }; }
 done
 
@@ -1193,7 +1302,7 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
     If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
@@ -1209,10 +1318,10 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  { echo "$as_me: error: Working directory cannot be determined" >&2
+  { $as_echo "$as_me: error: working directory cannot be determined" >&2
    { (exit 1); exit 1; }; }
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  { echo "$as_me: error: pwd does not report name of working directory" >&2
+  { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
    { (exit 1); exit 1; }; }
 
 
@@ -1220,12 +1329,12 @@ test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
 if test -z "$srcdir"; then
   ac_srcdir_defaulted=yes
   # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$0" ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$0" : 'X\(//\)[^/]' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$0" |
+  ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$as_myself" : 'X\(//\)[^/]' \| \
+        X"$as_myself" : 'X\(//\)$' \| \
+        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -1252,12 +1361,12 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+  { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
    { (exit 1); exit 1; }; }
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+       cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
    { (exit 1); exit 1; }; }
        pwd)`
 # When building in place, set srcdir=.
@@ -1306,9 +1415,9 @@ Configuration:
 
 Installation directories:
   --prefix=PREFIX         install architecture-independent files in PREFIX
-                         [$ac_default_prefix]
+                          [$ac_default_prefix]
   --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                         [PREFIX]
+                          [PREFIX]
 
 By default, \`make install' will install all the files in
 \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
@@ -1318,25 +1427,25 @@ for instance \`--prefix=\$HOME'.
 For better control, use the options below.
 
 Fine tuning of the installation directories:
-  --bindir=DIR           user executables [EPREFIX/bin]
-  --sbindir=DIR          system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR       program executables [EPREFIX/libexec]
-  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
-  --libdir=DIR           object code libraries [EPREFIX/lib]
-  --includedir=DIR       C header files [PREFIX/include]
-  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
-  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR          info documentation [DATAROOTDIR/info]
-  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR           man documentation [DATAROOTDIR/man]
-  --docdir=DIR           documentation root [DATAROOTDIR/doc/c-library]
-  --htmldir=DIR          html documentation [DOCDIR]
-  --dvidir=DIR           dvi documentation [DOCDIR]
-  --pdfdir=DIR           pdf documentation [DOCDIR]
-  --psdir=DIR            ps documentation [DOCDIR]
+  --bindir=DIR            user executables [EPREFIX/bin]
+  --sbindir=DIR           system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR        program executables [EPREFIX/libexec]
+  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --libdir=DIR            object code libraries [EPREFIX/lib]
+  --includedir=DIR        C header files [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
+  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR           info documentation [DATAROOTDIR/info]
+  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR            man documentation [DATAROOTDIR/man]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/c-library]
+  --htmldir=DIR           html documentation [DOCDIR]
+  --dvidir=DIR            dvi documentation [DOCDIR]
+  --pdfdir=DIR            pdf documentation [DOCDIR]
+  --psdir=DIR             ps documentation [DOCDIR]
 _ACEOF
 
   cat <<\_ACEOF
@@ -1354,6 +1463,7 @@ if test -n "$ac_init_help"; then
   cat <<\_ACEOF
 
 Optional Features:
+  --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --disable-sanity-checks really do not use threads (should not be used except
@@ -1386,6 +1496,7 @@ Optional Features:
                           architectures
   --enable-experimental-malloc
                           enable experimental malloc features
+  --enable-nss-crypt      enable libcrypt to use nss
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -1428,15 +1539,17 @@ fi
 if test "$ac_init_help" = "recursive"; then
   # If there are subdirs, report their specific --help.
   for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" || continue
+    test -d "$ac_dir" ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+      continue
     ac_builddir=.
 
 case "$ac_dir" in
 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
 *)
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
   # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
   case $ac_top_builddir_sub in
   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -1472,7 +1585,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
       echo &&
       $SHELL "$ac_srcdir/configure" --help=recursive
     else
-      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
     fi || ac_status=$?
     cd "$ac_pwd" || { ac_status=$?; break; }
   done
@@ -1482,10 +1595,10 @@ test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 GNU C Library configure (see version.h)
-generated by GNU Autoconf 2.61
+generated by GNU Autoconf 2.63
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1496,7 +1609,7 @@ This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by GNU C Library $as_me (see version.h), which was
-generated by GNU Autoconf 2.61.  Invocation command line was
+generated by GNU Autoconf 2.63.  Invocation command line was
 
   $ $0 $@
 
@@ -1532,7 +1645,7 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  echo "PATH: $as_dir"
+  $as_echo "PATH: $as_dir"
 done
 IFS=$as_save_IFS
 
@@ -1567,7 +1680,7 @@ do
     | -silent | --silent | --silen | --sile | --sil)
       continue ;;
     *\'*)
-      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     case $ac_pass in
     1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
@@ -1619,11 +1732,12 @@ _ASBOX
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
       *) $as_unset $ac_var ;;
       esac ;;
     esac
@@ -1653,9 +1767,9 @@ _ASBOX
     do
       eval ac_val=\$$ac_var
       case $ac_val in
-      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
       esac
-      echo "$ac_var='\''$ac_val'\''"
+      $as_echo "$ac_var='\''$ac_val'\''"
     done | sort
     echo
 
@@ -1670,9 +1784,9 @@ _ASBOX
       do
        eval ac_val=\$$ac_var
        case $ac_val in
-       *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
        esac
-       echo "$ac_var='\''$ac_val'\''"
+       $as_echo "$ac_var='\''$ac_val'\''"
       done | sort
       echo
     fi
@@ -1688,8 +1802,8 @@ _ASBOX
       echo
     fi
     test "$ac_signal" != 0 &&
-      echo "$as_me: caught signal $ac_signal"
-    echo "$as_me: exit $exit_status"
+      $as_echo "$as_me: caught signal $ac_signal"
+    $as_echo "$as_me: exit $exit_status"
   } >&5
   rm -f core *.core core.conftest.* &&
     rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
@@ -1731,21 +1845,24 @@ _ACEOF
 
 
 # Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  set x "$CONFIG_SITE"
+  ac_site_file1=$CONFIG_SITE
 elif test "x$prefix" != xNONE; then
-  set x "$prefix/share/config.site" "$prefix/etc/config.site"
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
 else
-  set x "$ac_default_prefix/share/config.site" \
-       "$ac_default_prefix/etc/config.site"
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
 fi
-shift
-for ac_site_file
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
+  test "x$ac_site_file" = xNONE && continue
   if test -r "$ac_site_file"; then
-    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
+    { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
     . "$ac_site_file"
   fi
@@ -1755,16 +1872,16 @@ if test -r "$cache_file"; then
   # Some versions of bash will fail to source /dev/null (special
   # files actually), so we avoid doing that.
   if test -f "$cache_file"; then
-    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
+    { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
       [\\/]* | ?:[\\/]* ) . "$cache_file";;
       *)                      . "./$cache_file";;
     esac
   fi
 else
-  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
+  { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
   >$cache_file
 fi
 
@@ -1778,29 +1895,38 @@ for ac_var in $ac_precious_vars; do
   eval ac_new_val=\$ac_env_${ac_var}_value
   case $ac_old_set,$ac_new_set in
     set,)
-      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,set)
-      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,);;
     *)
       if test "x$ac_old_val" != "x$ac_new_val"; then
-       { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-       { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
-echo "$as_me:   former value:  $ac_old_val" >&2;}
-       { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
-echo "$as_me:   current value: $ac_new_val" >&2;}
-       ac_cache_corrupted=:
+       # differences in whitespace do not lead to failure.
+       ac_old_val_w=`echo x $ac_old_val`
+       ac_new_val_w=`echo x $ac_new_val`
+       if test "$ac_old_val_w" != "$ac_new_val_w"; then
+         { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+         ac_cache_corrupted=:
+       else
+         { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+         eval $ac_var=\$ac_old_val
+       fi
+       { $as_echo "$as_me:$LINENO:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+       { $as_echo "$as_me:$LINENO:   current value: \`$ac_new_val'" >&5
+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
       fi;;
   esac
   # Pass precious variables to config.status.
   if test "$ac_new_set" = set; then
     case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
     *) ac_arg=$ac_var=$ac_new_val ;;
     esac
     case " $ac_configure_args " in
@@ -1810,10 +1936,12 @@ echo "$as_me:   current value: $ac_new_val" >&2;}
   fi
 done
 if $ac_cache_corrupted; then
-  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+  { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
@@ -1868,8 +1996,8 @@ for ac_dir in scripts "$srcdir"/scripts; do
   fi
 done
 if test -z "$ac_aux_dir"; then
-  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in scripts \"$srcdir\"/scripts" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in scripts \"$srcdir\"/scripts" >&2;}
+  { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in scripts \"$srcdir\"/scripts" >&5
+$as_echo "$as_me: error: cannot find install-sh or install.sh in scripts \"$srcdir\"/scripts" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
@@ -1883,1114 +2011,761 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
 
 
-if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then
-  { { echo "$as_me:$LINENO: error: you must configure in a separate build directory" >&5
-echo "$as_me: error: you must configure in a separate build directory" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-# This will get text that should go into config.make.
-config_vars=
-
-# Check for a --with-gd argument and set libgd-LDFLAGS in config.make.
-
-# Check whether --with-gd was given.
-if test "${with_gd+set}" = set; then
-  withval=$with_gd; case "$with_gd" in
-yes|''|no) ;;
-*) libgd_include="-I$withval/include"
-   libgd_ldflags="-L$withval/lib" ;;
-esac
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
 fi
-
-
-# Check whether --with-gd-include was given.
-if test "${with_gd_include+set}" = set; then
-  withval=$with_gd_include; case "$with_gd_include" in
-''|no) ;;
-*) libgd_include="-I$withval" ;;
-esac
-
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
-# Check whether --with-gd-lib was given.
-if test "${with_gd_lib+set}" = set; then
-  withval=$with_gd_lib; case "$with_gd_lib" in
-''|no) ;;
-*) libgd_ldflags="-L$withval" ;;
-esac
-
 fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
-
-if test -n "$libgd_include"; then
-  config_vars="$config_vars
-CFLAGS-memusagestat.c = $libgd_include"
 fi
-if test -n "$libgd_ldflags"; then
-  config_vars="$config_vars
-libgd-LDFLAGS = $libgd_ldflags"
 fi
-
-
-# Check whether --with-fp was given.
-if test "${with_fp+set}" = set; then
-  withval=$with_fp; with_fp=$withval
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
 else
-  with_fp=yes
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-
-
-# Check whether --with-binutils was given.
-if test "${with_binutils+set}" = set; then
-  withval=$with_binutils; path_binutils=$withval
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
 else
-  path_binutils=''
+  CC="$ac_cv_prog_CC"
 fi
 
-
-# Check whether --with-elf was given.
-if test "${with_elf+set}" = set; then
-  withval=$with_elf; elf=$withval
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
-  elf=no
-fi
-
-
-# Check whether --with-selinux was given.
-if test "${with_selinux+set}" = set; then
-  withval=$with_selinux; with_selinux=$withval
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
 else
-  with_selinux=auto
-fi
-
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
-# Check whether --with-xcoff was given.
-if test "${with_xcoff+set}" = set; then
-  withval=$with_xcoff; xcoff=$withval
-else
-  xcoff=no
 fi
-
-
-# Check whether --with-cvs was given.
-if test "${with_cvs+set}" = set; then
-  withval=$with_cvs; with_cvs=$withval
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  with_cvs=yes
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-if test "$with_cvs" = yes; then
-  if test -d $srcdir/CVS && grep :pserver: $srcdir/CVS/Root > /dev/null
-  then
-    with_cvs=no
+
   fi
 fi
-
-
-
-# Check whether --with-headers was given.
-if test "${with_headers+set}" = set; then
-  withval=$with_headers; sysheaders=$withval
-else
-  sysheaders=''
-fi
-
-
-# Check whether --enable-sanity-checks was given.
-if test "${enable_sanity_checks+set}" = set; then
-  enableval=$enable_sanity_checks; enable_sanity=$enableval
-else
-  enable_sanity=yes
-fi
-
-
-
-# Check whether --enable-check-abi was given.
-if test "${enable_check_abi+set}" = set; then
-  enableval=$enable_check_abi; enable_check_abi=$enableval
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
-  enable_check_abi=no
-fi
-
-
-static=yes
-# Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then
-  enableval=$enable_shared; shared=$enableval
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
 else
-  shared=default
-fi
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
-# Check whether --enable-profile was given.
-if test "${enable_profile+set}" = set; then
-  enableval=$enable_profile; profile=$enableval
-else
-  profile=no
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
 fi
-
-# Check whether --enable-omitfp was given.
-if test "${enable_omitfp+set}" = set; then
-  enableval=$enable_omitfp; omitfp=$enableval
-else
-  omitfp=no
 fi
-
-# Check whether --enable-bounded was given.
-if test "${enable_bounded+set}" = set; then
-  enableval=$enable_bounded; bounded=$enableval
-else
-  bounded=no
 fi
-
-# Check whether --enable-versioning was given.
-if test "${enable_versioning+set}" = set; then
-  enableval=$enable_versioning; enable_versioning=$enableval
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  enable_versioning=yes
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
-# Check whether --enable-oldest-abi was given.
-if test "${enable_oldest_abi+set}" = set; then
-  enableval=$enable_oldest_abi; oldest_abi=$enableval
-else
-  oldest_abi=no
 fi
-
-if test "$oldest_abi" = yes || test "$oldest_abi" = no; then
-  oldest_abi=default
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
-  cat >>confdefs.h <<_ACEOF
-#define GLIBC_OLDEST_ABI "$oldest_abi"
-_ACEOF
-
-fi
-
-
-# Check whether --enable-stackguard-randomization was given.
-if test "${enable_stackguard_randomization+set}" = set; then
-  enableval=$enable_stackguard_randomization; enable_stackguard_randomize=$enableval
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
 else
-  enable_stackguard_randomize=no
-fi
-
-if test "$enable_stackguard_randomize" = yes; then
-  cat >>confdefs.h <<\_ACEOF
-#define ENABLE_STACKGUARD_RANDOMIZE 1
-_ACEOF
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
 fi
-
-# Check whether --enable-add-ons was given.
-if test "${enable_add_ons+set}" = set; then
-  enableval=$enable_add_ons;
-else
-  enable_add_ons=yes
 fi
-
-
-
-# Check whether --with-tls was given.
-if test "${with_tls+set}" = set; then
-  withval=$with_tls; usetls=$withval
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  usetls=yes
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
-
-# Check whether --with-__thread was given.
-if test "${with___thread+set}" = set; then
-  withval=$with___thread; use__thread=$withval
-else
-  use__thread=yes
+    test -n "$CC" && break
+  done
 fi
-
-
-# Check whether --enable-hidden-plt was given.
-if test "${enable_hidden_plt+set}" = set; then
-  enableval=$enable_hidden_plt; hidden=$enableval
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
-  hidden=yes
-fi
-
-if test "x$hidden" = xno; then
-  cat >>confdefs.h <<\_ACEOF
-#define NO_HIDDEN 1
-_ACEOF
-
-fi
-
-# Check whether --enable-bind-now was given.
-if test "${enable_bind_now+set}" = set; then
-  enableval=$enable_bind_now; bindnow=$enableval
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
 else
-  bindnow=no
-fi
-
-
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
-# Check whether --enable-static-nss was given.
-if test "${enable_static_nss+set}" = set; then
-  enableval=$enable_static_nss; static_nss=$enableval
-else
-  static_nss=no
 fi
-
-if test x"$static_nss" = xyes || test x"$shared" = xno; then
-  static_nss=yes
-  cat >>confdefs.h <<\_ACEOF
-#define DO_STATIC_NSS 1
-_ACEOF
-
 fi
-
-# Check whether --enable-force-install was given.
-if test "${enable_force_install+set}" = set; then
-  enableval=$enable_force_install; force_install=$enableval
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
 else
-  force_install=yes
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
+  test -n "$ac_ct_CC" && break
+done
 
-# Check whether --enable-kernel was given.
-if test "${enable_kernel+set}" = set; then
-  enableval=$enable_kernel; minimum_kernel=$enableval
-fi
-
-if test "$minimum_kernel" = yes || test "$minimum_kernel" = no; then
-  # Better nothing than this.
-  minimum_kernel=""
-else
-  if test "$minimum_kernel" = current; then
-    minimum_kernel=`uname -r 2>/dev/null` || minimum_kernel=
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
   fi
 fi
 
-# Check whether --enable-all-warnings was given.
-if test "${enable_all_warnings+set}" = set; then
-  enableval=$enable_all_warnings; all_warnings=$enableval
 fi
 
 
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }; }
 
-# Check whether --enable-multi-arch was given.
-if test "${enable_multi_arch+set}" = set; then
-  enableval=$enable_multi_arch; multi_arch=$enableval
-else
-  multi_arch=no
-fi
-
-if test x"$multi_arch" = xyes; then
-  cat >>confdefs.h <<\_ACEOF
-#define USE_MULTIARCH 1
+# Provide some information about the compiler.
+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+EXEEXT=
+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if test "${ac_cv_objext+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
 _ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-  multi_arch_d=/multiarch
-fi
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-# Check whether --enable-experimental-malloc was given.
-if test "${enable_experimental_malloc+set}" = set; then
-  enableval=$enable_experimental_malloc; experimental_malloc=$enableval
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }; }
 fi
 
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
 
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
-   { (exit 1); exit 1; }; }
-
-{ echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
-if test "${ac_cv_build+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_compiler_gnu=yes
 else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
-   { (exit 1); exit 1; }; }
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+       ac_compiler_gnu=no
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-echo "$as_me: error: invalid value of canonical build" >&2;}
-   { (exit 1); exit 1; }; };;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
-{ echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
-if test "${ac_cv_host+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
 else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
+  GCC=
 fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-echo "$as_me: error: invalid value of canonical host" >&2;}
-   { (exit 1); exit 1; }; };;
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
 esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+       CFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
+int
+main ()
+{
 
-# The way shlib-versions is used to generate soversions.mk uses a
-# fairly simplistic model for name recognition that can't distinguish
-# i486-pc-linux-gnu fully from i486-pc-gnu.  So we mutate a $host_os
-# of `gnu*' here to be `gnu-gnu*' just so that shlib-versions can
-# tell.  This doesn't get used much beyond that, so it's fairly safe.
-case "$host_os" in
-linux*)
-  ;;
-gnu*)
-  host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
-  ;;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
 esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-# We keep the original values in `$config_*' and never modify them, so we
-# can write them unchanged into config.make.  Everything else uses
-# $machine, $vendor, and $os, and changes them whenever convenient.
-config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
+       ac_c_werror_flag=$ac_save_c_werror_flag
+        CFLAGS="-g"
+        cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-# Don't allow vendor == "unknown"
-test "$config_vendor" = unknown && config_vendor=
-config_os="`echo $config_os | sed 's/^unknown-//'`"
+int
+main ()
+{
 
-# Some configurations imply other options.
-case "$host_os" in
-# i586-linuxaout is mangled into i586-pc-linux-gnuaout
-linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
-  ;;
-gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
-  # These systems (almost) always use the ELF format.
-  elf=yes
-  ;;
-aix*)
-  # These systems are always xcoff
-  xcoff=yes
-  elf=no
-  ;;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
 esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-# The configure fragment of an add-on port can modify these to supplement
-# or override the table in the case statement below.  No fragment should
-# ever change the config_* variables, however.
-machine=$config_machine
-vendor=$config_vendor
-os=$config_os
-base_os=''
 
-# config.guess on some IBM machines says `rs6000' instead of `powerpc'.
-# Unify this here.
-if test "$machine" = rs6000; then
-  machine="powerpc"
 fi
 
-# Braindead PowerPC box with absolutely no FPU.
-case "$machine-$host_os" in
-  powerpc*-*soft)
-    with_fp=no
-    ;;
-esac
-
-submachine=
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
 
-# Check whether --with-cpu was given.
-if test "${with_cpu+set}" = set; then
-  withval=$with_cpu;   case "$withval" in
-  yes|'') { { echo "$as_me:$LINENO: error: --with-cpu requires an argument" >&5
-echo "$as_me: error: --with-cpu requires an argument" >&2;}
-   { (exit 1); exit 1; }; } ;;
-  no) ;;
-  *) submachine="$withval" ;;
-  esac
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
 fi
+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
 
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
 
-# An add-on can set this when it wants to disable the sanity check below.
-libc_config_ok=no
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_c89=$ac_arg
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-subdirs="$subdirs "
 
+fi
 
-case "$enable_add_ons" in
-''|no) add_ons= ;;
-yes|'*')
- add_ons=`cd $srcdir && ls -d 2> /dev/null */configure */sysdeps |
-         sed 's@/[^/]*$@@' | sort | uniq`
-        add_ons_automatic=yes
-        ;;
-*) add_ons=`echo "$enable_add_ons" | sed 's/,/ /g'`
-       add_ons_automatic=no ;;
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
 esac
 
-configured_add_ons=
-add_ons_sfx=
-add_ons_pfx=
-if test x"$add_ons" != x; then
-  for f in $add_ons; do
-    # Some sanity checks
-    case "$f" in
-    crypt)
-      { { echo "$as_me:$LINENO: error:
-*** It seems that you're using an old \`crypt' add-on.  crypt is now
-*** part of glibc and using the old add-on will not work with this
-*** release.  Start again with fresh sources and without the old
-*** \`crypt' add-on." >&5
-echo "$as_me: error:
-*** It seems that you're using an old \`crypt' add-on.  crypt is now
-*** part of glibc and using the old add-on will not work with this
-*** release.  Start again with fresh sources and without the old
-*** \`crypt' add-on." >&2;}
-   { (exit 1); exit 1; }; }
-    ;;
-    localedata)
-      { { echo "$as_me:$LINENO: error:
-*** It seems that you're using an old \`localedata' add-on.  localedata
-*** is now part of glibc and using the old add-on will not work with
-*** this release.  Start again with fresh sources and without the old
-*** \`localedata' add-on." >&5
-echo "$as_me: error:
-*** It seems that you're using an old \`localedata' add-on.  localedata
-*** is now part of glibc and using the old add-on will not work with
-*** this release.  Start again with fresh sources and without the old
-*** \`localedata' add-on." >&2;}
-   { (exit 1); exit 1; }; }
-    ;;
-    esac
-  done
 
-  # Now source each add-on's configure fragment.
-  # The fragments can use $srcdir/$libc_add_on to find themselves,
-  # and test $add_ons_automatic to see if they were explicitly requested.
-  # A fragment can clear (or even change) $libc_add_on to affect
-  # whether it goes into the list to be actually used in the build.
-  use_add_ons=
-  for libc_add_on in $add_ons; do
-    # Test whether such a directory really exists.
-    # It can be absolute, or relative to $srcdir, or relative to the build dir.
-    case "$libc_add_on" in
-    /*)
-      libc_add_on_srcdir=$libc_add_on
-      ;;
-    *)
-      test -d "$srcdir/$libc_add_on" || {
-        if test -d "$libc_add_on"; then
-         libc_add_on="`pwd`/$libc_add_on"
-       else
-         { { echo "$as_me:$LINENO: error: add-on directory \"$libc_add_on\" does not exist" >&5
-echo "$as_me: error: add-on directory \"$libc_add_on\" does not exist" >&2;}
-   { (exit 1); exit 1; }; }
-       fi
-      }
-      libc_add_on_srcdir=$srcdir/$libc_add_on
-      ;;
-    esac
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-    libc_add_on_frag=$libc_add_on_srcdir/configure
-    libc_add_on_canonical=
-    if test -r "$libc_add_on_frag"; then
-      { echo "$as_me:$LINENO: running configure fragment for add-on $libc_add_on" >&5
-echo "$as_me: running configure fragment for add-on $libc_add_on" >&6;}
-      libc_add_on_canonical=unknown
-      libc_add_on_subdirs=
-      . "$libc_add_on_frag"
-      test -z "$libc_add_on" || {
-        configured_add_ons="$configured_add_ons $libc_add_on"
-       if test "x$libc_add_on_canonical" = xunknown; then
-         { { echo "$as_me:$LINENO: error: fragment must set \$libc_add_on_canonical" >&5
-echo "$as_me: error: fragment must set \$libc_add_on_canonical" >&2;}
-   { (exit 1); exit 1; }; }
-       fi
-       for d in $libc_add_on_subdirs; do
-         case "$libc_add_on" in
-         /*) subdir_srcdir="$libc_add_on" ;;
-         *) subdir_srcdir="\$(..)$libc_add_on" ;;
-         esac
-         case "$d" in
-         .)
-           d="${libc_add_on_canonical:-$libc_add_on}"
-           ;;
-         /*)
-           subdir_srcdir="$d"
-           ;;
-         *)
-           subdir_srcdir="$subdir_srcdir/$d"
-           ;;
-         esac
-         d=`echo "$d" | sed 's@/*$@@;s@^.*/@@'`
-         add_on_subdirs="$add_on_subdirs $d"
-         test "$subdir_srcdir" = "\$(..)$d" || config_vars="$config_vars
-$d-srcdir = $subdir_srcdir"
-       done
-      }
-    fi
-    if test -n "$libc_add_on"; then
-      if frags=`ls -d $libc_add_on_srcdir/sysdeps/*/preconfigure 2> /dev/null`
-      then
-       { echo "$as_me:$LINENO: checking add-on $libc_add_on for preconfigure fragments" >&5
-echo $ECHO_N "checking add-on $libc_add_on for preconfigure fragments... $ECHO_C" >&6; }
-       for frag in $frags; do
-         name=`echo "$frag" | sed 's@/[^/]*$@@;s@^.*/@@'`
-         echo $ECHO_N "$name $ECHO_C" >&6
-         . "$frag"
-       done
-       { echo "$as_me:$LINENO: result: " >&5
-echo "${ECHO_T}" >&6; }
-      fi
-      use_add_ons="$use_add_ons $libc_add_on"
-      add_ons_pfx="$add_ons_pfx $libc_add_on/"
-      test -z "$libc_add_on_canonical" ||
-      add_ons_sfx="$add_ons_sfx /$libc_add_on_canonical"
-    fi
-  done
-  # Use echo to strip excess whitespace.
-  add_ons="`echo $use_add_ons`"
-fi
-
-
-
-
-###
-### I put this here to prevent those annoying emails from people who cannot
-### read and try to compile glibc on unsupported platforms.  --drepper
-###
-### By using the undocumented --enable-hacker-mode option for configure
-### one can skip this test to make the configuration not fail for unsupported
-### platforms.
-###
-if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then
-  case "$machine-$host_os" in
-  *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
-    ;;
-  *)
-    echo "*** The GNU C library is currently not available for this platform."
-    echo "*** So far nobody cared to port it and if there is no volunteer it"
-    echo "*** might never happen.  So, if you have interest to see glibc on"
-    echo "*** this platform visit"
-    echo "***  http://www.gnu.org/software/libc/porting.html"
-    echo "*** and join the group of porters"
-    exit 1
-    ;;
-  esac
-fi
-
-# Expand the configuration machine name into a subdirectory by architecture
-# type and particular chip.  If an add-on configure fragment already set
-# base_machine, we don't change it.
-test -n "$base_machine" || case "$machine" in
-a29k | am29000)        base_machine=a29k machine=a29k ;;
-c3[012])       base_machine=cx0 machine=cx0/c30 ;;
-c4[04])                base_machine=cx0 machine=cx0/c40 ;;
-i[34567]86)    base_machine=i386 machine=i386/$machine ;;
-ia64)          base_machine=ia64 machine=ia64 ;;
-m88???)                base_machine=m88k machine=m88k/$machine ;;
-m88k)          base_machine=m88k machine=m88k/m88100 ;;
-powerpc)       base_machine=powerpc machine=powerpc/powerpc32 ;;
-powerpc64)     base_machine=powerpc machine=powerpc/powerpc64 ;;
-s390)           base_machine=s390 machine=s390/s390-32 ;;
-s390x)          base_machine=s390 machine=s390/s390-64 ;;
-sh3*)          base_machine=sh machine=sh/sh3 ;;
-sh4*)          base_machine=sh machine=sh/sh4 ;;
-sparc | sparcv[67])
-               base_machine=sparc machine=sparc/sparc32 ;;
-sparcv8 | supersparc | hypersparc)
-               base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
-sparcv8plus | sparcv8plusa | sparcv9)
-               base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
-sparcv8plusb | sparcv9b)
-               base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9b ;;
-sparcv9v)
-               base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v ;;
-sparcv9v2)
-               base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v2 ;;
-sparc64)
-               base_machine=sparc machine=sparc/sparc64 ;;
-sparc64b)
-               base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
-sparc64v)
-               base_machine=sparc machine=sparc/sparc64/sparcv9v ;;
-sparc64v2)
-               base_machine=sparc machine=sparc/sparc64/sparcv9v2 ;;
-*)             base_machine=$machine ;;
-esac
-
-
-if test "$base_machine" = "i386"; then
-  cat >>confdefs.h <<\_ACEOF
-#define USE_REGPARMS 1
-_ACEOF
-
-fi
-
-# Compute the list of sysdep directories for this configuration.
-# This can take a while to compute.
-sysdep_dir=$srcdir/sysdeps
-{ echo "$as_me:$LINENO: checking sysdep dirs" >&5
-echo $ECHO_N "checking sysdep dirs... $ECHO_C" >&6; }
-# Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
-os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
-
-test "x$base_os" != x || case "$os" in
-gnu*)
-  base_os=mach/hurd ;;
-netbsd* | 386bsd* | freebsd* | bsdi*)
-  base_os=unix/bsd/bsd4.4 ;;
-osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
-  base_os=unix/bsd ;;
-sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
-  base_os=unix/sysv ;;
-irix6*)
-  base_os=unix/sysv/irix6/$os ;;
-solaris[2-9]*)
-  base_os=unix/sysv/sysv4 ;;
-hpux*)
-  base_os=unix/sysv/hpux/$os ;;
-aix4.3*)
-  base_os=unix/sysv/aix/aix4.3 ;;
-none)
-  base_os=standalone ;;
-esac
-
-# For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
-tail=$os
-ostry=$os
-while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
-  ostry="$ostry /$o"
-  tail=$o
-done
-o=`echo $tail | sed 's/[0-9]*$//'`
-if test $o != $tail; then
-  ostry="$ostry /$o"
-fi
-# For linux-gnu, try linux-gnu, then linux.
-o=`echo $tail | sed 's/-.*$//'`
-if test $o != $tail; then
-  ostry="$ostry /$o"
-fi
-
-# For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
-base=
-tail=$base_os
-while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
-  set $b
-  base="$base /$1"
-  tail="$2"
-done
-
-# For sparc/sparc32, try sparc/sparc32 and then sparc.
-mach=
-tail=$machine${submachine:+/$submachine}
-while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
-  set $m
-  # Prepend the machine's FPU directory unless --without-fp.
-  if test "$with_fp" = yes; then
-    mach="$mach /$1/fpu"
-  else
-    mach="$mach /$1/nofpu"
-  fi
-  mach="$mach /$1"
-  tail="$2"
-done
-
-
-# Find what sysdep directories exist.
-sysnames_add_ons=
-sysnames=
-for b in $base ''; do
-  for m0 in $mach ''; do
-    for v in /$vendor ''; do
-      test "$v" = / && continue
-      for o in /$ostry ''; do
-       test "$o" = / && continue
-       for m in $multi_arch_d $mach ''; do
-         for d in $add_ons_pfx ''; do
-           for a in $add_ons_sfx ''; do
-             if test -n "$m0$m0sub$b$v$o$m$msub"; then
-               try_srcdir="${srcdir}/"
-               case "$d" in
-               /*) try_srcdir= ;;
-               esac
-               try="${d}sysdeps$m0$m0sub$b$v$o$m$msub$a"
-               test -n "$enable_debug_configure" &&
-               echo "$0 DEBUG: try $try" >&2
-               if test -d "$try_srcdir$try"; then
-                 sysnames="$sysnames $try"
-                 { test -n "$o" || test -n "$b"; } && os_used=t
-                 { test -n "$m" || test -n "$m0"; } && machine_used=t
-                 case x${m0:-$m} in
-                 x*/$submachine) submachine_used=t ;;
-                 esac
-                 if test -n "$d"; then
-                   case "$sysnames_add_ons" in
-                   *" $d "*) ;;
-                   *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
-                   esac
-                 fi
-               fi
-             fi
-           done
-         done
-       done
-      done
-    done
-  done
-done
-
-if test -z "$os_used" && test "$os" != none; then
-  { { echo "$as_me:$LINENO: error: Operating system $os is not supported." >&5
-echo "$as_me: error: Operating system $os is not supported." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "$machine_used" && test "$machine" != none; then
-  { { echo "$as_me:$LINENO: error: The $machine is not supported." >&5
-echo "$as_me: error: The $machine is not supported." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "$submachine_used" && test -n "$submachine"; then
-  { { echo "$as_me:$LINENO: error: The $submachine subspecies of $host_cpu is not supported." >&5
-echo "$as_me: error: The $submachine subspecies of $host_cpu is not supported." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-
-# We have now validated the configuration.
-
-
-# If using ELF, look for an `elf' subdirectory of each machine directory.
-# We prepend these rather than inserting them whereever the machine appears
-# because things specified by the machine's ELF ABI should override
-# OS-specific things, and should always be the same for any OS on the
-# machine (otherwise what's the point of an ABI?).
-if test "$elf" = yes; then
-  elf_dirs=
-  for d in $add_ons_pfx ''; do
-    for m in $mach; do
-      if test -d $srcdir/${d}sysdeps$m/elf; then
-       elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
-      fi
-    done
-  done
-  sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
-fi
-
-
-# Expand the list of system names into a full list of directories
-# from each element's parent name and Implies file (if present).
-set $sysnames
-names=
-while test $# -gt 0; do
-  name=$1
-  shift
-
-  case " $names " in *" $name "*)
-    # Already in the list.
-    continue
-  esac
-
-  # Report each name as we discover it, so there is no long pause in output.
-  echo $ECHO_N "$name $ECHO_C" >&6
-
-  name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
-
-  case $name in
-    /*) xsrcdir= ;;
-    *)  xsrcdir=$srcdir/ ;;
-  esac
-  test -n "$enable_debug_configure" &&
-  echo "DEBUG: name/Implies $xsrcdir$name/Implies" >&2
-
-  if test -f $xsrcdir$name/Implies; then
-    # Collect more names from the `Implies' file (removing comments).
-    implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
-    implied=
-    for x in $implied_candidate; do
-      found=no
-      if test -d $xsrcdir$name_base/$x; then
-       implied="$implied $name_base/$x";
-       found=yes
-      fi
-      for d in $add_ons_pfx ''; do
-       try="${d}sysdeps/$x"
-       case $d in
-        /*) try_srcdir= ;;
-        *) try_srcdir=$srcdir/ ;;
-       esac
-       test -n "$enable_debug_configure" &&
-        echo "DEBUG: $name implied $x try($d) {$try_srcdir}$try" >&2
-       if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
-       then
-         implied="$implied $try"
-         found=yes
-         case "$sysnames_add_ons" in
-         *" $d "*) ;;
-         *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
-         esac
-       fi
-      done
-      if test $found = no; then
-        { echo "$as_me:$LINENO: WARNING: $name/Implies specifies nonexistent $x" >&5
-echo "$as_me: WARNING: $name/Implies specifies nonexistent $x" >&2;}
-      fi
-    done
-  else
-    implied=
-  fi
-
-  # Add NAME to the list of names.
-  names="$names $name"
-
-  # Find the parent of NAME, using the empty string if it has none.
-  parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
-
-  # Add the names implied by NAME, and NAME's parent (if it has one), to
-  # the list of names to be processed (the argument list).  We prepend the
-  # implied names to the list and append the parent.  We want implied
-  # directories to come before further directories inferred from the
-  # configuration components; this ensures that for sysv4, unix/common
-  # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
-  # after sysv4).
-  sysnames="`echo $implied $* $parent`"
-  test -n "$sysnames" && set $sysnames
-done
-
-# Add the default directories.
-default_sysnames=sysdeps/generic
-if test "$elf" = yes; then
-  default_sysnames="sysdeps/generic/elf $default_sysnames"
-fi
-sysnames="$names $default_sysnames"
-
-# The other names were emitted during the scan.
-{ echo "$as_me:$LINENO: result: $default_sysnames" >&5
-echo "${ECHO_T}$default_sysnames" >&6; }
-
-# Collect the list of add-ons that supply partial sysdeps trees.
-sysdeps_add_ons=
-for add_on in $add_ons; do
-  case "$add_on" in
-  /*) xsrcdir= ;;
-  *) xsrcdir="$srcdir/" ;;
-  esac
-
-  test -d "$xsrcdir$add_on/sysdeps" || {
-    case "$configured_add_ons " in
-    *" $add_on "*) ;;
-    *|'')
-      { { echo "$as_me:$LINENO: error: add-on $add_on has no configure fragment or sysdeps tree" >&5
-echo "$as_me: error: add-on $add_on has no configure fragment or sysdeps tree" >&2;}
-   { (exit 1); exit 1; }; }
-      ;;
-    esac
-    continue
-  }
-
-  sysdeps_add_ons="$sysdeps_add_ons $add_on"
-  case "$sysnames_add_ons" in
-  *" $add_on/ "*) ;;
-  *|'')
-    { echo "$as_me:$LINENO: WARNING: add-on $add_on contributed no sysdeps directories" >&5
-echo "$as_me: WARNING: add-on $add_on contributed no sysdeps directories" >&2;}
-    continue ;;
-  esac
-
-  found=no
-  for d in $sysnames; do
-    case "$d" in
-    $add_on/sysdeps/*) ;;
-    *) continue ;;
-    esac
-    (cd "$xsrcdir$d" && for f in *[!~]; do
-       case "$f" in
-       sys|bits)
-        for ff in $f/*.h; do
-          test -d "$ff" || { test -e "$ff" && exit 88; }
-        done
-        ;;
-       *)
-         test -d "$f" || { test -e "$f" && exit 88; }
-        ;;
-       esac
-     done)
-    if test $? -eq 88; then
-      found=yes
-      break
-    fi
-  done
-  if test $found = no; then
-    { echo "$as_me:$LINENO: WARNING: add-on $add_on contributed no useful sysdeps directories" >&5
-echo "$as_me: WARNING: add-on $add_on contributed no useful sysdeps directories" >&2;}
-  fi
-done
-
-
-
-### Locate tools.
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
+if test $host != $build; then
+  for ac_prog in gcc cc
 do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
-  ./ | .// | /cC/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-           break 3
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-done
-IFS=$as_save_IFS
-
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
-  # The makefiles need to use a different form to find it in $srcdir.
-  INSTALL='\$(..)./scripts/install-sh -c'
-fi
-{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6; }
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_BUILD_CC+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
+  if test -n "$BUILD_CC"; then
+  ac_cv_prog_BUILD_CC="$BUILD_CC" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -2999,8 +2774,8 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_BUILD_CC="$ac_prog"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3009,184 +2784,279 @@ IFS=$as_save_IFS
 
 fi
 fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+BUILD_CC=$ac_cv_prog_BUILD_CC
+if test -n "$BUILD_CC"; then
+  { $as_echo "$as_me:$LINENO: result: $BUILD_CC" >&5
+$as_echo "$BUILD_CC" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
+  test -n "$BUILD_CC" && break
 done
-IFS=$as_save_IFS
 
 fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
 fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  :
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
 fi
 
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
 esac
-    CC=$ac_ct_CC
-  fi
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  # Broken: success on invalid input.
+continue
 else
-  CC="$ac_cv_prog_CC"
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
 fi
 
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
+rm -f conftest.err conftest.$ac_ext
+
 done
-IFS=$as_save_IFS
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
 
 fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
 fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  :
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
 fi
 
+rm -f conftest.err conftest.$ac_ext
 
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  # Broken: success on invalid input.
+continue
 else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
+  # Passes both tests.
+ac_preproc_ok=:
+break
 fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }; }
 fi
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
+# We need the C++ compiler only for testing.
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+  if test -n "$CCC"; then
+    CXX=$CCC
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -3195,8 +3065,8 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3205,32 +3075,32 @@ IFS=$as_save_IFS
 
 fi
 fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+  { $as_echo "$as_me:$LINENO: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
-    test -n "$CC" && break
+    test -n "$CXX" && break
   done
 fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
+if test -z "$CXX"; then
+  ac_ct_CXX=$CXX
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+  if test -n "$ac_ct_CXX"; then
+  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -3239,8 +3109,8 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    ac_cv_prog_ac_ct_CXX="$ac_prog"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -3249,140 +3119,76 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+  { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
-  test -n "$ac_ct_CC" && break
+  test -n "$ac_ct_CXX" && break
 done
 
-  if test "x$ac_ct_CC" = x; then
-    CC=""
+  if test "x$ac_ct_CXX" = x; then
+    CXX="g++"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
-    CC=$ac_ct_CC
+    CXX=$ac_ct_CXX
   fi
 fi
 
+  fi
 fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-
 # Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
+$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
 { (ac_try="$ac_compiler --version >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compiler --version >&5") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
 { (ac_try="$ac_compiler -v >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compiler -v >&5") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
 { (ac_try="$ac_compiler -V >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compiler -V >&5") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
 
-EXEEXT=
-{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
-if test "${ac_cv_objext+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -3408,43 +3214,48 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
+        test -z "$ac_cxx_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   ac_compiler_gnu=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_compiler_gnu=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
 
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GXX=yes
+else
+  GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
+  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+   ac_cxx_werror_flag=yes
+   ac_cv_prog_cxx_g=no
+   CXXFLAGS="-g"
    cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -3466,23 +3277,24 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
+        test -z "$ac_cxx_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_g=yes
+  ac_cv_prog_cxx_g=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       CFLAGS=""
+       CXXFLAGS=""
       cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -3504,24 +3316,25 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
+        test -z "$ac_cxx_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   :
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
+       ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+        CXXFLAGS="-g"
         cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -3543,811 +3356,1282 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
+        test -z "$ac_cxx_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_g=yes
+  ac_cv_prog_cxx_g=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
+else
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then
+  { { $as_echo "$as_me:$LINENO: error: you must configure in a separate build directory" >&5
+$as_echo "$as_me: error: you must configure in a separate build directory" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+# This will get text that should go into config.make.
+config_vars=
+
+# Check for a --with-gd argument and set libgd-LDFLAGS in config.make.
+
+# Check whether --with-gd was given.
+if test "${with_gd+set}" = set; then
+  withval=$with_gd; case "$with_gd" in
+yes|''|no) ;;
+*) libgd_include="-I$withval/include"
+   libgd_ldflags="-L$withval/lib" ;;
+esac
+
+fi
+
+
+# Check whether --with-gd-include was given.
+if test "${with_gd_include+set}" = set; then
+  withval=$with_gd_include; case "$with_gd_include" in
+''|no) ;;
+*) libgd_include="-I$withval" ;;
+esac
+
+fi
+
+
+# Check whether --with-gd-lib was given.
+if test "${with_gd_lib+set}" = set; then
+  withval=$with_gd_lib; case "$with_gd_lib" in
+''|no) ;;
+*) libgd_ldflags="-L$withval" ;;
+esac
+
+fi
+
+
+if test -n "$libgd_include"; then
+  config_vars="$config_vars
+CFLAGS-memusagestat.c = $libgd_include"
+fi
+if test -n "$libgd_ldflags"; then
+  config_vars="$config_vars
+libgd-LDFLAGS = $libgd_ldflags"
+fi
+
+
+# Check whether --with-fp was given.
+if test "${with_fp+set}" = set; then
+  withval=$with_fp; with_fp=$withval
+else
+  with_fp=yes
+fi
+
+
+
+# Check whether --with-binutils was given.
+if test "${with_binutils+set}" = set; then
+  withval=$with_binutils; path_binutils=$withval
+else
+  path_binutils=''
+fi
+
+
+# Check whether --with-elf was given.
+if test "${with_elf+set}" = set; then
+  withval=$with_elf; elf=$withval
+else
+  elf=no
+fi
+
+
+# Check whether --with-selinux was given.
+if test "${with_selinux+set}" = set; then
+  withval=$with_selinux; with_selinux=$withval
+else
+  with_selinux=auto
+fi
+
+
+# Check whether --with-xcoff was given.
+if test "${with_xcoff+set}" = set; then
+  withval=$with_xcoff; xcoff=$withval
+else
+  xcoff=no
+fi
+
+
+# Check whether --with-cvs was given.
+if test "${with_cvs+set}" = set; then
+  withval=$with_cvs; with_cvs=$withval
+else
+  with_cvs=yes
+fi
+
+if test "$with_cvs" = yes; then
+  if test -d $srcdir/CVS && grep :pserver: $srcdir/CVS/Root > /dev/null
+  then
+    with_cvs=no
+  fi
+fi
+
+
+
+# Check whether --with-headers was given.
+if test "${with_headers+set}" = set; then
+  withval=$with_headers; sysheaders=$withval
+else
+  sysheaders=''
+fi
+
+
+# Check whether --enable-sanity-checks was given.
+if test "${enable_sanity_checks+set}" = set; then
+  enableval=$enable_sanity_checks; enable_sanity=$enableval
+else
+  enable_sanity=yes
+fi
+
+
+
+# Check whether --enable-check-abi was given.
+if test "${enable_check_abi+set}" = set; then
+  enableval=$enable_check_abi; enable_check_abi=$enableval
+else
+  enable_check_abi=no
+fi
+
+
+static=yes
+# Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then
+  enableval=$enable_shared; shared=$enableval
+else
+  shared=default
+fi
+
+# Check whether --enable-profile was given.
+if test "${enable_profile+set}" = set; then
+  enableval=$enable_profile; profile=$enableval
+else
+  profile=no
+fi
+
+# Check whether --enable-omitfp was given.
+if test "${enable_omitfp+set}" = set; then
+  enableval=$enable_omitfp; omitfp=$enableval
+else
+  omitfp=no
+fi
+
+# Check whether --enable-bounded was given.
+if test "${enable_bounded+set}" = set; then
+  enableval=$enable_bounded; bounded=$enableval
+else
+  bounded=no
+fi
+
+# Check whether --enable-versioning was given.
+if test "${enable_versioning+set}" = set; then
+  enableval=$enable_versioning; enable_versioning=$enableval
+else
+  enable_versioning=yes
+fi
+
+
+# Check whether --enable-oldest-abi was given.
+if test "${enable_oldest_abi+set}" = set; then
+  enableval=$enable_oldest_abi; oldest_abi=$enableval
+else
+  oldest_abi=no
+fi
+
+if test "$oldest_abi" = yes || test "$oldest_abi" = no; then
+  oldest_abi=default
+else
+  cat >>confdefs.h <<_ACEOF
+#define GLIBC_OLDEST_ABI "$oldest_abi"
+_ACEOF
+
+fi
+
+
+# Check whether --enable-stackguard-randomization was given.
+if test "${enable_stackguard_randomization+set}" = set; then
+  enableval=$enable_stackguard_randomization; enable_stackguard_randomize=$enableval
+else
+  enable_stackguard_randomize=no
+fi
+
+if test "$enable_stackguard_randomize" = yes; then
+  cat >>confdefs.h <<\_ACEOF
+#define ENABLE_STACKGUARD_RANDOMIZE 1
+_ACEOF
+
+fi
+
+# Check whether --enable-add-ons was given.
+if test "${enable_add_ons+set}" = set; then
+  enableval=$enable_add_ons;
+else
+  enable_add_ons=yes
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
+
+# Check whether --with-tls was given.
+if test "${with_tls+set}" = set; then
+  withval=$with_tls; usetls=$withval
 else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
+  usetls=yes
 fi
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
 
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
 
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
 
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_c89=$ac_arg
+# Check whether --with-__thread was given.
+if test "${with___thread+set}" = set; then
+  withval=$with___thread; use__thread=$withval
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  use__thread=yes
+fi
 
 
+# Check whether --enable-hidden-plt was given.
+if test "${enable_hidden_plt+set}" = set; then
+  enableval=$enable_hidden_plt; hidden=$enableval
+else
+  hidden=yes
 fi
 
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
+if test "x$hidden" = xno; then
+  cat >>confdefs.h <<\_ACEOF
+#define NO_HIDDEN 1
+_ACEOF
 
 fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
-  xno)
-    { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
-esac
 
+# Check whether --enable-bind-now was given.
+if test "${enable_bind_now+set}" = set; then
+  enableval=$enable_bind_now; bindnow=$enableval
+else
+  bindnow=no
+fi
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-if test $host != $build; then
-  for ac_prog in gcc cc
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_BUILD_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$BUILD_CC"; then
-  ac_cv_prog_BUILD_CC="$BUILD_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_BUILD_CC="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
+# Check whether --enable-static-nss was given.
+if test "${enable_static_nss+set}" = set; then
+  enableval=$enable_static_nss; static_nss=$enableval
+else
+  static_nss=no
 fi
+
+if test x"$static_nss" = xyes || test x"$shared" = xno; then
+  static_nss=yes
+  cat >>confdefs.h <<\_ACEOF
+#define DO_STATIC_NSS 1
+_ACEOF
+
 fi
-BUILD_CC=$ac_cv_prog_BUILD_CC
-if test -n "$BUILD_CC"; then
-  { echo "$as_me:$LINENO: result: $BUILD_CC" >&5
-echo "${ECHO_T}$BUILD_CC" >&6; }
+
+# Check whether --enable-force-install was given.
+if test "${enable_force_install+set}" = set; then
+  enableval=$enable_force_install; force_install=$enableval
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  force_install=yes
 fi
 
 
-  test -n "$BUILD_CC" && break
-done
 
+# Check whether --enable-kernel was given.
+if test "${enable_kernel+set}" = set; then
+  enableval=$enable_kernel; minimum_kernel=$enableval
 fi
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
+if test "$minimum_kernel" = yes || test "$minimum_kernel" = no; then
+  # Better nothing than this.
+  minimum_kernel=""
+else
+  if test "$minimum_kernel" = current; then
+    minimum_kernel=`uname -r 2>/dev/null` || minimum_kernel=
+  fi
 fi
-if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+
+# Check whether --enable-all-warnings was given.
+if test "${enable_all_warnings+set}" = set; then
+  enableval=$enable_all_warnings; all_warnings=$enableval
+fi
+
+
+
+# Check whether --enable-multi-arch was given.
+if test "${enable_multi_arch+set}" = set; then
+  enableval=$enable_multi_arch; multi_arch=$enableval
 else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
+  multi_arch=no
+fi
+
+if test x"$multi_arch" = xyes; then
+  cat >>confdefs.h <<\_ACEOF
+#define USE_MULTIARCH 1
 _ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
+
+  multi_arch_d=/multiarch
+fi
+
+
+# Check whether --enable-experimental-malloc was given.
+if test "${enable_experimental_malloc+set}" = set; then
+  enableval=$enable_experimental_malloc; experimental_malloc=$enableval
+fi
+
+
+
+# Check whether --enable-nss-crypt was given.
+if test "${enable_nss_crypt+set}" = set; then
+  enableval=$enable_nss_crypt; nss_crypt=$enableval
+else
+  nss_crypt=no
+fi
+
+if test x$nss_crypt = xyes; then
+  nss_includes=-I$(nss-config --includedir 2>/dev/null)
+  if test $? -ne 0; then
+    { { $as_echo "$as_me:$LINENO: error: cannot find include directory with nss-config" >&5
+$as_echo "$as_me: error: cannot find include directory with nss-config" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+  old_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS $nss_includes"
+
+cat >conftest.$ac_ext <<_ACEOF
+typedef int PRBool;
+#include <hasht.h>
+#include <nsslowhash.h>
+void f (void) { NSSLOW_Init (); }
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
-       }; then
-  :
+       } && test -s conftest.$ac_objext; then
+  libc_cv_nss_crypt=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Broken: fails on valid input.
-continue
+       { { $as_echo "$as_me:$LINENO: error:
+cannot find NSS headers with lowlevel hash function interfaces" >&5
+$as_echo "$as_me: error:
+cannot find NSS headers with lowlevel hash function interfaces" >&2;}
+   { (exit 1); exit 1; }; }
 fi
 
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  old_LIBS="$LIBS"
+  LIBS="$LIBS -lfreebl3"
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <ac_nonexistent.h>
+typedef int PRBool;
+#include <hasht.h>
+#include <nsslowhash.h>
+int
+main ()
+{
+NSSLOW_Init();
+  ;
+  return 0;
+}
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
        }; then
-  # Broken: success on invalid input.
-continue
+  libc_cv_nss_crypt=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Passes both tests.
-ac_preproc_ok=:
-break
+       { { $as_echo "$as_me:$LINENO: error:
+cannot link program using lowlevel NSS hash functions" >&5
+$as_echo "$as_me: error:
+cannot link program using lowlevel NSS hash functions" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+  CFLAGS="$old_CFLAGS"
+  LIBS="$old_LIBS"
+else
+  libc_cv_nss_crypt=no
+fi
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+   { (exit 1); exit 1; }; }
+
+{ $as_echo "$as_me:$LINENO: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+   { (exit 1); exit 1; }; }
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+$as_echo "$as_me: error: invalid value of canonical build" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:$LINENO: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+$as_echo "$as_me: error: invalid value of canonical host" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
+# The way shlib-versions is used to generate soversions.mk uses a
+# fairly simplistic model for name recognition that can't distinguish
+# i486-pc-linux-gnu fully from i486-pc-gnu.  So we mutate a $host_os
+# of `gnu*' here to be `gnu-gnu*' just so that shlib-versions can
+# tell.  This doesn't get used much beyond that, so it's fairly safe.
+case "$host_os" in
+linux*)
+  ;;
+gnu*)
+  host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'`
+  ;;
+esac
+
+# We keep the original values in `$config_*' and never modify them, so we
+# can write them unchanged into config.make.  Everything else uses
+# $machine, $vendor, and $os, and changes them whenever convenient.
+config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
+
+# Don't allow vendor == "unknown"
+test "$config_vendor" = unknown && config_vendor=
+config_os="`echo $config_os | sed 's/^unknown-//'`"
+
+# Some configurations imply other options.
+case "$host_os" in
+# i586-linuxaout is mangled into i586-pc-linux-gnuaout
+linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
+  ;;
+gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
+  # These systems (almost) always use the ELF format.
+  elf=yes
+  ;;
+aix*)
+  # These systems are always xcoff
+  xcoff=yes
+  elf=no
+  ;;
+esac
+
+# The configure fragment of an add-on port can modify these to supplement
+# or override the table in the case statement below.  No fragment should
+# ever change the config_* variables, however.
+machine=$config_machine
+vendor=$config_vendor
+os=$config_os
+base_os=''
+
+# config.guess on some IBM machines says `rs6000' instead of `powerpc'.
+# Unify this here.
+if test "$machine" = rs6000; then
+  machine="powerpc"
+fi
+
+# Braindead PowerPC box with absolutely no FPU.
+case "$machine-$host_os" in
+  powerpc*-*soft)
+    with_fp=no
+    ;;
+esac
+
+submachine=
+
+# Check whether --with-cpu was given.
+if test "${with_cpu+set}" = set; then
+  withval=$with_cpu;   case "$withval" in
+  yes|'') { { $as_echo "$as_me:$LINENO: error: --with-cpu requires an argument" >&5
+$as_echo "$as_me: error: --with-cpu requires an argument" >&2;}
+   { (exit 1); exit 1; }; } ;;
+  no) ;;
+  *) submachine="$withval" ;;
+  esac
+
+fi
+
+
+# An add-on can set this when it wants to disable the sanity check below.
+libc_config_ok=no
+
+
+
+subdirs="$subdirs "
+
+
+case "$enable_add_ons" in
+''|no) add_ons= ;;
+yes|'*')
+ add_ons=`cd $srcdir && ls -d 2> /dev/null */configure */sysdeps |
+         sed 's@/[^/]*$@@' | sort | uniq`
+        add_ons_automatic=yes
+        ;;
+*) add_ons=`echo "$enable_add_ons" | sed 's/,/ /g'`
+       add_ons_automatic=no ;;
+esac
+
+configured_add_ons=
+add_ons_sfx=
+add_ons_pfx=
+if test x"$add_ons" != x; then
+  for f in $add_ons; do
+    # Some sanity checks
+    case "$f" in
+    crypt)
+      { { $as_echo "$as_me:$LINENO: error:
+*** It seems that you're using an old \`crypt' add-on.  crypt is now
+*** part of glibc and using the old add-on will not work with this
+*** release.  Start again with fresh sources and without the old
+*** \`crypt' add-on." >&5
+$as_echo "$as_me: error:
+*** It seems that you're using an old \`crypt' add-on.  crypt is now
+*** part of glibc and using the old add-on will not work with this
+*** release.  Start again with fresh sources and without the old
+*** \`crypt' add-on." >&2;}
+   { (exit 1); exit 1; }; }
+    ;;
+    localedata)
+      { { $as_echo "$as_me:$LINENO: error:
+*** It seems that you're using an old \`localedata' add-on.  localedata
+*** is now part of glibc and using the old add-on will not work with
+*** this release.  Start again with fresh sources and without the old
+*** \`localedata' add-on." >&5
+$as_echo "$as_me: error:
+*** It seems that you're using an old \`localedata' add-on.  localedata
+*** is now part of glibc and using the old add-on will not work with
+*** this release.  Start again with fresh sources and without the old
+*** \`localedata' add-on." >&2;}
+   { (exit 1); exit 1; }; }
+    ;;
+    esac
+  done
+
+  # Now source each add-on's configure fragment.
+  # The fragments can use $srcdir/$libc_add_on to find themselves,
+  # and test $add_ons_automatic to see if they were explicitly requested.
+  # A fragment can clear (or even change) $libc_add_on to affect
+  # whether it goes into the list to be actually used in the build.
+  use_add_ons=
+  for libc_add_on in $add_ons; do
+    # Test whether such a directory really exists.
+    # It can be absolute, or relative to $srcdir, or relative to the build dir.
+    case "$libc_add_on" in
+    /*)
+      libc_add_on_srcdir=$libc_add_on
+      ;;
+    *)
+      test -d "$srcdir/$libc_add_on" || {
+        if test -d "$libc_add_on"; then
+         libc_add_on="`pwd`/$libc_add_on"
+       else
+         { { $as_echo "$as_me:$LINENO: error: add-on directory \"$libc_add_on\" does not exist" >&5
+$as_echo "$as_me: error: add-on directory \"$libc_add_on\" does not exist" >&2;}
+   { (exit 1); exit 1; }; }
+       fi
+      }
+      libc_add_on_srcdir=$srcdir/$libc_add_on
+      ;;
+    esac
+
+    libc_add_on_frag=$libc_add_on_srcdir/configure
+    libc_add_on_canonical=
+    if test -r "$libc_add_on_frag"; then
+      { $as_echo "$as_me:$LINENO: running configure fragment for add-on $libc_add_on" >&5
+$as_echo "$as_me: running configure fragment for add-on $libc_add_on" >&6;}
+      libc_add_on_canonical=unknown
+      libc_add_on_subdirs=
+      . "$libc_add_on_frag"
+      test -z "$libc_add_on" || {
+        configured_add_ons="$configured_add_ons $libc_add_on"
+       if test "x$libc_add_on_canonical" = xunknown; then
+         { { $as_echo "$as_me:$LINENO: error: fragment must set \$libc_add_on_canonical" >&5
+$as_echo "$as_me: error: fragment must set \$libc_add_on_canonical" >&2;}
+   { (exit 1); exit 1; }; }
+       fi
+       for d in $libc_add_on_subdirs; do
+         case "$libc_add_on" in
+         /*) subdir_srcdir="$libc_add_on" ;;
+         *) subdir_srcdir="\$(..)$libc_add_on" ;;
+         esac
+         case "$d" in
+         .)
+           d="${libc_add_on_canonical:-$libc_add_on}"
+           ;;
+         /*)
+           subdir_srcdir="$d"
+           ;;
+         *)
+           subdir_srcdir="$subdir_srcdir/$d"
+           ;;
+         esac
+         d=`echo "$d" | sed 's@/*$@@;s@^.*/@@'`
+         add_on_subdirs="$add_on_subdirs $d"
+         test "$subdir_srcdir" = "\$(..)$d" || config_vars="$config_vars
+$d-srcdir = $subdir_srcdir"
+       done
+      }
+    fi
+    if test -n "$libc_add_on"; then
+      if frags=`ls -d $libc_add_on_srcdir/sysdeps/*/preconfigure 2> /dev/null`
+      then
+       { $as_echo "$as_me:$LINENO: checking add-on $libc_add_on for preconfigure fragments" >&5
+$as_echo_n "checking add-on $libc_add_on for preconfigure fragments... " >&6; }
+       for frag in $frags; do
+         name=`echo "$frag" | sed 's@/[^/]*$@@;s@^.*/@@'`
+         echo $ECHO_N "$name $ECHO_C" >&6
+         . "$frag"
+       done
+       { $as_echo "$as_me:$LINENO: result: " >&5
+$as_echo "" >&6; }
+      fi
+      use_add_ons="$use_add_ons $libc_add_on"
+      add_ons_pfx="$add_ons_pfx $libc_add_on/"
+      test -z "$libc_add_on_canonical" ||
+      add_ons_sfx="$add_ons_sfx /$libc_add_on_canonical"
+    fi
+  done
+  # Use echo to strip excess whitespace.
+  add_ons="`echo $use_add_ons`"
 fi
 
-rm -f conftest.err conftest.$ac_ext
 
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  break
-fi
 
-    done
-    ac_cv_prog_CPP=$CPP
 
+###
+### I put this here to prevent those annoying emails from people who cannot
+### read and try to compile glibc on unsupported platforms.  --drepper
+###
+### By using the undocumented --enable-hacker-mode option for configure
+### one can skip this test to make the configuration not fail for unsupported
+### platforms.
+###
+if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then
+  case "$machine-$host_os" in
+  *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
+    ;;
+  *)
+    echo "*** The GNU C library is currently not available for this platform."
+    echo "*** So far nobody cared to port it and if there is no volunteer it"
+    echo "*** might never happen.  So, if you have interest to see glibc on"
+    echo "*** this platform visit"
+    echo "***  http://www.gnu.org/software/libc/porting.html"
+    echo "*** and join the group of porters"
+    exit 1
+    ;;
+  esac
 fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Broken: fails on valid input.
-continue
-fi
+# Expand the configuration machine name into a subdirectory by architecture
+# type and particular chip.  If an add-on configure fragment already set
+# base_machine, we don't change it.
+test -n "$base_machine" || case "$machine" in
+a29k | am29000)        base_machine=a29k machine=a29k ;;
+c3[012])       base_machine=cx0 machine=cx0/c30 ;;
+c4[04])                base_machine=cx0 machine=cx0/c40 ;;
+i[34567]86)    base_machine=i386 machine=i386/$machine ;;
+ia64)          base_machine=ia64 machine=ia64 ;;
+m88???)                base_machine=m88k machine=m88k/$machine ;;
+m88k)          base_machine=m88k machine=m88k/m88100 ;;
+powerpc)       base_machine=powerpc machine=powerpc/powerpc32 ;;
+powerpc64)     base_machine=powerpc machine=powerpc/powerpc64 ;;
+s390)           base_machine=s390 machine=s390/s390-32 ;;
+s390x)          base_machine=s390 machine=s390/s390-64 ;;
+sh3*)          base_machine=sh machine=sh/sh3 ;;
+sh4*)          base_machine=sh machine=sh/sh4 ;;
+sparc | sparcv[67])
+               base_machine=sparc machine=sparc/sparc32 ;;
+sparcv8 | supersparc | hypersparc)
+               base_machine=sparc machine=sparc/sparc32/sparcv8 ;;
+sparcv8plus | sparcv8plusa | sparcv9)
+               base_machine=sparc machine=sparc/sparc32/sparcv9 ;;
+sparcv8plusb | sparcv9b)
+               base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9b ;;
+sparcv9v)
+               base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v ;;
+sparcv9v2)
+               base_machine=sparc machine=sparc/sparc32/sparcv9/sparcv9v2 ;;
+sparc64)
+               base_machine=sparc machine=sparc/sparc64 ;;
+sparc64b)
+               base_machine=sparc machine=sparc/sparc64/sparcv9b ;;
+sparc64v)
+               base_machine=sparc machine=sparc/sparc64/sparcv9v ;;
+sparc64v2)
+               base_machine=sparc machine=sparc/sparc64/sparcv9v2 ;;
+*)             base_machine=$machine ;;
+esac
 
-rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
+if test "$base_machine" = "i386"; then
+  cat >>confdefs.h <<\_ACEOF
+#define USE_REGPARMS 1
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Passes both tests.
-ac_preproc_ok=:
-break
 fi
 
-rm -f conftest.err conftest.$ac_ext
+# Compute the list of sysdep directories for this configuration.
+# This can take a while to compute.
+sysdep_dir=$srcdir/sysdeps
+{ $as_echo "$as_me:$LINENO: checking sysdep dirs" >&5
+$as_echo_n "checking sysdep dirs... " >&6; }
+# Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
+os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
+
+test "x$base_os" != x || case "$os" in
+gnu*)
+  base_os=mach/hurd ;;
+netbsd* | 386bsd* | freebsd* | bsdi*)
+  base_os=unix/bsd/bsd4.4 ;;
+osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
+  base_os=unix/bsd ;;
+sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
+  base_os=unix/sysv ;;
+irix6*)
+  base_os=unix/sysv/irix6/$os ;;
+solaris[2-9]*)
+  base_os=unix/sysv/sysv4 ;;
+hpux*)
+  base_os=unix/sysv/hpux/$os ;;
+aix4.3*)
+  base_os=unix/sysv/aix/aix4.3 ;;
+none)
+  base_os=standalone ;;
+esac
 
+# For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
+tail=$os
+ostry=$os
+while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
+  ostry="$ostry /$o"
+  tail=$o
 done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
-else
-  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+o=`echo $tail | sed 's/[0-9]*$//'`
+if test $o != $tail; then
+  ostry="$ostry /$o"
+fi
+# For linux-gnu, try linux-gnu, then linux.
+o=`echo $tail | sed 's/-.*$//'`
+if test $o != $tail; then
+  ostry="$ostry /$o"
 fi
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+# For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
+base=
+tail=$base_os
+while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
+  set $b
+  base="$base /$1"
+  tail="$2"
+done
 
-# We need the C++ compiler only for testing.
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
-  if test -n "$CCC"; then
-    CXX=$CCC
+# For sparc/sparc32, try sparc/sparc32 and then sparc.
+mach=
+tail=$machine${submachine:+/$submachine}
+while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
+  set $m
+  # Prepend the machine's FPU directory unless --without-fp.
+  if test "$with_fp" = yes; then
+    mach="$mach /$1/fpu"
   else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
+    mach="$mach /$1/nofpu"
   fi
+  mach="$mach /$1"
+  tail="$2"
 done
+
+
+# Find what sysdep directories exist.
+sysnames_add_ons=
+sysnames=
+for b in $base ''; do
+  for m0 in $mach ''; do
+    for v in /$vendor ''; do
+      test "$v" = / && continue
+      for o in /$ostry ''; do
+       test "$o" = / && continue
+       for m in $multi_arch_d $mach ''; do
+         for d in $add_ons_pfx ''; do
+           for a in $add_ons_sfx ''; do
+             if test -n "$m0$m0sub$b$v$o$m$msub"; then
+               try_srcdir="${srcdir}/"
+               case "$d" in
+               /*) try_srcdir= ;;
+               esac
+               try="${d}sysdeps$m0$m0sub$b$v$o$m$msub$a"
+               test -n "$enable_debug_configure" &&
+               echo "$0 DEBUG: try $try" >&2
+               if test -d "$try_srcdir$try"; then
+                 sysnames="$sysnames $try"
+                 { test -n "$o" || test -n "$b"; } && os_used=t
+                 { test -n "$m" || test -n "$m0"; } && machine_used=t
+                 case x${m0:-$m} in
+                 x*/$submachine) submachine_used=t ;;
+                 esac
+                 if test -n "$d"; then
+                   case "$sysnames_add_ons" in
+                   *" $d "*) ;;
+                   *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
+                   esac
+                 fi
+               fi
+             fi
+           done
+         done
+       done
+      done
+    done
+  done
 done
-IFS=$as_save_IFS
 
+if test -z "$os_used" && test "$os" != none; then
+  { { $as_echo "$as_me:$LINENO: error: Operating system $os is not supported." >&5
+$as_echo "$as_me: error: Operating system $os is not supported." >&2;}
+   { (exit 1); exit 1; }; }
 fi
+if test -z "$machine_used" && test "$machine" != none; then
+  { { $as_echo "$as_me:$LINENO: error: The $machine is not supported." >&5
+$as_echo "$as_me: error: The $machine is not supported." >&2;}
+   { (exit 1); exit 1; }; }
 fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
-  { echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+if test -z "$submachine_used" && test -n "$submachine"; then
+  { { $as_echo "$as_me:$LINENO: error: The $submachine subspecies of $host_cpu is not supported." >&5
+$as_echo "$as_me: error: The $submachine subspecies of $host_cpu is not supported." >&2;}
+   { (exit 1); exit 1; }; }
 fi
 
 
-    test -n "$CXX" && break
+# We have now validated the configuration.
+
+
+# If using ELF, look for an `elf' subdirectory of each machine directory.
+# We prepend these rather than inserting them whereever the machine appears
+# because things specified by the machine's ELF ABI should override
+# OS-specific things, and should always be the same for any OS on the
+# machine (otherwise what's the point of an ABI?).
+if test "$elf" = yes; then
+  elf_dirs=
+  for d in $add_ons_pfx ''; do
+    for m in $mach; do
+      if test -d $srcdir/${d}sysdeps$m/elf; then
+       elf_dirs="$elf_dirs ${d}sysdeps$m/elf"
+      fi
+    done
   done
+  sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames"
 fi
-if test -z "$CXX"; then
-  ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_CXX"; then
-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CXX="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
 
+# Expand the list of system names into a full list of directories
+# from each element's parent name and Implies file (if present).
+set $sysnames
+names=
+while test $# -gt 0; do
+  name=$1
+  shift
 
-  test -n "$ac_ct_CXX" && break
-done
+  case " $names " in *" $name "*)
+    # Already in the list.
+    continue
+  esac
 
-  if test "x$ac_ct_CXX" = x; then
-    CXX="g++"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    CXX=$ac_ct_CXX
-  fi
-fi
+  # Report each name as we discover it, so there is no long pause in output.
+  echo $ECHO_N "$name $ECHO_C" >&6
 
-  fi
-fi
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
+  name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'`
+
+  case $name in
+    /*) xsrcdir= ;;
+    *)  xsrcdir=$srcdir/ ;;
+  esac
+  test -n "$enable_debug_configure" &&
+  echo "DEBUG: name/Implies $xsrcdir$name/Implies" >&2
+
+  if test -f $xsrcdir$name/Implies; then
+    # Collect more names from the `Implies' file (removing comments).
+    implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`"
+    implied=
+    for x in $implied_candidate; do
+      found=no
+      if test -d $xsrcdir$name_base/$x; then
+       implied="$implied $name_base/$x";
+       found=yes
+      fi
+      for d in $add_ons_pfx ''; do
+       try="${d}sysdeps/$x"
+       case $d in
+        /*) try_srcdir= ;;
+        *) try_srcdir=$srcdir/ ;;
+       esac
+       test -n "$enable_debug_configure" &&
+        echo "DEBUG: $name implied $x try($d) {$try_srcdir}$try" >&2
+       if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try;
+       then
+         implied="$implied $try"
+         found=yes
+         case "$sysnames_add_ons" in
+         *" $d "*) ;;
+         *|'') sysnames_add_ons="$sysnames_add_ons $d" ;;
+         esac
+       fi
+      done
+      if test $found = no; then
+        { $as_echo "$as_me:$LINENO: WARNING: $name/Implies specifies nonexistent $x" >&5
+$as_echo "$as_me: WARNING: $name/Implies specifies nonexistent $x" >&2;}
+      fi
+    done
+  else
+    implied=
+  fi
 
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  # Add NAME to the list of names.
+  names="$names $name"
 
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
+  # Find the parent of NAME, using the empty string if it has none.
+  parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  # Add the names implied by NAME, and NAME's parent (if it has one), to
+  # the list of names to be processed (the argument list).  We prepend the
+  # implied names to the list and append the parent.  We want implied
+  # directories to come before further directories inferred from the
+  # configuration components; this ensures that for sysv4, unix/common
+  # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
+  # after sysv4).
+  sysnames="`echo $implied $* $parent`"
+  test -n "$sysnames" && set $sysnames
+done
 
-       ac_compiler_gnu=no
+# Add the default directories.
+default_sysnames=sysdeps/generic
+if test "$elf" = yes; then
+  default_sysnames="sysdeps/generic/elf $default_sysnames"
 fi
+sysnames="$names $default_sysnames"
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
-GXX=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
-   ac_cxx_werror_flag=yes
-   ac_cv_prog_cxx_g=no
-   CXXFLAGS="-g"
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+# The other names were emitted during the scan.
+{ $as_echo "$as_me:$LINENO: result: $default_sysnames" >&5
+$as_echo "$default_sysnames" >&6; }
 
-int
-main ()
-{
+# Collect the list of add-ons that supply partial sysdeps trees.
+sysdeps_add_ons=
+for add_on in $add_ons; do
+  case "$add_on" in
+  /*) xsrcdir= ;;
+  *) xsrcdir="$srcdir/" ;;
+  esac
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cxx_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  test -d "$xsrcdir$add_on/sysdeps" || {
+    case "$configured_add_ons " in
+    *" $add_on "*) ;;
+    *|'')
+      { { $as_echo "$as_me:$LINENO: error: add-on $add_on has no configure fragment or sysdeps tree" >&5
+$as_echo "$as_me: error: add-on $add_on has no configure fragment or sysdeps tree" >&2;}
+   { (exit 1); exit 1; }; }
+      ;;
+    esac
+    continue
+  }
 
-       CXXFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  sysdeps_add_ons="$sysdeps_add_ons $add_on"
+  case "$sysnames_add_ons" in
+  *" $add_on/ "*) ;;
+  *|'')
+    { $as_echo "$as_me:$LINENO: WARNING: add-on $add_on contributed no sysdeps directories" >&5
+$as_echo "$as_me: WARNING: add-on $add_on contributed no sysdeps directories" >&2;}
+    continue ;;
+  esac
 
-int
-main ()
-{
+  found=no
+  for d in $sysnames; do
+    case "$d" in
+    $add_on/sysdeps/*) ;;
+    *) continue ;;
+    esac
+    (cd "$xsrcdir$d" && for f in *[!~]; do
+       case "$f" in
+       sys|bits)
+        for ff in $f/*.h; do
+          test -d "$ff" || { test -e "$ff" && exit 88; }
+        done
+        ;;
+       *)
+         test -d "$f" || { test -e "$f" && exit 88; }
+        ;;
+       esac
+     done)
+    if test $? -eq 88; then
+      found=yes
+      break
+    fi
+  done
+  if test $found = no; then
+    { $as_echo "$as_me:$LINENO: WARNING: add-on $add_on contributed no useful sysdeps directories" >&5
+$as_echo "$as_me: WARNING: add-on $add_on contributed no useful sysdeps directories" >&2;}
+  fi
+done
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-       ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-        CXXFLAGS="-g"
-        cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-int
-main ()
-{
+### Locate tools.
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+  ./ | .// | /cC/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+         if test $ac_prog = install &&
+           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           # AIX install.  It has an incompatible calling convention.
+           :
+         elif test $ac_prog = install &&
+           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           # program-specific install script used by HP pwplus--don't use.
+           :
+         else
+           rm -rf conftest.one conftest.two conftest.dir
+           echo one > conftest.one
+           echo two > conftest.two
+           mkdir conftest.dir
+           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+             test -s conftest.one && test -s conftest.two &&
+             test -s conftest.dir/conftest.one &&
+             test -s conftest.dir/conftest.two
+           then
+             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+             break 3
+           fi
+         fi
+       fi
+      done
+    done
+    ;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cxx_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
+done
+IFS=$as_save_IFS
 
-fi
+rm -rf conftest.one conftest.two conftest.dir
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
 fi
+{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
+  # The makefiles need to use a different form to find it in $srcdir.
+  INSTALL='\$(..)./scripts/install-sh -c'
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
+{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
+  { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
 fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
 
 # Was a --with-binutils option given?
 if test -n "$path_binutils"; then
@@ -4370,10 +4654,10 @@ if test "x$ac_ranlib" = xranlib; then
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_RANLIB+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
@@ -4386,7 +4670,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4397,11 +4681,11 @@ fi
 fi
 RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
-  { echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -4410,10 +4694,10 @@ if test -z "$ac_cv_prog_RANLIB"; then
   ac_ct_RANLIB=$RANLIB
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
   ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
@@ -4426,7 +4710,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4437,11 +4721,11 @@ fi
 fi
 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
 if test -n "$ac_ct_RANLIB"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
   if test "x$ac_ct_RANLIB" = x; then
@@ -4449,12 +4733,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     RANLIB=$ac_ct_RANLIB
@@ -4469,10 +4749,10 @@ fi
 
 
 # Determine whether we are using GNU binutils.
-{ echo "$as_me:$LINENO: checking whether $AS is GNU as" >&5
-echo $ECHO_N "checking whether $AS is GNU as... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether $AS is GNU as" >&5
+$as_echo_n "checking whether $AS is GNU as... " >&6; }
 if test "${libc_cv_prog_as_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   # Most GNU programs take a -v and spit out some text including
 # the word 'GNU'.  Some try to read stdin, so give them /dev/null.
@@ -4483,15 +4763,15 @@ else
 fi
 rm -fr contest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_prog_as_gnu" >&5
-echo "${ECHO_T}$libc_cv_prog_as_gnu" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_prog_as_gnu" >&5
+$as_echo "$libc_cv_prog_as_gnu" >&6; }
 rm -f a.out
 gnu_as=$libc_cv_prog_as_gnu
 
-{ echo "$as_me:$LINENO: checking whether $LD is GNU ld" >&5
-echo $ECHO_N "checking whether $LD is GNU ld... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether $LD is GNU ld" >&5
+$as_echo_n "checking whether $LD is GNU ld... " >&6; }
 if test "${libc_cv_prog_ld_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   # Most GNU programs take a -v and spit out some text including
 # the word 'GNU'.  Some try to read stdin, so give them /dev/null.
@@ -4502,8 +4782,8 @@ else
 fi
 rm -fr contest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_prog_ld_gnu" >&5
-echo "${ECHO_T}$libc_cv_prog_ld_gnu" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_prog_ld_gnu" >&5
+$as_echo "$libc_cv_prog_ld_gnu" >&6; }
 gnu_ld=$libc_cv_prog_ld_gnu
 
 
@@ -4512,10 +4792,10 @@ for ac_prog in $AS
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_AS+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$AS"; then
   ac_cv_prog_AS="$AS" # Let the user override the test.
@@ -4528,7 +4808,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AS="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4539,11 +4819,11 @@ fi
 fi
 AS=$ac_cv_prog_AS
 if test -n "$AS"; then
-  { echo "$as_me:$LINENO: result: $AS" >&5
-echo "${ECHO_T}$AS" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $AS" >&5
+$as_echo "$AS" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -4554,8 +4834,8 @@ if test -z "$AS"; then
   ac_verc_fail=yes
 else
   # Found it, now check the version.
-  { echo "$as_me:$LINENO: checking version of $AS" >&5
-echo $ECHO_N "checking version of $AS... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking version of $AS" >&5
+$as_echo_n "checking version of $AS... " >&6; }
   ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
@@ -4564,8 +4844,8 @@ echo $ECHO_N "checking version of $AS... $ECHO_C" >&6; }
     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 
   esac
-  { echo "$as_me:$LINENO: result: $ac_prog_version" >&5
-echo "${ECHO_T}$ac_prog_version" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $ac_prog_version" >&5
+$as_echo "$ac_prog_version" >&6; }
 fi
 if test $ac_verc_fail = yes; then
   AS=: critic_missing="$critic_missing as"
@@ -4575,10 +4855,10 @@ for ac_prog in $LD
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_LD+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$LD"; then
   ac_cv_prog_LD="$LD" # Let the user override the test.
@@ -4591,7 +4871,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_LD="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4602,11 +4882,11 @@ fi
 fi
 LD=$ac_cv_prog_LD
 if test -n "$LD"; then
-  { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -4617,8 +4897,8 @@ if test -z "$LD"; then
   ac_verc_fail=yes
 else
   # Found it, now check the version.
-  { echo "$as_me:$LINENO: checking version of $LD" >&5
-echo $ECHO_N "checking version of $LD... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking version of $LD" >&5
+$as_echo_n "checking version of $LD... " >&6; }
   ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
@@ -4627,8 +4907,8 @@ echo $ECHO_N "checking version of $LD... $ECHO_C" >&6; }
     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 
   esac
-  { echo "$as_me:$LINENO: result: $ac_prog_version" >&5
-echo "${ECHO_T}$ac_prog_version" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $ac_prog_version" >&5
+$as_echo "$ac_prog_version" >&6; }
 fi
 if test $ac_verc_fail = yes; then
   LD=: critic_missing="$critic_missing ld"
@@ -4642,10 +4922,10 @@ fi
 # that.
 # Extract the first word of "pwd", so it can be a program name with args.
 set dummy pwd; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_PWD_P+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $PWD_P in
   [\\/]* | ?:[\\/]*)
@@ -4660,7 +4940,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_PWD_P="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4673,17 +4953,17 @@ esac
 fi
 PWD_P=$ac_cv_path_PWD_P
 if test -n "$PWD_P"; then
-  { echo "$as_me:$LINENO: result: $PWD_P" >&5
-echo "${ECHO_T}$PWD_P" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $PWD_P" >&5
+$as_echo "$PWD_P" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
 if test "$PWD_P" = no; then
-  { { echo "$as_me:$LINENO: error: *** A pwd binary could not be found." >&5
-echo "$as_me: error: *** A pwd binary could not be found." >&2;}
+  { { $as_echo "$as_me:$LINENO: error: *** A pwd binary could not be found." >&5
+$as_echo "$as_me: error: *** A pwd binary could not be found." >&2;}
    { (exit 1); exit 1; }; }
 fi
 
@@ -4693,10 +4973,10 @@ for ac_prog in ${ac_tool_prefix}gcc ${ac_tool_prefix}cc
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -4709,7 +4989,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4720,11 +5000,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -4735,8 +5015,8 @@ if test -z "$CC"; then
   ac_verc_fail=yes
 else
   # Found it, now check the version.
-  { echo "$as_me:$LINENO: checking version of $CC" >&5
-echo $ECHO_N "checking version of $CC... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking version of $CC" >&5
+$as_echo_n "checking version of $CC... " >&6; }
   ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
@@ -4745,8 +5025,8 @@ echo $ECHO_N "checking version of $CC... $ECHO_C" >&6; }
     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 
   esac
-  { echo "$as_me:$LINENO: result: $ac_prog_version" >&5
-echo "${ECHO_T}$ac_prog_version" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $ac_prog_version" >&5
+$as_echo "$ac_prog_version" >&6; }
 fi
 if test $ac_verc_fail = yes; then
   critic_missing="$critic_missing gcc"
@@ -4756,10 +5036,10 @@ for ac_prog in gnumake gmake make
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_MAKE+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKE"; then
   ac_cv_prog_MAKE="$MAKE" # Let the user override the test.
@@ -4772,7 +5052,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_MAKE="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4783,11 +5063,11 @@ fi
 fi
 MAKE=$ac_cv_prog_MAKE
 if test -n "$MAKE"; then
-  { echo "$as_me:$LINENO: result: $MAKE" >&5
-echo "${ECHO_T}$MAKE" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $MAKE" >&5
+$as_echo "$MAKE" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -4798,8 +5078,8 @@ if test -z "$MAKE"; then
   ac_verc_fail=yes
 else
   # Found it, now check the version.
-  { echo "$as_me:$LINENO: checking version of $MAKE" >&5
-echo $ECHO_N "checking version of $MAKE... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking version of $MAKE" >&5
+$as_echo_n "checking version of $MAKE... " >&6; }
   ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
@@ -4808,8 +5088,8 @@ echo $ECHO_N "checking version of $MAKE... $ECHO_C" >&6; }
     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 
   esac
-  { echo "$as_me:$LINENO: result: $ac_prog_version" >&5
-echo "${ECHO_T}$ac_prog_version" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $ac_prog_version" >&5
+$as_echo "$ac_prog_version" >&6; }
 fi
 if test $ac_verc_fail = yes; then
   critic_missing="$critic_missing make"
@@ -4820,10 +5100,10 @@ for ac_prog in gnumsgfmt gmsgfmt msgfmt
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_MSGFMT+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$MSGFMT"; then
   ac_cv_prog_MSGFMT="$MSGFMT" # Let the user override the test.
@@ -4836,7 +5116,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_MSGFMT="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4847,11 +5127,11 @@ fi
 fi
 MSGFMT=$ac_cv_prog_MSGFMT
 if test -n "$MSGFMT"; then
-  { echo "$as_me:$LINENO: result: $MSGFMT" >&5
-echo "${ECHO_T}$MSGFMT" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $MSGFMT" >&5
+$as_echo "$MSGFMT" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -4862,8 +5142,8 @@ if test -z "$MSGFMT"; then
   ac_verc_fail=yes
 else
   # Found it, now check the version.
-  { echo "$as_me:$LINENO: checking version of $MSGFMT" >&5
-echo $ECHO_N "checking version of $MSGFMT... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking version of $MSGFMT" >&5
+$as_echo_n "checking version of $MSGFMT... " >&6; }
   ac_prog_version=`$MSGFMT --version 2>&1 | sed -n 's/^.*GNU gettext.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
@@ -4872,8 +5152,8 @@ echo $ECHO_N "checking version of $MSGFMT... $ECHO_C" >&6; }
     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 
   esac
-  { echo "$as_me:$LINENO: result: $ac_prog_version" >&5
-echo "${ECHO_T}$ac_prog_version" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $ac_prog_version" >&5
+$as_echo "$ac_prog_version" >&6; }
 fi
 if test $ac_verc_fail = yes; then
   MSGFMT=: aux_missing="$aux_missing msgfmt"
@@ -4883,10 +5163,10 @@ for ac_prog in makeinfo
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_MAKEINFO+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$MAKEINFO"; then
   ac_cv_prog_MAKEINFO="$MAKEINFO" # Let the user override the test.
@@ -4899,7 +5179,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_MAKEINFO="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4910,11 +5190,11 @@ fi
 fi
 MAKEINFO=$ac_cv_prog_MAKEINFO
 if test -n "$MAKEINFO"; then
-  { echo "$as_me:$LINENO: result: $MAKEINFO" >&5
-echo "${ECHO_T}$MAKEINFO" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $MAKEINFO" >&5
+$as_echo "$MAKEINFO" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -4925,8 +5205,8 @@ if test -z "$MAKEINFO"; then
   ac_verc_fail=yes
 else
   # Found it, now check the version.
-  { echo "$as_me:$LINENO: checking version of $MAKEINFO" >&5
-echo $ECHO_N "checking version of $MAKEINFO... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking version of $MAKEINFO" >&5
+$as_echo_n "checking version of $MAKEINFO... " >&6; }
   ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
@@ -4935,8 +5215,8 @@ echo $ECHO_N "checking version of $MAKEINFO... $ECHO_C" >&6; }
     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 
   esac
-  { echo "$as_me:$LINENO: result: $ac_prog_version" >&5
-echo "${ECHO_T}$ac_prog_version" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $ac_prog_version" >&5
+$as_echo "$ac_prog_version" >&6; }
 fi
 if test $ac_verc_fail = yes; then
   MAKEINFO=: aux_missing="$aux_missing makeinfo"
@@ -4946,10 +5226,10 @@ for ac_prog in sed
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_SED+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$SED"; then
   ac_cv_prog_SED="$SED" # Let the user override the test.
@@ -4962,7 +5242,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_SED="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4973,11 +5253,11 @@ fi
 fi
 SED=$ac_cv_prog_SED
 if test -n "$SED"; then
-  { echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $SED" >&5
+$as_echo "$SED" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -4988,8 +5268,8 @@ if test -z "$SED"; then
   ac_verc_fail=yes
 else
   # Found it, now check the version.
-  { echo "$as_me:$LINENO: checking version of $SED" >&5
-echo $ECHO_N "checking version of $SED... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking version of $SED" >&5
+$as_echo_n "checking version of $SED... " >&6; }
   ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed version \([0-9]*\.[0-9.]*\).*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
@@ -4998,8 +5278,8 @@ echo $ECHO_N "checking version of $SED... $ECHO_C" >&6; }
     *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 
   esac
-  { echo "$as_me:$LINENO: result: $ac_prog_version" >&5
-echo "${ECHO_T}$ac_prog_version" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $ac_prog_version" >&5
+$as_echo "$ac_prog_version" >&6; }
 fi
 if test $ac_verc_fail = yes; then
   SED=: aux_missing="$aux_missing sed"
@@ -5010,10 +5290,10 @@ for ac_prog in autoconf
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_AUTOCONF+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$AUTOCONF"; then
   ac_cv_prog_AUTOCONF="$AUTOCONF" # Let the user override the test.
@@ -5026,7 +5306,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AUTOCONF="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5037,11 +5317,11 @@ fi
 fi
 AUTOCONF=$ac_cv_prog_AUTOCONF
 if test -n "$AUTOCONF"; then
-  { echo "$as_me:$LINENO: result: $AUTOCONF" >&5
-echo "${ECHO_T}$AUTOCONF" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $AUTOCONF" >&5
+$as_echo "$AUTOCONF" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -5052,10 +5332,10 @@ test -n "$AUTOCONF" || AUTOCONF="no"
 case "x$AUTOCONF" in
 xno|x|x:) AUTOCONF=no ;;
 *)
-  { echo "$as_me:$LINENO: checking whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works" >&5
-echo $ECHO_N "checking whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works" >&5
+$as_echo_n "checking whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works... " >&6; }
 if test "${libc_cv_autoconf_works+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then
     libc_cv_autoconf_works=yes
@@ -5063,8 +5343,8 @@ else
     libc_cv_autoconf_works=no
   fi
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_autoconf_works" >&5
-echo "${ECHO_T}$libc_cv_autoconf_works" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_autoconf_works" >&5
+$as_echo "$libc_cv_autoconf_works" >&6; }
   test $libc_cv_autoconf_works = yes || AUTOCONF=no
   ;;
 esac
@@ -5073,19 +5353,19 @@ if test "x$with_cvs" = xyes && test "x$AUTOCONF" = xno; then
   aux_missing="$aux_missing autoconf"
 fi
 
-test -n "$critic_missing" && { { echo "$as_me:$LINENO: error:
+test -n "$critic_missing" && { { $as_echo "$as_me:$LINENO: error:
 *** These critical programs are missing or too old:$critic_missing
 *** Check the INSTALL file for required versions." >&5
-echo "$as_me: error:
+$as_echo "$as_me: error:
 *** These critical programs are missing or too old:$critic_missing
 *** Check the INSTALL file for required versions." >&2;}
    { (exit 1); exit 1; }; }
 
-test -n "$aux_missing" && { echo "$as_me:$LINENO: WARNING:
+test -n "$aux_missing" && { $as_echo "$as_me:$LINENO: WARNING:
 *** These auxiliary programs are missing or incompatible versions:$aux_missing
 *** some features will be disabled.
 *** Check the INSTALL file for required versions." >&5
-echo "$as_me: WARNING:
+$as_echo "$as_me: WARNING:
 *** These auxiliary programs are missing or incompatible versions:$aux_missing
 *** some features will be disabled.
 *** Check the INSTALL file for required versions." >&2;}
@@ -5113,10 +5393,10 @@ fi
 
 
 # check if ranlib is necessary
-{ echo "$as_me:$LINENO: checking whether ranlib is necessary" >&5
-echo $ECHO_N "checking whether ranlib is necessary... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether ranlib is necessary" >&5
+$as_echo_n "checking whether ranlib is necessary... " >&6; }
 if test "${libc_cv_ranlib_necessary+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.c <<EOF
 int a;
@@ -5134,8 +5414,8 @@ else
 fi
 rm -rf conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_ranlib_necessary" >&5
-echo "${ECHO_T}$libc_cv_ranlib_necessary" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_ranlib_necessary" >&5
+$as_echo "$libc_cv_ranlib_necessary" >&6; }
 if test "$libc_cv_ranlib_necessary" = no; then
  RANLIB=:
 fi
@@ -5147,8 +5427,8 @@ fi
 # - one of the terminals (":" and ";") is the first or last sign
 # - two terminals occur directly after each other
 # - the path contains an element with a dot in it
-{ echo "$as_me:$LINENO: checking LD_LIBRARY_PATH variable" >&5
-echo $ECHO_N "checking LD_LIBRARY_PATH variable... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking LD_LIBRARY_PATH variable" >&5
+$as_echo_n "checking LD_LIBRARY_PATH variable... " >&6; }
 case ${LD_LIBRARY_PATH} in
   [:\;]* | *[:\;] | *[:\;][:\;]* |  *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
     ld_library_path_setting="contains current directory"
@@ -5157,24 +5437,24 @@ case ${LD_LIBRARY_PATH} in
     ld_library_path_setting="ok"
     ;;
 esac
-{ echo "$as_me:$LINENO: result: $ld_library_path_setting" >&5
-echo "${ECHO_T}$ld_library_path_setting" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ld_library_path_setting" >&5
+$as_echo "$ld_library_path_setting" >&6; }
 if test "$ld_library_path_setting" != "ok"; then
-{ { echo "$as_me:$LINENO: error:
+{ { $as_echo "$as_me:$LINENO: error:
 *** LD_LIBRARY_PATH shouldn't contain the current directory when
 *** building glibc. Please change the environment variable
 *** and run configure again." >&5
-echo "$as_me: error:
+$as_echo "$as_me: error:
 *** LD_LIBRARY_PATH shouldn't contain the current directory when
 *** building glibc. Please change the environment variable
 *** and run configure again." >&2;}
    { (exit 1); exit 1; }; }
 fi
 
-{ echo "$as_me:$LINENO: checking whether GCC supports -static-libgcc" >&5
-echo $ECHO_N "checking whether GCC supports -static-libgcc... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether GCC supports -static-libgcc" >&5
+$as_echo_n "checking whether GCC supports -static-libgcc... " >&6; }
 if test "${libc_cv_gcc_static_libgcc+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then
   libc_cv_gcc_static_libgcc=
@@ -5182,16 +5462,16 @@ else
   libc_cv_gcc_static_libgcc=-static-libgcc
 fi
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_gcc_static_libgcc" >&5
-echo "${ECHO_T}$libc_cv_gcc_static_libgcc" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_gcc_static_libgcc" >&5
+$as_echo "$libc_cv_gcc_static_libgcc" >&6; }
 
 
 # Extract the first word of "bash", so it can be a program name with args.
 set dummy bash; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_BASH_SHELL+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $BASH_SHELL in
   [\\/]* | ?:[\\/]*)
@@ -5206,7 +5486,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_BASH_SHELL="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5219,11 +5499,11 @@ esac
 fi
 BASH_SHELL=$ac_cv_path_BASH_SHELL
 if test -n "$BASH_SHELL"; then
-  { echo "$as_me:$LINENO: result: $BASH_SHELL" >&5
-echo "${ECHO_T}$BASH_SHELL" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $BASH_SHELL" >&5
+$as_echo "$BASH_SHELL" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -5239,10 +5519,10 @@ fi
 if test "$BASH_SHELL" = no; then
   # Extract the first word of "ksh", so it can be a program name with args.
 set dummy ksh; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_KSH+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $KSH in
   [\\/]* | ?:[\\/]*)
@@ -5257,7 +5537,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_KSH="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5270,11 +5550,11 @@ esac
 fi
 KSH=$ac_cv_path_KSH
 if test -n "$KSH"; then
-  { echo "$as_me:$LINENO: result: $KSH" >&5
-echo "${ECHO_T}$KSH" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $KSH" >&5
+$as_echo "$KSH" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -5294,10 +5574,10 @@ for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_AWK+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
   ac_cv_prog_AWK="$AWK" # Let the user override the test.
@@ -5310,7 +5590,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AWK="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5321,11 +5601,11 @@ fi
 fi
 AWK=$ac_cv_prog_AWK
 if test -n "$AWK"; then
-  { echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -5334,10 +5614,10 @@ done
 
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_PERL+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $PERL in
   [\\/]* | ?:[\\/]*)
@@ -5352,7 +5632,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5365,11 +5645,11 @@ esac
 fi
 PERL=$ac_cv_path_PERL
 if test -n "$PERL"; then
-  { echo "$as_me:$LINENO: result: $PERL" >&5
-echo "${ECHO_T}$PERL" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $PERL" >&5
+$as_echo "$PERL" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
@@ -5379,10 +5659,10 @@ if test "$PERL" != no &&
 fi
 # Extract the first word of "install-info", so it can be a program name with args.
 set dummy install-info; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_INSTALL_INFO+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $INSTALL_INFO in
   [\\/]* | ?:[\\/]*)
@@ -5398,7 +5678,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_INSTALL_INFO="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5411,20 +5691,20 @@ esac
 fi
 INSTALL_INFO=$ac_cv_path_INSTALL_INFO
 if test -n "$INSTALL_INFO"; then
-  { echo "$as_me:$LINENO: result: $INSTALL_INFO" >&5
-echo "${ECHO_T}$INSTALL_INFO" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $INSTALL_INFO" >&5
+$as_echo "$INSTALL_INFO" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
 # Extract the first word of "bison", so it can be a program name with args.
 set dummy bison; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_BISON+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $BISON in
   [\\/]* | ?:[\\/]*)
@@ -5440,7 +5720,7 @@ do
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_BISON="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5453,19 +5733,19 @@ esac
 fi
 BISON=$ac_cv_path_BISON
 if test -n "$BISON"; then
-  { echo "$as_me:$LINENO: result: $BISON" >&5
-echo "${ECHO_T}$BISON" >&6; }
+  { $as_echo "$as_me:$LINENO: result: $BISON" >&5
+$as_echo "$BISON" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
 
-{ echo "$as_me:$LINENO: checking for signed size_t type" >&5
-echo $ECHO_N "checking for signed size_t type... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for signed size_t type" >&5
+$as_echo_n "checking for signed size_t type... " >&6; }
 if test "${libc_cv_signed_size_t+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   echo '#include <stddef.h>
 FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
@@ -5477,8 +5757,8 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_signed_size_t" >&5
-echo "${ECHO_T}$libc_cv_signed_size_t" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_signed_size_t" >&5
+$as_echo "$libc_cv_signed_size_t" >&6; }
 if test $libc_cv_signed_size_t = yes; then
     cat >> confdefs.h <<\EOF
 #undef __SIZE_TYPE__
@@ -5486,11 +5766,10 @@ if test $libc_cv_signed_size_t = yes; then
 EOF
 fi
 
-
-{ echo "$as_me:$LINENO: checking for libc-friendly stddef.h" >&5
-echo $ECHO_N "checking for libc-friendly stddef.h... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for libc-friendly stddef.h" >&5
+$as_echo_n "checking for libc-friendly stddef.h... " >&6; }
 if test "${libc_cv_friendly_stddef+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -5521,20 +5800,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   libc_cv_friendly_stddef=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        libc_cv_friendly_stddef=no
@@ -5542,17 +5822,17 @@ fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_friendly_stddef" >&5
-echo "${ECHO_T}$libc_cv_friendly_stddef" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_friendly_stddef" >&5
+$as_echo "$libc_cv_friendly_stddef" >&6; }
 if test $libc_cv_friendly_stddef = yes; then
   config_vars="$config_vars
 override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
 fi
 
-{ echo "$as_me:$LINENO: checking whether we need to use -P to assemble .S files" >&5
-echo $ECHO_N "checking whether we need to use -P to assemble .S files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether we need to use -P to assemble .S files" >&5
+$as_echo_n "checking whether we need to use -P to assemble .S files... " >&6; }
 if test "${libc_cv_need_minus_P+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.S <<EOF
 #include "confdefs.h"
@@ -5562,7 +5842,7 @@ if { ac_try='${CC-cc} $CPPFLAGS $ASFLAGS -c conftest.S 1>&5'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   libc_cv_need_minus_P=no
 else
@@ -5570,17 +5850,17 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_need_minus_P" >&5
-echo "${ECHO_T}$libc_cv_need_minus_P" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_need_minus_P" >&5
+$as_echo "$libc_cv_need_minus_P" >&6; }
 if test $libc_cv_need_minus_P = yes; then
   config_vars="$config_vars
 asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
 fi
 
-{ echo "$as_me:$LINENO: checking whether .text pseudo-op must be used" >&5
-echo $ECHO_N "checking whether .text pseudo-op must be used... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether .text pseudo-op must be used" >&5
+$as_echo_n "checking whether .text pseudo-op must be used... " >&6; }
 if test "${libc_cv_dot_text+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.s <<EOF
 .text
@@ -5590,7 +5870,7 @@ if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   libc_cv_dot_text=.text
 fi
@@ -5598,17 +5878,17 @@ rm -f conftest*
 fi
 
 if test -z "$libc_cv_dot_text"; then
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 else
-  { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
 
-{ echo "$as_me:$LINENO: checking for assembler global-symbol directive" >&5
-echo $ECHO_N "checking for assembler global-symbol directive... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for assembler global-symbol directive" >&5
+$as_echo_n "checking for assembler global-symbol directive... " >&6; }
 if test "${libc_cv_asm_global_directive+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   libc_cv_asm_global_directive=UNKNOWN
 for ac_globl in .globl .global .EXPORT; do
@@ -5621,7 +5901,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
     libc_cv_asm_global_directive=${ac_globl}
   fi
@@ -5629,11 +5909,11 @@ EOF
   test $libc_cv_asm_global_directive != UNKNOWN && break
 done
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_asm_global_directive" >&5
-echo "${ECHO_T}$libc_cv_asm_global_directive" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_global_directive" >&5
+$as_echo "$libc_cv_asm_global_directive" >&6; }
 if test $libc_cv_asm_global_directive = UNKNOWN; then
-  { { echo "$as_me:$LINENO: error: cannot determine asm global directive" >&5
-echo "$as_me: error: cannot determine asm global directive" >&2;}
+  { { $as_echo "$as_me:$LINENO: error: cannot determine asm global directive" >&5
+$as_echo "$as_me: error: cannot determine asm global directive" >&2;}
    { (exit 1); exit 1; }; }
 else
   cat >>confdefs.h <<_ACEOF
@@ -5642,10 +5922,10 @@ _ACEOF
 
 fi
 
-{ echo "$as_me:$LINENO: checking for .set assembler directive" >&5
-echo $ECHO_N "checking for .set assembler directive... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for .set assembler directive" >&5
+$as_echo_n "checking for .set assembler directive... " >&6; }
 if test "${libc_cv_asm_set_directive+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.s <<EOF
 ${libc_cv_dot_text}
@@ -5668,8 +5948,8 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_asm_set_directive" >&5
-echo "${ECHO_T}$libc_cv_asm_set_directive" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_set_directive" >&5
+$as_echo "$libc_cv_asm_set_directive" >&6; }
 if test $libc_cv_asm_set_directive = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_ASM_SET_DIRECTIVE 1
@@ -5677,10 +5957,10 @@ _ACEOF
 
 fi
 
-{ echo "$as_me:$LINENO: checking for assembler .type directive prefix" >&5
-echo $ECHO_N "checking for assembler .type directive prefix... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for assembler .type directive prefix" >&5
+$as_echo_n "checking for assembler .type directive prefix... " >&6; }
 if test "${libc_cv_asm_type_prefix+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   libc_cv_asm_type_prefix=no
 for ac_try_prefix in '@' '%' '#'; do
@@ -5696,7 +5976,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
     libc_cv_asm_type_prefix=${ac_try_prefix}
   fi
@@ -5704,8 +5984,8 @@ EOF
   test "x$libc_cv_asm_type_prefix" != xno && break
 done
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_asm_type_prefix" >&5
-echo "${ECHO_T}$libc_cv_asm_type_prefix" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_type_prefix" >&5
+$as_echo "$libc_cv_asm_type_prefix" >&6; }
 if test "x$libc_cv_asm_type_prefix" != xno; then
   cat >>confdefs.h <<_ACEOF
 #define ASM_TYPE_DIRECTIVE_PREFIX ${libc_cv_asm_type_prefix}
@@ -5716,10 +5996,10 @@ fi
 # For the multi-arch option we need support in the assembler.
 if test "$multi_arch" = yes; then
   if test "x$libc_cv_asm_type_prefix" != xno; then
-{ echo "$as_me:$LINENO: checking for assembler gnu_indirect_function symbol type support" >&5
-echo $ECHO_N "checking for assembler gnu_indirect_function symbol type support... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for assembler gnu_indirect_function symbol type support" >&5
+$as_echo_n "checking for assembler gnu_indirect_function symbol type support... " >&6; }
 if test "${libc_cv_asm_gnu_indirect_function+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.s <<EOF
 .type foo,%gnu_indirect_function
@@ -5732,22 +6012,22 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_asm_gnu_indirect_function" >&5
-echo "${ECHO_T}$libc_cv_asm_gnu_indirect_function" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_gnu_indirect_function" >&5
+$as_echo "$libc_cv_asm_gnu_indirect_function" >&6; }
   else
     libc_cv_asm_gnu_indirect_function=no
   fi
   if test x"$libc_cv_asm_gnu_indirect_function" != xyes; then
-    { { echo "$as_me:$LINENO: error: --enable-multi-arch support requires assembler and linker support" >&5
-echo "$as_me: error: --enable-multi-arch support requires assembler and linker support" >&2;}
+    { { $as_echo "$as_me:$LINENO: error: --enable-multi-arch support requires assembler and linker support" >&5
+$as_echo "$as_me: error: --enable-multi-arch support requires assembler and linker support" >&2;}
    { (exit 1); exit 1; }; }
   fi
 fi
 
-{ echo "$as_me:$LINENO: checking for .symver assembler directive" >&5
-echo $ECHO_N "checking for .symver assembler directive... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for .symver assembler directive" >&5
+$as_echo_n "checking for .symver assembler directive... " >&6; }
 if test "${libc_cv_asm_symver_directive+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.s <<EOF
 ${libc_cv_dot_text}
@@ -5761,12 +6041,12 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_asm_symver_directive" >&5
-echo "${ECHO_T}$libc_cv_asm_symver_directive" >&6; }
-{ echo "$as_me:$LINENO: checking for ld --version-script" >&5
-echo $ECHO_N "checking for ld --version-script... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_symver_directive" >&5
+$as_echo "$libc_cv_asm_symver_directive" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for ld --version-script" >&5
+$as_echo_n "checking for ld --version-script... " >&6; }
 if test "${libc_cv_ld_version_script_option+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test $libc_cv_asm_symver_directive = yes; then
   cat > conftest.s <<EOF
@@ -5792,7 +6072,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; };
     then
       libc_cv_ld_version_script_option=yes
@@ -5807,8 +6087,8 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_ld_version_script_option" >&5
-echo "${ECHO_T}$libc_cv_ld_version_script_option" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_ld_version_script_option" >&5
+$as_echo "$libc_cv_ld_version_script_option" >&6; }
 if test $shared != no &&
    test $libc_cv_asm_symver_directive = yes &&
    test $libc_cv_ld_version_script_option = yes &&
@@ -5831,10 +6111,10 @@ if test $elf = yes && test $shared != no && test $VERSIONING = no; then
 *** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
 fi
 if test $elf = yes; then
-  { echo "$as_me:$LINENO: checking for .previous assembler directive" >&5
-echo $ECHO_N "checking for .previous assembler directive... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for .previous assembler directive" >&5
+$as_echo_n "checking for .previous assembler directive... " >&6; }
 if test "${libc_cv_asm_previous_directive+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     cat > conftest.s <<EOF
 .section foo_section
@@ -5844,7 +6124,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
     libc_cv_asm_previous_directive=yes
   else
@@ -5852,18 +6132,18 @@ EOF
   fi
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_asm_previous_directive" >&5
-echo "${ECHO_T}$libc_cv_asm_previous_directive" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_previous_directive" >&5
+$as_echo "$libc_cv_asm_previous_directive" >&6; }
   if test $libc_cv_asm_previous_directive = yes; then
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_ASM_PREVIOUS_DIRECTIVE 1
 _ACEOF
 
   else
-    { echo "$as_me:$LINENO: checking for .popsection assembler directive" >&5
-echo $ECHO_N "checking for .popsection assembler directive... $ECHO_C" >&6; }
+    { $as_echo "$as_me:$LINENO: checking for .popsection assembler directive" >&5
+$as_echo_n "checking for .popsection assembler directive... " >&6; }
 if test "${libc_cv_asm_popsection_directive+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
       cat > conftest.s <<EOF
 .pushsection foo_section
@@ -5873,7 +6153,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
       libc_cv_asm_popsection_directive=yes
     else
@@ -5881,8 +6161,8 @@ EOF
     fi
     rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_asm_popsection_directive" >&5
-echo "${ECHO_T}$libc_cv_asm_popsection_directive" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_popsection_directive" >&5
+$as_echo "$libc_cv_asm_popsection_directive" >&6; }
     if test $libc_cv_asm_popsection_directive = yes; then
       cat >>confdefs.h <<\_ACEOF
 #define HAVE_ASM_POPSECTION_DIRECTIVE 1
@@ -5890,10 +6170,10 @@ _ACEOF
 
     fi
   fi
-  { echo "$as_me:$LINENO: checking for .protected and .hidden assembler directive" >&5
-echo $ECHO_N "checking for .protected and .hidden assembler directive... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for .protected and .hidden assembler directive" >&5
+$as_echo_n "checking for .protected and .hidden assembler directive... " >&6; }
 if test "${libc_cv_asm_protected_directive+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     cat > conftest.s <<EOF
 .protected foo
@@ -5905,24 +6185,24 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
     libc_cv_asm_protected_directive=yes
   else
-    { { echo "$as_me:$LINENO: error: assembler support for symbol visibility is required" >&5
-echo "$as_me: error: assembler support for symbol visibility is required" >&2;}
+    { { $as_echo "$as_me:$LINENO: error: assembler support for symbol visibility is required" >&5
+$as_echo "$as_me: error: assembler support for symbol visibility is required" >&2;}
    { (exit 1); exit 1; }; }
   fi
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_asm_protected_directive" >&5
-echo "${ECHO_T}$libc_cv_asm_protected_directive" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_protected_directive" >&5
+$as_echo "$libc_cv_asm_protected_directive" >&6; }
 
   if test $libc_cv_asm_protected_directive = yes; then
-    { echo "$as_me:$LINENO: checking whether __attribute__((visibility())) is supported" >&5
-echo $ECHO_N "checking whether __attribute__((visibility())) is supported... $ECHO_C" >&6; }
+    { $as_echo "$as_me:$LINENO: checking whether __attribute__((visibility())) is supported" >&5
+$as_echo_n "checking whether __attribute__((visibility())) is supported... " >&6; }
 if test "${libc_cv_visibility_attribute+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.c <<EOF
                  int foo __attribute__ ((visibility ("hidden"))) = 1;
@@ -5933,7 +6213,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
                    if grep '\.hidden.*foo' conftest.s >/dev/null; then
                      if grep '\.protected.*bar' conftest.s >/dev/null; then
@@ -5944,20 +6224,20 @@ EOF
                  rm -f conftest.cs
 
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_visibility_attribute" >&5
-echo "${ECHO_T}$libc_cv_visibility_attribute" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_visibility_attribute" >&5
+$as_echo "$libc_cv_visibility_attribute" >&6; }
     if test $libc_cv_visibility_attribute != yes; then
-      { { echo "$as_me:$LINENO: error: compiler support for visibility attribute is required" >&5
-echo "$as_me: error: compiler support for visibility attribute is required" >&2;}
+      { { $as_echo "$as_me:$LINENO: error: compiler support for visibility attribute is required" >&5
+$as_echo "$as_me: error: compiler support for visibility attribute is required" >&2;}
    { (exit 1); exit 1; }; }
     fi
   fi
 
   if test $libc_cv_visibility_attribute = yes; then
-    { echo "$as_me:$LINENO: checking for broken __attribute__((visibility()))" >&5
-echo $ECHO_N "checking for broken __attribute__((visibility()))... $ECHO_C" >&6; }
+    { $as_echo "$as_me:$LINENO: checking for broken __attribute__((visibility()))" >&5
+$as_echo_n "checking for broken __attribute__((visibility()))... " >&6; }
 if test "${libc_cv_broken_visibility_attribute+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.c <<EOF
                  int foo (int x);
@@ -5969,7 +6249,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
                    if grep '\.hidden[  _]foo' conftest.s >/dev/null; then
                      libc_cv_broken_visibility_attribute=no
@@ -5978,19 +6258,19 @@ EOF
                  rm -f conftest.c conftest.s
 
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_broken_visibility_attribute" >&5
-echo "${ECHO_T}$libc_cv_broken_visibility_attribute" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_broken_visibility_attribute" >&5
+$as_echo "$libc_cv_broken_visibility_attribute" >&6; }
     if test $libc_cv_broken_visibility_attribute = yes; then
-      { { echo "$as_me:$LINENO: error: working compiler support for visibility attribute is required" >&5
-echo "$as_me: error: working compiler support for visibility attribute is required" >&2;}
+      { { $as_echo "$as_me:$LINENO: error: working compiler support for visibility attribute is required" >&5
+$as_echo "$as_me: error: working compiler support for visibility attribute is required" >&2;}
    { (exit 1); exit 1; }; }
     fi
   fi
 
-  { echo "$as_me:$LINENO: checking for broken __attribute__((alias()))" >&5
-echo $ECHO_N "checking for broken __attribute__((alias()))... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for broken __attribute__((alias()))" >&5
+$as_echo_n "checking for broken __attribute__((alias()))... " >&6; }
 if test "${libc_cv_broken_alias_attribute+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.c <<EOF
                  extern int foo (int x) __asm ("xyzzy");
@@ -6005,7 +6285,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
                    if grep 'xyzzy' conftest.s >/dev/null &&
                       grep 'abccb' conftest.s >/dev/null; then
@@ -6015,19 +6295,19 @@ EOF
                  rm -f conftest.c conftest.s
 
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_broken_alias_attribute" >&5
-echo "${ECHO_T}$libc_cv_broken_alias_attribute" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_broken_alias_attribute" >&5
+$as_echo "$libc_cv_broken_alias_attribute" >&6; }
   if test $libc_cv_broken_alias_attribute = yes; then
-    { { echo "$as_me:$LINENO: error: working alias attribute support required" >&5
-echo "$as_me: error: working alias attribute support required" >&2;}
+    { { $as_echo "$as_me:$LINENO: error: working alias attribute support required" >&5
+$as_echo "$as_me: error: working alias attribute support required" >&2;}
    { (exit 1); exit 1; }; }
   fi
 
   if test $libc_cv_visibility_attribute = yes; then
-    { echo "$as_me:$LINENO: checking whether to put _rtld_local into .sdata section" >&5
-echo $ECHO_N "checking whether to put _rtld_local into .sdata section... $ECHO_C" >&6; }
+    { $as_echo "$as_me:$LINENO: checking whether to put _rtld_local into .sdata section" >&5
+$as_echo_n "checking whether to put _rtld_local into .sdata section... " >&6; }
 if test "${libc_cv_have_sdata_section+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   echo "int i;" > conftest.c
                  libc_cv_have_sdata_section=no
@@ -6038,8 +6318,8 @@ else
                  rm -f conftest.c conftest.so
 
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_have_sdata_section" >&5
-echo "${ECHO_T}$libc_cv_have_sdata_section" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_have_sdata_section" >&5
+$as_echo "$libc_cv_have_sdata_section" >&6; }
     if test $libc_cv_have_sdata_section = yes; then
       cat >>confdefs.h <<\_ACEOF
 #define HAVE_SDATA_SECTION 1
@@ -6048,10 +6328,10 @@ _ACEOF
     fi
   fi
 
-  { echo "$as_me:$LINENO: checking for .preinit_array/.init_array/.fini_array support" >&5
-echo $ECHO_N "checking for .preinit_array/.init_array/.fini_array support... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for .preinit_array/.init_array/.fini_array support" >&5
+$as_echo_n "checking for .preinit_array/.init_array/.fini_array support... " >&6; }
 if test "${libc_cv_initfini_array+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     cat > conftest.c <<EOF
 int _start (void) { return 0; }
@@ -6064,7 +6344,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
   then
     if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then
@@ -6077,18 +6357,18 @@ EOF
   fi
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_initfini_array" >&5
-echo "${ECHO_T}$libc_cv_initfini_array" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_initfini_array" >&5
+$as_echo "$libc_cv_initfini_array" >&6; }
   if test $libc_cv_initfini_array != yes; then
-    { { echo "$as_me:$LINENO: error: Need linker with .init_array/.fini_array support." >&5
-echo "$as_me: error: Need linker with .init_array/.fini_array support." >&2;}
+    { { $as_echo "$as_me:$LINENO: error: Need linker with .init_array/.fini_array support." >&5
+$as_echo "$as_me: error: Need linker with .init_array/.fini_array support." >&2;}
    { (exit 1); exit 1; }; }
   fi
 
-  { echo "$as_me:$LINENO: checking for libunwind-support in compiler" >&5
-echo $ECHO_N "checking for libunwind-support in compiler... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for libunwind-support in compiler" >&5
+$as_echo_n "checking for libunwind-support in compiler... " >&6; }
 if test "${libc_cv_cc_with_libunwind+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
 
     cat > conftest.c <<EOF
@@ -6102,8 +6382,8 @@ EOF
     fi
     rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_cc_with_libunwind" >&5
-echo "${ECHO_T}$libc_cv_cc_with_libunwind" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_cc_with_libunwind" >&5
+$as_echo "$libc_cv_cc_with_libunwind" >&6; }
 
   if test $libc_cv_cc_with_libunwind = yes; then
     cat >>confdefs.h <<\_ACEOF
@@ -6112,10 +6392,10 @@ _ACEOF
 
   fi
 
-  { echo "$as_me:$LINENO: checking for -z nodelete option" >&5
-echo $ECHO_N "checking for -z nodelete option... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for -z nodelete option" >&5
+$as_echo_n "checking for -z nodelete option... " >&6; }
 if test "${libc_cv_z_nodelete+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     cat > conftest.c <<EOF
 int _start (void) { return 42; }
@@ -6127,24 +6407,24 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
   then
     libc_cv_z_nodelete=yes
   else
-    { { echo "$as_me:$LINENO: error: linker with -z nodelete support required" >&5
-echo "$as_me: error: linker with -z nodelete support required" >&2;}
+    { { $as_echo "$as_me:$LINENO: error: linker with -z nodelete support required" >&5
+$as_echo "$as_me: error: linker with -z nodelete support required" >&2;}
    { (exit 1); exit 1; }; }
   fi
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_z_nodelete" >&5
-echo "${ECHO_T}$libc_cv_z_nodelete" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_z_nodelete" >&5
+$as_echo "$libc_cv_z_nodelete" >&6; }
 
-  { echo "$as_me:$LINENO: checking for -z nodlopen option" >&5
-echo $ECHO_N "checking for -z nodlopen option... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for -z nodlopen option" >&5
+$as_echo_n "checking for -z nodlopen option... " >&6; }
 if test "${libc_cv_z_nodlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     cat > conftest.c <<EOF
 int _start (void) { return 42; }
@@ -6156,24 +6436,24 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
   then
     libc_cv_z_nodlopen=yes
   else
-    { { echo "$as_me:$LINENO: error: linker with -z nodlopen support required" >&5
-echo "$as_me: error: linker with -z nodlopen support required" >&2;}
+    { { $as_echo "$as_me:$LINENO: error: linker with -z nodlopen support required" >&5
+$as_echo "$as_me: error: linker with -z nodlopen support required" >&2;}
    { (exit 1); exit 1; }; }
   fi
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_z_nodlopen" >&5
-echo "${ECHO_T}$libc_cv_z_nodlopen" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_z_nodlopen" >&5
+$as_echo "$libc_cv_z_nodlopen" >&6; }
 
-  { echo "$as_me:$LINENO: checking for -z initfirst option" >&5
-echo $ECHO_N "checking for -z initfirst option... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for -z initfirst option" >&5
+$as_echo_n "checking for -z initfirst option... " >&6; }
 if test "${libc_cv_z_initfirst+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     cat > conftest.c <<EOF
 int _start (void) { return 42; }
@@ -6185,61 +6465,61 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
   then
     libc_cv_z_initfirst=yes
   else
-    { { echo "$as_me:$LINENO: error: linker with -z initfirst support required" >&5
-echo "$as_me: error: linker with -z initfirst support required" >&2;}
+    { { $as_echo "$as_me:$LINENO: error: linker with -z initfirst support required" >&5
+$as_echo "$as_me: error: linker with -z initfirst support required" >&2;}
    { (exit 1); exit 1; }; }
   fi
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_z_initfirst" >&5
-echo "${ECHO_T}$libc_cv_z_initfirst" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_z_initfirst" >&5
+$as_echo "$libc_cv_z_initfirst" >&6; }
 
   case "$base_machine" in
     i[34567]86 | x86_64 | powerpc* | s390* | sparc* | alpha*)
-      { echo "$as_me:$LINENO: checking for -z relro option" >&5
-echo $ECHO_N "checking for -z relro option... $ECHO_C" >&6; }
+      { $as_echo "$as_me:$LINENO: checking for -z relro option" >&5
+$as_echo_n "checking for -z relro option... " >&6; }
 if test "${libc_cv_z_relro+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     libc_cv_z_relro=no
   if { ac_try='${CC-cc} -v --help 2>&1|grep "z relro" 1>&5'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
   then
     if { ac_try='${CC-cc} -Wl,--verbose 2>&1|grep DATA_SEGMENT_RELRO_END 1>&5'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
     then
       libc_cv_z_relro=yes
     fi
   fi
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_z_relro" >&5
-echo "${ECHO_T}$libc_cv_z_relro" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_z_relro" >&5
+$as_echo "$libc_cv_z_relro" >&6; }
       if test "$libc_cv_z_relro" = no; then
-        { { echo "$as_me:$LINENO: error: linker with -z relro support required" >&5
-echo "$as_me: error: linker with -z relro support required" >&2;}
+        { { $as_echo "$as_me:$LINENO: error: linker with -z relro support required" >&5
+$as_echo "$as_me: error: linker with -z relro support required" >&2;}
    { (exit 1); exit 1; }; }
       fi
       ;;
     *) ;;
    esac
 
-  { echo "$as_me:$LINENO: checking for -Bgroup option" >&5
-echo $ECHO_N "checking for -Bgroup option... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for -Bgroup option" >&5
+$as_echo_n "checking for -Bgroup option... " >&6; }
 if test "${libc_cv_Bgroup+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     cat > conftest.c <<EOF
 int _start (void) { return 42; }
@@ -6250,7 +6530,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
   then
     libc_cv_Bgroup=yes
@@ -6259,14 +6539,14 @@ EOF
   fi
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_Bgroup" >&5
-echo "${ECHO_T}$libc_cv_Bgroup" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_Bgroup" >&5
+$as_echo "$libc_cv_Bgroup" >&6; }
 
 
-  { echo "$as_me:$LINENO: checking for libgcc_s suffix" >&5
-echo $ECHO_N "checking for libgcc_s suffix... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for libgcc_s suffix" >&5
+$as_echo_n "checking for libgcc_s suffix... " >&6; }
 if test "${libc_cv_libgcc_s_suffix+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     cat > conftest.c <<EOF
 int main (void) { return 0; }
@@ -6277,14 +6557,14 @@ EOF
                           | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_libgcc_s_suffix" >&5
-echo "${ECHO_T}$libc_cv_libgcc_s_suffix" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_libgcc_s_suffix" >&5
+$as_echo "$libc_cv_libgcc_s_suffix" >&6; }
 
 
-  { echo "$as_me:$LINENO: checking for --as-needed option" >&5
-echo $ECHO_N "checking for --as-needed option... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for --as-needed option" >&5
+$as_echo_n "checking for --as-needed option... " >&6; }
 if test "${libc_cv_as_needed+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     cat > conftest.c <<EOF
 int main (void) { return 0; }
@@ -6296,7 +6576,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
   then
     libc_cv_as_needed=yes
@@ -6305,15 +6585,15 @@ EOF
   fi
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_as_needed" >&5
-echo "${ECHO_T}$libc_cv_as_needed" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_as_needed" >&5
+$as_echo "$libc_cv_as_needed" >&6; }
 
 
   ASFLAGS_config=
-  { echo "$as_me:$LINENO: checking whether --noexecstack is desirable for .S files" >&5
-echo $ECHO_N "checking whether --noexecstack is desirable for .S files... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking whether --noexecstack is desirable for .S files" >&5
+$as_echo_n "checking whether --noexecstack is desirable for .S files... " >&6; }
 if test "${libc_cv_as_noexecstack+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     cat > conftest.c <<EOF
 void foo (void) { }
@@ -6323,7 +6603,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; } \
      && grep -q .note.GNU-stack conftest.s \
      && { ac_try='${CC-cc} $ASFLAGS -Wa,--noexecstack
@@ -6331,7 +6611,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
   then
     libc_cv_as_noexecstack=yes
@@ -6340,17 +6620,17 @@ EOF
   fi
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_as_noexecstack" >&5
-echo "${ECHO_T}$libc_cv_as_noexecstack" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_as_noexecstack" >&5
+$as_echo "$libc_cv_as_noexecstack" >&6; }
   if test $libc_cv_as_noexecstack = yes; then
     ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack"
   fi
 
 
-  { echo "$as_me:$LINENO: checking for -z combreloc" >&5
-echo $ECHO_N "checking for -z combreloc... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for -z combreloc" >&5
+$as_echo_n "checking for -z combreloc... " >&6; }
 if test "${libc_cv_z_combreloc+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     cat > conftest.c <<EOF
 extern int bar (int);
@@ -6364,7 +6644,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
   then
     if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
@@ -6377,8 +6657,8 @@ EOF
   fi
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_z_combreloc" >&5
-echo "${ECHO_T}$libc_cv_z_combreloc" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_z_combreloc" >&5
+$as_echo "$libc_cv_z_combreloc" >&6; }
   if test "$libc_cv_z_combreloc" = yes; then
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_Z_COMBRELOC 1
@@ -6387,10 +6667,10 @@ _ACEOF
   fi
 
 
-  { echo "$as_me:$LINENO: checking for -z execstack" >&5
-echo $ECHO_N "checking for -z execstack... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for -z execstack" >&5
+$as_echo_n "checking for -z execstack... " >&6; }
 if test "${libc_cv_z_execstack+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     cat > conftest.c <<EOF
 int _start (void) { return 42; }
@@ -6402,7 +6682,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
   then
     libc_cv_z_execstack=yes
@@ -6411,14 +6691,14 @@ EOF
   fi
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_z_execstack" >&5
-echo "${ECHO_T}$libc_cv_z_execstack" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_z_execstack" >&5
+$as_echo "$libc_cv_z_execstack" >&6; }
 
 
-  { echo "$as_me:$LINENO: checking for -fpie" >&5
-echo $ECHO_N "checking for -fpie... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for -fpie" >&5
+$as_echo_n "checking for -fpie... " >&6; }
 if test "${libc_cv_fpie+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     cat > conftest.c <<EOF
 int foo;
@@ -6429,7 +6709,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
   then
     libc_cv_fpie=yes
@@ -6438,15 +6718,15 @@ EOF
   fi
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_fpie" >&5
-echo "${ECHO_T}$libc_cv_fpie" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_fpie" >&5
+$as_echo "$libc_cv_fpie" >&6; }
 
 
 
-  { echo "$as_me:$LINENO: checking for --hash-style option" >&5
-echo $ECHO_N "checking for --hash-style option... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for --hash-style option" >&5
+$as_echo_n "checking for --hash-style option... " >&6; }
 if test "${libc_cv_hashstyle+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     cat > conftest.c <<EOF
 int _start (void) { return 42; }
@@ -6457,7 +6737,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
   then
     libc_cv_hashstyle=yes
@@ -6466,15 +6746,15 @@ EOF
   fi
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_hashstyle" >&5
-echo "${ECHO_T}$libc_cv_hashstyle" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_hashstyle" >&5
+$as_echo "$libc_cv_hashstyle" >&6; }
 
 fi
 
-{ echo "$as_me:$LINENO: checking for -fno-toplevel-reorder -fno-section-anchors" >&5
-echo $ECHO_N "checking for -fno-toplevel-reorder -fno-section-anchors... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for -fno-toplevel-reorder -fno-section-anchors" >&5
+$as_echo_n "checking for -fno-toplevel-reorder -fno-section-anchors... " >&6; }
 if test "${libc_cv_fno_toplevel_reorder+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.c <<EOF
 int foo;
@@ -6484,7 +6764,7 @@ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -S -fno-toplevel-reorder -fno-section-an
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
 then
   libc_cv_fno_toplevel_reorder=yes
@@ -6493,8 +6773,8 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_fno_toplevel_reorder" >&5
-echo "${ECHO_T}$libc_cv_fno_toplevel_reorder" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_fno_toplevel_reorder" >&5
+$as_echo "$libc_cv_fno_toplevel_reorder" >&6; }
 if test $libc_cv_fno_toplevel_reorder = yes; then
   fno_unit_at_a_time="-fno-toplevel-reorder -fno-section-anchors"
 else
@@ -6502,10 +6782,10 @@ else
 fi
 
 
-{ echo "$as_me:$LINENO: checking for -fstack-protector" >&5
-echo $ECHO_N "checking for -fstack-protector... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for -fstack-protector" >&5
+$as_echo_n "checking for -fstack-protector... " >&6; }
 if test "${libc_cv_ssp+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.c <<EOF
 int foo;
@@ -6516,7 +6796,7 @@ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -Werror -fstack-protector
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
 then
   libc_cv_ssp=yes
@@ -6525,14 +6805,14 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_ssp" >&5
-echo "${ECHO_T}$libc_cv_ssp" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_ssp" >&5
+$as_echo "$libc_cv_ssp" >&6; }
 
 
-{ echo "$as_me:$LINENO: checking for -fgnu89-inline" >&5
-echo $ECHO_N "checking for -fgnu89-inline... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for -fgnu89-inline" >&5
+$as_echo_n "checking for -fgnu89-inline... " >&6; }
 if test "${libc_cv_gnu89_inline+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.c <<EOF
 int foo;
@@ -6547,7 +6827,7 @@ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -S -std=gnu99 -fgnu89-inline
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }
 then
   libc_cv_gnu89_inline=yes
@@ -6556,8 +6836,8 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_gnu89_inline" >&5
-echo "${ECHO_T}$libc_cv_gnu89_inline" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_gnu89_inline" >&5
+$as_echo "$libc_cv_gnu89_inline" >&6; }
 if test $libc_cv_gnu89_inline = yes; then
   libc_cv_gnu89_inline=-fgnu89-inline
 else
@@ -6566,10 +6846,10 @@ fi
 
 
 if test $elf != yes; then
-  { echo "$as_me:$LINENO: checking for .init and .fini sections" >&5
-echo $ECHO_N "checking for .init and .fini sections... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for .init and .fini sections" >&5
+$as_echo_n "checking for .init and .fini sections... " >&6; }
 if test "${libc_cv_have_initfini+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -6594,20 +6874,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   libc_cv_have_initfini=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        libc_cv_have_initfini=no
@@ -6615,8 +6896,8 @@ fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_have_initfini" >&5
-echo "${ECHO_T}$libc_cv_have_initfini" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_have_initfini" >&5
+$as_echo "$libc_cv_have_initfini" >&6; }
     if test $libc_cv_have_initfini = yes; then
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_INITFINI 1
@@ -6626,10 +6907,10 @@ _ACEOF
 fi
 
 if test $elf = yes; then
-  { echo "$as_me:$LINENO: checking whether cc puts quotes around section names" >&5
-echo $ECHO_N "checking whether cc puts quotes around section names... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking whether cc puts quotes around section names" >&5
+$as_echo_n "checking whether cc puts quotes around section names... " >&6; }
 if test "${libc_cv_have_section_quotes+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.c <<EOF
                  static const int foo
@@ -6647,8 +6928,8 @@ EOF
                  rm -f conftest.cs
 
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_have_section_quotes" >&5
-echo "${ECHO_T}$libc_cv_have_section_quotes" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_have_section_quotes" >&5
+$as_echo "$libc_cv_have_section_quotes" >&6; }
   if test $libc_cv_have_section_quotes = yes; then
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_SECTION_QUOTES 1
@@ -6663,10 +6944,10 @@ if test $elf = yes; then
   libc_cv_asm_underscores=no
 else
   if test $ac_cv_prog_cc_works = yes; then
-    { echo "$as_me:$LINENO: checking for _ prefix on C symbol names" >&5
-echo $ECHO_N "checking for _ prefix on C symbol names... $ECHO_C" >&6; }
+    { $as_echo "$as_me:$LINENO: checking for _ prefix on C symbol names" >&5
+$as_echo_n "checking for _ prefix on C symbol names... " >&6; }
 if test "${libc_cv_asm_underscores+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -6689,36 +6970,40 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   libc_cv_asm_underscores=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        libc_cv_asm_underscores=no
 fi
 
+rm -rf conftest.dSYM
 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_asm_underscores" >&5
-echo "${ECHO_T}$libc_cv_asm_underscores" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_underscores" >&5
+$as_echo "$libc_cv_asm_underscores" >&6; }
   else
-    { echo "$as_me:$LINENO: checking for _ prefix on C symbol names" >&5
-echo $ECHO_N "checking for _ prefix on C symbol names... $ECHO_C" >&6; }
+    { $as_echo "$as_me:$LINENO: checking for _ prefix on C symbol names" >&5
+$as_echo_n "checking for _ prefix on C symbol names... " >&6; }
 if test "${libc_cv_asm_underscores+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.$ac_ext <<EOF
 #line $LINENO "configure"
@@ -6729,7 +7014,7 @@ EOF
 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
   if grep _underscore_test conftest* >/dev/null; then
     rm -f conftest*
@@ -6746,8 +7031,8 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_asm_underscores" >&5
-echo "${ECHO_T}$libc_cv_asm_underscores" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_underscores" >&5
+$as_echo "$libc_cv_asm_underscores" >&6; }
   fi
 fi
 if test $libc_cv_asm_underscores = no; then
@@ -6761,10 +7046,10 @@ if test $elf = yes; then
   libc_cv_weak_symbols=yes
 fi
 
-{ echo "$as_me:$LINENO: checking for assembler .weak directive" >&5
-echo $ECHO_N "checking for assembler .weak directive... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for assembler .weak directive" >&5
+$as_echo_n "checking for assembler .weak directive... " >&6; }
 if test "${libc_cv_asm_weak_directive+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.s <<EOF
 ${libc_cv_dot_text}
@@ -6777,7 +7062,7 @@ if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   libc_cv_asm_weak_directive=yes
 else
@@ -6785,14 +7070,14 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_asm_weak_directive" >&5
-echo "${ECHO_T}$libc_cv_asm_weak_directive" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_weak_directive" >&5
+$as_echo "$libc_cv_asm_weak_directive" >&6; }
 
 if test $libc_cv_asm_weak_directive = no; then
-  { echo "$as_me:$LINENO: checking for assembler .weakext directive" >&5
-echo $ECHO_N "checking for assembler .weakext directive... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for assembler .weakext directive" >&5
+$as_echo_n "checking for assembler .weakext directive... " >&6; }
 if test "${libc_cv_asm_weakext_directive+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.s <<EOF
 ${libc_cv_dot_text}
@@ -6807,7 +7092,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
     libc_cv_asm_weakext_directive=yes
   else
@@ -6815,8 +7100,8 @@ EOF
   fi
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_asm_weakext_directive" >&5
-echo "${ECHO_T}$libc_cv_asm_weakext_directive" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_weakext_directive" >&5
+$as_echo "$libc_cv_asm_weakext_directive" >&6; }
 
 fi # no .weak
 
@@ -6832,10 +7117,10 @@ _ACEOF
 
 fi
 
-{ echo "$as_me:$LINENO: checking whether CFI directives are supported" >&5
-echo $ECHO_N "checking whether CFI directives are supported... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether CFI directives are supported" >&5
+$as_echo_n "checking whether CFI directives are supported... " >&6; }
 if test "${libc_cv_asm_cfi_directives+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $machine in
   sparc/sparc64*) cfi_offset=2047;;
@@ -6854,7 +7139,7 @@ if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   libc_cv_asm_cfi_directives=yes
 else
@@ -6862,8 +7147,8 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_asm_cfi_directives" >&5
-echo "${ECHO_T}$libc_cv_asm_cfi_directives" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_cfi_directives" >&5
+$as_echo "$libc_cv_asm_cfi_directives" >&6; }
 if test $libc_cv_asm_cfi_directives = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_ASM_CFI_DIRECTIVES 1
@@ -6871,10 +7156,10 @@ _ACEOF
 
 fi
 
-{ echo "$as_me:$LINENO: checking for ld --no-whole-archive" >&5
-echo $ECHO_N "checking for ld --no-whole-archive... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for ld --no-whole-archive" >&5
+$as_echo_n "checking for ld --no-whole-archive... " >&6; }
 if test "${libc_cv_ld_no_whole_archive+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.c <<\EOF
 _start () {}
@@ -6887,7 +7172,7 @@ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   libc_cv_ld_no_whole_archive=yes
 else
@@ -6895,16 +7180,16 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_ld_no_whole_archive" >&5
-echo "${ECHO_T}$libc_cv_ld_no_whole_archive" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_ld_no_whole_archive" >&5
+$as_echo "$libc_cv_ld_no_whole_archive" >&6; }
 if test $libc_cv_ld_no_whole_archive = yes; then
   no_whole_archive=-Wl,--no-whole-archive
 fi
 
-{ echo "$as_me:$LINENO: checking for gcc -fexceptions" >&5
-echo $ECHO_N "checking for gcc -fexceptions... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for gcc -fexceptions" >&5
+$as_echo_n "checking for gcc -fexceptions... " >&6; }
 if test "${libc_cv_gcc_exceptions+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.c <<\EOF
 _start () {}
@@ -6917,7 +7202,7 @@ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   libc_cv_gcc_exceptions=yes
 else
@@ -6925,8 +7210,8 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_gcc_exceptions" >&5
-echo "${ECHO_T}$libc_cv_gcc_exceptions" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_gcc_exceptions" >&5
+$as_echo "$libc_cv_gcc_exceptions" >&6; }
 if test $libc_cv_gcc_exceptions = yes; then
   exceptions=-fexceptions
 fi
@@ -6934,10 +7219,10 @@ fi
 if test "$host_cpu" = powerpc ; then
 # Check for a bug present in at least versions 2.8.x of GCC
 # and versions 1.0.x of EGCS.
-{ echo "$as_me:$LINENO: checking whether clobbering cr0 causes problems" >&5
-echo $ECHO_N "checking whether clobbering cr0 causes problems... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking whether clobbering cr0 causes problems" >&5
+$as_echo_n "checking whether clobbering cr0 causes problems... " >&6; }
 if test "${libc_cv_c_asmcr0_bug+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -6960,20 +7245,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   libc_cv_c_asmcr0_bug='no'
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        libc_cv_c_asmcr0_bug='yes'
@@ -6981,8 +7267,8 @@ fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_c_asmcr0_bug" >&5
-echo "${ECHO_T}$libc_cv_c_asmcr0_bug" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_c_asmcr0_bug" >&5
+$as_echo "$libc_cv_c_asmcr0_bug" >&6; }
 if test "$libc_cv_c_asmcr0_bug" != 'no'; then
   cat >>confdefs.h <<\_ACEOF
 #define BROKEN_PPC_ASM_CR0 1
@@ -6991,10 +7277,10 @@ _ACEOF
 fi
 fi
 
-{ echo "$as_me:$LINENO: checking for __builtin_expect" >&5
-echo $ECHO_N "checking for __builtin_expect... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for __builtin_expect" >&5
+$as_echo_n "checking for __builtin_expect... " >&6; }
 if test "${libc_cv_gcc_builtin_expect+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.c <<EOF
 #line $LINENO "configure"
@@ -7009,7 +7295,7 @@ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   libc_cv_gcc_builtin_expect=yes
 else
@@ -7017,8 +7303,8 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_gcc_builtin_expect" >&5
-echo "${ECHO_T}$libc_cv_gcc_builtin_expect" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_gcc_builtin_expect" >&5
+$as_echo "$libc_cv_gcc_builtin_expect" >&6; }
 if test "$libc_cv_gcc_builtin_expect" = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_BUILTIN_EXPECT 1
@@ -7026,10 +7312,10 @@ _ACEOF
 
 fi
 
-{ echo "$as_me:$LINENO: checking for __builtin_memset" >&5
-echo $ECHO_N "checking for __builtin_memset... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for __builtin_memset" >&5
+$as_echo_n "checking for __builtin_memset... " >&6; }
 if test "${libc_cv_gcc_builtin_memset+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.c <<\EOF
 void zero (void *x)
@@ -7041,7 +7327,7 @@ if { ac_try='${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; };
 then
   libc_cv_gcc_builtin_memset=no
@@ -7050,8 +7336,8 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_gcc_builtin_memset" >&5
-echo "${ECHO_T}$libc_cv_gcc_builtin_memset" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_gcc_builtin_memset" >&5
+$as_echo "$libc_cv_gcc_builtin_memset" >&6; }
 if test "$libc_cv_gcc_builtin_memset" = yes ; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_BUILTIN_MEMSET 1
@@ -7059,10 +7345,10 @@ _ACEOF
 
 fi
 
-{ echo "$as_me:$LINENO: checking for redirection of built-in functions" >&5
-echo $ECHO_N "checking for redirection of built-in functions... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for redirection of built-in functions" >&5
+$as_echo_n "checking for redirection of built-in functions... " >&6; }
 if test "${libc_cv_gcc_builtin_redirection+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.c <<\EOF
 extern char *strstr (const char *, const char *) __asm ("my_strstr");
@@ -7075,7 +7361,7 @@ if { ac_try='${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; };
 then
   libc_cv_gcc_builtin_redirection=yes
@@ -7084,8 +7370,8 @@ else
 fi
 rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_gcc_builtin_redirection" >&5
-echo "${ECHO_T}$libc_cv_gcc_builtin_redirection" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_gcc_builtin_redirection" >&5
+$as_echo "$libc_cv_gcc_builtin_redirection" >&6; }
 if test "$libc_cv_gcc_builtin_redirection" = yes ; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_BUILTIN_REDIRECTION 1
@@ -7094,10 +7380,10 @@ _ACEOF
 fi
 
 if test "x$use__thread" != xno; then
-  { echo "$as_me:$LINENO: checking for __thread" >&5
-echo $ECHO_N "checking for __thread... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for __thread" >&5
+$as_echo_n "checking for __thread... " >&6; }
 if test "${libc_cv_gcc___thread+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat > conftest.c <<\EOF
 __thread int a = 42;
@@ -7106,7 +7392,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
     libc_cv_gcc___thread=yes
   else
@@ -7114,8 +7400,8 @@ EOF
   fi
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_gcc___thread" >&5
-echo "${ECHO_T}$libc_cv_gcc___thread" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_gcc___thread" >&5
+$as_echo "$libc_cv_gcc___thread" >&6; }
   if test "$libc_cv_gcc___thread" = yes; then
     cat >>confdefs.h <<\_ACEOF
 #define HAVE___THREAD 1
@@ -7127,10 +7413,10 @@ else
 fi
 
 if test "$libc_cv_gcc___thread" = yes; then
-    { echo "$as_me:$LINENO: checking for tls_model attribute" >&5
-echo $ECHO_N "checking for tls_model attribute... $ECHO_C" >&6; }
+    { $as_echo "$as_me:$LINENO: checking for tls_model attribute" >&5
+$as_echo_n "checking for tls_model attribute... " >&6; }
 if test "${libc_cv_gcc_tls_model_attr+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     cat > conftest.c <<\EOF
 extern __thread int a __attribute__((tls_model ("initial-exec")));
@@ -7139,7 +7425,7 @@ EOF
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
     libc_cv_gcc_tls_model_attr=yes
   else
@@ -7147,8 +7433,8 @@ EOF
   fi
   rm -f conftest*
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_gcc_tls_model_attr" >&5
-echo "${ECHO_T}$libc_cv_gcc_tls_model_attr" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_gcc_tls_model_attr" >&5
+$as_echo "$libc_cv_gcc_tls_model_attr" >&6; }
   if test "$libc_cv_gcc_tls_model_attr" = yes; then
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_TLS_MODEL_ATTRIBUTE 1
@@ -7158,10 +7444,10 @@ _ACEOF
 fi
 
 if test -n "$submachine"; then
-  { echo "$as_me:$LINENO: checking for compiler option for CPU variant" >&5
-echo $ECHO_N "checking for compiler option for CPU variant... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for compiler option for CPU variant" >&5
+$as_echo_n "checking for compiler option for CPU variant... " >&6; }
 if test "${libc_cv_cc_submachine+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     libc_cv_cc_submachine=no
   for opt in "-march=$submachine" "-mcpu=$submachine"; do
@@ -7169,25 +7455,25 @@ else
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
       libc_cv_cc_submachine="$opt"
       break
     fi
   done
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_cc_submachine" >&5
-echo "${ECHO_T}$libc_cv_cc_submachine" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_cc_submachine" >&5
+$as_echo "$libc_cv_cc_submachine" >&6; }
   if test "x$libc_cv_cc_submachine" = xno; then
-    { { echo "$as_me:$LINENO: error: ${CC-cc} does not support $submachine" >&5
-echo "$as_me: error: ${CC-cc} does not support $submachine" >&2;}
+    { { $as_echo "$as_me:$LINENO: error: ${CC-cc} does not support $submachine" >&5
+$as_echo "$as_me: error: ${CC-cc} does not support $submachine" >&2;}
    { (exit 1); exit 1; }; }
   fi
 fi
 
 
-{ echo "$as_me:$LINENO: checking for libgd" >&5
-echo $ECHO_N "checking for libgd... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for libgd" >&5
+$as_echo_n "checking for libgd... " >&6; }
 if test "$with_gd" != "no"; then
   old_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS $libgd_include"
@@ -7216,26 +7502,30 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   LIBGD=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        LIBGD=no
 fi
 
+rm -rf conftest.dSYM
 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
   CFLAGS="$old_CFLAGS"
@@ -7244,8 +7534,8 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 else
   LIBGD=no
 fi
-{ echo "$as_me:$LINENO: result: $LIBGD" >&5
-echo "${ECHO_T}$LIBGD" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $LIBGD" >&5
+$as_echo "$LIBGD" >&6; }
 
 
 # SELinux detection
@@ -7253,10 +7543,10 @@ if test x$with_selinux = xno ; then
   have_selinux=no;
 else
   # See if we have the SELinux library
-  { echo "$as_me:$LINENO: checking for is_selinux_enabled in -lselinux" >&5
-echo $ECHO_N "checking for is_selinux_enabled in -lselinux... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for is_selinux_enabled in -lselinux" >&5
+$as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; }
 if test "${ac_cv_lib_selinux_is_selinux_enabled+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lselinux  $LIBS"
@@ -7288,33 +7578,37 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_selinux_is_selinux_enabled=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_cv_lib_selinux_is_selinux_enabled=no
 fi
 
+rm -rf conftest.dSYM
 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5
-echo "${ECHO_T}$ac_cv_lib_selinux_is_selinux_enabled" >&6; }
-if test $ac_cv_lib_selinux_is_selinux_enabled = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5
+$as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; }
+if test "x$ac_cv_lib_selinux_is_selinux_enabled" = x""yes; then
   have_selinux=yes
 else
   have_selinux=no
@@ -7322,8 +7616,8 @@ fi
 
   # See if we have the SELinux header with the NSCD permissions in it.
   if test x$have_selinux = xyes ; then
-    { echo "$as_me:$LINENO: checking for NSCD Flask permissions in selinux/av_permissions.h" >&5
-echo $ECHO_N "checking for NSCD Flask permissions in selinux/av_permissions.h... $ECHO_C" >&6; }
+    { $as_echo "$as_me:$LINENO: checking for NSCD Flask permissions in selinux/av_permissions.h" >&5
+$as_echo_n "checking for NSCD Flask permissions in selinux/av_permissions.h... " >&6; }
     cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -7349,34 +7643,35 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   have_selinux=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        have_selinux=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    { echo "$as_me:$LINENO: result: $have_selinux" >&5
-echo "${ECHO_T}$have_selinux" >&6; }
+    { $as_echo "$as_me:$LINENO: result: $have_selinux" >&5
+$as_echo "$have_selinux" >&6; }
   fi
 
   if test x$with_selinux = xyes ; then
     if test x$have_selinux = xno ; then
-      { { echo "$as_me:$LINENO: error: SELinux explicitly required, but sufficiently recent SELinux library not found" >&5
-echo "$as_me: error: SELinux explicitly required, but sufficiently recent SELinux library not found" >&2;}
+      { { $as_echo "$as_me:$LINENO: error: SELinux explicitly required, but sufficiently recent SELinux library not found" >&5
+$as_echo "$as_me: error: SELinux explicitly required, but sufficiently recent SELinux library not found" >&2;}
    { (exit 1); exit 1; }; }
     fi
   fi
@@ -7390,10 +7685,10 @@ _ACEOF
 
 
   # See if we have the libaudit library
-  { echo "$as_me:$LINENO: checking for audit_log_user_avc_message in -laudit" >&5
-echo $ECHO_N "checking for audit_log_user_avc_message in -laudit... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for audit_log_user_avc_message in -laudit" >&5
+$as_echo_n "checking for audit_log_user_avc_message in -laudit... " >&6; }
 if test "${ac_cv_lib_audit_audit_log_user_avc_message+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-laudit  $LIBS"
@@ -7425,33 +7720,37 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_audit_audit_log_user_avc_message=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_cv_lib_audit_audit_log_user_avc_message=no
 fi
 
+rm -rf conftest.dSYM
 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_audit_audit_log_user_avc_message" >&5
-echo "${ECHO_T}$ac_cv_lib_audit_audit_log_user_avc_message" >&6; }
-if test $ac_cv_lib_audit_audit_log_user_avc_message = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_audit_audit_log_user_avc_message" >&5
+$as_echo "$ac_cv_lib_audit_audit_log_user_avc_message" >&6; }
+if test "x$ac_cv_lib_audit_audit_log_user_avc_message" = x""yes; then
   have_libaudit=yes
 else
   have_libaudit=no
@@ -7467,10 +7766,10 @@ _ACEOF
 
 
   # See if we have the libcap library
-  { echo "$as_me:$LINENO: checking for cap_init in -lcap" >&5
-echo $ECHO_N "checking for cap_init in -lcap... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for cap_init in -lcap" >&5
+$as_echo_n "checking for cap_init in -lcap... " >&6; }
 if test "${ac_cv_lib_cap_cap_init+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lcap  $LIBS"
@@ -7502,33 +7801,37 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_cap_cap_init=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_cv_lib_cap_cap_init=no
 fi
 
+rm -rf conftest.dSYM
 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_cap_cap_init" >&5
-echo "${ECHO_T}$ac_cv_lib_cap_cap_init" >&6; }
-if test $ac_cv_lib_cap_cap_init = yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cap_cap_init" >&5
+$as_echo "$ac_cv_lib_cap_cap_init" >&6; }
+if test "x$ac_cv_lib_cap_cap_init" = x""yes; then
   have_libcap=yes
 else
   have_libcap=no
@@ -7546,42 +7849,37 @@ fi
 
 
 
-{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
 if test "${ac_cv_path_GREP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  # Extract the first word of "grep ggrep" to use in msg output
-if test -z "$GREP"; then
-set dummy grep ggrep; ac_prog_name=$2
-if test "${ac_cv_path_GREP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
+  if test -z "$GREP"; then
   ac_path_GREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_prog in grep ggrep; do
-  for ac_exec_ext in '' $ac_executable_extensions; do
-    ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-    { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-    # Check for GNU ac_path_GREP and select it if it is found.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
 *GNU*)
   ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
 *)
   ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  $as_echo_n 0123456789 >"conftest.in"
   while :
   do
     cat "conftest.in" "conftest.in" >"conftest.tmp"
     mv "conftest.tmp" "conftest.in"
     cp "conftest.in" "conftest.nl"
-    echo 'GREP' >> "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
     "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     ac_count=`expr $ac_count + 1`
@@ -7596,74 +7894,60 @@ case `"$ac_path_GREP" --version 2>&1` in
   rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
 esac
 
-
-    $ac_path_GREP_found && break 3
+      $ac_path_GREP_found && break 3
+    done
   done
 done
-
-done
 IFS=$as_save_IFS
-
-
-fi
-
-GREP="$ac_cv_path_GREP"
-if test -z "$GREP"; then
-  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+  if test -z "$ac_cv_path_GREP"; then
+    { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
    { (exit 1); exit 1; }; }
-fi
-
+  fi
 else
   ac_cv_path_GREP=$GREP
 fi
 
-
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
  GREP="$ac_cv_path_GREP"
 
 
-{ echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
 if test "${ac_cv_path_EGREP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
    then ac_cv_path_EGREP="$GREP -E"
    else
-     # Extract the first word of "egrep" to use in msg output
-if test -z "$EGREP"; then
-set dummy egrep; ac_prog_name=$2
-if test "${ac_cv_path_EGREP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+     if test -z "$EGREP"; then
   ac_path_EGREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_prog in egrep; do
-  for ac_exec_ext in '' $ac_executable_extensions; do
-    ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-    { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-    # Check for GNU ac_path_EGREP and select it if it is found.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
 *GNU*)
   ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
 *)
   ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  $as_echo_n 0123456789 >"conftest.in"
   while :
   do
     cat "conftest.in" "conftest.in" >"conftest.tmp"
     mv "conftest.tmp" "conftest.in"
     cp "conftest.in" "conftest.nl"
-    echo 'EGREP' >> "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
     "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
     ac_count=`expr $ac_count + 1`
@@ -7678,40 +7962,31 @@ case `"$ac_path_EGREP" --version 2>&1` in
   rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
 esac
 
-
-    $ac_path_EGREP_found && break 3
+      $ac_path_EGREP_found && break 3
+    done
   done
 done
-
-done
 IFS=$as_save_IFS
-
-
-fi
-
-EGREP="$ac_cv_path_EGREP"
-if test -z "$EGREP"; then
-  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+  if test -z "$ac_cv_path_EGREP"; then
+    { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
    { (exit 1); exit 1; }; }
-fi
-
+  fi
 else
   ac_cv_path_EGREP=$EGREP
 fi
 
-
    fi
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
  EGREP="$ac_cv_path_EGREP"
 
 
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
 if test "${ac_cv_header_stdc+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -7738,20 +8013,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   ac_cv_header_stdc=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_cv_header_stdc=no
@@ -7843,37 +8119,40 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
   { (case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   :
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 ac_cv_header_stdc=no
 fi
+rm -rf conftest.dSYM
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
 
 fi
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
 if test $ac_cv_header_stdc = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -7895,11 +8174,11 @@ fi
 for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
                  inttypes.h stdint.h unistd.h
 do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
 if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -7917,20 +8196,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   eval "$as_ac_Header=yes"
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        eval "$as_ac_Header=no"
@@ -7938,12 +8218,15 @@ fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
   cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
 fi
@@ -7951,68 +8234,14 @@ fi
 done
 
 
-{ echo "$as_me:$LINENO: checking for long double" >&5
-echo $ECHO_N "checking for long double... $ECHO_C" >&6; }
-if test "${ac_cv_type_long_double+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-typedef long double ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
-  return 0;
-if (sizeof (ac__type_new_))
-  return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_type_long_double=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_type_long_double=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_long_double" >&5
-echo "${ECHO_T}$ac_cv_type_long_double" >&6; }
-
 # The cast to long int works around a bug in the HP C Compiler
 # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
 # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
 # This bug is HP SR number 8606223364.
-{ echo "$as_me:$LINENO: checking size of long double" >&5
-echo $ECHO_N "checking size of long double... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking size of long double" >&5
+$as_echo_n "checking size of long double... " >&6; }
 if test "${ac_cv_sizeof_long_double+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
@@ -8023,11 +8252,10 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long double ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (long double))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -8040,13 +8268,14 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
@@ -8060,11 +8289,10 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long double ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (long double))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -8077,20 +8305,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid; break
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_lo=`expr $ac_mid + 1`
@@ -8104,7 +8333,7 @@ fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        cat >conftest.$ac_ext <<_ACEOF
@@ -8114,11 +8343,10 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long double ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (long double))) < 0)];
 test_array [0] = 0
 
   ;
@@ -8131,13 +8359,14 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
@@ -8151,11 +8380,10 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long double ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (long double))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -8168,20 +8396,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   ac_lo=$ac_mid; break
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_hi=`expr '(' $ac_mid ')' - 1`
@@ -8195,7 +8424,7 @@ fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_lo= ac_hi=
@@ -8215,11 +8444,10 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long double ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (long double))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -8232,20 +8460,21 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
   ac_hi=$ac_mid
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
        ac_lo=`expr '(' $ac_mid ')' + 1`
@@ -8256,11 +8485,13 @@ done
 case $ac_lo in
 ?*) ac_cv_sizeof_long_double=$ac_lo;;
 '') if test "$ac_cv_type_long_double" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long double)
+     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long double)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long double)
+$as_echo "$as_me: error: cannot compute sizeof (long double)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
+   { (exit 77); exit 77; }; }; }
    else
      ac_cv_sizeof_long_double=0
    fi ;;
@@ -8273,9 +8504,8 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-   typedef long double ac__type_sizeof_;
-static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
-static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static long int longval () { return (long int) (sizeof (long double)); }
+static unsigned long int ulongval () { return (long int) (sizeof (long double)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -8285,20 +8515,22 @@ main ()
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
     return 1;
-  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
+  if (((long int) (sizeof (long double))) < 0)
     {
       long int i = longval ();
-      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+      if (i != ((long int) (sizeof (long double))))
        return 1;
-      fprintf (f, "%ld\n", i);
+      fprintf (f, "%ld", i);
     }
   else
     {
       unsigned long int i = ulongval ();
-      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+      if (i != ((long int) (sizeof (long double))))
        return 1;
-      fprintf (f, "%lu\n", i);
+      fprintf (f, "%lu", i);
     }
+  /* Do not output a trailing newline, as this causes \r\n confusion
+     on some platforms.  */
   return ferror (f) || fclose (f) != 0;
 
   ;
@@ -8311,43 +8543,48 @@ case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
   { (case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
   (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   ac_cv_sizeof_long_double=`cat conftest.val`
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 if test "$ac_cv_type_long_double" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long double)
+     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long double)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long double)
+$as_echo "$as_me: error: cannot compute sizeof (long double)
 See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
+   { (exit 77); exit 77; }; }; }
    else
      ac_cv_sizeof_long_double=0
    fi
 fi
+rm -rf conftest.dSYM
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_double" >&5
-echo "${ECHO_T}$ac_cv_sizeof_long_double" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_double" >&5
+$as_echo "$ac_cv_sizeof_long_double" >&6; }
 
 
 
@@ -8378,8 +8615,8 @@ for dir in $sysnames; do
     *)  dest=$srcdir/$dir ;;
   esac
   if test -r $dest/configure; then
-    { echo "$as_me:$LINENO: result: running configure fragment for $dir" >&5
-echo "${ECHO_T}running configure fragment for $dir" >&6; }
+    { $as_echo "$as_me:$LINENO: result: running configure fragment for $dir" >&5
+$as_echo "running configure fragment for $dir" >&6; }
     . $dest/configure
   fi
 
@@ -8410,10 +8647,10 @@ if test "$uname" = "sysdeps/generic"; then
     config_release=`echo $config_os | sed s/$uname_sysname//`
   fi
 
-  { echo "$as_me:$LINENO: checking OS release for uname" >&5
-echo $ECHO_N "checking OS release for uname... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking OS release for uname" >&5
+$as_echo_n "checking OS release for uname... " >&6; }
 if test "${libc_cv_uname_release+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
       if test -r /vmunix; then
       kernel_id=`strings /vmunix | grep UNIX`
@@ -8436,14 +8673,14 @@ else
     libc_cv_uname_release=unknown
   fi
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_uname_release" >&5
-echo "${ECHO_T}$libc_cv_uname_release" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_uname_release" >&5
+$as_echo "$libc_cv_uname_release" >&6; }
   uname_release="$libc_cv_uname_release"
 
-  { echo "$as_me:$LINENO: checking OS version for uname" >&5
-echo $ECHO_N "checking OS version for uname... $ECHO_C" >&6; }
+  { $as_echo "$as_me:$LINENO: checking OS version for uname" >&5
+$as_echo_n "checking OS version for uname... " >&6; }
 if test "${libc_cv_uname_version+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
       if test -r /vmunix; then
       kernel_id=`strings /vmunix | grep UNIX`
@@ -8460,8 +8697,8 @@ else
     libc_cv_uname_version=unknown
   fi
 fi
-{ echo "$as_me:$LINENO: result: $libc_cv_uname_version" >&5
-echo "${ECHO_T}$libc_cv_uname_version" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_uname_version" >&5
+$as_echo "$libc_cv_uname_version" >&6; }
   uname_version="$libc_cv_uname_version"
 
     config_uname=config-name.h:config-name.in
@@ -8477,21 +8714,21 @@ _ACEOF
 
 # Test for old glibc 2.0.x headers so that they can be removed properly
 # Search only in includedir.
-{ echo "$as_me:$LINENO: checking for old glibc 2.0.x headers" >&5
-echo $ECHO_N "checking for old glibc 2.0.x headers... $ECHO_C" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for old glibc 2.0.x headers" >&5
+$as_echo_n "checking for old glibc 2.0.x headers... " >&6; }
 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
 then
   old_glibc_headers=yes
 else
   old_glibc_headers=no
 fi
-{ echo "$as_me:$LINENO: result: $old_glibc_headers" >&5
-echo "${ECHO_T}$old_glibc_headers" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $old_glibc_headers" >&5
+$as_echo "$old_glibc_headers" >&6; }
 if test ${old_glibc_headers} = yes; then
-  { echo "$as_me:$LINENO: WARNING: *** During \"make install\" old headers from glibc 2.0.x will" >&5
-echo "$as_me: WARNING: *** During \"make install\" old headers from glibc 2.0.x will" >&2;}
-  { echo "$as_me:$LINENO: WARNING: *** be removed." >&5
-echo "$as_me: WARNING: *** be removed." >&2;}
+  { $as_echo "$as_me:$LINENO: WARNING: *** During \"make install\" old headers from glibc 2.0.x will" >&5
+$as_echo "$as_me: WARNING: *** During \"make install\" old headers from glibc 2.0.x will" >&2;}
+  { $as_echo "$as_me:$LINENO: WARNING: *** be removed." >&5
+$as_echo "$as_me: WARNING: *** be removed." >&2;}
 fi
 
 
@@ -8526,24 +8763,24 @@ if test $shared = default; then
   shared=$elf
 fi
 
-{ echo "$as_me:$LINENO: checking whether -fPIC is default" >&5
-echo $ECHO_N "checking whether -fPIC is default... $ECHO_C" >&6; }
-if test "${pic_default+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether -fPIC is default" >&5
+$as_echo_n "checking whether -fPIC is default... " >&6; }
+if test "${libc_cv_pic_default+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
-  pic_default=yes
+  libc_cv_pic_default=yes
 cat > conftest.c <<EOF
 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
 # error PIC is default.
 #endif
 EOF
 if eval "${CC-cc} -S conftest.c 2>&5 1>&5"; then
-  pic_default=no
+  libc_cv_pic_default=no
 fi
 rm -f conftest.*
 fi
-{ echo "$as_me:$LINENO: result: $pic_default" >&5
-echo "${ECHO_T}$pic_default" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_pic_default" >&5
+$as_echo "$libc_cv_pic_default" >&6; }
 
 
 
@@ -8598,11 +8835,12 @@ _ACEOF
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
       *) $as_unset $ac_var ;;
       esac ;;
     esac
@@ -8635,12 +8873,12 @@ echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
     test "x$cache_file" != "x/dev/null" &&
-      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
-echo "$as_me: updating cache $cache_file" >&6;}
+      { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
     cat confcache >$cache_file
   else
-    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+    { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
@@ -8656,7 +8894,7 @@ ac_ltlibobjs=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`echo "$ac_i" | sed "$ac_script"`
+  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
   # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
   #    will be set to the directory where LIBOBJS objects are built.
   ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
@@ -8669,11 +8907,12 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 : ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
+{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 #! $SHELL
 # Generated by $as_me.
 # Run this file to recreate the current configuration.
@@ -8686,7 +8925,7 @@ ac_cs_silent=false
 SHELL=\${CONFIG_SHELL-$SHELL}
 _ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 ## --------------------- ##
 ## M4sh Initialization.  ##
 ## --------------------- ##
@@ -8696,7 +8935,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
@@ -8718,17 +8957,45 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
 as_cr_digits='0123456789'
 as_cr_alnum=$as_cr_Letters$as_cr_digits
 
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
   else
-    PATH_SEPARATOR=:
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in
+      *"$as_nl"*)
+       expr "X$arg" : "X\\(.*\\)$as_nl";
+       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
   fi
-  rm -f conf$$.sh
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
 fi
 
 # Support unset when possible.
@@ -8744,8 +9011,6 @@ fi
 # there to prevent editors from complaining about space-tab.
 # (If _AS_PATH_WALK were called with IFS unset, it would disable word
 # splitting by setting IFS to empty value.)
-as_nl='
-'
 IFS=" ""       $as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
@@ -8768,7 +9033,7 @@ if test "x$as_myself" = x; then
   as_myself=$0
 fi
 if test ! -f "$as_myself"; then
-  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
   { (exit 1); exit 1; }
 fi
 
@@ -8781,17 +9046,10 @@ PS2='> '
 PS4='+ '
 
 # NLS nuisances.
-for as_var in \
-  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-  LC_TELEPHONE LC_TIME
-do
-  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-    eval $as_var=C; export $as_var
-  else
-    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-  fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
 
 # Required to use basename.
 if expr a : '\(a\)' >/dev/null 2>&1 &&
@@ -8813,7 +9071,7 @@ as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
         X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
+$as_echo X/"$0" |
     sed '/^.*\/\([^/][^/]*\)\/*$/{
            s//\1/
            q
@@ -8864,7 +9122,7 @@ $as_unset CDPATH
       s/-\n.*//
     ' >$as_me.lineno &&
   chmod +x "$as_me.lineno" ||
-    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
    { (exit 1); exit 1; }; }
 
   # Don't try to exec as it changes $[0], causing all sort of problems
@@ -8892,7 +9150,6 @@ case `echo -n x` in
 *)
   ECHO_N='-n';;
 esac
-
 if expr a : '\(a\)' >/dev/null 2>&1 &&
    test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
@@ -8905,19 +9162,22 @@ if test -d conf$$.dir; then
   rm -f conf$$.dir/conf$$.file
 else
   rm -f conf$$.dir
-  mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s='ln -s'
-  # ... but there are two gotchas:
-  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-  # In both cases, we have to default to `cp -p'.
-  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
     as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s=ln
+  fi
 else
   as_ln_s='cp -p'
 fi
@@ -8942,10 +9202,10 @@ else
   as_test_x='
     eval sh -c '\''
       if test -d "$1"; then
-        test -d "$1/.";
+       test -d "$1/.";
       else
        case $1 in
-        -*)set "./$1";;
+       -*)set "./$1";;
        esac;
        case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
        ???[sx]*):;;*)false;;esac;fi
@@ -8968,7 +9228,7 @@ exec 6>&1
 # values after options handling.
 ac_log="
 This file was extended by GNU C Library $as_me (see version.h), which was
-generated by GNU Autoconf 2.61.  Invocation command line was
+generated by GNU Autoconf 2.63.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -8981,7 +9241,16 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q`
 
 _ACEOF
 
-cat >>$CONFIG_STATUS <<_ACEOF
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 # Files that config.status was made for.
 config_files="$ac_config_files"
 config_headers="$ac_config_headers"
@@ -8989,22 +9258,23 @@ config_commands="$ac_config_commands"
 
 _ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 ac_cs_usage="\
 \`$as_me' instantiates files from templates according to the
 current configuration.
 
-Usage: $0 [OPTIONS] [FILE]...
+Usage: $0 [OPTION]... [FILE]...
 
   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
-  -q, --quiet      do not print progress messages
+  -q, --quiet, --silent
+                   do not print progress messages
   -d, --debug      don't remove temporary files
       --recheck    update $as_me by reconfiguring in the same conditions
-  --file=FILE[:TEMPLATE]
-                  instantiate the configuration file FILE
-  --header=FILE[:TEMPLATE]
-                  instantiate the configuration header FILE
+      --file=FILE[:TEMPLATE]
+                   instantiate the configuration file FILE
+      --header=FILE[:TEMPLATE]
+                   instantiate the configuration header FILE
 
 Configuration files:
 $config_files
@@ -9018,24 +9288,25 @@ $config_commands
 Report bugs to <bug-autoconf@gnu.org>."
 
 _ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
 GNU C Library config.status (see version.h)
-configured by $0, generated by GNU Autoconf 2.61,
-  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.63,
+  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
-Copyright (C) 2006 Free Software Foundation, Inc.
+Copyright (C) 2008 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
 ac_pwd='$ac_pwd'
 srcdir='$srcdir'
 INSTALL='$INSTALL'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
 _ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value.  By we need to know if files were specified by the user.
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
 ac_need_defaults=:
 while test $# != 0
 do
@@ -9057,30 +9328,36 @@ do
   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    echo "$ac_cs_version"; exit ;;
+    $as_echo "$ac_cs_version"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
-    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
     ac_need_defaults=false;;
   --header | --heade | --head | --hea )
     $ac_shift
-    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    { echo "$as_me: error: ambiguous option: $1
+    { $as_echo "$as_me: error: ambiguous option: $1
 Try \`$0 --help' for more information." >&2
    { (exit 1); exit 1; }; };;
   --help | --hel | -h )
-    echo "$ac_cs_usage"; exit ;;
+    $as_echo "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil | --si | --s)
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) { echo "$as_me: error: unrecognized option: $1
+  -*) { $as_echo "$as_me: error: unrecognized option: $1
 Try \`$0 --help' for more information." >&2
    { (exit 1); exit 1; }; } ;;
 
@@ -9099,27 +9376,29 @@ if $ac_cs_silent; then
 fi
 
 _ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-  CONFIG_SHELL=$SHELL
+  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  shift
+  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  CONFIG_SHELL='$SHELL'
   export CONFIG_SHELL
-  exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  exec "\$@"
 fi
 
 _ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 exec 5>>config.log
 {
   echo
   sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
 ## Running $as_me. ##
 _ASBOX
-  echo "$ac_log"
+  $as_echo "$ac_log"
 } >&5
 
 _ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 #
 # INIT-COMMANDS
 #
@@ -9127,7 +9406,7 @@ config_vars='$config_vars'
 
 _ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 
 # Handling of arguments.
 for ac_config_target in $ac_config_targets
@@ -9139,8 +9418,8 @@ do
     "${config_uname}") CONFIG_FILES="$CONFIG_FILES ${config_uname}" ;;
     "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
 
-  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+  *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
    { (exit 1); exit 1; }; };;
   esac
 done
@@ -9181,259 +9460,144 @@ $debug ||
   (umask 077 && mkdir "$tmp")
 } ||
 {
-   echo "$me: cannot create a temporary directory in ." >&2
+   $as_echo "$as_me: cannot create a temporary directory in ." >&2
    { (exit 1); exit 1; }
 }
 
-#
-# Set up the sed scripts for CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
 if test -n "$CONFIG_FILES"; then
 
-_ACEOF
-
-
-
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  cat >conf$$subs.sed <<_ACEOF
-SHELL!$SHELL$ac_delim
-PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-exec_prefix!$exec_prefix$ac_delim
-prefix!$prefix$ac_delim
-program_transform_name!$program_transform_name$ac_delim
-bindir!$bindir$ac_delim
-sbindir!$sbindir$ac_delim
-libexecdir!$libexecdir$ac_delim
-datarootdir!$datarootdir$ac_delim
-datadir!$datadir$ac_delim
-sysconfdir!$sysconfdir$ac_delim
-sharedstatedir!$sharedstatedir$ac_delim
-localstatedir!$localstatedir$ac_delim
-includedir!$includedir$ac_delim
-oldincludedir!$oldincludedir$ac_delim
-docdir!$docdir$ac_delim
-infodir!$infodir$ac_delim
-htmldir!$htmldir$ac_delim
-dvidir!$dvidir$ac_delim
-pdfdir!$pdfdir$ac_delim
-psdir!$psdir$ac_delim
-libdir!$libdir$ac_delim
-localedir!$localedir$ac_delim
-mandir!$mandir$ac_delim
-DEFS!$DEFS$ac_delim
-ECHO_C!$ECHO_C$ac_delim
-ECHO_N!$ECHO_N$ac_delim
-ECHO_T!$ECHO_T$ac_delim
-LIBS!$LIBS$ac_delim
-build_alias!$build_alias$ac_delim
-host_alias!$host_alias$ac_delim
-target_alias!$target_alias$ac_delim
-with_fp!$with_fp$ac_delim
-with_cvs!$with_cvs$ac_delim
-enable_check_abi!$enable_check_abi$ac_delim
-oldest_abi!$oldest_abi$ac_delim
-bindnow!$bindnow$ac_delim
-force_install!$force_install$ac_delim
-all_warnings!$all_warnings$ac_delim
-multi_arch!$multi_arch$ac_delim
-experimental_malloc!$experimental_malloc$ac_delim
-build!$build$ac_delim
-build_cpu!$build_cpu$ac_delim
-build_vendor!$build_vendor$ac_delim
-build_os!$build_os$ac_delim
-host!$host$ac_delim
-host_cpu!$host_cpu$ac_delim
-host_vendor!$host_vendor$ac_delim
-host_os!$host_os$ac_delim
-subdirs!$subdirs$ac_delim
-add_ons!$add_ons$ac_delim
-add_on_subdirs!$add_on_subdirs$ac_delim
-base_machine!$base_machine$ac_delim
-submachine!$submachine$ac_delim
-sysnames!$sysnames$ac_delim
-sysdeps_add_ons!$sysdeps_add_ons$ac_delim
-INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-INSTALL_DATA!$INSTALL_DATA$ac_delim
-LN_S!$LN_S$ac_delim
-CC!$CC$ac_delim
-CFLAGS!$CFLAGS$ac_delim
-LDFLAGS!$LDFLAGS$ac_delim
-CPPFLAGS!$CPPFLAGS$ac_delim
-ac_ct_CC!$ac_ct_CC$ac_delim
-OBJEXT!$OBJEXT$ac_delim
-BUILD_CC!$BUILD_CC$ac_delim
-cross_compiling!$cross_compiling$ac_delim
-CPP!$CPP$ac_delim
-CXX!$CXX$ac_delim
-CXXFLAGS!$CXXFLAGS$ac_delim
-ac_ct_CXX!$ac_ct_CXX$ac_delim
-AR!$AR$ac_delim
-OBJDUMP!$OBJDUMP$ac_delim
-RANLIB!$RANLIB$ac_delim
-MIG!$MIG$ac_delim
-AS!$AS$ac_delim
-LD!$LD$ac_delim
-PWD_P!$PWD_P$ac_delim
-MAKE!$MAKE$ac_delim
-MSGFMT!$MSGFMT$ac_delim
-MAKEINFO!$MAKEINFO$ac_delim
-SED!$SED$ac_delim
-AUTOCONF!$AUTOCONF$ac_delim
-SYSINCLUDES!$SYSINCLUDES$ac_delim
-CXX_SYSINCLUDES!$CXX_SYSINCLUDES$ac_delim
-libc_cv_gcc_static_libgcc!$libc_cv_gcc_static_libgcc$ac_delim
-BASH_SHELL!$BASH_SHELL$ac_delim
-libc_cv_have_bash2!$libc_cv_have_bash2$ac_delim
-KSH!$KSH$ac_delim
-libc_cv_have_ksh!$libc_cv_have_ksh$ac_delim
-AWK!$AWK$ac_delim
-_ACEOF
-
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
-    break
-  elif $ac_last_try; then
-    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
 
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
-  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
-  ac_eof=`expr $ac_eof + 1`
+ac_cr='\r'
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+  ac_cs_awk_cr='\\r'
+else
+  ac_cs_awk_cr=$ac_cr
 fi
 
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-CEOF$ac_eof
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
 _ACEOF
 
 
+{
+  echo "cat >conf$$subs.awk <<_ACEOF" &&
+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+  echo "_ACEOF"
+} >conf$$subs.sh ||
+  { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
-  cat >conf$$subs.sed <<_ACEOF
-PERL!$PERL$ac_delim
-INSTALL_INFO!$INSTALL_INFO$ac_delim
-BISON!$BISON$ac_delim
-VERSIONING!$VERSIONING$ac_delim
-libc_cv_cc_with_libunwind!$libc_cv_cc_with_libunwind$ac_delim
-libc_cv_Bgroup!$libc_cv_Bgroup$ac_delim
-libc_cv_libgcc_s_suffix!$libc_cv_libgcc_s_suffix$ac_delim
-libc_cv_as_needed!$libc_cv_as_needed$ac_delim
-ASFLAGS_config!$ASFLAGS_config$ac_delim
-libc_cv_z_combreloc!$libc_cv_z_combreloc$ac_delim
-libc_cv_z_execstack!$libc_cv_z_execstack$ac_delim
-libc_cv_fpie!$libc_cv_fpie$ac_delim
-libc_cv_hashstyle!$libc_cv_hashstyle$ac_delim
-fno_unit_at_a_time!$fno_unit_at_a_time$ac_delim
-libc_cv_ssp!$libc_cv_ssp$ac_delim
-libc_cv_gnu89_inline!$libc_cv_gnu89_inline$ac_delim
-libc_cv_have_initfini!$libc_cv_have_initfini$ac_delim
-no_whole_archive!$no_whole_archive$ac_delim
-exceptions!$exceptions$ac_delim
-libc_cv_cc_submachine!$libc_cv_cc_submachine$ac_delim
-LIBGD!$LIBGD$ac_delim
-have_libaudit!$have_libaudit$ac_delim
-have_libcap!$have_libcap$ac_delim
-have_selinux!$have_selinux$ac_delim
-GREP!$GREP$ac_delim
-EGREP!$EGREP$ac_delim
-sizeof_long_double!$sizeof_long_double$ac_delim
-libc_cv_gcc_unwind_find_fde!$libc_cv_gcc_unwind_find_fde$ac_delim
-uname_sysname!$uname_sysname$ac_delim
-uname_release!$uname_release$ac_delim
-uname_version!$uname_version$ac_delim
-old_glibc_headers!$old_glibc_headers$ac_delim
-libc_cv_slibdir!$libc_cv_slibdir$ac_delim
-libc_cv_localedir!$libc_cv_localedir$ac_delim
-libc_cv_sysconfdir!$libc_cv_sysconfdir$ac_delim
-libc_cv_rootsbindir!$libc_cv_rootsbindir$ac_delim
-libc_cv_forced_unwind!$libc_cv_forced_unwind$ac_delim
-libc_cv_cpp_asm_debuginfo!$libc_cv_cpp_asm_debuginfo$ac_delim
-use_ldconfig!$use_ldconfig$ac_delim
-ldd_rewrite_script!$ldd_rewrite_script$ac_delim
-elf!$elf$ac_delim
-xcoff!$xcoff$ac_delim
-static!$static$ac_delim
-shared!$shared$ac_delim
-pic_default!$pic_default$ac_delim
-profile!$profile$ac_delim
-omitfp!$omitfp$ac_delim
-bounded!$bounded$ac_delim
-static_nss!$static_nss$ac_delim
-nopic_initfini!$nopic_initfini$ac_delim
-DEFINES!$DEFINES$ac_delim
-mach_interface_list!$mach_interface_list$ac_delim
-VERSION!$VERSION$ac_delim
-RELEASE!$RELEASE$ac_delim
-LIBOBJS!$LIBOBJS$ac_delim
-LTLIBOBJS!$LTLIBOBJS$ac_delim
-_ACEOF
-
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 56; then
+  . ./conf$$subs.sh ||
+    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+
+  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+  if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
    { (exit 1); exit 1; }; }
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
 done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\).*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\).*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+  N
+  s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+  for (key in S) S_is_set[key] = 1
+  FS = "\a"
 
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
-  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
-  ac_eof=`expr $ac_eof + 1`
-fi
+}
+{
+  line = $ 0
+  nfields = split(line, field, "@")
+  substed = 0
+  len = length(field[1])
+  for (i = 2; i < nfields; i++) {
+    key = field[i]
+    keylen = length(key)
+    if (S_is_set[key]) {
+      value = S[key]
+      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+      len += length(value) + length(field[++i])
+      substed = 1
+    } else
+      len += 1 + keylen
+  }
+
+  print line
+}
 
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACAWK
 _ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-:end
-s/|#_!!_#|//g
-CEOF$ac_eof
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+  cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+  || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
+$as_echo "$as_me: error: could not setup config files machinery" >&2;}
+   { (exit 1); exit 1; }; }
 _ACEOF
 
-
 # VPATH may cause trouble with some makes, so we remove $(srcdir),
 # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
@@ -9449,19 +9613,133 @@ s/^[^=]*=[      ]*$//
 }'
 fi
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 fi # test -n "$CONFIG_FILES"
 
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_t"; then
+    break
+  elif $ac_last_try; then
+    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any.  Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[    ]*#[    ]*define[       ][      ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  for (key in D) D_is_set[key] = 1
+  FS = "\a"
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+  line = \$ 0
+  split(line, arg, " ")
+  if (arg[1] == "#") {
+    defundef = arg[2]
+    mac1 = arg[3]
+  } else {
+    defundef = substr(arg[1], 2)
+    mac1 = arg[2]
+  }
+  split(mac1, mac2, "(") #)
+  macro = mac2[1]
+  prefix = substr(line, 1, index(line, defundef) - 1)
+  if (D_is_set[macro]) {
+    # Preserve the white space surrounding the "#".
+    print prefix "define", macro P[macro] D[macro]
+    next
+  } else {
+    # Replace #undef with comments.  This is necessary, for example,
+    # in the case of _POSIX_SOURCE, which is predefined and required
+    # on some systems where configure will not decide to define it.
+    if (defundef == "undef") {
+      print "/*", prefix defundef, macro, "*/"
+      next
+    }
+  }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+  { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
+$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
+   { (exit 1); exit 1; }; }
+fi # test -n "$CONFIG_HEADERS"
+
 
-for ac_tag in  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS
+eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
+shift
+for ac_tag
 do
   case $ac_tag in
   :[FHLC]) ac_mode=$ac_tag; continue;;
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+  :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
+$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
    { (exit 1); exit 1; }; };;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
@@ -9490,26 +9768,38 @@ echo "$as_me: error: Invalid tag $ac_tag." >&2;}
           [\\/$]*) false;;
           *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
           esac ||
-          { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+          { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
    { (exit 1); exit 1; }; };;
       esac
-      ac_file_inputs="$ac_file_inputs $ac_f"
+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      ac_file_inputs="$ac_file_inputs '$ac_f'"
     done
 
     # Let's still pretend it is `configure' which instantiates (i.e., don't
     # use $as_me), people would be surprised to read:
     #    /* config.h.  Generated by config.status.  */
-    configure_input="Generated from "`IFS=:
-         echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+    configure_input='Generated from '`
+         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+       `' by configure.'
     if test x"$ac_file" != x-; then
       configure_input="$ac_file.  $configure_input"
-      { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
+      { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
     fi
+    # Neutralize special characters interpreted by sed in replacement strings.
+    case $configure_input in #(
+    *\&* | *\|* | *\\* )
+       ac_sed_conf_input=`$as_echo "$configure_input" |
+       sed 's/[\\\\&|]/\\\\&/g'`;; #(
+    *) ac_sed_conf_input=$configure_input;;
+    esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin";;
+    *:-:* | *:-) cat >"$tmp/stdin" \
+      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; } ;;
     esac
     ;;
   esac
@@ -9519,7 +9809,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$ac_file" : 'X\(//\)[^/]' \| \
         X"$ac_file" : 'X\(//\)$' \| \
         X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$ac_file" |
+$as_echo X"$ac_file" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -9545,7 +9835,7 @@ echo X"$ac_file" |
     as_dirs=
     while :; do
       case $as_dir in #(
-      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
       *) as_qdir=$as_dir;;
       esac
       as_dirs="'$as_qdir' $as_dirs"
@@ -9554,7 +9844,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$as_dir" : 'X\(//\)[^/]' \| \
         X"$as_dir" : 'X\(//\)$' \| \
         X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
+$as_echo X"$as_dir" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -9575,17 +9865,17 @@ echo X"$as_dir" |
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
+  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
    { (exit 1); exit 1; }; }; }
   ac_builddir=.
 
 case "$ac_dir" in
 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
 *)
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
   # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
   case $ac_top_builddir_sub in
   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -9625,12 +9915,13 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
   esac
 _ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # If the template does not know about datarootdir, expand it.
 # FIXME: This hack should be removed a few years after 2.60.
 ac_datarootdir_hack=; ac_datarootdir_seen=
 
-case `sed -n '/datarootdir/ {
+ac_sed_dataroot='
+/datarootdir/ {
   p
   q
 }
@@ -9639,13 +9930,14 @@ case `sed -n '/datarootdir/ {
 /@infodir@/p
 /@localedir@/p
 /@mandir@/p
-' $ac_file_inputs` in
+'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
 *datarootdir*) ac_datarootdir_seen=yes;;
 *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+  { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
 _ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   ac_datarootdir_hack='
   s&@datadir@&$datadir&g
   s&@docdir@&$docdir&g
@@ -9659,15 +9951,16 @@ _ACEOF
 # Neutralize VPATH when `$srcdir' = `.'.
 # Shell code in configure.ac might set extrasub.
 # FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF
-  sed "$ac_vpsub
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
 $extrasub
 _ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 :t
 /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s&@configure_input@&$configure_input&;t t
+s|@configure_input@|$ac_sed_conf_input|;t t
 s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
 s&@srcdir@&$ac_srcdir&;t t
 s&@abs_srcdir@&$ac_abs_srcdir&;t t
 s&@top_srcdir@&$ac_top_srcdir&;t t
@@ -9677,123 +9970,62 @@ s&@abs_builddir@&$ac_abs_builddir&;t t
 s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
 s&@INSTALL@&$ac_INSTALL&;t t
 $ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; }
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
   { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
   { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+  { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
 which seems to be undefined.  Please make sure it is defined." >&5
-echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
 which seems to be undefined.  Please make sure it is defined." >&2;}
 
   rm -f "$tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out"; rm -f "$tmp/out";;
-  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
-  esac
+  -) cat "$tmp/out" && rm -f "$tmp/out";;
+  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  esac \
+  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; }
  ;;
   :H)
   #
   # CONFIG_HEADER
   #
-_ACEOF
-
-# Transform confdefs.h into a sed script `conftest.defines', that
-# substitutes the proper values into config.h.in to produce config.h.
-rm -f conftest.defines conftest.tail
-# First, append a space to every undef/define line, to ease matching.
-echo 's/$/ /' >conftest.defines
-# Then, protect against being on the right side of a sed subst, or in
-# an unquoted here document, in config.status.  If some macros were
-# called several times there might be several #defines for the same
-# symbol, which is useless.  But do not sort them, since the last
-# AC_DEFINE must be honored.
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
-# NAME is the cpp macro being defined, VALUE is the value it is being given.
-# PARAMS is the parameter list in the macro definition--in most cases, it's
-# just an empty string.
-ac_dA='s,^\\([  #]*\\)[^        ]*\\([  ]*'
-ac_dB='\\)[     (].*,\\1define\\2'
-ac_dC=' '
-ac_dD=' ,'
-
-uniq confdefs.h |
-  sed -n '
-       t rset
-       :rset
-       s/^[     ]*#[    ]*define[       ][      ]*//
-       t ok
-       d
-       :ok
-       s/[\\&,]/\\&/g
-       s/^\('"$ac_word_re"'\)\(([^()]*)\)[      ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
-       s/^\('"$ac_word_re"'\)[  ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
-  ' >>conftest.defines
-
-# Remove the space that was appended to ease matching.
-# Then replace #undef with comments.  This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-# (The regexp can be short, since the line contains either #define or #undef.)
-echo 's/ $//
-s,^[    #]*u.*,/* & */,' >>conftest.defines
-
-# Break up conftest.defines:
-ac_max_sed_lines=50
-
-# First sed command is:         sed -f defines.sed $ac_file_inputs >"$tmp/out1"
-# Second one is:        sed -f defines.sed "$tmp/out1" >"$tmp/out2"
-# Third one will be:    sed -f defines.sed "$tmp/out2" >"$tmp/out1"
-# et cetera.
-ac_in='$ac_file_inputs'
-ac_out='"$tmp/out1"'
-ac_nxt='"$tmp/out2"'
-
-while :
-do
-  # Write a here document:
-    cat >>$CONFIG_STATUS <<_ACEOF
-    # First, check the format of the line:
-    cat >"\$tmp/defines.sed" <<\\CEOF
-/^[     ]*#[    ]*undef[        ][      ]*$ac_word_re[  ]*\$/b def
-/^[     ]*#[    ]*define[       ][      ]*$ac_word_re[(         ]/b def
-b
-:def
-_ACEOF
-  sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
-  echo 'CEOF
-    sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
-  ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
-  sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
-  grep . conftest.tail >/dev/null || break
-  rm -f conftest.defines
-  mv conftest.tail conftest.defines
-done
-rm -f conftest.defines conftest.tail
-
-echo "ac_result=$ac_in" >>$CONFIG_STATUS
-cat >>$CONFIG_STATUS <<\_ACEOF
   if test x"$ac_file" != x-; then
-    echo "/* $configure_input  */" >"$tmp/config.h"
-    cat "$ac_result" >>"$tmp/config.h"
-    if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
-      { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
+    {
+      $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+    } >"$tmp/config.h" \
+      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; }
+    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
-      rm -f $ac_file
-      mv "$tmp/config.h" $ac_file
+      rm -f "$ac_file"
+      mv "$tmp/config.h" "$ac_file" \
+       || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; }
     fi
   else
-    echo "/* $configure_input  */"
-    cat "$ac_result"
+    $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+      || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
+$as_echo "$as_me: error: could not create -" >&2;}
+   { (exit 1); exit 1; }; }
   fi
-  rm -f "$tmp/out12"
  ;;
 
-  :C)  { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-echo "$as_me: executing $ac_file commands" >&6;}
+  :C)  { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
  ;;
   esac
 
@@ -9814,6 +10046,11 @@ _ACEOF
 chmod +x $CONFIG_STATUS
 ac_clean_files=$ac_clean_files_save
 
+test $ac_write_fail = 0 ||
+  { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+
 
 # configure is writing to config.log, and then calls config.status.
 # config.status does its own redirection, appending to config.log.
@@ -9841,7 +10078,8 @@ fi
 #
 if test "$no_recursion" != yes; then
 
-  # Remove --cache-file and --srcdir arguments so they do not pile up.
+  # Remove --cache-file, --srcdir, and --disable-option-checking arguments
+  # so they do not pile up.
   ac_sub_configure_args=
   ac_prev=
   eval "set x $ac_configure_args"
@@ -9870,9 +10108,11 @@ if test "$no_recursion" != yes; then
       ac_prev=prefix ;;
     -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
       ;;
+    --disable-option-checking)
+      ;;
     *)
       case $ac_arg in
-      *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+      *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
       esac
       ac_sub_configure_args="$ac_sub_configure_args '$ac_arg'" ;;
     esac
@@ -9882,7 +10122,7 @@ if test "$no_recursion" != yes; then
   # in subdir configurations.
   ac_arg="--prefix=$prefix"
   case $ac_arg in
-  *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+  *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
   esac
   ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args"
 
@@ -9891,6 +10131,10 @@ if test "$no_recursion" != yes; then
     ac_sub_configure_args="--silent $ac_sub_configure_args"
   fi
 
+  # Always prepend --disable-option-checking to silence warnings, since
+  # different subdirs can have different --enable and --with options.
+  ac_sub_configure_args="--disable-option-checking $ac_sub_configure_args"
+
   ac_popdir=`pwd`
   for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue
 
@@ -9899,8 +10143,8 @@ if test "$no_recursion" != yes; then
     test -d "$srcdir/$ac_dir" || continue
 
     ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)"
-    echo "$as_me:$LINENO: $ac_msg" >&5
-    echo "$ac_msg" >&6
+    $as_echo "$as_me:$LINENO: $ac_msg" >&5
+    $as_echo "$ac_msg" >&6
     { as_dir="$ac_dir"
   case $as_dir in #(
   -*) as_dir=./$as_dir;;
@@ -9909,7 +10153,7 @@ if test "$no_recursion" != yes; then
     as_dirs=
     while :; do
       case $as_dir in #(
-      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
       *) as_qdir=$as_dir;;
       esac
       as_dirs="'$as_qdir' $as_dirs"
@@ -9918,7 +10162,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$as_dir" : 'X\(//\)[^/]' \| \
         X"$as_dir" : 'X\(//\)$' \| \
         X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
+$as_echo X"$as_dir" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
            s//\1/
            q
@@ -9939,17 +10183,17 @@ echo X"$as_dir" |
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
+  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
    { (exit 1); exit 1; }; }; }
     ac_builddir=.
 
 case "$ac_dir" in
 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
 *)
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
   # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
   case $ac_top_builddir_sub in
   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -9988,8 +10232,8 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
       # This should be Cygnus configure.
       ac_sub_configure=$ac_aux_dir/configure
     else
-      { echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5
-echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;}
+      { $as_echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5
+$as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;}
       ac_sub_configure=
     fi
 
@@ -10002,17 +10246,21 @@ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;}
        ac_sub_cache_file=$ac_top_build_prefix$cache_file ;;
       esac
 
-      { echo "$as_me:$LINENO: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
-echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
+      { $as_echo "$as_me:$LINENO: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
+$as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
       # The eval makes quoting arguments work.
       eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
           --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
-       { { echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5
-echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;}
+       { { $as_echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5
+$as_echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;}
    { (exit 1); exit 1; }; }
     fi
 
     cd "$ac_popdir"
   done
 fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+  { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
 
index 4015722d5a351585f2b9060fd3680e6bd079b75b..d54e952d91ba627805b948c397383a6d0dc71477 100644 (file)
@@ -6,6 +6,15 @@ AC_CONFIG_SRCDIR([include/features.h])
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_AUX_DIR([scripts])
 
+AC_PROG_CC
+if test $host != $build; then
+  AC_CHECK_PROGS(BUILD_CC, gcc cc)
+fi
+AC_SUBST(cross_compiling)
+AC_PROG_CPP
+# We need the C++ compiler only for testing.
+AC_PROG_CXX
+
 if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then
   AC_MSG_ERROR([you must configure in a separate build directory])
 fi
@@ -272,6 +281,41 @@ AC_ARG_ENABLE([experimental-malloc],
              [])
 AC_SUBST(experimental_malloc)
 
+AC_ARG_ENABLE([nss-crypt],
+             AC_HELP_STRING([--enable-nss-crypt],
+                            [enable libcrypt to use nss]),
+             [nss_crypt=$enableval],
+             [nss_crypt=no])
+if test x$nss_crypt = xyes; then
+  nss_includes=-I$(nss-config --includedir 2>/dev/null)
+  if test $? -ne 0; then
+    AC_MSG_ERROR([cannot find include directory with nss-config])
+  fi
+  old_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS $nss_includes"
+  AC_COMPILE_IFELSE([typedef int PRBool;
+#include <hasht.h>
+#include <nsslowhash.h>
+void f (void) { NSSLOW_Init (); }],
+            libc_cv_nss_crypt=yes,
+            AC_MSG_ERROR([
+cannot find NSS headers with lowlevel hash function interfaces]))
+  old_LIBS="$LIBS"
+  LIBS="$LIBS -lfreebl3"
+  AC_LINK_IFELSE([AC_LANG_PROGRAM([typedef int PRBool;
+#include <hasht.h>
+#include <nsslowhash.h>],
+                                 [NSSLOW_Init();])],
+                libc_cv_nss_crypt=yes,
+                AC_MSG_ERROR([
+cannot link program using lowlevel NSS hash functions]))
+  CFLAGS="$old_CFLAGS"
+  LIBS="$old_LIBS"
+else
+  libc_cv_nss_crypt=no
+fi
+AC_SUBST(libc_cv_nss_crypt)
+
 AC_CANONICAL_HOST
 
 # The way shlib-versions is used to generate soversions.mk uses a
@@ -847,14 +891,6 @@ if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then
 fi
 AC_PROG_LN_S
 
-AC_PROG_CC
-if test $host != $build; then
-  AC_CHECK_PROGS(BUILD_CC, gcc cc)
-fi
-AC_SUBST(cross_compiling)
-AC_PROG_CPP
-# We need the C++ compiler only for testing.
-AC_PROG_CXX
 LIBC_PROG_BINUTILS
 AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
 
@@ -2241,18 +2277,18 @@ if test $shared = default; then
   shared=$elf
 fi
 
-AC_CACHE_CHECK([whether -fPIC is default], pic_default,
-[pic_default=yes
+AC_CACHE_CHECK([whether -fPIC is default], libc_cv_pic_default,
+[libc_cv_pic_default=yes
 cat > conftest.c <<EOF
 #if defined __PIC__ || defined __pic__ || defined PIC || defined pic
 # error PIC is default.
 #endif
 EOF
 if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
-  pic_default=no
+  libc_cv_pic_default=no
 fi
 rm -f conftest.*])
-AC_SUBST(pic_default)
+AC_SUBST(libc_cv_pic_default)
 
 AC_SUBST(profile)
 AC_SUBST(omitfp)
index 28f82193b60433b6c3dd0e7bd57cb68ffd11496d..3f73d25ea2a0b0988db0f74a0a7448ccb29158a5 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1996, 2000, 2001, 2007 Free Software Foundation, Inc.
+# Copyright (C) 1996, 2000, 2001, 2007, 2009 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -26,10 +26,10 @@ headers := crypt.h
 extra-libs := libcrypt
 extra-libs-others := $(extra-libs)
 
-libcrypt-routines := crypt-entry md5-crypt md5 sha256-crypt sha256 \
-                    sha512-crypt sha512 crypt crypt_util
+libcrypt-routines := crypt-entry md5-crypt sha256-crypt sha512-crypt crypt \
+                    crypt_util
 
-tests := cert md5test md5c-test sha256test sha256c-test sha512test sha512c-test
+tests := cert md5c-test sha256c-test sha512c-test
 
 distribute := ufc-crypt.h crypt-private.h ufc.c speeds.c README.ufc-crypt \
              Banner md5.h sha256.h sha512.h
@@ -40,9 +40,20 @@ ifeq ($(crypt-in-libc),yes)
 routines += $(libcrypt-routines)
 endif
 
+ifeq ($(nss-crypt),yes)
+CPPFLAGS-sha256-crypt.c = -DUSE_NSS -I$(shell nss-config --includedir)
+CPPFLAGS-sha512-crypt.c = -DUSE_NSS -I$(shell nss-config --includedir)
+CPPFLAGS-md5-crypt.c = -DUSE_NSS -I$(shell nss-config --includedir)
+$(objpfx)libcrypt.so: -lfreebl3
+else
+libcrypt-routines += md5 sha256 sha512
+
+tests += md5test sha256test sha512test
+
 $(objpfx)md5test: $(objpfx)md5.o
 $(objpfx)sha256test: $(objpfx)sha256.o
 $(objpfx)sha512test: $(objpfx)sha512.o
+endif
 
 include ../Rules
 
index 8a000f0acdca5ae907db09d9d4eae595581a02b3..403cb2be5632c6cea21692093ce1a7d2f44d39db 100644 (file)
@@ -1,6 +1,6 @@
 /* One way encryption based on MD5 sum.
    Compatible with the behavior of MD5 crypt introduced in FreeBSD 2.0.
-   Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2004
+   Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2004, 2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 #include "md5.h"
 
 
+#ifdef USE_NSS
+typedef int PRBool;
+# include <hasht.h>
+# include <nsslowhash.h>
+
+# define md5_init_ctx(ctxp, nss_ctxp) \
+  do                                                                         \
+    {                                                                        \
+      if (((nss_ctxp = NSSLOWHASH_NewContext (nss_ictx, HASH_AlgMD5))         \
+          == NULL))                                                          \
+       {                                                                     \
+         if (nss_ctx != NULL)                                                \
+           NSSLOWHASH_Destroy (nss_ctx);                                     \
+         if (nss_alt_ctx != NULL)                                            \
+           NSSLOWHASH_Destroy (nss_alt_ctx);                                 \
+         return NULL;                                                        \
+       }                                                                     \
+      NSSLOWHASH_Begin (nss_ctxp);                                           \
+    }                                                                        \
+  while (0)
+
+# define md5_process_bytes(buf, len, ctxp, nss_ctxp) \
+  NSSLOWHASH_Update (nss_ctxp, (const unsigned char *) buf, len)
+
+# define md5_finish_ctx(ctxp, nss_ctxp, result) \
+  do                                                                         \
+    {                                                                        \
+      unsigned int ret;                                                              \
+      NSSLOWHASH_End (nss_ctxp, result, &ret, sizeof (result));                      \
+      assert (ret == sizeof (result));                                       \
+      NSSLOWHASH_Destroy (nss_ctxp);                                         \
+      nss_ctxp = NULL;                                                       \
+    }                                                                        \
+  while (0)
+#else
+# define md5_init_ctx(ctxp, nss_ctxp) \
+  __md5_init_ctx (ctxp)
+
+# define md5_process_bytes(buf, len, ctxp, nss_ctxp) \
+  __md5_process_bytes(buf, len, ctxp)
+
+# define md5_finish_ctx(ctxp, nss_ctxp, result) \
+  __md5_finish_ctx (ctxp, result)
+#endif
+
+
 /* Define our magic string to mark salt for MD5 "encryption"
    replacement.  This is meant to be the same as for other MD5 based
    encryption implementations.  */
@@ -56,8 +102,6 @@ __md5_crypt_r (key, salt, buffer, buflen)
 {
   unsigned char alt_result[16]
     __attribute__ ((__aligned__ (__alignof__ (md5_uint32))));
-  struct md5_ctx ctx;
-  struct md5_ctx alt_ctx;
   size_t salt_len;
   size_t key_len;
   size_t cnt;
@@ -94,43 +138,56 @@ __md5_crypt_r (key, salt, buffer, buflen)
       assert ((salt - (char *) 0) % __alignof__ (md5_uint32) == 0);
     }
 
+#ifdef USE_NSS
+  /* Initialize libfreebl3.  */
+  NSSLOWInitContext *nss_ictx = NSSLOW_Init ();
+  if (nss_ictx == NULL)
+    return NULL;
+  NSSLOWHASHContext *nss_ctx = NULL;
+  NSSLOWHASHContext *nss_alt_ctx = NULL;
+#else
+  struct md5_ctx ctx;
+  struct md5_ctx alt_ctx;
+#endif
+
   /* Prepare for the real work.  */
-  __md5_init_ctx (&ctx);
+  md5_init_ctx (&ctx, nss_ctx);
 
   /* Add the key string.  */
-  __md5_process_bytes (key, key_len, &ctx);
+  md5_process_bytes (key, key_len, &ctx, nss_ctx);
 
   /* Because the SALT argument need not always have the salt prefix we
      add it separately.  */
-  __md5_process_bytes (md5_salt_prefix, sizeof (md5_salt_prefix) - 1, &ctx);
+  md5_process_bytes (md5_salt_prefix, sizeof (md5_salt_prefix) - 1,
+                    &ctx, nss_ctx);
 
   /* The last part is the salt string.  This must be at most 8
      characters and it ends at the first `$' character (for
      compatibility with existing implementations).  */
-  __md5_process_bytes (salt, salt_len, &ctx);
+  md5_process_bytes (salt, salt_len, &ctx, nss_ctx);
 
 
   /* Compute alternate MD5 sum with input KEY, SALT, and KEY.  The
      final result will be added to the first context.  */
-  __md5_init_ctx (&alt_ctx);
+  md5_init_ctx (&alt_ctx, nss_alt_ctx);
 
   /* Add key.  */
-  __md5_process_bytes (key, key_len, &alt_ctx);
+  md5_process_bytes (key, key_len, &alt_ctx, nss_alt_ctx);
 
   /* Add salt.  */
-  __md5_process_bytes (salt, salt_len, &alt_ctx);
+  md5_process_bytes (salt, salt_len, &alt_ctx, nss_alt_ctx);
 
   /* Add key again.  */
-  __md5_process_bytes (key, key_len, &alt_ctx);
+  md5_process_bytes (key, key_len, &alt_ctx, nss_alt_ctx);
 
   /* Now get result of this (16 bytes) and add it to the other
      context.  */
-  __md5_finish_ctx (&alt_ctx, alt_result);
+  md5_finish_ctx (&alt_ctx, nss_alt_ctx, alt_result);
 
   /* Add for any character in the key one byte of the alternate sum.  */
   for (cnt = key_len; cnt > 16; cnt -= 16)
-    __md5_process_bytes (alt_result, 16, &ctx);
-  __md5_process_bytes (alt_result, cnt, &ctx);
+    md5_process_bytes (alt_result, 16, &ctx, nss_ctx);
+  md5_process_bytes (alt_result, cnt, &ctx, nss_ctx);
 
   /* For the following code we need a NUL byte.  */
   *alt_result = '\0';
@@ -140,11 +197,12 @@ __md5_crypt_r (key, salt, buffer, buflen)
      bit the first character of the key.  This does not seem to be
      what was intended but we have to follow this to be compatible.  */
   for (cnt = key_len; cnt > 0; cnt >>= 1)
-    __md5_process_bytes ((cnt & 1) != 0 ? (const char *) alt_result : key, 1,
-                        &ctx);
+    md5_process_bytes ((cnt & 1) != 0
+                      ? (const void *) alt_result : (const void *) key, 1,
+                      &ctx, nss_ctx);
 
   /* Create intermediate result.  */
-  __md5_finish_ctx (&ctx, alt_result);
+  md5_finish_ctx (&ctx, nss_ctx, alt_result);
 
   /* Now comes another weirdness.  In fear of password crackers here
      comes a quite long loop which just processes the output of the
@@ -152,32 +210,37 @@ __md5_crypt_r (key, salt, buffer, buflen)
   for (cnt = 0; cnt < 1000; ++cnt)
     {
       /* New context.  */
-      __md5_init_ctx (&ctx);
+      md5_init_ctx (&ctx, nss_ctx);
 
       /* Add key or last result.  */
       if ((cnt & 1) != 0)
-       __md5_process_bytes (key, key_len, &ctx);
+       md5_process_bytes (key, key_len, &ctx, nss_ctx);
       else
-       __md5_process_bytes (alt_result, 16, &ctx);
+       md5_process_bytes (alt_result, 16, &ctx, nss_ctx);
 
       /* Add salt for numbers not divisible by 3.  */
       if (cnt % 3 != 0)
-       __md5_process_bytes (salt, salt_len, &ctx);
+       md5_process_bytes (salt, salt_len, &ctx, nss_ctx);
 
       /* Add key for numbers not divisible by 7.  */
       if (cnt % 7 != 0)
-       __md5_process_bytes (key, key_len, &ctx);
+       md5_process_bytes (key, key_len, &ctx, nss_ctx);
 
       /* Add key or last result.  */
       if ((cnt & 1) != 0)
-       __md5_process_bytes (alt_result, 16, &ctx);
+       md5_process_bytes (alt_result, 16, &ctx, nss_ctx);
       else
-       __md5_process_bytes (key, key_len, &ctx);
+       md5_process_bytes (key, key_len, &ctx, nss_ctx);
 
       /* Create intermediate result.  */
-      __md5_finish_ctx (&ctx, alt_result);
+      md5_finish_ctx (&ctx, nss_ctx, alt_result);
     }
 
+#ifdef USE_NSS
+  /* Free libfreebl3 resources. */
+  NSSLOW_Shutdown (nss_ictx);
+#endif
+
   /* Now we can construct the result string.  It consists of three
      parts.  */
   cp = __stpncpy (buffer, md5_salt_prefix, MAX (0, buflen));
@@ -192,18 +255,17 @@ __md5_crypt_r (key, salt, buffer, buflen)
       --buflen;
     }
 
-#define b64_from_24bit(B2, B1, B0, N)                                        \
-  do {                                                                       \
-    unsigned int w = ((B2) << 16) | ((B1) << 8) | (B0);                              \
-    int n = (N);                                                             \
-    while (n-- > 0 && buflen > 0)                                            \
-      {                                                                              \
-       *cp++ = b64t[w & 0x3f];                                               \
-       --buflen;                                                             \
-       w >>= 6;                                                              \
-      }                                                                              \
-  } while (0)
-
+  void b64_from_24bit (unsigned int b2, unsigned int b1, unsigned int b0,
+                      int n)
+  {
+    unsigned int w = (b2 << 16) | (b1 << 8) | b0;
+    while (n-- > 0 && buflen > 0)
+      {
+       *cp++ = b64t[w & 0x3f];
+       --buflen;
+       w >>= 6;
+      }
+  }
 
   b64_from_24bit (alt_result[0], alt_result[6], alt_result[12], 4);
   b64_from_24bit (alt_result[1], alt_result[7], alt_result[13], 4);
@@ -223,10 +285,12 @@ __md5_crypt_r (key, salt, buffer, buflen)
      attaching to processes or reading core dumps cannot get any
      information.  We do it in this way to clear correct_words[]
      inside the MD5 implementation as well.  */
+#ifndef USE_NSS
   __md5_init_ctx (&ctx);
   __md5_finish_ctx (&ctx, alt_result);
   memset (&ctx, '\0', sizeof (ctx));
   memset (&alt_ctx, '\0', sizeof (alt_ctx));
+#endif
   if (copied_key != NULL)
     memset (copied_key, '\0', key_len);
   if (copied_salt != NULL)
index dbd29e0efd93627a8ab0694757be240ca4f33240..0131c803ca2bec3485500f94fa3628be6ec792ae 100644 (file)
@@ -1,5 +1,5 @@
 /* One way encryption based on SHA256 sum.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2007.
 
 #include "sha256.h"
 
 
+#ifdef USE_NSS
+typedef int PRBool;
+# include <hasht.h>
+# include <nsslowhash.h>
+
+# define sha256_init_ctx(ctxp, nss_ctxp) \
+  do                                                                         \
+    {                                                                        \
+      if (((nss_ctxp = NSSLOWHASH_NewContext (nss_ictx, HASH_AlgSHA256))      \
+          == NULL))                                                          \
+       {                                                                     \
+         if (nss_ctx != NULL)                                                \
+           NSSLOWHASH_Destroy (nss_ctx);                                     \
+         if (nss_alt_ctx != NULL)                                            \
+           NSSLOWHASH_Destroy (nss_alt_ctx);                                 \
+         return NULL;                                                        \
+       }                                                                     \
+      NSSLOWHASH_Begin (nss_ctxp);                                           \
+    }                                                                        \
+  while (0)
+
+# define sha256_process_bytes(buf, len, ctxp, nss_ctxp) \
+  NSSLOWHASH_Update (nss_ctxp, (const unsigned char *) buf, len)
+
+# define sha256_finish_ctx(ctxp, nss_ctxp, result) \
+  do                                                                         \
+    {                                                                        \
+      unsigned int ret;                                                              \
+      NSSLOWHASH_End (nss_ctxp, result, &ret, sizeof (result));                      \
+      assert (ret == sizeof (result));                                       \
+      NSSLOWHASH_Destroy (nss_ctxp);                                         \
+      nss_ctxp = NULL;                                                       \
+    }                                                                        \
+  while (0)
+#else
+# define sha256_init_ctx(ctxp, nss_ctxp) \
+  __sha256_init_ctx (ctxp)
+
+# define sha256_process_bytes(buf, len, ctxp, nss_ctxp) \
+  __sha256_process_bytes(buf, len, ctxp)
+
+# define sha256_finish_ctx(ctxp, nss_ctxp, result) \
+  __sha256_finish_ctx (ctxp, result)
+#endif
+
+
 /* Define our magic string to mark salt for SHA256 "encryption"
    replacement.  */
 static const char sha256_salt_prefix[] = "$5$";
@@ -66,8 +112,6 @@ __sha256_crypt_r (key, salt, buffer, buflen)
     __attribute__ ((__aligned__ (__alignof__ (uint32_t))));
   unsigned char temp_result[32]
     __attribute__ ((__aligned__ (__alignof__ (uint32_t))));
-  struct sha256_ctx ctx;
-  struct sha256_ctx alt_ctx;
   size_t salt_len;
   size_t key_len;
   size_t cnt;
@@ -123,59 +167,71 @@ __sha256_crypt_r (key, salt, buffer, buflen)
       assert ((salt - (char *) 0) % __alignof__ (uint32_t) == 0);
     }
 
+#ifdef USE_NSS
+  /* Initialize libfreebl3.  */
+  NSSLOWInitContext *nss_ictx = NSSLOW_Init ();
+  if (nss_ictx == NULL)
+    return NULL;
+  NSSLOWHASHContext *nss_ctx = NULL;
+  NSSLOWHASHContext *nss_alt_ctx = NULL;
+#else
+  struct sha256_ctx ctx;
+  struct sha256_ctx alt_ctx;
+#endif
+
   /* Prepare for the real work.  */
-  __sha256_init_ctx (&ctx);
+  sha256_init_ctx (&ctx, nss_ctx);
 
   /* Add the key string.  */
-  __sha256_process_bytes (key, key_len, &ctx);
+  sha256_process_bytes (key, key_len, &ctx, nss_ctx);
 
   /* The last part is the salt string.  This must be at most 16
      characters and it ends at the first `$' character.  */
-  __sha256_process_bytes (salt, salt_len, &ctx);
+  sha256_process_bytes (salt, salt_len, &ctx, nss_ctx);
 
 
   /* Compute alternate SHA256 sum with input KEY, SALT, and KEY.  The
      final result will be added to the first context.  */
-  __sha256_init_ctx (&alt_ctx);
+  sha256_init_ctx (&alt_ctx, nss_alt_ctx);
 
   /* Add key.  */
-  __sha256_process_bytes (key, key_len, &alt_ctx);
+  sha256_process_bytes (key, key_len, &alt_ctx, nss_alt_ctx);
 
   /* Add salt.  */
-  __sha256_process_bytes (salt, salt_len, &alt_ctx);
+  sha256_process_bytes (salt, salt_len, &alt_ctx, nss_alt_ctx);
 
   /* Add key again.  */
-  __sha256_process_bytes (key, key_len, &alt_ctx);
+  sha256_process_bytes (key, key_len, &alt_ctx, nss_alt_ctx);
 
   /* Now get result of this (32 bytes) and add it to the other
      context.  */
-  __sha256_finish_ctx (&alt_ctx, alt_result);
+  sha256_finish_ctx (&alt_ctx, nss_alt_ctx, alt_result);
 
   /* Add for any character in the key one byte of the alternate sum.  */
   for (cnt = key_len; cnt > 32; cnt -= 32)
-    __sha256_process_bytes (alt_result, 32, &ctx);
-  __sha256_process_bytes (alt_result, cnt, &ctx);
+    sha256_process_bytes (alt_result, 32, &ctx, nss_ctx);
+  sha256_process_bytes (alt_result, cnt, &ctx, nss_ctx);
 
   /* Take the binary representation of the length of the key and for every
      1 add the alternate sum, for every 0 the key.  */
   for (cnt = key_len; cnt > 0; cnt >>= 1)
     if ((cnt & 1) != 0)
-      __sha256_process_bytes (alt_result, 32, &ctx);
+      sha256_process_bytes (alt_result, 32, &ctx, nss_ctx);
     else
-      __sha256_process_bytes (key, key_len, &ctx);
+      sha256_process_bytes (key, key_len, &ctx, nss_ctx);
 
   /* Create intermediate result.  */
-  __sha256_finish_ctx (&ctx, alt_result);
+  sha256_finish_ctx (&ctx, nss_ctx, alt_result);
 
   /* Start computation of P byte sequence.  */
-  __sha256_init_ctx (&alt_ctx);
+  sha256_init_ctx (&alt_ctx, nss_alt_ctx);
 
   /* For every character in the password add the entire password.  */
   for (cnt = 0; cnt < key_len; ++cnt)
-    __sha256_process_bytes (key, key_len, &alt_ctx);
+    sha256_process_bytes (key, key_len, &alt_ctx, nss_alt_ctx);
 
   /* Finish the digest.  */
-  __sha256_finish_ctx (&alt_ctx, temp_result);
+  sha256_finish_ctx (&alt_ctx, nss_alt_ctx, temp_result);
 
   /* Create byte sequence P.  */
   cp = p_bytes = alloca (key_len);
@@ -184,14 +240,14 @@ __sha256_crypt_r (key, salt, buffer, buflen)
   memcpy (cp, temp_result, cnt);
 
   /* Start computation of S byte sequence.  */
-  __sha256_init_ctx (&alt_ctx);
+  sha256_init_ctx (&alt_ctx, nss_alt_ctx);
 
   /* For every character in the password add the entire password.  */
   for (cnt = 0; cnt < 16 + alt_result[0]; ++cnt)
-    __sha256_process_bytes (salt, salt_len, &alt_ctx);
+    sha256_process_bytes (salt, salt_len, &alt_ctx, nss_alt_ctx);
 
   /* Finish the digest.  */
-  __sha256_finish_ctx (&alt_ctx, temp_result);
+  sha256_finish_ctx (&alt_ctx, nss_alt_ctx, temp_result);
 
   /* Create byte sequence S.  */
   cp = s_bytes = alloca (salt_len);
@@ -204,32 +260,37 @@ __sha256_crypt_r (key, salt, buffer, buflen)
   for (cnt = 0; cnt < rounds; ++cnt)
     {
       /* New context.  */
-      __sha256_init_ctx (&ctx);
+      sha256_init_ctx (&ctx, nss_ctx);
 
       /* Add key or last result.  */
       if ((cnt & 1) != 0)
-       __sha256_process_bytes (p_bytes, key_len, &ctx);
+       sha256_process_bytes (p_bytes, key_len, &ctx, nss_ctx);
       else
-       __sha256_process_bytes (alt_result, 32, &ctx);
+       sha256_process_bytes (alt_result, 32, &ctx, nss_ctx);
 
       /* Add salt for numbers not divisible by 3.  */
       if (cnt % 3 != 0)
-       __sha256_process_bytes (s_bytes, salt_len, &ctx);
+       sha256_process_bytes (s_bytes, salt_len, &ctx, nss_ctx);
 
       /* Add key for numbers not divisible by 7.  */
       if (cnt % 7 != 0)
-       __sha256_process_bytes (p_bytes, key_len, &ctx);
+       sha256_process_bytes (p_bytes, key_len, &ctx, nss_ctx);
 
       /* Add key or last result.  */
       if ((cnt & 1) != 0)
-       __sha256_process_bytes (alt_result, 32, &ctx);
+       sha256_process_bytes (alt_result, 32, &ctx, nss_ctx);
       else
-       __sha256_process_bytes (p_bytes, key_len, &ctx);
+       sha256_process_bytes (p_bytes, key_len, &ctx, nss_ctx);
 
       /* Create intermediate result.  */
-      __sha256_finish_ctx (&ctx, alt_result);
+      sha256_finish_ctx (&ctx, nss_ctx, alt_result);
     }
 
+#ifdef USE_NSS
+  /* Free libfreebl3 resources. */
+  NSSLOW_Shutdown (nss_ictx);
+#endif
+
   /* Now we can construct the result string.  It consists of three
      parts.  */
   cp = __stpncpy (buffer, sha256_salt_prefix, MAX (0, buflen));
@@ -252,17 +313,17 @@ __sha256_crypt_r (key, salt, buffer, buflen)
       --buflen;
     }
 
-#define b64_from_24bit(B2, B1, B0, N)                                        \
-  do {                                                                       \
-    unsigned int w = ((B2) << 16) | ((B1) << 8) | (B0);                              \
-    int n = (N);                                                             \
-    while (n-- > 0 && buflen > 0)                                            \
-      {                                                                              \
-       *cp++ = b64t[w & 0x3f];                                               \
-       --buflen;                                                             \
-       w >>= 6;                                                              \
-      }                                                                              \
-  } while (0)
+  void b64_from_24bit (unsigned int b2, unsigned int b1, unsigned int b0,
+                      int n)
+  {
+    unsigned int w = (b2 << 16) | (b1 << 8) | b0;
+    while (n-- > 0 && buflen > 0)
+      {
+       *cp++ = b64t[w & 0x3f];
+       --buflen;
+       w >>= 6;
+      }
+  }
 
   b64_from_24bit (alt_result[0], alt_result[10], alt_result[20], 4);
   b64_from_24bit (alt_result[21], alt_result[1], alt_result[11], 4);
@@ -287,13 +348,15 @@ __sha256_crypt_r (key, salt, buffer, buflen)
      attaching to processes or reading core dumps cannot get any
      information.  We do it in this way to clear correct_words[]
      inside the SHA256 implementation as well.  */
+#ifndef USE_NSS
   __sha256_init_ctx (&ctx);
   __sha256_finish_ctx (&ctx, alt_result);
+  memset (&ctx, '\0', sizeof (ctx));
+  memset (&alt_ctx, '\0', sizeof (alt_ctx));
+#endif
   memset (temp_result, '\0', sizeof (temp_result));
   memset (p_bytes, '\0', key_len);
   memset (s_bytes, '\0', salt_len);
-  memset (&ctx, '\0', sizeof (ctx));
-  memset (&alt_ctx, '\0', sizeof (alt_ctx));
   if (copied_key != NULL)
     memset (copied_key, '\0', key_len);
   if (copied_salt != NULL)
index ea96e525fb9f8d8c7552ab645211cd9ca6170882..523659e0cc5c397e6d33661b16ec2a4a72d057a0 100644 (file)
@@ -1,5 +1,5 @@
 /* One way encryption based on SHA512 sum.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2007.
 
 #include "sha512.h"
 
 
+#ifdef USE_NSS
+typedef int PRBool;
+# include <hasht.h>
+# include <nsslowhash.h>
+
+# define sha512_init_ctx(ctxp, nss_ctxp) \
+  do                                                                         \
+    {                                                                        \
+      if (((nss_ctxp = NSSLOWHASH_NewContext (nss_ictx, HASH_AlgSHA512))      \
+          == NULL))                                                          \
+       {                                                                     \
+         if (nss_ctx != NULL)                                                \
+           NSSLOWHASH_Destroy (nss_ctx);                                     \
+         if (nss_alt_ctx != NULL)                                            \
+           NSSLOWHASH_Destroy (nss_alt_ctx);                                 \
+         return NULL;                                                        \
+       }                                                                     \
+      NSSLOWHASH_Begin (nss_ctxp);                                           \
+    }                                                                        \
+  while (0)
+
+# define sha512_process_bytes(buf, len, ctxp, nss_ctxp) \
+  NSSLOWHASH_Update (nss_ctxp, (const unsigned char *) buf, len)
+
+# define sha512_finish_ctx(ctxp, nss_ctxp, result) \
+  do                                                                         \
+    {                                                                        \
+      unsigned int ret;                                                              \
+      NSSLOWHASH_End (nss_ctxp, result, &ret, sizeof (result));                      \
+      assert (ret == sizeof (result));                                       \
+      NSSLOWHASH_Destroy (nss_ctxp);                                         \
+      nss_ctxp = NULL;                                                       \
+    }                                                                        \
+  while (0)
+#else
+# define sha512_init_ctx(ctxp, nss_ctxp) \
+  __sha512_init_ctx (ctxp)
+
+# define sha512_process_bytes(buf, len, ctxp, nss_ctxp) \
+  __sha512_process_bytes(buf, len, ctxp)
+
+# define sha512_finish_ctx(ctxp, nss_ctxp, result) \
+  __sha512_finish_ctx (ctxp, result)
+#endif
+
+
 /* Define our magic string to mark salt for SHA512 "encryption"
    replacement.  */
 static const char sha512_salt_prefix[] = "$6$";
@@ -66,8 +112,6 @@ __sha512_crypt_r (key, salt, buffer, buflen)
     __attribute__ ((__aligned__ (__alignof__ (uint64_t))));
   unsigned char temp_result[64]
     __attribute__ ((__aligned__ (__alignof__ (uint64_t))));
-  struct sha512_ctx ctx;
-  struct sha512_ctx alt_ctx;
   size_t salt_len;
   size_t key_len;
   size_t cnt;
@@ -123,59 +167,71 @@ __sha512_crypt_r (key, salt, buffer, buflen)
       assert ((salt - (char *) 0) % __alignof__ (uint64_t) == 0);
     }
 
+#ifdef USE_NSS
+  /* Initialize libfreebl3.  */
+  NSSLOWInitContext *nss_ictx = NSSLOW_Init ();
+  if (nss_ictx == NULL)
+    return NULL;
+  NSSLOWHASHContext *nss_ctx = NULL;
+  NSSLOWHASHContext *nss_alt_ctx = NULL;
+#else
+  struct sha512_ctx ctx;
+  struct sha512_ctx alt_ctx;
+#endif
+
   /* Prepare for the real work.  */
-  __sha512_init_ctx (&ctx);
+  sha512_init_ctx (&ctx, nss_ctx);
 
   /* Add the key string.  */
-  __sha512_process_bytes (key, key_len, &ctx);
+  sha512_process_bytes (key, key_len, &ctx, nss_ctx);
 
   /* The last part is the salt string.  This must be at most 16
      characters and it ends at the first `$' character.  */
-  __sha512_process_bytes (salt, salt_len, &ctx);
+  sha512_process_bytes (salt, salt_len, &ctx, nss_ctx);
 
 
   /* Compute alternate SHA512 sum with input KEY, SALT, and KEY.  The
      final result will be added to the first context.  */
-  __sha512_init_ctx (&alt_ctx);
+  sha512_init_ctx (&alt_ctx, nss_alt_ctx);
 
   /* Add key.  */
-  __sha512_process_bytes (key, key_len, &alt_ctx);
+  sha512_process_bytes (key, key_len, &alt_ctx, nss_alt_ctx);
 
   /* Add salt.  */
-  __sha512_process_bytes (salt, salt_len, &alt_ctx);
+  sha512_process_bytes (salt, salt_len, &alt_ctx, nss_alt_ctx);
 
   /* Add key again.  */
-  __sha512_process_bytes (key, key_len, &alt_ctx);
+  sha512_process_bytes (key, key_len, &alt_ctx, nss_alt_ctx);
 
   /* Now get result of this (64 bytes) and add it to the other
      context.  */
-  __sha512_finish_ctx (&alt_ctx, alt_result);
+  sha512_finish_ctx (&alt_ctx, nss_alt_ctx, alt_result);
 
   /* Add for any character in the key one byte of the alternate sum.  */
   for (cnt = key_len; cnt > 64; cnt -= 64)
-    __sha512_process_bytes (alt_result, 64, &ctx);
-  __sha512_process_bytes (alt_result, cnt, &ctx);
+    sha512_process_bytes (alt_result, 64, &ctx, nss_ctx);
+  sha512_process_bytes (alt_result, cnt, &ctx, nss_ctx);
 
   /* Take the binary representation of the length of the key and for every
      1 add the alternate sum, for every 0 the key.  */
   for (cnt = key_len; cnt > 0; cnt >>= 1)
     if ((cnt & 1) != 0)
-      __sha512_process_bytes (alt_result, 64, &ctx);
+      sha512_process_bytes (alt_result, 64, &ctx, nss_ctx);
     else
-      __sha512_process_bytes (key, key_len, &ctx);
+      sha512_process_bytes (key, key_len, &ctx, nss_ctx);
 
   /* Create intermediate result.  */
-  __sha512_finish_ctx (&ctx, alt_result);
+  sha512_finish_ctx (&ctx, nss_ctx, alt_result);
 
   /* Start computation of P byte sequence.  */
-  __sha512_init_ctx (&alt_ctx);
+  sha512_init_ctx (&alt_ctx, nss_alt_ctx);
 
   /* For every character in the password add the entire password.  */
   for (cnt = 0; cnt < key_len; ++cnt)
-    __sha512_process_bytes (key, key_len, &alt_ctx);
+    sha512_process_bytes (key, key_len, &alt_ctx, nss_alt_ctx);
 
   /* Finish the digest.  */
-  __sha512_finish_ctx (&alt_ctx, temp_result);
+  sha512_finish_ctx (&alt_ctx, nss_alt_ctx, temp_result);
 
   /* Create byte sequence P.  */
   cp = p_bytes = alloca (key_len);
@@ -184,14 +240,14 @@ __sha512_crypt_r (key, salt, buffer, buflen)
   memcpy (cp, temp_result, cnt);
 
   /* Start computation of S byte sequence.  */
-  __sha512_init_ctx (&alt_ctx);
+  sha512_init_ctx (&alt_ctx, nss_alt_ctx);
 
   /* For every character in the password add the entire password.  */
   for (cnt = 0; cnt < 16 + alt_result[0]; ++cnt)
-    __sha512_process_bytes (salt, salt_len, &alt_ctx);
+    sha512_process_bytes (salt, salt_len, &alt_ctx, nss_alt_ctx);
 
   /* Finish the digest.  */
-  __sha512_finish_ctx (&alt_ctx, temp_result);
+  sha512_finish_ctx (&alt_ctx, nss_alt_ctx, temp_result);
 
   /* Create byte sequence S.  */
   cp = s_bytes = alloca (salt_len);
@@ -204,32 +260,37 @@ __sha512_crypt_r (key, salt, buffer, buflen)
   for (cnt = 0; cnt < rounds; ++cnt)
     {
       /* New context.  */
-      __sha512_init_ctx (&ctx);
+      sha512_init_ctx (&ctx, nss_ctx);
 
       /* Add key or last result.  */
       if ((cnt & 1) != 0)
-       __sha512_process_bytes (p_bytes, key_len, &ctx);
+       sha512_process_bytes (p_bytes, key_len, &ctx, nss_ctx);
       else
-       __sha512_process_bytes (alt_result, 64, &ctx);
+       sha512_process_bytes (alt_result, 64, &ctx, nss_ctx);
 
       /* Add salt for numbers not divisible by 3.  */
       if (cnt % 3 != 0)
-       __sha512_process_bytes (s_bytes, salt_len, &ctx);
+       sha512_process_bytes (s_bytes, salt_len, &ctx, nss_ctx);
 
       /* Add key for numbers not divisible by 7.  */
       if (cnt % 7 != 0)
-       __sha512_process_bytes (p_bytes, key_len, &ctx);
+       sha512_process_bytes (p_bytes, key_len, &ctx, nss_ctx);
 
       /* Add key or last result.  */
       if ((cnt & 1) != 0)
-       __sha512_process_bytes (alt_result, 64, &ctx);
+       sha512_process_bytes (alt_result, 64, &ctx, nss_ctx);
       else
-       __sha512_process_bytes (p_bytes, key_len, &ctx);
+       sha512_process_bytes (p_bytes, key_len, &ctx, nss_ctx);
 
       /* Create intermediate result.  */
-      __sha512_finish_ctx (&ctx, alt_result);
+      sha512_finish_ctx (&ctx, nss_ctx, alt_result);
     }
 
+#ifdef USE_NSS
+  /* Free libfreebl3 resources. */
+  NSSLOW_Shutdown (nss_ictx);
+#endif
+
   /* Now we can construct the result string.  It consists of three
      parts.  */
   cp = __stpncpy (buffer, sha512_salt_prefix, MAX (0, buflen));
@@ -252,17 +313,17 @@ __sha512_crypt_r (key, salt, buffer, buflen)
       --buflen;
     }
 
-#define b64_from_24bit(B2, B1, B0, N)                                        \
-  do {                                                                       \
-    unsigned int w = ((B2) << 16) | ((B1) << 8) | (B0);                              \
-    int n = (N);                                                             \
-    while (n-- > 0 && buflen > 0)                                            \
-      {                                                                              \
-       *cp++ = b64t[w & 0x3f];                                               \
-       --buflen;                                                             \
-       w >>= 6;                                                              \
-      }                                                                              \
-  } while (0)
+  void b64_from_24bit (unsigned int b2, unsigned int b1, unsigned int b0,
+                      int n)
+  {
+    unsigned int w = (b2 << 16) | (b1 << 8) | b0;
+    while (n-- > 0 && buflen > 0)
+      {
+       *cp++ = b64t[w & 0x3f];
+       --buflen;
+       w >>= 6;
+      }
+  }
 
   b64_from_24bit (alt_result[0], alt_result[21], alt_result[42], 4);
   b64_from_24bit (alt_result[22], alt_result[43], alt_result[1], 4);
@@ -299,13 +360,15 @@ __sha512_crypt_r (key, salt, buffer, buflen)
      attaching to processes or reading core dumps cannot get any
      information.  We do it in this way to clear correct_words[]
      inside the SHA512 implementation as well.  */
+#ifndef USE_NSS
   __sha512_init_ctx (&ctx);
   __sha512_finish_ctx (&ctx, alt_result);
+  memset (&ctx, '\0', sizeof (ctx));
+  memset (&alt_ctx, '\0', sizeof (alt_ctx));
+#endif
   memset (temp_result, '\0', sizeof (temp_result));
   memset (p_bytes, '\0', key_len);
   memset (s_bytes, '\0', salt_len);
-  memset (&ctx, '\0', sizeof (ctx));
-  memset (&alt_ctx, '\0', sizeof (alt_ctx));
   if (copied_key != NULL)
     memset (copied_key, '\0', key_len);
   if (copied_salt != NULL)
index cd74d510ee5ac8c92eb39e87283f9973c8d71c0a..6259350260e3e094b56f697cf19fafb49f9c4d28 100644 (file)
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -1,5 +1,5 @@
 /* This file defines standard ELF types, structures, and macros.
-   Copyright (C) 1995-2003,2004,2005,2006,2007,2008
+   Copyright (C) 1995-2003,2004,2005,2006,2007,2008,2009
        Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -1246,6 +1246,7 @@ typedef struct
 #define R_SPARC_PC_LM22                39      /* Low miggle 22 bits of ... */
 #define R_SPARC_WDISP16                40      /* PC relative 16 bit shifted */
 #define R_SPARC_WDISP19                41      /* PC relative 19 bit shifted */
+#define R_SPARC_GLOB_JMP       42      /* was part of v9 ABI but was removed */
 #define R_SPARC_7              43      /* Direct 7 bit */
 #define R_SPARC_5              44      /* Direct 5 bit */
 #define R_SPARC_6              45      /* Direct 6 bit */
@@ -1283,8 +1284,19 @@ typedef struct
 #define R_SPARC_TLS_DTPOFF64   77
 #define R_SPARC_TLS_TPOFF32    78
 #define R_SPARC_TLS_TPOFF64    79
+#define R_SPARC_GOTDATA_HIX22  80
+#define R_SPARC_GOTDATA_LOX10  81
+#define R_SPARC_GOTDATA_OP_HIX22       82
+#define R_SPARC_GOTDATA_OP_LOX10       83
+#define R_SPARC_GOTDATA_OP     84
+#define R_SPARC_H34            85
+#define R_SPARC_SIZE32         86
+#define R_SPARC_SIZE64         87
+#define R_SPARC_GNU_VTINHERIT  250
+#define R_SPARC_GNU_VTENTRY    251
+#define R_SPARC_REV32          252
 /* Keep this the last entry.  */
-#define R_SPARC_NUM            80
+#define R_SPARC_NUM            253
 
 /* For Sparc64, legal values for d_tag of Elf64_Dyn.  */
 
index 7bf118a7a88e377eb6390411f3063665f428716c..5d5323430dfe762ca08ee8bbfe883bbdfd2fc864 100644 (file)
@@ -3,5 +3,5 @@ glibc-branch := fedora
 glibc-base := HEAD
 DIST_BRANCH := devel
 COLLECTION := dist-f8
-fedora-sync-date := 2009-04-01 09:35 UTC
-fedora-sync-tag := fedora-glibc-20090401T0935
+fedora-sync-date := 2009-04-07 05:45 UTC
+fedora-sync-tag := fedora-glibc-20090407T0545
index 067ef2e8e437be58e37a28e69f33c8fd874bee73..92b7d620515a4a362598a47471d4ea60495deef9 100644 (file)
@@ -19,7 +19,7 @@
 Summary: The GNU libc libraries
 Name: glibc
 Version: @glibcversion@
-Release: 12
+Release: 13
 # GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
 # Things that are linked directly into dynamically linked programs
 # and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
@@ -48,7 +48,7 @@ Requires(pre): basesystem, libgcc
 # This is for building auxiliary programs like memusage, nscd
 # For initial glibc bootstraps it can be commented out
 BuildRequires: gd-devel libpng-devel zlib-devel texinfo, libselinux-devel >= 1.33.4-3
-BuildRequires: audit-libs-devel >= 1.1.3, sed >= 3.95, libcap-devel, gettext
+BuildRequires: audit-libs-devel >= 1.1.3, sed >= 3.95, libcap-devel, gettext, nss-devel
 BuildRequires: /bin/ps, /bin/kill, /bin/awk
 # This is to ensure that __frame_state_for is exported by glibc
 # will be compatible with egcs 1.x.y
@@ -320,7 +320,7 @@ CC="$GCC" CXX="$GXX" CFLAGS="$build_CFLAGS" ../configure --prefix=%{_prefix} \
        --with-headers=%{_prefix}/include --enable-bind-now \
        --with-tls --with-__thread --build %{nptl_target_cpu}-redhat-linux \
        --host %{nptl_target_cpu}-redhat-linux \
-       --disable-profile --enable-experimental-malloc
+       --disable-profile --enable-experimental-malloc --enable-nss-crypt
 make %{?_smp_mflags} -r CFLAGS="$build_CFLAGS" PARALLELMFLAGS=-s
 
 cd ..
@@ -1009,6 +1009,11 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Tue Apr  7 2009 Jakub Jelinek <jakub@redhat.com> 2.9.90-13
+- update from trunk
+- configure with --enable-nss-crypt
+- temporarily revert recent strverscmp cleanups (#494457)
+
 * Wed Apr  1 2009 Jakub Jelinek <jakub@redhat.com> 2.9.90-12
 - update from trunk
 - configure with --enable-experimental-malloc
index fd04655f73889b82596893558f25d447f5ad726c..9c0a28b97969b0dbe6c775a6cb5c2baf7bb9af5f 100644 (file)
@@ -1,3 +1,9 @@
+2009-04-06  Ulrich Drepper  <drepper@redhat.com>
+
+       * locales/ks_IN: New file.
+       Patch by Mohammad Nayeem <mohammad.nayeem@gmail.com> and
+       Pravin Satpute <psatpute@redhat.com>.
+
 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
 
        [BZ #9985]
diff --git a/localedata/locales/ks_IN b/localedata/locales/ks_IN
new file mode 100644 (file)
index 0000000..5d53c93
--- /dev/null
@@ -0,0 +1,211 @@
+comment_char    %
+escape_char     /
+% Kashmiri language locale for India.
+% Contributed by Pravin Satpute <psatpute@redhat.com> and
+% Mr. Mohammad Nayeem <mohammad.nayeem@gmail.com>
+
+LC_IDENTIFICATION
+
+title      "Kashmiri language locale for India"
+source     "Red Hat, Pune"
+address    "Marisfot III, Marigold Premises, East-Wing, Kalyaninagar, Pune, India-411014"
+contact    ""
+email      "bug-glibc-locales@gnu.org"
+tel         ""
+fax         ""
+language    "Kashmiri"
+territory   "India"
+revision    "1.0"
+date        "2009,April,06"
+%
+category  "ks_IN:2009";LC_IDENTIFICATION
+category  "ks_IN:2009";LC_CTYPE
+category  "ks_IN:2009";LC_COLLATE
+category  "ks_IN:2009";LC_TIME
+category  "ks_IN:2009";LC_NUMERIC
+category  "ks_IN:2009";LC_MONETARY
+category  "ks_IN:2009";LC_MESSAGES
+category  "ks_IN:2009";LC_PAPER
+category  "ks_IN:2009";LC_NAME
+category  "ks_IN:2009";LC_ADDRESS
+category  "ks_IN:2009";LC_TELEPHONE
+
+
+END LC_IDENTIFICATION
+
+
+LC_CTYPE
+copy "i18n"
+
+translit_start
+include  "translit_combining";""
+translit_end
+END LC_CTYPE
+
+
+LC_COLLATE
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
+END LC_COLLATE
+
+
+LC_MONETARY
+% This is the POSIX Locale definition the LC_MONETARY category
+% generated by IBM Basic CountryPack Transformer.
+% These are generated based on XML base Locale defintion file
+% for IBM Class for Unicode.
+%
+int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+currency_symbol       "<U20A8>"
+mon_decimal_point     "<U002E>"
+mon_thousands_sep     "<U002C>"
+mon_grouping          3
+positive_sign         ""
+negative_sign         "<U002D>"
+int_frac_digits       2
+frac_digits           2
+p_cs_precedes         1
+p_sep_by_space        1
+n_cs_precedes         1
+n_sep_by_space        1
+p_sign_posn           1
+n_sign_posn           1
+%
+END LC_MONETARY
+
+
+LC_NUMERIC
+copy "hi_IN"
+END LC_NUMERIC
+
+
+LC_TIME
+% This is the POSIX Locale definition for the LC_TIME category
+% generated by IBM Basic CountryPack Transformer.
+% These are generated based on XML base Locale definition file
+% for IBM Class for Unicode.
+%
+% Abbreviated weekday names (%a)
+abday       "<U0622><U062A><U0647><U0648><U0627><U0631>";/
+           "<U0698><U0621><U0646><U062A><U0631><U0648><U0627><U0631>";/
+            "<U0628><U0648><U0621><U06BA><U0648><U0627><U0631>";/
+           "<U0628><U0648><U062F><U0647><U0648><U0627><U0631>";/
+            "<U0628><U0631><U0649><U0633><U0648><U0627><U0631>";/
+            "<U062C><U0645><U0639>";"<U0628><U0679><U0648><U0627><U0631>"
+%
+% Full weekday names (%A)
+day       "<U0622><U062A><U0647><U0648><U0627><U0631>";/
+           "<U0698><U0621><U0646><U062F><U0631><U0648><U0627><U0631>";/
+            "<U0628><U0648><U0621><U06BA><U0648><U0627><U0631>";/
+           "<U0628><U0648><U062F><U0647><U0648><U0627><U0631>";/
+            "<U0628><U0631><U0649><U0633><U0648><U0627><U0631>";/
+            "<U062C><U0645><U0639>";"<U0628><U0679><U0648><U0627><U0631>"
+%
+% Abbreviated month names (%b)
+abmon      "<U062C><U0646><U0648><U0631><U06CC>";/
+           "<U0641><U0631><U0648><U0631><U06CC>";/
+           "<U0645><U0627><U0631><U0686>";/
+           "<U0627><U067E><U0631><U06CC><U0644>";/
+           "<U0645><U0626>";/
+           "<U062C><U0648><U0646>";/
+           "<U062C><U064F><U0644><U0626>";/
+           "<U0627><U06AF><U0633><U062A>";/
+           "<U0633><U062A><U0646><U0628><U0631>";/
+           "<U0627><U06A9><U062A><U0648><U0628><U0631>";/
+           "<U0646><U0648><U06BA><U0628><U0631>";/
+           "<U062F><U0633><U0646><U0628><U0631>"
+%
+% Full month names (%B)
+mon        "<U062C><U0646><U0648><U0631><U06CC>";/
+           "<U0641><U0631><U0648><U0631><U06CC>";/
+           "<U0645><U0627><U0631><U0686>";/
+           "<U0627><U067E><U0631><U06CC><U0644>";/
+           "<U0645><U0626>";/
+           "<U062C><U0648><U0646>";/
+           "<U062C><U064F><U0644><U0626>";/
+           "<U0627><U06AF><U0633><U062A>";/
+           "<U0633><U062A><U0646><U0628><U0631>";/
+           "<U0627><U06A9><U062A><U0648><U0628><U0631>";/
+           "<U0646><U0648><U06BA><U0628><U0631>";/
+           "<U062F><U0633><U0646><U0628><U0631>"
+%
+% Equivalent of AM PM
+am_pm  "<U062F><U0648><U067E><U06BE><U0631><U0628><U0631><U0648><U0646><U06BE>";/
+       "<U062F><U0648><U067E><U06BE><U0631><U067E><U062A><U06BE>"
+%
+% Appropriate date and time representation
+% %A %d %b %Y%I:%M:%S  %Z
+d_t_fmt     "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0062>/
+<U0020><U0025><U0059><U0020><U0025><U0049><U003A><U0025><U004D><U003A>/
+<U0025><U0053><U0020><U0025><U0070><U0020><U0025><U005A>"
+%
+% Appropriate date representation
+% %A %d %b %Y
+d_fmt       "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0062>/
+<U0020><U0025><U0059>"
+%
+% Appropriate time representation
+% %I:%M:%S  %Z
+t_fmt       "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053>/
+<U0020><U0020><U0025><U005A>"
+%
+% Appropriate 12 h time representation (%r)
+t_fmt_ampm  "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053>/
+<U0020><U0025><U0070><U0020><U0025><U005A>"
+%
+% Appropriate date representation (date(1))   "%a %b %e %H:%M:%S %Z %Y"
+date_fmt       "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
+<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
+<U0025><U005A><U0020><U0025><U0059>"
+END LC_TIME
+
+
+LC_MESSAGES
+yesexpr     "<U005E><U005B><U0622><U0079><U0059><U005D><U002E><U002A>"
+noexpr      "<U005E><U005B><U0646><U006E><U004E><U005D><U002E><U002A>"
+
+yesstr      "<U0622>"
+nostr       "<U0646><U0639>"
+END LC_MESSAGES
+
+
+LC_PAPER
+copy "hi_IN"
+END LC_PAPER
+
+
+LC_NAME
+% This is the ISO_IEC TR14652 Locale definition for the LC_NAME category
+% generated by IBM Basic CountryPack Transformer.
+%
+%
+name_fmt    "<U0025><U0070><U0025><U0074><U0025><U0066><U0025><U0074><U0025><U0067>"
+name_gen    ""
+name_mr     "<U062C><U0646><U0627><U0628>"
+name_mrs    "<U0645><U0633><U0645><U0627><U062A>"
+name_miss   "<U0645><U0633><U0645><U0627><U062A>"
+name_ms     "<U0645><U062d><U062a><U0631><U0645><U0647>"
+
+END LC_NAME
+
+
+LC_ADDRESS
+% This is the ISO_IEC TR14652 Locale definition for the LC_ADDRESS category
+% generated by IBM Basic CountryPack Transformer.
+postal_fmt  "<U0025><U007A><U0025><U0063><U0025><U0054><U0025><U0073><U0025><U0062><U0025><U0065><U0025><U0072>"
+country_ab2 "<U0049><U004E>"
+country_ab3 "<U0049><U004E><U0044>"
+country_num 356
+
+END LC_ADDRESS
+
+
+LC_TELEPHONE
+copy "hi_IN"
+END LC_TELEPHONE
+
+
+LC_MEASUREMENT
+copy "hi_IN"
+END LC_MEASUREMENT
index a256068c2b88121d198ce8262b7ce8f9feaeed9b..13576347b9d67a6d50400061e1e3cd74e10306f6 100644 (file)
@@ -34,7 +34,7 @@ headers       := sys/uio.h bits/uio.h sys/ioctl.h bits/ioctls.h bits/ioctl-types.h \
           bits/syslog.h bits/syslog-ldbl.h bits/syslog-path.h bits/error.h
 
 routines := brk sbrk sstk ioctl \
-           readv writev \
+           readv writev preadv preadv64 pwritev pwritev64 \
            setreuid setregid \
            seteuid setegid \
            getpagesize \
index b182f123113ccee99f861948cd2049671058377a..c930eea94482ad7d531b0e93ca517219a0c8de6a 100644 (file)
@@ -137,4 +137,7 @@ libc {
   GLIBC_2.7 {
     mkostemp; mkostemp64;
   }
+  GLIBC_2.10 {
+    preadv; preadv64; pwritev; pwritev64;
+  }
 }
diff --git a/misc/preadv.c b/misc/preadv.c
new file mode 100644 (file)
index 0000000..3e2cc68
--- /dev/null
@@ -0,0 +1,41 @@
+/* Copyright (C) 2009 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sys/uio.h>
+
+/* Read data from file descriptor FD at the given position OFFSET
+   without change the file pointer, and put the result in the buffers
+   described by VECTOR, which is a vector of COUNT 'struct iovec's.
+   The buffers are filled in the order specified.  Operates just like
+   'read' (see <unistd.h>) except that data are put in VECTOR instead
+   of a contiguous buffer.  */
+ssize_t
+preadv (fd, vector, count, offset)
+     int fd;
+     const struct iovec *vector;
+     int count;
+     off_t offset;
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+
+stub_warning (preadv)
+#include <stub-tag.h>
diff --git a/misc/preadv64.c b/misc/preadv64.c
new file mode 100644 (file)
index 0000000..ea675bb
--- /dev/null
@@ -0,0 +1,41 @@
+/* Copyright (C) 2009 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sys/uio.h>
+
+/* Read data from file descriptor FD at the given position OFFSET
+   without change the file pointer, and put the result in the buffers
+   described by VECTOR, which is a vector of COUNT 'struct iovec's.
+   The buffers are filled in the order specified.  Operates just like
+   'read' (see <unistd.h>) except that data are put in VECTOR instead
+   of a contiguous buffer.  */
+ssize_t
+preadv64 (fd, vector, count, offset)
+     int fd;
+     const struct iovec *vector;
+     int count;
+     off64_t offset;
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+
+stub_warning (preadv64)
+#include <stub-tag.h>
diff --git a/misc/pwritev.c b/misc/pwritev.c
new file mode 100644 (file)
index 0000000..d45ed23
--- /dev/null
@@ -0,0 +1,41 @@
+/* Copyright (C) 2009 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sys/uio.h>
+
+/* Write data pointed by the buffers described by VECTOR, which is a
+   vector of COUNT 'struct iovec's, to file descriptor FD at the given
+   position OFFSET without change the file pointer.  The data is
+   written in the order specified.  Operates just like 'write' (see
+   <unistd.h>) except that the data are taken from VECTOR instead of a
+   contiguous buffer.  */
+ssize_t
+pwritev (fd, vector, count, offset)
+     int fd;
+     const struct iovec *vector;
+     int count;
+     off_t offset;
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+
+stub_warning (pwritev)
+#include <stub-tag.h>
diff --git a/misc/pwritev64.c b/misc/pwritev64.c
new file mode 100644 (file)
index 0000000..fe95857
--- /dev/null
@@ -0,0 +1,41 @@
+/* Copyright (C) 2009 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <errno.h>
+#include <unistd.h>
+#include <sys/uio.h>
+
+/* Write data pointed by the buffers described by VECTOR, which is a
+   vector of COUNT 'struct iovec's, to file descriptor FD at the given
+   position OFFSET without change the file pointer.  The data is
+   written in the order specified.  Operates just like 'write' (see
+   <unistd.h>) except that the data are taken from VECTOR instead of a
+   contiguous buffer.  */
+ssize_t
+pwritev64 (fd, vector, count, offset)
+     int fd;
+     const struct iovec *vector;
+     int count;
+     off64_t offset;
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+
+stub_warning (pwritev64)
+#include <stub-tag.h>
index 1b203f71c2ac314a2b2c3a852d49efb0f89cb6d2..a3c782917ae088116970ec2b09326f9fcc809f8b 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 96, 97, 98, 99, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1996-1999,2003,2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -30,24 +30,93 @@ __BEGIN_DECLS
 
 
 /* Read data from file descriptor FD, and put the result in the
-   buffers described by IOVEC, which is a vector of COUNT `struct iovec's.
+   buffers described by IOVEC, which is a vector of COUNT 'struct iovec's.
    The buffers are filled in the order specified.
-   Operates just like `read' (see <unistd.h>) except that data are
+   Operates just like 'read' (see <unistd.h>) except that data are
    put in IOVEC instead of a contiguous buffer.
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern ssize_t readv (int __fd, __const struct iovec *__iovec, int __count);
+extern ssize_t readv (int __fd, __const struct iovec *__iovec, int __count)
+  __wur;
 
 /* Write data pointed by the buffers described by IOVEC, which
-   is a vector of COUNT `struct iovec's, to file descriptor FD.
+   is a vector of COUNT 'struct iovec's, to file descriptor FD.
    The data is written in the order specified.
-   Operates just like `write' (see <unistd.h>) except that the data
+   Operates just like 'write' (see <unistd.h>) except that the data
    are taken from IOVEC instead of a contiguous buffer.
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern ssize_t writev (int __fd, __const struct iovec *__iovec, int __count);
+extern ssize_t writev (int __fd, __const struct iovec *__iovec, int __count)
+  __wur;
+
+
+#ifdef __USE_BSD
+# ifndef __USE_FILE_OFFSET64
+/* Read data from file descriptor FD at the given position OFFSET
+   without change the file pointer, and put the result in the buffers
+   described by IOVEC, which is a vector of COUNT 'struct iovec's.
+   The buffers are filled in the order specified.  Operates just like
+   'read' (see <unistd.h>) except that data are put in IOVEC instead
+   of a contiguous buffer.
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern ssize_t preadv (int __fd, __const struct iovec *__iovec, int __count,
+                      __off_t __offset) __wur;
+
+/* Write data pointed by the buffers described by IOVEC, which is a
+   vector of COUNT 'struct iovec's, to file descriptor FD at the given
+   position OFFSET without change the file pointer.  The data is
+   written in the order specified.  Operates just like 'write' (see
+   <unistd.h>) except that the data are taken from IOVEC instead of a
+   contiguous buffer.
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern ssize_t pwritev (int __fd, __const struct iovec *__iovec, int __count,
+                       __off_t __offset) __wur;
+# else
+#  ifdef __REDIRECT
+extern ssize_t __REDIRECT (preadv, (int __fd, __const struct iovec *__iovec,
+                                   int __count, __off_t __offset),
+                          preadv64) __wur;
+extern ssize_t __REDIRECT (pwritev, (int __fd, __const struct iovec *__iovec,
+                                    int __count, __off_t __offset),
+                          pwritev64) __wur;
+#  else
+#   define preadv preadv64
+#   define pwritev pwritev64
+#  endif
+# endif
+
+# ifdef __USE_LARGEFILE64
+/* Read data from file descriptor FD at the given position OFFSET
+   without change the file pointer, and put the result in the buffers
+   described by IOVEC, which is a vector of COUNT 'struct iovec's.
+   The buffers are filled in the order specified.  Operates just like
+   'read' (see <unistd.h>) except that data are put in IOVEC instead
+   of a contiguous buffer.
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern ssize_t preadv64 (int __fd, __const struct iovec *__iovec, int __count,
+                        __off64_t __offset) __wur;
+
+/* Write data pointed by the buffers described by IOVEC, which is a
+   vector of COUNT 'struct iovec's, to file descriptor FD at the given
+   position OFFSET without change the file pointer.  The data is
+   written in the order specified.  Operates just like 'write' (see
+   <unistd.h>) except that the data are taken from IOVEC instead of a
+   contiguous buffer.
+
+   This function is a cancellation point and therefore not marked with
+   __THROW.  */
+extern ssize_t pwritev64 (int __fd, __const struct iovec *__iovec, int __count,
+                         __off64_t __offset) __wur;
+# endif
+#endif /* Use BSD */
 
 __END_DECLS
 
index 2bf830cc950457da353814d05b5ef487a1276179..8841fe9faaafdd1d06bbcbe5ee11261fed66b473 100644 (file)
@@ -540,6 +540,9 @@ res_setoptions(res_state statp, const char *options, const char *source) {
                        statp->options |= RES_NOCHECKNAME;
                 } else if (!strncmp(cp, "edns0", sizeof("edns0") - 1)) {
                        statp->options |= RES_USE_EDNS0;
+                } else if (!strncmp(cp, "single-request",
+                                   sizeof("single-request") - 1)) {
+                       statp->options |= RES_SNGLKUP;
                } else {
                        /* XXX - print a warning here? */
                }
index f75a26ec23e4a870679058f2889ae6222181bd9d..0490b52fca6cc869c12915d7446d42460c0af14a 100644 (file)
@@ -923,12 +923,12 @@ send_dg(res_state statp,
        struct pollfd pfd[1];
         int ptimeout;
        struct sockaddr_in6 from;
-       int resplen, seconds, n;
+       int resplen, n;
 
        if (EXT(statp).nssocks[ns] == -1) {
                /* only try IPv6 if IPv6 NS and if not failed before */
                if ((EXT(statp).nscount6 > 0) && !statp->ipv6_unavail) {
-                       if (__have_o_nonblock >= 0) {
+                       if (__builtin_expect (__have_o_nonblock >= 0, 1)) {
                                EXT(statp).nssocks[ns] =
                                  socket(PF_INET6, SOCK_DGRAM|SOCK_NONBLOCK,
                                         0);
@@ -939,7 +939,7 @@ send_dg(res_state statp,
                                             && errno == EINVAL ? -1 : 1);
 #endif
                        }
-                       if (__have_o_nonblock < 0)
+                       if (__builtin_expect (__have_o_nonblock < 0, 0))
                                EXT(statp).nssocks[ns] =
                                  socket(PF_INET6, SOCK_DGRAM, 0);
                        if (EXT(statp).nssocks[ns] < 0)
@@ -950,7 +950,7 @@ send_dg(res_state statp,
                            convaddr4to6(nsap);
                }
                if (EXT(statp).nssocks[ns] < 0) {
-                       if (__have_o_nonblock >= 0) {
+                       if (__builtin_expect (__have_o_nonblock >= 0, 1)) {
                                EXT(statp).nssocks[ns]
                                  = socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK,
                                           0);
@@ -961,7 +961,7 @@ send_dg(res_state statp,
                                             && errno == EINVAL ? -1 : 1);
 #endif
                        }
-                       if (__have_o_nonblock < 0)
+                       if (__builtin_expect (__have_o_nonblock < 0, 0))
                                EXT(statp).nssocks[ns]
                                  = socket(PF_INET, SOCK_DGRAM, 0);
                }
@@ -989,7 +989,7 @@ send_dg(res_state statp,
                        __res_iclose(statp, false);
                        return (0);
                }
-               if (__have_o_nonblock < 0) {
+               if (__builtin_expect (__have_o_nonblock < 0, 0)) {
                        /* Make socket non-blocking.  */
                        int fl = __fcntl (EXT(statp).nssocks[ns], F_GETFL);
                        if  (fl != -1)
@@ -1003,11 +1003,14 @@ send_dg(res_state statp,
        /*
         * Compute time for the total operation.
         */
-       seconds = (statp->retrans << ns);
+       int seconds = (statp->retrans << ns);
        if (ns > 0)
                seconds /= statp->nscount;
        if (seconds <= 0)
                seconds = 1;
+       bool single_request = ((statp->options) & RES_SNGLKUP) != 0;// XXX
+       int save_gotsomewhere = *gotsomewhere;
+ retry:
        evNowTime(&now);
        evConsTime(&timeout, seconds, 0);
        evAddTime(&finish, &now, &timeout);
@@ -1031,6 +1034,7 @@ send_dg(res_state statp,
                        return (0);
                }
                evSubTime(&timeout, &finish, &now);
+               need_recompute = 0;
        }
         /* Convert struct timespec in milliseconds.  */
        ptimeout = timeout.tv_sec * 1000 + timeout.tv_nsec / 1000000;
@@ -1046,8 +1050,16 @@ send_dg(res_state statp,
                Dprint(statp->options & RES_DEBUG, (stdout, ";; timeout\n"));
                if (resplen > 1 && (recvresp1 || (buf2 != NULL && recvresp2)))
                  {
-                   *resplen2 = 1;
-                   return resplen;
+                   /* There are quite a few broken name servers out
+                      there which don't handle two outstanding
+                      requests from the same source.  There are also
+                      broken firewall settings.  If we time out after
+                      having received one answer switch to the mode
+                      where we send the second request only once we
+                      have received the first answer.  */
+                   single_request = true;
+                   *gotsomewhere = save_gotsomewhere;
+                   goto retry;
                  }
 
                *gotsomewhere = 1;
@@ -1073,7 +1085,7 @@ send_dg(res_state statp,
                        Perror(statp, stderr, "send", errno);
                        goto err_out;
                }
-               if (nwritten != 0 || buf2 == NULL)
+               if (nwritten != 0 || buf2 == NULL || single_request)
                  pfd[0].events = POLLIN;
                else
                  pfd[0].events = POLLIN | POLLOUT;
@@ -1286,8 +1298,11 @@ send_dg(res_state statp,
                else
                        recvresp2 = 1;
                /* Repeat waiting if we have a second answer to arrive.  */
-               if ((recvresp1 & recvresp2) == 0)
+               if ((recvresp1 & recvresp2) == 0) {
+                       if (single_request)
+                               pfd[0].events = POLLOUT;
                        goto wait;
+               }
                /*
                 * All is well, or the error is fatal.  Signal that the
                 * next nameserver ought not be tried.
index a0de320d0f765da6b25c52e55c88f3c6c1ea1dbc..c6e695dc727f69f947231acb3b9fd58ab2664fcf 100644 (file)
@@ -215,6 +215,7 @@ struct res_sym {
 #define RES_NOIP6DOTINT        0x00080000      /* Do not use .ip6.int in IPv6
                                           reverse lookup */
 #define RES_USE_EDNS0  0x00100000      /* Use EDNS0.  */
+#define RES_SNGLKUP    0x00200000      /* one outstanding request at a time */
 
 #define RES_DEFAULT    (RES_RECURSE|RES_DEFNAMES|RES_DNSRCH|RES_NOIP6DOTINT)
 
index a945ffb997752158e13b3053f946ed7e7aab88d7..d15e9a44164ce66037b7355dc4d19890246263b4 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/bash
-# Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -31,7 +31,8 @@ fgrep -v "$includedir/asm" |
 fgrep -v "$includedir/linux" |
 fgrep -v "$includedir/selinux" |
 fgrep -v "$includedir/sys/capability.h" |
-fgrep -v "$includedir/gd"; then
+fgrep -v "$includedir/gd" |
+fgrep -v "$includedir/nss3"; then
   # If we found a match something is wrong.
   exit 1
 fi
index 2b7ebcb8a888335528e05623c87052d4052188b6..2e6c96a657e13203d35a97423f0bf840f87379db 100644 (file)
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
-#include <stdint.h>
 #include <string.h>
 #include <ctype.h>
 
 /* states: S_N: normal, S_I: comparing integral part, S_F: comparing
            fractionnal parts, S_Z: idem but with leading Zeroes only */
 #define  S_N    0x0
-#define  S_I    0x3
-#define  S_F    0x6
-#define  S_Z    0x9
+#define  S_I    0x4
+#define  S_F    0x8
+#define  S_Z    0xC
 
 /* result_type: CMP: return diff; LEN: compare using len_diff/diff */
 #define  CMP    2
@@ -46,49 +45,53 @@ __strverscmp (s1, s2)
 {
   const unsigned char *p1 = (const unsigned char *) s1;
   const unsigned char *p2 = (const unsigned char *) s2;
+  unsigned char c1, c2;
+  int state;
+  int diff;
 
-  /* Symbol(s)    0       [1-9]   others
-     Transition   (10) 0  (01) d  (00) x   */
-  static const uint8_t next_state[] =
+  /* Symbol(s)    0       [1-9]   others  (padding)
+     Transition   (10) 0  (01) d  (00) x  (11) -   */
+  static const unsigned int next_state[] =
   {
-      /* state    x    d    0  */
-      /* S_N */  S_N, S_I, S_Z,
-      /* S_I */  S_N, S_I, S_I,
-      /* S_F */  S_N, S_F, S_F,
-      /* S_Z */  S_N, S_F, S_Z
+      /* state    x    d    0    - */
+      /* S_N */  S_N, S_I, S_Z, S_N,
+      /* S_I */  S_N, S_I, S_I, S_I,
+      /* S_F */  S_N, S_F, S_F, S_F,
+      /* S_Z */  S_N, S_F, S_Z, S_Z
   };
 
-  static const int8_t result_type[] =
+  static const int result_type[] =
   {
-      /* state   x/x  x/d  x/0  d/x  d/d  d/0  0/x  0/d  0/0  */
-
-      /* S_N */  CMP, CMP, CMP, CMP, LEN, CMP, CMP, CMP, CMP,
-      /* S_I */  CMP, -1,  -1,  +1,  LEN, LEN, +1,  LEN, LEN,
-      /* S_F */  CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
-      /* S_Z */  CMP, +1,  +1,  -1,  CMP, CMP, -1,  CMP, CMP
+      /* state   x/x  x/d  x/0  x/-  d/x  d/d  d/0  d/-
+                 0/x  0/d  0/0  0/-  -/x  -/d  -/0  -/- */
+
+      /* S_N */  CMP, CMP, CMP, CMP, CMP, LEN, CMP, CMP,
+                 CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
+      /* S_I */  CMP, -1,  -1,  CMP, +1,  LEN, LEN, CMP,
+                 +1,  LEN, LEN, CMP, CMP, CMP, CMP, CMP,
+      /* S_F */  CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
+                 CMP, CMP, CMP, CMP, CMP, CMP, CMP, CMP,
+      /* S_Z */  CMP, +1,  +1,  CMP, -1,  CMP, CMP, CMP,
+                 -1,  CMP, CMP, CMP
   };
 
   if (p1 == p2)
     return 0;
 
-  unsigned char c1 = *p1++;
-  unsigned char c2 = *p2++;
+  c1 = *p1++;
+  c2 = *p2++;
   /* Hint: '0' is a digit too.  */
-  int state = S_N | ((c1 == '0') + (isdigit (c1) != 0));
+  state = S_N | ((c1 == '0') + (isdigit (c1) != 0));
 
-  int diff;
-  while ((diff = c1 - c2) == 0)
+  while ((diff = c1 - c2) == 0 && c1 != '\0')
     {
-      if (c1 == '\0')
-       return diff;
-
       state = next_state[state];
       c1 = *p1++;
       c2 = *p2++;
       state |= (c1 == '0') + (isdigit (c1) != 0);
     }
 
-  state = result_type[state * 3 | (((c2 == '0') + (isdigit (c2) != 0)))];
+  state = result_type[state << 2 | (((c2 == '0') + (isdigit (c2) != 0)))];
 
   switch (state)
   {
diff --git a/sysdeps/posix/preadv.c b/sysdeps/posix/preadv.c
new file mode 100644 (file)
index 0000000..e697604
--- /dev/null
@@ -0,0 +1,108 @@
+/* Copyright (C) 2009 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <errno.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <limits.h>
+#include <stdbool.h>
+#include <sys/param.h>
+#if __WORDSIZE == 64 && !defined PREADV
+/* Hide the preadv64 declaration.  */
+# define preadv64 __redirect_preadv64
+#endif
+#include <sys/uio.h>
+#include <bits/wordsize.h>
+
+#ifndef PREADV
+# define PREADV preadv
+# define PREAD __pread
+# define OFF_T off_t
+#endif
+
+
+static void
+ifree (char **ptrp)
+{
+  free (*ptrp);
+}
+
+
+/* Read data from file descriptor FD at the given position OFFSET
+   without change the file pointer, and put the result in the buffers
+   described by VECTOR, which is a vector of COUNT 'struct iovec's.
+   The buffers are filled in the order specified.  Operates just like
+   'read' (see <unistd.h>) except that data are put in VECTOR instead
+   of a contiguous buffer.  */
+ssize_t
+PREADV (int fd, const struct iovec *vector, int count, OFF_T offset)
+{
+  /* Find the total number of bytes to be read.  */
+  size_t bytes = 0;
+  for (int i = 0; i < count; ++i)
+    {
+      /* Check for ssize_t overflow.  */
+      if (SSIZE_MAX - bytes < vector[i].iov_len)
+       {
+         __set_errno (EINVAL);
+         return -1;
+       }
+      bytes += vector[i].iov_len;
+    }
+
+  /* Allocate a temporary buffer to hold the data.  We should normally
+     use alloca since it's faster and does not require synchronization
+     with other threads.  But we cannot if the amount of memory
+     required is too large.  */
+  char *buffer;
+  char *malloced_buffer __attribute__ ((__cleanup__ (ifree))) = NULL;
+  if (__libc_use_alloca (bytes))
+    buffer = (char *) __alloca (bytes);
+  else
+    {
+      malloced_buffer = buffer = (char *) malloc (bytes);
+      if (buffer == NULL)
+       return -1;
+    }
+
+  /* Read the data.  */
+  ssize_t bytes_read = PREAD (fd, buffer, bytes, offset);
+  if (bytes_read <= 0)
+    return -1;
+
+  /* Copy the data from BUFFER into the memory specified by VECTOR.  */
+  bytes = bytes_read;
+  for (int i = 0; i < count; ++i)
+    {
+      size_t copy = MIN (vector[i].iov_len, bytes);
+
+      (void) memcpy ((void *) vector[i].iov_base, (void *) buffer, copy);
+
+      buffer += copy;
+      bytes -= copy;
+      if (bytes == 0)
+       break;
+    }
+
+  return bytes_read;
+}
+#if __WORDSIZE == 64 && defined preadv64
+# undef preadv64
+strong_alias (preadv, preadv64)
+#endif
diff --git a/sysdeps/posix/preadv64.c b/sysdeps/posix/preadv64.c
new file mode 100644 (file)
index 0000000..1986223
--- /dev/null
@@ -0,0 +1,9 @@
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32
+# define PREADV preadv64
+# define PREAD __pread64
+# define OFF_T off64_t
+
+# include "preadv.c"
+#endif
diff --git a/sysdeps/posix/pwritev.c b/sysdeps/posix/pwritev.c
new file mode 100644 (file)
index 0000000..0b6627d
--- /dev/null
@@ -0,0 +1,108 @@
+/* Copyright (C) 2009 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <errno.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <limits.h>
+#include <stdbool.h>
+#include <sys/param.h>
+#if __WORDSIZE == 64 && !defined PWRITEV
+/* Hide the pwritev64 declaration.  */
+# define pwritev64 __redirect_pwritev64
+#endif
+#include <sys/uio.h>
+#include <bits/wordsize.h>
+
+#ifndef PWRITEV
+# define PWRITEV pwritev
+# define PWRITE __pwrite
+# define OFF_T off_t
+#endif
+
+
+static void
+ifree (char **ptrp)
+{
+  free (*ptrp);
+}
+
+
+/* Read data from file descriptor FD at the given position OFFSET
+   without change the file pointer, and put the result in the buffers
+   described by VECTOR, which is a vector of COUNT 'struct iovec's.
+   The buffers are filled in the order specified.  Operates just like
+   'read' (see <unistd.h>) except that data are put in VECTOR instead
+   of a contiguous buffer.  */
+ssize_t
+PWRITEV (int fd, const struct iovec *vector, int count, OFF_T offset)
+{
+  /* Find the total number of bytes to be read.  */
+  size_t bytes = 0;
+  for (int i = 0; i < count; ++i)
+    {
+      /* Check for ssize_t overflow.  */
+      if (SSIZE_MAX - bytes < vector[i].iov_len)
+       {
+         __set_errno (EINVAL);
+         return -1;
+       }
+      bytes += vector[i].iov_len;
+    }
+
+  /* Allocate a temporary buffer to hold the data.  We should normally
+     use alloca since it's faster and does not require synchronization
+     with other threads.  But we cannot if the amount of memory
+     required is too large.  */
+  char *buffer;
+  char *malloced_buffer __attribute__ ((__cleanup__ (ifree))) = NULL;
+  if (__libc_use_alloca (bytes))
+    buffer = (char *) __alloca (bytes);
+  else
+    {
+      malloced_buffer = buffer = (char *) malloc (bytes);
+      if (buffer == NULL)
+       return -1;
+    }
+
+  /* Read the data.  */
+  ssize_t bytes_read = PWRITE (fd, buffer, bytes, offset);
+  if (bytes_read <= 0)
+    return -1;
+
+  /* Copy the data from BUFFER into the memory specified by VECTOR.  */
+  bytes = bytes_read;
+  for (int i = 0; i < count; ++i)
+    {
+      size_t copy = MIN (vector[i].iov_len, bytes);
+
+      (void) memcpy ((void *) vector[i].iov_base, (void *) buffer, copy);
+
+      buffer += copy;
+      bytes -= copy;
+      if (bytes == 0)
+       break;
+    }
+
+  return bytes_read;
+}
+#if __WORDSIZE == 64 && defined pwritev64
+# undef pwritev64
+strong_alias (pwritev, pwritev64)
+#endif
diff --git a/sysdeps/posix/pwritev64.c b/sysdeps/posix/pwritev64.c
new file mode 100644 (file)
index 0000000..4948d2e
--- /dev/null
@@ -0,0 +1,9 @@
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32
+# define PWRITEV pwritev64
+# define PWRITE __pwrite64
+# define OFF_T off64_t
+
+# include "pwritev.c"
+#endif
index f0e78e66629971c628d67ccc71bf03856d3715b2..50bcc913159fbd76ec0e28861dbcfe4b4821b803 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1996, 1997, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1996,1997,2002,2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
 #include <sys/uio.h>
 #include <errno.h>
 
+
+static void
+ifree (char **ptrp)
+{
+  free (*ptrp);
+}
+
 /* Read data from file descriptor FD, and put the result in the
-   buffers described by VECTOR, which is a vector of COUNT `struct iovec's.
+   buffers described by VECTOR, which is a vector of COUNT 'struct iovec's.
    The buffers are filled in the order specified.
-   Operates just like `read' (see <unistd.h>) except that data are
+   Operates just like 'read' (see <unistd.h>) except that data are
    put in VECTOR instead of a contiguous buffer.  */
 ssize_t
 __libc_readv (int fd, const struct iovec *vector, int count)
 {
-  char *buffer;
-  char *buffer_start;
-  size_t bytes;
-  ssize_t bytes_read;
-  int i;
-  bool use_malloc = false;
-
   /* Find the total number of bytes to be read.  */
-  bytes = 0;
-  for (i = 0; i < count; ++i)
+  size_t bytes = 0;
+  for (int i = 0; i < count; ++i)
     {
       /* Check for ssize_t overflow.  */
       if (SSIZE_MAX - bytes < vector[i].iov_len)
@@ -57,28 +57,25 @@ __libc_readv (int fd, const struct iovec *vector, int count)
      use alloca since it's faster and does not require synchronization
      with other threads.  But we cannot if the amount of memory
      required is too large.  */
+  char *buffer;
+  char *malloced_buffer __attribute__ ((__cleanup__ (ifree))) = NULL;
   if (__libc_use_alloca (bytes))
     buffer = (char *) __alloca (bytes);
   else
     {
-      buffer = (char *) malloc (bytes);
+      malloced_buffer = buffer = (char *) malloc (bytes);
       if (buffer == NULL)
-       /* XXX I don't know whether it is acceptable to try reading
-          the data in chunks.  Probably not so we just fail here.  */
        return -1;
-
-      use_malloc = true;
     }
 
   /* Read the data.  */
-  bytes_read = __read (fd, buffer, bytes);
+  ssize_t bytes_read = __read (fd, buffer, bytes);
   if (bytes_read <= 0)
     return -1;
 
   /* Copy the data from BUFFER into the memory specified by VECTOR.  */
   bytes = bytes_read;
-  buffer_start = buffer;
-  for (i = 0; i < count; ++i)
+  for (int i = 0; i < count; ++i)
     {
       size_t copy = MIN (vector[i].iov_len, bytes);
 
@@ -90,9 +87,6 @@ __libc_readv (int fd, const struct iovec *vector, int count)
        break;
     }
 
-  if (use_malloc)
-    free (buffer_start);
-
   return bytes_read;
 }
 #ifndef __libc_readv
index a347cc2eac87a4f5e84aec54350cd5327a8fafe8..203cf9cebd2274940e4c4def2af0efee7269e937 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1996, 1997, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1996,1997,2002,2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
 #include <sys/uio.h>
 #include <errno.h>
 
+
+static void
+ifree (char **ptrp)
+{
+  free (*ptrp);
+}
+
+
 /* Write data pointed by the buffers described by VECTOR, which
-   is a vector of COUNT `struct iovec's, to file descriptor FD.
+   is a vector of COUNT 'struct iovec's, to file descriptor FD.
    The data is written in the order specified.
-   Operates just like `write' (see <unistd.h>) except that the data
+   Operates just like 'write' (see <unistd.h>) except that the data
    are taken from VECTOR instead of a contiguous buffer.  */
 ssize_t
 __libc_writev (int fd, const struct iovec *vector, int count)
 {
-  char *buffer;
-  register char *bp;
-  size_t bytes, to_copy;
-  ssize_t bytes_written;
-  int i;
-  bool use_malloc = false;
-
   /* Find the total number of bytes to be written.  */
-  bytes = 0;
-  for (i = 0; i < count; ++i)
+  size_t bytes = 0;
+  for (int i = 0; i < count; ++i)
     {
       /* Check for ssize_t overflow.  */
       if (SSIZE_MAX - bytes < vector[i].iov_len)
@@ -57,23 +58,23 @@ __libc_writev (int fd, const struct iovec *vector, int count)
      use alloca since it's faster and does not require synchronization
      with other threads.  But we cannot if the amount of memory
      required is too large.  */
+  char *buffer;
+  char *malloced_buffer __attribute__ ((__cleanup__ (ifree))) = NULL;
   if (__libc_use_alloca (bytes))
     buffer = (char *) __alloca (bytes);
   else
     {
-      buffer = (char *) malloc (bytes);
+      malloced_buffer = buffer = (char *) malloc (bytes);
       if (buffer == NULL)
        /* XXX I don't know whether it is acceptable to try writing
           the data in chunks.  Probably not so we just fail here.  */
        return -1;
-
-      use_malloc = true;
     }
 
   /* Copy the data into BUFFER.  */
-  to_copy = bytes;
-  bp = buffer;
-  for (i = 0; i < count; ++i)
+  size_t to_copy = bytes;
+  char *bp = buffer;
+  for (int i = 0; i < count; ++i)
     {
       size_t copy = MIN (vector[i].iov_len, to_copy);
 
@@ -84,10 +85,7 @@ __libc_writev (int fd, const struct iovec *vector, int count)
        break;
     }
 
-  bytes_written = __write (fd, buffer, bytes);
-
-  if (use_malloc)
-    free (buffer);
+  ssize_t bytes_written = __write (fd, buffer, bytes);
 
   return bytes_written;
 }
index 72c7335ae556a6cdde8a4d4d23f7f99423d49e6c..88062e59adf821ff73484eaf48fc373dbd26827c 100644 (file)
@@ -95,15 +95,20 @@ enum __socket_type
 #define        PF_ASH          18      /* Ash.  */
 #define        PF_ECONET       19      /* Acorn Econet.  */
 #define        PF_ATMSVC       20      /* ATM SVCs.  */
+#define PF_RDS         21      /* RDS sockets.  */
 #define        PF_SNA          22      /* Linux SNA Project */
 #define        PF_IRDA         23      /* IRDA sockets.  */
 #define        PF_PPPOX        24      /* PPPoX sockets.  */
 #define        PF_WANPIPE      25      /* Wanpipe API sockets.  */
+#define PF_LLC         26      /* Linux LLC.  */
+#define PF_CAN         29      /* Controller Area Network.  */
+#define PF_TIPC                30      /* TIPC sockets.  */
 #define        PF_BLUETOOTH    31      /* Bluetooth sockets.  */
 #define        PF_IUCV         32      /* IUCV sockets.  */
 #define PF_RXRPC       33      /* RxRPC sockets.  */
 #define PF_ISDN                34      /* mISDN sockets.  */
-#define        PF_MAX          35      /* For now..  */
+#define PF_PHONET      35      /* Phonet sockets.  */
+#define        PF_MAX          36      /* For now..  */
 
 /* Address families.  */
 #define        AF_UNSPEC       PF_UNSPEC
@@ -130,14 +135,19 @@ enum __socket_type
 #define        AF_ASH          PF_ASH
 #define        AF_ECONET       PF_ECONET
 #define        AF_ATMSVC       PF_ATMSVC
+#define AF_RDS         PF_RDS
 #define        AF_SNA          PF_SNA
 #define        AF_IRDA         PF_IRDA
 #define        AF_PPPOX        PF_PPPOX
 #define        AF_WANPIPE      PF_WANPIPE
+#define AF_LLC         PF_LLC
+#define AF_CAN         PF_CAN
+#define AF_TIPC                PF_TIPC
 #define        AF_BLUETOOTH    PF_BLUETOOTH
 #define        AF_IUCV         PF_IUCV
 #define AF_RXRPC       PF_RXRPC
 #define AF_ISDN                PF_ISDN
+#define AF_PHONET      PF_PHONET
 #define        AF_MAX          PF_MAX
 
 /* Socket level values.  Others are defined in the appropriate headers.
index 29afe277110ae6139a01f64356b3a1f6a8a07444..a640765b5c62d8c59851e9eb3dd8487f9268669b 100644 (file)
 # define __ASSUME_SET_ROBUST_LIST      1
 #endif
 
+/* Pessimistically assume that 2.6.18 introduced real handling of
+   large numbers of requests to readv and writev and that we don't
+   need a fallback.  It likely worked for much longer.  */
+#if __LINUX_KERNEL_VERSION >= 0x020612
+# define __ASSUME_COMPLETE_READV_WRITEV        1
+#endif
+
 /* Support for PI futexes was added in 2.6.18.  */
 #if __LINUX_KERNEL_VERSION >= 0x020612
 # define __ASSUME_FUTEX_LOCK_PI        1
 #if __LINUX_KERNEL_VERSION >= 0x02061d
 # define __ASSUME_FUTEX_CLOCK_REALTIME 1
 #endif
+
+/* Support for preadv and pwritev was added in 2.6.30.  */
+#if __LINUX_KERNEL_VERSION >= 0x02061e \
+    && (defined __i386__ || defined __x86_64__)
+# define __ASSUME_PREADV       1
+# define __ASSUME_PWRITEV      1
+#endif
diff --git a/sysdeps/unix/sysv/linux/preadv.c b/sysdeps/unix/sysv/linux/preadv.c
new file mode 100644 (file)
index 0000000..e2f8238
--- /dev/null
@@ -0,0 +1,88 @@
+/* Copyright (C) 2009 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/param.h>
+#if __WORDSIZE == 64
+/* Hide the preadv64 declaration.  */
+# define preadv64 __redirect_preadv64
+#endif
+#include <sys/uio.h>
+
+#include <sysdep-cancel.h>
+#include <sys/syscall.h>
+#include <kernel-features.h>
+
+#ifndef PREADV
+# define PREADV preadv
+# define PREADV_REPLACEMENT __atomic_preadv_replacement
+# define PREAD __pread
+# define OFF_T off_t
+#endif
+
+static ssize_t PREADV_REPLACEMENT (int, __const struct iovec *,
+                                  int, OFF_T) internal_function;
+
+
+ssize_t
+PREADV (fd, vector, count, offset)
+     int fd;
+     const struct iovec *vector;
+     int count;
+     OFF_T offset;
+{
+#ifdef __NR_preadv
+  ssize_t result;
+
+  if (SINGLE_THREAD_P)
+    result = INLINE_SYSCALL (preadv, 5, fd, vector, count, offset >> 32,
+                            offset & 0xffffffff);
+  else
+    {
+      int oldtype = LIBC_CANCEL_ASYNC ();
+
+      result = INLINE_SYSCALL (preadv, 5, fd, vector, count, offset >> 32,
+                              offset & 0xffffffff);
+
+      LIBC_CANCEL_RESET (oldtype);
+    }
+# ifdef __ASSUME_PREADV
+  return result;
+# endif
+#endif
+
+#ifndef __ASSUME_PREADV
+# ifdef __NR_preadv
+  if (result >= 0 || errno != ENOSYS)
+    return result;
+# endif
+
+  return PREADV_REPLACEMENT (fd, vector, count, offset);
+#endif
+}
+#if __WORDSIZE == 64
+# undef preadv64
+strong_alias (preadv, preadv64)
+#endif
+
+#ifndef __ASSUME_PREADV
+# undef PREADV
+# define PREADV static internal_function PREADV_REPLACEMENT
+# include <sysdeps/posix/preadv.c>
+#endif
diff --git a/sysdeps/unix/sysv/linux/preadv64.c b/sysdeps/unix/sysv/linux/preadv64.c
new file mode 100644 (file)
index 0000000..739df00
--- /dev/null
@@ -0,0 +1,6 @@
+#define PREADV preadv64
+#define PREADV_REPLACEMENT __atomic_preadv64_replacement
+#define PREAD __pread64
+#define OFF_T off64_t
+
+#include "preadv.c"
diff --git a/sysdeps/unix/sysv/linux/pwritev.c b/sysdeps/unix/sysv/linux/pwritev.c
new file mode 100644 (file)
index 0000000..df430ff
--- /dev/null
@@ -0,0 +1,88 @@
+/* Copyright (C) 2009 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/param.h>
+#if __WORDSIZE == 64 && !defined PWRITEV
+/* Hide the pwritev64 declaration.  */
+# define pwritev64 __redirect_pwritev64
+#endif
+#include <sys/uio.h>
+
+#include <sysdep-cancel.h>
+#include <sys/syscall.h>
+#include <kernel-features.h>
+
+#ifndef PWRITEV
+# define PWRITEV pwritev
+# define PWRITEV_REPLACEMENT __atomic_pwritev_replacement
+# define PWRITE __pwrite
+# define OFF_T off_t
+#endif
+
+static ssize_t PWRITEV_REPLACEMENT (int, __const struct iovec *,
+                                   int, OFF_T) internal_function;
+
+
+ssize_t
+PWRITEV (fd, vector, count, offset)
+     int fd;
+     const struct iovec *vector;
+     int count;
+     OFF_T offset;
+{
+#ifdef __NR_pwritev
+  ssize_t result;
+
+  if (SINGLE_THREAD_P)
+    result = INLINE_SYSCALL (pwritev, 5, fd, vector, count, offset >> 32,
+                            offset & 0xffffffff);
+  else
+    {
+      int oldtype = LIBC_CANCEL_ASYNC ();
+
+      result = INLINE_SYSCALL (pwritev, 5, fd, vector, count, offset >> 32,
+                              offset & 0xffffffff);
+
+      LIBC_CANCEL_RESET (oldtype);
+    }
+# ifdef __ASSUME_PWRITEV
+  return result;
+# endif
+#endif
+
+#ifndef __ASSUME_PWRITEV
+# ifdef __NR_pwritev
+  if (result >= 0 || errno != ENOSYS)
+    return result;
+# endif
+
+  return PWRITEV_REPLACEMENT (fd, vector, count, offset);
+#endif
+}
+#if __WORDSIZE == 64 && defined pwritev64
+# undef pwritev64
+strong_alias (pwritev, pwritev64)
+#endif
+
+#ifndef __ASSUME_PWRITEV
+# undef PWRITEV
+# define PWRITEV static internal_function PWRITEV_REPLACEMENT
+# include <sysdeps/posix/pwritev.c>
+#endif
diff --git a/sysdeps/unix/sysv/linux/pwritev64.c b/sysdeps/unix/sysv/linux/pwritev64.c
new file mode 100644 (file)
index 0000000..1e8168f
--- /dev/null
@@ -0,0 +1,6 @@
+#define PWRITEV pwritev64
+#define PWRITEV_REPLACEMENT __atomic_pwritev64_replacement
+#define PWRITE __pwrite64
+#define OFF_T off64_t
+
+#include "pwritev.c"
index 250c00a075bdc2aea2dff9fd0fc5e512bc05e894..bff4a3ff742af17e827aabdfd64a5044daa5ef5f 100644 (file)
@@ -1,5 +1,5 @@
 /* readv supports all Linux kernels >= 2.0.
-   Copyright (C) 1997,1998,2000,2002,2003 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,2000,2002,2003,2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,6 +25,7 @@
 #include <sysdep-cancel.h>
 #include <sys/syscall.h>
 #include <bp-checks.h>
+#include <kernel-features.h>
 
 static ssize_t __atomic_readv_replacement (int, __const struct iovec *,
                                           int) internal_function;
@@ -36,41 +37,38 @@ static ssize_t __atomic_readv_replacement (int, __const struct iovec *,
 #endif
 
 
-/* We should deal with kernel which have a smaller UIO_FASTIOV as well
-   as a very big count.  */
-static ssize_t
-do_readv (int fd, const struct iovec *vector, int count)
-{
-  ssize_t bytes_read;
-
-  bytes_read = INLINE_SYSCALL (readv, 3, fd, CHECK_N (vector, count), count);
-
-  if (bytes_read >= 0 || errno != EINVAL || count <= UIO_FASTIOV)
-    return bytes_read;
-
-  return __atomic_readv_replacement (fd, vector, count);
-}
-
-
 ssize_t
 __libc_readv (fd, vector, count)
      int fd;
      const struct iovec *vector;
      int count;
 {
-  if (SINGLE_THREAD_P)
-    return do_readv (fd, vector, count);
+  ssize_t result;
 
-  int oldtype = LIBC_CANCEL_ASYNC ();
+  if (SINGLE_THREAD_P)
+    result = INLINE_SYSCALL (readv, 3, fd, CHECK_N (vector, count), count);
+  else
+    {
+      int oldtype = LIBC_CANCEL_ASYNC ();
 
-  int result = do_readv (fd, vector, count);
+      result = INLINE_SYSCALL (readv, 3, fd, CHECK_N (vector, count), count);
 
-  LIBC_CANCEL_RESET (oldtype);
+      LIBC_CANCEL_RESET (oldtype);
+    }
 
+#ifdef __ASSUME_COMPLETE_READV_WRITEV
   return result;
+#else
+  if (result >= 0 || errno != EINVAL || count <= UIO_FASTIOV)
+    return result;
+
+  return __atomic_readv_replacement (fd, vector, count);
+#endif
 }
 strong_alias (__libc_readv, __readv)
 weak_alias (__libc_readv, readv)
 
-#define __libc_readv static internal_function __atomic_readv_replacement
-#include <sysdeps/posix/readv.c>
+#ifndef __ASSUME_COMPLETE_READV_WRITEV
+# define __libc_readv static internal_function __atomic_readv_replacement
+# include <sysdeps/posix/readv.c>
+#endif
index 7c6cf7196da20dd6502a09e26e24b4bafbe28843..d942df4bf974b1c0b5f7ac8d4ef15230c24fdf19 100644 (file)
@@ -28,6 +28,8 @@ typedef uint64_t eventfd_t;
 /* Flags for signalfd.  */
 enum
   {
+    EFD_SEMAPHORE = 1,
+#define EFD_SEMAPHORE EFD_SEMAPHORE
     EFD_CLOEXEC = 02000000,
 #define EFD_CLOEXEC EFD_CLOEXEC
     EFD_NONBLOCK = 04000
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/preadv64.c b/sysdeps/unix/sysv/linux/wordsize-64/preadv64.c
new file mode 100644 (file)
index 0000000..fd9320c
--- /dev/null
@@ -0,0 +1 @@
+/* Empty since the preadv syscall is equivalent.  */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/pwritev64.c b/sysdeps/unix/sysv/linux/wordsize-64/pwritev64.c
new file mode 100644 (file)
index 0000000..8b72a29
--- /dev/null
@@ -0,0 +1 @@
+/* Empty since the pwritev syscall is equivalent.  */
index 05978665fa91e37ce8d70ef29c5cb0454692dbe0..55e915d34dfce2868ea74d8303e43adb7eb62fd1 100644 (file)
@@ -1,5 +1,5 @@
 /* writev supports all Linux kernels >= 2.0.
-   Copyright (C) 1997, 1998, 2000, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,2000,2002,2003,2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,6 +25,7 @@
 #include <sysdep-cancel.h>
 #include <sys/syscall.h>
 #include <bp-checks.h>
+#include <kernel-features.h>
 
 static ssize_t __atomic_writev_replacement (int, const struct iovec *,
                                            int) internal_function;
@@ -36,40 +37,38 @@ static ssize_t __atomic_writev_replacement (int, const struct iovec *,
 #endif
 
 
-/* We should deal with kernel which have a smaller UIO_FASTIOV as well
-   as a very big count.  */
-static ssize_t
-do_writev (int fd, const struct iovec *vector, int count)
-{
-  ssize_t bytes_written;
-
-  bytes_written = INLINE_SYSCALL (writev, 3, fd, CHECK_N (vector, count), count);
-
-  if (bytes_written >= 0 || errno != EINVAL || count <= UIO_FASTIOV)
-    return bytes_written;
-
-  return __atomic_writev_replacement (fd, vector, count);
-}
-
 ssize_t
 __libc_writev (fd, vector, count)
      int fd;
      const struct iovec *vector;
      int count;
 {
-  if (SINGLE_THREAD_P)
-    return do_writev (fd, vector, count);
+  ssize_t result;
 
-  int oldtype = LIBC_CANCEL_ASYNC ();
+  if (SINGLE_THREAD_P)
+    result = INLINE_SYSCALL (writev, 3, fd, CHECK_N (vector, count), count);
+  else
+    {
+      int oldtype = LIBC_CANCEL_ASYNC ();
 
-  ssize_t result = do_writev (fd, vector, count);
+      result = INLINE_SYSCALL (writev, 3, fd, CHECK_N (vector, count), count);
 
-  LIBC_CANCEL_RESET (oldtype);
+      LIBC_CANCEL_RESET (oldtype);
+    }
 
+#ifdef __ASSUME_COMPLETE_READV_WRITEV
   return result;
+#else
+  if (result >= 0 || errno != EINVAL || count <= UIO_FASTIOV)
+    return result;
+
+  return __atomic_writev_replacement (fd, vector, count);
+#endif
 }
 strong_alias (__libc_writev, __writev)
 weak_alias (__libc_writev, writev)
 
-#define __libc_writev static internal_function __atomic_writev_replacement
-#include <sysdeps/posix/writev.c>
+#ifndef __ASSUME_COMPLETE_READV_WRITEV
+# define __libc_writev static internal_function __atomic_writev_replacement
+# include <sysdeps/posix/writev.c>
+#endif
index 89346979720991c898d22a0e927765cfb1118c3a..8833cd0cc4460ebb7384c7ba2a6a032f7d19ca86 100644 (file)
@@ -1,6 +1,6 @@
 /* strchr (str, ch) -- Return pointer to first occurrence of CH in STR.
    For AMD x86-64.
-   Copyright (C) 2002, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
    02111-1307 USA.  */
 
 #include <sysdep.h>
-#include "asm-syntax.h"
-#include "bp-sym.h"
-#include "bp-asm.h"
 
 
        .text
-ENTRY (BP_SYM (strchr))
-
-       /* Before we start with the main loop we process single bytes
-          until the source pointer is aligned.  This has two reasons:
-          1. aligned 64-bit memory access is faster
-          and (more important)
-          2. we process in the main loop 64 bit in one step although
-             we don't know the end of the string.  But accessing at
-             8-byte alignment guarantees that we never access illegal
-             memory if this would not also be done by the trivial
-             implementation (this is because all processor inherent
-             boundaries are multiples of 8).  */
-
-       movq    %rdi, %rdx
-       andl    $7, %edx        /* Mask alignment bits  */
-       movq    %rdi, %rax      /* duplicate destination.  */
-       jz      1f              /* aligned => start loop */
-       neg     %edx
-       addl    $8, %edx        /* Align to 8 bytes.  */
-
-       /* Search the first bytes directly.  */
-0:     movb    (%rax), %cl     /* load byte  */
-       cmpb    %cl,%sil        /* compare byte.  */
-       je      6f              /* target found */
-       testb   %cl,%cl         /* is byte NUL? */
-       je      7f              /* yes => return NULL */
-       incq    %rax            /* increment pointer */
-       decl    %edx
-       jnz     0b
-
-
-1:
-       /* At the moment %rsi contains C.  What we need for the
-          algorithm is C in all bytes of the register.  Avoid
-          operations on 16 bit words because these require an
-          prefix byte (and one more cycle).  */
-       /* Populate 8 bit data to full 64-bit.  */
-       movabs  $0x0101010101010101,%r9
-       movzbl  %sil,%edx
-       imul    %rdx,%r9
-
-       movq $0xfefefefefefefeff, %r8 /* Save magic.  */
-
-      /* We exit the loop if adding MAGIC_BITS to LONGWORD fails to
-        change any of the hole bits of LONGWORD.
-
-        1) Is this safe?  Will it catch all the zero bytes?
-        Suppose there is a byte with all zeros.  Any carry bits
-        propagating from its left will fall into the hole at its
-        least significant bit and stop.  Since there will be no
-        carry from its most significant bit, the LSB of the
-        byte to the left will be unchanged, and the zero will be
-        detected.
-
-        2) Is this worthwhile?  Will it ignore everything except
-        zero bytes?  Suppose every byte of QUARDWORD has a bit set
-        somewhere.  There will be a carry into bit 8.  If bit 8
-        is set, this will carry into bit 16.  If bit 8 is clear,
-        one of bits 9-15 must be set, so there will be a carry
-        into bit 16.  Similarly, there will be a carry into bit
-        24 tec..  If one of bits 54-63 is set, there will be a carry
-        into bit 64 (=carry flag), so all of the hole bits will
-        be changed.
-
-        3) But wait!  Aren't we looking for C, not zero?
-        Good point.  So what we do is XOR LONGWORD with a longword,
-        each of whose bytes is C.  This turns each byte that is C
-        into a zero.  */
-
-       .p2align 4
-4:
-       /* Main Loop is unrolled 4 times.  */
-       /* First unroll.  */
-       movq (%rax), %rcx       /* get double word (= 8 bytes) in question */
-       addq $8,%rax            /* adjust pointer for next word */
-       movq %r8, %rdx          /* magic value */
-       xorq %r9, %rcx          /* XOR with qword c|...|c => bytes of str == c
-                                  are now 0 */
-       addq %rcx, %rdx         /* add the magic value to the word.  We get
-                                  carry bits reported for each byte which
-                                  is *not* 0 */
-       jnc 3f                  /* highest byte is NUL => return pointer */
-       xorq %rcx, %rdx         /* (word+magic)^word */
-       orq %r8, %rdx           /* set all non-carry bits */
-       incq %rdx               /* add 1: if one carry bit was *not* set
-                                  the addition will not result in 0.  */
-       jnz 3f                  /* found c => return pointer */
-
-       /* The quadword we looked at does not contain the value we're looking
-          for.  Let's search now whether we have reached the end of the
-          string.  */
-       xorq %r9, %rcx          /* restore original dword without reload */
-       movq %r8, %rdx          /* magic value */
-       addq %rcx, %rdx         /* add the magic value to the word.  We get
-                                  carry bits reported for each byte which
-                                  is *not* 0 */
-       jnc 7f                  /* highest byte is NUL => return NULL */
-       xorq %rcx, %rdx         /* (word+magic)^word */
-       orq %r8, %rdx           /* set all non-carry bits */
-       incq %rdx               /* add 1: if one carry bit was *not* set
-                                  the addition will not result in 0.  */
-       jnz 7f                  /* found NUL => return NULL */
-
-       /* Second unroll.  */
-       movq (%rax), %rcx       /* get double word (= 8 bytes) in question */
-       addq $8,%rax            /* adjust pointer for next word */
-       movq %r8, %rdx          /* magic value */
-       xorq %r9, %rcx          /* XOR with qword c|...|c => bytes of str == c
-                                  are now 0 */
-       addq %rcx, %rdx         /* add the magic value to the word.  We get
-                                  carry bits reported for each byte which
-                                  is *not* 0 */
-       jnc 3f                  /* highest byte is NUL => return pointer */
-       xorq %rcx, %rdx         /* (word+magic)^word */
-       orq %r8, %rdx           /* set all non-carry bits */
-       incq %rdx               /* add 1: if one carry bit was *not* set
-                                  the addition will not result in 0.  */
-       jnz 3f                  /* found c => return pointer */
-
-       /* The quadword we looked at does not contain the value we're looking
-          for.  Let's search now whether we have reached the end of the
-          string.  */
-       xorq %r9, %rcx          /* restore original dword without reload */
-       movq %r8, %rdx          /* magic value */
-       addq %rcx, %rdx         /* add the magic value to the word.  We get
-                                  carry bits reported for each byte which
-                                  is *not* 0 */
-       jnc 7f                  /* highest byte is NUL => return NULL */
-       xorq %rcx, %rdx         /* (word+magic)^word */
-       orq %r8, %rdx           /* set all non-carry bits */
-       incq %rdx               /* add 1: if one carry bit was *not* set
-                                  the addition will not result in 0.  */
-       jnz 7f                  /* found NUL => return NULL */
-       /* Third unroll.  */
-       movq (%rax), %rcx       /* get double word (= 8 bytes) in question */
-       addq $8,%rax            /* adjust pointer for next word */
-       movq %r8, %rdx          /* magic value */
-       xorq %r9, %rcx          /* XOR with qword c|...|c => bytes of str == c
-                                  are now 0 */
-       addq %rcx, %rdx         /* add the magic value to the word.  We get
-                                  carry bits reported for each byte which
-                                  is *not* 0 */
-       jnc 3f                  /* highest byte is NUL => return pointer */
-       xorq %rcx, %rdx         /* (word+magic)^word */
-       orq %r8, %rdx           /* set all non-carry bits */
-       incq %rdx               /* add 1: if one carry bit was *not* set
-                                  the addition will not result in 0.  */
-       jnz 3f                  /* found c => return pointer */
-
-       /* The quadword we looked at does not contain the value we're looking
-          for.  Let's search now whether we have reached the end of the
-          string.  */
-       xorq %r9, %rcx          /* restore original dword without reload */
-       movq %r8, %rdx          /* magic value */
-       addq %rcx, %rdx         /* add the magic value to the word.  We get
-                                  carry bits reported for each byte which
-                                  is *not* 0 */
-       jnc 7f                  /* highest byte is NUL => return NULL */
-       xorq %rcx, %rdx         /* (word+magic)^word */
-       orq %r8, %rdx           /* set all non-carry bits */
-       incq %rdx               /* add 1: if one carry bit was *not* set
-                                  the addition will not result in 0.  */
-       jnz 7f                  /* found NUL => return NULL */
-       /* Fourth unroll.  */
-       movq (%rax), %rcx       /* get double word (= 8 bytes) in question */
-       addq $8,%rax            /* adjust pointer for next word */
-       movq %r8, %rdx          /* magic value */
-       xorq %r9, %rcx          /* XOR with qword c|...|c => bytes of str == c
-                                  are now 0 */
-       addq %rcx, %rdx         /* add the magic value to the word.  We get
-                                  carry bits reported for each byte which
-                                  is *not* 0 */
-       jnc 3f                  /* highest byte is NUL => return pointer */
-       xorq %rcx, %rdx         /* (word+magic)^word */
-       orq %r8, %rdx           /* set all non-carry bits */
-       incq %rdx               /* add 1: if one carry bit was *not* set
-                                  the addition will not result in 0.  */
-       jnz 3f                  /* found c => return pointer */
-
-       /* The quadword we looked at does not contain the value we're looking
-          for.  Let's search now whether we have reached the end of the
-          string.  */
-       xorq %r9, %rcx          /* restore original dword without reload */
-       movq %r8, %rdx          /* magic value */
-       addq %rcx, %rdx         /* add the magic value to the word.  We get
-                                  carry bits reported for each byte which
-                                  is *not* 0 */
-       jnc 7f                  /* highest byte is NUL => return NULL */
-       xorq %rcx, %rdx         /* (word+magic)^word */
-       orq %r8, %rdx           /* set all non-carry bits */
-       incq %rdx               /* add 1: if one carry bit was *not* set
-                                  the addition will not result in 0.  */
-       jz 4b                   /* no NUL found => restart loop */
-
-
-7:     /* Return NULL.  */
-       xorl %eax, %eax
-       retq
-
-
-       /* We now scan for the byte in which the character was matched.
-          But we have to take care of the case that a NUL char is
-          found before this in the dword.  Note that we XORed %rcx
-          with the byte we're looking for, therefore the tests below look
-          reversed.  */
-
-
-       .p2align 4              /* Align, it's a jump target.  */
-3:     movq    %r9,%rdx        /* move to %rdx so that we can access bytes */
-       subq    $8,%rax         /* correct pointer increment.  */
-       testb %cl, %cl          /* is first byte C? */
-       jz 6f                   /* yes => return pointer */
-       cmpb %dl, %cl           /* is first byte NUL? */
-       je 7b                   /* yes => return NULL */
-       incq %rax               /* increment pointer */
-
-       testb %ch, %ch          /* is second byte C? */
-       jz 6f                   /* yes => return pointer */
-       cmpb %dl, %ch           /* is second byte NUL? */
-       je 7b                   /* yes => return NULL? */
-       incq %rax               /* increment pointer */
-
-       shrq $16, %rcx          /* make upper bytes accessible */
-       testb %cl, %cl          /* is third byte C? */
-       jz 6f                   /* yes => return pointer */
-       cmpb %dl, %cl           /* is third byte NUL? */
-       je 7b                   /* yes => return NULL */
-       incq %rax               /* increment pointer */
-
-       testb %ch, %ch          /* is fourth byte C? */
-       jz 6f                   /* yes => return pointer */
-       cmpb %dl, %ch           /* is fourth byte NUL? */
-       je 7b                   /* yes => return NULL? */
-       incq %rax               /* increment pointer */
-
-       shrq $16, %rcx          /* make upper bytes accessible */
-       testb %cl, %cl          /* is fifth byte C? */
-       jz 6f                   /* yes => return pointer */
-       cmpb %dl, %cl           /* is fifth byte NUL? */
-       je 7b                   /* yes => return NULL */
-       incq %rax               /* increment pointer */
-
-       testb %ch, %ch          /* is sixth byte C? */
-       jz 6f                   /* yes => return pointer */
-       cmpb %dl, %ch           /* is sixth byte NUL? */
-       je 7b                   /* yes => return NULL? */
-       incq %rax               /* increment pointer */
-
-       shrq $16, %rcx          /* make upper bytes accessible */
-       testb %cl, %cl          /* is seventh byte C? */
-       jz 6f                   /* yes => return pointer */
-       cmpb %dl, %cl           /* is seventh byte NUL? */
-       je 7b                   /* yes => return NULL */
-
-       /* It must be in the eigth byte and it cannot be NUL.  */
-       incq %rax
-
-6:
-       nop
-       retq
-END (BP_SYM (strchr))
-
-weak_alias (BP_SYM (strchr), BP_SYM (index))
+ENTRY (strchr)
+       movd    %esi, %xmm1
+       movq    %rdi, %rcx
+       punpcklbw %xmm1, %xmm1
+       andq    $~15, %rdi
+       pxor    %xmm2, %xmm2
+       punpcklbw %xmm1, %xmm1
+       orl     $0xffffffff, %esi
+       movdqa  (%rdi), %xmm0
+       pshufd  $0, %xmm1, %xmm1
+       subq    %rdi, %rcx
+       movdqa  %xmm0, %xmm3
+       leaq    16(%rdi), %rdi
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm3
+       shl     %cl, %esi
+       pmovmskb %xmm0, %edx
+       pmovmskb %xmm3, %ecx
+       andl    %esi, %edx
+       andl    %esi, %ecx
+       orl     %edx, %ecx
+       jnz     1f
+
+2:     movdqa  (%rdi), %xmm0
+       leaq    16(%rdi), %rdi
+       movdqa  %xmm0, %xmm3
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm3
+       pmovmskb %xmm0, %edx
+       pmovmskb %xmm3, %ecx
+       orl     %edx, %ecx
+       jz      2b
+
+1:     bsfl    %edx, %edx
+       jz      4f
+       bsfl    %ecx, %ecx
+       leaq    -16(%rdi,%rdx), %rax
+       cmpl    %edx, %ecx
+       je      5f
+4:     xorl    %eax, %eax
+5:     ret
+END (strchr)
+
+weak_alias (strchr, index)
 libc_hidden_builtin_def (strchr)
+
index fd950edaaafeb13b9f60f50e12771cd4ba60b926..b83332c90c130b84f8cf3bd0743cc7c810827a7f 100644 (file)
@@ -1,6 +1,6 @@
 /* strlen(str) -- determine the length of the string STR.
-   Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-   Based on i486 version contributed by Ulrich Drepper <drepper@redhat.com>.
+   Copyright (C) 2009 Free Software Foundation, Inc.
+   Contributed by Ulrich Drepper <drepper@redhat.com>.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
    02111-1307 USA.  */
 
 #include <sysdep.h>
-#include "asm-syntax.h"
-#include "bp-sym.h"
-#include "bp-asm.h"
 
 
-       .text
-ENTRY (strlen)
-       movq %rdi, %rcx         /* Duplicate source pointer. */
-       andl $7, %ecx           /* mask alignment bits */
-       movq %rdi, %rax         /* duplicate destination.  */
-       jz 1f                   /* aligned => start loop */
-
-       neg %ecx                /* We need to align to 8 bytes.  */
-       addl $8,%ecx
-       /* Search the first bytes directly.  */
-0:     cmpb $0x0,(%rax)        /* is byte NUL? */
-       je 2f                   /* yes => return */
-       incq %rax               /* increment pointer */
-       decl %ecx
-       jnz 0b
-
-1:     movq $0xfefefefefefefeff,%r8 /* Save magic.  */
-
-       .p2align 4              /* Align loop.  */
-4:     /* Main Loop is unrolled 4 times.  */
-       /* First unroll.  */
-       movq (%rax), %rcx       /* get double word (= 8 bytes) in question */
-       addq $8,%rax            /* adjust pointer for next word */
-       movq %r8, %rdx          /* magic value */
-       addq %rcx, %rdx         /* add the magic value to the word.  We get
-                                  carry bits reported for each byte which
-                                  is *not* 0 */
-       jnc 3f                  /* highest byte is NUL => return pointer */
-       xorq %rcx, %rdx         /* (word+magic)^word */
-       orq %r8, %rdx           /* set all non-carry bits */
-       incq %rdx               /* add 1: if one carry bit was *not* set
-                                  the addition will not result in 0.  */
-       jnz 3f                  /* found NUL => return pointer */
-
-       /* Second unroll.  */
-       movq (%rax), %rcx       /* get double word (= 8 bytes) in question */
-       addq $8,%rax            /* adjust pointer for next word */
-       movq %r8, %rdx          /* magic value */
-       addq %rcx, %rdx         /* add the magic value to the word.  We get
-                                  carry bits reported for each byte which
-                                  is *not* 0 */
-       jnc 3f                  /* highest byte is NUL => return pointer */
-       xorq %rcx, %rdx         /* (word+magic)^word */
-       orq %r8, %rdx           /* set all non-carry bits */
-       incq %rdx               /* add 1: if one carry bit was *not* set
-                                  the addition will not result in 0.  */
-       jnz 3f                  /* found NUL => return pointer */
-
-       /* Third unroll.  */
-       movq (%rax), %rcx       /* get double word (= 8 bytes) in question */
-       addq $8,%rax            /* adjust pointer for next word */
-       movq %r8, %rdx          /* magic value */
-       addq %rcx, %rdx         /* add the magic value to the word.  We get
-                                  carry bits reported for each byte which
-                                  is *not* 0 */
-       jnc 3f                  /* highest byte is NUL => return pointer */
-       xorq %rcx, %rdx         /* (word+magic)^word */
-       orq %r8, %rdx           /* set all non-carry bits */
-       incq %rdx               /* add 1: if one carry bit was *not* set
-                                  the addition will not result in 0.  */
-       jnz 3f                  /* found NUL => return pointer */
-
-       /* Fourth unroll.  */
-       movq (%rax), %rcx       /* get double word (= 8 bytes) in question */
-       addq $8,%rax            /* adjust pointer for next word */
-       movq %r8, %rdx          /* magic value */
-       addq %rcx, %rdx         /* add the magic value to the word.  We get
-                                  carry bits reported for each byte which
-                                  is *not* 0 */
-       jnc 3f                  /* highest byte is NUL => return pointer */
-       xorq %rcx, %rdx         /* (word+magic)^word */
-       orq %r8, %rdx           /* set all non-carry bits */
-       incq %rdx               /* add 1: if one carry bit was *not* set
-                                  the addition will not result in 0.  */
-       jz 4b                   /* no NUL found => continue loop */
-
-       .p2align 4              /* Align, it's a jump target.  */
-3:     subq $8,%rax            /* correct pointer increment.  */
-
-       testb %cl, %cl          /* is first byte NUL? */
-       jz 2f                   /* yes => return */
-       incq %rax               /* increment pointer */
-
-       testb %ch, %ch          /* is second byte NUL? */
-       jz 2f                   /* yes => return */
-       incq %rax               /* increment pointer */
-
-       testl $0x00ff0000, %ecx /* is third byte NUL? */
-       jz 2f                   /* yes => return pointer */
-       incq %rax               /* increment pointer */
-
-       testl $0xff000000, %ecx /* is fourth byte NUL? */
-       jz 2f                   /* yes => return pointer */
-       incq %rax               /* increment pointer */
-
-       shrq $32, %rcx          /* look at other half.  */
-
-       testb %cl, %cl          /* is first byte NUL? */
-       jz 2f                   /* yes => return */
-       incq %rax               /* increment pointer */
-
-       testb %ch, %ch          /* is second byte NUL? */
-       jz 2f                   /* yes => return */
-       incq %rax               /* increment pointer */
-
-       testl $0xff0000, %ecx   /* is third byte NUL? */
-       jz 2f                   /* yes => return pointer */
-       incq %rax               /* increment pointer */
-2:
-       subq %rdi, %rax         /* compute difference to string start */
+ENTRY(strlen)
+       movq    %rdi, %rcx
+       movq    %rdi, %r8
+       andq    $~15, %rdi
+       pxor    %xmm1, %xmm1
+       orl     $0xffffffff, %esi
+       movdqa  (%rdi), %xmm0
+       subq    %rdi, %rcx
+       leaq    16(%rdi), %rdi
+       pcmpeqb %xmm1, %xmm0
+       shl     %cl, %esi
+       pmovmskb %xmm0, %edx
+       xorl    %eax, %eax
+       negq    %r8
+       andl    %esi, %edx
+       jnz     1f
+
+2:     movdqa  (%rdi), %xmm0
+       leaq    16(%rdi), %rdi
+       pcmpeqb %xmm1, %xmm0
+       pmovmskb %xmm0, %edx
+       testl   %edx, %edx
+       jz      2b
+
+1:     leaq    -16(%rdi,%r8), %rdi
+       bsfl    %edx, %eax
+       addq    %rdi, %rax
        ret
-END (strlen)
+END(strlen)
 libc_hidden_builtin_def (strlen)