$NetBSD: patch-ao,v 1.8 2011/09/18 01:36:06 manu Exp $

NetBSD uses libperfuse(3). Also enable debugging (-g) for now,
and let it build georeplication
--- configure.orig	2011-08-23 14:31:48.000000000 +0200
+++ configure	2011-09-17 15:48:02.000000000 +0200
@@ -464,9 +464,9 @@
 # include <unistd.h>
 #endif"
 
 ac_subdirs_all="$ac_subdirs_all argp-standalone"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE SED EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL mountutildir initdir launchddir LEX LEXLIB LEX_OUTPUT_ROOT YACC LD ac_ct_LD HAVE_SPINLOCK HAVE_STRNLEN FUSE_CLIENT_SUBDIR FUSERMOUNT_SUBDIR IBVERBS_SUBDIR RDMA_SUBDIR PYTHON PYTHON_VERSION PYTHON_PREFIX PYTHON_EXEC_PREFIX PYTHON_PLATFORM pythondir pkgpythondir pyexecdir pkgpyexecdir SYNCDAEMON_COMPILE SYNCDAEMON_SUBDIR PKG_CONFIG ac_pt_PKG_CONFIG LIBXML2_CFLAGS LIBXML2_LIBS HAVE_BACKTRACE HAVE_MALLOC_STATS subdirs ARGP_STANDALONE_CPPFLAGS ARGP_STANDALONE_LDADD GF_DISTRIBUTION GF_HOST_OS GF_GLUSTERFS_LDFLAGS GF_GLUSTERFS_CFLAGS GF_CFLAGS GF_LDFLAGS GF_LDADD GF_FUSE_CFLAGS RLLIBS AM_MAKEFLAGS AM_LIBTOOLFLAGS CONTRIBDIR INCLUDES GF_DARWIN_HOST_OS_TRUE GF_DARWIN_HOST_OS_FALSE LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE SED EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL mountutildir initdir launchddir LEX LEXLIB LEX_OUTPUT_ROOT YACC LD ac_ct_LD HAVE_SPINLOCK HAVE_STRNLEN FUSE_CLIENT_SUBDIR FUSERMOUNT_SUBDIR IBVERBS_SUBDIR RDMA_SUBDIR PYTHON PYTHON_VERSION PYTHON_PREFIX PYTHON_EXEC_PREFIX PYTHON_PLATFORM pythondir pkgpythondir pyexecdir pkgpyexecdir SYNCDAEMON_COMPILE SYNCDAEMON_SUBDIR PKG_CONFIG ac_pt_PKG_CONFIG LIBXML2_CFLAGS LIBXML2_LIBS HAVE_BACKTRACE HAVE_MALLOC_STATS subdirs ARGP_STANDALONE_CPPFLAGS ARGP_STANDALONE_LDADD GF_DISTRIBUTION GF_HOST_OS GF_GLUSTERFS_LDFLAGS GF_GLUSTERFS_CFLAGS GF_CFLAGS GF_LDFLAGS GF_LDADD GF_FUSE_LDADD GF_FUSE_CFLAGS RLLIBS AM_MAKEFLAGS AM_LIBTOOLFLAGS CONTRIBDIR INCLUDES GF_DARWIN_HOST_OS_TRUE GF_DARWIN_HOST_OS_FALSE LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
 ac_init_help=
@@ -20385,8 +20385,11 @@
 case $host_os in
      linux*)
 #do nothing
        ;;
+     netbsd*)
+#do nothing
+       ;;
      *)
 #disabling geo replication for non-linux platforms
 	enable_georeplication=no
         ;;
@@ -21124,8 +21127,110 @@
 
 fi
 
 
+echo "$as_me:$LINENO: checking for linkat" >&5
+echo $ECHO_N "checking for linkat... $ECHO_C" >&6
+if test "${ac_cv_func_linkat+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define linkat to an innocuous variant, in case <limits.h> declares linkat.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define linkat innocuous_linkat
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char linkat (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef linkat
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char linkat ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_linkat) || defined (__stub___linkat)
+choke me
+#else
+char (*f) () = linkat;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != linkat;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_linkat=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_linkat=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_linkat" >&5
+echo "${ECHO_T}$ac_cv_func_linkat" >&6
+if test $ac_cv_func_linkat = yes; then
+  have_linkat=yes
+fi
+
+if test "x${have_linkat}" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_LINKAT 1
+_ACEOF
+
+fi
+
 echo "$as_me:$LINENO: checking for struct stat.st_atim.tv_nsec" >&5
 echo $ECHO_N "checking for struct stat.st_atim.tv_nsec... $ECHO_C" >&6
 if test "${ac_cv_member_struct_stat_st_atim_tv_nsec+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -21948,8 +22053,19 @@
 	GF_GLUSTERFS_LDFLAGS="-lnsl -lresolv -lsocket"
         BUILD_FUSE_CLIENT=no
         FUSE_CLIENT_SUBDIR=""
 	;;
+     *netbsd*)
+	GF_HOST_OS="GF_BSD_HOST_OS"
+	GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -D_INCOMPLETE_XOPEN_C063"
+	GF_GLUSTERFS_CFLAGS="${GF_CFLAGS}"
+	GF_LDADD="${ARGP_STANDALONE_LDADD}"
+	if test "x$ac_cv_header_execinfo_h" = "xyes"; then
+	   GF_GLUSTERFS_LDFLAGS="-lexecinfo"
+	fi
+	GF_FUSE_LDADD="-liconv -lperfuse"
+	BUILD_FUSE_CLIENT=no
+	;;
      *bsd*)
         GF_HOST_OS="GF_BSD_HOST_OS"
 	GF_CFLAGS="${ARGP_STANDALONE_CPPFLAGS} -O0"
 	GF_GLUSTERFS_CFLAGS="${GF_CFLAGS}"
@@ -23067,8 +23183,9 @@
 s,@LIBXML2_CFLAGS@,$LIBXML2_CFLAGS,;t t
 s,@LIBXML2_LIBS@,$LIBXML2_LIBS,;t t
 s,@HAVE_BACKTRACE@,$HAVE_BACKTRACE,;t t
 s,@HAVE_MALLOC_STATS@,$HAVE_MALLOC_STATS,;t t
+s,@HAVE_LINKAT@,$HAVE_LINKAT,;t t
 s,@subdirs@,$subdirs,;t t
 s,@ARGP_STANDALONE_CPPFLAGS@,$ARGP_STANDALONE_CPPFLAGS,;t t
 s,@ARGP_STANDALONE_LDADD@,$ARGP_STANDALONE_LDADD,;t t
 s,@GF_DISTRIBUTION@,$GF_DISTRIBUTION,;t t
@@ -23077,8 +23194,9 @@
 s,@GF_GLUSTERFS_CFLAGS@,$GF_GLUSTERFS_CFLAGS,;t t
 s,@GF_CFLAGS@,$GF_CFLAGS,;t t
 s,@GF_LDFLAGS@,$GF_LDFLAGS,;t t
 s,@GF_LDADD@,$GF_LDADD,;t t
+s,@GF_FUSE_LDADD@,$GF_FUSE_LDADD,;t t
 s,@GF_FUSE_CFLAGS@,$GF_FUSE_CFLAGS,;t t
 s,@RLLIBS@,$RLLIBS,;t t
 s,@AM_MAKEFLAGS@,$AM_MAKEFLAGS,;t t
 s,@AM_LIBTOOLFLAGS@,$AM_LIBTOOLFLAGS,;t t
