summaryrefslogtreecommitdiff
path: root/source3/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'source3/configure.in')
-rw-r--r--source3/configure.in6693
1 files changed, 0 insertions, 6693 deletions
diff --git a/source3/configure.in b/source3/configure.in
deleted file mode 100644
index 0e2f1267a7..0000000000
--- a/source3/configure.in
+++ /dev/null
@@ -1,6693 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-
-dnl We must use autotools 2.54 or above
-AC_PREREQ(2.54)
-
-AC_INIT([Samba],[3],[samba-technical@samba.org])
-
-AC_CONFIG_SRCDIR([include/includes.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
- */usr/ucb*)
- AC_MSG_WARN([\$PATH contains /usr/ucb - build errors may follow])
- ;;
-esac
-
-builddir=`pwd`
-AC_SUBST(builddir)
-
-m4_include(m4/samba_version.m4)
-m4_include(m4/check_path.m4)
-m4_include(pkg.m4)
-
-AC_LIBREPLACE_CC_CHECKS
-AC_LIBREPLACE_RUNTIME_LIB_PATH_VAR
-
-m4_include(../lib/tevent/libtevent.m4)
-m4_include(../lib/ccan/libccan.m4)
-
-LIBTEVENT_OBJ0=""
-for obj in ${TEVENT_OBJ}; do
- LIBTEVENT_OBJ0="${LIBTEVENT_OBJ0} ${teventdir}/${obj}"
-done
-AC_SUBST(LIBTEVENT_OBJ0)
-LIBS="${LIBS} ${TEVENT_LIBS}"
-
-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}"
-SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/librpc"
-SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/.."
-SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/../lib/tdb_compat"
-
-SAMBA_CONFIGURE_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/../lib/popt"
-
-## cleanup the $(srcdir) in the Makefile if we are outside of the tree
-if test "x${srcdir-.}" != "x."; then
- SAMBA_CPPFLAGS=`echo ${SAMBA_CPPFLAGS} | sed -e "s;${srcdir};\$\(srcdir\);g"`
-fi
-
-dnl Unique-to-Samba variables we'll be playing with.
-AC_SUBST(SAMBA_CPPFLAGS)
-AC_SUBST(SHELL)
-AC_SUBST(LDSHFLAGS)
-AC_SUBST(SONAMEFLAG)
-AC_SUBST(SHLD)
-AC_SUBST(MODULE_EXPORTS)
-AC_SUBST(DSO_EXPORTS)
-AC_SUBST(HOST_OS)
-AC_SUBST(PICFLAG)
-AC_SUBST(PIE_CFLAGS)
-AC_SUBST(PIE_LDFLAGS)
-AC_SUBST(RELRO_LDFLAGS)
-AC_SUBST(SHLIBEXT)
-AC_SUBST(INSTALLLIBCMD_SH)
-AC_SUBST(INSTALLLIBCMD_A)
-AC_SUBST(UNINSTALLLIBCMD_SH)
-AC_SUBST(UNINSTALLLIBCMD_A)
-
-AC_SUBST(INSTALL_LIBWBCLIENT)
-AC_SUBST(UNINSTALL_LIBWBCLIENT)
-AC_SUBST(LIBWBCLIENT_SHARED_TARGET)
-AC_SUBST(LIBWBCLIENT_SHARED_TARGET_SOVER)
-AC_SUBST(LIBWBCLIENT_SHARED_TARGET_FULLVER)
-AC_SUBST(LIBWBCLIENT_SHARED)
-AC_SUBST(LIBWBCLIENT_STATIC_TARGET)
-AC_SUBST(LIBWBCLIENT_STATIC)
-AC_SUBST(LIBWBCLIENT_SOVER)
-AC_SUBST(LIBWBCLIENT_FULLVER)
-AC_SUBST(LIBWBCLIENT)
-AC_SUBST(LIBWBCLIENT_LIBS)
-
-AC_SUBST(LIBSAMBAUTIL_SHARED)
-
-AC_SUBST(PRINT_LIBS)
-AC_SUBST(AUTH_LIBS)
-AC_SUBST(ACL_LIBS)
-AC_SUBST(PASSDB_LIBS)
-AC_SUBST(IDMAP_LIBS)
-AC_SUBST(KRB5_LIBS)
-AC_SUBST(LDAP_LIBS)
-AC_SUBST(GPEXT_LIBS)
-AC_SUBST(PAM_MODULES)
-AC_SUBST(INSTALL_PAM_MODULES)
-AC_SUBST(UNINSTALL_PAM_MODULES)
-AC_SUBST(NSS_MODULES)
-AC_SUBST(EXTRA_BIN_PROGS)
-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)
-AC_SUBST(EXTRA_SBIN_PROGS)
-AC_SUBST(EXTRA_ALL_TARGETS)
-AC_SUBST(CONFIG_LIBS)
-AC_SUBST(NSCD_LIBS)
-
-# compile with optimization and without debugging by default, but
-# allow people to set their own preference.
-# do this here since AC_CACHE_CHECK apparently sets the CFLAGS to "-g -O2"
-# if it has no value. This prevent *very* large debug binaries from occurring
-# by default.
-if test "x$debug" = "xyes" ; then
- CFLAGS="${CFLAGS} -g"
-fi
-if test "x$CFLAGS" = x; then
- CFLAGS="-O"
-fi
-
-m4_include(../lib/socket_wrapper/config.m4)
-m4_include(../lib/nss_wrapper/config.m4)
-m4_include(../lib/uid_wrapper/config.m4)
-
-DEVELOPER_CFLAGS="-DDEBUG_PASSWORD -DDEVELOPER"
-
-# Probe the gcc version for extra CFLAGS. We always stash these in
-# DEVELOPER_CFLAGS, so that you can turn them on and off with a simple
-# Makefile edit, avoiding the need to re-run configure.
-if test x"$ac_cv_prog_gcc" = x"yes" ; then
- DEVELOPER_CFLAGS="${DEVELOPER_CFLAGS} -g -Wall -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings"
- # Add -Wdeclaration-after-statement if compiler supports it
- AC_CACHE_CHECK(
- [that the C compiler understands -Wdeclaration-after-statement],
- samba_cv_HAVE_Wdeclaration_after_statement, [
- AC_TRY_RUN_STRICT([
- int main(void)
- {
- return 0;
- }],[$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)
- ])
-
- if test x"$samba_cv_HAVE_Wdeclaration_after_statement" = x"yes"; then
- DEVELOPER_CFLAGS="${DEVELOPER_CFLAGS} -Wdeclaration-after-statement"
- fi
-
- #-Werror-implicit-function-declaration
- AC_CACHE_CHECK(
- [that the C compiler understands -Werror-implicit-function-declaration],
- samba_cv_HAVE_Werror_implicit_function_declaration, [
- AC_TRY_RUN_STRICT([
- int main(void)
- {
- return 0;
- }],[$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)
- ])
- if test x"$samba_cv_HAVE_Werror_implicit_function_declaration" = x"yes"; then
- DEVELOPER_CFLAGS="${DEVELOPER_CFLAGS} -Werror-implicit-function-declaration"
- fi
-
- # krb5developer is like developer, except we don't get
- # -Wstrict-prototypes.
- if test x"$krb5_developer" != x"$yes" ; then
- DEVELOPER_CFLAGS="$DEVELOPER_CFLAGS -Wstrict-prototypes"
- fi
-
- if test x"$picky_developer" = x"yes"; then
- DEVELOPER_CFLAGS="$DEVELOPER_CFLAGS -Werror"
- fi
-fi
-
-#################################################
-# check for a shared memory profiling support
-AC_MSG_CHECKING(whether to use profiling)
-AC_ARG_WITH(profiling-data,
-[AS_HELP_STRING([--with-profiling-data], [Include gathering source code profile information (default=no)])],
-[ case "$withval" in
- yes)
- AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_PROFILE,1,[Whether to use profiling])
- samba_cv_WITH_PROFILE=yes
- ;;
- *)
- AC_MSG_RESULT(no)
- samba_cv_WITH_PROFILE=no
- ;;
- esac ],
- AC_MSG_RESULT(no)
-)
-
-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], [selftest_possible=no])
-
-# Check for python
-m4_include(../m4/check_python.m4)
-AC_SAMBA_PYTHON_DEVEL([true], [selftest_possible=no])
-
-AC_CHECK_TOOL(AR, ar)
-
-dnl Check if we (actually our C compiler!) use GNU ld
-AC_PROG_LD_GNU
-
-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 < /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'`
- changequote([,])dnl
- AC_MSG_RESULT(${ac_cv_gnu_ld_date})
- if test -n "$ac_cv_gnu_ld_date"; then
- if test "$ac_cv_gnu_ld_date" -lt 20030217; then
- ac_cv_gnu_ld_no_default_allow_shlib_undefined=yes
- fi
- if test "$ac_cv_gnu_ld_date" -gt 20030101; then
- ac_cv_gnu_ld_version_script=yes
- fi
- else
- AC_MSG_CHECKING(GNU ld release version)
- changequote(,)dnl
- ac_cv_gnu_ld_vernr=`echo $ac_cv_gnu_ld_version | awk '{print $NF}' | sed -n 's,\([1-9][0-9]*\.[0-9][0-9]*\).*$,\1,p'`
- ac_cv_gnu_ld_vernr_major=`echo $ac_cv_gnu_ld_vernr | cut -d '.' -f 1`
- ac_cv_gnu_ld_vernr_minor=`echo $ac_cv_gnu_ld_vernr | cut -d '.' -f 2`
- changequote([,])dnl
- AC_MSG_RESULT(${ac_cv_gnu_ld_vernr})
- AC_MSG_CHECKING(GNU ld release version major)
- AC_MSG_RESULT(${ac_cv_gnu_ld_vernr_major})
- AC_MSG_CHECKING(GNU ld release version minor)
- AC_MSG_RESULT(${ac_cv_gnu_ld_vernr_minor})
- if test "$ac_cv_gnu_ld_vernr_major" -lt 2 || test "$ac_cv_gnu_ld_vernr_minor" -lt 14; then
- ac_cv_gnu_ld_no_default_allow_shlib_undefined=yes
- fi
- if test "$ac_cv_gnu_ld_vernr_major" -gt 2 || test "$ac_cv_gnu_ld_vernr_major" = 2 && test "$ac_cv_gnu_ld_vernr_minor" -ge 12; then
- ac_cv_gnu_ld_version_script=yes
- fi
- fi
-fi
-
-dnl Check if C compiler understands -c and -o at the same time
-AC_PROG_CC_C_O
-if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
- BROKEN_CC=
-else
- BROKEN_CC=#
-fi
-AC_SUBST(BROKEN_CC)
-
-dnl Check if the C compiler understands -Werror (GNU)
-AC_CACHE_CHECK([that the C compiler understands -Werror],samba_cv_HAVE_Werror, [
- AC_TRY_RUN_STRICT([
- int main(void)
- {
- return 0;
- }],[$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"
-else
-dnl Check if the C compiler understands -w2
-AC_CACHE_CHECK([that the C compiler understands -w2],samba_cv_HAVE_w2, [
- AC_TRY_RUN_STRICT([
- int main(void)
- {
- return 0;
- }],[$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"
-else
-dnl Check if the C compiler understands -errwarn (Sun)
-AC_CACHE_CHECK([that the C compiler understands -errwarn],samba_cv_HAVE_errwarn, [
- AC_TRY_RUN_STRICT([
- int main(void)
- {
- return 0;
- }],[$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"
-else
-dnl Check if the C compiler understands -qhalt (IBM)
-AC_CACHE_CHECK([that the C compiler understands -qhalt],samba_cv_HAVE_qhalt, [
- AC_TRY_RUN_STRICT([
- int main(void)
- {
- return 0;
- }],[$CFLAGS -qhalt=w],[$CPPFLAGS],[$LDFLAGS],
- samba_cv_HAVE_qhalt=yes,samba_cv_HAVE_qhalt=no,samba_cv_HAVE_qhalt=cross)])
-if test x"$samba_cv_HAVE_qhalt" = x"yes"; then
- Werror_FLAGS="-qhalt=w"
-fi
-fi
-fi
-fi
-
-############################################
-# check if the compiler can handle negative enum values
-# and don't truncate the values to INT_MAX
-# a runtime test is needed here
-AC_SUBST(PIDL_ARGS)
-AC_CACHE_CHECK([that the C compiler understands negative enum values],samba_cv_CC_NEGATIVE_ENUM_VALUES, [
- AC_TRY_RUN(
-[
- #include <stdio.h>
- enum negative_values { NEGATIVE_VALUE = 0xFFFFFFFF };
- int main(void) {
- enum negative_values v1 = NEGATIVE_VALUE;
- unsigned v2 = NEGATIVE_VALUE;
-
- if (v1 != 0xFFFFFFFF) {
- printf("%u != 0xFFFFFFFF\n", v1);
- return 1;
- }
- if (v2 != 0xFFFFFFFF) {
- printf("%u != 0xFFFFFFFF\n", v2);
- return 1;
- }
-
- return 0;
- }
-],
- samba_cv_CC_NEGATIVE_ENUM_VALUES=yes,samba_cv_CC_NEGATIVE_ENUM_VALUES=no)])
-if test x"$samba_cv_CC_NEGATIVE_ENUM_VALUES" != x"yes"; then
- AC_MSG_WARN([using --uint-enums for pidl])
- PIDL_ARGS="$PIDL_ARGS --uint-enums"
-fi
-
-dnl Figure out the flags to support named structure initializers
-
-LIBREPLACE_C99_STRUCT_INIT([],[AC_MSG_ERROR([c99 structure initializer are not supported])])
-
-UNAME_S=`(uname -s) 2>/dev/null` || UNAME_S="unknown"
-AC_MSG_CHECKING(uname -s)
-AC_MSG_RESULT(${UNAME_S})
-
-UNAME_R=`(uname -r) 2>/dev/null` || UNAME_R="unknown"
-AC_MSG_CHECKING(uname -r)
-AC_MSG_RESULT(${UNAME_R})
-
-UNAME_M=`(uname -m) 2>/dev/null` || UNAME_M="unknown"
-AC_MSG_CHECKING(uname -m)
-AC_MSG_RESULT(${UNAME_M})
-
-UNAME_P=`(uname -p) 2>/dev/null` || UNAME_P="unknown"
-AC_MSG_CHECKING(uname -p)
-AC_MSG_RESULT(${UNAME_P})
-
-UNAME_I=`(uname -i) 2>/dev/null` || UNAME_I="unknown"
-AC_MSG_CHECKING(uname -i)
-AC_MSG_RESULT(${UNAME_I})
-
-dnl Add #include for broken IRIX header files
- case "$host_os" in
- *irix6*)
- #TODO add to libreplace
- if test x"$ac_cv_prog_gcc" != x"yes" ; then
- dnl Fix sensible defaults for MIPSPro compilers. The
- dnl error numbers are valid for the 7.3 compilers,
- dnl hopefully also valid for the 7.4 series.
- dnl
- dnl Bugzilla 3801. Force an error on warning 1035
- dnl so we don't incorrectly detect stdint.h. This
- dnl warning is emitted for #error directives.
- CFLAGS="$CFLAGS -diag_error 1035"
- dnl 1209: Controlling expression is constant
- dnl 1174: Function foo declared but never referenced
- dnl 3201: Parameter foo was never referenced
- CFLAGS="$CFLAGS -woff 1209,1174,3201"
- fi
- ;;
-esac
-
-DYNEXP=
-AC_SUBST(DYNEXP)
-LDSHFLAGS_Z_DEFS=
-AC_SUBST(LDSHFLAGS_Z_DEFS)
-LDSHFLAGS_Z_NODEFS=
-AC_SUBST(LDSHFLAGS_Z_NODEFS)
-
-dnl Add modules that have to be built by default here
-dnl These have to be built static:
-default_static_modules=""
-default_static_modules="$default_static_modules pdb_smbpasswd"
-default_static_modules="$default_static_modules pdb_tdbsam"
-default_static_modules="$default_static_modules pdb_wbc_sam"
-default_static_modules="$default_static_modules rpc_lsarpc"
-default_static_modules="$default_static_modules rpc_samr"
-default_static_modules="$default_static_modules rpc_winreg"
-default_static_modules="$default_static_modules rpc_initshutdown"
-default_static_modules="$default_static_modules rpc_dssetup"
-default_static_modules="$default_static_modules rpc_wkssvc"
-default_static_modules="$default_static_modules rpc_svcctl"
-default_static_modules="$default_static_modules rpc_ntsvcs"
-default_static_modules="$default_static_modules rpc_netlogon"
-default_static_modules="$default_static_modules rpc_netdfs"
-default_static_modules="$default_static_modules rpc_srvsvc"
-default_static_modules="$default_static_modules rpc_spoolss"
-default_static_modules="$default_static_modules rpc_eventlog"
-default_static_modules="$default_static_modules auth_sam"
-default_static_modules="$default_static_modules auth_unix"
-default_static_modules="$default_static_modules auth_winbind"
-default_static_modules="$default_static_modules auth_wbc"
-default_static_modules="$default_static_modules auth_domain"
-default_static_modules="$default_static_modules auth_builtin"
-default_static_modules="$default_static_modules vfs_default"
-default_static_modules="$default_static_modules nss_info_template"
-
-dnl These are preferably build shared, and static if dlopen() is not available
-default_shared_modules=""
-default_shared_modules="$default_shared_modules vfs_recycle"
-default_shared_modules="$default_shared_modules vfs_audit"
-default_shared_modules="$default_shared_modules vfs_extd_audit"
-default_shared_modules="$default_shared_modules vfs_full_audit"
-default_shared_modules="$default_shared_modules vfs_netatalk"
-default_shared_modules="$default_shared_modules vfs_fake_perms"
-default_shared_modules="$default_shared_modules vfs_default_quota"
-default_shared_modules="$default_shared_modules vfs_readonly"
-default_shared_modules="$default_shared_modules vfs_cap"
-default_shared_modules="$default_shared_modules vfs_expand_msdfs"
-default_shared_modules="$default_shared_modules vfs_shadow_copy"
-default_shared_modules="$default_shared_modules vfs_shadow_copy2"
-default_shared_modules="$default_shared_modules auth_script"
-default_shared_modules="$default_shared_modules vfs_readahead"
-default_shared_modules="$default_shared_modules vfs_xattr_tdb"
-default_shared_modules="$default_shared_modules vfs_streams_xattr"
-default_shared_modules="$default_shared_modules vfs_streams_depot"
-default_shared_modules="$default_shared_modules vfs_acl_xattr"
-default_shared_modules="$default_shared_modules vfs_acl_tdb"
-default_shared_modules="$default_shared_modules vfs_smb_traffic_analyzer"
-default_shared_modules="$default_shared_modules vfs_preopen"
-default_shared_modules="$default_shared_modules vfs_catia"
-default_shared_modules="$default_shared_modules vfs_scannedonly"
-default_shared_modules="$default_shared_modules vfs_crossrename"
-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_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
-# before other tests. Do NOT invoke AC_CHECK_HEADERS within this
-# case statement; its first reference must be unconditional.
-#
-case "$host_os" in
- *hpux*)
-#
-# Defines needed for HPUX support.
-# HPUX has bigcrypt but (sometimes?) doesn't use it for
-# password hashing - hence the USE_BOTH_CRYPT_CALLS define.
-#
- case `uname -r` in
- *9*|*10*|*11)
- AC_DEFINE(USE_BOTH_CRYPT_CALLS, 1, [Whether to use both of HPUX' crypt calls])
- ;;
- esac
- ;;
-
-#
-# 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.
-#
- *aix4*)
- AC_MSG_RESULT([enabling large file support])
- CPPFLAGS="$CPPFLAGS -D_LARGE_FILES"
- AC_DEFINE(_LARGE_FILES, 1, [Whether to enable large file support])
- ;;
-#
-# Defines needed for Solaris 2.6/2.7 aka 7.0 to make it admit
-# to the existance of large files..
-#
-# Solaris uses SYSV printing. Make sure to set that here. --jerry
-#
- *solaris*)
- AC_DEFINE(SYSV, 1, [Whether to enable System V compatibility])
- LDFLAGS="$LDFLAGS -lthread"
- CPPFLAGS="$CPPFLAGS -D_REENTRANT"
- ;;
-#
-# IRIX uses SYSV printing. Make sure to set that here
-#
- *irix*)
- AC_DEFINE(SYSV, 1, [Whether to enable System V compatibility])
- ;;
- *freebsd*|*dragonfly*)
- AC_DEFINE(FREEBSD, 1, [Whether the host os is FreeBSD])
- ;;
-#
-# VOS may need to have POSIX support and System V compatibility enabled.
-#
- *vos*)
- case "$CPPFLAGS" in
- *-D_POSIX_C_SOURCE*)
- ;;
- *)
- CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L"
- AC_DEFINE(_POSIX_C_SOURCE, 200112L, [Whether to enable POSIX support])
- ;;
- esac
- case "$CPPFLAGS" in
- *-D_SYSV*|*-D_SVID_SOURCE*)
- ;;
- *)
- CPPFLAGS="$CPPFLAGS -D_SYSV"
- AC_DEFINE(_SYSV, 1, [Whether to enable System V compatibility])
- esac
- ;;
-# GNU systems
-#
- *linux* | *hurd* | gnu* | k*bsd*-gnu | kopensolaris*-gnu)
- CPPFLAGS="-D_GNU_SOURCE $CPPFLAGS"
- AC_DEFINE(_GNU_SOURCE, 1, [Whether to use GNU libc extensions])
- ;;
-
-#
-# MacOS X is the *only* system that uses compose character in utf8. This
-# is so horribly broken....
-#
- *darwin*)
- AC_DEFINE(BROKEN_UNICODE_COMPOSE_CHARACTERS, 1, [Does this system use unicode compose characters])
-
-# Add a system specific charset module.
- default_shared_modules="$default_shared_modules"
-
- ;;
- *qnx*)
- ;;
-
-esac
-
-SAVE_CPPFLAGS="${CPPFLAGS}"
-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="${LIBREPLACEOBJ}"
-AC_SUBST(LIBREPLACE_OBJS)
-
-LIBREPLACE_LIBS="${LIBREPLACE_NETWORK_LIBS} ${LIBREPLACE_FILESYS_LIBS}"
-AC_SUBST(LIBREPLACE_LIBS)
-
-
-# add -ldl to the global LIBS
-LIBS="${LIBS} ${LIBDL} ${LIBREPLACE_NETWORK_LIBS}"
-AUTH_LIBS="${AUTH_LIBS} ${CRYPT_LIBS}"
-
-
-AC_CHECK_HEADERS(aio.h sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd.h rpc/nettype.h)
-AC_CHECK_HEADERS(unistd.h grp.h sys/id.h memory.h alloca.h)
-AC_CHECK_HEADERS(limits.h float.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 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_CHECK_HEADERS(sys/sysmacros.h)
-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(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
-]])
-## These fail to compile on IRIX so just check for their presence
-AC_CHECK_HEADERS(sys/mode.h,,,)
-
-# Look for Darwin headers
-old_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="-Iinclude $CPPFLAGS"
-AC_CHECK_HEADERS([CoreFoundation/CFStringEncodingConverter.h], [], [AC_CHECK_HEADERS([CFStringEncodingConverter.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.4..10.7 resp. darwin8..12
-case "$host_os" in
- *darwin*)
- LDFLAGS="$LDFLAGS -framework CoreFoundation"
- ;;
-esac
-
-# In valgrind 1.0.x, it's just valgrind.h. In 1.9.x+ there's a
-# 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.
-#
-case "$host_os" in
- *hpux*)
- AC_TRY_COMPILE([#include <shadow.h>],[struct spwd testme],
- ac_cv_header_shadow_h=yes,ac_cv_header_shadow_h=no)
- if test x"$ac_cv_header_shadow_h" = x"yes"; then
- AC_DEFINE(HAVE_SHADOW_H,1,[Whether we have shadow.h])
- fi
- ;;
-esac
-AC_CHECK_HEADERS(shadow.h)
-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/cdefs.h glob.h)
-
-# For experimental utmp support (lastlog on some BSD-like systems)
-AC_CHECK_HEADERS(utmp.h utmpx.h lastlog.h)
-
-AC_CHECK_SIZEOF(int,cross)
-AC_CHECK_SIZEOF(long,cross)
-AC_CHECK_SIZEOF(long long,cross)
-AC_CHECK_SIZEOF(short,cross)
-
-AC_C_CONST
-AC_C_INLINE
-AC_C_BIGENDIAN
-AC_C_CHAR_UNSIGNED
-
-AC_TYPE_SIGNAL
-AC_TYPE_UID_T
-AC_TYPE_MODE_T
-AC_TYPE_OFF_T
-AC_TYPE_SIZE_T
-AC_TYPE_PID_T
-AC_STRUCT_ST_RDEV
-AC_DIRENT_D_OFF
-AC_CHECK_TYPE(ssize_t, int)
-AC_CHECK_TYPE(wchar_t, unsigned short)
-
-############################################
-# for cups support we need libcups, and a handful of header files
-
-AC_ARG_ENABLE(cups,
-[AS_HELP_STRING([--enable-cups], [Turn on CUPS support (default=auto)])])
-
-if test x$enable_cups != xno; then
- AC_PATH_PROG(CUPS_CONFIG, cups-config)
-
- if test "x$CUPS_CONFIG" != x; then
-
- ac_save_LDFLAGS=$LDFLAGS
- ac_save_PRINT_LIBS=$PRINT_LIBS
- 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
- # try linking with -lcups alone first. That should work unless libcups is
- # underlinked. With cups-config --libs we pull in unwanted and unneeded
- # 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"],
- [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`"])
-
- AC_DEFINE(HAVE_CUPS,1,[Whether we have CUPS])
- samba_cv_HAVE_CUPS=yes
- AC_CHECK_LIB_EXT(cups, PRINT_LIBS, httpConnectEncrypt)
- else
- AC_MSG_WARN([cups-config around but cups-devel not installed])
- CFLAGS=$ac_save_CFLAGS
- LDFLAGS=$ac_save_LDFLAGS
- PRINT_LIBS=$ac_save_PRINT_LIBS
- fi
-
- elif test x"$enable_cups" = x"yes"; then
- AC_MSG_ERROR(Cups support required but cups-config not located. Make sure cups-devel related files are installed.)
- fi
-fi
-
-AC_ARG_ENABLE(iprint,
-[AS_HELP_STRING([--enable-iprint], [Turn on iPrint support (default=yes if cups is yes)])])
-
-if test x$enable_iprint != xno; then
- if test x"$samba_cv_HAVE_CUPS" = xyes; then
- AC_DEFINE(HAVE_IPRINT,1,[Whether we have iPrint])
- elif test x"$enable_iprint" = x"yes"; then
- AC_MSG_ERROR(iPrint support required but cups not enabled. Make sure cups-devel related files are installed and that cups is enabled.)
- fi
-fi
-
-############################################
-# check if the compiler will optimize out function calls
-AC_CACHE_CHECK([if the compiler will optimize out function calls],samba_cv_optimize_out_funcation_calls, [
- AC_TRY_LINK([
-#include <stdio.h>],
-[
- if (0) {
- this_function_does_not_exist();
- } else {
- return 1;
- }
-
-],
- samba_cv_optimize_out_funcation_calls=yes,samba_cv_optimize_out_funcation_calls=no)])
-if test x"$samba_cv_optimize_out_funcation_calls" = x"yes"; then
- AC_DEFINE(HAVE_COMPILER_WILL_OPTIMIZE_OUT_FNS,1,[Whether the compiler will optimize out function calls])
-fi
-
-#############################################
-# check for fd passing struct via msg_control
-AC_CACHE_CHECK([for fd passing via msg_control],samba_cv_msghdr_msg_control, [
- AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <stdlib.h>
-#include <stddef.h>
-#include <sys/socket.h>
-#include <sys/un.h>],
-[
- struct msghdr msg;
- union {
- struct cmsghdr cm;
- char control[CMSG_SPACE(sizeof(int))];
- } control_un;
- msg.msg_control = control_un.control;
- msg.msg_controllen = sizeof(control_un.control);
-],
- samba_cv_msghdr_msg_control=yes,samba_cv_msghdr_msg_control=no)])
-if test x"$samba_cv_msghdr_msg_control" = x"yes"; then
- AC_DEFINE(HAVE_MSGHDR_MSG_CONTROL,1,
- [If we can use msg_control for passing file descriptors])
-fi
-
-#############################################
-# check for fd passing struct via msg_acctrights
-AC_CACHE_CHECK([for fd passing via msg_acctrights],
- samba_cv_msghdr_msg_acctrights, [
- AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <stdlib.h>
-#include <stddef.h>
-#include <sys/socket.h>
-#include <sys/un.h>],
-[
- struct msghdr msg;
- int fd;
- msg.msg_acctrights = (caddr_t) &fd;
- msg.msg_acctrightslen = sizeof(fd);
-],
- samba_cv_msghdr_msg_acctrights=yes,samba_cv_msghdr_msg_acctrights=no)])
-if test x"$samba_cv_msghdr_msg_acctrights" = x"yes"; then
- AC_DEFINE(HAVE_MSGHDR_MSG_ACCTRIGHTS,1,
- [If we can use msg_acctrights for passing file descriptors])
-fi
-
-AC_CHECK_FUNCS(dirfd)
-if test x"$ac_cv_func_dirfd" = x"yes"; then
- default_shared_modules="$default_shared_modules vfs_syncops vfs_dirsort"
-fi
-
-AC_CACHE_CHECK([for struct sigevent type],samba_cv_struct_sigevent, [
- AC_TRY_COMPILE([
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-#include <signal.h>],[struct sigevent s;],
- samba_cv_struct_sigevent=yes,samba_cv_struct_sigevent=no)])
-if test x"$samba_cv_struct_sigevent" = x"yes"; then
- AC_DEFINE(HAVE_STRUCT_SIGEVENT,1,[Whether we have the struct sigevent])
- AC_CHECK_MEMBERS([struct sigevent.sigev_value.sival_ptr,struct sigevent.sigev_value.sigval_ptr], , ,
- [#include <signal.h>])
-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,[
- AC_TRY_RUN([#include <errno.h>
-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])
-fi
-
-# Do the same check for setresguid...
-#
-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); 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])
-fi
-
-AC_FUNC_MEMCMP
-
-###############################################
-# Readline included by default unless explicitly asked not to
-test "${with_readline+set}" != "set" && with_readline=yes
-
-# test for where we get readline() from
-AC_MSG_CHECKING(whether to use readline)
-AC_ARG_WITH(readline,
-[AS_HELP_STRING([--with-readline[=DIR]], [Look for readline include/libs in DIR (default=auto)])],
-[ case "$with_readline" in
- yes)
- AC_MSG_RESULT(yes)
-
- AC_CHECK_HEADERS(readline.h history.h readline/readline.h)
- AC_CHECK_HEADERS(readline/history.h)
-
- AC_CHECK_HEADERS(readline.h readline/readline.h,[
- for termlib in ncurses curses termcap terminfo termlib tinfo; do
- AC_CHECK_LIB(${termlib}, tgetent, [TERMLIBS="-l${termlib}"; break])
- done
- AC_CHECK_LIB(readline, rl_callback_handler_install,
- [TERMLIBS="-lreadline $TERMLIBS"
- AC_DEFINE(HAVE_LIBREADLINE,1,[Whether the system has readline])
- break], [TERMLIBS=], $TERMLIBS)])
- ;;
- no)
- AC_MSG_RESULT(no)
- ;;
- *)
- AC_MSG_RESULT(yes)
-
- # Needed for AC_CHECK_HEADERS and AC_CHECK_LIB to look at
- # alternate readline path
- _ldflags=${LDFLAGS}
- _cppflags=${CPPFLAGS}
-
- # Add additional search path
- LDFLAGS="-L$with_readline/lib $LDFLAGS"
- CPPFLAGS="-I$with_readline/include $CPPFLAGS"
-
- AC_CHECK_HEADERS(readline.h history.h readline/readline.h)
- AC_CHECK_HEADERS(readline/history.h)
-
- AC_CHECK_HEADERS(readline.h readline/readline.h,[
- for termlib in ncurses curses termcap terminfo termlib; do
- AC_CHECK_LIB(${termlib}, tgetent, [TERMLIBS="-l${termlib}"; break])
- done
- AC_CHECK_LIB(readline, rl_callback_handler_install,
- [TERMLDFLAGS="-L$with_readline/lib"
- TERMCPPFLAGS="-I$with_readline/include"
- CPPFLAGS="-I$with_readline/include $CPPFLAGS"
- TERMLIBS="-lreadline $TERMLIBS"
- AC_DEFINE(HAVE_LIBREADLINE,1,[Whether the system has readline])
- break], [TERMLIBS= CPPFLAGS=$_cppflags], $TERMLIBS)])
-
- LDFLAGS=$_ldflags
- ;;
- esac],
- AC_MSG_RESULT(no)
-)
-AC_SUBST(TERMLIBS)
-AC_SUBST(TERMLDFLAGS)
-
-# The readline API changed slightly from readline3 to readline4, so
-# code will generate warnings on one of them unless we have a few
-# special cases.
-AC_CHECK_LIB(readline, rl_completion_matches,
- [AC_DEFINE(HAVE_NEW_LIBREADLINE, 1,
- [Do we have rl_completion_matches?])],
- [],
- [$TERMLIBS])
-
-# not all readline libs have rl_event_hook or history_list
-AC_CHECK_DECLS(rl_event_hook, [], [], [#include <readline/readline.h>])
-AC_CHECK_LIB(readline, history_list,
- [AC_DEFINE(HAVE_HISTORY_LIST, 1, [Do we have history_list?])],
- [],
- [$TERMLIBS])
-
-###############################################
-# test for where we get yp_get_default_domain() from
-AC_SEARCH_LIBS(yp_get_default_domain, [nsl])
-AC_CHECK_FUNCS(yp_get_default_domain)
-
-# Check if we have execl, if not we need to compile smbrun.
-AC_CHECK_FUNCS(execl)
-if test x"$ac_cv_func_execl" = x"no"; then
- EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/smbrun"
-fi
-
-AC_CHECK_FUNCS(getcwd fchown chmod fchmod mknod mknod64)
-AC_CHECK_FUNCS(strtol)
-AC_CHECK_FUNCS(strchr chflags)
-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 rdchk getgrnam getgrent pathconf)
-AC_CHECK_FUNCS(getgrset)
-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)
-AC_CHECK_FUNCS(getpwent_r)
-AC_CHECK_FUNCS(setenv strcasecmp fcvt fcvtl)
-AC_CHECK_FUNCS(syslog vsyslog timegm)
-AC_CHECK_FUNCS(setlocale)
-AC_CHECK_FUNCS(nanosleep,,[AC_CHECK_LIB_EXT(rt, LIBS, nanosleep)])
-AC_CHECK_FUNCS(lutimes futimes utimensat futimens)
-AC_CHECK_FUNCS(mlock munlock mlockall munlockall)
-AC_CHECK_FUNCS(memalign posix_memalign hstrerror)
-AC_CHECK_HEADERS(sys/mman.h)
-# setbuffer, shmget, shm_open are needed for smbtorture
-AC_CHECK_FUNCS(shmget shm_open)
-AC_CHECK_FUNCS(gettext dgettext)
-AC_CHECK_FUNCS(bindtextdomain textdomain bind_textdomain_codeset)
-AC_CHECK_FUNCS(strupr)
-
-# Find a method of generating a stack trace
-AC_CHECK_HEADERS(execinfo.h libexc.h libunwind.h)
-# libexecinfo provides backtrace_symbols on FreeBSD
-AC_SEARCH_LIBS(backtrace_symbols, [execinfo])
-AC_CHECK_FUNCS(backtrace_symbols)
-AC_CHECK_LIB(exc, trace_back_stack)
-
-# check for sysctlbyname and sysctl for BSD systems
-AC_CHECK_FUNCS(sysctlbyname)
-AC_CHECK_FUNCS(sysctl)
-
-#################################################
-# Check to see if core dump directory is defined in linux
-# with /proc/sys/kernel/core_pattern
-
-AC_CHECK_FILE([/proc/sys/kernel/core_pattern],
- AC_DEFINE(HAVE_SYS_KERNEL_PROC_CORE_PATTERN, 1,
- [Whether Linux kernel uses core_pattern for core files]),
- [])
-
-#############################
-# check if building with gpfs
-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"
-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.
-AC_MSG_CHECKING([for libunwind])
-save_LIBS=$LIBS
-
-UNWIND_ARCH="unknown"
-if test x"$UNAME_I" != x"unknown"; then
- UNWIND_ARCH="$UNAME_I"
-elif test x"$UNAME_M" != x"unknown"; then
- UNWIND_ARCH="$UNAME_M"
-elif test x"$UNAME_P" != x"unknown"; then
- UNWIND_ARCH="$UNAME_P"
-fi
-
-case "$UNWIND_ARCH" in
- unknown)
- # This probably won't link without
- # the platform-specific libunwind.
- LIBS="$LIBS -lunwind"
- ;;
- i386|i586|i686)
- # Add the platform-specific libunwind module.
- LIBS="$LIBS -lunwind -lunwind-x86"
- ;;
- *)
- # Add the platform-specific libunwind module.
- # based on uname -i, uname -m or uname -p
- LIBS="$LIBS -lunwind -lunwind-$UNWIND_ARCH"
- ;;
-esac
-
-AC_TRY_LINK(
- [
-#ifdef HAVE_LIBUNWIND_H
-#include <libunwind.h>
-#endif
- ],
- [
- unw_context_t ctx; unw_cursor_t cur;
- char buf[256]; unw_word_t off;
- unw_getcontext(&ctx); unw_init_local(&cur, &ctx);
- unw_get_proc_name(&cur, buf, sizeof(buf), &off);
- ],
- [
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_LIBUNWIND, 1, [Whether libunwind is available])
-
- # If we have libunwind, test whether we also have libunwind-ptrace
- # which would let us unwind arbitrary processes.
- save_LIBS=$LIBS
- AC_CHECK_HEADERS(libunwind-ptrace.h)
- AC_CHECK_LIB(unwind-ptrace, _UPT_create,
- [
- LIBUNWIND_PTRACE="-lunwind-ptrace";
- AC_DEFINE(HAVE_LIBUNWIND_PTRACE, 1,
- [Whether libunwind-ptrace.a is available.])
- ],
- [ LIBUNWIND_PTRACE="" ])
-
- LIBS=$save_LIBS
- ],
- [
- AC_MSG_RESULT(no)
- LIBS=$save_LIBS
- ])
-
-# To use libunwind-ptrace, we also need to make some ptrace system calls.
-if test x"$LIBUNWIND_PTRACE" != x"" ; then
- AC_CHECK_HEADERS(sys/ptrace.h)
- AC_MSG_CHECKING([for the Linux ptrace(2) interface])
- AC_TRY_LINK(
- [
-#if HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#if HAVE_SYS_PTRACE_H
-#include <sys/ptrace.h>
-#endif
- ],
- [
- pid_t me = (pid_t)-1;
- ptrace(PTRACE_ATTACH, me, 0, 0);
- ptrace(PTRACE_DETACH, me, 0, 0);
- return 0;
- ],
- [
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_LINUX_PTRACE, 1,
- [Whether the Linux ptrace(2) interface is available.])
- ],
- [
- AC_MSG_RESULT(no)
- LIBUNWIND_PTRACE=""
- ])
-fi
-
-AC_SUBST(LIBUNWIND_PTRACE)
-
-AC_CHECK_FUNCS(_dup _dup2 _opendir _readdir _seekdir _telldir _closedir)
-AC_CHECK_FUNCS(__dup __dup2 __opendir __readdir __seekdir __telldir __closedir)
-AC_CHECK_FUNCS(__getcwd _getcwd)
-AC_CHECK_FUNCS(__xstat __fxstat __lxstat)
-AC_CHECK_FUNCS(_stat _lstat _fstat __stat __lstat __fstat)
-AC_CHECK_FUNCS(_acl __acl _facl __facl _open __open _chdir __chdir)
-AC_CHECK_FUNCS(_close __close _fchdir __fchdir _fcntl __fcntl)
-AC_CHECK_FUNCS(getdents __getdents _lseek __lseek _read __read)
-AC_CHECK_FUNCS(getdirentries _write __write _fork __fork)
-AC_CHECK_FUNCS(__sys_llseek llseek _llseek __llseek)
-AC_CHECK_FUNCS(pread _pread __pread)
-AC_CHECK_FUNCS(pwrite _pwrite __pwrite)
-AC_CHECK_FUNCS(prctl)
-
-AC_TRY_COMPILE([
-#ifdef HAVE_SYS_PRCTL_H
-#include <sys/prctl.h>
-#endif
-],
-[int i; i = prtcl(0); ],
-AC_DEFINE(HAVE_PRCTL, 1, [Whether prctl is available]),[])
-
-#
-#
-#
-case "$host_os" in
- *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu)
- # glibc <= 2.3.2 has a broken getgrouplist
- AC_CACHE_CHECK([for good getgrouplist],samba_cv_linux_getgrouplist_ok,[AC_TRY_RUN([
-#include <unistd.h>
-#include <sys/utsname.h>
-main() {
- /* glibc up to 2.3 has a broken getgrouplist */
-#if defined(__GLIBC__) && defined(__GLIBC_MINOR__)
- int libc_major = __GLIBC__;
- int libc_minor = __GLIBC_MINOR__;
-
- if (libc_major < 2)
- return(1);
- if ((libc_major == 2) && (libc_minor <= 3))
- return(1);
-#endif
- return(0);
-}
-], [samba_cv_linux_getgrouplist_ok=yes],
- [samba_cv_linux_getgrouplist_ok=no],
- [samba_cv_linux_getgrouplist_ok=cross])])
- if test x"$samba_cv_linux_getgrouplist_ok" = x"yes"; then
- AC_DEFINE(HAVE_GETGROUPLIST, 1, [Have good getgrouplist])
- fi
- ;;
- *)
- AC_CHECK_FUNCS(getgrouplist)
- ;;
-esac
-
-#################################################
-# Check whether struct stat has timestamps with sub-second resolution.
-#
-
-samba_cv_stat_hires=no
-AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec], # Linux, Solaris
- [samba_cv_stat_hires=yes])
-AC_CHECK_MEMBERS([struct stat.st_mtimensec], # BSD, if defined _POSIX_SOURCE
- [samba_cv_stat_hires=yes])
-AC_CHECK_MEMBERS([struct stat.st_mtimespec.tv_nsec], # BSD, if not defined _POSIX_SOURCE
- [samba_cv_stat_hires=yes])
-AC_CHECK_MEMBERS([struct stat.st_mtime_n], # AIX
- [samba_cv_stat_hires=yes])
-AC_CHECK_MEMBERS([struct stat.st_umtime], # Tru64
- [samba_cv_stat_hires=yes])
-
-if test x"$samba_cv_stat_hires" = x"yes" ; then
- AC_DEFINE(HAVE_STAT_HIRES_TIMESTAMPS, 1,
- [whether struct stat has sub-second timestamps])
-fi
-
-# recent FreeBSD, NetBSD have creation timestamps called birthtime:
-AC_CHECK_MEMBERS([struct stat.st_birthtimespec.tv_nsec])
-AC_CHECK_MEMBERS([struct stat.st_birthtime], AC_CHECK_MEMBERS([struct stat.st_birthtimensec]))
-
-
-AC_CACHE_CHECK([whether there is DOS flags support in the stat struct], samba_cv_stat_dos_flags,
- [
- AC_TRY_COMPILE(
- [#include <sys/stat.h>],
- [
- int a = UF_DOS_ARCHIVE;
- int h = UF_DOS_HIDDEN;
- int r = UF_DOS_RO;
- int s = UF_DOS_SYSTEM;
- int i = UF_DOS_NOINDEX;
- int f = UF_DOS_FLAGS;
- ],
- samba_cv_stat_dos_flags=yes, samba_cv_stat_dos_flags=no)
- ])
-
-if test x"$samba_cv_stat_dos_flags" = x"yes" ; then
- AC_DEFINE(HAVE_STAT_DOS_FLAGS, 1, [whether there is DOS flags support in the stat struct])
-fi
-
-AC_CACHE_CHECK([whether we can compile with __attribute__((destructor))],
- samba_cv_function_attribute_destructor,
- [
- AC_COMPILE_IFELSE([AC_LANG_SOURCE(
- [
- __attribute__((destructor))
- static void cleanup(void) { }
- ])],
- samba_cv_function_attribute_destructor=yes)
- ])
-
-if test x"$samba_cv_function_attribute_destructor" = xyes ; then
- AC_DEFINE(HAVE_FUNCTION_ATTRIBUTE_DESTRUCTOR, 1,
- [whether we can compile with __attribute__((destructor))])
-fi
-
-#####################################
-# needed for SRV lookups
-AC_CHECK_LIB(resolv, dn_expand)
-AC_CHECK_LIB(resolv, _dn_expand)
-AC_CHECK_LIB(resolv, __dn_expand)
-AC_CHECK_LIB(inet, dn_expand)
-
-#
-# Check for the functions putprpwnam, set_auth_parameters,
-# getspnam, bigcrypt and getprpwnam in -lsec and -lsecurity
-# Needed for OSF1 and HPUX.
-#
-
-AC_LIBTESTFUNC(security, putprpwnam)
-AC_LIBTESTFUNC(sec, putprpwnam)
-
-AC_LIBTESTFUNC(security, set_auth_parameters)
-AC_LIBTESTFUNC(sec, set_auth_parameters)
-
-# UnixWare 7.x has its getspnam in -lgen
-AC_LIBTESTFUNC(gen, getspnam)
-
-AC_LIBTESTFUNC(security, getspnam)
-AC_LIBTESTFUNC(sec, getspnam)
-
-AC_LIBTESTFUNC(security, bigcrypt)
-AC_LIBTESTFUNC(sec, bigcrypt)
-
-AC_LIBTESTFUNC(security, getprpwnam)
-AC_LIBTESTFUNC(sec, getprpwnam)
-
-AC_CHECK_FUNCS(strsignal)
-
-AC_DISABLE_STATIC
-AC_ENABLE_SHARED
-
-# Set defaults
-PIE_CFLAGS=""
-PIE_LDFLAGS=""
-AC_ARG_ENABLE(pie, [AS_HELP_STRING([--enable-pie], [Turn on pie support if available (default=yes)])])
-
-if test "x$enable_pie" != xno
-then
- AC_CACHE_CHECK(for -pie and -fPIE, samba_cv_fpie,
- [
- cat > conftest.c <<EOF
-int foo;
-int main () { return 0;}
-EOF
- if AC_TRY_COMMAND_NO_STDERR([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fPIE -o conftest conftest.c])
- then
- samba_cv_fpie=yes
- else
- samba_cv_fpie=no
- fi
- rm -f conftest*
- ])
- if test x"${samba_cv_fpie}" = x"yes"
- then
- PIE_CFLAGS="-fPIE"
- PIE_LDFLAGS="-pie"
- fi
-fi
-
-# Set defaults
-RELRO_LDFLAGS=""
-AC_ARG_ENABLE(relro, [AS_HELP_STRING([--enable-relro], [Turn on Relocations Read-Only (relro) support if available (default=yes)])])
-
-if test "x$enable_relro" != xno
-then
- AC_CACHE_CHECK([for -Wl,-z,relro], samba_cv_relro,
- [
- cat > conftest.c <<EOF
-int foo;
-main () { return 0;}
-EOF
- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -Wl,-z,relro -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
- then
- samba_cv_relro=yes
- else
- samba_cv_relro=no
- fi
- rm -f conftest*
- ])
- if test x"${samba_cv_relro}" = x"yes"
- then
- RELRO_LDFLAGS="-Wl,-z,relro"
- fi
-fi
-
-# Set defaults
-SYMSEXT="syms"
-AC_SUBST(SYMSEXT)
-
-# Assume non-shared by default and override below
-BLDSHARED="false"
-
-# these are the defaults, good for lots of systems
-HOST_OS="$host_os"
-LDSHFLAGS="-shared"
-MODULE_EXPORTS=""
-SONAMEFLAG="#"
-SHLD="\${CC} \${CFLAGS}"
-PICFLAG="${PIE_CFLAGS}"
-SHLIBEXT="so"
-DSO_EXPORTS=""
-
-# this bit needs to be modified for each OS that supports share libs
-# You need to specify how to create a shared library and
- # how to compile C code to produce PIC object files
-
- AC_MSG_CHECKING([ability to build shared libraries])
-
- # and these are for particular systems
- case "$host_os" in
- *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu | *qnx*)
- case "$host_os" in
- *linux*) AC_DEFINE(LINUX,1,[Whether the host os is linux]) ;;
- *qnx*) AC_DEFINE(QNX,1,[Whether the host os is qnx]) ;;
- esac
- BLDSHARED="true"
- LDSHFLAGS="-shared -Wl,-Bsymbolic"
- if test "${ac_cv_gnu_ld_no_default_allow_shlib_undefined}" = "yes"; then
- LDSHFLAGS_Z_NODEFS="-Wl,--allow-shlib-undefined"
- fi
- DYNEXP="-Wl,--export-dynamic"
- PICFLAG="-fPIC"
- SONAMEFLAG="-Wl,-soname="
- AC_DEFINE(STAT_ST_BLOCKSIZE,512)
- ;;
- *solaris*) AC_DEFINE(SUNOS5,1,[Whether the host os is solaris])
- BLDSHARED="true"
- if test "${GCC}" = "yes"; then
- PICFLAG="-fPIC"
- SONAMEFLAG="-Wl,-soname="
- if test "${ac_cv_prog_gnu_ld}" = "yes"; then
- DYNEXP="-Wl,-E"
- fi
- LDSHFLAGS="-shared"
- else
- PICFLAG="-KPIC"
- LDSHFLAGS="-G"
- fi
- if test "$ac_cv_prog_gnu_ld" = "yes"; then
- SONAMEFLAG="-Wl,-soname="
- else
- SONAMEFLAG="-Wl,-h,"
- fi
- AC_DEFINE(STAT_ST_BLOCKSIZE,512,[The size of a block])
- ;;
- *sunos*) AC_DEFINE(SUNOS4,1,[Whether the host os is sunos4])
- BLDSHARED="true"
- LDSHFLAGS="-G"
- SONAMEFLAG="-Wl,-h,"
- PICFLAG="-KPIC" # Is this correct for SunOS
- AC_DEFINE(STAT_ST_BLOCKSIZE,512)
- ;;
- *netbsd* | *freebsd* | *dragonfly* )
- BLDSHARED="true"
- LDSHFLAGS="-shared"
- DYNEXP="-Wl,--export-dynamic"
- SONAMEFLAG="-Wl,-soname,"
- PICFLAG="-fPIC -DPIC"
- AC_DEFINE(STAT_ST_BLOCKSIZE,512,[The size of a block])
- ;;
- *openbsd*) BLDSHARED="true"
- LDSHFLAGS="-shared"
- DYNEXP="-Wl,-Bdynamic"
- SONAMEFLAG="-Wl,-soname,"
- PICFLAG="-fPIC"
- AC_DEFINE(STAT_ST_BLOCKSIZE,512,[The size of a block])
- ;;
- *irix*) BLDSHARED="true"
- LDSHFLAGS="-Wl,-set_version,sgi1.0 -shared"
- SONAMEFLAG="-Wl,-soname,"
- if test "${GCC}" = "yes"; then
- PICFLAG="-fPIC"
- else
- PICFLAG="-KPIC"
- fi
- AC_DEFINE(STAT_ST_BLOCKSIZE,512,[The size of a block])
- ;;
- *aix*) AC_DEFINE(AIX,1,[Whether the host os is aix])
- BLDSHARED="true"
- # use expfull to export underscored symbols
- # add rtl to remove /lib/crt0.o warning
- LDSHFLAGS="-Wl,-G,-bexpfull,-bbigtoc,-brtl"
- DYNEXP="-Wl,-brtl,-bexpfull,-bbigtoc"
- PICFLAG="-O2"
- # as AIX code is always position independent...
- # .po will just create compile warnings, use po.o:
- if test "${GCC}" != "yes"; then
- ## for funky AIX compiler using strncpy()
- CFLAGS="$CFLAGS -D_LINUX_SOURCE_COMPAT -qmaxmem=32000 -qhalt=e"
- fi
-
- AC_DEFINE(STAT_ST_BLOCKSIZE,DEV_BSIZE,[The size of a block])
- AC_DEFINE(BROKEN_STRNLEN,1,[Does strnlen work correctly])
- AC_DEFINE(BROKEN_STRNDUP,1,[Does strndup work correctly])
- ;;
- *hpux*) AC_DEFINE(HPUX,1,[Whether the host os is HPUX])
- # ia64: 64bit build using gcc with CFLAGS="-mpl64"
- # 64bit build using HP's cc with CFLAGS="+DD64"
- # hppa: 64bit build unsupported by gcc
- # 64bit build using HP's cc with CFLAGS="+DA2.0w"
- # HP-UX 11.00 ld needs PHSS_33034
- BLDSHARED="true"
- if test "${GCC}" = "yes"; then
- PICFLAG="-fPIC"
- LDSHFLAGS="-shared"
- else
- PICFLAG="+z"
- LDSHFLAGS="-b"
- # "Uses depth-first symbol resolution"
- LDSHFLAGS="$LDSHFLAGS -Wl,-B,symbolic,-b"
- if test "$host_cpu" != "ia64"; then
- # "don't store literals in read-only memory" (?):
- PICFLAG="$PICFLAG +ESnolit"
- fi
- fi
- if test "$host_cpu" = "ia64"; then
- SHLIBEXT="so"
- # TODO: does the linker find the right 32/64 bit version of the libs? :
- DYNEXP="-Wl,-E,+b/usr/local/lib/hpux32:/usr/lib/hpux32:/usr/local/lib/hpux64:/usr/lib/hpux64"
- else
- SHLIBEXT="sl"
- DYNEXP="-Wl,-E,+b/usr/local/lib:/usr/lib"
- fi
- if test "$ac_cv_prog_gnu_ld" = "yes"; then
- SONAMEFLAG="-Wl,-soname="
- else
- SONAMEFLAG="-Wl,+h,"
- fi
- # PIE/PIC flags at link time are required on HP-UX because
- # linking requires a temporary source file, which is being
- # compiled with the indicated flags - which need to contain
- # PIC flags when we don't support PIE flags:
- if test "$PIE_LDFLAGS" = "" ; then
- PIE_LDFLAGS=\${PICFLAG}
- fi
- AC_DEFINE(STAT_ST_BLOCKSIZE,8192,[The size of a block])
- AC_DEFINE(POSIX_ACL_NEEDS_MASK,1,[Does a POSIX ACL need a mask element])
- ;;
- *osf*) AC_DEFINE(OSF1,1,[Whether the host os is osf1])
- BLDSHARED="true"
- LDSHFLAGS="-shared"
- SONAMEFLAG="-Wl,-soname,"
- if test "${GCC}" = "yes"; then
- PICFLAG="-fPIC"
- fi
- AC_DEFINE(STAT_ST_BLOCKSIZE,512)
- for flags in "-expect_unresolved '*'" "-Wl,-expect_unresolved,'*'" ; do
- saved_ldflags="$LDFLAGS"
- AC_MSG_CHECKING([if $flags works])
- LDFLAGS="$flags $saved_ldflags"
- AC_TRY_LINK([],[],
- [AC_MSG_RESULT([yes])
- LDSHFLAGS_Z_NODEFS=$flags],
- AC_MSG_RESULT([no]))
- LDFLAGS="$saved_ldflags"
- test x"$LDSHFLAGS_Z_NODEFS" != x && break
- done
- ;;
- *sco*) AC_DEFINE(STAT_ST_BLOCKSIZE,512)
- ;;
- *unixware*) BLDSHARED="true"
- LDSHFLAGS="-shared"
- SONAMEFLAG="-Wl,-soname,"
- PICFLAG="-KPIC"
- AC_DEFINE(STAT_ST_BLOCKSIZE,512)
- ;;
- *next2*) AC_DEFINE(NEXT2,1,[Whether the host os is NeXT v2])
- AC_DEFINE(STAT_ST_BLOCKSIZE,512)
- ;;
- *dgux*) AC_CHECK_PROG( ROFF, groff, [groff -etpsR -Tascii -man])
- AC_DEFINE(STAT_ST_BLOCKSIZE,512)
- ;;
- *sysv4*) AC_DEFINE(SYSV,1,[Whether this is a system V system])
- case "$host" in
- *-univel-*) if [ test "$GCC" != yes ]; then
- AC_DEFINE(HAVE_MEMSET,1,[Whether memset() is available])
- fi
- LDSHFLAGS="-G"
- DYNEXP="-Bexport"
- ;;
- *mips-sni-sysv4*) AC_DEFINE(RELIANTUNIX,1,[Whether the host os is reliantunix]);;
- esac
- AC_DEFINE(STAT_ST_BLOCKSIZE,512)
- ;;
-
- *sysv5*) AC_DEFINE(SYSV,1,[Whether this is a system V system])
- if [ test "$GCC" != yes ]; then
- AC_DEFINE(HAVE_MEMSET,1,[Whether memset() is available])
- fi
- LDSHFLAGS="-G"
- AC_DEFINE(STAT_ST_BLOCKSIZE,512)
- ;;
- *vos*) AC_DEFINE(STAT_ST_BLOCKSIZE,4096)
- BLDSHARED="false"
- LDSHFLAGS=""
- ;;
-
- *darwin*) AC_DEFINE(DARWINOS,1,[Whether the host os is Darwin/MacOSX])
- BLDSHARED="true"
- LDSHFLAGS="-dynamiclib -flat_namespace -undefined suppress"
- CFLAGS="$CFLAGS -fno-common"
- SHLD="\${CC}"
- SHLIBEXT="dylib"
- MODULE_EXPORTS="-exported_symbols_list \$(srcdir)/exports/modules-darwin.syms"
- SHLIBEXT="dylib"
- # Since gcc doesn't fail on unrecognised options, the
- # PIE test incorrectly succeeds. Darwin gcc does not
- # actually support the PIE stuff.
- PIE_LDFLAGS=
- PIE_CFLAGS=
- AC_DEFINE(STAT_ST_BLOCKSIZE,512)
- ;;
-
- *)
- AC_DEFINE(STAT_ST_BLOCKSIZE,512)
- ;;
- esac
-
-if test "$enable_shared" != "yes"; then
- BLDSHARED=false
-fi
-
-if test "$enable_shared" = yes -a "${ac_cv_gnu_ld_version_script}" = yes; then
- DSO_EXPORTS=\$\(DSO_EXPORTS_CMD\)
-fi
-
-if test x"$BLDSHARED" = x"true" ; then
- LDFLAGS="$LDFLAGS -L./bin"
-fi
-
-AC_MSG_RESULT($BLDSHARED)
-
-if test x"$enable_developer" = x"yes" ; then
- default_as_needed=auto
-else
- default_as_needed=no
-fi
-AC_ARG_ENABLE(as-needed,
- AS_HELP_STRING([--enable-as-needed],
- [Turn on as-needed support if available (default=no)]),
- [enable_as_needed=$enableval],
- [enable_as_needed=$default_as_needed])
-if test "x$enable_as_needed" != xno; then
- saved_before_as_needed_ldflags="$LDFLAGS"
- for flags in "-Wl,--as-needed" "-Wl,-z,ignore" "-z ignore" ; do
- saved_ldflags="$LDFLAGS"
- AC_MSG_CHECKING([if $flags works])
- LDFLAGS="$flags $saved_ldflags"
- AC_TRY_LINK([],[],
- [AC_MSG_RESULT([yes])
- LD_AS_NEEDED_FLAG=$flags
- ld_as_needed_flag_found=yes],
- AC_MSG_RESULT([no]))
- LDFLAGS="$LD_AS_NEEDED_FLAG $saved_ldflags"
- test x"$ld_as_needed_flag_found" = xyes && break
- done
-fi
-
-if test x$ld_as_needed_flag_found = xyes -a x$enable_as_needed = xauto ; then
-# check if ld has bug described in https://bugzilla.samba.org/show_bug.cgi?id=7209#c17
- AC_MSG_CHECKING([if $LD_AS_NEEDED_FLAG has explicit external libs bug])
-cat > conftest_shb.c <<END
-void b() {}
-END
-cat > conftest_sha.c <<END
-extern void b();
-void a() {
- b();
-}
-END
-cat > conftest.c <<END
-extern void a();
-int main() {
- a();
- return 0;
-}
-END
-
- rm -fr conftest
- AC_TRY_COMMAND([$CC $CPPFLAGS $CFLAGS $PICFLAG -c -o conftest_sha.o conftest_sha.c 1>&AS_MESSAGE_LOG_FD 2>&1])
- AC_TRY_COMMAND([$CC $CPPFLAGS $CFLAGS $PICFLAG -c -o conftest_shb.o conftest_shb.c 1>&AS_MESSAGE_LOG_FD 2>&1])
- TESTCMD="`eval echo \"$SHLD $LDSHFLAGS $PICFLAG\"`"
- AC_TRY_COMMAND([$TESTCMD -o libconftest_shb.$SHLIBEXT conftest_shb.o 1>&AS_MESSAGE_LOG_FD 2>&1])
- AC_TRY_COMMAND([$TESTCMD -o libconftest_sha.$SHLIBEXT conftest_sha.o 1>&AS_MESSAGE_LOG_FD 2>&1])
- AC_TRY_COMMAND([$CC -o conftest conftest.c $LDFLAGS -L. -lconftest_sha -lconftest_shb 1>&AS_MESSAGE_LOG_FD 2>&1])
- if AC_TRY_COMMAND([eval "$LIB_PATH_VAR=. ./conftest 1>&AS_MESSAGE_LOG_FD 2>&1"])
- then
- AC_MSG_RESULT([no])
- else
- ld_as_needed_flag_found=no
- LDFLAGS="$saved_before_as_needed_ldflags"
- AC_MSG_RESULT([yes])
- fi
- rm conftest* libconftest*
-fi
-
-# check if we have to disable LD_AS_NEEDED_FLAG:
-# On some systems for a veriety of reasons linking with
-# -Wl,--as-needed -lreadline -lncurses fails
-# we have to retest, if these combination is detected before.
-# Bugzilla #7209
-
-if test x$ac_cv_lib_readline_rl_callback_handler_install = xyes ; then
- if test x$ld_as_needed_flag_found = xyes ; then
- AC_MSG_CHECKING([if $LD_AS_NEEDED_FLAG works with readline])
- # try if check no fails
- save_LIBS=$LIBS
- LIBS="$LIBS $TERMLIBS"
- AC_TRY_LINK([], [rl_callback_handler_install();], [AC_MSG_RESULT([yes])],[ AC_MSG_RESULT([no]); LDFLAGS="$saved_before_as_needed_ldflags"])
- LIBS="$save_LIBS"
- fi
-fi
-
-
-
-# for historical reasons almost all linkers don't complain about unresolved
-# symbols in shared libs. Except for the internal samba modules we want to get
-# errors when we produce a shared lib with unresolved symbols. On some
-# platforms unresolved symbols might be intended, so we might have to add
-# platform specific exceptions here.
-
-for flags in "-Wl,-z,defs" "-error_unresolved" "-Wl,-error_unresolved" ; do
- saved_ldflags="$LDFLAGS"
- AC_MSG_CHECKING([if $flags works])
- LDFLAGS="$flags $saved_ldflags"
- AC_TRY_LINK([],[],
- [AC_MSG_RESULT([yes])
- LDSHFLAGS_Z_DEFS=$flags
- ldshflags_z_defs_found=yes],
- AC_MSG_RESULT([no]))
- LDFLAGS=$saved_ldflags
- test x"$ldshflags_z_defs_found" = xyes && break
-done
-
-AC_MSG_CHECKING([LDSHFLAGS_Z_DEFS])
-AC_MSG_RESULT([$LDSHFLAGS_Z_DEFS])
-AC_MSG_CHECKING([LDFLAGS])
-AC_MSG_RESULT([$LDFLAGS])
-AC_MSG_CHECKING([DYNEXP])
-AC_MSG_RESULT([$DYNEXP])
-
-#######################################################
-# test whether building a shared library actually works
-if test $BLDSHARED = true; then
-
-AC_MSG_CHECKING([SHLD])
-AC_MSG_RESULT([$SHLD])
-AC_MSG_CHECKING([LDSHFLAGS])
-AC_MSG_RESULT([$LDSHFLAGS])
-
-AC_MSG_CHECKING([SHLIBEXT])
-AC_MSG_RESULT([$SHLIBEXT])
-AC_MSG_CHECKING([SONAMEFLAG])
-AC_MSG_RESULT([$SONAMEFLAG])
-
-AC_MSG_CHECKING([PICFLAG])
-AC_MSG_RESULT([$PICFLAG])
-
-AC_MSG_CHECKING([NSSSONAMEVERSIONSUFFIX])
-AC_MSG_RESULT([$NSSSONAMEVERSIONSUFFIX])
-
-AC_CACHE_CHECK([whether building shared libraries actually works],
- [ac_cv_shlib_works],[
- # try building a trivial shared library
- ac_cv_shlib_works=no
- # The $SHLD and $LDSHFLAGS variables may contain references to other
- # variables so they need to be eval'ed.
- if AC_TRY_COMMAND([$CC $CPPFLAGS $CFLAGS $PICFLAG -c -o shlib.o ${srcdir-.}/../tests/shlib.c 1>&AS_MESSAGE_LOG_FD])
- then
- TESTCMD="`eval echo \"$SHLD $LDSHFLAGS $PICFLAG\"`"
- TESTCMD="$TESTCMD -o \"shlib.$SHLIBEXT\" shlib.o"
- if AC_TRY_COMMAND([eval $TESTCMD 1>&AS_MESSAGE_LOG_FD 2>&1])
- then
- ac_cv_shlib_works=yes
- fi
- fi
- rm -f "shlib.$SHLIBEXT" shlib.o
-
-])
-if test $ac_cv_shlib_works = no; then
- BLDSHARED=false
-fi
-fi
-
-if test x"$BLDSHARED" != x"true"; then
- LDSHFLAGS="shared-libraries-disabled"
- SONAMEFLAG="shared-libraries-disabled"
- NSSSONAMEVERSIONSUFFIX="shared-libraries-disabled"
- SHLD="shared-libraries-disabled"
- PICFLAG="${PIE_CFLAGS}"
- SHLIBEXT="shared_libraries_disabled"
- smbtorture_possible=no
-fi
-
-AC_MSG_CHECKING([used PICFLAG])
-AC_MSG_RESULT([$PICFLAG])
-
-AC_DEFINE_UNQUOTED(SHLIBEXT, "$SHLIBEXT", [Shared library extension])
-
-
-
-###########################################################
-#
-# Configuration of subsystems / libraries
-#
-###########################################################
-
-INSTALLLIBCMD_SH=:
-INSTALLLIBCMD_A=:
-UNINSTALLLIBCMD_SH=:
-UNINSTALLLIBCMD_A=:
-
-if test $BLDSHARED = true; then
- INSTALLLIBCMD_SH="\$(INSTALLCMD)"
- UNINSTALLLIBCMD_SH="rm -f"
-fi
-if test $enable_static = yes; then
- INSTALLLIBCMD_A="\$(INSTALLCMD)"
- UNINSTALLLIBCMD_A="rm -f"
-fi
-
-#################################################
-# --disable-shared-libs
-# can be used to disable the internal use of shared libs altogether
-# (this only has an effect when building shared libs is enabled)
-#
-USESHARED=false
-AC_SUBST(USESHARED)
-
-AC_MSG_CHECKING(whether to use shared libraries internally)
-AC_ARG_ENABLE([shared-libs],
- AS_HELP_STRING([--enable-shared-libs],
- [Use shared libraries internally (default=yes)]),
- [enable_shared_libs=$enableval],
- [enable_shared_libs=yes])
-
-if test x"$enable_shared_libs" != x"no" ; then
- USESHARED=$BLDSHARED
-fi
-
-AC_MSG_RESULT([$USESHARED])
-
-if test x"$enable_shared_libs" = x"yes" -a x"$BLDSHARED" != x"true" ; then
- AC_MSG_WARN([--enable-shared-libs: no support for shared libraries])
-fi
-
-#################################################
-# --with-static-libs=LIBS:
-# link (internal) libs dynamically or statically?
-#
-# If a subsystem is built as a library then this controls whether they are
-# linked into Samba targets statically or dynamically:
-#
-# * If we build the shared library at all, we link dynamically by default.
-#
-# * We only link statically if we don't build shared or if the library
-# appears in the --with-static-libs configure option.
-#
-# Example:
-# --with-static-libs=libtalloc makes use of libtalloc.a instead
-# of linking the dynamic variant with -ltalloc.
-#
-# NOTE: This option only affects libraries that we do not only build
-# but that samba also links against as libraries (as opposed to linking
-# the plain object files. - This has to be configured in Makefile.in.
-# So in particular it does not harm to give invalid or unknown names here.
-#
-
-AC_ARG_WITH([static-libs],
- [AS_HELP_STRING([--with-static-libs=LIBS],
- [Comma-separated list of names of (internal) libraries to link statically (instead of dynamically)])],
- [AS_IF([test $withval],
- [for lib in `echo $withval | sed -e 's/,/ /g'` ; do
- [lib=`echo $lib | tr '[a-z]' '[A-Z]'`]
- eval LINK_$lib=STATIC
- done], [])],
- [])
-
-#
-# WORKAROUND:
-# until we have organized other internal subsystems (as util, registry
-# and smbconf) into shared libraries, we CAN NOT link libnetapi
-# dynamically to samba programs.
-#
-LINK_LIBNETAPI=STATIC
-
-LINK_LIBSMBCLIENT=STATIC
-
-#
-# The library versions are hardcoded here
-# and filled into the LIBFOO_SOVER variable.
-#
-# TODO: for talloc and tdb (at least), these should
-# be extracted from their respective source directories
-#
-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.1,
- [ 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
- LIBTALLOCVERSION=`grep ^VERSION ${tallocdir}/wscript | sed -e "s/'//g" -e 's/.* //'`
- SMB_LIBRARY(talloc, 2, ${LIBTALLOCVERSION})
- LIBTALLOC_OBJ0=""
- for obj in ${TALLOC_OBJ}; do
- LIBTALLOC_OBJ0="${LIBTALLOC_OBJ0} ${tallocdir}/${obj}"
- done
- SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TALLOC_CFLAGS}"
- SAMBA_CONFIGURE_CPPFLAGS="${SAMBA_CONFIGURE_CPPFLAGS} ${TALLOC_CFLAGS}"
- AC_SUBST(LIBTALLOC_OBJ0)
-
- TALLOCTORT="bin/talloctort"
- AC_SUBST(TALLOCTORT)
-fi
-
-
-AC_ARG_ENABLE(external_libtdb,
- [AS_HELP_STRING([--enable-external-libtdb],
- [Enable external tdb [default=auto]])],
- [ enable_external_libtdb=$enableval ],
- [ enable_external_libtdb=auto ])
-
-if test "x$enable_external_libtdb" != xno
-then
- PKG_CHECK_MODULES(LIBTDB, tdb >= 1.2.6,
- [ 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
- LIBTDBVERSION=`grep ^VERSION ${tdbdir}/wscript | sed -e "s/'//g" -e 's/.* //'`
- SMB_LIBRARY(tdb, 1, ${LIBTDBVERSION})
- LIBTDB_OBJ0=""
- LIBTDB_LIBS="$LIBTDB_LIBS $TDB_DEPS"
- for obj in ${TDB_OBJ}; do
- LIBTDB_OBJ0="${LIBTDB_OBJ0} ${tdbdir}/${obj}"
- done
- AC_SUBST(LIBTDB_OBJ0)
- SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TDB_CFLAGS}"
- SAMBA_CONFIGURE_CPPFLAGS="${SAMBA_CONFIGURE_CPPFLAGS} ${TDB_CFLAGS}"
-
- TDBBACKUP="bin/tdbbackup"
- AC_SUBST(TDBBACKUP)
- TDBDUMP="bin/tdbdump"
- AC_SUBST(TDBDUMP)
- TDBRESTORE="bin/tdbrestore"
- AC_SUBST(TDBRESTORE)
- TDBTOOL="bin/tdbtool"
- AC_SUBST(TDBTOOL)
- TDBTORTURE="bin/tdbtorture"
- 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)
-
-
-################
-
-AC_CACHE_CHECK([for long long],samba_cv_have_longlong,[
-AC_TRY_RUN([#include <stdio.h>
-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_CHECK_TYPE(intptr_t, unsigned long long)
-else
- AC_CHECK_TYPE(intptr_t, unsigned long)
-fi
-
-#
-# Check if the compiler supports the LL prefix on long long integers.
-# AIX needs this.
-
-AC_CACHE_CHECK([for LL suffix on long long integers],samba_cv_compiler_supports_ll, [
- AC_TRY_COMPILE([#include <stdio.h>],[long long i = 0x8000000000LL],
- samba_cv_compiler_supports_ll=yes,samba_cv_compiler_supports_ll=no)])
-if test x"$samba_cv_compiler_supports_ll" = x"yes"; then
- AC_DEFINE(COMPILER_SUPPORTS_LL,1,[Whether the compiler supports the LL prefix on long long integers])
-fi
-
-
-AC_CACHE_CHECK([for 64 bit time_t],samba_cv_SIZEOF_TIME_T,[
-AC_TRY_RUN([#include <time.h>
-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])
-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) {
- return(0);
- }
- }
- }
- 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_DEFINE(TIME_T_MAX,67768036191676799ll,[The maximum value of the 'time_t' type])
-fi
-
-
-#
-# As a gating factor for large file support, in order to
-# use >4GB files we must have the following minimal support
-# available: a 64 bit off_t
-# If we don't have all of these then fail the build
-#
-
-AC_MSG_CHECKING([if large file support can be enabled])
-AC_CACHE_CHECK([for 64 bit off_t],samba_cv_SIZEOF_OFF_T,[
-AC_TRY_RUN([#include <stdio.h>
-#include <sys/stat.h>
-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"])
-fi
-
-AC_CACHE_CHECK([for 64 bit ino_t],samba_cv_SIZEOF_INO_T,[
-AC_TRY_RUN([
-#if defined(HAVE_UNISTD_H)
-#include <unistd.h>
-#endif
-#include <stdio.h>
-#include <sys/stat.h>
-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])
-fi
-
-AC_CACHE_CHECK([for 64 bit dev_t],samba_cv_SIZEOF_DEV_T,[
-AC_TRY_RUN([
-#if defined(HAVE_UNISTD_H)
-#include <unistd.h>
-#endif
-#include <stdio.h>
-#include <sys/stat.h>
-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])
-fi
-
-AC_CACHE_CHECK([for major macro],samba_cv_HAVE_DEVICE_MAJOR_FN,[
-AC_TRY_RUN([
-#if defined(HAVE_UNISTD_H)
-#include <unistd.h>
-#endif
-#include <sys/types.h>
-main() { dev_t dev; int i = major(dev); return 0; }],
-samba_cv_HAVE_DEVICE_MAJOR_FN=yes,samba_cv_HAVE_DEVICE_MAJOR_FN=no,samba_cv_HAVE_DEVICE_MAJOR_FN=cross)])
-if test x"$samba_cv_HAVE_DEVICE_MAJOR_FN" = x"yes"; then
- AC_DEFINE(HAVE_DEVICE_MAJOR_FN,1,[Whether the major macro for dev_t is available])
-fi
-
-AC_CACHE_CHECK([for minor macro],samba_cv_HAVE_DEVICE_MINOR_FN,[
-AC_TRY_RUN([
-#if defined(HAVE_UNISTD_H)
-#include <unistd.h>
-#endif
-#include <sys/types.h>
-main() { dev_t dev; int i = minor(dev); return 0; }],
-samba_cv_HAVE_DEVICE_MINOR_FN=yes,samba_cv_HAVE_DEVICE_MINOR_FN=no,samba_cv_HAVE_DEVICE_MINOR_FN=cross)])
-if test x"$samba_cv_HAVE_DEVICE_MINOR_FN" = x"yes"; then
- AC_DEFINE(HAVE_DEVICE_MINOR_FN,1,[Whether the minor macro for dev_t is available])
-fi
-
-AC_CACHE_CHECK([for makedev macro],samba_cv_HAVE_MAKEDEV,[
-AC_TRY_RUN([
-#if defined(HAVE_UNISTD_H)
-#include <unistd.h>
-#endif
-#include <sys/types.h>
-main() { dev_t dev = makedev(1,2); return 0; }],
-samba_cv_HAVE_MAKEDEV=yes,samba_cv_HAVE_MAKEDEV=no,samba_cv_HAVE_MAKEDEV=cross)])
-if test x"$samba_cv_HAVE_MAKEDEV" = x"yes"; then
- AC_DEFINE(HAVE_MAKEDEV,1,[Whether the macro for makedev 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>
-void seekdir(DIR *d, long loc) { return; }],[return 0;],
-samba_cv_SEEKDIR_RETURNS_VOID=yes,samba_cv_SEEKDIR_RETURNS_VOID=no)])
-if test x"$samba_cv_SEEKDIR_RETURNS_VOID" = x"yes"; then
- AC_DEFINE(SEEKDIR_RETURNS_VOID,1,[Whether seekdir returns void])
-fi
-
-AC_CACHE_CHECK([for __FUNCTION__ macro],samba_cv_HAVE_FUNCTION_MACRO,[
-AC_TRY_COMPILE([#include <stdio.h>], [printf("%s\n", __FUNCTION__);],
-samba_cv_HAVE_FUNCTION_MACRO=yes,samba_cv_HAVE_FUNCTION_MACRO=no)])
-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"$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,[
-AC_TRY_RUN([#include <sys/types.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) 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])
-fi
-
-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; 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])
-fi
-
-##############
-# Check utmp details, but only if our OS offers utmp.h
-if test x"$ac_cv_header_utmp_h" = x"yes"; then
-dnl utmp and utmpx come in many flavours
-dnl We need to check for many of them
-dnl But we don't need to do each and every one, because our code uses
-dnl mostly just the utmp (not utmpx) fields.
-
-AC_CHECK_FUNCS(pututline pututxline updwtmp updwtmpx getutmpx getutxent)
-
-AC_CACHE_CHECK([for ut_name in utmp],samba_cv_HAVE_UT_UT_NAME,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <utmp.h>],
-[struct utmp ut; ut.ut_name[0] = 'a';],
-samba_cv_HAVE_UT_UT_NAME=yes,samba_cv_HAVE_UT_UT_NAME=no,samba_cv_HAVE_UT_UT_NAME=cross)])
-if test x"$samba_cv_HAVE_UT_UT_NAME" = x"yes"; then
- AC_DEFINE(HAVE_UT_UT_NAME,1,[Whether the utmp struct has a property ut_name])
-fi
-
-AC_CACHE_CHECK([for ut_user in utmp],samba_cv_HAVE_UT_UT_USER,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <utmp.h>],
-[struct utmp ut; ut.ut_user[0] = 'a';],
-samba_cv_HAVE_UT_UT_USER=yes,samba_cv_HAVE_UT_UT_USER=no,samba_cv_HAVE_UT_UT_USER=cross)])
-if test x"$samba_cv_HAVE_UT_UT_USER" = x"yes"; then
- AC_DEFINE(HAVE_UT_UT_USER,1,[Whether the utmp struct has a property ut_user])
-fi
-
-AC_CACHE_CHECK([for ut_id in utmp],samba_cv_HAVE_UT_UT_ID,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <utmp.h>],
-[struct utmp ut; ut.ut_id[0] = 'a';],
-samba_cv_HAVE_UT_UT_ID=yes,samba_cv_HAVE_UT_UT_ID=no,samba_cv_HAVE_UT_UT_ID=cross)])
-if test x"$samba_cv_HAVE_UT_UT_ID" = x"yes"; then
- AC_DEFINE(HAVE_UT_UT_ID,1,[Whether the utmp struct has a property ut_id])
-fi
-
-AC_CACHE_CHECK([for ut_host in utmp],samba_cv_HAVE_UT_UT_HOST,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <utmp.h>],
-[struct utmp ut; ut.ut_host[0] = 'a';],
-samba_cv_HAVE_UT_UT_HOST=yes,samba_cv_HAVE_UT_UT_HOST=no,samba_cv_HAVE_UT_UT_HOST=cross)])
-if test x"$samba_cv_HAVE_UT_UT_HOST" = x"yes"; then
- AC_DEFINE(HAVE_UT_UT_HOST,1,[Whether the utmp struct has a property ut_host])
-fi
-
-AC_CACHE_CHECK([for ut_time in utmp],samba_cv_HAVE_UT_UT_TIME,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <utmp.h>],
-[struct utmp ut; time_t t; ut.ut_time = t;],
-samba_cv_HAVE_UT_UT_TIME=yes,samba_cv_HAVE_UT_UT_TIME=no,samba_cv_HAVE_UT_UT_TIME=cross)])
-if test x"$samba_cv_HAVE_UT_UT_TIME" = x"yes"; then
- AC_DEFINE(HAVE_UT_UT_TIME,1,[Whether the utmp struct has a property ut_time])
-fi
-
-AC_CACHE_CHECK([for ut_tv in utmp],samba_cv_HAVE_UT_UT_TV,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <utmp.h>],
-[struct utmp ut; struct timeval tv; ut.ut_tv = tv;],
-samba_cv_HAVE_UT_UT_TV=yes,samba_cv_HAVE_UT_UT_TV=no,samba_cv_HAVE_UT_UT_TV=cross)])
-if test x"$samba_cv_HAVE_UT_UT_TV" = x"yes"; then
- AC_DEFINE(HAVE_UT_UT_TV,1,[Whether the utmp struct has a property ut_tv])
-fi
-
-AC_CACHE_CHECK([for ut_type in utmp],samba_cv_HAVE_UT_UT_TYPE,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <utmp.h>],
-[struct utmp ut; ut.ut_type = 0;],
-samba_cv_HAVE_UT_UT_TYPE=yes,samba_cv_HAVE_UT_UT_TYPE=no,samba_cv_HAVE_UT_UT_TYPE=cross)])
-if test x"$samba_cv_HAVE_UT_UT_TYPE" = x"yes"; then
- AC_DEFINE(HAVE_UT_UT_TYPE,1,[Whether the utmp struct has a property ut_type])
-fi
-
-AC_CACHE_CHECK([for ut_pid in utmp],samba_cv_HAVE_UT_UT_PID,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <utmp.h>],
-[struct utmp ut; ut.ut_pid = 0;],
-samba_cv_HAVE_UT_UT_PID=yes,samba_cv_HAVE_UT_UT_PID=no,samba_cv_HAVE_UT_UT_PID=cross)])
-if test x"$samba_cv_HAVE_UT_UT_PID" = x"yes"; then
- AC_DEFINE(HAVE_UT_UT_PID,1,[Whether the utmp struct has a property ut_pid])
-fi
-
-AC_CACHE_CHECK([for ut_exit in utmp],samba_cv_HAVE_UT_UT_EXIT,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <utmp.h>],
-[struct utmp ut; ut.ut_exit.e_exit = 0;],
-samba_cv_HAVE_UT_UT_EXIT=yes,samba_cv_HAVE_UT_UT_EXIT=no,samba_cv_HAVE_UT_UT_EXIT=cross)])
-if test x"$samba_cv_HAVE_UT_UT_EXIT" = x"yes"; then
- AC_DEFINE(HAVE_UT_UT_EXIT,1,[Whether the utmp struct has a property ut_exit])
-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>
-#include <utmp.h>],
- [struct utmp utarg; struct utmp *utreturn; utreturn = pututline(&utarg);],
- samba_cv_PUTUTLINE_RETURNS_UTMP=yes,samba_cv_PUTUTLINE_RETURNS_UTMP=no)])
- if test x"$samba_cv_PUTUTLINE_RETURNS_UTMP" = x"yes"; then
- AC_DEFINE(PUTUTLINE_RETURNS_UTMP,1,[Whether pututline returns pointer])
- fi
-fi
-
-AC_CACHE_CHECK([for ut_syslen in utmpx],samba_cv_HAVE_UX_UT_SYSLEN,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <utmpx.h>],
-[struct utmpx ux; ux.ut_syslen = 0;],
-samba_cv_HAVE_UX_UT_SYSLEN=yes,samba_cv_HAVE_UX_UT_SYSLEN=no,samba_cv_HAVE_UX_UT_SYSLEN=cross)])
-if test x"$samba_cv_HAVE_UX_UT_SYSLEN" = x"yes"; then
- 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
-
-AC_CACHE_CHECK([for linux fallocate],samba_cv_HAVE_LINUX_FALLOCATE,[
-AC_TRY_COMPILE([
-#if defined(HAVE_UNISTD_H)
-#include <unistd.h>
-#endif
-#include <sys/types.h>
-#define _GNU_SOURCE
-#include <fcntl.h>
-#if defined(HAVE_LINUX_FALLOC_H)
-#include <linux/falloc.h>
-#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 getcwd takes NULL],samba_cv_GETCWD_TAKES_NULL,[
-AC_TRY_RUN([
-#if defined(HAVE_UNISTD_H)
-#include <unistd.h>
-#endif
-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])
-fi
-
-ICONV_LOOK_DIRS="/usr /usr/local /sw /opt"
-AC_ARG_WITH(libiconv,
-[AS_HELP_STRING([--with-libiconv=BASEDIR], [Use libiconv in BASEDIR/lib and BASEDIR/include (default=auto)])],
-[
- if test "$withval" = "no" ; then
- AC_MSG_ERROR([argument to --with-libiconv must be a directory])
- else
- if test "$withval" != "yes" ; then
- ICONV_PATH_SPEC=yes
- ICONV_LOOK_DIRS="$withval"
- fi
- fi
-])
-
-for i in $ICONV_LOOK_DIRS ; do
-
- save_LIBS="$LIBS"
- save_LDFLAGS="$LDFLAGS"
- save_CPPFLAGS="$CPPFLAGS"
-
- iconv_current_LIBS=""
- iconv_current_LDFLAGS=""
- iconv_current_CPPFLAGS=""
-
- ICONV_FOUND="no"
- unset libext
-
- # This is here to handle -withval stuff for --with-libiconv
- # Perhaps we should always add a -L
- CPPFLAGS="$save_CPPFLAGS -I$i/include"
-
- # Check lib and lib32 library variants to cater for IRIX ABI-specific
- # installation paths. This gets a little tricky since we might have iconv
- # in both libiconv and in libc. In this case the jm_ICONV test will always
- # succeed when the header is found. To counter this, make sure the
- # library directory is there and check the ABI directory first (which
- # should be harmless on other systems, but causes tons of linker warnings on
- # 64bit Ubuntu systems).
- # As the build farm doesn't seem to have any IRIX machines with iconv.h
- # installed, I've decided to fix the linker warnings.
- # -- Kai
- # For IA64 HPUX systems, the libs are located in lib/hpux32 instead of lib.
- for l in "lib" "lib32" "lib/hpux32"; do
- if test -d "$i/$l" ; then
- LDFLAGS="$save_LDFLAGS -L$i/$l"
- LIBS=
- export LDFLAGS LIBS CPPFLAGS
- # Try to find iconv(3)
- jm_ICONV($i/$l)
- if test x"$ICONV_FOUND" = "xyes" ; then
- libext="$l"
- break
- fi
- fi
- done
-
- if test x"$ICONV_FOUND" = "xyes" ; then
- iconv_current_LDFLAGS="-L$i/$libext"
- iconv_current_CPPFLAGS="-I$i/include"
-
- if test x"$jm_cv_lib_iconv" != x; then
- iconv_current_LIBS="$LIBS -l$jm_cv_lib_iconv"
- else
- # We found iconv in libc.
- iconv_current_LIBS=""
- fi
-
- fi
-
- if test x"$ICONV_FOUND" = "xyes" ; then
-
- LDFLAGS="$save_LDFLAGS $iconv_current_LDFLAGS"
- CPPFLAGS="$save_CPPFLAGS $iconv_current_CPPFLAGS"
- LIBS="$save_LIBS $iconv_current_LIBS"
- export LDFLAGS LIBS CPPFLAGS
-
- default_dos_charset=no
- default_unix_charset=no
-
- # check for default dos charset name
- for j in CP850 IBM850 ; do
- rjs_CHARSET($j)
- default_dos_charset="$ICONV_CHARSET"
- if test x"$default_dos_charset" = x"$j"; then
- break
- fi
- done
-
- # check for default unix charset name
- for j in UTF-8 UTF8 ; do
- rjs_CHARSET($j)
- default_unix_charset="$ICONV_CHARSET"
- if test x"$default_unix_charset" = x"$j"; then
- break
- fi
- done
-
- if test "$default_dos_charset" != "no" -a \
- "$default_dos_charset" != "cross" -a \
- "$default_unix_charset" != "no" -a \
- "$default_unix_charset" != "cross"
- then
- samba_cv_HAVE_NATIVE_ICONV=yes
- else
- if test "$default_dos_charset" = "cross" -o \
- "$default_unix_charset" = "cross"
- then
- samba_cv_HAVE_NATIVE_ICONV=cross
- else
- samba_cv_HAVE_NATIVE_ICONV=no
- fi
- fi
-
- # At this point, we have a libiconv candidate. We know that
- # we have the right headers and libraries, but we don't know
- # whether it does the conversions we want. We can't test this
- # because we are cross-compiling. This is not necessarily a big
- # deal, since we can't guarantee that the results we get now will
- # match the results we get at runtime anyway.
- if test x"$samba_cv_HAVE_NATIVE_ICONV" = x"cross" ; then
- default_dos_charset="CP850"
- default_unix_charset="UTF-8"
- samba_cv_HAVE_NATIVE_ICONV=yes
- AC_MSG_WARN(assuming the libiconv in $iconv_current_LDFLAGS can convert)
- AC_MSG_WARN([$default_dos_charset and $default_unix_charset to UCS-16LE])
- fi
-
- if test x"$samba_cv_HAVE_NATIVE_ICONV" = x"yes" ; then
-
- CPPFLAGS=$save_CPPFLAGS
- LDFLAGS=$save_LDFLAGS
- LIBS=$save_LIBS
-
- if test x"$iconv_current_LIBS" != x; then
- LIBS="$LIBS $iconv_current_LIBS"
- fi
-
- # Add the flags we need to CPPFLAGS and LDFLAGS
- CPPFLAGS="$CPPFLAGS $iconv_current_CPPFLAGS"
- LDFLAGS="$LDFLAGS $iconv_current_LDFLAGS"
-
- # Turn the #defines into string literals
- default_dos_charset="\"$default_dos_charset\""
- default_unix_charset="\"$default_unix_charset\""
-
- AC_DEFINE(HAVE_NATIVE_ICONV,1,[Whether to use native iconv])
- AC_DEFINE_UNQUOTED(DEFAULT_DOS_CHARSET,$default_dos_charset,[Default dos charset name])
- AC_DEFINE_UNQUOTED(DEFAULT_UNIX_CHARSET,$default_unix_charset,[Default unix charset name])
-
- break
- fi
-
- # We didn't find a working iconv, so keep going
- fi
-
- # We only need to clean these up here for the next pass through the loop
- CPPFLAGS=$save_CPPFLAGS
- LDFLAGS=$save_LDFLAGS
- LIBS=$save_LIBS
- export LDFLAGS LIBS CPPFLAGS
-done
-unset libext
-
-
-if test x"$ICONV_FOUND" = x"no" -o x"$samba_cv_HAVE_NATIVE_ICONV" != x"yes" ; then
- AC_MSG_WARN([Sufficient support for iconv function was not found.
- Install libiconv from http://freshmeat.net/projects/libiconv/ for better charset compatibility!])
- AC_DEFINE_UNQUOTED(DEFAULT_DOS_CHARSET,"ASCII",[Default dos charset name])
- AC_DEFINE_UNQUOTED(DEFAULT_UNIX_CHARSET,"UTF8",[Default unix charset name])
-fi
-
-
-AC_CACHE_CHECK([for Linux kernel oplocks],samba_cv_HAVE_KERNEL_OPLOCKS_LINUX,[
-AC_TRY_RUN([
-#include <sys/types.h>
-#include <fcntl.h>
-#ifndef F_GETLEASE
-#define F_GETLEASE 1025
-#endif
-main() {
- int fd = open("/dev/null", O_RDONLY);
- return fcntl(fd, F_GETLEASE, 0) == -1;
-}
-],
-samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes,samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=no,samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=cross)])
-if test x"$samba_cv_HAVE_KERNEL_OPLOCKS_LINUX" = x"yes"; then
- AC_DEFINE(HAVE_KERNEL_OPLOCKS_LINUX,1,[Whether to use linux kernel oplocks])
-fi
-
-AC_CACHE_CHECK([for kernel change notify support],samba_cv_HAVE_KERNEL_CHANGE_NOTIFY,[
-AC_TRY_RUN([
-#include <sys/types.h>
-#include <fcntl.h>
-#include <signal.h>
-#ifndef F_NOTIFY
-#define F_NOTIFY 1026
-#endif
-main() {
- 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)])
-if test x"$samba_cv_HAVE_KERNEL_CHANGE_NOTIFY" = x"yes"; then
- AC_DEFINE(HAVE_KERNEL_CHANGE_NOTIFY,1,[Whether kernel notifies changes])
-fi
-
-AC_CHECK_HEADER(sys/inotify.h)
-
-if test x"$ac_cv_header_sys_inotify_h" = x"yes"; then
- AC_DEFINE(HAVE_INOTIFY,1,[For inotify support])
-fi
-
-#################################################
-# Check if FAM notifications are available. For FAM info, see
-# http://oss.sgi.com/projects/fam/
-# http://savannah.nongnu.org/projects/fam/
-AC_ARG_ENABLE(fam,
-[AS_HELP_STRING([--enable-fam], [Turn on FAM support (default=auto)])])
-
-if test x$enable_fam != xno; then
- AC_CHECK_HEADERS(fam.h, [samba_cv_HAVE_FAM_H=yes], [samba_cv_HAVE_FAM_H=no])
- if test x"$samba_cv_HAVE_FAM_H" = x"yes"; then
- # On IRIX, libfam requires libC, but other FAM implementations
- # might not need it.
- AC_CHECK_LIB(fam, FAMOpen2,
- [samba_cv_HAVE_LIBFAM=yes; SMB_FAM_LIBS="-lfam";
- AC_DEFINE(HAVE_FAMOPEN2, 1, Define to 1 if there is support for FAMOpen2)],
- [samba_cv_HAVE_LIBFAM=no])
-
- if test x"$samba_cv_HAVE_LIBFAM" = x"no" ; then
- samba_fam_xtra=-lC
- AC_CHECK_LIB_EXT(fam, samba_fam_xtra, FAMOpen2,
- [samba_cv_HAVE_LIBFAM=yes; SMB_FAM_LIBS="-lfam -lC";
- AC_DEFINE(HAVE_FAMOPEN2, 1, Define to 1 if there is support for FAMOpen2)],
- [samba_cv_HAVE_LIBFAM=no])
- unset samba_fam_xtra
- fi
- fi
- if test x"$samba_cv_HAVE_LIBFAM" = x"yes" ; then
- default_shared_modules="$default_shared_modules vfs_notify_fam"
- AC_TRY_COMPILE([#include <fam.h>],
- [enum FAMCodes code = FAMChanged;],
- AC_DEFINE(HAVE_FAM_H_FAMCODES_TYPEDEF, 1,
- [Whether fam.h contains a typedef for enum FAMCodes]),
- [])
- fi
-
- if test x"$samba_cv_HAVE_LIBFAM" = x"yes" ; then
- AC_CHECK_LIB(fam, FAMNoExists,
- [AC_DEFINE(HAVE_FAMNOEXISTS, 1, Define to 1 if there is support for FAMNoExists)])
- fi
-
- if test x$enable_fam = xyes && test x"$samba_cv_HAVE_LIBFAM" != xyes ; then
- AC_MSG_ERROR(FAM support requested but FAM library not available )
- fi
-fi
-
-AC_SUBST(SMB_FAM_LIBS)
-
-#################################################
-# Check for DMAPI interfaces in libdm/libjfsdm/libxsdm
-
-
-with_dmapi_support=auto
-AC_MSG_CHECKING(whether to use DMAPI support)
-AC_ARG_WITH(dmapi,
-[AS_HELP_STRING([--with-dmapi], [Include DMAPI/XDSM support (default=auto)])],
-[ case "$withval" in
- yes|no)
- with_dmapi_support=$withval
- ;;
- esac ]
-)
-AC_MSG_RESULT([$with_dmapi_support])
-
-if test x"$with_dmapi_support" != xno ; then
- SMB_CHECK_DMAPI([], [
- AC_MSG_NOTICE(DMAPI support not present)
- if test x"$with_dmapi_support" = xyes ; then
- AC_MSG_ERROR(no DMAPI support found but requested!)
- fi
- ]
- )
-fi
-
-# Add TSM SM VFS module only if there are both GPFS and DMAPI support
-# Theoretically it should work with AIX JFS2 too but this needs testing
-if test x"$ac_cv_header_gpfs_gpl_h" = x"yes" && test x"$samba_dmapi_libs" != x"" ; then
- default_shared_modules="$default_shared_modules vfs_tsmsm"
-fi
-
-AC_CACHE_CHECK([for kernel share modes],samba_cv_HAVE_KERNEL_SHARE_MODES,[
-AC_TRY_RUN([
-#include <sys/types.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <sys/file.h>
-#ifndef LOCK_MAND
-#define LOCK_MAND 32
-#define LOCK_READ 64
-#endif
-main() {
- 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)])
-if test x"$samba_cv_HAVE_KERNEL_SHARE_MODES" = x"yes"; then
- AC_DEFINE(HAVE_KERNEL_SHARE_MODES,1,[Whether the kernel supports share modes])
-fi
-
-
-AC_CACHE_CHECK([for IRIX kernel oplock type definitions],samba_cv_HAVE_KERNEL_OPLOCKS_IRIX,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <fcntl.h>],
-[oplock_stat_t t; t.os_state = OP_REVOKE; t.os_dev = 1; t.os_ino = 1;],
-samba_cv_HAVE_KERNEL_OPLOCKS_IRIX=yes,samba_cv_HAVE_KERNEL_OPLOCKS_IRIX=no)])
-if test x"$samba_cv_HAVE_KERNEL_OPLOCKS_IRIX" = x"yes"; then
- AC_DEFINE(HAVE_KERNEL_OPLOCKS_IRIX,1,[Whether IRIX kernel oplock type definitions are available])
-fi
-
-#################################################
-# Check for POSIX capability support
-
-AC_CHECK_HEADER(sys/capability.h, [samba_cv_HAVE_SYS_CAPABILITY_H=yes;
- AC_DEFINE(HAVE_SYS_CAPABILITY_H, 1, Whether sys/capability.h is present)],
- [], [])
-
-if test x"$samba_cv_HAVE_SYS_CAPABILITY_H" = x"yes"; then
-
- ac_save_LIBS=$LIBS
- AC_LIBTESTFUNC(cap, cap_get_proc)
-
- AC_CACHE_CHECK([for POSIX capabilities],
- samba_cv_HAVE_POSIX_CAPABILITIES,
- [
- AC_TRY_RUN([
-#include <sys/types.h>
-#include <sys/capability.h>
-main() {
- cap_t cap;
- cap_value_t vals[1];
- if (!(cap = cap_get_proc()))
- return(1);
- vals[0] = CAP_CHOWN;
- cap_set_flag(cap, CAP_INHERITABLE, 1, vals, CAP_CLEAR);
- cap_set_proc(cap);
- return(0);
-}],
- samba_cv_HAVE_POSIX_CAPABILITIES=yes,
- samba_cv_HAVE_POSIX_CAPABILITIES=no,
- samba_cv_HAVE_POSIX_CAPABILITIES=cross)
- ])
-
-if test x"$samba_cv_HAVE_POSIX_CAPABILITIES" = x"yes"; then
- AC_DEFINE(HAVE_POSIX_CAPABILITIES, 1,
- [Whether POSIX capabilities are available])
-else
- LIBS=$ac_save_LIBS
-fi
-
-fi
-
-#
-# Check for int16, uint16, int32 and uint32 in rpc/types.h included from rpc/rpc.h
-# This is *really* broken but some systems (DEC OSF1) do this.... JRA.
-#
-
-AC_CACHE_CHECK([for int16 typedef included by rpc/rpc.h],samba_cv_HAVE_INT16_FROM_RPC_RPC_H,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#if defined(HAVE_RPC_RPC_H)
-#include <rpc/rpc.h>
-#endif],
-[int16 testvar;],
-samba_cv_HAVE_INT16_FROM_RPC_RPC_H=yes,samba_cv_HAVE_INT16_FROM_RPC_RPC_H=no)])
-if test x"$samba_cv_HAVE_INT16_FROM_RPC_RPC_H" = x"yes"; then
- AC_DEFINE(HAVE_INT16_FROM_RPC_RPC_H,1,[Whether int16 typedef is included by rpc/rpc.h])
-fi
-
-AC_CACHE_CHECK([for uint16 typedef included by rpc/rpc.h],samba_cv_HAVE_UINT16_FROM_RPC_RPC_H,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#if defined(HAVE_RPC_RPC_H)
-#include <rpc/rpc.h>
-#endif],
-[uint16 testvar;],
-samba_cv_HAVE_UINT16_FROM_RPC_RPC_H=yes,samba_cv_HAVE_UINT16_FROM_RPC_RPC_H=no)])
-if test x"$samba_cv_HAVE_UINT16_FROM_RPC_RPC_H" = x"yes"; then
- AC_DEFINE(HAVE_UINT16_FROM_RPC_RPC_H,1,[Whether uint16 typedef is included by rpc/rpc.h])
-fi
-
-AC_CACHE_CHECK([for int32 typedef included by rpc/rpc.h],samba_cv_HAVE_INT32_FROM_RPC_RPC_H,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#if defined(HAVE_RPC_RPC_H)
-#include <rpc/rpc.h>
-#endif],
-[int32 testvar;],
-samba_cv_HAVE_INT32_FROM_RPC_RPC_H=yes,samba_cv_HAVE_INT32_FROM_RPC_RPC_H=no)])
-if test x"$samba_cv_HAVE_INT32_FROM_RPC_RPC_H" = x"yes"; then
- AC_DEFINE(HAVE_INT32_FROM_RPC_RPC_H,1,[Whether int32 typedef is included by rpc/rpc.h])
-fi
-
-AC_CACHE_CHECK([for uint32 typedef included by rpc/rpc.h],samba_cv_HAVE_UINT32_FROM_RPC_RPC_H,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#if defined(HAVE_RPC_RPC_H)
-#include <rpc/rpc.h>
-#endif],
-[uint32 testvar;],
-samba_cv_HAVE_UINT32_FROM_RPC_RPC_H=yes,samba_cv_HAVE_UINT32_FROM_RPC_RPC_H=no)])
-if test x"$samba_cv_HAVE_UINT32_FROM_RPC_RPC_H" = x"yes"; then
- AC_DEFINE(HAVE_UINT32_FROM_RPC_RPC_H,1,[Whether uint32 typedef is included by rpc/rpc.h])
-fi
-
-dnl
-dnl Some systems (SCO) have a problem including
-dnl <prot.h> and <rpc/rpc.h> due to AUTH_ERROR being defined
-dnl as a #define in <prot.h> and as part of an enum
-dnl in <rpc/rpc.h>.
-dnl
-
-AC_CACHE_CHECK([for conflicting AUTH_ERROR define in rpc/rpc.h],samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#ifdef HAVE_SYS_SECURITY_H
-#include <sys/security.h>
-#include <prot.h>
-#endif /* HAVE_SYS_SECURITY_H */
-#if defined(HAVE_RPC_RPC_H)
-#include <rpc/rpc.h>
-#endif],
-[int testvar;],
-samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT=no,samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT=yes)])
-if test x"$samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT" = x"yes"; then
- AC_DEFINE(HAVE_RPC_AUTH_ERROR_CONFLICT,1,[Whether there is a conflicting AUTH_ERROR define in rpc/rpc.h])
-fi
-
-AC_MSG_CHECKING([for test routines])
-AC_TRY_RUN([#include "${srcdir-.}/../tests/trivial.c"],
- AC_MSG_RESULT(yes),
- AC_MSG_ERROR([cant find test code. Aborting config]),
- AC_MSG_WARN([cannot run when cross-compiling]))
-
-AC_CACHE_CHECK([for ftruncate extend],samba_cv_HAVE_FTRUNCATE_EXTEND,[
-AC_TRY_RUN([#include "${srcdir-.}/../tests/ftruncate.c"],
- samba_cv_HAVE_FTRUNCATE_EXTEND=yes,samba_cv_HAVE_FTRUNCATE_EXTEND=no,samba_cv_HAVE_FTRUNCATE_EXTEND=cross)])
-if test x"$samba_cv_HAVE_FTRUNCATE_EXTEND" = x"yes"; then
- AC_DEFINE(HAVE_FTRUNCATE_EXTEND,1,[Truncate extend])
-fi
-
-AC_CACHE_CHECK([for broken getgroups],samba_cv_HAVE_BROKEN_GETGROUPS,[
-AC_TRY_RUN([#include "${srcdir-.}/../tests/getgroups.c"],
- samba_cv_HAVE_BROKEN_GETGROUPS=yes,samba_cv_HAVE_BROKEN_GETGROUPS=no,samba_cv_HAVE_BROKEN_GETGROUPS=cross)])
-if test x"$samba_cv_HAVE_BROKEN_GETGROUPS" = x"yes"; then
- AC_DEFINE(HAVE_BROKEN_GETGROUPS,1,[Whether getgroups is broken])
-fi
-
-SMB_CHECK_SYSCONF(_SC_NGROUPS_MAX)
-SMB_CHECK_SYSCONF(_SC_NPROC_ONLN)
-SMB_CHECK_SYSCONF(_SC_NPROCESSORS_ONLN)
-SMB_CHECK_SYSCONF(_SC_PAGESIZE)
-AC_CHECK_FUNCS(getpagesize)
-
-################################################
-# 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
- seteuid=yes;AC_DEFINE(USE_SETREUID,1,[Whether setreuid() is available])
-fi
-fi
-
-# we check for setresuid second as it conflicts with AIO on Linux.
-# see http://samba.org/~tridge/junkcode/aio_uid.c
-if test $seteuid = no; then
-AC_CACHE_CHECK([for setresuid],samba_cv_USE_SETRESUID,[
-AC_TRY_RUN([
-#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
- seteuid=yes;AC_DEFINE(USE_SETRESUID,1,[Whether setresuid() is available])
-fi
-fi
-
-if test $seteuid = no; then
-AC_CACHE_CHECK([for seteuid],samba_cv_USE_SETEUID,[
-AC_TRY_RUN([
-#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
- seteuid=yes;AC_DEFINE(USE_SETEUID,1,[Whether seteuid() is available])
-fi
-fi
-
-if test $seteuid = no; then
-AC_CACHE_CHECK([for setuidx],samba_cv_USE_SETUIDX,[
-AC_TRY_RUN([
-#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
- seteuid=yes;AC_DEFINE(USE_SETUIDX,1,[Whether setuidx() is available])
-fi
-fi
-
-AC_CACHE_CHECK([for the Darwin initgroups system call],
- samba_cv_DARWIN_INITGROUPS,
- AC_TRY_LINK([
-#include <sys/syscall.h>
-#include <unistd.h>
- ],
- [ syscall(SYS_initgroups, 16, NULL, NULL, 0); ],
- samba_cv_DARWIN_INITGROUPS=yes,
- samba_cv_DARWIN_INITGROUPS=no)
-)
-
-if test x"$samba_cv_DARWIN_INITGROUPS" = x"yes" ; then
- AC_DEFINE(HAVE_DARWIN_INITGROUPS, 1,
- [Whether to use the Darwin-specific initgroups system call])
-fi
-
-AC_CACHE_CHECK([for fcntl locking],samba_cv_HAVE_FCNTL_LOCK,[
-AC_TRY_RUN([#include "${srcdir-.}/../tests/fcntl_lock.c"],
- samba_cv_HAVE_FCNTL_LOCK=yes,samba_cv_HAVE_FCNTL_LOCK=no,samba_cv_HAVE_FCNTL_LOCK=cross)])
-if test x"$samba_cv_HAVE_FCNTL_LOCK" = x"yes"; then
- AC_DEFINE(HAVE_FCNTL_LOCK,1,[Whether fcntl locking is available])
-fi
-
-# glibc up to 2.3.6 had dangerously broken posix_fallocate(). DON'T USE IT.
-AC_CACHE_CHECK([for broken posix_fallocate],samba_cv_HAVE_BROKEN_POSIX_FALLOCATE,[
-AC_TRY_COMPILE([
- #define _XOPEN_SOURCE 600
- #include <stdlib.h>
- #if defined(__GLIBC__) && ((__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 4))
- #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, 1, Whether we have a broken posix_fallocate)
-fi
-
-
-AC_CACHE_CHECK([for st_blocks in struct stat],samba_cv_HAVE_STAT_ST_BLOCKS,[
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>],
-[struct stat st; st.st_blocks = 0;],
-samba_cv_HAVE_STAT_ST_BLOCKS=yes,samba_cv_HAVE_STAT_ST_BLOCKS=no,samba_cv_HAVE_STAT_ST_BLOCKS=cross)])
-if test x"$samba_cv_HAVE_STAT_ST_BLOCKS" = x"yes"; then
- AC_DEFINE(HAVE_STAT_ST_BLOCKS,1,[Whether the stat struct has a st_block property])
-fi
-
-AC_CACHE_CHECK([for 32 bit blkcnt_t],samba_cv_SIZEOF_BLKCNT_T_4,[
-AC_TRY_RUN([
-#if defined(HAVE_UNISTD_H)
-#include <unistd.h>
-#endif
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-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])
-fi
-
-AC_CACHE_CHECK([for 64 bit blkcnt_t],samba_cv_SIZEOF_BLKCNT_T_8,[
-AC_TRY_RUN([
-#if defined(HAVE_UNISTD_H)
-#include <unistd.h>
-#endif
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-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])
-fi
-
-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>
-#include <unistd.h>],
-[struct stat st; st.st_blksize = 0;],
-samba_cv_HAVE_STAT_ST_BLKSIZE=yes,samba_cv_HAVE_STAT_ST_BLKSIZE=no,samba_cv_HAVE_STAT_ST_BLKSIZE=cross)])
-if test x"$samba_cv_HAVE_STAT_ST_BLKSIZE" = x"yes"; then
- AC_DEFINE(HAVE_STAT_ST_BLKSIZE,1,[Whether the stat struct has a st_blksize property])
-fi
-
-AC_CACHE_CHECK([for st_flags in struct stat],
- samba_cv_HAVE_STAT_ST_FLAGS,
- [
- AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>],
- [struct stat st; st.st_flags = 0;],
- samba_cv_HAVE_STAT_ST_FLAGS=yes,
- samba_cv_HAVE_STAT_ST_FLAGS=no,
- samba_cv_HAVE_STAT_ST_FLAGS=cross)
- ])
-
-if test x"$samba_cv_HAVE_STAT_ST_FLAGS" = x"yes"; then
- AC_DEFINE(HAVE_STAT_ST_FLAGS, 1,
- [Whether the stat struct has a st_flags member])
-fi
-
-AC_CACHE_CHECK([for broken nisplus include files],samba_cv_BROKEN_NISPLUS_INCLUDE_FILES,[
-AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <sys/acl.h>
-#if defined(HAVE_RPCSVC_NIS_H)
-#include <rpcsvc/nis.h>
-#endif],
-[int i;],
-samba_cv_BROKEN_NISPLUS_INCLUDE_FILES=no,samba_cv_BROKEN_NISPLUS_INCLUDE_FILES=yes)])
-if test x"$samba_cv_BROKEN_NISPLUS_INCLUDE_FILES" = x"yes"; then
- AC_DEFINE(BROKEN_NISPLUS_INCLUDE_FILES,1,[Whether the nisplus include files are broken])
-fi
-
-AC_CACHE_CHECK([if the realpath function allows a NULL argument],samba_cv_REALPATH_TAKES_NULL,[
-AC_TRY_RUN([
-#include <stdio.h>
-#include <limits.h>
-#include <signal.h>
-
-void exit_on_core(int ignored) {
- exit(1);
-}
-
-main() {
- char *newpath;
- signal(SIGSEGV, exit_on_core);
- newpath = realpath("/tmp", NULL);
- 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"$samba_cv_REALPATH_TAKES_NULL" = x"yes"; then
- AC_DEFINE(REALPATH_TAKES_NULL,1,[Whether the realpath function allows NULL])
-fi
-
-#################################################
-# check for AFS clear-text auth support
-samba_cv_WITH_AFS=no
-AC_MSG_CHECKING(whether to use AFS clear-text auth)
-AC_ARG_WITH(afs,
-[AS_HELP_STRING([--with-afs], [Include AFS clear-text auth support (default=no)])],
-[ case "$withval" in
- yes|auto)
- AC_MSG_RESULT($withval)
- samba_cv_WITH_AFS=$withval
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
- esac ],
- AC_MSG_RESULT(no)
-)
-
-####################################################
-# check for Linux-specific AFS fake-kaserver support
-samba_cv_WITH_FAKE_KASERVER=no
-AC_MSG_CHECKING(whether to use AFS fake-kaserver)
-AC_ARG_WITH(fake-kaserver,
-[AS_HELP_STRING([--with-fake-kaserver], [Include AFS fake-kaserver support (default=no)])],
-[ case "$withval" in
- yes|auto)
- AC_MSG_RESULT($withval)
- samba_cv_WITH_FAKE_KASERVER=$withval
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
- esac ],
- AC_MSG_RESULT(no)
-)
-
-#################################################
-# decide whether we can support WITH_AFS and / or WITH_FAKE_KASERVER
-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
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- fi
-
- # check for afs.h
- have_afs_headers=no
- AC_CHECK_HEADERS(afs.h afs/afs.h)
- if test x"$ac_cv_header_afs_h" = x"no" && test x"$ac_cv_header_afs_afs_h" = x"no"; then
- if test x"$samba_cv_WITH_FAKE_KASERVER" = x"auto" ||
- test x"$samba_cv_WITH_AFS" = x"auto"; then
- AC_MSG_WARN([AFS cannot be supported without afs.h])
- else
- AC_MSG_ERROR([AFS cannot be supported without afs.h])
- fi
- else
- have_afs_headers=yes
- fi
-fi
-
-FAKE_KASERVER_OBJ=""
-if test x"$samba_cv_WITH_FAKE_KASERVER" != x"no" && test x"$have_afs_headers" = x"yes"; then
- AC_DEFINE(WITH_FAKE_KASERVER,1,[Whether to include AFS fake-kaserver support])
- FAKE_KASERVER_OBJ="utils/net_afs.o"
-fi
-AC_SUBST(FAKE_KASERVER_OBJ)
-
-#################################################
-# check whether to compile AFS/NT ACL mapping module
-samba_cv_WITH_VFS_AFSACL=no
-AC_MSG_CHECKING(whether to use AFS ACL mapping module)
-AC_ARG_WITH(vfs-afsacl,
-[AS_HELP_STRING([--with-vfs-afsacl], [Include AFS to NT ACL mapping module (default=no)])],
-[ case "$withval" in
- yes|auto)
- AC_MSG_RESULT($withval)
- samba_cv_WITH_VFS_AFSACL=yes
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
- esac ],
- AC_MSG_RESULT(no)
-)
-
-if test x"$samba_cv_WITH_VFS_AFSACL" = x"yes"; then
- default_shared_modules="$default_shared_modules vfs_afsacl"
-fi
-
-if test x"$samba_cv_WITH_AFS" != x"no" && test x"$have_afs_headers" = x"yes"; then
- AC_DEFINE(WITH_AFS,1,[Whether to include AFS clear-text auth support])
-fi
-
-#################################################
-# check for the DFS clear-text auth system
-AC_MSG_CHECKING(whether to use DFS clear-text auth)
-AC_ARG_WITH(dfs,
-[AS_HELP_STRING([--with-dce-dfs], [Include DCE/DFS clear-text auth support (default=no)])],
-[ case "$withval" in
- yes)
- AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_DFS,1,[Whether to include DFS support])
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
- esac ],
- AC_MSG_RESULT(no)
-)
-
-########################################################
-# Compile with LDAP support?
-
-with_ldap_support=auto
-AC_MSG_CHECKING([for LDAP support])
-
-AC_ARG_WITH(ldap,
-[AS_HELP_STRING([--with-ldap], [LDAP support (default=auto)])],
-[ case "$withval" in
- yes|no)
- with_ldap_support=$withval
- ;;
- esac ])
-
-AC_MSG_RESULT($with_ldap_support)
-
-SMBLDAP=""
-AC_SUBST(SMBLDAP)
-
-if test x"$with_ldap_support" != x"no"; then
-
- ##################################################################
- # first test for ldap.h and lber.h
- # (ldap.h is required for this test)
- AC_CHECK_HEADERS(ldap.h lber.h)
-
- if test x"$ac_cv_header_ldap_h" != x"yes"; then
- if test x"$with_ldap_support" = x"yes"; then
- AC_MSG_ERROR(ldap.h is needed for LDAP support)
- else
- AC_MSG_WARN(ldap.h is needed for LDAP support)
- fi
-
- with_ldap_support=no
- fi
-
- ##################################################################
- # HP/UX does not have ber_tag_t in lber.h - it must be configured as
- # unsigned int in include/includes.h
- case $host_os in
- *hpux*)
- AC_MSG_WARN(ber_tag_t is needed for LDAP support)
- AC_MSG_WARN(ber_tag_t must be configured in includes.h for hpux)
- with_ldap_support=yes
- ;;
- *)
- AC_CHECK_TYPE(ber_tag_t,,,[#include <lber.h>])
- if test x"$ac_cv_type_ber_tag_t" != x"yes"; then
- if test x"$with_ldap_support" = x"yes"; then
- AC_MSG_ERROR(ber_tag_t is needed for LDAP support)
- else
- AC_MSG_WARN(ber_tag_t is needed for LDAP support)
- fi
- with_ldap_support=no
- fi
- ;;
- esac
-fi
-
-if test x"$with_ldap_support" != x"no"; then
- ac_save_LIBS=$LIBS
-
- ##################################################################
- # we might need the lber lib on some systems. To avoid link errors
- # this test must be before the libldap test
- AC_CHECK_LIB_EXT(lber, LDAP_LIBS, ber_scanf)
-
- ########################################################
- # If ber_sockbuf_add_io() is available we can add
- # SASL wrapping hooks
- AC_CHECK_FUNC_EXT(ber_sockbuf_add_io,$LDAP_LIBS)
-
- AC_CACHE_CHECK([for LDAP_OPT_SOCKBUF],samba_cv_HAVE_LDAP_OPT_SOCKBUF,[
- AC_TRY_COMPILE([#include <ldap.h>],
- [int val = LDAP_OPT_SOCKBUF;],
- samba_cv_HAVE_LDAP_OPT_SOCKBUF=yes,
- samba_cv_HAVE_LDAP_OPT_SOCKBUF=no)])
-
- if test x"$ac_cv_func_ext_ber_sockbuf_add_io" = x"yes" -a \
- x"$samba_cv_HAVE_LDAP_OPT_SOCKBUF" = x"yes"; then
- AC_DEFINE(HAVE_LDAP_SASL_WRAPPING, 1, [Support for SASL wrapping])
- fi
-
- #######################################################
- # if we have LBER_OPT_LOG_PRINT_FN, we can intercept
- # ldap logging and print it out in the samba logs
- AC_CACHE_CHECK([for LBER_OPT_LOG_PRINT_FN],
- samba_cv_HAVE_LBER_OPT_LOG_PRINT_FN,
- [AC_TRY_COMPILE([#include <lber.h>],
- [int val = LBER_OPT_LOG_PRINT_FN;],
- samba_cv_HAVE_LBER_OPT_LOG_PRINT_FN=yes,
- samba_cv_HAVE_LBER_OPT_LOG_PRINT_FN=no)])
-
- if test x"$samba_cv_HAVE_LBER_OPT_LOG_PRINT_FN" = x"yes"; then
- AC_DEFINE(HAVE_LBER_LOG_PRINT_FN, 1,
- [Support for LDAP/LBER logging interception])
- fi
-
- ########################################################
- # now see if we can find the ldap libs in standard paths
- AC_CHECK_LIB_EXT(ldap, LDAP_LIBS, ldap_init)
-
- ########################################################
- # If we have LDAP, does it's rebind procedure take 2 or 3 arguments?
- # Check found in pam_ldap 145.
- AC_CHECK_FUNC_EXT(ldap_set_rebind_proc,$LDAP_LIBS)
-
- LIBS="$LIBS $LDAP_LIBS"
- AC_CACHE_CHECK(whether ldap_set_rebind_proc takes 3 arguments, smb_ldap_cv_ldap_set_rebind_proc, [
- AC_TRY_COMPILE([
- #include <lber.h>
- #include <ldap.h>],
- [ldap_set_rebind_proc(0, 0, 0);],
- [smb_ldap_cv_ldap_set_rebind_proc=3],
- [smb_ldap_cv_ldap_set_rebind_proc=2]
- )
- ])
-
- AC_DEFINE_UNQUOTED(LDAP_SET_REBIND_PROC_ARGS, $smb_ldap_cv_ldap_set_rebind_proc, [Number of arguments to ldap_set_rebind_proc])
-
- AC_CHECK_FUNC_EXT(ldap_initialize,$LDAP_LIBS)
-
- 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_ldapsam idmap_ldap";
- default_shared_modules="$default_shared_modules";
- SMBLDAP="lib/smbldap.o"
- with_ldap_support=yes
- AC_MSG_CHECKING(whether LDAP support is used)
- AC_MSG_RESULT(yes)
- else
- if test x"$with_ldap_support" = x"yes"; then
- AC_MSG_ERROR(libldap is needed for LDAP support)
- else
- AC_MSG_WARN(libldap is needed for LDAP support)
- fi
-
- LDAP_LIBS=""
- with_ldap_support=no
- fi
- LIBS=$ac_save_LIBS
-fi
-
-
-#################################################
-# active directory support
-
-with_ads_support=auto
-AC_MSG_CHECKING([for Active Directory and krb5 support])
-
-AC_ARG_WITH(ads,
-[AS_HELP_STRING([--with-ads], [Active Directory support (default=auto)])],
-[ case "$withval" in
- yes|no)
- with_ads_support="$withval"
- ;;
- esac ])
-
-AC_MSG_RESULT($with_ads_support)
-
-FOUND_KRB5=no
-KRB5_LIBS=""
-
-if test x"$with_ldap_support" != x"yes"; then
-
- if test x"$with_ads_support" = x"yes"; then
- AC_MSG_ERROR(Active Directory Support requires LDAP support)
- elif test x"$with_ads_support" = x"auto"; then
- AC_MSG_WARN(Disabling Active Directory support (requires LDAP support))
- with_ads_support=no
- fi
-
-else
-
- # Check to see whether there is enough LDAP functionality to be able
- # to build AD support.
-
-# HPUX and Solaris only has ldap_init; ok, we take care of this in smbldap.c
-case "$host_os" in
- *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 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 or Solaris))
- with_ads_support=no
- fi
- fi
- ;;
- *)
- AC_CHECK_FUNC_EXT(ldap_initialize,$LDAP_LIBS)
-
- if test x"$ac_cv_func_ext_ldap_initialize" != x"yes"; then
- if test x"$with_ads_support" = x"yes"; then
- AC_MSG_ERROR(Active Directory support requires ldap_initialize)
- elif test x"$with_ads_support" = x"auto"; then
- AC_MSG_WARN(Disabling Active Directory support (requires ldap_initialize))
- with_ads_support=no
- fi
- fi
- ;;
-esac
-
-
- AC_CHECK_FUNC_EXT(ldap_add_result_entry,$LDAP_LIBS)
-
- if test x"$ac_cv_func_ext_ldap_add_result_entry" != x"yes"; then
- if test x"$with_ads_support" = x"yes"; then
- AC_MSG_ERROR(Active Directory support requires ldap_add_result_entry)
- elif test x"$with_ads_support" = x"auto"; then
- AC_MSG_WARN(Disabling Active Directory support (requires ldap_add_result_entry))
- with_ads_support=no
- fi
- fi
-
-fi
-
-if test x"$with_ads_support" != x"no"; then
-
- # Do no harm to the values of CFLAGS and LIBS while testing for
- # Kerberos support.
-
- if test x$FOUND_KRB5 = x"no"; then
- #################################################
- # check for location of Kerberos 5 install
- AC_MSG_CHECKING(for kerberos 5 install path)
- AC_ARG_WITH(krb5,
- [AS_HELP_STRING([--with-krb5=base-dir], [Locate Kerberos 5 support (default=/usr)])],
- [ case "$withval" in
- no)
- AC_MSG_RESULT(no krb5-path given)
- ;;
- yes)
- AC_MSG_RESULT(/usr)
- ;;
- *)
- AC_MSG_RESULT($withval)
- KRB5_CFLAGS="-I$withval/include"
- KRB5_CPPFLAGS="-I$withval/include"
- KRB5_LDFLAGS="-L$withval/lib"
- FOUND_KRB5=yes
- if test -x "$withval/bin/krb5-config"; then
- KRB5CONFIG=$withval/bin/krb5-config
- fi
- ;;
- esac ],
- AC_MSG_RESULT(no krb5-path given)
- )
- fi
-
- #################################################
- # check for krb5-config from recent MIT and Heimdal kerberos 5
- AC_PATH_PROG(KRB5CONFIG, krb5-config)
- AC_MSG_CHECKING(for working krb5-config)
- if test -x "$KRB5CONFIG" && $KRB5CONFIG --libs gssapi > /dev/null ; then
- ac_save_CFLAGS=$CFLAGS
- CFLAGS="";export CFLAGS
- ac_save_LDFLAGS=$LDFLAGS
- LDFLAGS="";export LDFLAGS
- KRB5_LIBS="`$KRB5CONFIG --libs gssapi`"
- KRB5_LDFLAGS="`$KRB5CONFIG --libs gssapi | sed s/-lgss.*//`"
- KRB5_CFLAGS="`$KRB5CONFIG --cflags | sed s/@INCLUDE_des@//`"
- KRB5_CPPFLAGS="`$KRB5CONFIG --cflags | sed s/@INCLUDE_des@//`"
- CFLAGS=$ac_save_CFLAGS;export CFLAGS
- LDFLAGS=$ac_save_LDFLAGS;export LDFLAGS
- FOUND_KRB5=yes
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no. Fallback to previous krb5 detection strategy)
- fi
-
- if test x$FOUND_KRB5 = x"no"; then
- #################################################
- # see if this box has the SuSE location for the heimdal krb implementation
- AC_MSG_CHECKING(for /usr/include/heimdal)
- if test -d /usr/include/heimdal; then
- if test -f /usr/lib/heimdal/lib/libkrb5.a; then
- KRB5_CFLAGS="-I/usr/include/heimdal"
- KRB5_CPPFLAGS="-I/usr/include/heimdal"
- KRB5_LDFLAGS="-L/usr/lib/heimdal/lib"
- FOUND_KRB5=yes
- AC_MSG_RESULT(yes)
- else
- KRB5_CFLAGS="-I/usr/include/heimdal"
- KRB5_CPPFLAGS="-I/usr/include/heimdal"
- FOUND_KRB5=yes
- AC_MSG_RESULT(yes)
- fi
- else
- AC_MSG_RESULT(no)
- fi
- fi
-
- if test x$FOUND_KRB5 = x"no"; then
- #################################################
- # see if this box has the RedHat location for kerberos
- AC_MSG_CHECKING(for /usr/kerberos)
- if test -d /usr/kerberos -a -f /usr/kerberos/lib/libkrb5.a; then
- KRB5_LDFLAGS="-L/usr/kerberos/lib"
- KRB5_CFLAGS="-I/usr/kerberos/include"
- KRB5_CPPFLAGS="-I/usr/kerberos/include"
- FOUND_KRB5=yes
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- fi
- fi
-
- if test x$FOUND_KRB5 = x"no"; then
- #################################################
- # see if this box has the OpenBSD location for heimdal krb5
- AC_MSG_CHECKING(for /usr/include/kerberosV)
- if test -d /usr/include/kerberosV; then
- KRB5_CPPFLAGS="-I/usr/include/kerberosV"
- KRB5_LIBS="-lcrypto"
- FOUND_KRB5=yes
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- 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
-
- # remove needless evil rpath stuff as early as possible:
- LIB_REMOVE_USR_LIB(KRB5_LIBS)
- LIB_REMOVE_USR_LIB(KRB5_LDFLAGS)
- CFLAGS="$KRB5_CFLAGS $CFLAGS"
- CPPFLAGS="$KRB5_CPPFLAGS $CPPFLAGS"
- LDFLAGS="$KRB5_LDFLAGS $LDFLAGS"
-
- KRB5_LIBS="$KRB5_LDFLAGS $KRB5_LIBS"
-
- # now check for krb5.h. Some systems have the libraries without the headers!
- # note that this check is done here to allow for different kerberos
- # include paths
- AC_CHECK_HEADERS(krb5.h)
-
- if test x"$ac_cv_header_krb5_h" = x"no"; then
-
- # Give a warning if AD support was not explicitly requested,
- # i.e with_ads_support = auto, otherwise die with an error.
-
- if test x"$with_ads_support" = x"yes"; then
- AC_MSG_ERROR([Active Directory cannot be supported without krb5.h])
- else
- AC_MSG_WARN([Active Directory cannot be supported without krb5.h])
- fi
-
- # Turn off AD support and restore CFLAGS and LIBS variables
-
- with_ads_support="no"
-
- CFLAGS=$ac_save_CFLAGS
- CPPFLAGS=$ac_save_CPPFLAGS
- LDFLAGS=$ac_save_LDFLAGS
- fi
-
- # check for new heimdal KRB5_DEPRECATED handling
-
- AC_CACHE_CHECK([for KRB5_DEPRECATED define taking an identifier],
- samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER,[
- AC_TRY_COMPILE(
- [#define KRB5_DEPRECATED 1
- #include <krb5.h>],
- [],
- samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER=yes,
- samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER=no)])
-
- if test x"$samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER" = x"yes"; then
- AC_DEFINE(HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER, 1,
- [Whether to use deprecated krb5 interfaces])
- fi
-fi
-
-# Now we have determined whether we really want ADS support
-use_ads=no
-if test x"$with_ads_support" != x"no"; then
- use_ads=yes
- have_gssapi=no
- ac_save_LIBS=$LIBS
-
- # 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 gssapi/gssapi_krb5.h com_err.h)
-
- ##################################################################
- # we might need the k5crypto and com_err libraries on some systems
- AC_CHECK_LIB_EXT(com_err, KRB5_LIBS, _et_list)
- AC_CHECK_LIB_EXT(k5crypto, KRB5_LIBS, krb5_encrypt_data)
-
- # Heimdal checks.
- AC_CHECK_LIB_EXT(crypto, KRB5_LIBS, des_set_key)
- AC_CHECK_LIB_EXT(asn1, KRB5_LIBS, copy_Authenticator)
- AC_CHECK_LIB_EXT(roken, KRB5_LIBS, roken_getaddrinfo_hostspec)
-
- # Heimdal checks. On static Heimdal gssapi must be linked before krb5.
- AC_CHECK_LIB_EXT(gssapi, KRB5_LIBS, gss_display_status,[],[],have_gssapi=yes)
-
- ########################################################
- # now see if we can find the krb5 libs in standard paths
- # or as specified above
- AC_CHECK_LIB_EXT(krb5, KRB5_LIBS, krb5_mk_req_extended)
- AC_CHECK_LIB_EXT(krb5, KRB5_LIBS, krb5_kt_compare)
-
- ########################################################
- # 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)
- fi
- ################################################################
- # test for AD / GSSAPI support being enabled
- if test x"$have_gssapi" != xyes ; then
- AC_MSG_WARN([Samba cannot be supported without GSSAPI])
- use_ads=no
- else
- 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_set_default_tgs_ktypes, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_principal2salt, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_c_string_to_key, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_get_pw_salt, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_string_to_key_salt, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_auth_con_setkey, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_auth_con_setuseruserkey, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_get_permitted_enctypes, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_get_default_in_tkt_etypes, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_free_data_contents, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_principal_get_comp_string, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_free_unparsed_name, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_free_keytab_entry_contents, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_kt_free_entry, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_krbhst_init, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_krbhst_get_addrinfo, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_crypto_init, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_crypto_destroy, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_c_verify_checksum, $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_free_error_contents, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(initialize_krb5_error_table, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_get_init_creds_opt_alloc, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_get_init_creds_opt_free, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_get_init_creds_opt_get_error, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_enctype_to_string, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_fwd_tgt_creds, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_auth_con_set_req_cksumtype, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_get_creds_opt_alloc, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_get_creds_opt_set_impersonate, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_get_creds, $KRB5_LIBS)
- 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(krb5_get_init_creds_keytab, $KRB5_LIBS)
- AC_CHECK_FUNC_EXT(krb5_build_principal_alloc_va, $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(gsskrb5_extract_authz_data_from_sec_context, $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)
- AC_CHECK_FUNC_EXT(gss_wrap_iov, $KRB5_LIBS)
-
- # MIT krb5 1.8 does not expose this call (yet)
- AC_CHECK_DECLS(krb5_get_credentials_for_user, [], [], [#include <krb5.h>])
-
- # MIT krb5 1.7beta3 (in Ubuntu Karmic) does not have this declaration
- # but does have the symbol
- AC_CHECK_DECLS(krb5_auth_con_set_req_cksumtype, [], [], [#include <krb5.h>])
-
- LIBS="$KRB5_LIBS $LIBS"
-
- AC_CACHE_CHECK(whether krb5_get_init_creds_opt_free takes a context argument,
- smb_krb5_cv_creds_opt_free_context,
- [
- AC_TRY_COMPILE([
- #include <krb5.h>],
- [
- krb5_context ctx;
- krb5_get_init_creds_opt *opt = NULL;
- krb5_get_init_creds_opt_free(ctx, opt);
- ],
- [smb_krb5_cv_creds_opt_free_context=yes],
- [smb_krb5_cv_creds_opt_free_context=no]
- )
- ])
-
- if test x"$smb_krb5_cv_creds_opt_free_context" = x"yes" ; then
- AC_DEFINE(KRB5_CREDS_OPT_FREE_REQUIRES_CONTEXT, 1,
- [Whether krb5_get_init_creds_opt_free takes a context argument])
- fi
-
- AC_CACHE_CHECK([for checksum in krb5_checksum],
- samba_cv_HAVE_CHECKSUM_IN_KRB5_CHECKSUM,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_checksum cksum; cksum.checksum.length = 0;],
- samba_cv_HAVE_CHECKSUM_IN_KRB5_CHECKSUM=yes,
- samba_cv_HAVE_CHECKSUM_IN_KRB5_CHECKSUM=no)])
-
- if test x"$samba_cv_HAVE_CHECKSUM_IN_KRB5_CHECKSUM" = x"yes"; then
- AC_DEFINE(HAVE_CHECKSUM_IN_KRB5_CHECKSUM,1,
- [Whether the krb5_checksum struct has a checksum property])
- fi
-
- AC_CACHE_CHECK([for etype in EncryptedData],
- samba_cv_HAVE_ETYPE_IN_ENCRYPTEDDATA,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [EncryptedData edata; edata.etype = 0;],
- samba_cv_HAVE_ETYPE_IN_ENCRYPTEDDATA=yes,
- samba_cv_HAVE_ETYPE_IN_ENCRYPTEDDATA=no)])
-
- if test x"$samba_cv_HAVE_ETYPE_IN_ENCRYPTEDDATA" = x"yes"; then
- AC_DEFINE(HAVE_ETYPE_IN_ENCRYPTEDDATA,1,
- [Whether the EncryptedData struct has a etype property])
- fi
-
- AC_CACHE_CHECK([for ticket pointer in krb5_ap_req],
- samba_cv_HAVE_TICKET_POINTER_IN_KRB5_AP_REQ,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_ap_req *ap_req; ap_req->ticket = NULL;],
- samba_cv_HAVE_TICKET_POINTER_IN_KRB5_AP_REQ=yes,
- samba_cv_HAVE_TICKET_POINTER_IN_KRB5_AP_REQ=no)])
-
- if test x"$samba_cv_HAVE_TICKET_POINTER_IN_KRB5_AP_REQ" = x"yes"; then
- AC_DEFINE(HAVE_TICKET_POINTER_IN_KRB5_AP_REQ,1,
- [Whether the krb5_ap_req struct has a ticket pointer])
- fi
-
- AC_CACHE_CHECK([for e_data pointer in krb5_error],
- samba_cv_HAVE_E_DATA_POINTER_IN_KRB5_ERROR,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_error err; err.e_data = NULL;],
- samba_cv_HAVE_E_DATA_POINTER_IN_KRB5_ERROR=yes,
- samba_cv_HAVE_E_DATA_POINTER_IN_KRB5_ERROR=no)])
-
- if test x"$samba_cv_HAVE_E_DATA_POINTER_IN_KRB5_ERROR" = x"yes"; then
- AC_DEFINE(HAVE_E_DATA_POINTER_IN_KRB5_ERROR,1,
- [Whether the krb5_error struct has a e_data pointer])
- fi
-
- AC_CACHE_CHECK([for krb5_crypto type],
- samba_cv_HAVE_KRB5_CRYPTO,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_crypto crypto;],
- samba_cv_HAVE_KRB5_CRYPTO=yes,
- samba_cv_HAVE_KRB5_CRYPTO=no)])
-
- if test x"$samba_cv_HAVE_KRB5_CRYPTO" = x"yes"; then
- AC_DEFINE(HAVE_KRB5_CRYPTO,1,
- [Whether the type krb5_crypto exists])
- fi
-
- AC_CACHE_CHECK([for addrtype in krb5_address],
- samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_address kaddr; kaddr.addrtype = ADDRTYPE_INET;],
- samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS=yes,
- samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS=no)])
-
- if test x"$samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS" = x"yes"; then
- AC_DEFINE(HAVE_ADDRTYPE_IN_KRB5_ADDRESS,1,
- [Whether the krb5_address struct has a addrtype property])
- fi
-
- AC_CACHE_CHECK([for addr_type in krb5_address],
- samba_cv_HAVE_ADDR_TYPE_IN_KRB5_ADDRESS,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_address kaddr; kaddr.addr_type = KRB5_ADDRESS_INET;],
- samba_cv_HAVE_ADDR_TYPE_IN_KRB5_ADDRESS=yes,
- samba_cv_HAVE_ADDR_TYPE_IN_KRB5_ADDRESS=no)])
-
- if test x"$samba_cv_HAVE_ADDR_TYPE_IN_KRB5_ADDRESS" = x"yes"; then
- AC_DEFINE(HAVE_ADDR_TYPE_IN_KRB5_ADDRESS,1,
- [Whether the krb5_address struct has a addr_type property])
- fi
-
- AC_CACHE_CHECK([for keyvalue in krb5_keyblock],
- samba_cv_HAVE_KRB5_KEYBLOCK_KEYVALUE,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_keyblock key; key.keyvalue.data = NULL;],
- samba_cv_HAVE_KRB5_KEYBLOCK_KEYVALUE=yes,
- samba_cv_HAVE_KRB5_KEYBLOCK_KEYVALUE=no)])
-
- if test x"$samba_cv_HAVE_KRB5_KEYBLOCK_KEYVALUE" = x"yes"; then
- AC_DEFINE(HAVE_KRB5_KEYBLOCK_KEYVALUE,1,
- [Whether the krb5_keyblock struct has a keyvalue property])
- fi
-
- found_arcfour_hmac=no
- AC_CACHE_CHECK([for ENCTYPE_ARCFOUR_HMAC_MD5],
- samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_enctype enctype; enctype = ENCTYPE_ARCFOUR_HMAC_MD5;],
- samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5=yes,
- samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5=no)])
- AC_CACHE_CHECK([for KEYTYPE_ARCFOUR_56],
- samba_cv_HAVE_KEYTYPE_ARCFOUR_56,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_keytype keytype; keytype = KEYTYPE_ARCFOUR_56;],
- samba_cv_HAVE_KEYTYPE_ARCFOUR_56=yes,
- samba_cv_HAVE_KEYTYPE_ARCFOUR_56=no)])
-# Heimdals with KEYTYPE_ARCFOUR but not KEYTYPE_ARCFOUR_56 are broken
-# w.r.t. arcfour and windows, so we must not enable it here
- if test x"$samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5" = x"yes" -a\
- x"$samba_cv_HAVE_KEYTYPE_ARCFOUR_56" = x"yes"; then
- AC_DEFINE(HAVE_ENCTYPE_ARCFOUR_HMAC_MD5,1,
- [Whether the ENCTYPE_ARCFOUR_HMAC_MD5 key type definition is available])
- found_arcfour_hmac=yes
- fi
- AC_CACHE_CHECK([for ENCTYPE_ARCFOUR_HMAC],
- samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_enctype enctype; enctype = ENCTYPE_ARCFOUR_HMAC;],
- samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC=yes,
- samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC=no)])
- if test x"$samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC" = x"yes"; then
- AC_DEFINE(HAVE_ENCTYPE_ARCFOUR_HMAC,1,
- [Whether the ENCTYPE_ARCFOUR_HMAC key type definition is available])
- found_arcfour_hmac=yes
- fi
-
- AC_CACHE_CHECK([for ENCTYPE_AES128_CTS_HMAC_SHA1_96],
- samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_enctype enctype; enctype = ENCTYPE_AES128_CTS_HMAC_SHA1_96;],
- samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96=yes,
- samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96=no)])
- if test x"$samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96" = x"yes"; then
- AC_DEFINE(HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96,1,
- [Whether the ENCTYPE_AES128_CTS_HMAC_SHA1_96 key type definition is available])
- fi
- AC_CACHE_CHECK([for ENCTYPE_AES256_CTS_HMAC_SHA1_96],
- samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_enctype enctype; enctype = ENCTYPE_AES256_CTS_HMAC_SHA1_96;],
- samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96=yes,
- samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96=no)])
- if test x"$samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96" = x"yes"; then
- AC_DEFINE(HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96,1,
- [Whether the ENCTYPE_AES256_CTS_HMAC_SHA1_96 key type definition is available])
- fi
-
- AC_CACHE_CHECK([for AP_OPTS_USE_SUBKEY],
- samba_cv_HAVE_AP_OPTS_USE_SUBKEY,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_flags ap_options; ap_options = AP_OPTS_USE_SUBKEY;],
- samba_cv_HAVE_AP_OPTS_USE_SUBKEY=yes,
- samba_cv_HAVE_AP_OPTS_USE_SUBKEY=no)])
-
- if test x"$samba_cv_HAVE_AP_OPTS_USE_SUBKEY" = x"yes"; then
- AC_DEFINE(HAVE_AP_OPTS_USE_SUBKEY,1,
- [Whether the AP_OPTS_USE_SUBKEY ap option is available])
- fi
-
- AC_CACHE_CHECK([for KV5M_KEYTAB],
- samba_cv_HAVE_KV5M_KEYTAB,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_keytab_entry entry; entry.magic = KV5M_KEYTAB;],
- samba_cv_HAVE_KV5M_KEYTAB=yes,
- samba_cv_HAVE_KV5M_KEYTAB=no)])
-
- if test x"$samba_cv_HAVE_KV5M_KEYTAB" = x"yes"; then
- AC_DEFINE(HAVE_KV5M_KEYTAB,1,
- [Whether the KV5M_KEYTAB option is available])
- fi
-
- AC_CACHE_CHECK([for KRB5_KU_OTHER_CKSUM],
- samba_cv_HAVE_KRB5_KU_OTHER_CKSUM,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_keyusage usage = KRB5_KU_OTHER_CKSUM;],
- samba_cv_HAVE_KRB5_KU_OTHER_CKSUM=yes,
- samba_cv_HAVE_KRB5_KU_OTHER_CKSUM=no)])
-
- if test x"$samba_cv_HAVE_KRB5_KU_OTHER_CKSUM" = x"yes"; then
- AC_DEFINE(HAVE_KRB5_KU_OTHER_CKSUM,1,
- [Whether KRB5_KU_OTHER_CKSUM is available])
- fi
-
- AC_CACHE_CHECK([for KRB5_KEYUSAGE_APP_DATA_CKSUM],
- samba_cv_HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_keyusage usage = KRB5_KEYUSAGE_APP_DATA_CKSUM;],
- samba_cv_HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM=yes,
- samba_cv_HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM=no)])
-
- if test x"$samba_cv_HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM" = x"yes"; then
- AC_DEFINE(HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM,1,
- [Whether KRB5_KEYUSAGE_APP_DATA_CKSUM is available])
- fi
-
- AC_CACHE_CHECK([for the krb5_princ_component macro],
- samba_cv_HAVE_KRB5_PRINC_COMPONENT,[
- AC_TRY_LINK([#include <krb5.h>],
- [const krb5_data *pkdata; krb5_context context; krb5_principal principal; pkdata = krb5_princ_component(context, principal, 0);],
- samba_cv_HAVE_KRB5_PRINC_COMPONENT=yes,
- samba_cv_HAVE_KRB5_PRINC_COMPONENT=no)])
-
- if test x"$samba_cv_HAVE_KRB5_PRINC_COMPONENT" = x"yes"; then
- AC_DEFINE(HAVE_KRB5_PRINC_COMPONENT,1,
- [Whether krb5_princ_component is available])
- fi
-
- AC_CACHE_CHECK([for key in krb5_keytab_entry],
- samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_keytab_entry entry; krb5_keyblock e; entry.key = e;],
- samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY=yes,
- samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY=no)])
-
- if test x"$samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY" = x"yes"; then
- AC_DEFINE(HAVE_KRB5_KEYTAB_ENTRY_KEY,1,
- [Whether krb5_keytab_entry has key member])
- fi
-
- AC_CACHE_CHECK([for keyblock in krb5_keytab_entry],
- samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_keytab_entry entry; entry.keyblock.keytype = 0;],
- samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK=yes,
- samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK=no)])
-
- if test x"$samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK" = x"yes"; then
- AC_DEFINE(HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK,1,
- [Whether krb5_keytab_entry has keyblock member])
- fi
-
- AC_CACHE_CHECK([for magic in krb5_address],
- samba_cv_HAVE_MAGIC_IN_KRB5_ADDRESS,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_address addr; addr.magic = 0;],
- samba_cv_HAVE_MAGIC_IN_KRB5_ADDRESS=yes,
- samba_cv_HAVE_MAGIC_IN_KRB5_ADDRESS=no)])
-
- if test x"$samba_cv_HAVE_MAGIC_IN_KRB5_ADDRESS" = x"yes"; then
- AC_DEFINE(HAVE_MAGIC_IN_KRB5_ADDRESS,1,
- [Whether the krb5_address struct has a magic property])
- fi
-
- AC_CACHE_CHECK([for WRFILE: keytab support],
- samba_cv_HAVE_WRFILE_KEYTAB,[
- AC_TRY_RUN([
-#include<krb5.h>
- main()
- {
- krb5_context context;
- krb5_keytab keytab;
-
- krb5_init_context(&context);
- return krb5_kt_resolve(context, "WRFILE:api", &keytab);
- }],
- samba_cv_HAVE_WRFILE_KEYTAB=yes,
- samba_cv_HAVE_WRFILE_KEYTAB=no)])
-
- if test x"$samba_cv_HAVE_WRFILE_KEYTAB" = x"yes"; then
- AC_DEFINE(HAVE_WRFILE_KEYTAB,1,
- [Whether the WRFILE:-keytab is supported])
- fi
-
- AC_CACHE_CHECK([for krb5_realm type],
- samba_cv_HAVE_KRB5_REALM_TYPE,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_realm realm;],
- samba_cv_HAVE_KRB5_REALM_TYPE=yes,
- samba_cv_HAVE_KRB5_REALM_TYPE=no)])
-
- if test x"$samba_cv_HAVE_KRB5_REALM_TYPE" = x"yes"; then
- AC_DEFINE(HAVE_KRB5_REALM_TYPE,1,
- [Whether the type krb5_realm exists])
- fi
-
- AC_CACHE_CHECK([for krb5_princ_realm returns krb5_realm or krb5_data],
- samba_cv_KRB5_PRINC_REALM_RETURNS_REALM,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [
- krb5_context context;
- krb5_principal principal;
- krb5_realm realm; realm = *krb5_princ_realm(context, principal);],
- samba_cv_KRB5_PRINC_REALM_RETURNS_REALM=yes,
- samba_cv_KRB5_PRINC_REALM_RETURNS_REALM=no)])
-
- if test x"$samba_cv_KRB5_PRINC_REALM_RETURNS_REALM" = x"yes"; then
- AC_DEFINE(KRB5_PRINC_REALM_RETURNS_REALM,1,
- [Whether krb5_princ_realm returns krb5_realm or krb5_data])
- fi
-
- AC_CACHE_CHECK([for krb5_addresses type],
- samba_cv_HAVE_KRB5_ADDRESSES,[
- AC_TRY_COMPILE([#include <krb5.h>],
- [krb5_addresses addr;],
- samba_cv_HAVE_KRB5_ADDRESSES=yes,
- samba_cv_HAVE_KRB5_ADDRESSES=no)])
-
- if test x"$samba_cv_HAVE_KRB5_ADDRESSES" = x"yes"; then
- AC_DEFINE(HAVE_KRB5_ADDRESSES,1,
- [Whether the type krb5_addresses type exists])
- fi
-
- if test x"$ac_cv_func_ext_krb5_enctype_to_string" = x"yes"; then
- AC_CACHE_CHECK([for krb5_error_code krb5_enctype_to_string(krb5_context context, krb5_enctype enctype, char **str)],
- smb_krb5_cv_enctype_to_string_takes_krb5_context_arg,[
- AC_TRY_RUN_STRICT([
- #include <stdlib.h>
- #include <krb5.h>
- int main(void) {
- krb5_context context = NULL;
- char *str = NULL;
- krb5_enctype_to_string(context, 1, &str);
- if (str) free (str);
- return 0;
- }
- ],[$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)])
-
- if test x"$smb_krb5_cv_enctype_to_string_takes_krb5_context_arg" = x"yes"; then
- AC_DEFINE(HAVE_KRB5_ENCTYPE_TO_STRING_WITH_KRB5_CONTEXT_ARG,1,
- [whether krb5_enctype_to_string takes krb5_context argument])
- fi
-
- AC_CACHE_CHECK([for krb5_error_code krb5_enctype_to_string(krb5_enctype enctype, char *str, size_t len)],
- smb_krb5_cv_enctype_to_string_takes_size_t_arg,[
- AC_TRY_RUN_STRICT([
- #include <krb5.h>
- int main(void) {
- char buf[256];
- krb5_enctype_to_string(1, buf, 256);
- return 0;
- }
- ],[$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)])
-
- if test x"$smb_krb5_cv_enctype_to_string_takes_size_t_arg" = x"yes"; then
- AC_DEFINE(HAVE_KRB5_ENCTYPE_TO_STRING_WITH_SIZE_T_ARG,1,
- [whether krb5_enctype_to_string takes size_t argument])
- fi
- fi
-
- AC_CACHE_CHECK([for krb5_principal_get_realm],
- samba_cv_HAVE_KRB5_PRINCIPAL_GET_REALM,[
- AC_TRY_LINK([#include <krb5.h>],
- [krb5_context ctx = NULL; krb5_principal princ = NULL; const char *str = krb5_principal_get_realm(ctx, princ);],
- samba_cv_HAVE_KRB5_PRINCIPAL_GET_REALM=yes,
- samba_cv_HAVE_KRB5_PRINCIPAL_GET_REALM=no)])
-
- if test x"$samba_cv_HAVE_KRB5_PRINCIPAL_GET_REALM" = x"yes"; then
- AC_DEFINE(HAVE_KRB5_PRINCIPAL_GET_REALM,1,
- [Whether the function krb5_principal_get_realm is defined])
- fi
-
- AC_CACHE_CHECK([for krb5_princ_realm],
- samba_cv_HAVE_KRB5_PRINC_REALM,[
- AC_TRY_LINK([#include <krb5.h>],
- [krb5_context ctx = NULL; krb5_principal princ = NULL; const char *str = krb5_princ_realm(ctx, princ)->data;],
- samba_cv_HAVE_KRB5_PRINC_REALM=yes,
- samba_cv_HAVE_KRB5_PRINC_REALM=no)])
-
- if test x"$samba_cv_HAVE_KRB5_PRINC_REALM" = x"yes"; then
- AC_DEFINE(HAVE_KRB5_PRINC_REALM,1,
- [Whether the macro krb5_princ_realm is defined])
- fi
-
- 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
- #
- # NOTE: all tests should be done before this block!
- #
- #
- if test x"$found_arcfour_hmac" != x"yes"; then
- AC_MSG_WARN(arcfour-hmac-md5 encryption type not found in -lkrb5)
- use_ads=no
- fi
-
- if test x"$ac_cv_func_ext_krb5_set_real_time" != x"yes"; then
- AC_MSG_WARN(krb5_set_real_time encryption type not found in -lkrb5)
- use_ads=no
- fi
-
- if test x"$ac_cv_lib_ext_krb5_krb5_mk_req_extended" != x"yes"; then
- AC_MSG_WARN(krb5_mk_req_extended not found in -lkrb5)
- use_ads=no
- fi
-
- if test x"$ac_cv_func_ext_krb5_get_host_realm" != x"yes"
- then
- AC_MSG_WARN(krb5_get_host_realm not found in -lkrb5)
- use_ads=no
- fi
-
- if test x"$ac_cv_func_ext_krb5_free_host_realm" != x"yes"
- then
- AC_MSG_WARN(krb5_free_host_realm not found in -lkrb5)
- use_ads=no
- fi
-
- if test x"$ac_cv_func_ext_krb5_fwd_tgt_creds" != x"yes"
- then
- AC_MSG_WARN(krb5_fwd_tgt_creds not found in -lkrb5)
- use_ads=no
- fi
-
- if test x"$ac_cv_func_ext_krb5_get_init_creds_opt_alloc" != x"yes"
- then
- AC_MSG_WARN(krb5_get_init_creds_opt_alloc found in -lkrb5)
- use_ads=no
- fi
-
- if test x"$smb_krb5_cv_creds_opt_free_context" != x"yes"
- then
- AC_MSG_WARN(krb5_get_init_creds_opt_free not found or was too old in -lkrb5)
- use_ads=no
- fi
-
- if test x"$ac_cv_func_ext_krb5_get_renewed_creds" != x"yes"
- then
- AC_MSG_WARN(krb5_get_renewed_creds not found in -lkrb5)
- use_ads=no
- fi
-
- if test x"$ac_cv_func_ext_krb5_principal_compare_any_realm" != x"yes"
- then
- AC_MSG_WARN(krb5_principal_compare_any_realm not found in -lkrb5)
- use_ads=no
- fi
-
- 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
- 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 \
- x"$ac_cv_func_ext_krb5_get_default_in_tkt_etypes" != x"yes"
- then
- AC_MSG_WARN(no GET_ENCTYPES_FUNCTIONS detected)
- use_ads=no
- fi
-
- if test x"$ac_cv_func_ext_krb5_kt_free_entry" != x"yes" -a \
- x"$ac_cv_func_ext_krb5_free_keytab_entry_contents" != x"yes"
- then
- AC_MSG_WARN(no KT_FREE_FUNCTION detected)
- use_ads=no
- fi
-
- if test x"$ac_cv_func_ext_krb5_c_verify_checksum" != x"yes"
- then
- AC_MSG_WARN(krb5_c_verify_checksum not found in -lkrb5)
- 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"
- then
- AC_MSG_WARN(need either gss_get_name_attribute or gsskrb5_extract_authz_data_from_sec_context and gss_inquire_sec_context_by_oid in -lgssapi for PAC support)
- use_ads=no
- fi
- fi
-
- if test x"$use_ads" = x"yes"; then
- AC_DEFINE(WITH_ADS,1,[Whether to include Active Directory support])
- AC_DEFINE(HAVE_KRB5,1,[Whether to have KRB5 support])
- else
- if test x"$with_ads_support" = x"yes"; then
- AC_MSG_ERROR(krb5 libs don't have all features required for Active Directory support)
- else
- AC_MSG_WARN(krb5 libs don't have all features required for Active Directory support)
- fi
- AC_REMOVE_DEFINE(HAVE_KRB5_H)
- AC_REMOVE_DEFINE(HAVE_GSSAPI_H)
- AC_REMOVE_DEFINE(HAVE_GSSAPI_GSSAPI_GENERIC_H)
- AC_REMOVE_DEFINE(HAVE_GSSAPI_GSSAPI_H)
- AC_REMOVE_DEFINE(HAVE_GSSAPI)
- KRB5_LIBS=""
- with_ads_support=no
- fi
- AC_MSG_CHECKING(whether Active Directory and krb5 support is used)
- AC_MSG_RESULT([$use_ads])
-
-LIBS="$ac_save_LIBS"
-fi
-
-AC_CHECK_LIB_EXT(nscd, NSCD_LIBS, nscd_flush_cache)
-PASSDB_LIBS="$PASSDB_LIBS $NSCD_LIBS"
-
-
-########################################################
-# Compile with DNS Updates support?
-
-with_dnsupdate_support=auto
-AC_MSG_CHECKING([whether to enable DNS Updates support])
-
-AC_ARG_WITH(dnsupdate,
-[AS_HELP_STRING([--with-dnsupdate], [Enable DNS Updates support (default=auto)])],
-[ case "$withval" in
- yes|no)
- with_dnsupdate_support=$withval
- ;;
- esac ])
-
-AC_MSG_RESULT($with_dnsupdate_support)
-
-if test x"$with_dnsupdate_support" != x"no"; then
-
- ################################################################
- # first test for AD / GSSAPI support being enabled
- if test x"$have_gssapi" != xyes -o x"$use_ads" != xyes ; then
- if test x"$with_dnsupdate_support" = x"yes" ; then
- AC_MSG_ERROR(DNS Updates support only possible with AD and GSSAPI support)
- else
- AC_MSG_NOTICE(DNS Updates support only possible with AD and GSSAPI support)
- with_dnsupdate_support=no
- fi
- fi
-fi
-
-if test x"$with_dnsupdate_support" != x"no"; then
- 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])
-
-
-#################################################
-# check for automount support
-AC_MSG_CHECKING(whether to use automount)
-AC_ARG_WITH(automount,
-[AS_HELP_STRING([--with-automount], [Include automount support (default=no)])],
-[ case "$withval" in
- yes)
- AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_AUTOMOUNT,1,[Whether to include automount support])
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
- esac ],
- AC_MSG_RESULT(no)
-)
-
-#################################################
-# Check for a PAM clear-text auth, accounts, password
-# and session support. Most PAM implementations keep their
-# headers in /usr/include/security. Darwin keeps its in
-# /usr/include/pam.
-
-with_pam_for_crypt=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=auto)])],
-[ case "$withval" in
- yes|no|auto)
- try_pam=$withval
- ;;
- esac
-])
-AC_MSG_RESULT([$try_pam])
-
-use_pam=no
-create_pam_modules=no
-if test x"${try_pam}" != x"no";then
- use_pam=yes
- create_pam_modules=yes
-
- # Most systems have PAM headers in /usr/include/security, but Darwin
- # has them in /usr/include/pam.
- AC_CHECK_HEADERS(security/pam_appl.h pam/pam_appl.h)
- if test x"$ac_cv_header_security_pam_appl_h" != x"yes" -a \
- x"$ac_cv_header_pam_pam_appl_h" != x"yes"; then
- if test x"${try_pam}" = x"yes";then
- AC_MSG_ERROR([--with-pam=yes but pam_appl.h not found])
- fi
- use_pam=no
- create_pam_modules=no
- fi
-
- AC_CHECK_LIB_EXT(pam, PAM_LIBS, pam_get_data)
- if test x"$ac_cv_lib_ext_pam_pam_get_data" != x"yes"; then
- if test x"${try_pam}" = x"yes";then
- AC_MSG_ERROR([--with-pam=yes but libpam not found])
- fi
- use_pam=no
- create_pam_modules=no
- fi
-
- AC_CHECK_HEADERS(security/pam_modules.h pam/pam_modules.h,,,[[
- #if HAVE_SECURITY_PAM_APPL_H
- #include <security/pam_appl.h>
- #endif
- #if HAVE_PAM_PAM_APPL_H
- #include <pam/pam_appl.h>
- #endif
- ]])
- if test x"$ac_cv_header_security_pam_modules_h" = x"no" -a \
- x"$ac_cv_header_pam_pam_modules_h" = x"no" ; then
- if test x"${try_pam}" = x"yes";then
- AC_MSG_ERROR([--with-pam=yes but pam_modules.h not found])
- fi
- create_pam_modules=no
- fi
-
- if test x"$use_pam" = x"yes"; then
- AC_DEFINE(WITH_PAM,1,[Whether to include PAM support])
- AC_DEFINE(HAVE_LIBPAM,1,[Whether libpam is available])
- AUTH_LIBS="$AUTH_LIBS $PAM_LIBS"
- with_pam_for_crypt=yes
-
- if test x"$create_pam_modules" = x"yes"; then
- AC_DEFINE(WITH_PAM_MODULES,1,[Whether to include PAM MODULES support])
- # this checks are optional,
- # we don't care about the results here
- AC_CHECK_HEADERS(security/pam_ext.h security/_pam_macros.h)
- AC_CHECK_HEADERS(pam/pam_ext.h pam/_pam_macros.h)
- AC_CHECK_FUNC_EXT(pam_vsyslog,$PAM_LIBS)
- else
- AC_MSG_WARN([PAM support detected but PAM MODULES support is missing])
- fi
- fi
- AC_MSG_CHECKING(whether to use PAM support)
- AC_MSG_RESULT([$use_pam])
-
- AC_MSG_CHECKING(whether to have PAM MODULES support)
- AC_MSG_RESULT([$create_pam_modules])
-
- AC_TRY_COMPILE([
- #if defined(HAVE_SECURITY_PAM_APPL_H)
- #include <security/pam_appl.h>
- #elif defined(HAVE_PAM_PAM_APPL_H)
- #include <pam/pam_appl.h>
- #endif],[
- pam_set_item(0, PAM_RHOST, 0);
- ],
- AC_DEFINE(HAVE_PAM_RHOST, 1,
- [Define to 1 if PAM_RHOST is available]),[])
-
- AC_TRY_COMPILE([
- #if defined(HAVE_SECURITY_PAM_APPL_H)
- #include <security/pam_appl.h>
- #elif defined(HAVE_PAM_PAM_APPL_H)
- #include <pam/pam_appl.h>
- #endif],[
- pam_set_item(0, PAM_TTY, 0);
- ],
- AC_DEFINE(HAVE_PAM_TTY, 1,
- [Define to 1 if PAM_TTY is available]),[])
-
-fi # try_pam != no
-
-#################################################
-# check for PAM_RADIO_TYPE
-AC_TRY_COMPILE([
-#if (!defined(LINUX))
-
-#define PAM_EXTERN extern
-#if defined(HAVE_SECURITY_PAM_APPL_H)
-#include <security/pam_appl.h>
-#elif defined(HAVE_PAM_PAM_APPL_H)
-#include <pam/pam_appl.h>
-#endif
-
-#endif
-
-#if defined(HAVE_SECURITY_PAM_MODULES_H)
-#include <security/pam_modules.h>
-#elif defined(HAVE_PAM_PAM_MODULES_H)
-#include <pam/pam_modules.h>
-#endif
-
-#if defined(HAVE_SECURITY__PAM_MACROS_H)
-#include <security/_pam_macros.h>
-#elif defined(HAVE_PAM__PAM_MACROS_H)
-#include <pam/_pam_macros.h>
-#endif
-
-#ifdef HAVE_SECURITY_PAM_EXT_H
-#include <security/pam_ext.h>
-#endif
-],
-[int i; i = PAM_RADIO_TYPE; ],
-AC_DEFINE(HAVE_PAM_RADIO_TYPE, 1, [Define to 1 if PAM_RADIO_TYPE is available]),[])
-
-#################################################
-# check for pam_smbpass support
-PAM_MODULES=""
-INSTALL_PAM_MODULES=""
-UNINSTALL_PAM_MODULES=""
-
-try_pam_smbpass=auto
-AC_MSG_CHECKING(whether to use pam_smbpass)
-AC_ARG_WITH(pam_smbpass,
-[AS_HELP_STRING([--with-pam_smbpass], [Build PAM module for authenticating against passdb backends (default=auto)])],
-[ case "$withval" in
- yes|no|auto)
- try_pam_smbpass=$withval
- ;;
- *)
- AC_MSG_ERROR([valid options are yes,no,auto])
- ;;
- esac
-])
-
-if test x"${try_pam_smbpass}" = xno ; then
- use_pam_smbpass=no
-else
- use_pam_smbpass=yes
- # Conditions under which pam_smbpass can't be built.
- if test x"$BLDSHARED" != xtrue ; then
- if test x"${try_pam_smbpass}" = xyes ; then
- AC_MSG_ERROR([No support for shared modules])
- fi
- use_pam_smbpass=no
- elif test x"$create_pam_modules" != xyes ; then
- if test x"${try_pam_smbpass}" = xyes ; then
- AC_MSG_ERROR([No support for PAM MODULES])
- fi
- use_pam_smbpass=no
- fi
-
- if test x"${use_pam_smbpass}" = xyes ; then
- PAM_MODULES="pam_smbpass"
- INSTALL_PAM_MODULES="installpammodules"
- UNINSTALL_PAM_MODULES="uninstallpammodules"
- fi
-fi
-AC_MSG_RESULT([$use_pam_smbpass])
-
-
-##
-## moved after the check for -lcrypt in order to
-## ensure that the necessary libraries are included
-## check checking for truncated salt. Wrapped by the
-## $with_pam_for_crypt variable as above --jerry
-##
-if test $with_pam_for_crypt = no; then
-AC_CACHE_CHECK([for a crypt that needs truncated salt],samba_cv_HAVE_TRUNCATED_SALT,[
-crypt_LIBS="$LIBS"
-LIBS="$AUTH_LIBS $LIBS"
-AC_TRY_RUN([#include "${srcdir-.}/../tests/crypttest.c"],
- samba_cv_HAVE_TRUNCATED_SALT=no,samba_cv_HAVE_TRUNCATED_SALT=yes,samba_cv_HAVE_TRUNCATED_SALT=cross)
-LIBS="$crypt_LIBS"])
-if test x"$samba_cv_HAVE_TRUNCATED_SALT" = x"yes"; then
- AC_DEFINE(HAVE_TRUNCATED_SALT,1,[Whether crypt needs truncated salt])
-fi
-fi
-
-#################################################
-# check for a NISPLUS_HOME support
-AC_MSG_CHECKING(whether to use NISPLUS_HOME)
-AC_ARG_WITH(nisplus-home,
-[AS_HELP_STRING([--with-nisplus-home], [Include NISPLUS_HOME support (default=no)])],
-[ case "$withval" in
- yes)
- AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_NISPLUS_HOME,1,[Whether to include nisplus_home support])
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
- esac ],
- AC_MSG_RESULT(no)
-)
-
-#################################################
-# check for syslog logging
-AC_MSG_CHECKING(whether to use syslog logging)
-AC_ARG_WITH(syslog,
-[AS_HELP_STRING([--with-syslog], [Include experimental SYSLOG support (default=no)])],
-[ case "$withval" in
- yes)
- AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_SYSLOG,1,[Whether to include experimental syslog support])
- ;;
- *)
- AC_MSG_RESULT(no)
- ;;
- esac ],
- AC_MSG_RESULT(no)
-)
-
-#################################################
-# check for custom syslog facility
-AC_MSG_CHECKING(whether to use a custom syslog facility)
-AC_ARG_WITH(syslog-facility,
-[AS_HELP_STRING([--with-syslog-facility], [Use a custom syslog facility (default=none)])],
-[
- 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_SYSQUOTA_FOUND=no
-
-AC_MSG_CHECKING(whether to try disk-quotas support)
-AC_ARG_WITH(quotas,
-[AS_HELP_STRING([--with-quotas], [Include disk-quota support (default=no)])],
-[ case "$withval" in
- yes)
- AC_MSG_RESULT(yes)
- samba_cv_WITH_QUOTAS=yes
- ;;
- auto)
- AC_MSG_RESULT(auto)
- samba_cv_WITH_QUOTAS=auto
- ;;
- no)
- AC_MSG_RESULT(no)
- samba_cv_WITH_QUOTAS=no
- ;;
- *)
- AC_MSG_RESULT(${samba_cv_WITH_QUOTAS})
- ;;
- esac ],
- AC_MSG_RESULT(${samba_cv_WITH_QUOTAS})
-)
-
-#############################################
-# only check for quota stuff if --with-quotas
-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])
- AC_MSG_CHECKING(whether to use the lib/sysquotas_linux.c builtin support)
- AC_MSG_RESULT(yes)
-
- AC_MSG_CHECKING(whether to use the lib/sysquotas_xfs.c builtin support)
- AC_MSG_RESULT(yes)
- ;;
- *solaris*)
- # need to set this define when using static linking (BUG 1473)
- CPPFLAGS="$CPPFLAGS -DSUNOS5"
- ;;
- *)
- ;;
-esac
-
-# some broken header files need this
-AC_CHECK_HEADER(asm/types.h,[
- AC_DEFINE(HAVE_ASM_TYPES_H,1,[check for <asm/types.h>])
- AC_ADD_INCLUDE(<asm/types.h>)
- ])
-
-# For quotas on Veritas VxFS filesystems
-AC_CHECK_HEADERS(sys/fs/vx_quota.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)
-
-# 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([
-#include "confdefs.h"
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_ASM_TYPES_H
-#include <asm/types.h>
-#endif
-#include <sys/quota.h>
-],[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
- AC_DEFINE(HAVE_XFS_QUOTAS,1,[Whether xfs quota support is available])
-fi
-fi
-
-# if we have struct dqblk .dqb_fsoftlimit instead of .dqb_isoftlimit on IRIX
-AC_CACHE_CHECK([if struct dqblk has .dqb_fsoftlimit],samba_cv_HAVE_DQB_FSOFTLIMIT, [
-AC_TRY_COMPILE([
-#include "confdefs.h"
-#ifdef HAVE_SYS_QUOTA_H
-#include <sys/quota.h>
-#endif
-],[
-struct dqblk D;
-D.dqb_fsoftlimit = 0;],
-samba_cv_HAVE_DQB_FSOFTLIMIT=yes,samba_cv_HAVE_DQB_FSOFTLIMIT=no)])
-if test "$samba_cv_HAVE_DQB_FSOFTLIMIT"x = "yes"x; then
- AC_DEFINE(HAVE_DQB_FSOFTLIMIT,1,[struct dqblk .dqb_fsoftlimit])
-fi
-
-##################
-# look for a working quota system
-
-if test x"$samba_cv_SYSQUOTA_FOUND" != x"yes"; then
-AC_CACHE_CHECK([for long quotactl(int cmd, char *special, qid_t id, caddr_t addr)],samba_cv_HAVE_QUOTACTL_4A,[
-AC_TRY_RUN_STRICT([
-#define HAVE_QUOTACTL_4A 1
-#define AUTOCONF_TEST 1
-#include "confdefs.h"
-#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])
-fi
-fi
-
-if test x"$samba_cv_SYSQUOTA_FOUND" != x"yes"; then
-AC_CACHE_CHECK([for int quotactl(const char *path, int cmd, int id, char *addr)],samba_cv_HAVE_QUOTACTL_4B,[
-AC_TRY_RUN_STRICT([
-#define HAVE_QUOTACTL_4B 1
-#define AUTOCONF_TEST 1
-#include "confdefs.h"
-#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
- 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])
- 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
-
-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 mntent.h and struct mntent
-AC_CHECK_HEADERS(mntent.h)
-#################################################
-# check for setmntent,getmntent,endmntent
-AC_CHECK_FUNCS(setmntent getmntent endmntent)
-
-#################################################
-# check for devnm.h and struct mntent
-AC_CHECK_HEADERS(devnm.h)
-#################################################
-# check for devnm
-AC_CHECK_FUNCS(devnm)
-
-AC_MSG_CHECKING(whether to use the new lib/sysquotas.c interface)
-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])
-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
-
-####################
-# End of quota check samba_cv_WITH_QUOTAS
-fi
-
-#################################################
-# check for experimental utmp accounting
-
-AC_MSG_CHECKING(whether to support utmp accounting)
-WITH_UTMP=yes
-AC_ARG_WITH(utmp,
-[AS_HELP_STRING([--with-utmp], [Include utmp accounting (default, if supported by OS)])],
-[ case "$withval" in
- no)
- WITH_UTMP=no
- ;;
- *)
- WITH_UTMP=yes
- ;;
- esac ],
-)
-
-# utmp requires utmp.h
-# Note similar check earlier, when checking utmp details.
-
-if test x"$WITH_UTMP" = x"yes" -a x"$ac_cv_header_utmp_h" = x"no"; then
- utmp_no_reason=", no utmp.h on $host_os"
- 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
- AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_UTMP,1,[Whether to include experimental utmp accounting])
-else
- AC_MSG_RESULT(no$utmp_no_reason)
-fi
-
-
-#################################################
-# these tests are taken from the GNU fileutils package
-AC_CHECKING(how to get filesystem space usage)
-space=no
-
-# Perform only the link test since it seems there are no variants of the
-# statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs)
-# because that got a false positive on SCO OSR5. Adding the declaration
-# of a `struct statvfs' causes this test to fail (as it should) on such
-# systems. That system is reported to work fine with STAT_STATFS4 which
-# is what it gets when this test fails.
-if test $space = no; then
- # SVR4
- AC_CACHE_CHECK([statvfs function (SVR4)], fu_cv_sys_stat_statvfs,
- [AC_TRY_LINK([#include <sys/types.h>
-#include <sys/statvfs.h>],
- [struct statvfs fsd; statvfs (0, &fsd);],
- fu_cv_sys_stat_statvfs=yes,
- fu_cv_sys_stat_statvfs=no)])
- if test $fu_cv_sys_stat_statvfs = yes; then
- space=yes
- AC_DEFINE(STAT_STATVFS,1,[Whether statvfs() is available])
- fi
-fi
-
-# smbd/statvfs.c assumes that statvfs.f_fsid is an integer.
-# This is not the case on ancient Linux systems.
-
-AC_CACHE_CHECK([that statvfs.f_fsid is an integer],samba_cv_fsid_int, [
- AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/statvfs.h>],[struct statvfs buf; buf.f_fsid = 0],
- samba_cv_fsid_int=yes,samba_cv_fsid_int=no)])
-if test x"$samba_cv_fsid_int" = x"yes"; then
- AC_DEFINE(HAVE_FSID_INT, 1, [Whether statvfs.f_fsid is an integer])
-fi
-
-# fsusage.c assumes that statvfs has an f_frsize entry. Some weird
-# systems use f_bsize.
-AC_CACHE_CHECK([that statvfs.f_frsize works],samba_cv_frsize, [
- AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/statvfs.h>],[struct statvfs buf; buf.f_frsize = 0],
- samba_cv_frsize=yes,samba_cv_frsize=no)])
-if test x"$samba_cv_frsize" = x"yes"; then
- AC_DEFINE(HAVE_FRSIZE, 1, [Whether statvfs.f_frsize exists])
-fi
-
-# Some systems use f_flag in struct statvfs while others use f_flags
-AC_CACHE_CHECK([that statvfs.statvfs_f_flag works],samba_cv_statvfs_f_flag, [
- AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/statvfs.h>],[struct statvfs buf; buf.f_flag = 0],
- samba_cv_statvfs_f_flag=yes,samba_cv_statvfs_f_flag=no)])
-if test x"$samba_cv_statvfs_f_flag" = x"yes"; then
- AC_DEFINE(HAVE_STATVFS_F_FLAG, 1, [Whether statvfs.f_flag exists])
-fi
-
-AC_CACHE_CHECK([that statvfs.statvfs_f_flags works],samba_cv_statvfs_f_flags, [
- AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/statvfs.h>],[struct statvfs buf; buf.f_flags = 0],
- samba_cv_statvfs_f_flags=yes,samba_cv_statvfs_f_flags=no)])
-if test x"$samba_cv_statvfs_f_flags" = x"yes"; then
- AC_DEFINE(HAVE_STATVFS_F_FLAGS, 1, [Whether statvfs.f_flags exists])
-fi
-
-if test $space = no; then
- # DEC Alpha running OSF/1
- AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
- AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
- [AC_TRY_RUN([
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/mount.h>
- main ()
- {
- struct statfs fsd;
- fsd.f_fsize = 0;
- return (statfs (".", &fsd, sizeof (struct statfs)));
- }],
- fu_cv_sys_stat_statfs3_osf1=yes,
- fu_cv_sys_stat_statfs3_osf1=no,
- fu_cv_sys_stat_statfs3_osf1=no)])
- AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
- if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
- space=yes
- AC_DEFINE(STAT_STATFS3_OSF1,1,[Whether statfs requires 3 arguments])
- fi
-fi
-
-if test $space = no; then
-# AIX
- AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl
-member (AIX, 4.3BSD)])
- AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
- [AC_TRY_RUN([
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-#ifdef HAVE_SYS_MOUNT_H
-#include <sys/mount.h>
-#endif
-#ifdef HAVE_SYS_VFS_H
-#include <sys/vfs.h>
-#endif
- main ()
- {
- struct statfs fsd;
- fsd.f_bsize = 0;
- return (statfs (".", &fsd));
- }],
- fu_cv_sys_stat_statfs2_bsize=yes,
- fu_cv_sys_stat_statfs2_bsize=no,
- fu_cv_sys_stat_statfs2_bsize=no)])
- AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
- if test $fu_cv_sys_stat_statfs2_bsize = yes; then
- space=yes
- AC_DEFINE(STAT_STATFS2_BSIZE,1,[Whether statfs requires two arguments and struct statfs has bsize property])
- fi
-fi
-
-if test $space = no; then
-# SVR3
- AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
- AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
- [AC_TRY_RUN([#include <sys/types.h>
-#include <sys/statfs.h>
- main ()
- {
- struct statfs fsd;
- return (statfs (".", &fsd, sizeof fsd, 0));
- }],
- fu_cv_sys_stat_statfs4=yes,
- fu_cv_sys_stat_statfs4=no,
- fu_cv_sys_stat_statfs4=no)])
- AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
- if test $fu_cv_sys_stat_statfs4 = yes; then
- space=yes
- AC_DEFINE(STAT_STATFS4,1,[Whether statfs requires 4 arguments])
- fi
-fi
-
-if test $space = no; then
-# 4.4BSD and NetBSD
- AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl
-member (4.4BSD and NetBSD)])
- AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
- [AC_TRY_RUN([#include <sys/types.h>
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-#ifdef HAVE_SYS_MOUNT_H
-#include <sys/mount.h>
-#endif
- main ()
- {
- struct statfs fsd;
- fsd.f_fsize = 0;
- return (statfs (".", &fsd));
- }],
- fu_cv_sys_stat_statfs2_fsize=yes,
- fu_cv_sys_stat_statfs2_fsize=no,
- fu_cv_sys_stat_statfs2_fsize=no)])
- AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
- if test $fu_cv_sys_stat_statfs2_fsize = yes; then
- space=yes
- AC_DEFINE(STAT_STATFS2_FSIZE,1,[Whether statfs requires 2 arguments and struct statfs has fsize])
- fi
-fi
-
-if test $space = no; then
- # Ultrix
- AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
- AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
- [AC_TRY_RUN([#include <sys/types.h>
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-#ifdef HAVE_SYS_MOUNT_H
-#include <sys/mount.h>
-#endif
-#ifdef HAVE_SYS_FS_TYPES_H
-#include <sys/fs_types.h>
-#endif
- main ()
- {
- struct fs_data fsd;
- /* Ultrix's statfs returns 1 for success,
- 0 for not mounted, -1 for failure. */
- return (statfs (".", &fsd) != 1);
- }],
- fu_cv_sys_stat_fs_data=yes,
- fu_cv_sys_stat_fs_data=no,
- fu_cv_sys_stat_fs_data=no)])
- AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
- if test $fu_cv_sys_stat_fs_data = yes; then
- space=yes
- AC_DEFINE(STAT_STATFS2_FS_DATA,1,[Whether statfs requires 2 arguments and struct fs_data is available])
- fi
-fi
-
-#################################################
-# check for cluster extensions
-
-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
- yes|no)
- AC_MSG_WARN([--with-ctdb called without argument])
- ;;
- *)
- CTDB_CPPFLAGS="-I$withval/include"
- ;;
- 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"
-
-AC_CHECK_HEADERS(ctdb.h ctdb_private.h ctdb_protocol.h ,,,[
-#include "confdefs.h"
-#define NO_CONFIG_H
-#include "replace.h"
-#include "system/wait.h"
-#include "system/network.h"
-#define private #error __USED_RESERVED_WORD_private__
-#include <talloc.h>
-#include <tdb.h>
-#include <ctdb.h>
-])
-
-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
-
-if test "x$have_cluster_support" = "xyes" -a \
- "x$ac_cv_header_ctdb_private_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 <talloc.h>
- #include <tdb.h>
- #include <ctdb.h>
- #include <ctdb_private.h>
- ])
- 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
-
-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 <talloc.h>
- #include <tdb.h>
- #include <ctdb.h>
- #include <ctdb_private.h>
- ])
- 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
-
-if test "x$have_cluster_support" = "xyes" ; then
- AC_HAVE_DECL(CTDB_CONTROL_CHECK_SRVIDS,[
- #include "confdefs.h"
- #define NO_CONFIG_H
- #include "replace.h"
- #include "system/wait.h"
- #include "system/network.h"
- #include <talloc.h>
- #include <tdb.h>
- #include <ctdb.h>
- #include <ctdb_private.h>
- ])
- if test x"$ac_cv_have_CTDB_CONTROL_CHECK_SRVIDS_decl" != x"yes"
- then
- if test "x$enable_old_ctdb" = "xyes" ; then
- AC_MSG_WARN([ignoring missing CHECK_SRVIDS (--enable-old-ctdb)])
- else
- ctdb_broken="support for CHECK_SRVIDS control missing"
- have_cluster_support=no
- fi
- fi
-fi
-
-AC_ARG_ENABLE([ctdb-readonly-records],
- AS_HELP_STRING([--enable-ctdb-readonly-records],
- [Turn on CTDB readonly records support (default=yes)]),
- [want_ctdb_readonly=$enableval],
- [want_ctdb_readonly=yes])
-
-if test "x$have_cluster_support" = "xyes" -a "x$want_ctdb_readonly" = "xyes" ; then
- AC_HAVE_DECL(CTDB_WANT_READONLY,[
- #include "confdefs.h"
- #define NO_CONFIG_H
- #include "replace.h"
- #include "system/wait.h"
- #include "system/network.h"
- #include <talloc.h>
- #include <tdb.h>
- #include <ctdb.h>
- ])
-
- if test "x$ac_cv_have_CTDB_WANT_READONLY_decl" != "xyes" ; then
- if test "x$enable_old_ctdb" = "xyes" ; then
- AC_MSG_WARN([ignoring missing READONLY support (--enable-old-ctdb)])
- else
- ctdb_broken="support for CTDB readonly records missing"
- have_cluster_support=no
- fi
- fi
-fi
-
-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 <talloc.h>
- #include <tdb.h>
- #include <ctdb.h>
- #include <ctdb_private.h>
- ])
-fi
-
-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 <talloc.h>
- #include <tdb.h>
- #include <ctdb.h>
- #include <ctdb_private.h>
- ])
-fi
-
-# 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 <talloc.h>
- #include <tdb.h>
- #include <ctdb.h>
- #include <ctdb_private.h>
- ])
-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_NOTICE(Building with cluster support)
-else
- AC_MSG_NOTICE(Building without cluster support)
-fi
-
-
-#################################################
-# check for rtnetlink
-
-AC_CHECK_HEADERS([linux/netlink.h],
- AC_CHECK_HEADERS([linux/rtnetlink.h],[],[],
- [#include <bits/sockaddr.h>
- #include <linux/netlink.h>]),
- [],[#include <bits/sockaddr.h>])
-
-#################################################
-# check for ACL support
-
-AC_MSG_CHECKING(whether to support ACLs)
-AC_ARG_WITH(acl-support,
-[AS_HELP_STRING([--with-acl-support], [Include ACL support (default=auto)])],
-[ case "$withval" in
- yes|no)
- with_acl_support="$withval"
- ;;
- esac ])
-
-if test x"$with_acl_support" = x ; then
- with_acl_support="auto"
-fi
-
-AC_MSG_RESULT($with_acl_support)
-
-if test x"$with_acl_support" = x"no"; then
- AC_MSG_RESULT(Disabling ACL support)
-else
- AC_MSG_NOTICE(checking whether ACL support is available:)
- case "$host_os" in
- *sysv5*)
- AC_MSG_NOTICE(Using UnixWare ACLs)
- AC_DEFINE(HAVE_UNIXWARE_ACLS,1,[Whether UnixWare ACLs are available])
- default_static_modules="$default_static_modules vfs_solarisacl"
- ;;
- *solaris*)
- AC_MSG_NOTICE(Using solaris ACLs)
- AC_DEFINE(HAVE_SOLARIS_ACLS,1,[Whether solaris ACLs are available])
- ACL_LIBS="$ACL_LIBS -lsec"
- default_static_modules="$default_static_modules vfs_solarisacl"
- ;;
- *hpux*)
- AC_MSG_NOTICE(Using HPUX ACLs)
- AC_DEFINE(HAVE_HPUX_ACLS,1,[Whether HPUX ACLs are available])
- default_static_modules="$default_static_modules vfs_hpuxacl"
- ;;
- *aix*)
- AC_MSG_NOTICE(Using AIX ACLs)
- AC_DEFINE(HAVE_AIX_ACLS,1,[Whether AIX ACLs are available])
- default_static_modules="$default_static_modules vfs_aixacl"
- ;;
- *osf*)
- AC_MSG_NOTICE(Using Tru64 ACLs)
- AC_DEFINE(HAVE_TRU64_ACLS,1,[Whether Tru64 ACLs are available])
- ACL_LIBS="$ACL_LIBS -lpacl"
- default_static_modules="$default_static_modules vfs_tru64acl"
- ;;
- *darwin*)
- AC_MSG_NOTICE(ACLs on Darwin currently not supported)
- ;;
- *)
- AC_CHECK_LIB(acl,acl_get_file,[ACL_LIBS="$ACL_LIBS -lacl"])
- case "$host_os" in
- *linux*)
- AC_CHECK_LIB(attr,getxattr,[ACL_LIBS="$ACL_LIBS -lattr"])
- ;;
- esac
- AC_CACHE_CHECK([for POSIX ACL support],samba_cv_HAVE_POSIX_ACLS,[
- acl_LIBS=$LIBS
- LIBS="$LIBS $ACL_LIBS"
- AC_TRY_LINK([
- #include <sys/types.h>
- #include <sys/acl.h>
- ],[
- acl_t acl;
- int entry_id;
- acl_entry_t *entry_p;
- return acl_get_entry(acl, entry_id, entry_p);
- ],
- [samba_cv_HAVE_POSIX_ACLS=yes],
- [samba_cv_HAVE_POSIX_ACLS=no])
- LIBS=$acl_LIBS
- ])
- if test x"$samba_cv_HAVE_POSIX_ACLS" = x"yes"; then
- AC_MSG_NOTICE(Using posix ACLs)
- AC_DEFINE(HAVE_POSIX_ACLS,1,[Whether POSIX ACLs are available])
- AC_CACHE_CHECK([for acl_get_perm_np],samba_cv_HAVE_ACL_GET_PERM_NP,[
- acl_LIBS=$LIBS
- LIBS="$LIBS $ACL_LIBS"
- AC_TRY_LINK([
- #include <sys/types.h>
- #include <sys/acl.h>
- ],[
- acl_permset_t permset_d;
- acl_perm_t perm;
- return acl_get_perm_np(permset_d, perm);
- ],
- [samba_cv_HAVE_ACL_GET_PERM_NP=yes],
- [samba_cv_HAVE_ACL_GET_PERM_NP=no])
- LIBS=$acl_LIBS
- ])
- if test x"$samba_cv_HAVE_ACL_GET_PERM_NP" = x"yes"; then
- AC_DEFINE(HAVE_ACL_GET_PERM_NP,1,[Whether acl_get_perm_np() is available])
- fi
- default_static_modules="$default_static_modules vfs_posixacl"
- else
- AC_MSG_NOTICE(ACL support is not avaliable)
- fi
- ;;
- 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
-
-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=auto)])],
-[ case "$withval" in
- yes|no)
- with_aio=$withval
- ;;
- esac ])
-
-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"])
- LIBS=$no_rt_LIBS
- AC_CHECK_LIB(aio,aio_read,[AIO_LIBS="$LIBS -laio"])
- AC_CACHE_CHECK([for asynchronous io support],samba_cv_HAVE_AIO,[
- aio_LIBS=$LIBS
- LIBS=$AIO_LIBS
- AC_TRY_LINK([#include <sys/types.h>
-#include <aio.h>],
-[ struct aiocb a; return aio_read(&a);],
-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(HAVE_AIO, 1, [Using asynchronous io])
- LIBS=$AIO_LIBS
- AC_MSG_CHECKING(for aio_read)
- 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([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([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([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([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([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([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
-
-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>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include <sys/eventfd.h>
-#include <libaio.h>],
-[ struct io_event ioev;
-struct iocb *ioc;
-io_context_t ctx;
-struct timespec ts;
-int fd;
-char *buf;
-fd = eventfd(0, EFD_NONBLOCK | EFD_CLOEXEC);
-io_queue_init(128,&ctx);
-io_prep_pwrite(ioc, 1, buf, 1, 0);
-io_prep_pread(ioc, 1, buf, 1, 0);
-io_set_eventfd(ioc, fd);
-io_set_callback(ioc, (io_callback_t)(0));
-io_submit(ctx, 1, &ioc);
-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
- 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
-
-AC_MSG_CHECKING(whether sendfile support should be built in)
-AC_ARG_WITH(sendfile-support,
-[AS_HELP_STRING([--with-sendfile-support], [Whether sendfile support should be built in (default=auto)])],
-[ case "$withval" in
- yes|no)
- AC_MSG_RESULT($withval);
- with_sendfile_support=$withval
- ;;
- *)
- AC_MSG_RESULT(yes)
- with_sendfile_support=auto
- ;;
- esac ],
-)
-
-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>],
-[\
-int tofd, fromfd;
-off_t offset;
-size_t total;
-ssize_t nwritten = sendfile(tofd, fromfd, &offset, total);
-],
-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(LINUX_SENDFILE_API,1,[Whether linux sendfile() API is available])
- AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() should be used])
- else
- AC_MSG_RESULT(no);
- fi
-
- ;;
- *freebsd* | *dragonfly* )
- AC_CACHE_CHECK([for freebsd sendfile support],samba_cv_HAVE_SENDFILE,[
- AC_TRY_LINK([\
-#include <sys/types.h>
-#include <unistd.h>
-#include <sys/socket.h>
-#include <sys/uio.h>],
-[\
- int fromfd, tofd, ret, total=0;
- off_t offset, nwritten;
- struct sf_hdtr hdr;
- struct iovec hdtrl;
- hdr.headers = &hdtrl;
- hdr.hdr_cnt = 1;
- hdr.trailers = NULL;
- hdr.trl_cnt = 0;
- hdtrl.iov_base = NULL;
- hdtrl.iov_len = 0;
- ret = sendfile(fromfd, tofd, offset, total, &hdr, &nwritten, 0);
-],
-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() support is available])
- AC_DEFINE(FREEBSD_SENDFILE_API,1,[Whether the FreeBSD sendfile() API is available])
- AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() support should be included])
- else
- 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)])
-
- 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>],
-[\
- int fromfd, tofd;
- size_t total=0;
- struct iovec hdtrl[2];
- ssize_t nwritten;
- off_t offset;
-
- hdtrl[0].iov_base = 0;
- hdtrl[0].iov_len = 0;
-
- nwritten = sendfile(tofd, fromfd, offset, total, &hdtrl[0], 0);
-],
-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 osf/hpux sendfile() API is available])
- AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() support should be included])
- else
- AC_MSG_RESULT(no);
- fi
- ;;
-
- *solaris*)
- AC_CHECK_LIB(sendfile,sendfilev)
- AC_CACHE_CHECK([for solaris sendfilev support],samba_cv_HAVE_SENDFILEV,[
- AC_TRY_LINK([\
-#include <sys/sendfile.h>],
-[\
- int sfvcnt;
- size_t xferred;
- struct sendfilevec vec[2];
- ssize_t nwritten;
- int tofd;
-
- sfvcnt = 2;
-
- vec[0].sfv_fd = SFV_FD_SELF;
- vec[0].sfv_flag = 0;
- vec[0].sfv_off = 0;
- vec[0].sfv_len = 0;
-
- vec[1].sfv_fd = 0;
- vec[1].sfv_flag = 0;
- vec[1].sfv_off = 0;
- vec[1].sfv_len = 0;
- nwritten = sendfilev(tofd, vec, sfvcnt, &xferred);
-],
-samba_cv_HAVE_SENDFILEV=yes,samba_cv_HAVE_SENDFILEV=no)])
-
- if test x"$samba_cv_HAVE_SENDFILEV" = x"yes"; then
- AC_DEFINE(HAVE_SENDFILEV,1,[Whether sendfilev() is available])
- AC_DEFINE(SOLARIS_SENDFILE_API,1,[Whether the solaris sendfile() API is available])
- AC_DEFINE(WITH_SENDFILE,1,[Whether to include sendfile() support])
- else
- AC_MSG_RESULT(no);
- fi
- ;;
- *aix*)
- AC_CACHE_CHECK([for AIX send_file support],samba_cv_HAVE_SENDFILE,[
- AC_TRY_LINK([\
-#include <sys/socket.h>],
-[\
- int fromfd, tofd;
- size_t total=0;
- struct sf_parms hdtrl;
- ssize_t nwritten;
-
- hdtrl.header_data = 0;
- hdtrl.header_length = 0;
- hdtrl.file_descriptor = fromfd;
- hdtrl.file_offset = 0;
- hdtrl.file_bytes = 0;
- hdtrl.trailer_data = 0;
- hdtrl.trailer_length = 0;
-
- nwritten = send_file(&tofd, &hdtrl, 0);
-],
-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(AIX_SENDFILE_API,1,[Whether the AIX send_file() API is available])
- AC_DEFINE(WITH_SENDFILE,1,[Whether to include sendfile() support])
- else
- AC_MSG_RESULT(no);
- fi
- ;;
- *)
- ;;
- 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.
-
-AC_CACHE_CHECK([for Linux readahead],
- samba_cv_HAVE_LINUX_READAHEAD,[
- AC_TRY_LINK([
-#if defined(HAVE_UNISTD_H)
-#include <unistd.h>
-#endif
-#include <fcntl.h>],
- [ssize_t err = readahead(0,0,0x80000);],
- samba_cv_HAVE_LINUX_READAHEAD=yes,
- samba_cv_HAVE_LINUX_READAHEAD=no)])
-
-if test x"$samba_cv_HAVE_LINUX_READAHEAD" = x"yes"; then
- AC_DEFINE(HAVE_LINUX_READAHEAD,1,
- [Whether Linux readahead is available])
-fi
-
-AC_HAVE_DECL(readahead, [#include <fcntl.h>])
-
-############################################
-# See if we have the posix_fadvise syscall.
-
-AC_CACHE_CHECK([for posix_fadvise],
- samba_cv_HAVE_POSIX_FADVISE,[
- AC_TRY_LINK([
-#if defined(HAVE_UNISTD_H)
-#include <unistd.h>
-#endif
-#include <fcntl.h>],
- [ssize_t err = posix_fadvise(0,0,0x80000,POSIX_FADV_WILLNEED);],
- samba_cv_HAVE_POSIX_FADVISE=yes,
- samba_cv_HAVE_POSIX_FADVISE=no)])
-
-if test x"$samba_cv_HAVE_POSIX_FADVISE" = x"yes"; then
- AC_DEFINE(HAVE_POSIX_FADVISE,1,
- [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.
-
-case "$host_os" in
-*linux*)
-AC_CACHE_CHECK([for Linux splice],
- samba_cv_HAVE_LINUX_SPLICE,[
- AC_TRY_LINK([
-#if defined(HAVE_UNISTD_H)
-#include <unistd.h>
-#endif
-#include <fcntl.h>],
- [long ret = splice(0,0,1,0,400,SPLICE_F_MOVE);],
- samba_cv_HAVE_LINUX_SPLICE=yes,
- samba_cv_HAVE_LINUX_SPLICE=no)])
-;;
-*)
-samba_cv_HAVE_LINUX_SPLICE=no
-;;
-esac
-
-if test x"$samba_cv_HAVE_LINUX_SPLICE" = x"yes"; then
- AC_DEFINE(HAVE_LINUX_SPLICE,1,
- [Whether Linux splice is available])
-fi
-
-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
-# build and install client programs, sbin programs and shared libraries
-
-AC_MSG_CHECKING(whether to build winbind)
-
-# Initially, the value of $host_os decides whether winbind is supported
-
-HAVE_WINBIND=yes
-HAVE_WBCLIENT=no
-
-# Define external wbclient library to link against. This disables winbind.
-# We define this here so --with-winbind can override it.
-AC_ARG_WITH(wbclient,
-[AS_HELP_STRING([--with-wbclient], [Use external wbclient (optional)])],
-[
- case "$withval" in
- no)
- HAVE_WBCLIENT=no
- ;;
- yes)
- HAVE_WBCLIENT=yes
- HAVE_WINBIND=no
- ;;
- *)
- HAVE_WBCLIENT=yes
- HAVE_WINBIND=no
- WBCLIENT_INCLUDES="-I$withval/include"
- WBCLIENT_LDFLAGS="-L$withval/lib"
- ;;
- esac ],
-)
-
-AC_SUBST(WBCLIENT_INCLUDES)
-AC_SUBST(WBCLIENT_LDFLAGS)
-AC_SUBST(WBCLIENT_LIBS)
-
-
-# Define the winbind shared library name and any specific linker flags
-# it needs to be built with.
-
-WINBIND_NSS="../nsswitch/libnss_winbind.$SHLIBEXT"
-WINBIND_WINS_NSS="../nsswitch/libnss_wins.$SHLIBEXT"
-WINBIND_NSS_LDSHFLAGS=$LDSHFLAGS
-NSSSONAMEVERSIONSUFFIX=""
-
-case "$host_os" in
- *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu)
- NSSSONAMEVERSIONSUFFIX=".2"
- WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_linux.o"
- ;;
- *freebsd[[5-9]]* | *freebsd1[[0-9]]*)
- # FreeBSD winbind client is implemented as a wrapper around
- # the Linux version.
- NSSSONAMEVERSIONSUFFIX=".1"
- WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_freebsd.o \
- ../nsswitch/winbind_nss_linux.o"
- WINBIND_NSS="../nsswitch/nss_winbind.$SHLIBEXT"
- WINBIND_WINS_NSS="../nsswitch/nss_wins.$SHLIBEXT"
- ;;
-
- *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.
- #
- if test x"$ac_cv_func_getpwent_r" = x"yes"; then
- WINBIND_NSS_EXTRA_OBJS="\
- ../nsswitch/winbind_nss_netbsd.o \
- ../nsswitch/winbind_nss_linux.o"
- WINBIND_NSS="../nsswitch/nss_winbind.$SHLIBEXT"
- WINBIND_WINS_NSS="../nsswitch/nss_wins.$SHLIBEXT"
- else
- HAVE_WINBIND=no
- winbind_no_reason=", getpwent_r is missing on $host_os so winbind is unsupported"
- fi
- ;;
- *irix*)
- # IRIX has differently named shared libraries
- WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_irix.o"
- WINBIND_NSS="../nsswitch/libns_winbind.$SHLIBEXT"
- WINBIND_WINS_NSS="../nsswitch/libns_wins.$SHLIBEXT"
- ;;
- *solaris*)
- # Solaris winbind client is implemented as a wrapper around
- # the Linux version.
- NSSSONAMEVERSIONSUFFIX=".1"
- WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_solaris.o \
- ../nsswitch/winbind_nss_linux.o"
- ;;
- *hpux11*)
- WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_solaris.o"
- ;;
- *aix*)
- # AIX has even differently named shared libraries. No
- # WINS support has been implemented yet.
- WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_aix.o"
- WINBIND_NSS_LDSHFLAGS="-Wl,-bexpall,-bM:SRE,-ewb_aix_init"
- WINBIND_NSS="../nsswitch/WINBIND"
- WINBIND_WINS_NSS=""
- ;;
- *darwin*)
- ;;
- *)
- HAVE_WINBIND=no
- winbind_no_reason=", unsupported on $host_os"
- ;;
-esac
-
-# Check the setting of --with-winbind
-
-AC_ARG_WITH(winbind,
-[AS_HELP_STRING([--with-winbind], [Build winbind (default, if supported by OS)])],
-[
- case "$withval" in
- yes)
- HAVE_WINBIND=yes
- HAVE_WBCLIENT=no
- ;;
- no)
- HAVE_WINBIND=no
- winbind_reason=""
- ;;
- esac ],
-)
-
-# We need unix domain sockets for winbind
-
-if test x"$HAVE_WINBIND" = x"yes"; then
- if test x"$libreplace_cv_HAVE_UNIXSOCKET" = x"no"; then
- winbind_no_reason=", no unix domain socket support on $host_os"
- HAVE_WINBIND=no
- fi
-fi
-
-# Display test results
-
-if test x"$HAVE_WINBIND" = x"no"; then
- WINBIND_NSS=""
- WINBIND_WINS_NSS=""
-fi
-if test x"$HAVE_WBCLIENT" = x"yes"; then
- AC_CHECK_LIB(wbclient, wbcInterfaceDetails,
- [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"
-else
- if test x"$enable_developer" = x"yes" -a x"$LINK_LIBWBCLIENT" = x"STATIC" ; then
- BUILD_LIBWBCLIENT_SHARED=no
- else
- BUILD_LIBWBCLIENT_SHARED=yes
- fi
-
- LIBWBCLIENT_SHARED_TARGET=bin/libwbclient.$SHLIBEXT
- LIBWBCLIENT_STATIC_TARGET=bin/libwbclient.a
- LIBWBCLIENT_SOVER=0
- LIBWBCLIENT_FULLVER=0
- LIBWBCLIENT_SHARED_TARGET_SOVER=$LIBWBCLIENT_SHARED_TARGET.$LIBWBCLIENT_SOVER
- LIBWBCLIENT_SHARED_TARGET_FULLVER=$LIBWBCLIENT_SHARED_TARGET.$LIBWBCLIENT_FULLVER
- if test $BLDSHARED = true -a x"$HAVE_WINBIND" = x"yes" -a x"$BUILD_LIBWBCLIENT_SHARED" = x"yes"; then
- NSS_MODULES="${WINBIND_NSS} ${WINBIND_WINS_NSS}"
- ## Only worry about libwbclient if we have shared
- # library support
- LIBWBCLIENT_SHARED=$LIBWBCLIENT_SHARED_TARGET
- LIBWBCLIENT=libwbclient
- INSTALL_LIBWBCLIENT=installlibwbclient
- UNINSTALL_LIBWBCLIENT=uninstalllibwbclient
- LIBWBCLIENT_LIBS="-lwbclient"
- else
- LIBWBCLIENT_STATIC=$LIBWBCLIENT_STATIC_TARGET
- LIBWBCLIENT_LIBS=$LIBWBCLIENT_STATIC_TARGET
- fi
-fi
-
-if test x"$HAVE_WINBIND" = x"yes"; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(WITH_WINBIND,1,[Whether to build winbind])
-
- EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/wbinfo"
- EXTRA_SBIN_PROGS="$EXTRA_SBIN_PROGS bin/winbindd"
- if test $BLDSHARED = true -a x"$create_pam_modules" = x"yes"; then
- PAM_MODULES="$PAM_MODULES pam_winbind"
- 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
-
-AC_SUBST(WINBIND_NSS)
-AC_SUBST(WINBIND_WINS_NSS)
-AC_SUBST(WINBIND_NSS_LDSHFLAGS)
-AC_SUBST(WINBIND_NSS_EXTRA_OBJS)
-AC_SUBST(NSSSONAMEVERSIONSUFFIX)
-
-AC_SUBST(WINBIND_KRB5_LOCATOR)
-
-# Solaris 10 does have new member in nss_XbyY_key
-AC_CHECK_MEMBER(union nss_XbyY_key.ipnode.af_family,
- AC_DEFINE(HAVE_NSS_XBYY_KEY_IPNODE, 1, [Defined if union nss_XbyY_key has ipnode field]),,
- [#include <nss_dbdefs.h>])
-
-# Solaris has some extra fields in struct passwd that need to be
-# initialised otherwise nscd crashes.
-
-AC_CHECK_MEMBER(struct passwd.pw_comment,
- AC_DEFINE(HAVE_PASSWD_PW_COMMENT, 1, [Defined if struct passwd has pw_comment field]),,
- [#include <pwd.h>])
-
-AC_CHECK_MEMBER(struct passwd.pw_age,
- AC_DEFINE(HAVE_PASSWD_PW_AGE, 1, [Defined if struct passwd has pw_age field]),,
- [#include <pwd.h>])
-
-# AIX 4.3.x and 5.1 do not have as many members in
-# struct secmethod_table as AIX 5.2
-AC_CHECK_MEMBERS([struct secmethod_table.method_attrlist], , ,
- [#include <usersec.h>])
-AC_CHECK_MEMBERS([struct secmethod_table.method_version], , ,
- [#include <usersec.h>])
-
-#################################################
-# Check to see if we should use the included popt
-
-AC_ARG_WITH(included-popt,
-[AS_HELP_STRING([--with-included-popt], [use bundled popt library, not from system])],
-[
- case "$withval" in
- yes)
- INCLUDED_POPT=yes
- ;;
- no)
- INCLUDED_POPT=no
- ;;
- esac ],
-)
-if test x"$INCLUDED_POPT" != x"yes"; then
- AC_CHECK_LIB(popt, poptGetContext,
- INCLUDED_POPT=no, INCLUDED_POPT=yes)
-fi
-
-AC_MSG_CHECKING(whether to use included popt)
-if test x"$INCLUDED_POPT" = x"yes"; then
- AC_MSG_RESULT(yes)
- BUILD_POPT='$(POPT_OBJ)'
- POPTLIBS='$(POPT_OBJ)'
- FLAGS1="-I\$(srcdir)/../lib/popt"
-else
- AC_MSG_RESULT(no)
- BUILD_POPT=""
- POPTLIBS="-lpopt"
-fi
-AC_SUBST(BUILD_POPT)
-AC_SUBST(POPTLIBS)
-AC_SUBST(FLAGS1)
-
-#################################################
-# Check if user wants DNS service discovery support
-
-AC_ARG_ENABLE(dnssd,
-[AS_HELP_STRING([--enable-dnssd], [Enable DNS service discovery support (default=no)])])
-
-AC_SUBST(DNSSD_LIBS)
-if test x"$enable_dnssd" = x"yes"; then
- have_dnssd_support=yes
-
- AC_CHECK_HEADERS(dns_sd.h)
- if test x"$ac_cv_header_dns_sd_h" != x"yes"; then
- have_dnssd_support=no
- fi
-
- # On Darwin the DNSSD API is in libc, but on other platforms it's
- # probably in -ldns_sd
- AC_CHECK_FUNCS(DNSServiceRegister)
- AC_CHECK_LIB_EXT(dns_sd, DNSSD_LIBS, DNSServiceRegister)
- if test x"$ac_cv_func_DNSServiceRegister" != x"yes" -a \
- x"$ac_cv_lib_ext_dns_sd_DNSServiceRegister" != x"yes"; then
- have_dnssd_support=no
- fi
-
- if test x"$have_dnssd_support" = x"yes"; then
- AC_DEFINE(WITH_DNSSD_SUPPORT, 1,
- [Whether to enable DNS service discovery support])
- else
- if test x"$enable_dnssd" = x"yes"; then
- AC_MSG_ERROR(DNS service discovery support not available)
- fi
- fi
-
-fi
-
-#################################################
-# Check if user wants avahi support
-
-AC_ARG_ENABLE(avahi,
-[AS_HELP_STRING([--enable-avahi], [Enable Avahi support (default=auto)])])
-
-if test x"$enable_avahi" != x"no"; then
- have_avahi_support=yes
-
- AC_CHECK_HEADERS(avahi-common/watch.h)
- if test x"$ac_cv_header_avahi_common_watch_h" != x"yes"; then
- have_avahi_support=no
- fi
-
- AC_CHECK_HEADERS(avahi-client/client.h)
- if test x"$ac_cv_header_avahi_common_watch_h" != x"yes"; then
- have_avahi_support=no
- fi
-
- save_LIBS="$LIBS"
- AC_CHECK_LIB(avahi-client, avahi_client_new,[have_avahi_client_new=yes])
- AC_CHECK_LIB(avahi-common, avahi_strerror,[have_avahi_strerror=yes])
- LIBS="$save_LIBS"
-
- if test x"$have_avahi_client_new" != x"yes" -o \
- x"$have_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")
- else
- if test x"$enable_avahi" = x"yes"; then
- AC_MSG_ERROR(avahi support not available)
- fi
- fi
-fi
-
-
-#################################################
-# Set pthread stuff
-
-PTHREAD_CFLAGS=error
-PTHREAD_LDFLAGS=error
-
-# If it's error, then the user didn't
-# define it.
-if test "x$PTHREAD_LDFLAGS" = xerror; then
- AC_CHECK_LIB(pthread, pthread_attr_init, [
- PTHREAD_CFLAGS="-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS"
- PTHREAD_LDFLAGS="-lpthread" ])
-fi
-
-if test "x$PTHREAD_LDFLAGS" = xerror; then
- AC_CHECK_LIB(pthreads, pthread_attr_init, [
- PTHREAD_CFLAGS="-D_THREAD_SAFE"
- PTHREAD_LDFLAGS="-lpthreads" ])
-fi
-
-if test "x$PTHREAD_LDFLAGS" = xerror; then
- AC_CHECK_LIB(c_r, pthread_attr_init, [
- PTHREAD_CFLAGS="-D_THREAD_SAFE -pthread"
- PTHREAD_LDFLAGS="-pthread" ])
-fi
-
-if test "x$PTHREAD_LDFLAGS" = xerror; then
- AC_CHECK_FUNC(pthread_attr_init, [
- PTHREAD_CFLAGS="-D_REENTRANT"
- PTHREAD_LDFLAGS="-lpthread" ])
-fi
-
-# especially for HP-UX, where the AC_CHECK_FUNC macro fails to test for
-# pthread_attr_init. On pthread_mutex_lock it works there...
-if test "x$PTHREAD_LDFLAGS" = xerror; then
- AC_CHECK_LIB(pthread, pthread_mutex_lock, [
- PTHREAD_CFLAGS="-D_REENTRANT"
- PTHREAD_LDFLAGS="-lpthread" ])
-fi
-
-AC_SUBST(PTHREAD_CFLAGS)
-AC_SUBST(PTHREAD_LDFLAGS)
-
-samba_cv_HAVE_PTHREAD=no
-if test x"$PTHREAD_CFLAGS" != xerror -a x"$PTHREAD_LDFLAGS" != xerror; then
- samba_cv_HAVE_PTHREAD=yes
- # now check for pthread.h with pthread-correct CFLAGS and LDFLAGS:
- ac_save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
- ac_save_LDFLAGS=$LDFLAGS
- LDFLAGS="$LDFLAGS $PTHREAD_LDFLAGS"
- AC_CHECK_HEADERS(pthread.h)
- CFLAGS=$ac_save_CFLAGS
- LDFLAGS=$ac_save_LDFLAGS
- AC_DEFINE(HAVE_PTHREAD, 1, [Do we have pthreads around?])
-fi
-
-#################################################
-# Check if user wants pthreadpool support
-
-AC_ARG_ENABLE(pthreadpool,
-[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"no" -a x"$samba_cv_HAVE_PTHREAD" = x"yes"; then
- LIBS="$LIBS $PTHREAD_LDFLAGS"
- CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
- AC_SUBST(PTHREADPOOL_OBJ, "lib/pthreadpool/pthreadpool.o")
- 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
-
-AC_ARG_WITH(included-iniparser,
-[AS_HELP_STRING([--with-included-iniparser], [use bundled iniparser library, not from system])],
-[
- case "$withval" in
- yes)
- INCLUDED_INIPARSER=yes
- ;;
- no)
- INCLUDED_INIPARSER=no
- ;;
- esac ],
-)
-if test x"$INCLUDED_INIPARSER" != x"yes"; then
- AC_CHECK_LIB(iniparser, iniparser_load,
- INCLUDED_INIPARSER=no, INCLUDED_INIPARSER=yes)
-fi
-
-AC_MSG_CHECKING(whether to use included iniparser)
-if test x"$INCLUDED_INIPARSER" = x"yes"; then
- AC_MSG_RESULT(yes)
- BUILD_INIPARSER='$(INIPARSER_OBJ)'
- INIPARSERLIBS=""
- FLAGS1="$FLAGS1 -I\$(srcdir)/../lib/iniparser/src"
-else
- AC_MSG_RESULT(no)
- BUILD_INIPARSER=""
- INIPARSERLIBS="-liniparser"
-fi
-AC_SUBST(BUILD_INIPARSER)
-AC_SUBST(INIPARSERLIBS)
-AC_SUBST(FLAGS1)
-
-AC_ARG_ENABLE(fault-handler,[AS_HELP_STRING([--disable-fault-handler], [Disable the default handler])])
-
-if test x"$enable_fault_handler" = x"no"; then
- AC_DEFINE(HAVE_DISABLE_FAULT_HANDLER, 1, [Disable the default signal handler])
-fi
-
-###################################################
-# Check for different/missing (set|get|end)netgrent prototypes
-CFLAGS_SAVE=$CFLAGS
-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, [
- AC_TRY_COMPILE([#include<netdb.h>
- #ifdef HAVE_NETGROUP_H
- #include<netgroup.h>
- #endif],[setnetgrent("foo")],
- samba_cv_setnetgrent_prototype=yes, samba_cv_setnetgrent_prototype=no)])
-if test x"$samba_cv_setnetgrent_prototype" = x"yes"; then
- AC_DEFINE(HAVE_SETNETGRENT_PROTOTYPE, 1, [If setnetgrent prototype is defined])
-fi
-AC_CACHE_CHECK([for getnetgrent prototype],samba_cv_getnetgrent_prototype, [
- AC_TRY_COMPILE([#include<netdb.h>
- #ifdef HAVE_NETGROUP_H
- #include<netgroup.h>
- #endif],[char *dom, *user,*host; getnetgrent(&dom,&user,&host)],
- samba_cv_getnetgrent_prototype=yes, samba_cv_getnetgrent_prototype=no)])
-if test x"$samba_cv_getnetgrent_prototype" = x"yes"; then
- AC_DEFINE(HAVE_GETNETGRENT_PROTOTYPE, 1, [If getnetgrent prototype is defined])
-fi
-AC_CACHE_CHECK([for endnetgrent prototype],samba_cv_endnetgrent_prototype, [
- AC_TRY_COMPILE([#include<netdb.h>
- #ifdef HAVE_NETGROUP_H
- #include<netgroup.h>
- #endif],[endnetgrent()],
- samba_cv_endnetgrent_prototype=yes, samba_cv_endnetgrent_prototype=no)])
-if test x"$samba_cv_endnetgrent_prototype" = x"yes"; then
- AC_DEFINE(HAVE_ENDNETGRENT_PROTOTYPE, 1, [If endnetgrent prototype is defined])
-fi
-
-CFLAGS=$CFLAGS_SAVE
-
-# Checks for POSIX ignorant BSD style statvfs() function
-# Start
-AC_CHECK_HEADERS(sys/param.h sys/mount.h)
-
-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
- #include <sys/param.h>
- #endif
- #ifdef HAVE_SYS_MOUNT_H
- #include <sys/mount.h>
- #endif
- int main (void)
- {
- struct statfs fsd;
- fsd.f_bsize = 0;
- fsd.f_iosize = 0;
- return (statfs (".", &fsd));
- }],
- bsdstatvfs_cv_statfs=yes,
- bsdstatvfs_cv_statfs=no,
- bsdstatvfs_cv_statfs=no)])
-AC_MSG_RESULT($bsdstatvfs_cv_statfs)
-
-if test $bsdstatvfs_cv_statfs = yes; then
- AC_DEFINE(BSD_STYLE_STATVFS,1,[Whether statfs struct is *bsd style])
-fi
-# End of checks POSIX ignorant BSD style statvfs() function
-
-# Checks for the vfs_fileid module
-# Start
-AC_CHECK_FUNC(getmntent)
-
-AC_CHECK_HEADERS(sys/statfs.h)
-
-AC_MSG_CHECKING([vfs_fileid: checking for statfs() and struct statfs.f_fsid])
-AC_CACHE_VAL(vfsfileid_cv_statfs,[
- AC_TRY_RUN([
- #include <sys/types.h>
- #include <sys/statfs.h>
- int main(void)
- {
- struct statfs fsd;
- fsid_t fsid = fsd.f_fsid;
- return statfs (".", &fsd);
- }],
- vfsfileid_cv_statfs=yes,
- vfsfileid_cv_statfs=no,
- vfsfileid_cv_statfs=cross)
-])
-AC_MSG_RESULT($vfsfileid_cv_statfs)
-
-if test x"$ac_cv_func_getmntent" = x"yes" -a \
- x"$vfsfileid_cv_statfs" = x"yes"; then
- default_shared_modules="$default_shared_modules vfs_fileid"
-fi
-# 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
- eval MODULE_DEFAULT_$i=STATIC
-done
-
-for i in `echo $default_shared_modules | sed -e 's/,/ /g'`
-do
- dnl Fall back to static if we cannot build shared libraries
- eval MODULE_DEFAULT_$i=STATIC
-
- if test $BLDSHARED = true; then
- eval MODULE_DEFAULT_$i=SHARED
- fi
-done
-
-dnl Always build these modules static
-MODULE_rpc_spoolss=STATIC
-MODULE_rpc_srvsvc=STATIC
-MODULE_idmap_tdb=STATIC
-MODULE_idmap_passdb=STATIC
-MODULE_idmap_nss=STATIC
-
-MODULE_nss_info_template=STATIC
-
-AC_ARG_WITH(static-modules,
-[AS_HELP_STRING([--with-static-modules=MODULES], [Comma-separated list of names of modules to statically link in])],
-[ if test $withval; then
- for i in `echo $withval | sed -e 's/,/ /g'`
- do
- eval MODULE_$i=STATIC
- done
-fi ])
-
-AC_ARG_WITH(shared-modules,
-[AS_HELP_STRING([--with-shared-modules=MODULES], [Comma-separated list of names of modules to build shared])],
-[ if test $withval; then
- for i in `echo $withval | sed -e 's/,/ /g'`
- do
- eval MODULE_$i=SHARED
- 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_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_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_SUBSYSTEM(PDB,passdb/pdb_interface.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)
-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_rfc2307, winbindd/idmap_rfc2307.o, "bin/rfc2307.$SHLIBEXT", IDMAP)
-SMB_MODULE(idmap_hash, \$(IDMAP_HASH_OBJ), "bin/hash.$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_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_wbc, \$(AUTH_WBC_OBJ), "bin/wbc.$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_SUBSYSTEM(AUTH,auth/auth.o)
-
-SMB_MODULE(vfs_default, \$(VFS_DEFAULT_OBJ), "bin/default.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_recycle, \$(VFS_RECYCLE_OBJ), "bin/recycle.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_audit, \$(VFS_AUDIT_OBJ), "bin/audit.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_extd_audit, \$(VFS_EXTD_AUDIT_OBJ), "bin/extd_audit.$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_expand_msdfs, \$(VFS_EXPAND_MSDFS_OBJ), "bin/expand_msdfs.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_shadow_copy, \$(VFS_SHADOW_COPY_OBJ), "bin/shadow_copy.$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_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_streams_xattr, \$(VFS_STREAMS_XATTR_OBJ), "bin/streams_xattr.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_streams_depot, \$(VFS_STREAMS_DEPOT_OBJ), "bin/streams_depot.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_cacheprime, \$(VFS_CACHEPRIME_OBJ), "bin/cacheprime.$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_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_zfsacl, \$(VFS_ZFSACL_OBJ), "bin/zfsacl.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_notify_fam, \$(VFS_NOTIFY_FAM_OBJ), "bin/notify_fam.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_acl_xattr, \$(VFS_ACL_XATTR_OBJ), "bin/acl_xattr.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_acl_tdb, \$(VFS_ACL_TDB_OBJ), "bin/acl_tdb.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_smb_traffic_analyzer, \$(VFS_SMB_TRAFFIC_ANALYZER_OBJ), "bin/smb_traffic_analyzer.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_dirsort, \$(VFS_DIRSORT_OBJ), "bin/dirsort.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_scannedonly, \$(VFS_SCANNEDONLY_OBJ), "bin/scannedonly.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_crossrename, \$(VFS_CROSSRENAME_OBJ), "bin/crossrename.$SHLIBEXT", VFS)
-SMB_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)
-
-SMB_MODULE(perfcount_test, \$(PERFCOUNT_TEST), "bin/pc_test.$SHLIBEXT", PERFCOUNT)
-SMB_SUBSYSTEM(PERFCOUNT,smbd/perfcount.o)
-
-SMB_MODULE(gpext_registry, libgpo/gpext/registry.o, "bin/registry.$SHLIBEXT", GPEXT)
-SMB_MODULE(gpext_scripts, libgpo/gpext/scripts.o, "bin/scripts.$SHLIBEXT", GPEXT)
-SMB_MODULE(gpext_security, libgpo/gpext/security.o, "bin/security.$SHLIBEXT", GPEXT)
-SMB_SUBSYSTEM(GPEXT, libgpo/gpext/gpext.o)
-
-AC_DEFINE_UNQUOTED(STRING_STATIC_MODULES, "$string_static_modules", [String list of builtin modules])
-
-#################################################
-# do extra things if we are running insure
-
-if test "${ac_cv_prog_CC}" = "insure"; then
- CPPFLAGS="$CPPFLAGS -D__INSURE__"
-fi
-
-#################################################
-# If run from the build farm, enable NASTY hacks
-#################################################
-AC_MSG_CHECKING(whether to enable features for selftest)
-if test x"$selftest" = x"yes"; then
- AC_MSG_RESULT(yes)
- 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
-
-#################################################
-# check for bad librt/libpthread interactions
-
-if test x"$samba_cv_HAVE_KERNEL_OPLOCKS_LINUX" = x"yes" -o \
- x"$samba_cv_HAVE_KERNEL_CHANGE_NOTIFY" = x"yes" -o \
- x"$samba_cv_HAVE_AIO64" = x"yes" -o \
- x"$samba_cv_HAVE_AIO" = x"yes" ; then
-
-SMB_IF_RTSIGNAL_BUG(
- [
- # Have RT_SIGNAL bug, need to check whether the problem will
- # affect anything we have configured.
-
- rt_do_error=no
- if test x"$samba_cv_HAVE_KERNEL_OPLOCKS_LINUX" = x"yes"; then
- if test x"$rt_signal_lease_ok" = x"no" ; then
- rt_do_error=yes
- fi
- fi
-
- if test x"$samba_cv_HAVE_KERNEL_CHANGE_NOTIFY" = x"yes"; then
- if test x"$rt_signal_notify_ok" = x"no" ; then
- rt_do_error=yes
- fi
- fi
-
- if test x"$samba_cv_HAVE_AIO64" = x"yes" -o \
- x"$samba_cv_HAVE_AIO" = x"yes" ; then
- if test x"$rt_signal_aio_ok" = x"no" ; then
- rt_do_error=yes
- fi
- fi
-
- if test x"$rt_do_error" = x"yes" ; then
- SMB_IS_LIBPTHREAD_LINKED(
- [
- cat<<MSG
-
-*** On this platforms, linking Samba against pthreads causes problems
-*** with the oplock and change notification mechanisms. You may be
-*** using pthreads as a side-effect of using the --with-aio-support
-*** or --with-profiling-data options. Please remove these and try again.
-
-MSG
- ],
- [
- cat<<MSG
-
-*** On this platform, the oplock and change notification mechanisms do not
-*** appear to work. Please report this problem to samba-technical@samba.org
-*** and attach the config.log file from this directory.
-
-MSG
- ])
- AC_MSG_ERROR(unable to use realtime signals on this platform)
- fi
- ],
- [
- # no RT_SIGNAL bug, we are golden
- SMB_IS_LIBPTHREAD_LINKED(
- [
- AC_MSG_WARN(using libpthreads - this may degrade performance)
- ])
-
- ],
- [
- # cross compiling, I hope you know what you are doing
- true
- ])
-
-fi
-
-m4_include(../lib/zlib/zlib.m4)
-
-AC_SUBST(ZLIB_LIBS)
-AC_SUBST(ZLIB_OBJS)
-AC_ZLIB([ZLIB_OBJS=""], [
- ZLIB_LIBS=""
- for o in adler32.o compress.o crc32.o gzio.o uncompr.o \
- deflate.o trees.o zutil.o inflate.o infback.o \
- inftrees.o inffast.o
- do
- ZLIB_OBJS="$ZLIB_OBJS ../lib/zlib/$o"
- done
- CFLAGS="-I../lib/zlib $CFLAGS"
-])
-
-AC_DEFINE(STATIC_gensec_MODULES, [gensec_spnego_init,gensec_ntlmssp_init,NULL],[gensec modules])
-AC_DEFINE(STATIC_gensec_MODULES_PROTO, [_MODULE_PROTO(gensec_spnego_init)_MODULE_PROTO(gensec_ntlmssp_init)],[gensec protos])
-
-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)
-
-dnl Remove -I/usr/include/? from CFLAGS and CPPFLAGS
-CFLAGS_REMOVE_USR_INCLUDE(CFLAGS)
-CFLAGS_REMOVE_USR_INCLUDE(CPPFLAGS)
-
-#################################################
-# Display summary of libraries detected
-
-AC_MSG_RESULT([Using libraries:])
-AC_MSG_RESULT([ LIBS = $LIBS])
-if test x"$with_ads_support" != x"no"; then
- AC_MSG_RESULT([ KRB5_LIBS = $KRB5_LIBS])
-fi
-if test x"$with_ldap_support" != x"no"; then
- AC_MSG_RESULT([ LDAP_LIBS = $LDAP_LIBS])
-fi
-if test x"$have_dnssd_support" != x"no"; then
- AC_MSG_RESULT([ DNSSD_LIBS = $DNSSD_LIBS])
-fi
-AC_MSG_RESULT([ AUTH_LIBS = $AUTH_LIBS])
-
-#################################################
-# final configure stuff
-
-AC_MSG_CHECKING([configure summary])
-AC_TRY_RUN([#include "${srcdir-.}/../tests/summary.c"],
- AC_MSG_RESULT(yes),
- AC_MSG_ERROR([summary failure. Aborting config]); exit 1;,
- AC_MSG_WARN([cannot run when cross-compiling]))
-
-dnl Merge in developer cflags from now on
-AC_SUBST(DEVELOPER_CFLAGS)
-if test x"$krb5_developer" = x"yes" -o x"$developer" = x"yes" -o x"$picky_developer" = x"yes"; then
- CFLAGS="${CFLAGS} \$(DEVELOPER_CFLAGS) ${CFLAGS_APPEND}"
-fi
-
-# Stuff the smbd-only libraries at the end of the smbd link
-# path (if we have them).
-SMBD_LIBS="$samba_dmapi_libs"
-AC_SUBST(SMBD_LIBS)
-
-CFLAGS="${CFLAGS} \$(FLAGS)"
-CFLAGS="${CFLAGS} -D_SAMBA_BUILD_=3"
-
-# If we had to expand the includes, make tsure the output file is moved back
-AC_OUTPUT_COMMANDS([
-if test -f Makefile-noincludes -a ! -f Makefile -a ! -h Makefile ; then
- ln -s Makefile-noincludes Makefile
-fi
-])
-
-AC_OUTPUT(Makefile
- script/findsmb smbadduser script/installbin.sh script/uninstallbin.sh
- lib/netapi/examples/Makefile
- lib/netapi/tests/Makefile
- pkgconfig/smbclient.pc
- pkgconfig/wbclient.pc
- pkgconfig/netapi.pc
- pkgconfig/smbsharemodes.pc
- ../examples/libsmbclient/Makefile.internal
- )
-
-#################################################
-# Print very concise instructions on building/use
-if test "x$enable_dmalloc" = xyes
-then
- AC_MSG_RESULT([Note: The dmalloc debug library will be included. To turn it on use])
- AC_MSG_RESULT([ \$ eval \`dmalloc samba\`.])
-fi