Simplify the upgrade path handling from PPA.
[deb_libnfs.git] / configure.ac
index 2091618c685de56421fc843d447758768c8d31f4..2e64295be8b37d782639bc579ac25a5dbc9f6eaa 100644 (file)
@@ -1,5 +1,5 @@
 AC_PREREQ(2.50)
-AC_INIT([libnfs], [1.2.0], [ronniesahlberg@gmail.com])
+AC_INIT([libnfs], [1.9.6], [ronniesahlberg@gmail.com])
 AC_CONFIG_HEADERS([config.h])
 AM_INIT_AUTOMAKE([foreign])
 AC_CANONICAL_HOST
@@ -21,11 +21,6 @@ fi
 # We always want 64 bit file offsets
 CFLAGS="${CFLAGS} -D_FILE_OFFSET_BITS=64"
 
-AC_CHECK_PROG([HAVE_RPCGEN], [rpcgen], [yes], [no])
-if test x$HAVE_RPCGEN != xyes; then
-  AC_MSG_ERROR([Can not find required program])
-fi
-
 #option: examples
 AC_ARG_ENABLE([examples],
               [AC_HELP_STRING([--enable-examples],
@@ -33,37 +28,108 @@ AC_ARG_ENABLE([examples],
              [ENABLE_EXAMPLES=$enableval],
              [ENABLE_EXAMPLES="no"])
 
+# We need popt to compile the examples
 if test x$ENABLE_EXAMPLES = xyes; then
+AC_MSG_CHECKING(whether libpopt is available)
+ac_save_CFLAGS="$CFLAGS"
+ac_save_LIBS="$LIBS"
+CFLAGS="$CFLAGS $GLIB_CFLAGS"
+LIBS="$GLIB_LIBS $LIBS -lpopt"
+AC_TRY_RUN([
+/*
+ * Just see if we can compile/link with popt
+ */
+#include <popt.h>
+
+int main(int argc, const char *argv[])
+{
+       struct poptOption popt_options[] = {
+               POPT_TABLEEND
+       };
+       poptGetContext(argv[0], argc, argv, popt_options, POPT_CONTEXT_KEEP_FIRST);
+
+       return 0;
+}
+], ac_cv_have_popt=yes, ac_cv_have_popt=no,
+   [echo $ac_n "compile with POPT. Assuming OK... $ac_c"
+    ac_cv_have_popt=yes])
+CFLAGS="$ac_save_CFLAGS"
+LIBS="$ac_save_LIBS"
+if test "$ac_cv_have_popt" = yes ; then
+  AC_MSG_RESULT(yes)
   MAYBE_EXAMPLES="examples"
+else
+  AC_MSG_RESULT(no)
+  AC_MSG_NOTICE(You need libpopt to compile the sample libnfs clients.)
+  AC_MSG_NOTICE(Only the library will be compiled and installed.)
+fi
 fi
+
 AC_SUBST(MAYBE_EXAMPLES)
 
-AC_ARG_ENABLE(tirpc,
-       [AC_HELP_STRING([--enable-tirpc],
-                       [enable use of TI-RPC @<:@default=no@:>@])],
-       enable_tirpc=$enableval,
-       enable_tirpc='no')
 
 case $host in
-  *darwin*)
-    RPCGENFLAGS=-DU_INT64_PLATTFORM_TYPE="u_int64_t"
-    ;;
-  *cygwin*)
-    RPCGENFLAGS=-DU_INT64_PLATTFORM_TYPE="u_int64_t"
-    ;;
   *solaris*)
     AC_CHECK_HEADERS([sys/filio.h])
     AC_CHECK_HEADERS([sys/sockio.h])
