summaryrefslogtreecommitdiff
path: root/m4/getusershell.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/getusershell.m4')
-rw-r--r--m4/getusershell.m424
1 files changed, 21 insertions, 3 deletions
diff --git a/m4/getusershell.m4 b/m4/getusershell.m4
index de602d3..98cf70b 100644
--- a/m4/getusershell.m4
+++ b/m4/getusershell.m4
@@ -1,10 +1,28 @@
-# getusershell.m4 serial 4
-dnl Copyright (C) 2002, 2003, 2006 Free Software Foundation, Inc.
+# getusershell.m4 serial 7
+dnl Copyright (C) 2002-2003, 2006, 2008-2016 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)
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+
+ 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
])