New file to override autoconf's AC_SEARCH_LIBS.
[gnulib.git] / m4 / getgroups.m4
index c1e8dbf..15f7abc 100644 (file)
@@ -1,16 +1,25 @@
-#serial 1
+#serial 3
 
 dnl From Jim Meyering.
-dnl If you use this macro in a package, you should
-dnl add the following two lines to acconfig.h:
-dnl  /* Define to rpl_getgroups if the replacement function should be used.  */
-dnl  #undef getgroups
+dnl
+dnl Invoking code should check $GETGROUPS_LIB something like this:
+dnl  jm_FUNC_GETGROUPS
+dnl  test -n "$GETGROUPS_LIB" && LIBS="$GETGROUPS_LIB $LIBS"
 dnl
 
 AC_DEFUN(jm_FUNC_GETGROUPS,
 [AC_REQUIRE([AC_TYPE_GETGROUPS])dnl
  AC_REQUIRE([AC_TYPE_SIZE_T])dnl
  AC_CHECK_FUNCS(getgroups)
+
+ # If we don't yet have getgroups, see if it's in -lbsd.
+ # This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1.
+ if test $ac_cv_func_getgroups = no; then
+   jm_cv_sys_getgroups_saved_lib="$LIBS"
+   AC_CHECK_LIB(bsd, getgroups, [GETGROUPS_LIB=-lbsd])
+   LIBS="$jm_cv_sys_getgroups_saved_lib"
+ fi
+
  # Run the program to test the functionality of the system-supplied
  # getgroups function only if there is such a function.
  if test $ac_cv_func_getgroups = yes; then
@@ -29,8 +38,10 @@ AC_DEFUN(jm_FUNC_GETGROUPS,
               jm_cv_func_working_getgroups=no)
     ])
     if test $jm_cv_func_working_getgroups = no; then
-      LIBOBJS="$LIBOBJS getgroups.o"
-      AC_DEFINE_UNQUOTED(getgroups, rpl_getgroups)
+      AC_SUBST(LIBOBJS)
+      LIBOBJS="$LIBOBJS getgroups.$ac_objext"
+      AC_DEFINE_UNQUOTED(getgroups, rpl_getgroups,
+       [Define as rpl_getgroups if getgroups doesn't work right.])
     fi
   fi
 ])