strtoumax: fix typo in previous commit.
[gnulib.git] / m4 / getusershell.m4
index 736077d..8aee912 100644 (file)
@@ -1,19 +1,28 @@
-# getusershell.m4 serial 3
-dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+# getusershell.m4 serial 7
+dnl Copyright (C) 2002-2003, 2006, 2008-2013 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 AC_DEFUN([gl_FUNC_GETUSERSHELL],
 [
-  AC_REPLACE_FUNCS(getusershell)
-  if test $ac_cv_func_getusershell = no; then
-    gl_PREREQ_GETUSERSHELL
-  fi
-])
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
 
-# Prerequisites of lib/getusershell.c.
-AC_DEFUN([gl_PREREQ_GETUSERSHELL], [
-  AC_REQUIRE([AC_HEADER_STDC])
-  AC_CHECK_FUNCS_ONCE(isascii)
+  dnl Persuade glibc <unistd.h> to declare {get,set,end}usershell().
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+  dnl Check whether the getusershell function exists.
+  AC_CHECK_FUNCS_ONCE([getusershell])
+  if test $ac_cv_func_getusershell = yes; then
+    HAVE_GETUSERSHELL=1
+    dnl Check whether getusershell is declared.
+    AC_CHECK_DECLS([getusershell])
+    if test $ac_cv_have_decl_getusershell = no; then
+      HAVE_DECL_GETUSERSHELL=0
+    fi
+  else
+    HAVE_GETUSERSHELL=0
+    dnl Assume that on platforms which declare it, the function exists.
+    HAVE_DECL_GETUSERSHELL=0
+  fi
 ])