getline cleanup. This changes the getndelim2 API: both order of arguments,
[gnulib.git] / m4 / lib-check.m4
index 9765cbd..0ce7310 100644 (file)
@@ -1,8 +1,8 @@
-#serial 1
+#serial 7
 
 dnl Misc lib-related macros for fileutils, sh-utils, textutils.
 
-AC_DEFUN(jm_LIB_CHECK,
+AC_DEFUN([gl_LIB_CHECK],
 [
 
   # Check for libypsec.a on Dolphin M88K machines.
@@ -39,16 +39,27 @@ AC_DEFUN(jm_LIB_CHECK,
   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])
+  # shadow passwords.  UnixWare 7 needs -lgen.
+  AC_SEARCH_LIBS(getspnam, [shadow sec gen])
 
-  AC_EGREP_HEADER(sp_pwdp, shadow.h,
-                 AC_CHECK_FUNC(getspnam, AC_DEFINE(HAVE_SHADOW_H)))
+  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.
   ac_su_saved_lib="$LIBS"
-  AC_SEARCH_LIBS(crypt, [ufc crypt], [LIB_CRYPT="$ac_cv_search_crypt"])
+  AC_SEARCH_LIBS(crypt, [ufc crypt],
+                [test "$ac_cv_search_crypt" = "none required" ||
+                 LIB_CRYPT="$ac_cv_search_crypt"])
   LIBS="$ac_su_saved_lib"
   AC_SUBST(LIB_CRYPT)
 ])