dnspython: Update to newer upstream snapshot.
[samba.git] / source3 / configure.in
index d8bf5543876a6f06b3943f70e1ba4fbe3fb5a0df..5f81a193ca8ed5e0fb9f48bc5ce11d010ee3308f 100644 (file)
@@ -121,7 +121,6 @@ fi
 
 m4_include(../lib/socket_wrapper/config.m4)
 m4_include(../lib/nss_wrapper/config.m4)
-m4_include(../lib/util/time.m4)
 
 m4_include(m4/swat.m4)
 
@@ -198,7 +197,7 @@ AC_ARG_WITH(profiling-data,
 )
 
 dnl Checks for programs.
-merged_build_possible=yes
+smbtorture4_possible=yes
 
 AC_PROG_INSTALL
 AC_PROG_AWK
@@ -208,11 +207,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)
 
@@ -223,7 +222,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'`
@@ -460,6 +459,8 @@ default_shared_modules="$default_shared_modules vfs_catia"
 default_shared_modules="$default_shared_modules vfs_scannedonly"
 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 idmap_autorid"
 
 if test "x$developer" = xyes; then
    default_static_modules="$default_static_modules rpc_rpcecho pdb_ads"
@@ -760,6 +761,13 @@ CPPFLAGS="$old_CPPFLAGS"
 # subdirectory of headers.
 AC_CHECK_HEADERS(valgrind.h valgrind/valgrind.h valgrind/memcheck.h)
 
+if test x"$enable_developer" = x"yes" ; then
+   if test x"$ac_cv_header_valgrind_h" = xyes -o \
+           x"$ac_cv_header_valgrind_valgrind_h" = xyes ; then
+      AC_DEFINE(VALGRIND,1,[Whether we have valgrind headers])
+   fi
+fi
+
 #
 # HPUX has a bug in that including shadow.h causes a re-definition of MAXINT.
 # This causes configure to fail to detect it. Check for shadow separately on HPUX.
