Increase MEMLAT from 6 to 21 for better performance.
[kopensolaris-gnu/glibc.git] / aclocal.m4
index 3c8e794..5affe45 100644 (file)
@@ -10,6 +10,7 @@ AC_PROVIDE([AC_PROG_INSTALL])dnl
 AC_PROVIDE([AC_PROG_RANLIB])dnl
 AC_PROVIDE([AC_PROG_CC])dnl
 AC_PROVIDE([AC_PROG_CPP])dnl
+define([AC_LANG], [C])dnl
 # This file is generated from configure.in by Autoconf.  DO NOT EDIT!
 ])dnl
 dnl
@@ -32,51 +33,56 @@ fi
 AC_MSG_RESULT($ac_cv_check_symbol_$1)])dnl
 dnl
 
+dnl Locate a program and check that its version is acceptable.
+dnl AC_PROG_CHECK_VER(var, namelist, version-switch,
+dnl                  [version-extract-regexp], version-glob [, do-if-fail])
+AC_DEFUN(AC_CHECK_PROG_VER,
+[AC_CHECK_PROGS([$1], [$2])
+if test -z "[$]$1"; then
+  ac_verc_fail=yes
+else
+  # Found it, now check the version.
+  AC_MSG_CHECKING([version of [$]$1])
+changequote(<<,>>)dnl
+  ac_prog_version=`<<$>>$1 $3 2>&1 ifelse(<<$4>>,,,
+                   <<| sed -n 's/^.*patsubst(<<$4>>,/,\/).*$/\1/p'>>)`
+  case $ac_prog_version in
+    '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+    <<$5>>)
+changequote([,])dnl
+       ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+    *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+
+  esac
+  AC_MSG_RESULT([$ac_prog_version])
+fi
+ifelse([$6],,,
+[if test $ac_verc_fail = yes; then
+  $6
+fi])
+])
+
 dnl These modifications are to allow for an empty cross compiler tree.
 dnl In the situation that cross-linking is impossible, the variable
 dnl `cross_linkable' will be substituted with "yes".
+dnl The vercheck macros are expected to have been called already.
 AC_DEFUN(AC_PROG_CC_LOCAL,
 [AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_PROG(CC, gcc, gcc)
-if test -z "$CC"; then
-  AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
-  test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
 
 AC_PROG_CC_WORKS_LOCAL
 AC_PROG_CC_GNU
-
-dnl The following differs from the AC_PROG_CC macro in autoconf.  Since
-dnl we require a recent version of gcc to be used we do not need to go
-dnl into lengths and test for bugs in old versions.  It must be gcc 2.7
-dnl or above.
-if test $ac_cv_prog_gcc = yes; then
-  GCC=yes
-
-dnl Check the version
-  cat > conftest.c <<EOF
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-  yes;
-#endif
-EOF
-  if AC_TRY_COMMAND(${CC-cc} -E conftest.c) | egrep yes >/dev/null 2>&1; then
-    if test -z "$CFLAGS"; then
-      CFLAGS="-g -O2"
-    fi
-  else
-    AC_MSG_ERROR([We require GNU CC version 2.7 or newer])
-  fi
-else
+if test $ac_cv_prog_gcc != yes; then
   AC_MSG_ERROR([GNU libc must be compiled using GNU CC])
 fi
 ])
 
 AC_DEFUN(AC_PROG_CC_WORKS_LOCAL,
 [AC_MSG_CHECKING([whether the C compiler ($CC $CFLAGS $LDFLAGS) works])
-AC_LANG_SAVE
+AC_CACHE_VAL(ac_cv_prog_cc_works,
+[AC_LANG_SAVE
 AC_LANG_C
 AC_TRY_COMPILER([main(){return(0);}], ac_cv_prog_cc_works, ac_cv_prog_cc_cross)
-AC_LANG_RESTORE
+AC_LANG_RESTORE])
 AC_MSG_RESULT($ac_cv_prog_cc_works)
 if test $ac_cv_prog_cc_works = no; then
  cross_linkable=no
@@ -85,8 +91,9 @@ dnl AC_MSG_ERROR([installation or configuration problem: C compiler cannot creat
 else
  cross_linkable=yes
 fi
-AC_MSG_CHECKING([whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler])
-AC_MSG_RESULT($ac_cv_prog_cc_cross)
+AC_CACHE_CHECK(
+[whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler],
+ac_cv_prog_cc_cross, [:])
 AC_SUBST(cross_linkable)
 cross_compiling=$ac_cv_prog_cc_cross
 ])
@@ -94,27 +101,41 @@ cross_compiling=$ac_cv_prog_cc_cross
 AC_DEFUN(LIBC_PROG_FOO_GNU,
 [# 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.
-if $1 -v </dev/null 2>&1 | grep -q GNU; then
+if $1 -o conftest -v </dev/null 2>&1 | grep GNU > /dev/null 2>&1; then
   $2
 else
   $3
-fi])
+fi
+rm -fr contest*])
 
 AC_DEFUN(LIBC_PROG_BINUTILS,
 [# Was a --with-binutils option given?
 if test -n "$path_binutils"; then
     # Make absolute; ensure a single trailing slash.
     path_binutils=`(cd $path_binutils; pwd) | sed 's%/*$%/%'`
-    CC="$CC -B$with_binutils"
+    CC="$CC -B$path_binutils"
+fi
+AS=`$CC -print-prog-name=as`
+LD=`$CC -print-prog-name=ld`
+AR=`$CC -print-prog-name=ar`
+AC_SUBST(AR)
+
+# ranlib has to be treated a bit differently since it might not exist at all.
+RANLIB=`$CC -print-prog-name=ranlib`
+if test $RANLIB = ranlib; then
+# This extra check has to happen since gcc simply echos the parameter in
+# case it cannot find the value in its own directories.
+AC_CHECK_TOOL(RANLIB, ranlib, :)
 fi
-AS=`$CC -print-file-name=as`
-LD=`$CC -print-file-name=ld`
+AC_SUBST(RANLIB)
 
 # Determine whether we are using GNU binutils.
 AC_CACHE_CHECK(whether $AS is GNU as, libc_cv_prog_as_gnu,
 [LIBC_PROG_FOO_GNU($AS, libc_cv_prog_as_gnu=yes, libc_cv_prog_as_gnu=no)])
+rm -f a.out
 gnu_as=$libc_cv_prog_as_gnu
 
 AC_CACHE_CHECK(whether $LD is GNU ld, libc_cv_prog_ld_gnu,
 [LIBC_PROG_FOO_GNU($LD, libc_cv_prog_ld_gnu=yes, libc_cv_prog_ld_gnu=no)])
-gnu_ld=$libc_cv_prog_ld_gnu])
+gnu_ld=$libc_cv_prog_ld_gnu
+])