--- libgnomevfs/gnome-vfs-utils.c.orig	2004-03-06 23:00:11.791274000 -0600
+++ libgnomevfs/gnome-vfs-utils.c	2004-03-06 23:52:22.616567000 -0600
@@ -49,6 +49,9 @@
 #if HAVE_SYS_STATVFS_H
 #include <sys/statvfs.h>
 #endif
+#if HAVE_SYS_STATFS_H
+#include <sys/statfs.h>
+#endif
 
 #if HAVE_SYS_VFS_H
 #include <sys/vfs.h>
@@ -800,7 +803,12 @@
 #if HAVE_STATVFS
 	statfs_result = statvfs (unescaped_path, &statfs_buffer);
 #else
-	statfs_result = statfs (unescaped_path, &statfs_buffer);   
+#if STATFS_ARGS == 2
+	statfs_result = statfs (unescaped_path, &statfs_buffer);
+#elif STATFS_ARGS == 4
+	statfs_result = statfs (unescaped_path, &statfs_buffer,
+		sizeof (statfs_buffer), 0);
+#endif
 #endif  
 
 	if (statfs_result != 0) {
@@ -814,7 +822,12 @@
 		 * with statfs.
 		 */
 		struct statfs statfs_buffer2;
+#if STATFS_ARGS == 2
 		statfs_result = statfs (unescaped_path, &statfs_buffer2);
+#elif STATFS_ARGS == 4
+		statfs_result = statfs (unescaped_path, &statfs_buffer2,
+			sizeof (statfs_buffer2), 0);
+#endif
 		g_free (unescaped_path);
 
 		if (statfs_result != 0) {
@@ -822,7 +835,11 @@
 		}
 		
 		/* linux/ncp_fs.h: NCP_SUPER_MAGIC == 0x564c */
+#if HAVE_STRUCT_STATFS_F_TYPE
 		if (statfs_buffer2.f_type == 0x564c) {
+#elif HAVE_STRUCT_STATFS_F_FSTYP
+		if (statfs_buffer2.f_fstyp == 0x564c) {
+#endif
 			return GNOME_VFS_ERROR_NOT_SUPPORTED;
 		}
 	}
--- configure.in.orig	2004-01-26 15:57:11.000000000 -0600
+++ configure.in	2004-03-06 23:48:36.365812000 -0600
@@ -38,7 +38,6 @@
 AM_MAINTAINER_MODE
 
 GNOME_COMMON_INIT
-GNOME_PLATFORM_GNOME_2(yes, force)
 
 dnl touch NOINST_GOB
 dnl AC_CONFIG_SUBDIRS(gob)
@@ -105,7 +106,6 @@
 GNOME_COMPILE_WARNINGS
 VFS_CFLAGS="$warnCFLAGS $complCFLAGS"
 
-GNOME_PTHREAD_CHECK
 dnl semaphore functions are in librt.so on solaris
 AC_SEARCH_LIBS(sem_wait, rt)
 
@@ -205,7 +198,62 @@
 AC_SUBST(VFS_SIZE_PRINTF)
 AC_SUBST(VFS_OFFSET_PRINTF)
 
-AC_CHECK_HEADERS(sys/param.h sys/resource.h sys/vfs.h sys/mount.h sys/statvfs.h wctype.h)
+AC_CHECK_HEADERS(sys/param.h sys/resource.h sys/vfs.h sys/mount.h sys/statfs.h sys/statvfs.h wctype.h)
+
+dnl
+dnl file system type member in statfs struct
+dnl
+AC_CHECK_MEMBERS([struct statfs.f_type], ,[
+  AC_CHECK_MEMBERS([struct statfs.f_fstyp], , , [#ifdef HAVE_SYS_VFS_H
+#include <sys/vfs.h>
+#endif
+#ifdef HAVE_SYS_MOUNT_H
+#include <sys/mount.h>
+#endif
+#ifdef HAVE_SYS_STATFS_H
+#include <sys/statfs.h>
+#endif])], [#ifdef HAVE_SYS_VFS_H
+#include <sys/vfs.h>
+#endif
+#ifdef HAVE_SYS_MOUNT_H
+#include <sys/mount.h>
+#endif
+#ifdef HAVE_SYS_STATFS_H
+#include <sys/statfs.h>
+#endif])
+ 
+dnl
+dnl if statfs() takes 2 arguments or 4 (Solaris)
+dnl
+AC_MSG_CHECKING([number of arguments to statfs()])
+AC_TRY_COMPILE([#include <unistd.h>
+#ifdef HAVE_SYS_VFS_H
+#include <sys/vfs.h>
+#endif
+#ifdef HAVE_SYS_MOUNT_H
+#include <sys/mount.h>
+#endif
+#ifdef HAVE_SYS_STATFS_H
+#include <sys/statfs.h>
+#endif], [struct statfs st;
+statfs(NULL, &st);],[
+  AC_MSG_RESULT([2])
+  AC_DEFINE(STATFS_ARGS, 2, [Number of arguments to statfs()])],[
+  AC_TRY_COMPILE([#include <unistd.h>
+#ifdef HAVE_SYS_VFS_H
+#include <sys/vfs.h>
+#endif
+#ifdef HAVE_SYS_MOUNT_H
+#include <sys/mount.h>
+#endif
+#ifdef HAVE_SYS_STATFS_H
+#include <sys/statfs.h>
+#endif], [struct statfs st;
+statfs(NULL, &st, sizeof (st), 0);],[
+    AC_MSG_RESULT([4])
+    AC_DEFINE(STATFS_ARGS, 4, [Number of arguments to statfs()])],[
+    AC_MSG_RESULT(unknown)
+    AC_MSG_ERROR([unable to determine number of arguments to statfs()])])])
 
 AC_TYPE_MBSTATE_T
 
@@ -453,6 +501,7 @@
   else
 	AC_MSG_CHECKING(for OpenSSL libraries)
 	AC_MSG_RESULT(no)
+	AM_CONDITIONAL(HAVE_SSL, false)
   fi
   ])
   dnl end of PKG_CHECK_MODULES(openssl)
