]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - aclocal/libtirpc.m4
Only start nfs-common in runlevel S; it doesn't need to be started more than once...
[nfs-utils.git] / aclocal / libtirpc.m4
index af4c7d3c10d109535f91282db8420b81f76dc99b..b8233640837676d5b09db16d9910e54e4e1ab6ee 100644 (file)
@@ -11,18 +11,52 @@ AC_DEFUN([AC_LIBTIRPC], [
   dnl if --enable-tirpc was specifed, the following components
   dnl must be present, and we set up HAVE_ macros for them.
 
-  if test "$enable_tirpc" = yes; then
+  if test "$enable_tirpc" != "no"; then
 
-    dnl look for the library; add to LIBS if found
-    AC_CHECK_LIB([tirpc], [clnt_tli_create], ,
-                 [AC_MSG_ERROR([libtirpc not found.])])
+    dnl look for the library
+    AC_CHECK_LIB([tirpc], [clnt_tli_create], [:],
+                 [if test "$enable_tirpc" = "yes"; then
+                       AC_MSG_ERROR([libtirpc not found.])
+                 else
+                       AC_MSG_WARN([libtirpc not found. TIRPC disabled!])
+                       enable_tirpc="no"
+                 fi])
+  fi
+
+  if test "$enable_tirpc" != "no"; then
+
+    dnl Check if library contains authgss_free_private_data
+    AC_CHECK_LIB([tirpc], [authgss_free_private_data], [have_free_private_data=yes],
+                       [have_free_private_data=no])
+  fi
 
+  if test "$enable_tirpc" != "no"; then
     dnl also must have the headers installed where we expect
     dnl look for headers; add -I compiler option if found
-    AC_CHECK_HEADERS([${tirpc_header_dir}/netconfig.h], ,
-                     [AC_MSG_ERROR([libtirpc headers not found.])])
-    AC_SUBST([AM_CPPFLAGS], ["-I${tirpc_header_dir}"])
+    AC_CHECK_HEADERS([${tirpc_header_dir}/netconfig.h],
+                     AC_SUBST([AM_CPPFLAGS], ["-I${tirpc_header_dir}"]),
+                     [if test "$enable_tirpc" = "yes"; then
+                        AC_MSG_ERROR([libtirpc headers not found.])
+                      else
+                        AC_MSG_WARN([libtirpc headers not found. TIRPC disabled!])
+                        enable_tirpc="no"
+                      fi])
 
   fi
 
+  dnl now set $LIBTIRPC accordingly
+  if test "$enable_tirpc" != "no"; then
+    AC_DEFINE([HAVE_LIBTIRPC], 1,
+              [Define to 1 if you have and wish to use libtirpc.])
+    LIBTIRPC="-ltirpc"
+    if test "$have_free_private_data" = "yes"; then
+      AC_DEFINE([HAVE_AUTHGSS_FREE_PRIVATE_DATA], 1,
+             [Define to 1 if your rpcsec library provides authgss_free_private_data,])
+    fi
+  else
+    LIBTIRPC=""
+  fi
+
+  AC_SUBST(LIBTIRPC)
+
 ])dnl