else
AC_MSG_CHECKING(GNU ld release version)
changequote(,)dnl
- ac_cv_gnu_ld_vernr=`echo $ac_cv_gnu_ld_version | sed -n 's,^[^0-9]*\([1-9][0-9]*\.[0-9][0-9]*\).*$,\1,p'`
+ ac_cv_gnu_ld_vernr=`echo $ac_cv_gnu_ld_version | awk '{print $NF}' | sed -n 's,\([1-9][0-9]*\.[0-9][0-9]*\).*$,\1,p'`
ac_cv_gnu_ld_vernr_major=`echo $ac_cv_gnu_ld_vernr | cut -d '.' -f 1`
ac_cv_gnu_ld_vernr_minor=`echo $ac_cv_gnu_ld_vernr | cut -d '.' -f 2`
changequote([,])dnl
default_shared_modules="$default_shared_modules vfs_preopen"
default_shared_modules="$default_shared_modules vfs_catia"
default_shared_modules="$default_shared_modules vfs_scannedonly"
+default_shared_modules="$default_shared_modules vfs_crossrename"
if test "x$developer" = xyes; then
default_static_modules="$default_static_modules rpc_rpcecho pdb_ads"
AC_CHECK_FUNCS(strsignal)
############################################
-# Check if we have libattr
+# Check for EA implementations
case "$host_os" in
*osf*)
AC_SEARCH_LIBS(getproplist, [proplist])
AC_CHECK_FUNCS(delproplist fdelproplist add_proplist_entry get_proplist_entry)
AC_CHECK_FUNCS(sizeof_proplist_entry)
;;
- *)
- AC_SEARCH_LIBS(getxattr, [attr])
- AC_CHECK_FUNCS(getxattr lgetxattr fgetxattr listxattr llistxattr)
- AC_CHECK_FUNCS(getea fgetea lgetea listea flistea llistea)
- AC_CHECK_FUNCS(removeea fremoveea lremoveea setea fsetea lsetea)
- AC_CHECK_FUNCS(flistxattr removexattr lremovexattr fremovexattr)
- AC_CHECK_FUNCS(setxattr lsetxattr fsetxattr)
- AC_CHECK_FUNCS(attr_get attr_list attr_set attr_remove)
- AC_CHECK_FUNCS(attr_getf attr_listf attr_setf attr_removef)
+ *freebsd4* | *dragonfly* )
+ AC_DEFINE(BROKEN_EXTATTR, 1, [Does extattr API work])
;;
-esac
-
-########################################################
-# Check if attropen() is present if this is Solaris
-case "$host_os" in
*solaris*)
AC_CHECK_FUNCS(attropen)
;;
+ *)
+ AC_SEARCH_LIBS(getxattr, [attr])
+ AC_CHECK_FUNCS(getxattr,[
+ AC_CHECK_FUNCS(lgetxattr fgetxattr listxattr llistxattr flistxattr removexattr lremovexattr fremovexattr setxattr lsetxattr fsetxattr)
+ ])
+ AC_CHECK_FUNCS(getea,[
+ AC_CHECK_FUNCS(fgetea lgetea listea flistea llistea removeea fremoveea lremoveea setea fsetea lsetea)
+ ])
+ AC_CHECK_FUNCS(attr_get,[
+ AC_CHECK_FUNCS(attr_list attr_set attr_remove attr_getf attr_listf attr_setf attr_removef)
+ ])
+ AC_CHECK_FUNCS(extattr_delete_file,[
+ AC_CHECK_FUNCS(extattr_delete_fd extattr_delete_link extattr_get_fd extattr_get_file extattr_get_link extattr_list_fd extattr_list_file extattr_list_link extattr_set_fd extattr_set_file extattr_set_link)
+ ])
+ ;;
esac
########################################################
fi
fi
-# Check if we have extattr
-case "$host_os" in
- *freebsd4* | *dragonfly* )
- AC_DEFINE(BROKEN_EXTATTR, 1, [Does extattr API work])
- ;;
- *)
- AC_CHECK_FUNCS(extattr_delete_fd extattr_delete_file extattr_delete_link)
- AC_CHECK_FUNCS(extattr_get_fd extattr_get_file extattr_get_link)
- AC_CHECK_FUNCS(extattr_list_fd extattr_list_file extattr_list_link)
- AC_CHECK_FUNCS(extattr_set_fd extattr_set_file extattr_set_link)
- ;;
-esac
-
AC_DISABLE_STATIC
AC_ENABLE_SHARED
PICFLAG="-fPIC"
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
AC_DEFINE(BROKEN_GETGRNAM,1,[Does getgrnam work correctly])
+ for flags in "-expect_unresolved '*'" "-Wl,-expect_unresolved,'*'" ; do
+ saved_ldflags="$LDFLAGS"
+ AC_MSG_CHECKING([if $flags works])
+ LDFLAGS="$flags $saved_ldflags"
+ AC_TRY_LINK([],[],
+ [AC_MSG_RESULT([yes])
+ LDSHFLAGS_Z_NODEFS=$flags],
+ AC_MSG_RESULT([no]))
+ LDFLAGS="$saved_ldflags"
+ test x"$LDSHFLAGS_Z_NODEFS" != x && break
+ done
;;
*sco*) AC_DEFINE(SCO,1,[Whether the host os is sco unix])
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
if test "x$enable_external_libtdb" != xno
then
- PKG_CHECK_MODULES(LIBTDB, tdb >= 1.1.7,
+ PKG_CHECK_MODULES(LIBTDB, tdb >= 1.2.2,
[ enable_external_libtdb=yes ],
[
if test x$enable_external_libtdb = xyes; then
# On IRIX, libfam requires libC, but other FAM implementations
# might not need it.
AC_CHECK_LIB(fam, FAMOpen2,
- [samba_cv_HAVE_LIBFAM=yes; SMB_FAM_LIBS="-lfam"],
- [samba_cv_HAVE_LIBFAM=no])
+ [samba_cv_HAVE_LIBFAM=yes; SMB_FAM_LIBS="-lfam";
+ AC_DEFINE(HAVE_FAMOPEN2, 1, Define to 1 if there is support for FAMOpen2)],
+ [samba_cv_HAVE_LIBFAM=no])
if test x"$samba_cv_HAVE_LIBFAM" = x"no" ; then
samba_fam_xtra=-lC
AC_CHECK_LIB_EXT(fam, samba_fam_xtra, FAMOpen2,
- [samba_cv_HAVE_LIBFAM=yes; SMB_FAM_LIBS="-lfam -lC"],
- [samba_cv_HAVE_LIBFAM=no])
+ [samba_cv_HAVE_LIBFAM=yes; SMB_FAM_LIBS="-lfam -lC";
+ AC_DEFINE(HAVE_FAMOPEN2, 1, Define to 1 if there is support for FAMOpen2)],
+ [samba_cv_HAVE_LIBFAM=no])
unset samba_fam_xtra
fi
fi
-
if test x"$samba_cv_HAVE_LIBFAM" = x"yes" ; then
default_shared_modules="$default_shared_modules vfs_notify_fam"
AC_TRY_COMPILE([#include <fam.h>],
[])
fi
+ if test x"$samba_cv_HAVE_LIBFAM" = x"yes" ; then
+ AC_CHECK_LIB(fam, FAMNoExists,
+ [AC_DEFINE(HAVE_FAMNOEXISTS, 1, Define to 1 if there is support for FAMNoExists)])
+ fi
+
if test x$enable_fam = xyes && test x"$samba_cv_HAVE_LIBFAM" != xyes ; then
AC_MSG_ERROR(FAM support requested but FAM library not available )
fi
#################################################
# Check for DMAPI interfaces in libdm/libjfsdm/libxsdm
-SMB_CHECK_DMAPI([], AC_MSG_NOTICE(DMAPI support not present) )
+
+with_dmapi_support=auto
+AC_MSG_CHECKING(whether to use DMAPI support)
+AC_ARG_WITH(dmapi,
+[AS_HELP_STRING([--with-dmapi], [Include DMAPI/XDSM support (default=auto)])],
+[ case "$withval" in
+ yes|no)
+ with_dmapi_support=$withval
+ ;;
+ esac ]
+)
+AC_MSG_RESULT([$with_dmapi_support])
+
+if test x"$with_dmapi_support" != xno ; then
+ SMB_CHECK_DMAPI([], [
+ AC_MSG_NOTICE(DMAPI support not present)
+ if test x"$with_dmapi_support" = xyes ; then
+ AC_MSG_ERROR(no DMAPI support found but requested!)
+ fi
+ ]
+ )
+fi
# Add TSM SM VFS module only if there are both GPFS and DMAPI support
# Theoretically it should work with AIX JFS2 too but this needs testing
-if test x"$samba_cv_HAVE_GPFS" = x"yes" && test x"$samba_dmapi_libs" != x"" ; then
+if test x"$ac_cv_header_gpfs_gpl_h" = x"yes" && test x"$samba_dmapi_libs" != x"" ; then
default_shared_modules="$default_shared_modules vfs_tsmsm"
fi
AC_MSG_CHECKING([for LDAP support])
AC_ARG_WITH(ldap,
-[AS_HELP_STRING([--with-ldap], [LDAP support (default=yes)])],
+[AS_HELP_STRING([--with-ldap], [LDAP support (default=auto)])],
[ case "$withval" in
yes|no)
with_ldap_support=$withval
AC_MSG_RESULT(no)
)
-#################################################
-# check for mount- and umount.cifs support
-CIFSMOUNT_PROGS=""
-INSTALL_CIFSMOUNT=""
-UNINSTALL_CIFSMOUNT=""
-AC_MSG_CHECKING(whether to build mount.cifs)
-AC_ARG_WITH(cifsmount,
-[AS_HELP_STRING([--with-cifsmount], [Include mount.cifs (Linux only) support (default=yes)])],
-[ case "$withval" in
- no)
- AC_MSG_RESULT(no)
- ;;
- *)
- case "$host_os" in
- *linux*)
- AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_CIFSMOUNT,1,[Whether to build mount.cifs])
- CIFSMOUNT_PROGS="bin/mount.cifs"
- INSTALL_CIFSMOUNT="installcifsmount"
- UNINSTALL_CIFSMOUNT="uninstallcifsmount"
- ;;
- *)
- AC_MSG_ERROR(not on a linux system!)
- ;;
- esac
- ;;
- esac ],
-[ case "$host_os" in
- *linux*)
- AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_CIFSMOUNT,1,[Whether to build mount.cifs])
- CIFSMOUNT_PROGS="bin/mount.cifs"
- INSTALL_CIFSMOUNT="installcifsmount"
- UNINSTALL_CIFSMOUNT="uninstallcifsmount"
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
- esac ]
-)
-
-CIFSUMOUNT_PROGS=""
-INSTALL_CIFSUMOUNT=""
-UNINSTALL_CIFSUMOUNT=""
-AC_MSG_CHECKING(whether to build umount.cifs)
-AC_ARG_WITH(cifsumount,
-[AS_HELP_STRING([--with-cifsumount], [Include umount.cifs (Linux only) support (default=no)])],
-[ case "$withval" in
- yes)
- case "$host_os" in
- *linux*)
- AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_CIFSUMOUNT,1,[Whether to build umount.cifs])
- CIFSUMOUNT_PROGS="bin/umount.cifs"
- INSTALL_CIFSUMOUNT="installcifsumount"
- UNINSTALL_CIFSUMOUNT="uninstallcifsumount"
- ;;
- *)
- AC_MSG_ERROR(not on a linux system!)
- ;;
- esac
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
- esac ],
- AC_MSG_RESULT(no)
-)
-
-#################################################
-# check for cifs.upcall support
-AC_CHECK_HEADERS([keyutils.h], [HAVE_KEYUTILS_H=1], [HAVE_KEYUTILS_H=0])
-CIFSUPCALL_PROGS=""
-INSTALL_CIFSUPCALL=""
-UNINSTALL_CIFSUPCALL=""
-AC_MSG_CHECKING(whether to build cifs.upcall)
-AC_ARG_WITH(cifsupcall,
-[AS_HELP_STRING([--with-cifsupcall], [Include cifs.upcall (Linux only) support (default=yes)])],
-[ case "$withval" in
- no)
- AC_MSG_RESULT(no)
- ;;
- *)
- case "$host_os" in
- *linux*)
- if test x"$use_ads" != x"yes"; then
- AC_MSG_ERROR(ADS support should be enabled for building cifs.upcall)
- elif test x"$HAVE_KEYUTILS_H" != "x1"; then
- AC_MSG_ERROR(keyutils package is required for cifs.upcall)
- else
- AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_CIFSUPCALL,1,[whether to build cifs.upcall])
- CIFSUPCALL_PROGS="bin/cifs.upcall"
- INSTALL_CIFSUPCALL="installcifsupcall"
- UNINSTALL_CIFSUPCALL="uninstallcifsupcall"
- fi
- ;;
- *)
- AC_MSG_ERROR(not on a linux system!)
- ;;
- esac
- ;;
- esac ],
-[ case "$host_os" in
- *linux*)
- if test x"$use_ads" != x"yes"; then
- AC_MSG_WARN(ADS support should be enabled for building cifs.upcall)
- elif test x"$HAVE_KEYUTILS_H" != "x1"; then
- AC_MSG_WARN(keyutils package is required for cifs.upcall)
- else
- AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_CIFSUPCALL,1,[whether to build cifs.upcall])
- CIFSUPCALL_PROGS="bin/cifs.upcall"
- INSTALL_CIFSUPCALL="installcifsupcall"
- UNINSTALL_CIFSUPCALL="uninstallcifsupcall"
- fi
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
- esac ]
-)
-
-
#################################################
# Check for a PAM clear-text auth, accounts, password
# and session support. Most PAM implementations keep their
#include <ctdb.h>
])
-AC_HAVE_DECL(CTDB_CONTROL_TRANS2_COMMIT_RETRY,[
-#include "confdefs.h"
-#define NO_CONFIG_H
-#include "replace.h"
-#include "system/wait.h"
-#include "system/network.h"
-#include <talloc.h>
-#include <tdb.h>
-#include <ctdb.h>
-#include <ctdb_private.h>
-])
-if test x"$ac_cv_have_CTDB_CONTROL_TRANS2_COMMIT_RETRY_decl" = x"yes"; then
- ctdb_broken=no
-else
- ctdb_broken="missing transaction support"
-fi
-
-AC_HAVE_DECL(CTDB_CONTROL_TRANS2_ACTIVE,[
+AC_HAVE_DECL(CTDB_CONTROL_TRANS3_COMMIT,[
#include "confdefs.h"
#define NO_CONFIG_H
#include "replace.h"
#include <ctdb.h>
#include <ctdb_private.h>
])
-if test x"$ac_cv_have_CTDB_CONTROL_TRANS2_ACTIVE_decl" = x"yes"; then
+if test x"$ac_cv_have_CTDB_CONTROL_TRANS3_COMMIT_decl" = x"yes"; then
ctdb_broken=no
else
- ctdb_broken="transaction support too old"
+ ctdb_broken="ctdb transaction support missing or too old"
fi
# in ctdb 1.0.57 ctdb_control_tcp was temparary renamed to ctdb_tcp_client
AC_CHECK_HEADERS(pthread.h)
CFLAGS=$ac_save_CFLAGS
LDFLAGS=$ac_save_LDFLAGS
+ AC_DEFINE(HAVE_PTHREAD, 1, [Do we have pthreads around?])
fi
#################################################
AC_MSG_RESULT(yes)
BUILD_INIPARSER='$(INIPARSER_OBJ)'
INIPARSERLIBS=""
- FLAGS1="$FLAGS1 -I\$(srcdir)/iniparser/src"
+ FLAGS1="$FLAGS1 -I\$(srcdir)/../lib/iniparser/src"
else
AC_MSG_RESULT(no)
BUILD_INIPARSER=""
SMB_MODULE(vfs_onefs_shadow_copy, \$(VFS_ONEFS_SHADOW_COPY), "bin/onefs_shadow_copy.$SHLIBEXT", VFS)
SMB_MODULE(vfs_dirsort, \$(VFS_DIRSORT_OBJ), "bin/dirsort.$SHLIBEXT", VFS)
SMB_MODULE(vfs_scannedonly, \$(VFS_SCANNEDONLY_OBJ), "bin/scannedonly.$SHLIBEXT", VFS)
+SMB_MODULE(vfs_crossrename, \$(VFS_CROSSRENAME_OBJ), "bin/crossrename.$SHLIBEXT", VFS)
SMB_SUBSYSTEM(VFS,smbd/vfs.o)