Merge in changes from GNU libc.
[gnulib.git] / m4 / lib-check.m4
index bf49153..0e4cc3a 100644 (file)
@@ -1,8 +1,8 @@
-#serial 1
+#serial 4
 
 dnl Misc lib-related macros for fileutils, sh-utils, textutils.
 
-AC_DEFUN(jm_MACROS,
+AC_DEFUN(jm_LIB_CHECK,
 [
 
   # Check for libypsec.a on Dolphin M88K machines.
@@ -39,11 +39,20 @@ AC_DEFUN(jm_MACROS,
   AC_SEARCH_LIBS(yp_match, [sun ypsec])
 
   # SysV needs -lsec, older versions of Linux need -lshadow for
-  # shadow passwords.
-  AC_SEARCH_LIBS(getspnam, [shadow sec])
-
-  AC_EGREP_HEADER(sp_pwdp, shadow.h,
-                 AC_CHECK_FUNC(getspnam, AC_DEFINE(HAVE_SHADOW_H)))
+  # shadow passwords.  UnixWare 7 needs -lgen.
+  AC_SEARCH_LIBS(getspnam, [shadow sec gen])
+
+  AC_CHECK_HEADERS(shadow.h)
+
+  # Requirements for su.c.
+  shadow_includes="\
+$ac_includes_default
+#if HAVE_SHADOW_H
+# include <shadow.h>
+#endif
+"
+  AC_CHECK_MEMBERS([struct spwd.sp_pwdp],,,[$shadow_includes])
+  AC_CHECK_FUNCS(getspnam)
 
   # SCO-ODT-3.0 is reported to need -lufc for crypt.
   # NetBSD needs -lcrypt for crypt.