Correctly handle missing initgroups database
[platform/upstream/glibc.git] / aclocal.m4
index 1bb0b4a..d226e77 100644 (file)
@@ -3,19 +3,32 @@ dnl which appears in configure.in before the sysdep configure scripts are run.
 dnl Each sysdep configure.in does GLIBC_PROVIDES first, to avoid any
 dnl AC_REQUIREs or AC_BEFOREs duplicating their code.
 dnl
-define(AC_FD_MSG,6)dnl Autoconf lossage.
-define(AC_FD_CC,5)dnl Autoconf lossage.
-AC_DEFUN([GLIBC_PROVIDES], [dnl
+define([GLIBC_PROVIDES], [dnl
+AC_PROVIDE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+AC_PROVIDE([AC_CONFIG_SUBDIRS])dnl
+AC_PROVIDE([_AS_ECHO_N_PREPARE])dnl
+AC_PROVIDE([_AS_ECHO_PREPARE])dnl
+AC_PROVIDE([_AS_CR_PREPARE])dnl
+AC_PROVIDE([_AS_TR_SH_PREPARE])dnl
 AC_PROVIDE([AC_PROG_INSTALL])dnl
 AC_PROVIDE([AC_PROG_RANLIB])dnl
 AC_PROVIDE([AC_PROG_CC])dnl
 AC_PROVIDE([AC_PROG_CPP])dnl
+AC_PROVIDE([_AS_PATH_SEPARATOR_PREPARE])dnl
+AC_PROVIDE([_AS_TEST_PREPARE])dnl
+define([AS_MESSAGE_LOG_FD],5)dnl
+define([AS_MESSAGE_FD],6)dnl
+dnl Ripped out of AS_INIT, which does more cruft we do not want.
+m4_wrap([m4_divert_pop([BODY])[]])
+m4_divert_push([BODY])[]dnl
+dnl End of ripped out of AS_INIT.
 # This file is generated from configure.in by Autoconf.  DO NOT EDIT!
+define([_AC_LANG], [C])dnl
 ])dnl
 dnl
 dnl Check for a symbol
 dnl
-AC_DEFUN(AC_CHECK_SYMBOL, [dnl
+AC_DEFUN([AC_CHECK_SYMBOL], [dnl
 AC_MSG_CHECKING(for $1)
 AC_CACHE_VAL(ac_cv_check_symbol_$1, [dnl
 AC_TRY_LINK(,
@@ -34,110 +47,62 @@ 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, fatal)
-AC_DEFUN(AC_CHECK_PROG_VER,
-[# Prepare to iterate over the program-name list.
-set dummy $2; shift
-AC_MSG_CHECKING([for [$]1])
-AC_CACHE_VAL(ac_cv_prog_$1, [dnl
-if test -n "[$]$1"; then
-  ac_cv_prog_$1="[$]$1" # Let the user override the test.
+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
-  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_word; do
-    for ac_dir in $PATH; do
-      test -z "$ac_dir" && ac_dir=.
-      if test -f $ac_dir/$ac_word; then
-        ac_cv_prog_$1="$ac_word"
-        break
-      fi
-    done
-    test -n "$ac_cv_prog_$1" && break
-  done
-  IFS="$ac_save_ifs"
-fi])dnl
-if test -z "$ac_cv_prog_$1"; then
-  AC_MSG_RESULT(no)
-  $1=:
-  ac_verc_fail=t; ifelse([$6],,,[ac_verc_fatal=$6])
-else
-# Found it, now check the version.
-ac_word=$ac_cv_prog_$1
-dnl Do this by hand to avoid "(cached) (cached)".
-  if test "[$]{ac_cv_prog_$1_ver+set}" != set; then
+  # Found it, now check the version.
+  AC_MSG_CHECKING([version of [$]$1])
 changequote(<<,>>)dnl
-    ac_cv_prog_$1_ver=`$ac_word $3 2>&1 ifelse(<<$4>>,,,<<| sed -n 's/^.*$4.*$/\1/p'>>)`
-  fi
-  if test -n "$ac_cv_prog_$1_ver"; then
-  case $ac_cv_prog_$1_ver in
-    <<$5>>) ac_vers_ok=", ok";  $1=$ac_cv_prog_$1;;
+  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_vers_ok=", bad"; $1=:
-           ac_verc_fail=t; ifelse([$6],,,[ac_verc_fatal=$6]);;
+       ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+    *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+
   esac
-  else
-    ac_vers_ok="v. ?.??, bad"; $1=:
-    ac_verc_fail=t; ifelse([$6],,,[ac_verc_fatal=$6])
-  fi
-AC_MSG_RESULT($ac_word $ac_cv_prog_$1_ver$ac_vers_ok)
+  AC_MSG_RESULT([$ac_prog_version])
 fi
-AC_SUBST($1)dnl
+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_PROG_CC_WORKS_LOCAL
-AC_PROG_CC_GNU
-if test $ac_cv_prog_gcc != yes; then
-  AC_MSG_ERROR([GNU libc must be compiled using GNU CC])
-fi
+define([_AC_COMPILER_EXEEXT], [EXEEXT=
 ])
 
-AC_DEFUN(AC_PROG_CC_WORKS_LOCAL,
-[AC_MSG_CHECKING([whether the C compiler ($CC $CFLAGS $LDFLAGS) works])
-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_MSG_RESULT($ac_cv_prog_cc_works)
-if test $ac_cv_prog_cc_works = no; then
- cross_linkable=no
- ac_cv_prog_cc_cross=yes
-dnl AC_MSG_ERROR([installation or configuration problem: C compiler cannot create executables.])
-else
- cross_linkable=yes
-fi
-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
-])
-
-AC_DEFUN(LIBC_PROG_FOO_GNU,
+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 GNU > /dev/null 2>&1; 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,
+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$path_binutils"
 fi
-AS=`$CC -print-file-name=as`
-LD=`$CC -print-file-name=ld`
+AS=`$CC -print-prog-name=as`
+LD=`$CC -print-prog-name=ld`
+AR=`$CC -print-prog-name=ar`
+AC_SUBST(AR)
+OBJDUMP=`$CC -print-prog-name=objdump`
+AC_SUBST(OBJDUMP)
+OBJCOPY=`$CC -print-prog-name=objcopy`
+AC_SUBST(OBJCOPY)
 
 # Determine whether we are using GNU binutils.
 AC_CACHE_CHECK(whether $AS is GNU as, libc_cv_prog_as_gnu,