-    if test x$ENABLE_EXAMPLES = xyes; then
-      AC_CHECK_LIB([socket], [main], , [AC_MSG_ERROR([Can not find required library])])
-      AC_CHECK_LIB([nsl],    [main], , [AC_MSG_ERROR([Can not find required library])])
-    fi
+    AC_CHECK_LIB([socket], [main], , [AC_MSG_ERROR([Can not find required library])])
+    AC_CHECK_LIB([nsl],    [main], , [AC_MSG_ERROR([Can not find required library])])
     ;;
   *)
     ;;
 esac
 
-AC_SUBST(RPCGENFLAGS)
+# check for poll.h
+dnl Check for poll.h
+AC_CHECK_HEADERS([poll.h])
+
+# check for unistd.h
+dnl Check for unistd.h
+AC_CHECK_HEADERS([unistd.h])
+
+# check for netdb.h
+dnl Check for netdb.h
+AC_CHECK_HEADERS([netdb.h])
+
+# check for utime.h
+dnl Check for utime.h
+AC_CHECK_HEADERS([utime.h])
+
+# check for net/if.h
+dnl Check for net/if.h
+AC_CHECK_HEADERS([net/if.h])
+
+# check for sys/time.h
+dnl Check for sys/time.h
+AC_CHECK_HEADERS([sys/time.h])
+
+# check for sys/ioctl.h
+dnl Check for sys/ioctl.h
+AC_CHECK_HEADERS([sys/ioctl.h])
+
+# check for sys/vfs.h
+dnl Check for sys/vfs.h
+AC_CHECK_HEADERS([sys/vfs.h])
+
+# check for sys/statvfs.h
+dnl Check for sys/statvfs.h
+AC_CHECK_HEADERS([sys/statvfs.h])
+
+# check for sys/socket.h
+dnl Check for sys/socket.h
+AC_CHECK_HEADERS([sys/socket.h])
+
+# check for netinet/tcp.h
+dnl Check for netinet/tcp.h
+AC_CHECK_HEADERS([netinet/tcp.h])
+
+# check for netinet/in.h
+dnl Check for netinet/in.h
+AC_CHECK_HEADERS([netinet/in.h])
+
+# check for arpa/inet.h
+dnl Check for arpa/inet.h
+AC_CHECK_HEADERS([arpa/inet.h])
 
 # check for SA_LEN
 dnl Check if sockaddr data structure includes a "sa_len"
@@ -75,26 +141,33 @@ AC_CHECK_MEMBER([struct sockaddr.sa_len],
 #include <sys/socket.h>
 ])
 
-LIBNFS_PC_REQ_PRIVATE=
+# check for sockaddr_storage
+dnl Check if sockaddr structure includes a "ss_family"
+AC_CHECK_MEMBER([struct sockaddr_storage.ss_family],
+                [ AC_DEFINE(HAVE_SOCKADDR_STORAGE,1,[Whether we have sockaddr_Storage]) ],
+                [],
+                [
+#include <sys/types.h>
+#include <sys/socket.h>
+])
 
-if test "$enable_tirpc" = "yes"; then
-       PKG_CHECK_MODULES(TIRPC, libtirpc, [],
-               AC_MSG_ERROR([unable to locate libtirpc files]))
-       CFLAGS="${CFLAGS} ${TIRPC_CFLAGS}"
-       LIBS="${LIBS} ${TIRPC_LIBS}"
-       LIBNFS_PC_REQ_PRIVATE="${LIBNFS_PC_REQ_PRIVATE} libtirpc"
-fi
+AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec])
 
-AC_SUBST(LIBNFS_PC_REQ_PRIVATE)
+# check where makedev is defined
+AC_HEADER_MAJOR
 
 #output
 AC_CONFIG_FILES([Makefile]
+                [doc/Makefile]
                 [include/Makefile]
                 [lib/Makefile]
                 [mount/Makefile]
                 [nfs/Makefile]
+                [nlm/Makefile]
+                [nsm/Makefile]
                 [portmap/Makefile]
                 [rquota/Makefile]
+                [utils/Makefile]
                 [examples/Makefile]
                )