X-Git-Url: http://git.samba.org/samba.git/?p=sfrench%2Fsamba-autobuild%2F.git;a=blobdiff_plain;f=source3%2Fconfigure.in;h=82cd664165dd1a9e297472858b64f027e821a00f;hp=f5a39ad79f8510c3704b69fe19d0b98da6d91551;hb=7e8f086798c36f64581ed7444df535e85fa0b5af;hpb=5e0130c51e7b82ed82f08d5089cf7cbdbc6b3142 diff --git a/source3/configure.in b/source3/configure.in index f5a39ad79f8..82cd664165d 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -6,7 +6,7 @@ AC_PREREQ(2.54) AC_INIT([Samba],[3],[samba-technical@samba.org]) AC_CONFIG_SRCDIR([include/includes.h]) -AC_CONFIG_HEADER(include/config.h) +AC_CONFIG_HEADER(include/autoconf/config.h) AC_DEFINE(CONFIG_H_IS_FROM_SAMBA,1,[Marker for samba's config.h]) case "$PATH" in @@ -34,10 +34,9 @@ done AC_SUBST(LIBTEVENT_OBJ0) LIBS="${LIBS} ${TEVENT_LIBS}" -SAMBA_CPPFLAGS="-Iinclude -I${srcdir-.}/include -I. -I${srcdir-.}" +SAMBA_CPPFLAGS="-Iinclude/autoconf -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} -I${srcdir-.}/libaddns" SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/librpc" SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/.." @@ -197,7 +196,7 @@ AC_ARG_WITH(profiling-data, ) dnl Checks for programs. -merged_build_possible=yes +smbtorture4_possible=yes AC_PROG_INSTALL AC_PROG_AWK @@ -207,11 +206,11 @@ AC_SAMBA_GNU_MAKE([true], [true]) # Check for perl m4_include(../m4/check_perl.m4) -AC_SAMBA_PERL([true], [merged_build_possible=no]) +AC_SAMBA_PERL([true], [smbtorture4_possible=no]) # Check for python m4_include(../m4/check_python.m4) -AC_SAMBA_PYTHON_DEVEL([true], [merged_build_possible=no]) +AC_SAMBA_PYTHON_DEVEL([true], [smbtorture4_possible=no]) AC_CHECK_TOOL(AR, ar) @@ -222,7 +221,7 @@ dnl Certain versions of GNU ld the default is not to have the 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>/dev/null | head -1` + ac_cv_gnu_ld_version=`$CC -Wl,-v /dev/null 2>&1 < /dev/null | grep "GNU ld"` 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'` @@ -426,7 +425,6 @@ default_static_modules="$default_static_modules auth_wbc" default_static_modules="$default_static_modules auth_server" default_static_modules="$default_static_modules auth_domain" default_static_modules="$default_static_modules auth_builtin" -default_static_modules="$default_static_modules auth_netlogond" default_static_modules="$default_static_modules vfs_default" default_static_modules="$default_static_modules nss_info_template" @@ -464,6 +462,7 @@ default_shared_modules="$default_shared_modules idmap_autorid" 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 charset_weird perfcount_test" fi @@ -519,6 +518,8 @@ case "$host_os" in AC_MSG_RESULT([no large file support]) ;; 5.*) + LDFLAGS="$LDFLAGS -lthread" + CPPFLAGS="$CPPFLAGS -D_REENTRANT" AC_MSG_RESULT([enabling large file support]) if test "$ac_cv_prog_gcc" = yes; then ${CC-cc} -v >conftest.c 2>&1 @@ -526,20 +527,17 @@ case "$host_os" in rm -fr conftest.c case "$ac_cv_gcc_compiler_version_number" in *"gcc version 2.6"*|*"gcc version 2.7"*) - CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE -D_REENTRANT" - LDFLAGS="$LDFLAGS -lthread" + CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE" AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to enable large file support]) ;; *) - CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE -D_REENTRANT -D_FILE_OFFSET_BITS=64" - LDFLAGS="$LDFLAGS -lthread" + CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to enable large file support]) AC_DEFINE(_FILE_OFFSET_BITS, 64, [File offset bits]) ;; esac else - CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE -D_REENTRANT -D_FILE_OFFSET_BITS=64" - LDFLAGS="$LDFLAGS -lthread" + CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to enable large file support]) AC_DEFINE(_FILE_OFFSET_BITS, 64, [File offset bits]) fi @@ -741,6 +739,7 @@ AC_CHECK_HEADERS(sys/syslog.h syslog.h) AC_CHECK_HEADERS(langinfo.h locale.h) AC_CHECK_HEADERS(xfs/libxfs.h) AC_CHECK_HEADERS(netgroup.h) +AC_CHECK_HEADERS(linux/falloc.h) AC_CHECK_HEADERS(rpcsvc/yp_prot.h,,,[[ #if HAVE_RPC_RPC_H @@ -950,29 +949,6 @@ if test x"$samba_cv_struct_sigevent" = x"yes"; then [#include ]) fi -AC_CACHE_CHECK([for struct timespec type],samba_cv_struct_timespec, [ - AC_TRY_COMPILE([ -#include -#if STDC_HEADERS -#include -#include -#endif -#if TIME_WITH_SYS_TIME -# include -# include -#else -# if HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif -],[struct timespec ts;], - samba_cv_struct_timespec=yes,samba_cv_struct_timespec=no)]) -if test x"$samba_cv_struct_timespec" = x"yes"; then - AC_DEFINE(HAVE_STRUCT_TIMESPEC,1,[Whether we have struct timespec]) -fi - # and glibc has setresuid under linux but the function does # nothing until kernel 2.1.44! very dumb. AC_CACHE_CHECK([for real setresuid],samba_cv_have_setresuid,[ @@ -1092,11 +1068,14 @@ AC_CHECK_FUNCS(getrlimit fsync setpgid) AC_CHECK_FUNCS(fdatasync,,[AC_CHECK_LIB_EXT(rt, LIBS, fdatasync)]) AC_CHECK_FUNCS(setsid glob strpbrk crypt16 getauthuid) AC_CHECK_FUNCS(sigprocmask sigblock sigaction sigset innetgr setnetgrent getnetgrent endnetgrent) -AC_CHECK_FUNCS(initgroups select poll rdchk getgrnam getgrent pathconf) +AC_CHECK_FUNCS(initgroups select rdchk getgrnam getgrent pathconf) +AC_CHECK_FUNCS(getgrset) AC_CHECK_FUNCS(setpriv setgidx setuidx setgroups sysconf stat64 fstat64) AC_CHECK_FUNCS(lstat64 fopen64 atexit grantpt lseek64 ftruncate64 posix_fallocate posix_fallocate64) +AC_CHECK_FUNCS(fallocate fallocate64) AC_CHECK_FUNCS(fseek64 fseeko64 ftell64 ftello64 setluid getpwanam) AC_CHECK_FUNCS(opendir64 readdir64 seekdir64 telldir64 rewinddir64 closedir64) +AC_CHECK_FUNCS(fdopendir fdopendir64) AC_CHECK_FUNCS(getpwent_r) AC_CHECK_FUNCS(getdents64) AC_CHECK_FUNCS(setenv strcasecmp fcvt fcvtl) @@ -1138,6 +1117,7 @@ AC_CHECK_HEADERS(gpfs_gpl.h) 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 ############################################# @@ -1431,6 +1411,14 @@ AC_CHECK_LIB(resolv, dn_expand) AC_CHECK_LIB(resolv, _dn_expand) AC_CHECK_LIB(resolv, __dn_expand) +AC_TRY_COMPILE([#include ], + [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 + # # Check for the functions putprpwnam, set_auth_parameters, # getspnam, bigcrypt and getprpwnam in -lsec and -lsecurity @@ -1736,7 +1724,9 @@ DSO_EXPORTS="" BLDSHARED="true" LDSHFLAGS="-shared" SONAMEFLAG="-Wl,-soname," - PICFLAG="-fPIC" + 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 @@ -1986,7 +1976,7 @@ if test x"$BLDSHARED" != x"true"; then SHLD="shared-libraries-disabled" PICFLAG="${PIE_CFLAGS}" SHLIBEXT="shared_libraries_disabled" - merged_build_possible=no + smbtorture4_possible=no fi AC_MSG_CHECKING([used PICFLAG]) @@ -2169,7 +2159,7 @@ then AC_SUBST(TDBTORTURE) ac_cv_have_tdb_err_nesting=yes else - AC_TRY_COMPILE([#include "tdb.h"], + AC_TRY_COMPILE([#include ], [enum TDB_ERROR err = TDB_ERR_NESTING], ac_cv_have_tdb_err_nesting=yes, ac_cv_have_tdb_err_nesting=no) @@ -2561,6 +2551,39 @@ fi fi # end utmp details +AC_CACHE_CHECK([for linux fallocate],samba_cv_HAVE_LINUX_FALLOCATE,[ +AC_TRY_COMPILE([ +#if defined(HAVE_UNISTD_H) +#include +#endif +#include +#define _GNU_SOURCE +#include +#if defined(HAVE_LINUX_FALLOC_H) +#include +#endif], +[int ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0, 10);], +samba_cv_HAVE_LINUX_FALLOCATE=yes,samba_cv_HAVE_LINUX_FALLOCATE=no)]) +if test x"$samba_cv_HAVE_LINUX_FALLOCATE" = x"yes" && test x"$ac_cv_func_fallocate" = x"yes"; then + AC_DEFINE(HAVE_LINUX_FALLOCATE,1,[Whether the Linux 'fallocate' function is available]) +fi + +AC_CACHE_CHECK([for linux fallocate64],samba_cv_HAVE_LINUX_FALLOCATE64,[ +AC_TRY_COMPILE([ +#if defined(HAVE_UNISTD_H) +#include +#endif +#include +#define _GNU_SOURCE +#include +#if defined(HAVE_LINUX_FALLOC_H) +#include +#endif], +[int ret = fallocate64(0, FALLOC_FL_KEEP_SIZE, 0, 10);], +samba_cv_HAVE_LINUX_FALLOCATE64=yes,samba_cv_HAVE_LINUX_FALLOCATE64=no)]) +if test x"$samba_cv_HAVE_LINUX_FALLOCATE64" = x"yes" && test x"$ac_cv_func_fallocate64" = x"yes"; then + AC_DEFINE(HAVE_LINUX_FALLOCATE64,1,[Whether the Linux 'fallocate64' function is available]) +fi ICONV_LOOK_DIRS="/usr /usr/local /sw /opt" AC_ARG_WITH(libiconv, @@ -3556,16 +3579,16 @@ else # Check to see whether there is enough LDAP functionality to be able # to build AD support. -# HPUX only has ldap_init; ok, we take care of this in smbldap.c +# HPUX and Solaris only has ldap_init; ok, we take care of this in smbldap.c case "$host_os" in - *hpux*) + *hpux* | *solaris*) AC_CHECK_FUNC_EXT(ldap_init,$LDAP_LIBS) if test x"$ac_cv_func_ext_ldap_init" != x"yes"; then if test x"$with_ads_support" = x"yes"; then - AC_MSG_ERROR(Active Directory support on HPUX requires ldap_init) + AC_MSG_ERROR(Active Directory support on HPUX or Solaris requires ldap_init) elif test x"$with_ads_support" = x"auto"; then - AC_MSG_WARN(Disabling Active Directory support (requires ldap_init on HPUX)) + AC_MSG_WARN(Disabling Active Directory support (requires ldap_init on HPUX or Solaris)) with_ads_support=no fi fi @@ -3615,7 +3638,6 @@ if test x"$with_ads_support" != x"no"; then ;; yes) AC_MSG_RESULT(/usr) - FOUND_KRB5=yes ;; *) AC_MSG_RESULT($withval) @@ -3704,6 +3726,21 @@ if test x"$with_ads_support" != x"no"; then fi fi + if test x$FOUND_KRB5 = x"no"; then + ################################################# + # see if this box has Solaris MIT kerberos implementation + AC_MSG_CHECKING(for Solaris MIT kerberos) + if test -x "$KRB5CONFIG" && $KRB5CONFIG --version | grep -s Solaris | grep -s MIT > /dev/null ; then + FOUND_KRB5=yes + KRB5_LIBS="-lgss -lkrb5" + KRB5_CFLAGS="`$KRB5CONFIG --cflags`" + KRB5_CPPFLAGS="`$KRB5CONFIG --cflags`" + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + fi + fi + ac_save_CFLAGS=$CFLAGS ac_save_CPPFLAGS=$CPPFLAGS ac_save_LDFLAGS=$LDFLAGS @@ -3768,7 +3805,7 @@ if test x"$with_ads_support" != x"no"; then # now check for gssapi headers. This is also done here to allow for # different kerberos include paths - AC_CHECK_HEADERS(gssapi.h gssapi/gssapi_generic.h gssapi/gssapi.h gssapi/gssapi_ext.h com_err.h) + AC_CHECK_HEADERS(gssapi.h gssapi/gssapi_generic.h gssapi/gssapi.h gssapi/gssapi_ext.h gssapi/gssapi_krb5.h com_err.h) ################################################################## # we might need the k5crypto and com_err libraries on some systems @@ -3793,6 +3830,7 @@ if test x"$with_ads_support" != x"no"; then # now see if we can find the gssapi libs in standard paths if test x"$have_gssapi" != x"yes"; then AC_CHECK_LIB_EXT(gssapi_krb5, KRB5_LIBS,gss_display_status,[],[],have_gssapi=yes) + AC_CHECK_LIB_EXT(gss, KRB5_LIBS,gss_display_status,[],[],have_gssapi=yes) AC_CHECK_FUNC_EXT(gss_wrap_iov, $KRB5_LIBS) fi @@ -3845,6 +3883,11 @@ if test x"$with_ads_support" != x"no"; then AC_CHECK_FUNC_EXT(krb5_get_credentials_for_user, $KRB5_LIBS) AC_CHECK_FUNC_EXT(krb5_get_host_realm, $KRB5_LIBS) AC_CHECK_FUNC_EXT(krb5_free_host_realm, $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_mech_krb5, $KRB5_LIBS) + AC_CHECK_FUNC_EXT(gss_oid_equal, $KRB5_LIBS) + AC_CHECK_FUNC_EXT(gss_inquire_sec_context_by_oid, $KRB5_LIBS) # MIT krb5 1.8 does not expose this call (yet) AC_CHECK_DECLS(krb5_get_credentials_for_user, [], [], [#include ]) @@ -4408,7 +4451,7 @@ LIBS="$ac_save_LIBS" fi if test x"$use_ads" != xyes; then - merged_build_possible=no + smbtorture4_possible=no fi AC_CHECK_LIB_EXT(nscd, NSCD_LIBS, nscd_flush_cache) @@ -5384,11 +5427,20 @@ if test x"$samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT" = x"yes"; then fi AC_MSG_RESULT([$samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT]) + ################################################# # check for cluster extensions -CTDB_CFLAGS="" -AC_SUBST(CTDB_CFLAGS) +AC_MSG_CHECKING(cluster support) +AC_ARG_WITH(cluster-support, +[AS_HELP_STRING([--with-cluster-support], [Enable cluster extensions (default=auto)])]) + +if test x"$with_cluster_support" = x ; then + with_cluster_support="auto" +fi + +AC_MSG_RESULT($with_cluster_support) + AC_ARG_WITH(ctdb, [AS_HELP_STRING([--with-ctdb=DIR], [Where to find ctdb sources])], [ case "$withval" in @@ -5400,9 +5452,21 @@ AC_ARG_WITH(ctdb, ;; esac]) +AC_ARG_ENABLE(old-ctdb, + [AS_HELP_STRING([--enable-old-ctdb], + [Enable build against (too) old ctdb version (default=no)])],, + [enable_old_ctdb=no]) + + +if test "$with_cluster_support" != "no" ; then + +AC_MSG_NOTICE(checking whether cluster support is available) + +have_cluster_support="yes" +ctdb_broken="no" + SAVED_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS ${SAMBA_CONFIGURE_CPPFLAGS} $CTDB_CPPFLAGS" -ctdb_broken="missing or broken headers" AC_CHECK_HEADERS(ctdb.h ctdb_private.h,,,[ #include "confdefs.h" @@ -5416,99 +5480,150 @@ AC_CHECK_HEADERS(ctdb.h ctdb_private.h,,,[ #include ]) -AC_HAVE_DECL(CTDB_CONTROL_TRANS3_COMMIT,[ -#include "confdefs.h" -#define NO_CONFIG_H -#include "replace.h" -#include "system/wait.h" -#include "system/network.h" -#include -#include -#include -#include -]) -if test x"$ac_cv_have_CTDB_CONTROL_TRANS3_COMMIT_decl" = x"yes"; then - ctdb_broken=no -else - ctdb_broken="ctdb transaction support missing or too old" +if test "x$have_cluster_support" = "xyes" -a \ + "x$ac_cv_header_ctdb_h" != "xyes" +then + have_cluster_support=no + ctdb_broken="ctdb.h is required for cluster support" fi -# in ctdb 1.0.57 ctdb_control_tcp was temparary renamed to ctdb_tcp_client -AC_CHECK_TYPE(struct ctdb_tcp_client,[ - AC_DEFINE([ctdb_control_tcp],[ctdb_tcp_client],[ctdb ipv4 support]) -],,[ -#include "confdefs.h" -#define NO_CONFIG_H -#include "replace.h" -#include "system/wait.h" -#include "system/network.h" -#include -#include -#include -#include -]) - -AC_CHECK_TYPE(struct ctdb_control_tcp,[ - AC_DEFINE([HAVE_STRUCT_CTDB_CONTROL_TCP],[1],[ctdb ipv4 support]) -],[ - ctdb_broken="missing struct ctdb_control_tcp" -],[ -#include "confdefs.h" -#define NO_CONFIG_H -#include "replace.h" -#include "system/wait.h" -#include "system/network.h" -#include -#include -#include -#include -]) +if test "x$have_cluster_support" = "xyes" -a \ + "x$ac_cv_header_ctdb_h" != "xyes" +then + have_cluster_support=no + ctdb_broken="ctdb_private.h is required for cluster support" +fi + + +if test "x$have_cluster_support" = "xyes" ; then + AC_HAVE_DECL(CTDB_CONTROL_TRANS3_COMMIT,[ + #include "confdefs.h" + #define NO_CONFIG_H + #include "replace.h" + #include "system/wait.h" + #include "system/network.h" + #include + #include + #include + #include + ]) + if test x"$ac_cv_have_CTDB_CONTROL_TRANS3_COMMIT_decl" != x"yes"; then + ctdb_broken="ctdb transaction support missing or too old" + have_cluster_support=no + fi +fi -AC_CHECK_TYPE(struct ctdb_control_tcp_addr,[ - AC_DEFINE([HAVE_STRUCT_CTDB_CONTROL_TCP_ADDR],[1],[ctdb ipv6 support]) -],,[ -#include "confdefs.h" -#define NO_CONFIG_H -#include "replace.h" -#include "system/wait.h" -#include "system/network.h" -#include -#include -#include -#include -]) -CPPFLAGS="$SAVED_CPPFLAGS" +if test "x$have_cluster_support" = "xyes" ; then + AC_HAVE_DECL(CTDB_CONTROL_SCHEDULE_FOR_DELETION,[ + #include "confdefs.h" + #define NO_CONFIG_H + #include "replace.h" + #include "system/wait.h" + #include "system/network.h" + #include + #include + #include + #include + ]) + if test x"$ac_cv_have_CTDB_CONTROL_SCHEDULE_FOR_DELETION_decl" != x"yes" + then + if test "x$enable_old_ctdb" = "xyes" ; then + AC_MSG_WARN([ignoring missing SCHEDULE_FOR_DELETION (--enable-old-ctdb)]) + else + ctdb_broken="support for SCHEDULE_FOR_DELETION control missing" + have_cluster_support=no + fi + fi +fi -AC_MSG_CHECKING(cluster support) -AC_ARG_WITH(cluster-support, -[AS_HELP_STRING([--with-cluster-support], [Enable cluster extensions (default=auto)])]) +if test "x$have_cluster_support" = "xyes" ; then + # In ctdb 1.0.57, ctdb_control_tcp was temporarily renamed + # to ctdb_tcp_client. + AC_CHECK_TYPE(struct ctdb_tcp_client,[ + AC_DEFINE([ctdb_control_tcp],[ctdb_tcp_client],[ctdb ipv4 support]) + ],,[ + #include "confdefs.h" + #define NO_CONFIG_H + #include "replace.h" + #include "system/wait.h" + #include "system/network.h" + #include + #include + #include + #include + ]) +fi -if test x"$with_cluster_support" = x ; then - with_cluster_support="auto" +if test "x$have_cluster_support" = "xyes" ; then + AC_CHECK_TYPE(struct ctdb_control_tcp,[ + AC_DEFINE([HAVE_STRUCT_CTDB_CONTROL_TCP],[1],[ctdb ipv4 support]) + ],[ + ctdb_broken="missing struct ctdb_control_tcp" + have_cluster_support=no + ],[ + #include "confdefs.h" + #define NO_CONFIG_H + #include "replace.h" + #include "system/wait.h" + #include "system/network.h" + #include + #include + #include + #include + ]) fi -if test x"$ac_cv_header_ctdb_private_h" != x"yes"; then - if test "x$with_cluster_support" = "xyes"; then - AC_MSG_ERROR("ctdb_private.h is required for cluster support") - fi - with_cluster_support=no +# test for optional ipv6 support in ctdb: +if test "x$have_cluster_support" = "xyes" ; then + AC_CHECK_TYPE(struct ctdb_control_tcp_addr,[ + AC_DEFINE([HAVE_STRUCT_CTDB_CONTROL_TCP_ADDR],[1],[ctdb ipv6 support]) + ],,[ + #include "confdefs.h" + #define NO_CONFIG_H + #include "replace.h" + #include "system/wait.h" + #include "system/network.h" + #include + #include + #include + #include + ]) fi -if test x"$ctdb_broken" != x"no"; then - if test "x$with_cluster_support" = "xyes"; then - AC_MSG_ERROR(["cluster support: $ctdb_broken"]) - fi +CPPFLAGS="$SAVED_CPPFLAGS" + +fi # (if test "$with_cluster_support" != "no") + +if test x"$have_cluster_support" = "xno" ; then + case "$with_cluster_support" in + yes) + AC_MSG_ERROR(["cluster support not available: $ctdb_broken"]) + ;; + auto) + AC_MSG_WARN(["cluster support not available: $ctdb_broken"]) + ;; + esac with_cluster_support=no fi if test "x$with_cluster_support" != "xno"; then AC_DEFINE(CLUSTER_SUPPORT,1,[Whether to enable cluster extensions]) SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${CTDB_CPPFLAGS}" - AC_MSG_RESULT(yes) + AC_MSG_NOTICE(Building with cluster support) else - AC_MSG_RESULT(no) + AC_MSG_NOTICE(Building without cluster support) fi + +################################################# +# check for rtnetlink + +AC_CHECK_HEADERS([linux/netlink.h], + AC_CHECK_HEADERS([linux/rtnetlink.h],[],[], + [#include + #include ]), + [],[#include ]) + ################################################# # check for ACL support @@ -5622,7 +5737,19 @@ else esac fi # with_acl_support - +################################################# +# check if we have FreeBSD sunacl +case "$host_os" in +*freebsd*) + AC_CHECK_HEADER(sunacl.h) + if test x"$ac_cv_header_sunacl_h" = xyes ; then + AC_DEFINE(HAVE_FREEBSD_SUNACL_H,1,[Whether we have FreeBSD sunacl around]) + ZFSACL_LIBS=-lsunacl + AC_SUBST(ZFSACL_LIBS) + default_shared_modules="$default_shared_modules vfs_zfsacl" + fi + ;; +esac ################################################# # check for AIO support @@ -6351,6 +6478,18 @@ if test x"$samba_cv_HAVE_PEERCRED" = x"yes"; then AC_DEFINE(HAVE_PEERCRED,1,[Whether we can use SO_PEERCRED to get socket credentials]) fi +AC_CACHE_CHECK([for getpeereid],samba_cv_HAVE_GETPEEREID,[ +AC_TRY_LINK([#include +#include ], +[uid_t uid; gid_t gid; int ret; + ret = getpeereid(0, &uid, &gid); +], +samba_cv_HAVE_GETPEEREID=yes,samba_cv_HAVE_GETPEEREID=no)]) +if test x"$samba_cv_HAVE_GETPEEREID" = xyes; then + AC_DEFINE(HAVE_GETPEEREID,1, + [Whether we have getpeereid to get socket credentials]) +fi + ################################################# # Check to see if we should use the included popt @@ -6535,7 +6674,9 @@ if test x"$enable_pthreadpool" = x"yes" -a x"$samba_cv_HAVE_PTHREAD" = x"yes"; t LIBS="$LIBS $PTHREAD_LDFLAGS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" AC_DEFINE(WITH_PTHREADPOOL, 1, [Whether to include pthreadpool helpers]) - AC_SUBST(PTHREADPOOL_OBJ, "lib/pthreadpool.o") + AC_SUBST(PTHREADPOOL_OBJ, "lib/pthreadpool/pthreadpool.o") + PTHREADPOOLTEST="bin/pthreadpooltest\$(EXEEXT)" + AC_SUBST(PTHREADPOOLTEST) fi ################################################# @@ -6576,7 +6717,7 @@ AC_SUBST(FLAGS1) ################################################### # Check for different/missing (set|get|end)netgrent prototypes CFLAGS_SAVE=$CFLAGS -if test x"$samba_cv_HAVE_Wdeclaration_after_statement" = x"yes"; then +if test x"$samba_cv_HAVE_Werror_implicit_function_declaration" = x"yes"; then CFLAGS="$CFLAGS -Werror-implicit-function-declaration" fi AC_CACHE_CHECK([for setnetgrent prototype],samba_cv_setnetgrent_prototype, [ @@ -6688,7 +6829,8 @@ if test x"$MODULE_DEFAULT_vfs_notify_fam" = xSTATIC -o \ AC_SUBST(SMBD_FAM_LIBS) fi -SMB_MODULE(pdb_ldap, passdb/pdb_ldap.o passdb/pdb_nds.o, "bin/ldapsam.$SHLIBEXT", PDB, +SMB_MODULE(pdb_ldap, passdb/pdb_ldap.o passdb/pdb_nds.o passdb/pdb_ipa.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) @@ -6696,23 +6838,6 @@ 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_SUBSYSTEM(PDB,passdb/pdb_interface.o) - -SMB_MODULE(rpc_lsarpc, \$(RPC_LSARPC_OBJ), "bin/librpc_lsarpc.$SHLIBEXT", RPC) -SMB_MODULE(rpc_winreg, \$(RPC_WINREG_OBJ), "bin/librpc_winreg.$SHLIBEXT", RPC) -SMB_MODULE(rpc_initshutdown, \$(RPC_INITSHUTDOWN_OBJ), "bin/librpc_initshutdown.$SHLIBEXT", RPC) -SMB_MODULE(rpc_dssetup, \$(RPC_DSSETUP_OBJ), "bin/librpc_dssetup.$SHLIBEXT", RPC) -SMB_MODULE(rpc_wkssvc, \$(RPC_WKSSVC_OBJ), "bin/librpc_wkssvc.$SHLIBEXT", RPC) -SMB_MODULE(rpc_svcctl, \$(RPC_SVCCTL_OBJ), "bin/librpc_svcctl.$SHLIBEXT", RPC) -SMB_MODULE(rpc_ntsvcs, \$(RPC_NTSVCS_OBJ), "bin/librpc_ntsvcs.$SHLIBEXT", RPC) -SMB_MODULE(rpc_netlogon, \$(RPC_NETLOGON_OBJ), "bin/librpc_NETLOGON.$SHLIBEXT", RPC) -SMB_MODULE(rpc_netdfs, \$(RPC_NETDFS_OBJ), "bin/librpc_netdfs.$SHLIBEXT", RPC) -SMB_MODULE(rpc_srvsvc, \$(RPC_SRVSVC_OBJ), "bin/librpc_svcsvc.$SHLIBEXT", RPC) -SMB_MODULE(rpc_spoolss, \$(RPC_SPOOLSS_OBJ), "bin/librpc_spoolss.$SHLIBEXT", RPC) -SMB_MODULE(rpc_eventlog, \$(RPC_EVENTLOG_OBJ), "bin/librpc_eventlog.$SHLIBEXT", RPC) -SMB_MODULE(rpc_samr, \$(RPC_SAMR_OBJ), "bin/librpc_samr.$SHLIBEXT", RPC) -SMB_MODULE(rpc_rpcecho, \$(RPC_RPCECHO_OBJ), "bin/librpc_rpcecho.$SHLIBEXT", RPC) -SMB_SUBSYSTEM(RPC,smbd/process.o) - SMB_MODULE(idmap_ldap, winbindd/idmap_ldap.o, "bin/ldap.$SHLIBEXT", IDMAP) SMB_MODULE(idmap_tdb, winbindd/idmap_tdb.o, "bin/tdb.$SHLIBEXT", IDMAP) SMB_MODULE(idmap_tdb2, winbindd/idmap_tdb2.o, "bin/tdb2.$SHLIBEXT", IDMAP) @@ -6774,6 +6899,7 @@ SMB_MODULE(vfs_cacheprime, \$(VFS_CACHEPRIME_OBJ), "bin/cacheprime.$SHLIBEXT", V 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) @@ -6896,30 +7022,9 @@ MSG fi -AC_ARG_ENABLE(merged-build, -[AS_HELP_STRING([--enable-merged-build], [Build Samba 4 as well])], -[ enable_merged_build=$enableval ], [ enable_merged_build=auto ]) - -if test x"$enable_merged_build" = x"yes" -a \ - x"$merged_build_possible" = x"no" ; then - AC_MSG_ERROR(Merged build required but not possible) -fi - m4_include(../lib/zlib/zlib.m4) -if test x$enable_merged_build = xauto; then - - AC_MSG_CHECKING([whether it would be possible to do a merged build]) - AC_MSG_RESULT([$merged_build_possible]) - - # Enable merged build automatically if possible, when in developer mode - if test "x$developer" = xyes; then - enable_merged_build=$merged_build_possible - fi -fi - -if test x$enable_merged_build = xyes; then - MERGED_BUILD=1 +if test x$smbtorture4_possible = xyes; then saved_USESHARED="$USESHARED" USESHARED="false" smbtorture4_path="bin/smbtorture4"