@@ -828,7 +836,7 @@ if test x$enable_cups != xno; then
                        # dendencies including thread libraries - use cups-config only if really
                        # required. 
                        AC_CHECK_LIB_EXT(cups, ac_save_PRINT_LIBS , httpConnect,
-                               [PRINT_LIBS"$ac_save_PRINT_LIBS -lcups"],
+                               [PRINT_LIBS="$ac_save_PRINT_LIBS -lcups"],
                                [AC_MSG_WARN([your cups library doesn't link with -lcups alone, it might be underlinked.]) ;
                                 PRINT_LIBS="$ac_save_PRINT_LIBS `$CUPS_CONFIG --libs`"])
 
@@ -1728,7 +1736,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
@@ -1978,7 +1988,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])
@@ -2123,7 +2133,7 @@ AC_ARG_ENABLE(external_libtdb,
 
 if test "x$enable_external_libtdb" != xno
 then
-       PKG_CHECK_MODULES(LIBTDB, tdb >= 1.2.2,
+       PKG_CHECK_MODULES(LIBTDB, tdb >= 1.2.6,
                [ enable_external_libtdb=yes ],
                [
                if test x$enable_external_libtdb = xyes; then
@@ -2153,6 +2163,8 @@ then
        AC_SUBST(TDBBACKUP)
        TDBDUMP="bin/tdbdump\$(EXEEXT)"
        AC_SUBST(TDBDUMP)
+       TDBRESTORE="bin/tdbrestore\$(EXEEXT)"
+       AC_SUBST(TDBRESTORE)
        TDBTOOL="bin/tdbtool\$(EXEEXT)"
        AC_SUBST(TDBTOOL)
        TDBTORTURE="bin/tdbtorture\$(EXEEXT)"
@@ -2209,6 +2221,31 @@ if test x"$samba_cv_SIZEOF_TIME_T" = x"yes"; then
     AC_DEFINE(SIZEOF_TIME_T,8,[The size of the 'time_t' type])
 fi
 
+AC_CACHE_CHECK([for TIME_T_MAX],samba_cv_TIME_T_MAX,[
+AC_TRY_RUN([#include <time.h>
+main() {
+       struct tm *tm;
+       if (sizeof(time_t) == 8) {
+               time_t max_time = 0x7fffffffffffffffll;
+               tm = gmtime(&max_time);
+               /* This should fail with 32-bit tm_year. */
+               if (tm == NULL) {
+                       /* Max time_t that works with 32-bit int tm_year in struct tm. */
+                       max_time = 67768036191676799ll;
+                       tm = gmtime(&max_time);
+                       if (tm) {
+                               exit(0);
+                       }
+               }
+       }
+       exit(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_DEFINE(TIME_T_MAX,67768036191676799ll,[The maximum value of the 'time_t' type])
+fi
+
+
 AC_CACHE_CHECK([for 64 bit off_t],samba_cv_SIZEOF_OFF_T,[
 AC_TRY_RUN([#include <stdio.h>
 #include <sys/stat.h>
@@ -2369,23 +2406,8 @@ if test x"$samba_cv_HAVE_FUNCTION_MACRO" = x"yes"; then
     AC_DEFINE(HAVE_FUNCTION_MACRO,1,[Whether there is a __FUNCTION__ macro])
 fi
 
-
-if test x"$samba_cv_WITH_PROFILE" = x"yes"; then
-
-    # On some systems (eg. Linux) librt can pull in libpthread. We
-    # don't want this to happen because libpthreads changes signal delivery
-    # semantics in ways we are not prepared for. This breaks Linux oplocks
-    # which rely on signals.
-
-    AC_LIBTESTFUNC(rt, clock_gettime,
-           [
-                           AC_DEFINE(HAVE_CLOCK_GETTIME, 1,
-                               [Whether clock_gettime is available])
-                           SMB_CHECK_CLOCK_ID(CLOCK_MONOTONIC)
-                           SMB_CHECK_CLOCK_ID(CLOCK_PROCESS_CPUTIME_ID)
-                           SMB_CHECK_CLOCK_ID(CLOCK_REALTIME)
-                       ])
-
+if test x"$libreplace_cv_HAVE_CLOCK_GETTIME_IN_LIBRT" = xyes ; then
+       LIBS="$LIBS -lrt"
 fi
 
 AC_CACHE_CHECK([for broken readdir name],samba_cv_HAVE_BROKEN_READDIR_NAME,[
@@ -3721,18 +3743,6 @@ if test x"$with_ads_support" != x"no"; then
     CPPFLAGS=$ac_save_CPPFLAGS
     LDFLAGS=$ac_save_LDFLAGS
   fi
-  AC_CHECK_HEADERS([krb5/locate_plugin.h], [], [],
-[[#ifdef HAVE_KRB5_H
- #include <krb5.h>
- #endif
-]])
-
-  if test x"$ac_cv_header_krb5_locate_plugin_h" = x"yes"; then
-       WINBIND_KRB5_LOCATOR="bin/winbind_krb5_locator.$SHLIBEXT"
-       if test x"$BLDSHARED" = x"true" ; then
-               EXTRA_ALL_TARGETS="$EXTRA_ALL_TARGETS $WINBIND_KRB5_LOCATOR"
-       fi
-  fi
 
   # check for new heimdal KRB5_DEPRECATED handling
 
@@ -4400,7 +4410,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)
@@ -6282,6 +6292,20 @@ if test x"$HAVE_WINBIND" = x"yes"; then
                INSTALL_PAM_MODULES="installpammodules"
                UNINSTALL_PAM_MODULES="uninstallpammodules"
        fi
+
+       # we use winbind, check for krb5 locate_plugin support:
+       AC_CHECK_HEADERS([krb5/locate_plugin.h], [], [],
+               [[#ifdef HAVE_KRB5_H
+                #include <krb5.h>
+                #endif
+       ]])
+       if test x"$ac_cv_header_krb5_locate_plugin_h" = x"yes"; then
+               WINBIND_KRB5_LOCATOR="bin/winbind_krb5_locator.$SHLIBEXT"
+               if test x"$BLDSHARED" = x"true" ; then
+                       EXTRA_ALL_TARGETS="$EXTRA_ALL_TARGETS $WINBIND_KRB5_LOCATOR"
+               fi
+       fi
+       # end of krb5 locate_plugin check
 else
         AC_MSG_RESULT(no$winbind_no_reason)
 fi
@@ -6675,20 +6699,20 @@ 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_LSA_OBJ), "bin/librpc_lsarpc.$SHLIBEXT", RPC)
-SMB_MODULE(rpc_winreg, \$(RPC_REG_OBJ), "bin/librpc_winreg.$SHLIBEXT", RPC)
+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_WKS_OBJ), "bin/librpc_wkssvc.$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_NETLOG_OBJ), "bin/librpc_NETLOGON.$SHLIBEXT", RPC)
-SMB_MODULE(rpc_netdfs, \$(RPC_DFS_OBJ), "bin/librpc_netdfs.$SHLIBEXT", RPC)
-SMB_MODULE(rpc_srvsvc, \$(RPC_SVC_OBJ), "bin/librpc_svcsvc.$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_ECHO_OBJ), "bin/librpc_rpcecho.$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)
@@ -6697,6 +6721,7 @@ SMB_MODULE(idmap_tdb2, winbindd/idmap_tdb2.o, "bin/tdb2.$SHLIBEXT", IDMAP)
 SMB_MODULE(idmap_passdb, winbindd/idmap_passdb.o, "bin/passdb.$SHLIBEXT", IDMAP)
 SMB_MODULE(idmap_nss, winbindd/idmap_nss.o, "bin/nss.$SHLIBEXT", IDMAP)
 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_hash, \$(IDMAP_HASH_OBJ), "bin/hash.$SHLIBEXT", IDMAP)
 SMB_MODULE(idmap_adex, \$(IDMAP_ADEX_OBJ), "bin/adex.$SHLIBEXT", IDMAP)
@@ -6768,6 +6793,7 @@ 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_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_SUBSYSTEM(VFS,smbd/vfs.o)
 
@@ -6872,30 +6898,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"