AC_LIBREPLACE_CC_CHECKS
-AC_ARG_ENABLE(external_libtalloc, [AS_HELP_STRING([--enable-external-libtalloc], [Enable external talloc [default=auto]])],
-[ enable_external_libtalloc=$enableval ], [ enable_external_libtalloc=auto ])
-
-if test "x$enable_external_libtalloc" != xno
-then
- PKG_CHECK_MODULES(TALLOC, talloc >= 1.3.0,
- [ enable_external_libtalloc=yes ],
- [ if test x$enable_external_libtalloc = xyes; then
- AC_MSG_ERROR([Unable to find libtalloc])
- else
- enable_external_libtalloc=no
- fi
- ])
-fi
-
-if test "x$enable_external_libtalloc" = xno
-then
- m4_include(../lib/talloc/libtalloc.m4)
-fi
-
-LIBTALLOC_OBJ0=""
-for obj in ${TALLOC_OBJ}; do
- LIBTALLOC_OBJ0="${LIBTALLOC_OBJ0} ${tallocdir}/${obj}"
-done
-AC_SUBST(LIBTALLOC_OBJ0)
-
m4_include(../lib/tevent/libtevent.m4)
LIBTEVENT_OBJ0=""
AC_SUBST(LIBTEVENT_OBJ0)
LIBS="${LIBS} ${TEVENT_LIBS}"
-# TODO: These should come from m4_include(lib/tdb/libtdb.m4)
-# but currently this fails: things have to get merged from s4.
-tdbdir="../lib/tdb"
-AC_SUBST(tdbdir)
-TDB_CFLAGS="-I${srcdir-.}/$tdbdir/include"
-AC_SUBST(TDB_CFLAGS)
-
-LIBTDB_OBJ0=""
-for o in common/tdb.o common/dump.o common/transaction.o common/error.o \
- common/traverse.o common/freelist.o common/freelistcheck.o \
- common/io.o common/lock.o common/open.o;
-do
- LIBTDB_OBJ0="$LIBTDB_OBJ0 $tdbdir/$o"
-done
-
-AC_SUBST(LIBTDB_OBJ0)
SAMBA_CPPFLAGS="-Iinclude -I${srcdir-.}/include -I. -I${srcdir-.}"
SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/../lib/replace"
-SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TALLOC_CFLAGS}"
SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TEVENT_CFLAGS}"
-SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TDB_CFLAGS}"
SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/libaddns"
SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/librpc"
SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/.."
AC_SUBST(LIBWBCLIENT_SHARED)
AC_SUBST(LIBWBCLIENT_STATIC_TARGET)
AC_SUBST(LIBWBCLIENT_STATIC)
-AC_SUBST(LIBWBCLIENT_TARGET)
AC_SUBST(LIBWBCLIENT_SOVER)
AC_SUBST(LIBWBCLIENT)
-AC_SUBST(WINBIND_LIBS)
+AC_SUBST(LIBWBCLIENT_LIBS)
AC_SUBST(LIBSAMBAUTIL_SHARED)
AC_SUBST(CIFSMOUNT_PROGS)
AC_SUBST(INSTALL_CIFSMOUNT)
AC_SUBST(UNINSTALL_CIFSMOUNT)
+AC_SUBST(CIFSUMOUNT_PROGS)
+AC_SUBST(INSTALL_CIFSUMOUNT)
+AC_SUBST(UNINSTALL_CIFSUMOUNT)
AC_SUBST(CIFSUPCALL_PROGS)
AC_SUBST(INSTALL_CIFSUPCALL)
AC_SUBST(UNINSTALL_CIFSUPCALL)
int main(void)
{
return 0;
- }],[-Wdeclaration-after-statement],[$CPPFLAGS],[$LDFLAGS],
+ }],[$CFLAGS -Wdeclaration-after-statement],[$CPPFLAGS],[$LDFLAGS],
samba_cv_HAVE_Wdeclaration_after_statement=yes,
samba_cv_HAVE_Wdeclaration_after_statement=no,
samba_cv_HAVE_Wdeclaration_after_statement=cross)
int main(void)
{
return 0;
- }],[-Werror-implicit-function-declaration],[$CPPFLAGS],[$LDFLAGS],
+ }],[$CFLAGS -Werror-implicit-function-declaration],[$CPPFLAGS],[$LDFLAGS],
samba_cv_HAVE_Werror_implicit_function_declaration=yes,
samba_cv_HAVE_Werror_implicit_function_declaration=no,
samba_cv_HAVE_Werror_implicit_function_declaration=cross)
fi
fi
-AC_ARG_ENABLE(dmalloc, [AS_HELP_STRING([--enable-dmalloc], [Enable heap debugging [default=no]])])
-
-if test "x$enable_dmalloc" = xyes
-then
- AC_DEFINE(ENABLE_DMALLOC, 1, [Define to turn on dmalloc debugging])
- AC_DEFINE(DMALLOC_FUNC_CHECK, 1,
- [Define to check invariants around some common functions])
- LIBS="$LIBS -ldmalloc"
-fi
-
#################################################
# check for a shared memory profiling support
AC_MSG_CHECKING(whether to use profiling)
else
AC_MSG_CHECKING(GNU ld release version)
changequote(,)dnl
- ac_cv_gnu_ld_vernr=`echo $ac_cv_gnu_ld_version | sed -n 's,^.*[^0-9\.]\+\([1-9][0-9]*\.[0-9][0-9]*\).*$,\1,p'`
+ ac_cv_gnu_ld_vernr=`echo $ac_cv_gnu_ld_version | sed -n 's,^[^0-9]*\([1-9][0-9]*\.[0-9][0-9]*\).*$,\1,p'`
ac_cv_gnu_ld_vernr_major=`echo $ac_cv_gnu_ld_vernr | cut -d '.' -f 1`
ac_cv_gnu_ld_vernr_minor=`echo $ac_cv_gnu_ld_vernr | cut -d '.' -f 2`
changequote([,])dnl
int main(void)
{
return 0;
- }],[-Werror],[$CPPFLAGS],[$LDFLAGS],
+ }],[$CFLAGS -Werror],[$CPPFLAGS],[$LDFLAGS],
samba_cv_HAVE_Werror=yes,samba_cv_HAVE_Werror=no,samba_cv_HAVE_Werror=cross)])
if test x"$samba_cv_HAVE_Werror" = x"yes"; then
Werror_FLAGS="-Werror"
int main(void)
{
return 0;
- }],[-w2],[$CPPFLAGS],[$LDFLAGS],
+ }],[$CFLAGS -w2],[$CPPFLAGS],[$LDFLAGS],
samba_cv_HAVE_w2=yes,samba_cv_HAVE_w2=no,samba_cv_HAVE_w2=cross)])
if test x"$samba_cv_HAVE_w2" = x"yes"; then
Werror_FLAGS="-w2"
int main(void)
{
return 0;
- }],[-errwarn=%all],[$CPPFLAGS],[$LDFLAGS],
+ }],[$CFLAGS -errwarn=%all],[$CPPFLAGS],[$LDFLAGS],
samba_cv_HAVE_errwarn=yes,samba_cv_HAVE_errwarn=no,samba_cv_HAVE_errwarn=cross)])
if test x"$samba_cv_HAVE_errwarn" = x"yes"; then
Werror_FLAGS="-errwarn=%all"
default_static_modules="pdb_smbpasswd pdb_tdbsam pdb_wbc_sam rpc_lsarpc rpc_samr rpc_winreg rpc_initshutdown rpc_dssetup rpc_wkssvc rpc_svcctl rpc_ntsvcs rpc_netlogon rpc_netdfs rpc_srvsvc rpc_spoolss rpc_eventlog auth_sam auth_unix auth_winbind auth_wbc auth_server auth_domain auth_builtin auth_netlogond vfs_default nss_info_template"
dnl These are preferably build shared, and static if dlopen() is not available
-default_shared_modules="vfs_recycle vfs_audit vfs_extd_audit vfs_full_audit vfs_netatalk vfs_fake_perms vfs_default_quota vfs_readonly vfs_cap vfs_expand_msdfs vfs_shadow_copy vfs_shadow_copy2 charset_CP850 charset_CP437 auth_script vfs_readahead vfs_xattr_tdb vfs_streams_xattr vfs_streams_depot vfs_acl_xattr vfs_acl_tdb vfs_smb_traffic_analyzer vfs_preopen"
+default_shared_modules="vfs_recycle vfs_audit vfs_extd_audit vfs_full_audit vfs_netatalk vfs_fake_perms vfs_default_quota vfs_readonly vfs_cap vfs_expand_msdfs vfs_shadow_copy vfs_shadow_copy2 charset_CP850 charset_CP437 auth_script vfs_readahead vfs_xattr_tdb vfs_streams_xattr vfs_streams_depot vfs_acl_xattr vfs_acl_tdb vfs_smb_traffic_analyzer vfs_preopen vfs_catia"
if test "x$developer" = xyes; then
- default_static_modules="$default_static_modules rpc_rpcecho"
+ default_static_modules="$default_static_modules rpc_rpcecho pdb_ads"
default_shared_modules="$default_shared_modules charset_weird perfcount_test"
fi
fi
;;
+# Systems with LFS support.
+#
+ gnu* | k*bsd*-gnu | kopensolaris*-gnu)
+ CPPFLAGS="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE $CPPFLAGS"
+ AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to enable large file support])
+ AC_DEFINE(_FILE_OFFSET_BITS, 64, [File offset bits])
+ AC_DEFINE(_GNU_SOURCE, 1, [Whether to use GNU libc extensions])
+ ;;
+
# Tests for linux LFS support. Need kernel 2.4 and glibc2.2 or greater support.
#
*linux*)
fi
AC_MSG_RESULT([$GLIBC_LFS_SUPPORT])
;;
+ *qnx*)
+ CPPFLAGS="-D_LARGEFILE64_SOURCE $CPPFLAGS"
+ AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to enable large file support])
+ ;;
esac
CPPFLAGS="${CPPFLAGS} ${SAMBA_CONFIGURE_CPPFLAGS}"
AC_LIBREPLACE_BROKEN_CHECKS
+AC_CHECK_FUNCS([syslog],[],[AC_MSG_ERROR([Required function not found])])
AC_LIBREPLACE_NETWORK_CHECKS
CPPFLAGS="${SAVE_CPPFLAGS}"
LIBREPLACE_DIR=`echo ${libreplacedir} | sed -e "s;${srcdir};;" -e "s;^/;;"`
-LIBREPLACE_OBJS=""
-for obj in ${LIBREPLACEOBJ}; do
- LIBREPLACE_OBJS="${LIBREPLACE_OBJS} ${LIBREPLACE_DIR}/${obj}"
-done
+LIBREPLACE_OBJS="${LIBREPLACEOBJ}"
AC_SUBST(LIBREPLACE_OBJS)
# add -ldl to the global LIBS
AC_CHECK_HEADERS(unistd.h grp.h sys/id.h memory.h alloca.h)
AC_CHECK_HEADERS(limits.h float.h pthread.h libintl.h)
AC_CHECK_HEADERS(rpc/rpc.h rpcsvc/nis.h rpcsvc/ypclnt.h)
-AC_CHECK_HEADERS(sys/param.h ctype.h sys/wait.h sys/resource.h sys/ioctl.h sys/ipc.h sys/prctl.h)
+AC_CHECK_HEADERS(sys/param.h ctype.h sys/wait.h sys/resource.h sys/ioctl.h sys/ipc.h sys/prctl.h sys/sysctl.h)
AC_CHECK_HEADERS(sys/mman.h sys/filio.h sys/priv.h sys/shm.h string.h strings.h stdlib.h)
AC_CHECK_HEADERS(sys/mount.h sys/vfs.h sys/fs/s5param.h sys/filsys.h termios.h termio.h)
AC_CHECK_HEADERS(sys/termio.h sys/statfs.h sys/dustat.h sys/statvfs.h stdarg.h)
ac_save_PRINT_LIBS=$PRINT_LIBS
CFLAGS="$CFLAGS `$CUPS_CONFIG --cflags`"
LDFLAGS="$LDFLAGS `$CUPS_CONFIG --ldflags`"
- PRINT_LIBS="$PRINT_LIBS `$CUPS_CONFIG --libs`"
+ PRINT_LIBS="$PRINT_LIBS -lcups"
AC_CHECK_HEADERS(cups/cups.h cups/language.h)
if test x"$ac_cv_header_cups_cups_h" = xyes -a \
x"$ac_cv_header_cups_language_h" = xyes; then
# setbuffer, shmget, shm_open are needed for smbtorture
AC_CHECK_FUNCS(shmget shm_open)
AC_CHECK_FUNCS(gettext dgettext)
+AC_CHECK_FUNCS(bindtextdomain textdomain)
+AC_CHECK_FUNCS(strupr)
# Find a method of generating a stack trace
AC_CHECK_HEADERS(execinfo.h libexc.h libunwind.h)
#
#
case "$host_os" in
- *linux*)
+ *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu)
# glibc <= 2.3.2 has a broken getgrouplist
AC_TRY_RUN([
#include <unistd.h>
# and these are for particular systems
case "$host_os" in
- *linux*) AC_DEFINE(LINUX,1,[Whether the host os is linux])
+ *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu)
+ case "$host_os" in *linux*)
+ AC_DEFINE(LINUX,1,[Whether the host os is linux]) ;;
+ esac
BLDSHARED="true"
if test "${ac_cv_gnu_ld_no_default_allow_shlib_undefined}" = "yes"; then
LDSHFLAGS="-shared -Wl,-Bsymbolic -Wl,--allow-shlib-undefined"
AC_MSG_RESULT($BLDSHARED)
+if test x"${ac_cv_prog_gnu_ld}" = x"yes"; then
+ saved_ldflags="$LDFLAGS"
+ AC_MSG_CHECKING([if --as-needed works])
+ LDFLAGS="--as-needed $saved_ldflags"
+ AC_TRY_LINK([],[],
+ [AC_MSG_RESULT([yes])
+ LD_AS_NEEDED_FLAG=--as-needed],
+ AC_MSG_RESULT([no]))
+ AC_MSG_CHECKING([if -Wl,--as-needed works])
+ LDFLAGS="-Wl,--as-needed $saved_ldflags"
+ AC_TRY_LINK([],[],
+ [AC_MSG_RESULT([yes])
+ LD_AS_NEEDED_FLAG=-Wl,--as-needed],
+ AC_MSG_RESULT([no]))
+ LDFLAGS="$LD_AS_NEEDED_FLAG $saved_ldflags"
+fi
+
AC_MSG_CHECKING([LDFLAGS])
AC_MSG_RESULT([$LDFLAGS])
AC_MSG_CHECKING([DYNEXP])
SHLD="shared-libraries-disabled"
PICFLAG="${PIE_CFLAGS}"
SHLIBEXT="shared_libraries_disabled"
+ merged_build_possible=no
fi
AC_MSG_CHECKING([used PICFLAG])
if test x"$samba_cv_HAVE_LIBFAM" = x"yes" ; then
default_shared_modules="$default_shared_modules vfs_notify_fam"
AC_TRY_COMPILE([#include <fam.h>],
- [FAMCodes code = FAMChanged;],
+ [enum FAMCodes code = FAMChanged;],
AC_DEFINE(HAVE_FAM_H_FAMCODES_TYPEDEF, 1,
[Whether fam.h contains a typedef for enum FAMCodes]),
[])
AC_DEFINE(HAVE_STAT_ST_BLOCKS,1,[Whether the stat struct has a st_block property])
fi
+AC_CHECK_TYPES([blksize_t, blkcnt_t], [], [], [[#include <sys/stat.h>]])
+
AC_CACHE_CHECK([for st_blksize in struct stat],samba_cv_HAVE_STAT_ST_BLKSIZE,[
AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/stat.h>
if test x"$samba_cv_WITH_AFS" != x"no" ||
test x"$samba_cv_WITH_FAKE_KASERVER" != x"no"; then
+ # see if this box has the OpenSSL DES libraries
+ AC_CHECK_LIB( crypto, DES_pcbc_encrypt, LIBS="$LIBS -lcrypto" , [AC_ERROR(OpenSSL library: libcrypto ot found!)] )
+
# see if this box has the afs-headers in /usr/include/afs
AC_MSG_CHECKING(for /usr/include/afs)
if test -d /usr/include/afs; then
- CFLAGS="$CFLAGS -I/usr/include/afs"
- CPPFLAGS="$CPPFLAGS -I/usr/include/afs"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
AC_CHECK_HEADERS(krb5/locate_plugin.h)
if test x"$ac_cv_header_krb5_locate_plugin_h" = x"yes"; then
WINBIND_KRB5_LOCATOR="bin/winbind_krb5_locator.$SHLIBEXT"
- EXTRA_ALL_TARGETS="$EXTRA_ALL_TARGETS $WINBIND_KRB5_LOCATOR"
+ if test x"$BLDSHARED" = x"true" ; then
+ EXTRA_ALL_TARGETS="$EXTRA_ALL_TARGETS $WINBIND_KRB5_LOCATOR"
+ fi
fi
fi
if (str) free (str);
return 0;
}
- ],[$Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
+ ],[$CFLAGS $Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
smb_krb5_cv_enctype_to_string_takes_krb5_context_arg=yes,
smb_krb5_cv_enctype_to_string_takes_krb5_context_arg=no)])
krb5_enctype_to_string(1, buf, 256);
return 0;
}
- ],[$Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
+ ],[$CFLAGS $Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
smb_krb5_cv_enctype_to_string_takes_size_t_arg=yes,
smb_krb5_cv_enctype_to_string_takes_size_t_arg=no)])
LIBS="$ac_save_LIBS"
fi
+if test x"$use_ads" != xyes; then
+ merged_build_possible=no
+fi
+
AC_CHECK_LIB_EXT(nscd, NSCD_LIBS, nscd_flush_cache)
PASSDB_LIBS="$PASSDB_LIBS $NSCD_LIBS"
CIFSMOUNT_PROGS=""
INSTALL_CIFSMOUNT=""
UNINSTALL_CIFSMOUNT=""
-AC_MSG_CHECKING(whether to build mount.cifs and umount.cifs)
+AC_MSG_CHECKING(whether to build mount.cifs)
AC_ARG_WITH(cifsmount,
-[AS_HELP_STRING([--with-cifsmount], [Include mount.cifs and umount.cifs (Linux only) support (default=yes)])],
+[AS_HELP_STRING([--with-cifsmount], [Include mount.cifs (Linux only) support (default=yes)])],
[ case "$withval" in
no)
AC_MSG_RESULT(no)
case "$host_os" in
*linux*)
AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_CIFSMOUNT,1,[Whether to build mount.cifs and umount.cifs])
- CIFSMOUNT_PROGS="bin/mount.cifs bin/umount.cifs"
+ AC_DEFINE(WITH_CIFSMOUNT,1,[Whether to build mount.cifs])
+ CIFSMOUNT_PROGS="bin/mount.cifs"
INSTALL_CIFSMOUNT="installcifsmount"
UNINSTALL_CIFSMOUNT="uninstallcifsmount"
;;
[ case "$host_os" in
*linux*)
AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_CIFSMOUNT,1,[Whether to build mount.cifs and umount.cifs])
- CIFSMOUNT_PROGS="bin/mount.cifs bin/umount.cifs"
+ AC_DEFINE(WITH_CIFSMOUNT,1,[Whether to build mount.cifs])
+ CIFSMOUNT_PROGS="bin/mount.cifs"
INSTALL_CIFSMOUNT="installcifsmount"
UNINSTALL_CIFSMOUNT="uninstallcifsmount"
;;
esac ]
)
+CIFSUMOUNT_PROGS=""
+INSTALL_CIFSUMOUNT=""
+UNINSTALL_CIFSUMOUNT=""
+AC_MSG_CHECKING(whether to build umount.cifs)
+AC_ARG_WITH(cifsumount,
+[AS_HELP_STRING([--with-cifsumount], [Include umount.cifs (Linux only) support (default=no)])],
+[ case "$withval" in
+ yes)
+ case "$host_os" in
+ *linux*)
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(WITH_CIFSUMOUNT,1,[Whether to build umount.cifs])
+ CIFSUMOUNT_PROGS="bin/umount.cifs"
+ INSTALL_CIFSUMOUNT="installcifsumount"
+ UNINSTALL_CIFSUMOUNT="uninstallcifsumount"
+ ;;
+ *)
+ AC_MSG_ERROR(not on a linux system!)
+ ;;
+ esac
+ ;;
+ *)
+ AC_MSG_RESULT(no)
+ ;;
+ esac ],
+ AC_MSG_RESULT(no)
+)
+
#################################################
# check for cifs.upcall support
AC_CHECK_HEADERS([keyutils.h], [HAVE_KEYUTILS_H=1], [HAVE_KEYUTILS_H=0])
# /usr/include/pam.
with_pam_for_crypt=no
-try_pam=no
+try_pam=auto
AC_MSG_CHECKING(whether to try PAM support)
AC_ARG_WITH(pam,
-[AS_HELP_STRING([--with-pam], [Include PAM support (default=no)])],
+[AS_HELP_STRING([--with-pam], [Include PAM support (default=auto)])],
[ case "$withval" in
- yes|no)
+ yes|no|auto)
try_pam=$withval
;;
esac
#define HAVE_QUOTACTL_4A 1
#define AUTOCONF_TEST 1
#include "confdefs.h"
-#include "${srcdir-.}/../tests/sysquotas.c"],[$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;
#define HAVE_QUOTACTL_4B 1
#define AUTOCONF_TEST 1
#include "confdefs.h"
-#include "${srcdir-.}/../tests/sysquotas.c"],[$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"
#define HAVE_QUOTACTL_3 1
#define AUTOCONF_TEST 1
#include "confdefs.h"
-#include "${srcdir-.}/../tests/sysquotas.c"],[$Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
+#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"
# TODO: for talloc and tdb (at least), these should
# be extracted from their respective source directories
#
-SMB_LIBRARY(talloc, 1)
-SMB_LIBRARY(tdb, 1)
+AC_ARG_ENABLE(external_libtalloc, [AS_HELP_STRING([--enable-external-libtalloc], [Enable external talloc [default=auto]])],
+[ enable_external_libtalloc=$enableval ], [ enable_external_libtalloc=auto ])
+
+if test "x$enable_external_libtalloc" != xno
+then
+ PKG_CHECK_MODULES(LIBTALLOC, talloc >= 2.0.0,
+ [ enable_external_libtalloc=yes ],
+ [ if test x$enable_external_libtalloc = xyes; then
+ AC_MSG_ERROR([Unable to find libtalloc])
+ else
+ enable_external_libtalloc=no
+ fi
+ ])
+fi
+
+if test "x$enable_external_libtalloc" = xno
+then
+ m4_include(../lib/talloc/libtalloc.m4)
+ LINK_LIBTALLOC=STATIC
+ SMB_LIBRARY(talloc, 2)
+ LIBTALLOC_OBJ0=""
+ for obj in ${TALLOC_OBJ}; do
+ LIBTALLOC_OBJ0="${LIBTALLOC_OBJ0} ${tallocdir}/${obj}"
+ done
+ SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TALLOC_CFLAGS}"
+ AC_SUBST(LIBTALLOC_OBJ0)
+
+ TALLOCTORT="bin/talloctort\$(EXEEXT)"
+ AC_SUBST(TALLOCTORT)
+fi
+
+
+AC_ARG_ENABLE(external_libtdb,
+ [AS_HELP_STRING([--enable-external-libtdb],
+ [Enable external tdb [default=auto]])],
+ [ enable_external_libtalloc=$enableval ],
+ [ enable_external_libtalloc=auto ])
+
+if test "x$enable_external_libtdb" != xno
+then
+ PKG_CHECK_MODULES(LIBTDB, tdb >= 1.1.4,
+ [ enable_external_libtdb=yes ],
+ [
+ if test x$enable_external_libtdb = xyes; then
+ AC_MSG_ERROR([Unable to find libtdb])
+ else
+ enable_external_libtdb=no
+ fi
+ ])
+fi
+
+AC_SUBST(LIBTDB_OBJ0)
+if test "x$enable_external_libtdb" = xno
+then
+ m4_include(../lib/tdb/libtdb.m4)
+ LINK_LIBTDB=STATIC
+ SMB_LIBRARY(tdb, 1)
+ LIBTDB_OBJ0=""
+ for obj in ${TDB_OBJ}; do
+ LIBTDB_OBJ0="${LIBTDB_OBJ0} ${tdbdir}/${obj}"
+ done
+ AC_SUBST(LIBTDB_OBJ0)
+ SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TDB_CFLAGS}"
+
+ TDBBACKUP="bin/tdbbackup\$(EXEEXT)"
+ AC_SUBST(TDBBACKUP)
+ TDBDUMP="bin/tdbdump\$(EXEEXT)"
+ AC_SUBST(TDBDUMP)
+ TDBTOOL="bin/tdbtool\$(EXEEXT)"
+ AC_SUBST(TDBTOOL)
+ TDBTORTURE="bin/tdbtorture\$(EXEEXT)"
+ AC_SUBST(TDBTORTURE)
+fi
+
SMB_LIBRARY(netapi, 0)
SMB_LIBRARY(smbclient, 0)
SMB_LIBRARY(smbsharemodes, 0)
-SMB_LIBRARY(lua, 0)
SMB_LIBRARY(addns, 0, no, [undefined API])
AC_MSG_RESULT(yes);
case "$host_os" in
- *linux*)
+ *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu)
AC_CACHE_CHECK([for linux sendfile64 support],samba_cv_HAVE_SENDFILE64,[
AC_TRY_LINK([#include <sys/sendfile.h>],
[\
AC_HAVE_DECL(splice, [#include <fcntl.h>])
+############################################
+# See if we have the a broken readlink syscall.
+
+AC_CACHE_CHECK([for a broken readlink syscall],samba_cv_HAVE_BROKEN_READLINK,[
+AC_TRY_RUN([#include "${srcdir-.}/../tests/readlink.c"],
+ samba_cv_HAVE_BROKEN_READLINK=no,samba_cv_HAVE_BROKEN_READLINK=yes,samba_cv_HAVE_BROKEN_READLINK=cross)
+])
+if test x"$samba_cv_HAVE_BROKEN_READLINK" = x"yes"; then
+ AC_DEFINE(HAVE_BROKEN_READLINK,1,[Whether the readlink syscall is broken])
+fi
#################################################
# Check whether winbind is supported on this platform. If so we need to
WINBIND_NSS_PTHREAD=""
case "$host_os" in
- *linux*)
+ *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu)
NSSSONAMEVERSIONSUFFIX=".2"
WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_linux.o"
;;
fi
if test x"$HAVE_WBCLIENT" = x"yes"; then
AC_CHECK_LIB(wbclient, wbcInterfaceDetails,
- [WINBIND_LIBS="-lwbclient"], AC_MSG_ERROR([Could not find wbclient]), [$WBCLIENT_LDFLAGS])
- WINBIND_LIBS="$WINBIND_LIBS $WBCLIENT_LDFLAGS"
+ [LIBWBCLIENT_LIBS="-lwbclient"], AC_MSG_ERROR([Could not find wbclient]), [$WBCLIENT_LDFLAGS])
+ LIBWBCLIENT_LIBS="$LIBWBCLIENT_LIBS $WBCLIENT_LDFLAGS"
AC_MSG_RESULT(yes)
AC_DEFINE(WITH_WINBIND,1,[Whether to link to wbclient])
EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/wbinfo\$(EXEEXT)"
## Only worry about libwbclient if we have shared
# library support
LIBWBCLIENT_SHARED=$LIBWBCLIENT_SHARED_TARGET
- LIBWBCLIENT_TARGET=$LIBWBCLIENT_SHARED_TARGET
LIBWBCLIENT=libwbclient
INSTALL_LIBWBCLIENT=installlibwbclient
UNINSTALL_LIBWBCLIENT=uninstalllibwbclient
- WINBIND_LIBS="-lwbclient"
+ LIBWBCLIENT_LIBS="-lwbclient"
else
LIBWBCLIENT_STATIC=$LIBWBCLIENT_STATIC_TARGET
- LIBWBCLIENT_TARGET=$LIBWBCLIENT_STATIC_TARGET
- WINBIND_LIBS=$LIBWBCLIENT_STATIC_TARGET
+ LIBWBCLIENT_LIBS=$LIBWBCLIENT_STATIC_TARGET
fi
fi
fi
AC_CHECK_LIB(pthread, pthread_mutex_lock, [WINBIND_NSS_PTHREAD="-lpthread"
- AC_DEFINE(HAVE_PTHREAD, 1, [whether pthread exists])])
+ AC_DEFINE(HAVE_PTHREAD, 1, [whether pthread exists])
+ samba_cv_HAVE_PTHREAD=yes],
+ samba_cv_HAVE_PTHREAD=no)
AC_SUBST(WINBIND_NSS_PTHREAD)
AC_SUBST(WINBIND_NSS)
[AS_HELP_STRING([--enable-dnssd], [Enable DNS service discovery support (default=no)])])
AC_SUBST(DNSSD_LIBS)
-if test x"$enable_dnssd" == x"yes"; then
+if test x"$enable_dnssd" = x"yes"; then
have_dnssd_support=yes
AC_CHECK_HEADERS(dns_sd.h)
AC_ARG_ENABLE(avahi,
[AS_HELP_STRING([--enable-avahi], [Enable Avahi support (default=auto)])])
-AC_SUBST(AVAHI_LIBS)
if test x"$enable_avahi" != x"no"; then
have_avahi_support=yes
have_avahi_support=no
fi
- AC_CHECK_LIB_EXT(avahi-client, AVAHI_LIBS, avahi_client_new)
- if test x"$ac_cv_lib_ext_avahi_client_avahi_client_new" != x"yes"; then
+ save_LIBS="$LIBS"
+ AC_CHECK_LIB(avahi-client, avahi_client_new)
+ AC_CHECK_LIB(avahi-common, avahi_strerror)
+ LIBS="$save_LIBS"
+
+ if test x"$ac_cv_lib_ext_avahi_client_avahi_client_new" != x"yes" -o \
+ x"$ac_cv_lib_ext_avahi_common_avahi_strerror" != x"yes" ; then
have_avahi_support=no
fi
if test x"$have_avahi_support" = x"yes"; then
+ AC_SUBST(AVAHI_LIBS, "-lavahi-client -lavahi-common")
AC_DEFINE(WITH_AVAHI_SUPPORT, 1,
[Whether to enable avahi support])
AC_SUBST(AVAHI_OBJ, "lib/avahi.o smbd/avahi_register.o")
fi
fi
+#################################################
+# Check if user wants pthreadpool support
+
+AC_ARG_ENABLE(pthreadpool,
+[AS_HELP_STRING([--enable-pthreadpool], [Enable pthreads pool helper support (default=auto)])])
+
+if test x"$enable_pthreadpool" != x"no" -a x"$samba_cv_HAVE_PTHREAD" = x"yes"; then
+ AC_TRY_LINK([#include "pthread.h"],
+ [pthread_create(NULL, NULL, NULL, NULL)],
+ ,LIBS="$LIBS -lpthread")
+ AC_DEFINE(WITH_PTHREADPOOL, 1, [Whether to include pthreadpool helpers])
+ AC_SUBST(PTHREADPOOL_OBJ, "lib/pthreadpool.o")
+fi
+
#################################################
# Check to see if we should use the included iniparser
done
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, "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)
[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
CFLAGS="-I../lib/zlib $CFLAGS"
])
+AC_ARG_ENABLE(dmalloc, [AS_HELP_STRING([--enable-dmalloc], [Enable heap debugging [default=no]])])
+
+if test "x$enable_dmalloc" = xyes
+then
+ AC_DEFINE(ENABLE_DMALLOC, 1, [Define to turn on dmalloc debugging])
+ AC_DEFINE(DMALLOC_FUNC_CHECK, 1,
+ [Define to check invariants around some common functions])
+ LIBS="$LIBS -ldmalloc"
+fi
+
dnl Remove -L/usr/lib/? from LDFLAGS and LIBS
LIB_REMOVE_USR_LIB(LDFLAGS)
LIB_REMOVE_USR_LIB(LIBS)