AC_SUBST(LIBTEVENT_OBJ0)
LIBS="${LIBS} ${TEVENT_LIBS}"
-SAMBA_CPPFLAGS="-Iinclude/autoconf -Iinclude -I${srcdir-.}/include -I. -I${srcdir-.}"
+SAMBA_CPPFLAGS="-Iinclude/autoconf -Iautoconf -Iautoconf/source3"
+SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -Iinclude -I${srcdir-.}/include -I. -I${srcdir-.}"
SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/../lib/replace"
SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TEVENT_CFLAGS}"
SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${CCAN_CFLAGS}"
AC_SUBST(PASSDB_LIBS)
AC_SUBST(IDMAP_LIBS)
AC_SUBST(KRB5_LIBS)
-AC_SUBST(UUID_LIBS)
AC_SUBST(LDAP_LIBS)
AC_SUBST(GPEXT_LIBS)
AC_SUBST(PAM_MODULES)
m4_include(../lib/nss_wrapper/config.m4)
m4_include(../lib/uid_wrapper/config.m4)
-m4_include(m4/swat.m4)
-
DEVELOPER_CFLAGS="-DDEBUG_PASSWORD -DDEVELOPER"
# Probe the gcc version for extra CFLAGS. We always stash these in
AC_MSG_RESULT(no)
)
-dnl Checks for programs.
-AC_ARG_ENABLE(smbtorture4,
- [AS_HELP_STRING([--enable-smbtorture4], [Enable building smbtorture4 (default=auto)])])
-
-if test x$enable_smbtorture4 != xno; then
- smbtorture4_possible=yes
-else
- smbtorture4_possible=no
-fi
-
AC_PROG_INSTALL
AC_PROG_AWK
# Check for GNU make
m4_include(../m4/check_make.m4)
AC_SAMBA_GNU_MAKE([true], [true])
+selftest_possible="yes"
+
# Check for perl
m4_include(../m4/check_perl.m4)
-AC_SAMBA_PERL([true], [smbtorture4_possible=no])
+AC_SAMBA_PERL([true], [selftest_possible=no])
# Check for python
m4_include(../m4/check_python.m4)
-AC_SAMBA_PYTHON_DEVEL([true], [smbtorture4_possible=no])
+AC_SAMBA_PYTHON_DEVEL([true], [selftest_possible=no])
AC_CHECK_TOOL(AR, ar)
dnl --allow-shlib-undefined flag defined. This causes a stackload of
dnl warnings when building modules.
if test "$ac_cv_prog_gnu_ld" = "yes"; then
- ac_cv_gnu_ld_version=`$CC -Wl,-v /dev/null 2>&1 < /dev/null | grep "GNU ld"`
+ ac_cv_gnu_ld_version=`$CC -Wl,-v /dev/null 2> /dev/null < /dev/null | grep "GNU ld"`
+ # we need to make a 2nd (separate!) check on the output of stderr, see bug #7825:
+ if test -z "$ac_cv_gnu_ld_version" ; then
+ ac_cv_gnu_ld_version=`$CC -Wl,-v /dev/null 2>&1 > /dev/null < /dev/null | grep "GNU ld"`
+ fi
AC_MSG_CHECKING(GNU ld release date)
changequote(,)dnl
ac_cv_gnu_ld_date=`echo $ac_cv_gnu_ld_version | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'`
default_shared_modules="$default_shared_modules vfs_crossrename"
default_shared_modules="$default_shared_modules vfs_linux_xfs_sgid"
default_shared_modules="$default_shared_modules vfs_time_audit"
+default_shared_modules="$default_shared_modules vfs_media_harmony"
+default_shared_modules="$default_shared_modules vfs_commit"
default_shared_modules="$default_shared_modules idmap_autorid"
+default_shared_modules="$default_shared_modules idmap_tdb2"
+default_shared_modules="$default_shared_modules idmap_rid"
+default_shared_modules="$default_shared_modules idmap_hash"
if test "x$developer" = xyes; then
- default_static_modules="$default_static_modules rpc_rpcecho pdb_ads"
- default_static_modules="$default_static_modules auth_netlogond"
default_shared_modules="$default_shared_modules perfcount_test"
fi
+if test x"$selftest" = x"yes" -o "x$developer" = xyes; then
+ default_shared_modules="$default_shared_modules vfs_fake_acls vfs_nfs4acl_xattr"
+fi
#
# Config CPPFLAG settings for strange OS's that must be set
esac
;;
-#
-# CRAY Unicos has broken const handling
- *unicos*)
- AC_MSG_RESULT([disabling const])
- CPPFLAGS="$CPPFLAGS -Dconst="
- ;;
-
#
# AIX4.x doesn't even admit to having large
# files *at all* unless the -D_LARGE_FILE or -D_LARGE_FILE_API flags are set.
LIBREPLACE_OBJS="${LIBREPLACEOBJ}"
AC_SUBST(LIBREPLACE_OBJS)
-LIBREPLACE_LIBS="${LIBREPLACE_NETWORK_LIBS}"
+LIBREPLACE_LIBS="${LIBREPLACE_NETWORK_LIBS} ${LIBREPLACE_FILESYS_LIBS}"
AC_SUBST(LIBREPLACE_LIBS)
AC_CHECK_HEADERS(xfs/libxfs.h)
AC_CHECK_HEADERS(netgroup.h)
AC_CHECK_HEADERS(linux/falloc.h)
-AC_CHECK_HEADERS(sys/uuid.h)
AC_CHECK_HEADERS(CommonCrypto/CommonDigest.h)
+AC_CHECK_HEADERS(linux/ioctl.h)
+
+dnl check for OS implementation of md5 conformant to rfc1321
+samba_cv_md5lib=none
+
+AC_CHECK_LIB(c, MD5Update, [samba_cv_md5lib=""])
+
+if test x"$samba_cv_md5lib" = x"none" ; then
+ AC_CHECK_LIB(md, MD5Update, [samba_cv_md5lib=md])
+fi
+
+if test x"$samba_cv_md5lib" = x"none" ; then
+ AC_CHECK_LIB(md5, MD5Update, [samba_cv_md5lib=md5])
+fi
+
+if test x"$samba_cv_md5lib" != x"none" ; then
+ AC_CHECK_HEADERS(sys/md5.h)
+fi
+
+CRYPTO_MD5_OBJ="../lib/crypto/md5.o"
+if test x"$ac_cv_header_sys_md5_h" = x"yes" -a \
+ x"$samba_cv_md5lib" != x"none" ; then
+ if test x"$samba_cv_md5lib" != x ; then
+ LIBS="${LIBS} -l${samba_cv_md5lib}"
+ AC_DEFINE(HAVE_LIBMD5, 1,
+ [Whether libmd5 conformant to rfc1321 is available.])
+ fi
+ CRYPTO_MD5_OBJ=
+fi
+
+if test "x$ac_cv_header_CommonCrypto_CommonDigest_h" == "xyes"; then
+ CRYPTO_MD5_OBJ=
+fi
+
+AC_SUBST(CRYPTO_MD5_OBJ)
AC_CHECK_HEADERS(rpcsvc/yp_prot.h,,,[[
#if HAVE_RPC_RPC_H
#include <rpc/rpc.h>
#endif
]])
-CRYPTO_MD5_OBJ=
-if test "x$ac_cv_header_CommonCrypto_CommonDigest_h" != "xyes"
-then
- CRYPTO_MD5_OBJ="../lib/crypto/md5.o"
-fi
-AC_SUBST(CRYPTO_MD5_OBJ)
-
## These fail to compile on IRIX so just check for their presence
AC_CHECK_HEADERS(sys/mode.h,,,)
CPPFLAGS="$old_CPPFLAGS"
# To link lib/util/charset/charset_macosxfs.c, we need to tell the linker
-# about CoreFoundation, at least on os X 10.6 and 10.7
+# about CoreFoundation, at least on os X 10.4..10.7 resp. darwin8..12
case "$host_os" in
- *darwin11*|*darwin10*)
+ *darwin*)
LDFLAGS="$LDFLAGS -framework CoreFoundation"
;;
esac
AC_CHECK_HEADERS(nss.h nss_common.h nsswitch.h ns_api.h sys/security.h)
AC_CHECK_HEADERS(syscall.h sys/syscall.h)
-AC_CHECK_HEADERS(sys/attributes.h attr/xattr.h sys/xattr.h sys/extattr.h sys/uio.h)
-AC_CHECK_HEADERS(sys/ea.h sys/proplist.h)
-
AC_CHECK_HEADERS(sys/cdefs.h glob.h)
# For experimental utmp support (lastlog on some BSD-like systems)
# nothing until kernel 2.1.44! very dumb.
AC_CACHE_CHECK([for real setresuid],samba_cv_have_setresuid,[
AC_TRY_RUN([#include <errno.h>
-main() { setresuid(1,1,1); setresuid(2,2,2); exit(errno==EPERM?0:1);}],
+main() { setresuid(1,1,1); setresuid(2,2,2); return(errno==EPERM?0:1);}],
samba_cv_have_setresuid=yes,samba_cv_have_setresuid=no,samba_cv_have_setresuid=cross)])
if test x"$samba_cv_have_setresuid" = x"yes"; then
AC_DEFINE(HAVE_SETRESUID,1,[Whether the system has setresuid])
AC_CACHE_CHECK([for real setresgid],samba_cv_have_setresgid,[
AC_TRY_RUN([#include <unistd.h>
#include <errno.h>
-main() { errno = 0; setresgid(1,1,1); exit(errno != 0 ? (errno==EPERM ? 0 : 1) : 0);}],
+main() { errno = 0; setresgid(1,1,1); return(errno != 0 ? (errno==EPERM ? 0 : 1) : 0);}],
samba_cv_have_setresgid=yes,samba_cv_have_setresgid=no,samba_cv_have_setresgid=cross)])
if test x"$samba_cv_have_setresgid" = x"yes"; then
AC_DEFINE(HAVE_SETRESGID,1,[Whether the system has setresgid])
AC_CHECK_FUNCS(sigprocmask sigblock sigaction sigset innetgr setnetgrent getnetgrent endnetgrent)
AC_CHECK_FUNCS(initgroups select rdchk getgrnam getgrent pathconf)
AC_CHECK_FUNCS(getgrset)
-AC_CHECK_FUNCS(setpriv setgidx setuidx setgroups sysconf)
-AC_CHECK_FUNCS(atexit grantpt posix_fallocate)
+AC_CHECK_FUNCS(setpriv setgidx setuidx setgroups syscall sysconf)
+AC_CHECK_FUNCS(atexit grantpt posix_openpt posix_fallocate)
AC_CHECK_FUNCS(fallocate)
AC_CHECK_FUNCS(fseeko setluid getpwanam)
AC_CHECK_FUNCS(fdopendir)
if test x"$ac_cv_header_gpfs_gpl_h" = x"yes"; then
AC_DEFINE(HAVE_GPFS,1,[Whether GPFS GPL headers are available])
default_shared_modules="$default_shared_modules vfs_gpfs"
- default_shared_modules="$default_shared_modules vfs_gpfs_hsm_notify"
fi
+#############################
+# check if building with libcephfs
+# fail if --with-libcephfs specified but no headers found
+printf "%s" "checking for CephFS... "
+AC_CHECK_HEADERS(cephfs/libcephfs.h)
+
+save_LIBS="$LIBS"
+LIBS="$LIBS -lcephfs"
+AC_TRY_LINK([#include <cephfs/libcephfs.h>],
+ [ceph_version(0, 0, 0)],
+ samba_cv_HAVE_CEPHFS=yes,
+ samba_cv_HAVE_CEPHFS=no
+ )
+
+if test x"$ac_cv_header_cephfs_libcephfs_h" = x"yes" && test x"$samba_cv_HAVE_CEPHFS" = x"yes"; then
+ AC_DEFINE(HAVE_CEPH, 1, [Whether CEPH headers are available])
+ default_shared_modules="$default_shared_modules vfs_ceph"
+ save_CFLAGS="$CFLAGS"
+ save_LDFLAGS="$LDFLAGS"
+ save_LIBS="$save_LIBS -lcephfs"
+else
+ if test x"$CEPHFS_PATH_SPEC" = x"yes"; then
+ AC_MSG_ERROR([No valid libcephfs found in ${CEPHFS_PATH}])
+ fi
+fi
+
+CFLAGS="$save_CFLAGS"
+LDFLAGS="$save_LDFLAGS"
+LIBS="$save_LIBS"
+
# Note that all the libunwind symbols in the API are defined to internal
# platform-specific version, so we must include libunwind.h before checking
# any of them.
int libc_minor = __GLIBC_MINOR__;
if (libc_major < 2)
- exit(1);
+ return(1);
if ((libc_major == 2) && (libc_minor <= 3))
- exit(1);
+ return(1);
#endif
- exit(0);
+ return(0);
}
], [samba_cv_linux_getgrouplist_ok=yes],
[samba_cv_linux_getgrouplist_ok=no],
AC_CACHE_CHECK([whether we can compile with __attribute__((destructor))],
samba_cv_function_attribute_destructor,
[
- AC_COMPILE_IFELSE(
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE(
[
__attribute__((destructor))
static void cleanup(void) { }
- ],
+ ])],
samba_cv_function_attribute_destructor=yes)
])
AC_CHECK_LIB(resolv, dn_expand)
AC_CHECK_LIB(resolv, _dn_expand)
AC_CHECK_LIB(resolv, __dn_expand)
-
-AC_TRY_COMPILE([#include <resolv.h>],
- [struct __res_state s; res_ninit(&s);],
- ac_cv_have_res_ninit=yes,ac_cv_have_res_ninit=no)
-
-if test x"$ac_cv_have_res_ninit" = x"yes"; then
- AC_DEFINE(HAVE_RES_NINIT, 1, [Whether we have res_ninit])
-fi
+AC_CHECK_LIB(inet, dn_expand)
#
# Check for the functions putprpwnam, set_auth_parameters,
AC_CHECK_FUNCS(strsignal)
-############################################
-# Check for EA implementations
-case "$host_os" in
- *osf*)
- AC_SEARCH_LIBS(getproplist, [proplist])
- AC_CHECK_FUNCS(getproplist fgetproplist setproplist fsetproplist)
- AC_CHECK_FUNCS(delproplist fdelproplist add_proplist_entry get_proplist_entry)
- AC_CHECK_FUNCS(sizeof_proplist_entry)
- ;;
- *freebsd4* | *dragonfly* )
- AC_DEFINE(BROKEN_EXTATTR, 1, [Does extattr API work])
- ;;
- *solaris*)
- AC_CHECK_FUNCS(attropen)
- ;;
- *)
- AC_SEARCH_LIBS(getxattr, [attr])
- AC_CHECK_FUNCS(getxattr,[
- AC_CHECK_FUNCS(fgetxattr listxattr flistxattr removexattr fremovexattr setxattr fsetxattr)
- ])
- AC_CHECK_FUNCS(getea,[
- AC_CHECK_FUNCS(fgetea listea flistea removeea fremoveea setea fsetea)
- ])
- 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_get_fd extattr_get_file extattr_list_fd extattr_list_file extattr_set_fd extattr_set_file)
- ])
- ;;
-esac
-
-########################################################
-# Do xattr functions take additional options like on Darwin?
-if test x"$ac_cv_func_getxattr" = x"yes" ; then
- AC_CACHE_CHECK([whether xattr interface takes additional options], smb_attr_cv_xattr_add_opt, [
- old_LIBS=$LIBS
- LIBS="$LIBS $ACL_LIBS"
- AC_TRY_COMPILE([
- #include <sys/types.h>
- #if HAVE_ATTR_XATTR_H
- #include <attr/xattr.h>
- #elif HAVE_SYS_XATTR_H
- #include <sys/xattr.h>
- #endif
- ],[
- getxattr(0, 0, 0, 0, 0, 0);
- ],
- [smb_attr_cv_xattr_add_opt=yes],
- [smb_attr_cv_xattr_add_opt=no;LIBS=$old_LIBS])
- ])
- if test x"$smb_attr_cv_xattr_add_opt" = x"yes"; then
- AC_DEFINE(XATTR_ADD_OPT, 1, [xattr functions have additional options])
- fi
-fi
-
AC_DISABLE_STATIC
AC_ENABLE_SHARED
SONAMEFLAG="-Wl,-h,"
fi
AC_DEFINE(STAT_ST_BLOCKSIZE,512,[The size of a block])
- AC_DEFINE(BROKEN_GETGRNAM,1,[Does getgrnam work correctly])
;;
*sunos*) AC_DEFINE(SUNOS4,1,[Whether the host os is sunos4])
BLDSHARED="true"
SONAMEFLAG="-Wl,-h,"
PICFLAG="-KPIC" # Is this correct for SunOS
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
- AC_DEFINE(BROKEN_GETGRNAM,1,[Does getgrnam work correctly])
;;
*netbsd* | *freebsd* | *dragonfly* )
BLDSHARED="true"
SONAMEFLAG="-Wl,-soname,"
PICFLAG="-fPIC -DPIC"
AC_DEFINE(STAT_ST_BLOCKSIZE,512,[The size of a block])
- AC_DEFINE(BROKEN_GETGRNAM,1,[Does getgrnam work correctly])
;;
*openbsd*) BLDSHARED="true"
LDSHFLAGS="-shared"
SONAMEFLAG="-Wl,-soname,"
PICFLAG="-fPIC"
AC_DEFINE(STAT_ST_BLOCKSIZE,512,[The size of a block])
- AC_DEFINE(BROKEN_GETGRNAM,1,[Does getgrnam work correctly])
- ;;
- *irix*) AC_DEFINE(IRIX,1,[Whether the host os is irix])
- case "$host_os" in
- *irix6*) AC_DEFINE(IRIX6,1,[Whether the host os is irix6])
;;
- esac
- BLDSHARED="true"
+ *irix*) BLDSHARED="true"
LDSHFLAGS="-Wl,-set_version,sgi1.0 -shared"
SONAMEFLAG="-Wl,-soname,"
if test "${GCC}" = "yes"; then
PICFLAG="-fPIC"
fi
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])
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)
+ *sco*) AC_DEFINE(STAT_ST_BLOCKSIZE,512)
;;
- *unixware*) AC_DEFINE(UNIXWARE,1,[Whether the host os is unixware])
- BLDSHARED="true"
+ *unixware*) BLDSHARED="true"
LDSHFLAGS="-shared"
SONAMEFLAG="-Wl,-soname,"
PICFLAG="-KPIC"
SHLD="shared-libraries-disabled"
PICFLAG="${PIE_CFLAGS}"
SHLIBEXT="shared_libraries_disabled"
- smbtorture4_possible=no
+ smbtorture_possible=no
fi
AC_MSG_CHECKING([used PICFLAG])
if test "x$enable_external_libtalloc" = xno
then
m4_include(../lib/talloc/libtalloc.m4)
- if test x"$USESHARED" == x"no" ; then
- LINK_LIBTALLOC=STATIC
- fi
+ LINK_LIBTALLOC=STATIC
LIBTALLOCVERSION=`grep ^VERSION ${tallocdir}/wscript | sed -e "s/'//g" -e 's/.* //'`
SMB_LIBRARY(talloc, 2, ${LIBTALLOCVERSION})
LIBTALLOC_OBJ0=""
if test "x$enable_external_libtdb" = xno
then
m4_include(../lib/tdb/libtdb.m4)
- if test x"$USESHARED" == x"no" ; then
- LINK_LIBTDB=STATIC
- fi
+ LINK_LIBTDB=STATIC
LIBTDBVERSION=`grep ^VERSION ${tdbdir}/wscript | sed -e "s/'//g" -e 's/.* //'`
SMB_LIBRARY(tdb, 1, ${LIBTDBVERSION})
LIBTDB_OBJ0=""
AC_SUBST(TDBTORTURE)
fi
+AC_ARG_ENABLE(external_libntdb,
+ [AS_HELP_STRING([--enable-external-libntdb],
+ [Enable external ntdb [default=auto]])],
+ [ enable_external_libntdb=$enableval ],
+ [ enable_external_libntdb=auto ])
+
+if test "x$enable_external_libntdb" != xno
+then
+ PKG_CHECK_MODULES(LIBNTDB, ntdb >= 1.0,
+ [ enable_external_libntdb=yes ],
+ [
+ if test x$enable_external_libntdb = xyes; then
+ AC_MSG_ERROR([Unable to find libntdb])
+ else
+ enable_external_libntdb=no
+ fi
+ ])
+fi
+
+AC_SUBST(LIBNTDB_OBJ0)
+if test "x$enable_external_libntdb" = xno
+then
+ m4_include(../lib/ntdb/libntdb.m4)
+ LINK_LIBNTDB=STATIC
+ LIBNTDBVERSION=`grep ^VERSION ${ntdbdir}/wscript | sed -e "s/'//g" -e 's/.* //'`
+ SMB_LIBRARY(ntdb, 1, ${LIBNTDBVERSION})
+ LIBNTDB_OBJ0=""
+ LIBNTDB_LIBS="$LIBNTDB_LIBS $NTDB_DEPS"
+ for obj in ${NTDB_OBJ}; do
+ LIBNTDB_OBJ0="${LIBNTDB_OBJ0} ${ntdbdir}/${obj}"
+ done
+ AC_SUBST(LIBNTDB_OBJ0)
+ SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${NTDB_CFLAGS}"
+ SAMBA_CONFIGURE_CPPFLAGS="${SAMBA_CONFIGURE_CPPFLAGS} ${NTDB_CFLAGS}"
+
+ NTDBBACKUP="bin/ntdbbackup"
+ AC_SUBST(NTDBBACKUP)
+ NTDBDUMP="bin/ntdbdump"
+ AC_SUBST(NTDBDUMP)
+ NTDBRESTORE="bin/ntdbrestore"
+ AC_SUBST(NTDBRESTORE)
+ NTDBTOOL="bin/ntdbtool"
+ AC_SUBST(NTDBTOOL)
+ NTDBTORTURE="bin/ntdbtorture"
+ AC_SUBST(NTDBTORTURE)
+fi
+
SMB_LIBRARY(netapi, 0)
SMB_LIBRARY(smbclient, 0)
SMB_LIBRARY(smbsharemodes, 0)
-SMB_LIBRARY(addns, 0, [], no, [undefined API])
-
################
AC_CACHE_CHECK([for long long],samba_cv_have_longlong,[
AC_TRY_RUN([#include <stdio.h>
-main() { long long x = 1000000; x *= x; exit(((x/1000000) == 1000000)? 0: 1); }],
+main() { long long x = 1000000; x *= x; return(((x/1000000) == 1000000)? 0: 1); }],
samba_cv_have_longlong=yes,samba_cv_have_longlong=no,samba_cv_have_longlong=cross)])
if test x"$samba_cv_have_longlong" = x"yes"; then
AC_DEFINE(HAVE_LONGLONG,1,[Whether the host supports long long's])
AC_CACHE_CHECK([for 64 bit time_t],samba_cv_SIZEOF_TIME_T,[
AC_TRY_RUN([#include <time.h>
-main() { exit((sizeof(time_t) == 8) ? 0 : 1); }],
+main() { return((sizeof(time_t) == 8) ? 0 : 1); }],
samba_cv_SIZEOF_TIME_T=yes,samba_cv_SIZEOF_TIME_T=no,samba_cv_SIZEOF_TIME_T=cross)])
if test x"$samba_cv_SIZEOF_TIME_T" = x"yes"; then
AC_DEFINE(SIZEOF_TIME_T,8,[The size of the 'time_t' type])
max_time = 67768036191676799ll;
tm = gmtime(&max_time);
if (tm) {
- exit(0);
+ return(0);
}
}
}
- exit(1);
+ return(1);
}],
samba_cv_TIME_T_MAX=yes,samba_cv_TIME_T_MAX=no,samba_cv_TIME_T_MAX=cross)])
if test x"$samba_cv_TIME_T_MAX" = x"yes"; then
AC_CACHE_CHECK([for 64 bit off_t],samba_cv_SIZEOF_OFF_T,[
AC_TRY_RUN([#include <stdio.h>
#include <sys/stat.h>
-main() { exit((sizeof(off_t) == 8) ? 0 : 1); }],
+main() { return((sizeof(off_t) == 8) ? 0 : 1); }],
samba_cv_SIZEOF_OFF_T=yes,samba_cv_SIZEOF_OFF_T=no,samba_cv_SIZEOF_OFF_T=cross)])
if test x"$samba_cv_SIZEOF_OFF_T" = x"no"; then
AC_MSG_ERROR(["large file support support not available: sizeof(off_t) != 8"])
#endif
#include <stdio.h>
#include <sys/stat.h>
-main() { exit((sizeof(ino_t) == 8) ? 0 : 1); }],
+main() { return((sizeof(ino_t) == 8) ? 0 : 1); }],
samba_cv_SIZEOF_INO_T=yes,samba_cv_SIZEOF_INO_T=no,samba_cv_SIZEOF_INO_T=cross)])
if test x"$samba_cv_SIZEOF_INO_T" = x"yes"; then
AC_DEFINE(SIZEOF_INO_T,8,[The size of the 'ino_t' type])
#endif
#include <stdio.h>
#include <sys/stat.h>
-main() { exit((sizeof(dev_t) == 8) ? 0 : 1); }],
+main() { return((sizeof(dev_t) == 8) ? 0 : 1); }],
samba_cv_SIZEOF_DEV_T=yes,samba_cv_SIZEOF_DEV_T=no,samba_cv_SIZEOF_DEV_T=cross)])
if test x"$samba_cv_SIZEOF_DEV_T" = x"yes"; then
AC_DEFINE(SIZEOF_DEV_T,8,[The size of the 'dev_t' type])
AC_DEFINE(HAVE_MAKEDEV,1,[Whether the macro for makedev is available])
fi
-AC_CACHE_CHECK([for unsigned char],samba_cv_HAVE_UNSIGNED_CHAR,[
-AC_TRY_RUN([#include <stdio.h>
-main() { char c; c=250; exit((c > 0)?0:1); }],
-samba_cv_HAVE_UNSIGNED_CHAR=yes,samba_cv_HAVE_UNSIGNED_CHAR=no,samba_cv_HAVE_UNSIGNED_CHAR=cross)])
-if test x"$samba_cv_HAVE_UNSIGNED_CHAR" = x"yes"; then
- AC_DEFINE(HAVE_UNSIGNED_CHAR,1,[Whether the 'unsigned char' type is available])
-fi
-
AC_CACHE_CHECK([whether seekdir returns void],samba_cv_SEEKDIR_RETURNS_VOID,[
AC_TRY_COMPILE([#include <sys/types.h>
#include <dirent.h>
#include <dirent.h>
main() { struct dirent *di; DIR *d = opendir("."); di = readdir(d);
if (di && di->d_name[-2] == '.' && di->d_name[-1] == 0 &&
-di->d_name[0] == 0) exit(0); exit(1);} ],
+di->d_name[0] == 0) return(0); return(1);} ],
samba_cv_HAVE_BROKEN_READDIR_NAME=yes,samba_cv_HAVE_BROKEN_READDIR_NAME=no,samba_cv_HAVE_BROKEN_READDIR_NAME=cross)])
if test x"$samba_cv_HAVE_BROKEN_READDIR_NAME" = x"yes"; then
AC_DEFINE(HAVE_BROKEN_READDIR_NAME,1,[Whether readdir() returns the wrong name offset])
AC_CACHE_CHECK([for utimbuf],samba_cv_HAVE_UTIMBUF,[
AC_TRY_COMPILE([#include <sys/types.h>
#include <utime.h>],
-[struct utimbuf tbuf; tbuf.actime = 0; tbuf.modtime = 1; exit(utime("foo.c",&tbuf));],
+[struct utimbuf tbuf; tbuf.actime = 0; tbuf.modtime = 1; return(utime("foo.c",&tbuf));],
samba_cv_HAVE_UTIMBUF=yes,samba_cv_HAVE_UTIMBUF=no,samba_cv_HAVE_UTIMBUF=cross)])
if test x"$samba_cv_HAVE_UTIMBUF" = x"yes"; then
AC_DEFINE(HAVE_UTIMBUF,1,[Whether struct utimbuf is available])
AC_DEFINE(HAVE_UT_UT_EXIT,1,[Whether the utmp struct has a property ut_exit])
fi
-dnl Look for the IPv6 varient by preference. Many systems have both.
-AC_CACHE_CHECK([for ut_addr_v6 in utmp],samba_cv_HAVE_UT_UT_ADDR_V6,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <utmp.h>],
-[struct utmp ut; ut.ut_addr_v6[0] = 0;],
-samba_cv_HAVE_UT_UT_ADDR_V6=yes,samba_cv_HAVE_UT_UT_ADDR_V6=no,samba_cv_HAVE_UT_UT_ADDR_V6=cross)])
-if test x"$samba_cv_HAVE_UT_UT_ADDR_V6" = x"yes"; then
- AC_DEFINE(HAVE_UT_UT_ADDR_V6,1,[Whether the utmp struct has a property ut_addr_v6])
-fi
-
-AC_CACHE_CHECK([for ut_addr in utmp],samba_cv_HAVE_UT_UT_ADDR,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <utmp.h>],
-[struct utmp ut; ut.ut_addr = 0;],
-samba_cv_HAVE_UT_UT_ADDR=yes,samba_cv_HAVE_UT_UT_ADDR=no,samba_cv_HAVE_UT_UT_ADDR=cross)])
-if test x"$samba_cv_HAVE_UT_UT_ADDR" = x"yes"; then
- AC_DEFINE(HAVE_UT_UT_ADDR,1,[Whether the utmp struct has a property ut_addr])
-fi
-
if test x$ac_cv_func_pututline = xyes ; then
AC_CACHE_CHECK([whether pututline returns pointer],samba_cv_PUTUTLINE_RETURNS_UTMP,[
AC_TRY_COMPILE([#include <sys/types.h>
AC_DEFINE(HAVE_UX_UT_SYSLEN,1,[Whether the utmpx struct has a property ut_syslen])
fi
+AC_CACHE_CHECK([whether sizeof ut_line in utmp is ok],samba_cv_HAVE_UX_UT_LINE,[
+AC_TRY_RUN([#include <stdio.h>
+#include <sys/types.h>
+#include <utmp.h>
+int main(void) {
+ if (sizeof(((struct utmp *)NULL)->ut_line) < 15) {
+ return 1;
+ }
+ return 0;
+}
+],
+samba_cv_HAVE_UX_UT_LINE=yes,samba_cv_HAVE_UX_UT_LINE=no,samba_cv_HAVE_UX_UT_LINE=cross)])
+
fi
# end utmp details
#if defined(HAVE_UNISTD_H)
#include <unistd.h>
#endif
-main() { char *s = getcwd(NULL,0); if (s) exit(0); exit(1); }],
+main() { char *s = getcwd(NULL,0); if (s) return(0); return(1); }],
samba_cv_GETCWD_TAKES_NULL=yes,samba_cv_GETCWD_TAKES_NULL=no,samba_cv_GETCWD_TAKES_NULL=cross)])
if test x"$samba_cv_GETCWD_TAKES_NULL" = x"yes"; then
AC_DEFINE(GETCWD_TAKES_NULL,1,[Whether the getcwd function takes NULL as an argument])
#define F_NOTIFY 1026
#endif
main() {
- exit(fcntl(open("/tmp", O_RDONLY), F_NOTIFY, 0) == -1 ? 1 : 0);
+ return(fcntl(open("/tmp", O_RDONLY), F_NOTIFY, 0) == -1 ? 1 : 0);
}
],
samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes,samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=no,samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=cross)])
AC_CHECK_HEADER(sys/inotify.h)
-if test x"ac_cv_header_sys_inotify_h" = x"yes"; then
+if test x"$ac_cv_header_sys_inotify_h" = x"yes"; then
AC_DEFINE(HAVE_INOTIFY,1,[For inotify support])
fi
#define LOCK_READ 64
#endif
main() {
- exit(flock(open("/dev/null", O_RDWR), LOCK_MAND|LOCK_READ) != 0);
+ return(flock(open("/dev/null", O_RDWR), LOCK_MAND|LOCK_READ) != 0);
}
],
samba_cv_HAVE_KERNEL_SHARE_MODES=yes,samba_cv_HAVE_KERNEL_SHARE_MODES=no,samba_cv_HAVE_KERNEL_SHARE_MODES=cross)])
cap_t cap;
cap_value_t vals[1];
if (!(cap = cap_get_proc()))
- exit(1);
+ return(1);
vals[0] = CAP_CHOWN;
cap_set_flag(cap, CAP_INHERITABLE, 1, vals, CAP_CLEAR);
cap_set_proc(cap);
- exit(0);
+ return(0);
}],
samba_cv_HAVE_POSIX_CAPABILITIES=yes,
samba_cv_HAVE_POSIX_CAPABILITIES=no,
# look for a method of setting the effective uid
seteuid=no;
+################################################
+# Start by checking for 32-bit system call definitions on Linux.
+
+case "$host_os" in
+*linux*)
+AC_CACHE_CHECK([for Linux 32-bit system calls],samba_cv_USE_LINUX_32BIT_SYSCALLS,[
+AC_TRY_COMPILE([
+#if defined(HAVE_UNISTD_H)
+#include <unistd.h>
+#endif
+#include <stdlib.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <errno.h>
+
+#ifdef HAVE_SYS_PRIV_H
+#include <sys/priv.h>
+#endif
+#ifdef HAVE_SYS_ID_H
+#include <sys/id.h>
+#endif
+
+#if defined(HAVE_SYSCALL_H)
+#include <syscall.h>
+#endif
+
+#if defined(HAVE_SYS_SYSCALL_H)
+#include <sys/syscall.h>
+#endif
+],
+[
+syscall(SYS_setresuid32, -1, -1, -1);
+syscall(SYS_setresgid32, -1, -1, -1);
+syscall(SYS_setreuid32, -1, -1);
+syscall(SYS_setregid32, -1, -1);
+syscall(SYS_setuid32, -1);
+syscall(SYS_setgid32, -1);
+syscall(SYS_setgroups32, 0, NULL);
+], samba_cv_USE_LINUX_32BIT_SYSCALLS=yes,samba_cv_USE_LINUX_32BIT_SYSCALLS=no,samba_cv_USE_LINUX_32BIT_SYSCALLS=cross)])
+
+if test x"$samba_cv_USE_LINUX_32BIT_SYSCALLS" = x"yes"; then
+ AC_DEFINE(USE_LINUX_32BIT_SYSCALLS,1,[Use Linux 32-bit system calls])
+ AC_CACHE_CHECK([for Linux thread-specific credentials with 32-bit system calls],samba_cv_USE_LINUX_THREAD_CREDENTIALS,[
+ AC_TRY_RUN([
+#define AUTOCONF_TEST 1
+#define USE_LINUX_THREAD_CREDENTIALS 1
+#define USE_LINUX_32BIT_SYSCALLS 1
+#include "${srcdir-.}/../lib/util/setid.c"
+#include "${srcdir-.}/lib/util_sec.c"],
+ samba_cv_USE_LINUX_THREAD_CREDENTIALS=yes,samba_cv_USE_LINUX_THREAD_CREDENTIALS=no,samba_cv_USE_LINUX_THREAD_CREDENTIALS=cross)])
+if test x"$samba_cv_USE_LINUX_THREAD_CREDENTIALS" = x"yes"; then
+ seteuid=yes;
+ AC_DEFINE(USE_LINUX_THREAD_CREDENTIALS,1,[Whether we can use Linux thread-specific credentials with 32-bit system calls])
+fi
+fi
+
+if test $seteuid = no; then
+AC_CACHE_CHECK([for Linux thread-specific credentials],samba_cv_USE_LINUX_THREAD_CREDENTIALS,[
+AC_TRY_RUN([
+#define AUTOCONF_TEST 1
+#define USE_LINUX_THREAD_CREDENTIALS 1
+#include "${srcdir-.}/../lib/util/setid.c"
+#include "${srcdir-.}/lib/util_sec.c"],
+ samba_cv_USE_LINUX_THREAD_CREDENTIALS=yes,samba_cv_USE_LINUX_THREAD_CREDENTIALS=no,samba_cv_USE_LINUX_THREAD_CREDENTIALS=cross)])
+if test x"$samba_cv_USE_LINUX_THREAD_CREDENTIALS" = x"yes"; then
+ seteuid=yes;AC_DEFINE(USE_LINUX_THREAD_CREDENTIALS,1,[Whether we can use Linux thread-specific credentials])
+fi
+fi
+
+;;
+esac
+
if test $seteuid = no; then
AC_CACHE_CHECK([for setreuid],samba_cv_USE_SETREUID,[
AC_TRY_RUN([
#define AUTOCONF_TEST 1
#define USE_SETREUID 1
#include "confdefs.h"
+#include "${srcdir-.}/../lib/util/setid.c"
#include "${srcdir-.}/lib/util_sec.c"],
samba_cv_USE_SETREUID=yes,samba_cv_USE_SETREUID=no,samba_cv_USE_SETREUID=cross)])
if test x"$samba_cv_USE_SETREUID" = x"yes"; then
#define AUTOCONF_TEST 1
#define USE_SETRESUID 1
#include "confdefs.h"
+#include "${srcdir-.}/../lib/util/setid.c"
#include "${srcdir-.}/lib/util_sec.c"],
samba_cv_USE_SETRESUID=yes,samba_cv_USE_SETRESUID=no,samba_cv_USE_SETRESUID=cross)])
if test x"$samba_cv_USE_SETRESUID" = x"yes"; then
#define AUTOCONF_TEST 1
#define USE_SETEUID 1
#include "confdefs.h"
+#include "${srcdir-.}/../lib/util/setid.c"
#include "${srcdir-.}/lib/util_sec.c"],
samba_cv_USE_SETEUID=yes,samba_cv_USE_SETEUID=no,samba_cv_USE_SETEUID=cross)])
if test x"$samba_cv_USE_SETEUID" = x"yes"; then
#define AUTOCONF_TEST 1
#define USE_SETUIDX 1
#include "confdefs.h"
+#include "${srcdir-.}/../lib/util/setid.c"
#include "${srcdir-.}/lib/util_sec.c"],
samba_cv_USE_SETUIDX=yes,samba_cv_USE_SETUIDX=no,samba_cv_USE_SETUIDX=cross)])
if test x"$samba_cv_USE_SETUIDX" = x"yes"; then
#define _XOPEN_SOURCE 600
#include <stdlib.h>
#if defined(__GLIBC__) && ((__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 4))
- probably broken posix_fallocate
+ #error probably broken posix_fallocate
#endif
], [
],
samba_cv_HAVE_BROKEN_POSIX_FALLOCATE=no,samba_cv_HAVE_BROKEN_POSIX_FALLOCATE=yes)])
if test x"$samba_cv_HAVE_BROKEN_POSIX_FALLOCATE" = xyes; then
- AC_DEFINE(HAVE_BROKEN_POSIX_FALLOCATE,, Whether we have a broken posix_fallocate)
+ AC_DEFINE(HAVE_BROKEN_POSIX_FALLOCATE, 1, Whether we have a broken posix_fallocate)
fi
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
-main() { exit((sizeof(blkcnt_t) == 4) ? 0 : 1); }],
+main() { return((sizeof(blkcnt_t) == 4) ? 0 : 1); }],
samba_cv_SIZEOF_BLKCNT_T_4=yes,samba_cv_SIZEOF_BLKCNT_T_4=no,samba_cv_SIZEOF_BLKCNT_T_4=cross)])
if test x"$samba_cv_SIZEOF_BLKCNT_T_4" = x"yes"; then
AC_DEFINE(SIZEOF_BLKCNT_T_4,1,[The size of the 'blkcnt_t' type])
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
-main() { exit((sizeof(blkcnt_t) == 8) ? 0 : 1); }],
+main() { return((sizeof(blkcnt_t) == 8) ? 0 : 1); }],
samba_cv_SIZEOF_BLKCNT_T_8=yes,samba_cv_SIZEOF_BLKCNT_T_8=no,samba_cv_SIZEOF_BLKCNT_T_8=cross)])
if test x"$samba_cv_SIZEOF_BLKCNT_T_8" = x"yes"; then
AC_DEFINE(SIZEOF_BLKCNT_T_8,1,[The size of the 'blkcnt_t' type])
char *newpath;
signal(SIGSEGV, exit_on_core);
newpath = realpath("/tmp", NULL);
- exit((newpath != NULL) ? 0 : 1);
+ return((newpath != NULL) ? 0 : 1);
}
],
samba_cv_REALPATH_TAKES_NULL=yes,samba_cv_REALPATH_TAKES_NULL=no,samba_cv_REALPATH_TAKES_NULL=cross)])
if test x"$ac_cv_lib_ext_ldap_ldap_init" = x"yes"; then
AC_DEFINE(HAVE_LDAP,1,[Whether ldap is available])
CPPFLAGS="$CPPFLAGS -DLDAP_DEPRECATED"
- default_static_modules="$default_static_modules pdb_ldap idmap_ldap";
+ default_static_modules="$default_static_modules pdb_ldapsam idmap_ldap";
default_shared_modules="$default_shared_modules";
SMBLDAP="lib/smbldap.o"
with_ldap_support=yes
AC_DEFINE(HAVE_GSSAPI, , [Whether the platform has GSSAPI support])
fi
+ # This is for FreeBSD (and possibly others). gss_mech_krb5 is a
+ # #define to GSS_KRB5_MECHANISM, which is defined in -lgssapi_krb5
+ # Also, gsskrb5_extract_authz_data_from_sec_context is in -lgssapi_krb5
+ AC_CHECK_LIB_EXT(gssapi_krb5, KRB5_LIBS, GSS_KRB5_MECHANISM,
+ [KRB5_LIBS="$KRB5_LIBS -lgssapi_krb5"])
+
AC_CHECK_FUNC_EXT(krb5_set_real_time, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_set_default_in_tkt_etypes, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_set_default_tgs_enctypes, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_principal_compare_any_realm, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_parse_name_norealm, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_princ_size, $KRB5_LIBS)
+ AC_CHECK_FUNC_EXT(krb5_make_principal, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_principal_get_num_comp, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_get_init_creds_opt_set_pac_request, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_get_renewed_creds, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_cc_get_lifetime, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_cc_retrieve_cred, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_free_checksum_contents, $KRB5_LIBS)
+ AC_CHECK_FUNC_EXT(krb5_create_checksum, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(krb5_c_make_checksum, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(gss_krb5_import_cred, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(gss_get_name_attribute, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(gss_inquire_sec_context_by_oid, $KRB5_LIBS)
AC_CHECK_FUNC_EXT(gss_wrap_iov, $KRB5_LIBS)
- # This is for FreeBSD (and possibly others). gss_mech_krb5 is a
- # #define to GSS_KRB5_MECHANISM, which is defined in -lgssapi_krb5
- AC_CHECK_LIB_EXT(gssapi_krb5, KRB5_LIBS, GSS_KRB5_MECHANISM,
- [KRB5_LIBS="$KRB5_LIBS -lgssapi_krb5"])
-
# MIT krb5 1.8 does not expose this call (yet)
AC_CHECK_DECLS(krb5_get_credentials_for_user, [], [], [#include <krb5.h>])
AC_HAVE_DECL(KRB5_PDU_NONE,[#include <krb5.h>])
+ AC_CACHE_CHECK([for flags in krb5_creds],
+ samba_cv_HAVE_FLAGS_IN_KRB5_CREDS,[
+ AC_TRY_COMPILE([#include <krb5.h>],
+ [krb5_creds creds; creds.flags.b.initial = 0;],
+ samba_cv_HAVE_FLAGS_IN_KRB5_CREDS=yes,
+ samba_cv_HAVE_FLAGS_IN_KRB5_CREDS=no)])
+
+ if test x"$samba_cv_HAVE_FLAGS_IN_KRB5_CREDS" = x"yes"; then
+ AC_DEFINE(HAVE_FLAGS_IN_KRB5_CREDS,1,
+ [Whether the krb5_creds struct has a flags property])
+ fi
#
#
# Now the decisions whether we can support krb5
use_ads=no
fi
- if test x"$ac_cv_func_ext_krb5_c_string_to_key" != x"yes"
- then
- AC_MSG_WARN(krb5_c_string_to_key not found in -lkrb5)
- use_ads=no
- fi
-
- if test x"$ac_cv_func_ext_krb5_principal2salt" != x"yes" -a \
- x"$ac_cv_func_ext_krb5_get_pw_salt" != x"yes"
+ if test x"$ac_cv_func_ext_krb5_principal2salt" != x"yes" -o \
+ x"$ac_cv_func_ext_krb5_c_string_to_key" != x"yes"
then
- AC_MSG_WARN(no CREATE_KEY_FUNCTIONS detected)
- use_ads=no
+ if test x"$ac_cv_func_ext_krb5_get_pw_salt" != x"yes" -o \
+ x"$ac_cv_func_ext_krb5_string_to_key_salt" != x"yes"
+ then
+ AC_MSG_WARN(no CREATE_KEY_FUNCTIONS detected)
+ use_ads=no
+ fi
fi
if test x"$ac_cv_func_ext_krb5_get_permitted_enctypes" != x"yes" -a \
use_ads=no
fi
+ if test x"$ac_cv_func_ext_gss_wrap_iov" != x"yes" ; then
+ AC_MSG_WARN(gss_wrap_iov not found in -lgssapi)
+ use_ads=no
+ fi
+
if test x"$ac_cv_func_ext_gss_get_name_attribute" != x"yes" ; then
if test x"$ac_cv_func_ext_gsskrb5_extract_authz_data_from_sec_context" != x"yes" -o \
x"$ac_cv_func_ext_gss_inquire_sec_context_by_oid" != x"yes"
with_dnsupdate_support=no
fi
fi
- ##################################################################
- # then test for uuid.h (necessary to generate unique DNS keynames
- # (uuid.h is required for this test)
- AC_CHECK_HEADERS(uuid/uuid.h)
-
-
- if test x"$ac_cv_header_uuid_uuid_h" != x"yes"; then
- if test x"$with_dnsupdate_support" = x"yes"; then
- AC_MSG_ERROR(uuid.h is needed to enable DNS Updates support)
- else
- AC_MSG_NOTICE(uuid.h is needed to enable DNS Updates support)
- fi
- with_dnsupdate_support=no
- fi
fi
if test x"$with_dnsupdate_support" != x"no"; then
-
- ########################################################
- # Now see if we can find the uuid libs in standard paths
- # On some systems, the uuid API is in libc, so we have to
- # be careful not to insert a spurious -luuid.
-
- UUID_LIBS=""
- AC_LIBTESTFUNC(uuid, uuid_generate,
- [
- case " $LIBS " in
- *\ -luuid\ *)
- UUID_LIBS="-luuid"
- SMB_REMOVE_LIB(uuid)
- ;;
- esac
-
- with_dnsupdate_support=yes
- AC_DEFINE(WITH_DNS_UPDATES,1,[Whether to enable DNS Update support])
- ],
- [
- if test x"$with_dnsupdate_support" = x"yes"; then
- AC_MSG_ERROR(libuuid is needed to enable DNS Updates support)
- else
- AC_MSG_WARN(libuuid is needed to enable DNS Updates support)
- fi
- with_dnsupdate_support=no
- ])
+ AC_DEFINE(WITH_DNS_UPDATES,1,[Whether to enable DNS Update support])
fi
+
# finally print out the result:
AC_MSG_CHECKING(whether DNS Updates support is used)
AC_MSG_RESULT([$with_dnsupdate_support])
if test "$withval" = "no" ; then
AC_MSG_ERROR([argument to --with-syslog-facility must be a string])
else
+ AC_MSG_RESULT([$withval])
if test "$withval" != "yes" ; then
syslog_facility="$withval"
AC_DEFINE_UNQUOTED(SYSLOG_FACILITY,$syslog_facility, [syslog facility to log to])
fi
fi
-])
+],
+AC_MSG_RESULT(no)
+)
#################################################
# check for experimental disk-quotas support
samba_cv_WITH_QUOTAS=auto
-samba_cv_TRY_QUOTAS=no
-samba_cv_RUN_QUOTA_TESTS=auto
-samba_cv_WITH_SYS_QUOTAS=auto
-samba_cv_TRY_SYS_QUOTAS=auto
samba_cv_SYSQUOTA_FOUND=no
AC_MSG_CHECKING(whether to try disk-quotas support)
yes)
AC_MSG_RESULT(yes)
samba_cv_WITH_QUOTAS=yes
- samba_cv_TRY_QUOTAS=yes
- samba_cv_RUN_QUOTA_TESTS=yes
- #set sys quotas to auto in this case
- samba_cv_TRY_SYS_QUOTAS=auto
;;
auto)
AC_MSG_RESULT(auto)
samba_cv_WITH_QUOTAS=auto
- samba_cv_TRY_QUOTAS=auto
- samba_cv_RUN_QUOTA_TESTS=auto
- #set sys quotas to auto in this case
- samba_cv_TRY_SYS_QUOTAS=auto
;;
no)
AC_MSG_RESULT(no)
samba_cv_WITH_QUOTAS=no
- samba_cv_TRY_QUOTAS=no
- samba_cv_RUN_QUOTA_TESTS=no
;;
*)
- AC_MSG_RESULT(${samba_cv_TRY_QUOTAS})
+ AC_MSG_RESULT(${samba_cv_WITH_QUOTAS})
;;
esac ],
- AC_MSG_RESULT(${samba_cv_TRY_QUOTAS})
+ AC_MSG_RESULT(${samba_cv_WITH_QUOTAS})
)
-AC_MSG_CHECKING(whether to try the new lib/sysquotas.c interface)
-AC_ARG_WITH(sys-quotas,
-[AS_HELP_STRING([--with-sys-quotas], [Include lib/sysquotas.c support (default=auto)])],
-[ case "$withval" in
- yes)
- AC_MSG_RESULT(yes)
- samba_cv_WITH_SYS_QUOTAS=yes
- samba_cv_TRY_SYS_QUOTAS=yes
- samba_cv_RUN_QUOTA_TESTS=yes
- ;;
- auto)
- AC_MSG_RESULT(auto)
- samba_cv_WITH_SYS_QUOTAS=auto
- samba_cv_TRY_SYS_QUOTAS=auto
- samba_cv_RUN_QUOTA_TESTS=auto
- ;;
- no)
- AC_MSG_RESULT(no)
- samba_cv_WITH_SYS_QUOTAS=no
- samba_cv_TRY_SYS_QUOTAS=no
- ;;
- *)
- AC_MSG_RESULT(${samba_cv_TRY_SYS_QUOTAS})
- ;;
- esac ],
- AC_MSG_RESULT(${samba_cv_TRY_SYS_QUOTAS})
-)
-
-if test x"$samba_cv_TRY_SYS_QUOTAS" = x"auto"; then
-AC_MSG_CHECKING(whether to try the lib/sysquotas.c interface on ${host_os})
- case "$host_os" in
- *linux*)
- AC_MSG_RESULT(yes)
- samba_cv_TRY_SYS_QUOTAS=yes
- samba_cv_RUN_QUOTA_TESTS=yes
- ;;
- *)
- AC_MSG_RESULT(no)
- samba_cv_TRY_SYS_QUOTAS=no
- ;;
- esac
-fi
-
#############################################
# only check for quota stuff if --with-quotas
-if test x"$samba_cv_RUN_QUOTA_TESTS" != x"no"; then
+if test x"$samba_cv_WITH_QUOTAS" != x"no"; then
case "$host_os" in
# on linux we didn't need to test we have builtin support
*linux*)
samba_cv_SYSQUOTA_FOUND=yes
AC_DEFINE(HAVE_QUOTACTL_LINUX,1,[Whether Linux quota support is available])
- samba_cv_sysquotas_file="lib/sysquotas_linux.c"
AC_MSG_CHECKING(whether to use the lib/sysquotas_linux.c builtin support)
AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_LINUX_XFS_QUOTAS,1,[Whether Linux xfs quota support is available])
- samba_cv_found_xfs_header=yes
AC_MSG_CHECKING(whether to use the lib/sysquotas_xfs.c builtin support)
AC_MSG_RESULT(yes)
;;
# For quotas on Veritas VxFS filesystems
AC_CHECK_HEADERS(sys/fs/vx_quota.h)
-# For quotas on Linux XFS filesystems
-AC_CHECK_HEADERS(linux/dqblk_xfs.h)
+# For quotas on XFS filesystems, Linux style
+AC_CHECK_HEADERS(xfs/xqm.h,[
+ AC_DEFINE(HAVE_XFS_QUOTAS,1,[Whether xfs quota support is available])
+ ])
# For sys/quota.h and linux/quota.h
AC_CHECK_HEADERS(sys/quota.h)
-if test x"$samba_cv_found_xfs_header" != x"yes"; then
+# For quotas on BSD systems
+AC_CHECK_HEADERS(ufs/ufs/quota.h)
+
+
+if test x"$ac_cv_header_xfs_xqm_h" != x"yes"; then
# if we have xfs quota support <sys/quota.h> (IRIX) we should use it
AC_CACHE_CHECK([for XFS QUOTA in <sys/quota.h>],samba_cv_HAVE_SYS_QUOTA_XFS, [
AC_TRY_COMPILE([
],[int i = Q_XGETQUOTA;],
samba_cv_HAVE_SYS_QUOTA_XFS=yes,samba_cv_HAVE_SYS_QUOTA_XFS=no)])
if test "$samba_cv_HAVE_SYS_QUOTA_XFS"x = "yes"x; then
- samba_cv_found_xfs_header=yes
+ AC_DEFINE(HAVE_XFS_QUOTAS,1,[Whether xfs quota support is available])
fi
fi
#define HAVE_QUOTACTL_4A 1
#define AUTOCONF_TEST 1
#include "confdefs.h"
-#include "${srcdir-.}/../tests/sysquotas.c"],[$CFLAGS $Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
+#include "${srcdir-.}/../../tests/sysquotas.c"],[$CFLAGS $Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
samba_cv_HAVE_QUOTACTL_4A=yes,samba_cv_HAVE_QUOTACTL_4A=no,samba_cv_HAVE_QUOTACTL_4A=cross)])
if test x"$samba_cv_HAVE_QUOTACTL_4A" = x"yes"; then
samba_cv_SYSQUOTA_FOUND=yes;
AC_DEFINE(HAVE_QUOTACTL_4A,1,[Whether long quotactl(int cmd, char *special, qid_t id, caddr_t addr) is available])
- samba_cv_sysquotas_file="lib/sysquotas_4A.c"
fi
fi
#define HAVE_QUOTACTL_4B 1
#define AUTOCONF_TEST 1
#include "confdefs.h"
-#include "${srcdir-.}/../tests/sysquotas.c"],[$CFLAGS $Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
+#include "${srcdir-.}/../../tests/sysquotas.c"],[$CFLAGS $Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
samba_cv_HAVE_QUOTACTL_4B=yes,samba_cv_HAVE_QUOTACTL_4B=no,samba_cv_HAVE_QUOTACTL_4B=cross)])
if test x"$samba_cv_HAVE_QUOTACTL_4B" = x"yes"; then
- echo "int quotactl(const char *path, int cmd, int id, char *addr) is not reworked for the new sys_quota api"
samba_cv_SYSQUOTA_FOUND=yes;
AC_DEFINE(HAVE_QUOTACTL_4B,1,[Whether int quotactl(const char *path, int cmd, int id, char *addr) is available])
- samba_cv_sysquotas_file="lib/sysquotas_4B.c"
+ AC_CHECK_MEMBERS([struct dqblk.dqb_curbytes], # Darwin bytecount style
+ [ AC_DEFINE([HAVE_STRUCT_DQBLK_DQB_CURBYTES],[1],[darwin style quota bytecount])],,
+ [#include <sys/types.h>
+ #include <sys/quota.h>])
+
fi
fi
-if test x"$samba_cv_SYSQUOTA_FOUND" != x"yes"; then
-AC_CACHE_CHECK([for CRAY int quotactl (char *spec, int request, char *arg)],samba_cv_HAVE_QUOTACTL_3,[
-AC_TRY_RUN_STRICT([
-#define HAVE_QUOTACTL_3 1
-#define AUTOCONF_TEST 1
-#include "confdefs.h"
-#include "${srcdir-.}/../tests/sysquotas.c"],[$CFLAGS $Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
- samba_cv_HAVE_QUOTACTL_3=yes,samba_cv_HAVE_QUOTACTL_3=no,samba_cv_HAVE_QUOTACTL_3=cross)])
-if test x"$samba_cv_HAVE_QUOTACTL_3" = x"yes"; then
- echo "CRAY int quotactl (char *spec, int request, char *arg) is NOT reworked for the sys_quota api"
- samba_cv_SYSQUOTA_FOUND=yes;
- AC_DEFINE(HAVE_QUOTACTL_3,1,[Whether CRAY int quotactl (char *spec, int request, char *arg); is available])
- samba_cv_sysquotas_file="lib/sysquotas_3.c"
-fi
+AC_CACHE_CHECK([for NFS QUOTAS],samba_cv_HAVE_NFS_QUOTAS,[
+AC_TRY_COMPILE([
+#include <rpc/rpc.h>
+#include <rpc/types.h>
+#include <rpcsvc/rquota.h>
+#ifdef HAVE_RPC_NETTYPE_H
+#include <rpc/nettype.h>
+#endif
+#include <rpc/xdr.h>
+],[clnt_create("", RQUOTAPROG, RQUOTAVERS, "udp");],
+ samba_cv_HAVE_NFS_QUOTAS=yes, samba_cv_HAVE_NFS_QUOTAS=no)])
+
+if test x"$samba_cv_HAVE_NFS_QUOTAS" = x"yes"; then
+ AC_DEFINE(HAVE_NFS_QUOTAS,1,[NFS quota support is available])
+ AC_CHECK_MEMBER(struct getquota_rslt.getquota_rslt_u,
+ AC_DEFINE(HAVE_GETQUOTA_RSLT_GETQUOTA_RSLT_U, 1, [Defined if struct getquota_rslt has getquota_rslt_u]),,
+ [#include <rpcsvc/rquota.h>])
fi
#################################################
# check for devnm
AC_CHECK_FUNCS(devnm)
-if test x"$samba_cv_WITH_SYS_QUOTAS" = x"yes"; then
- if test x"$samba_cv_SYSQUOTA_FOUND" != x"yes"; then
- # if --with-sys-quotas=yes then build it
- # you have can use the get/set quota command smb.conf
- # options then
- samba_cv_SYSQUOTA_FOUND=auto
- fi
- if test x"$samba_cv_TRY_SYS_QUOTAS" != x"yes"; then
- # if --with-sys-quotas=yes then build it
- # you have can use the get/set quota command smb.conf
- # options then
- samba_cv_TRY_SYS_QUOTAS=auto
- fi
-fi
-
-if test x"$samba_cv_SYSQUOTA_FOUND" != x"no"; then
-AC_CACHE_CHECK([whether the sys_quota interface works],samba_cv_SYSQUOTA_WORKS,[
-SAVE_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS ${SAMBA_CONFIGURE_CPPFLAGS}"
-AC_TRY_COMPILE([
-#include "confdefs.h"
-#define NO_PROTO_H 1
-#define NO_CONFIG_H 1
-#define HAVE_SYS_QUOTAS 1
-#include "${srcdir-.}/${samba_cv_sysquotas_file}"
-#include "${srcdir-.}/lib/sysquotas.c"
-],[],samba_cv_SYSQUOTA_WORKS=yes,samba_cv_SYSQUOTA_WORKS=no)
-CPPFLAGS="$SAVE_CPPFLAGS"
-])
-if test x"$samba_cv_SYSQUOTA_WORKS" = x"yes"; then
AC_MSG_CHECKING(whether to use the new lib/sysquotas.c interface)
- if test x"$samba_cv_TRY_SYS_QUOTAS" != x"no"; then
+if test x"$samba_cv_SYSQUOTA_FOUND" = x"yes"; then
+ AC_MSG_RESULT(yes)
AC_DEFINE(WITH_QUOTAS,1,[Whether to use disk quota support])
AC_DEFINE(HAVE_SYS_QUOTAS,1,[Whether the new lib/sysquotas.c interface can be used])
- samba_cv_WE_USE_SYS_QUOTAS=yes
+else
+ AC_MSG_RESULT(no)
+ AC_MSG_CHECKING(whether to use the old quota support)
+ if test x"$samba_cv_WITH_QUOTAS" = x"yes"; then
+ AC_DEFINE(WITH_QUOTAS,1,[Whether to use old quota support])
AC_MSG_RESULT(yes)
else
- AC_MSG_RESULT(no)
- fi
-fi
-fi
-
-if test x"$samba_cv_SYSQUOTA_FOUND" != x"no"; then
-AC_CACHE_CHECK([whether the sys_quota interface works with NFS],samba_cv_SYSQUOTA_WORKS_NFS,[
-SAVE_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS ${SAMBA_CONFIGURE_CPPFLAGS}"
-AC_TRY_COMPILE([
-#include "confdefs.h"
-#define NO_PROTO_H 1
-#define NO_CONFIG_H 1
-#define HAVE_SYS_QUOTAS 1
-#define HAVE_NFS_QUOTAS 1
-#include "${srcdir-.}/lib/sysquotas_nfs.c"
-],[],samba_cv_SYSQUOTA_WORKS_NFS=yes,samba_cv_SYSQUOTA_WORKS_NFS=no)
-CPPFLAGS="$SAVE_CPPFLAGS"
-])
-if test x"$samba_cv_SYSQUOTA_WORKS_NFS" = x"yes"; then
- if test x"$samba_cv_WE_USE_SYS_QUOTAS" = x"yes"; then
- AC_DEFINE(HAVE_NFS_QUOTAS,1,[Whether nfs quota support is available])
- fi
-fi
-fi
-
-if test x"$samba_cv_SYSQUOTA_FOUND" != x"no" -a x"$samba_cv_found_xfs_header" = x"yes"; then
-AC_CACHE_CHECK([whether the sys_quota interface works with XFS],samba_cv_SYSQUOTA_WORKS_XFS,[
-SAVE_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS ${SAMBA_CONFIGURE_CPPFLAGS}"
-AC_TRY_COMPILE([
-#include "confdefs.h"
-#define NO_PROTO_H 1
-#define NO_CONFIG_H 1
-#define HAVE_SYS_QUOTAS 1
-#define HAVE_XFS_QUOTAS 1
-#include "${srcdir-.}/lib/sysquotas_xfs.c"
-],[],samba_cv_SYSQUOTA_WORKS_XFS=yes,samba_cv_SYSQUOTA_WORKS_XFS=no)
-CPPFLAGS="$SAVE_CPPFLAGS"
-])
-if test x"$samba_cv_SYSQUOTA_WORKS_XFS" = x"yes"; then
- if test x"$samba_cv_WE_USE_SYS_QUOTAS" = x"yes"; then
- AC_DEFINE(HAVE_XFS_QUOTAS,1,[Whether xfs quota support is available])
- fi
-fi
-fi
-
-AC_CACHE_CHECK([whether the old quota support works],samba_cv_QUOTA_WORKS,[
-SAVE_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS ${SAMBA_CONFIGURE_CPPFLAGS}"
-AC_TRY_COMPILE([
-#include "confdefs.h"
-#define NO_PROTO_H 1
-#define NO_CONFIG_H 1
-#include "${srcdir-.}/smbd/quotas.c"
-],[],samba_cv_QUOTA_WORKS=yes,samba_cv_QUOTA_WORKS=no)
-CPPFLAGS="$SAVE_CPPFLAGS"
-])
-if test x"$samba_cv_QUOTA_WORKS" = x"yes"; then
-AC_MSG_CHECKING(whether to use the old quota support)
- if test x"$samba_cv_WE_USE_SYS_QUOTAS" != x"yes"; then
- if test x"$samba_cv_TRY_QUOTAS" != x"no"; then
- AC_DEFINE(WITH_QUOTAS,1,[Whether to use disk quota support])
- AC_MSG_RESULT(yes)
- else
AC_MSG_RESULT(no)
- fi
- else
- AC_MSG_RESULT(no)
fi
fi
####################
-# End of quota check samba_cv_RUN_QUOTA_TESTS
+# End of quota check samba_cv_WITH_QUOTAS
fi
#################################################
WITH_UTMP=no
fi
+if test x"$WITH_UTMP" = x"yes" -a x"$samba_cv_HAVE_UX_UT_LINE" != x"yes"; then
+ utmp_no_reason=", sizeof ut_line not ok"
+ WITH_UTMP=no
+fi
+
# Display test results
if test x"$WITH_UTMP" = x"yes"; then
{
struct statfs fsd;
fsd.f_fsize = 0;
- exit (statfs (".", &fsd, sizeof (struct statfs)));
+ return (statfs (".", &fsd, sizeof (struct statfs)));
}],
fu_cv_sys_stat_statfs3_osf1=yes,
fu_cv_sys_stat_statfs3_osf1=no,
{
struct statfs fsd;
fsd.f_bsize = 0;
- exit (statfs (".", &fsd));
+ return (statfs (".", &fsd));
}],
fu_cv_sys_stat_statfs2_bsize=yes,
fu_cv_sys_stat_statfs2_bsize=no,
main ()
{
struct statfs fsd;
- exit (statfs (".", &fsd, sizeof fsd, 0));
+ return (statfs (".", &fsd, sizeof fsd, 0));
}],
fu_cv_sys_stat_statfs4=yes,
fu_cv_sys_stat_statfs4=no,
{
struct statfs fsd;
fsd.f_fsize = 0;
- exit (statfs (".", &fsd));
+ return (statfs (".", &fsd));
}],
fu_cv_sys_stat_statfs2_fsize=yes,
fu_cv_sys_stat_statfs2_fsize=no,
struct fs_data fsd;
/* Ultrix's statfs returns 1 for success,
0 for not mounted, -1 for failure. */
- exit (statfs (".", &fsd) != 1);
+ return (statfs (".", &fsd) != 1);
}],
fu_cv_sys_stat_fs_data=yes,
fu_cv_sys_stat_fs_data=no,
SAVED_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS ${SAMBA_CONFIGURE_CPPFLAGS} $CTDB_CPPFLAGS"
-AC_CHECK_HEADERS(ctdb.h ctdb_private.h,,,[
+AC_CHECK_HEADERS(ctdb.h ctdb_private.h ctdb_protocol.h ,,,[
#include "confdefs.h"
#define NO_CONFIG_H
#include "replace.h"
fi
if test "x$have_cluster_support" = "xyes" -a \
- "x$ac_cv_header_ctdb_h" != "xyes"
+ "x$ac_cv_header_ctdb_private_h" != "xyes"
then
have_cluster_support=no
ctdb_broken="ctdb_private.h is required for cluster support"
if test x"$with_acl_support" = x"no"; then
AC_MSG_RESULT(Disabling ACL support)
- AC_DEFINE(HAVE_NO_ACLS,1,[Whether no ACLs support should be built in])
else
AC_MSG_NOTICE(checking whether ACL support is available:)
case "$host_os" in
AC_DEFINE(HAVE_HPUX_ACLS,1,[Whether HPUX ACLs are available])
default_static_modules="$default_static_modules vfs_hpuxacl"
;;
- *irix*)
- AC_MSG_NOTICE(Using IRIX ACLs)
- AC_DEFINE(HAVE_IRIX_ACLS,1,[Whether IRIX ACLs are available])
- default_static_modules="$default_static_modules vfs_irixacl"
- ;;
*aix*)
AC_MSG_NOTICE(Using AIX ACLs)
AC_DEFINE(HAVE_AIX_ACLS,1,[Whether AIX ACLs are available])
;;
*darwin*)
AC_MSG_NOTICE(ACLs on Darwin currently not supported)
- AC_DEFINE(HAVE_NO_ACLS,1,[Whether no ACLs support is available])
;;
*)
AC_CHECK_LIB(acl,acl_get_file,[ACL_LIBS="$ACL_LIBS -lacl"])
default_static_modules="$default_static_modules vfs_posixacl"
else
AC_MSG_NOTICE(ACL support is not avaliable)
- AC_DEFINE(HAVE_NO_ACLS,1,[Whether no ACLs support is available])
fi
;;
esac
#################################################
# check for AIO support
+with_aio=auto
AC_MSG_CHECKING(whether to support asynchronous io)
AC_ARG_WITH(aio-support,
-[AS_HELP_STRING([--with-aio-support], [Include asynchronous io support (default=no)])],
-[ case "$withval" in
- yes)
+[AS_HELP_STRING([--with-aio-support], [Include asynchronous io support (default=auto)])],
+[ case "$withval" in
+ yes|no)
+ with_aio=$withval
+ ;;
+ esac ])
- AC_MSG_RESULT(yes)
- case "$host_os" in
- *)
+AC_MSG_RESULT($with_aio)
+
+if test x"$with_aio" = x"no"; then
+ AC_DEFINE(HAVE_NO_AIO,1,[Whether no asynchronous io support should be built in])
+else
AIO_LIBS=$LIBS
no_rt_LIBS=$LIBS
AC_CHECK_LIB(rt,aio_read,[AIO_LIBS="$LIBS -lrt"])
samba_cv_HAVE_AIO=yes,samba_cv_HAVE_AIO=no)
LIBS=$aio_LIBS])
if test x"$samba_cv_HAVE_AIO" = x"yes"; then
- AC_DEFINE(WITH_AIO, 1, [Using asynchronous io])
+ AC_DEFINE(HAVE_AIO, 1, [Using asynchronous io])
LIBS=$AIO_LIBS
AC_MSG_CHECKING(for aio_read)
- AC_LINK_IFELSE([#include <aio.h>
-int main() { struct aiocb a; return aio_read(&a); }],
+ AC_LINK_IFELSE([AC_LANG_SOURCE([#include <aio.h>
+int main() { struct aiocb a; return aio_read(&a); }])],
[AC_DEFINE(HAVE_AIO_READ, 1, [Have aio_read]) AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])
AC_MSG_CHECKING(for aio_write)
- AC_LINK_IFELSE([#include <aio.h>
-int main() { struct aiocb a; return aio_write(&a); }],
+ AC_LINK_IFELSE([AC_LANG_SOURCE([#include <aio.h>
+int main() { struct aiocb a; return aio_write(&a); }])],
[AC_DEFINE(HAVE_AIO_WRITE, 1, [Have aio_write]) AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])
AC_MSG_CHECKING(for aio_fsync)
- AC_LINK_IFELSE([#include <aio.h>
-int main() { struct aiocb a; return aio_fsync(1, &a); }],
+ AC_LINK_IFELSE([AC_LANG_SOURCE([#include <aio.h>
+int main() { struct aiocb a; return aio_fsync(1, &a); }])],
[AC_DEFINE(HAVE_AIO_FSYNC, 1, [Have aio_fsync]) AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])
AC_MSG_CHECKING(for aio_return)
- AC_LINK_IFELSE([#include <aio.h>
-int main() { struct aiocb a; return aio_return(&a); }],
+ AC_LINK_IFELSE([AC_LANG_SOURCE([#include <aio.h>
+int main() { struct aiocb a; return aio_return(&a); }])],
[AC_DEFINE(HAVE_AIO_RETURN, 1, [Have aio_return]) AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])
AC_MSG_CHECKING(for aio_error)
- AC_LINK_IFELSE([#include <aio.h>
-int main() { struct aiocb a; return aio_error(&a); }],
+ AC_LINK_IFELSE([AC_LANG_SOURCE([#include <aio.h>
+int main() { struct aiocb a; return aio_error(&a); }])],
[AC_DEFINE(HAVE_AIO_ERROR, 1, [Have aio_error]) AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])
AC_MSG_CHECKING(for aio_cancel)
- AC_LINK_IFELSE([#include <aio.h>
-int main() { struct aiocb a; return aio_cancel(1, &a); }],
+ AC_LINK_IFELSE([AC_LANG_SOURCE([#include <aio.h>
+int main() { struct aiocb a; return aio_cancel(1, &a); }])],
[AC_DEFINE(HAVE_AIO_CANCEL, 1, [Have aio_cancel]) AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])
AC_MSG_CHECKING(for aio_suspend)
- AC_LINK_IFELSE([#include <aio.h>
-int main() { struct aiocb a; return aio_suspend(&a, 1, NULL); }],
+ AC_LINK_IFELSE([AC_LANG_SOURCE([#include <aio.h>
+int main() { const struct aiocb * const [a[1]]; struct timespec t; return aio_suspend(a, 1, &t); }])],
[AC_DEFINE(HAVE_AIO_SUSPEND, 1, [Have aio_suspend]) AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])
+ else
+ AC_DEFINE(HAVE_NO_AIO,1,[Whether no asynchronous io support is available])
+ AC_MSG_RESULT(no)
fi
+fi
- ;;
- esac
- ;;
- *)
- AC_MSG_RESULT(no)
- AC_DEFINE(HAVE_NO_AIO,1,[Whether no asynchronous io support is available])
- ;;
- esac ],
- AC_DEFINE(HAVE_NO_AIO,1,[Whether no asynchronous io support should be built in])
- AC_MSG_RESULT(no)
-)
-
-if test x"$samba_cv_HAVE_AIO" = x"yes"; then
- if test x"$samba_cv_msghdr_msg_control" = x"yes" -o \
- x"$samba_cv_msghdr_msg_acctright" = x"yes"; then
- default_shared_modules="$default_shared_modules vfs_aio_fork"
- fi
+if test x"$samba_cv_msghdr_msg_control" = x"yes" -o \
+ x"$samba_cv_msghdr_msg_acctright" = x"yes"; then
+ default_shared_modules="$default_shared_modules vfs_aio_fork"
+fi
# Check for Linux kernel aio support.
- case "$host_os" in
- *linux*)
- AC_CHECK_LIB(aio,io_submit,[AIO_LIBS="$LIBS -laio"])
- AC_CACHE_CHECK([for Linux kernel asynchronous io support],samba_cv_HAVE_LINUX_KERNEL_AIO,[
- aio_LIBS=$LIBS
- LIBS=$AIO_LIBS
- AC_TRY_LINK([#include <unistd.h>
+case "$host_os" in
+*linux*)
+ AC_CHECK_LIB(aio,io_submit,[AIO_LIBS="$LIBS -laio"])
+ AC_CACHE_CHECK([for Linux kernel asynchronous io support],samba_cv_HAVE_LINUX_KERNEL_AIO,[
+ aio_LIBS=$LIBS
+ LIBS=$AIO_LIBS
+ AC_TRY_LINK([#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <fcntl.h>
io_getevents(ctx, 1, 1, &ioev, &ts);],
samba_cv_HAVE_LINUX_KERNEL_AIO=yes,samba_cv_HAVE_LINUX_KERNEL_AIO=no)
LIBS=$aio_LIBS])
- if test x"$samba_cv_HAVE_LINUX_KERNEL_AIO" = x"yes"; then
- AC_DEFINE(WITH_AIO, 1, [Using asynchronous io])
- default_shared_modules="$default_shared_modules vfs_aio_linux"
- fi
- ;;
- esac
+ if test x"$samba_cv_HAVE_LINUX_KERNEL_AIO" = x"yes"; then
+ default_shared_modules="$default_shared_modules vfs_aio_linux"
+ fi
+ ;;
+esac
+
+if test x"$samba_cv_HAVE_AIO" = x"yes"; then
+ default_shared_modules="$default_shared_modules vfs_aio_posix"
fi
#################################################
# check for sendfile support
-with_sendfile_support=yes
-AC_MSG_CHECKING(whether to check to support sendfile)
+AC_MSG_CHECKING(whether sendfile support should be built in)
AC_ARG_WITH(sendfile-support,
-[AS_HELP_STRING([--with-sendfile-support], [Check for sendfile support (default=yes)])],
+[AS_HELP_STRING([--with-sendfile-support], [Whether sendfile support should be built in (default=auto)])],
[ case "$withval" in
- yes)
-
- AC_MSG_RESULT(yes);
+ yes|no)
+ AC_MSG_RESULT($withval);
+ with_sendfile_support=$withval
+ ;;
+ *)
+ AC_MSG_RESULT(yes)
+ with_sendfile_support=auto
+ ;;
+ esac ],
+)
- case "$host_os" in
+if test x$with_sendfile_support != xno ; then
+ case "$host_os" in
*linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu)
AC_CACHE_CHECK([for linux sendfile support],samba_cv_HAVE_SENDFILE,[
AC_TRY_LINK([#include <sys/sendfile.h>],
],
samba_cv_HAVE_SENDFILE=yes,samba_cv_HAVE_SENDFILE=no)])
-# Try and cope with broken Linux sendfile....
- AC_CACHE_CHECK([for broken linux sendfile support],samba_cv_HAVE_BROKEN_LINUX_SENDFILE,[
- AC_TRY_LINK([\
-#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
-#undef _FILE_OFFSET_BITS
-#endif
-#include <sys/sendfile.h>],
-[\
-int tofd, fromfd;
-off_t offset;
-size_t total;
-ssize_t nwritten = sendfile(tofd, fromfd, &offset, total);
-],
-samba_cv_HAVE_BROKEN_LINUX_SENDFILE=yes,samba_cv_HAVE_BROKEN_LINUX_SENDFILE=no)])
-
if test x"$samba_cv_HAVE_SENDFILE" = x"yes"; then
AC_DEFINE(HAVE_SENDFILE,1,[Whether sendfile() is available])
AC_DEFINE(LINUX_SENDFILE_API,1,[Whether linux sendfile() API is available])
AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() should be used])
- elif test x"$samba_cv_HAVE_BROKEN_LINUX_SENDFILE" = x"yes"; then
- AC_DEFINE(LINUX_BROKEN_SENDFILE_API,1,[Whether (linux) sendfile() is broken])
- AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile should be used])
else
AC_MSG_RESULT(no);
fi
AC_MSG_RESULT(no);
fi
;;
+ *darwin*)
+ AC_CACHE_CHECK([for Darwin sendfile support],
+ samba_cv_HAVE_SENDFILE,
+ [
+ AC_TRY_LINK([
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/uio.h>
+ ],
+ [
+ int fromfd, tofd, ret;
+ off_t offset, nwritten;
+ struct sf_hdtr hdr;
+ struct iovec hdtrl;
+ hdr.headers = &hdtrl;
+ hdr.hdr_cnt = 1;
+ hdr.trailers = (void *)0;
+ hdr.trl_cnt = 0;
+ hdtrl.iov_base = (void *)0;
+ hdtrl.iov_len = 0;
+ ret = sendfile(fromfd, tofd, offset, &nwritten, &hdr, 0);
+ ],
+ samba_cv_HAVE_SENDFILE=yes,
+ samba_cv_HAVE_SENDFILE=no)])
- *hpux*)
- AC_CACHE_CHECK([for hpux sendfile support],samba_cv_HAVE_SENDFILE,[
+ if test x"$samba_cv_HAVE_SENDFILE" = x"yes"; then
+ AC_DEFINE(HAVE_SENDFILE,1,[Whether sendfile() support is available])
+ AC_DEFINE(DARWIN_SENDFILE_API,1,[Whether the Darwin sendfile() API is available])
+ AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() support should be included])
+ else
+ AC_MSG_RESULT(no);
+ fi
+ ;;
+ *hpux*|*osf*)
+ AC_CACHE_CHECK([for osf/hpux sendfile support],samba_cv_HAVE_SENDFILE,[
AC_TRY_LINK([\
#include <sys/socket.h>
#include <sys/uio.h>],
samba_cv_HAVE_SENDFILE=yes,samba_cv_HAVE_SENDFILE=no)])
if test x"$samba_cv_HAVE_SENDFILE" = x"yes"; then
AC_DEFINE(HAVE_SENDFILE,1,[Whether sendfile() is available])
- AC_DEFINE(HPUX_SENDFILE_API,1,[Whether the hpux sendfile() API is available])
+ AC_DEFINE(HPUX_SENDFILE_API,1,[Whether the osf/hpux sendfile() API is available])
AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() support should be included])
else
AC_MSG_RESULT(no);
;;
*)
;;
- esac
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
- esac ],
- AC_MSG_RESULT(yes)
-)
+ esac
+fi
+
+if test x$with_sendfile_support = xyes -a x"$samba_cv_HAVE_SENDFILE" != xyes ; then
+ AC_MSG_ERROR(sendfile support requested but sendfile not available )
+fi
############################################
# See if we have the Linux readahead syscall.
[Whether posix_fadvise is available])
fi
+############################################
+# See if we have the openat syscall.
+
+AC_CACHE_CHECK([for openat],
+ samba_cv_HAVE_OPENAT,[
+ AC_TRY_LINK([
+#if defined(HAVE_UNISTD_H)
+#include <unistd.h>
+#endif
+#include <fcntl.h>],
+ [int fd = openat(AT_FDCWD, ".", O_RDONLY);],
+ samba_cv_HAVE_OPENAT=yes,
+ samba_cv_HAVE_OPENAT=no)])
+
+if test x"$samba_cv_HAVE_OPENAT" = x"yes"; then
+ AC_DEFINE(HAVE_OPENAT,1, [Whether openat is available])
+fi
+
############################################
# See if we have the Linux splice syscall.
#include <unistd.h>
#endif
#include <fcntl.h>],
- [long ret = splice(0,0,1,0,400,0);],
+ [long ret = splice(0,0,1,0,400,SPLICE_F_MOVE);],
samba_cv_HAVE_LINUX_SPLICE=yes,
samba_cv_HAVE_LINUX_SPLICE=no)])
;;
NSSSONAMEVERSIONSUFFIX=".2"
WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_linux.o"
;;
- *freebsd[[5-9]]*)
+ *freebsd[[5-9]]* | *freebsd1[[0-9]]*)
# FreeBSD winbind client is implemented as a wrapper around
# the Linux version.
NSSSONAMEVERSIONSUFFIX=".1"
WINBIND_WINS_NSS="../nsswitch/nss_wins.$SHLIBEXT"
;;
- *netbsd*[[3-9]]*)
+ *netbsd*[[3-9]]* | *netbsd1[[0-9]]*)
# NetBSD winbind client is implemented as a wrapper
# around the Linux version. It needs getpwent_r() to
# indicate libc's use of the correct nsdispatch API.
# Check if user wants pthreadpool support
AC_ARG_ENABLE(pthreadpool,
-[AS_HELP_STRING([--enable-pthreadpool], [Enable pthreads pool helper support (default=no)])])
+[AS_HELP_STRING([--enable-pthreadpool], [Enable pthreads pool helper support (default=yes)])])
if test x"$enable_pthreadpool" = xyes -a x"$samba_cv_HAVE_PTHREAD" != x"yes"; then
AC_MSG_ERROR([pthreadpool support cannot be enabled when pthread support was not found])
fi
-if test x"$enable_pthreadpool" = x"yes" -a x"$samba_cv_HAVE_PTHREAD" = x"yes"; then
+if test x"$enable_pthreadpool" != x"no" -a x"$samba_cv_HAVE_PTHREAD" = x"yes"; then
LIBS="$LIBS $PTHREAD_LDFLAGS"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
- AC_DEFINE(WITH_PTHREADPOOL, 1, [Whether to include pthreadpool helpers])
AC_SUBST(PTHREADPOOL_OBJ, "lib/pthreadpool/pthreadpool.o")
- PTHREADPOOLTEST="bin/pthreadpooltest"
- AC_SUBST(PTHREADPOOLTEST)
- if test x"$samba_cv_HAVE_AIO" = x"yes"; then
- default_shared_modules="$default_shared_modules vfs_aio_pthread"
- fi
+ default_shared_modules="$default_shared_modules vfs_aio_pthread"
+else
+ AC_SUBST(PTHREADPOOL_OBJ, "lib/pthreadpool/pthreadpool_sync.o")
fi
+PTHREADPOOLTEST="bin/pthreadpooltest"
+AC_SUBST(PTHREADPOOLTEST)
+
#################################################
# Check to see if we should use the included iniparser
CFLAGS=$CFLAGS_SAVE
-# Checks for *BSD bsd_statvfs() function
+# Checks for POSIX ignorant BSD style statvfs() function
# Start
AC_CHECK_HEADERS(sys/param.h sys/mount.h)
-AC_MSG_CHECKING([bsd_statvfs: checking for statfs() and struct statfs.bsize])
+AC_MSG_CHECKING([checking for posix ignorant *bsd style statfs struct])
AC_CACHE_VAL(bsdstatvfs_cv_statfs,[
AC_TRY_RUN([
#ifdef HAVE_SYS_PARAM_H
{
struct statfs fsd;
fsd.f_bsize = 0;
- exit (statfs (".", &fsd));
+ fsd.f_iosize = 0;
+ return (statfs (".", &fsd));
}],
bsdstatvfs_cv_statfs=yes,
bsdstatvfs_cv_statfs=no,
AC_MSG_RESULT($bsdstatvfs_cv_statfs)
if test $bsdstatvfs_cv_statfs = yes; then
- AC_DEFINE(BSD_STATVFS_BSIZE,1,[Whether statfs exists and struct statfs has bsize property])
+ AC_DEFINE(BSD_STYLE_STATVFS,1,[Whether statfs struct is *bsd style])
fi
-
-# End
-# Checks for *BSD sys_statvfs() function
+# End of checks POSIX ignorant BSD style statvfs() function
# Checks for the vfs_fileid module
# Start
# End
# Checks for the vfs_fileid module
+# btrfs features are dependent on Linux ioctl headers
+if test x"$ac_cv_header_sys_ioctl_h" = xyes -a \
+ x"$ac_cv_header_linux_ioctl_h" = xyes; then
+ default_shared_modules="$default_shared_modules vfs_btrfs"
+fi
+# End btrfs
for i in `echo $default_static_modules | sed -e 's/,/ /g'`
do
done
fi ])
+# additionally, support pdb_ldap -> pdb_ldapsam replacement
+if test x"$MODULE_pdb_ldap" != x ; then
+ MODULE_pdb_ldapsam="$MODULE_pdb_ldap"
+fi
+
if test x"$MODULE_DEFAULT_vfs_notify_fam" = xSTATIC -o \
x"$MODULE_vfs_notify_fam" = xSTATIC ; then
SMBD_FAM_LIBS="$SMB_FAM_LIBS"
AC_SUBST(SMBD_FAM_LIBS)
fi
-SMB_MODULE(pdb_ldap, passdb/pdb_ldap.o passdb/pdb_nds.o passdb/pdb_ipa.o passdb/pdb_ldap_util.o,
+SMB_MODULE(pdb_ldapsam, passdb/pdb_ldap.o passdb/pdb_nds.o passdb/pdb_ipa.o passdb/pdb_ldap_util.o,
"bin/ldapsam.$SHLIBEXT", PDB,
[ PASSDB_LIBS="$PASSDB_LIBS $LDAP_LIBS" ] )
-SMB_MODULE(pdb_ads, passdb/pdb_ads.o \$(TLDAP_OBJ), "bin/ads.$SHLIBEXT", PDB)
SMB_MODULE(pdb_smbpasswd, passdb/pdb_smbpasswd.o, "bin/smbpasswd.$SHLIBEXT", PDB)
SMB_MODULE(pdb_tdbsam, passdb/pdb_tdb.o, "bin/tdbsam.$SHLIBEXT", PDB)
SMB_MODULE(pdb_wbc_sam, passdb/pdb_wbc_sam.o, "bin/wbc_sam.$SHLIBEXT", PDB)
SMB_MODULE(idmap_rid, winbindd/idmap_rid.o, "bin/rid.$SHLIBEXT", IDMAP)
SMB_MODULE(idmap_autorid, winbindd/idmap_autorid.o, "bin/autorid.$SHLIBEXT", IDMAP)
SMB_MODULE(idmap_ad, winbindd/idmap_ad.o, "bin/ad.$SHLIBEXT", IDMAP)
+SMB_MODULE(idmap_rfc2307, winbindd/idmap_rfc2307.o, "bin/rfc2307.$SHLIBEXT", IDMAP)
SMB_MODULE(idmap_hash, \$(IDMAP_HASH_OBJ), "bin/hash.$SHLIBEXT", IDMAP)
-SMB_MODULE(idmap_adex, \$(IDMAP_ADEX_OBJ), "bin/adex.$SHLIBEXT", IDMAP)
SMB_SUBSYSTEM(IDMAP, winbindd/idmap.o)
SMB_MODULE(nss_info_template, winbindd/nss_info_template.o, "bin/template.$SHLIBEXT", NSS_INFO)
SMB_SUBSYSTEM(NSS_INFO, winbindd/nss_info.o)
-SMB_SUBSYSTEM(CHARSET,lib/iconv.o)
-
SMB_MODULE(auth_sam, \$(AUTH_SAM_OBJ), "bin/sam.$SHLIBEXT", AUTH)
SMB_MODULE(auth_unix, \$(AUTH_UNIX_OBJ), "bin/unix.$SHLIBEXT", AUTH)
SMB_MODULE(auth_winbind, \$(AUTH_WINBIND_OBJ), "bin/winbind.$SHLIBEXT", AUTH)
SMB_MODULE(auth_domain, \$(AUTH_DOMAIN_OBJ), "bin/domain.$SHLIBEXT", AUTH)
SMB_MODULE(auth_builtin, \$(AUTH_BUILTIN_OBJ), "bin/builtin.$SHLIBEXT", AUTH)
SMB_MODULE(auth_script, \$(AUTH_SCRIPT_OBJ), "bin/script.$SHLIBEXT", AUTH)
-SMB_MODULE(auth_netlogond, \$(AUTH_NETLOGOND_OBJ), "bin/netlogond.$SHLIBEXT", AUTH)
SMB_SUBSYSTEM(AUTH,auth/auth.o)
SMB_MODULE(vfs_default, \$(VFS_DEFAULT_OBJ), "bin/default.$SHLIBEXT", VFS)
SMB_MODULE(vfs_full_audit, \$(VFS_FULL_AUDIT_OBJ), "bin/full_audit.$SHLIBEXT", VFS)
SMB_MODULE(vfs_netatalk, \$(VFS_NETATALK_OBJ), "bin/netatalk.$SHLIBEXT", VFS)
SMB_MODULE(vfs_fake_perms, \$(VFS_FAKE_PERMS_OBJ), "bin/fake_perms.$SHLIBEXT", VFS)
+SMB_MODULE(vfs_fake_acls, \$(VFS_FAKE_ACLS_OBJ), "bin/fake_acls.$SHLIBEXT", VFS)
SMB_MODULE(vfs_default_quota, \$(VFS_DEFAULT_QUOTA_OBJ), "bin/default_quota.$SHLIBEXT", VFS)
SMB_MODULE(vfs_readonly, \$(VFS_READONLY_OBJ), "bin/readonly.$SHLIBEXT", VFS)
SMB_MODULE(vfs_cap, \$(VFS_CAP_OBJ), "bin/cap.$SHLIBEXT", VFS)
SMB_MODULE(vfs_shadow_copy2, \$(VFS_SHADOW_COPY2_OBJ), "bin/shadow_copy2.$SHLIBEXT", VFS)
SMB_MODULE(vfs_afsacl, \$(VFS_AFSACL_OBJ), "bin/afsacl.$SHLIBEXT", VFS)
SMB_MODULE(vfs_xattr_tdb, \$(VFS_XATTR_TDB_OBJ), "bin/xattr_tdb.$SHLIBEXT", VFS)
+SMB_MODULE(vfs_nfs4acl_xattr, \$(VFS_XATTR_TDB_OBJ), "bin/nfs4acl_xattr.$SHLIBEXT", VFS)
SMB_MODULE(vfs_posixacl, \$(VFS_POSIXACL_OBJ), "bin/posixacl.$SHLIBEXT", VFS)
SMB_MODULE(vfs_aixacl, \$(VFS_AIXACL_OBJ), "bin/aixacl.$SHLIBEXT", VFS)
SMB_MODULE(vfs_aixacl2, \$(VFS_AIXACL2_OBJ), "bin/aixacl2.$SHLIBEXT", VFS)
SMB_MODULE(vfs_solarisacl, \$(VFS_SOLARISACL_OBJ), "bin/solarisacl.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_irixacl, \$(VFS_IRIXACL_OBJ), "bin/irixacl.$SHLIBEXT", VFS)
SMB_MODULE(vfs_hpuxacl, \$(VFS_HPUXACL_OBJ), "bin/hpuxacl.$SHLIBEXT", VFS)
SMB_MODULE(vfs_tru64acl, \$(VFS_TRU64ACL_OBJ), "bin/tru64acl.$SHLIBEXT", VFS)
SMB_MODULE(vfs_catia, \$(VFS_CATIA_OBJ), "bin/catia.$SHLIBEXT", VFS)
SMB_MODULE(vfs_prealloc, \$(VFS_PREALLOC_OBJ), "bin/prealloc.$SHLIBEXT", VFS)
SMB_MODULE(vfs_commit, \$(VFS_COMMIT_OBJ), "bin/commit.$SHLIBEXT", VFS)
SMB_MODULE(vfs_gpfs, \$(VFS_GPFS_OBJ), "bin/gpfs.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_gpfs_hsm_notify, \$(VFS_GPFS_PREFETCH_OBJ), "bin/gpfs_hsm_notify.$SHLIBEXT", VFS)
SMB_MODULE(vfs_readahead, \$(VFS_READAHEAD_OBJ), "bin/readahead.$SHLIBEXT", VFS)
SMB_MODULE(vfs_tsmsm, \$(VFS_TSMSM_OBJ), "bin/tsmsm.$SHLIBEXT", VFS)
SMB_MODULE(vfs_fileid, \$(VFS_FILEID_OBJ), "bin/fileid.$SHLIBEXT", VFS)
SMB_MODULE(vfs_aio_fork, \$(VFS_AIO_FORK_OBJ), "bin/aio_fork.$SHLIBEXT", VFS)
SMB_MODULE(vfs_aio_pthread, \$(VFS_AIO_PTHREAD_OBJ), "bin/aio_pthread.$SHLIBEXT", VFS)
+SMB_MODULE(vfs_aio_posix, \$(VFS_AIO_POSIX_OBJ), "bin/aio_posix.$SHLIBEXT", VFS)
SMB_MODULE(vfs_aio_linux, \$(VFS_AIO_LINUX_OBJ), "bin/aio_linux.$SHLIBEXT", VFS)
SMB_MODULE(vfs_preopen, \$(VFS_PREOPEN_OBJ), "bin/preopen.$SHLIBEXT", VFS)
SMB_MODULE(vfs_syncops, \$(VFS_SYNCOPS_OBJ), "bin/syncops.$SHLIBEXT", VFS)
SMB_MODULE(vfs_crossrename, \$(VFS_CROSSRENAME_OBJ), "bin/crossrename.$SHLIBEXT", VFS)
SMB_MODULE(vfs_linux_xfs_sgid, \$(VFS_LINUX_XFS_SGID_OBJ), "bin/linux_xfs_sgid.$SHLIBEXT", VFS)
SMB_MODULE(vfs_time_audit, \$(VFS_TIME_AUDIT_OBJ), "bin/time_audit.$SHLIBEXT", VFS)
+SMB_MODULE(vfs_media_harmony, \$(VFS_MEDIA_HARMONY_OBJ), "bin/media_harmony.$SHLIBEXT", VFS)
+SMB_MODULE(vfs_btrfs, \$(VFS_BTRFS_OBJ), "bin/btrfs.$SHLIBEXT", VFS)
+SMB_MODULE(vfs_ceph, \$(VFS_CEPH_OBJ), "bin/ceph.$SHLIBEXT", VFS)
SMB_SUBSYSTEM(VFS,smbd/vfs.o)
#################################################
# If run from the build farm, enable NASTY hacks
#################################################
-AC_MSG_CHECKING(whether to enable build farm hacks)
-if test x"$RUN_FROM_BUILD_FARM" = x"yes"; then
+AC_MSG_CHECKING(whether to enable features for selftest)
+if test x"$selftest" = x"yes"; then
AC_MSG_RESULT(yes)
- AC_DEFINE(ENABLE_BUILD_FARM_HACKS, 1, [Defined if running in the build farm])
+ AC_DEFINE(ENABLE_SELFTEST, 1, [Support features needed for selftest])
+ if test x"$selftest_possible" != xyes; then
+ AC_MSG_ERROR(selftest support only possible with python, including development headers, and perl installed)
+ fi
else
AC_MSG_RESULT(no)
fi
m4_include(../lib/zlib/zlib.m4)
-if test x$smbtorture4_possible = xyes; then
- SMBTORTURE4="bin/smbtorture4"
- AC_SUBST(SMBTORTURE4)
-fi
-
AC_SUBST(ZLIB_LIBS)
AC_SUBST(ZLIB_OBJS)
AC_ZLIB([ZLIB_OBJS=""], [
if test x"$with_ldap_support" != x"no"; then
AC_MSG_RESULT([ LDAP_LIBS = $LDAP_LIBS])
fi
-if test x"$with_dnsupdate_support" != x"no"; then
- AC_MSG_RESULT([ UUID_LIBS = $UUID_LIBS])
-fi
if test x"$have_dnssd_support" != x"no"; then
AC_MSG_RESULT([ DNSSD_LIBS = $DNSSD_LIBS])
fi
])
AC_OUTPUT(Makefile
- script/findsmb smbadduser script/gen-8bit-gap.sh script/installbin.sh script/uninstallbin.sh
+ script/findsmb smbadduser script/installbin.sh script/uninstallbin.sh
lib/netapi/examples/Makefile
lib/netapi/tests/Makefile
pkgconfig/smbclient.pc