1
dnl Process this file with autoconf to produce a configure script.
3
dnl We must use autotools 2.53 or above
5
AC_INIT(include/includes.h)
6
AC_CONFIG_HEADER(include/config.h)
11
SMB_VERSION_STRING=`cat $srcdir/include/version.h | grep 'SAMBA_VERSION_OFFICIAL_STRING' | cut -d '"' -f2`
12
echo "SAMBA VERSION: ${SMB_VERSION_STRING}"
14
SAMBA_VERSION_SVN_REVISION=`cat $srcdir/include/version.h | grep 'SAMBA_VERSION_SVN_REVISION' | cut -d ' ' -f3-`
15
if test -n "${SAMBA_VERSION_SVN_REVISION}";then
16
echo "BUILD REVISION: ${SAMBA_VERSION_SVN_REVISION}"
19
#################################################
20
# Directory handling stuff to support both the
21
# legacy SAMBA directories and FHS compliant
23
AC_PREFIX_DEFAULT(/usr/local/samba)
25
rootsbindir="\${SBINDIR}"
26
lockdir="\${VARDIR}/locks"
27
piddir="\${VARDIR}/locks"
28
test "${mandir}" || mandir="\${prefix}/man"
29
logfilebase="\${VARDIR}"
30
privatedir="\${prefix}/private"
31
test "${libdir}" || libdir="\${prefix}/lib"
32
pammodulesdir="\${LIBDIR}/security"
33
configdir="\${LIBDIR}"
34
swatdir="\${prefix}/swat"
37
[ --with-fhs Use FHS-compliant paths (default=no)],
40
lockdir="\${VARDIR}/lib/samba"
41
piddir="\${VARDIR}/run"
42
mandir="\${prefix}/share/man"
43
logfilebase="\${VARDIR}/log/samba"
44
privatedir="\${CONFIGDIR}/private"
45
libdir="\${prefix}/lib/samba"
46
configdir="${sysconfdir}/samba"
47
swatdir="\${DATADIR}/samba/swat"
51
#################################################
52
# set private directory location
53
AC_ARG_WITH(privatedir,
54
[ --with-privatedir=DIR Where to put smbpasswd ($ac_default_prefix/private)],
58
# Just in case anybody calls it without argument
60
AC_MSG_WARN([--with-privatedir called without argument - will use default])
67
#################################################
68
# set root sbin directory location
69
AC_ARG_WITH(rootsbindir,
70
[ --with-rootsbindir=DIR Which directory to use for root sbin ($ac_default_prefix/sbin)],
74
# Just in case anybody calls it without argument
76
AC_MSG_WARN([--with-rootsbindir called without argument - will use default])
79
rootsbindir="$withval"
83
#################################################
84
# set lock directory location
86
[ --with-lockdir=DIR Where to put lock files ($ac_default_prefix/var/locks)],
90
# Just in case anybody calls it without argument
92
AC_MSG_WARN([--with-lockdir called without argument - will use default])
99
#################################################
100
# set pid directory location
102
[ --with-piddir=DIR Where to put pid files ($ac_default_prefix/var/locks)],
106
# Just in case anybody calls it without argument
108
AC_MSG_WARN([--with-piddir called without argument - will use default])
115
#################################################
116
# set SWAT directory location
118
[ --with-swatdir=DIR Where to put SWAT files ($ac_default_prefix/swat)],
122
# Just in case anybody does it
124
AC_MSG_WARN([--with-swatdir called without argument - will use default])
131
#################################################
132
# set configuration directory location
133
AC_ARG_WITH(configdir,
134
[ --with-configdir=DIR Where to put configuration files ($libdir)],
138
# Just in case anybody does it
140
AC_MSG_WARN([--with-configdir called without argument - will use default])
147
#################################################
148
# set log directory location
149
AC_ARG_WITH(logfilebase,
150
[ --with-logfilebase=DIR Where to put log files ($VARDIR)],
154
# Just in case anybody does it
156
AC_MSG_WARN([--with-logfilebase called without argument - will use default])
159
logfilebase="$withval"
163
#################################################
164
# set lib directory location
166
[ --with-libdir=DIR Where to put libdir ($libdir)],
170
# Just in case anybody does it
172
AC_MSG_WARN([--with-libdir without argument - will use default])
179
#################################################
180
# set PAM modules directory location
181
AC_ARG_WITH(pammodulesdir,
182
[ --with-pammodulesdir=DIR Which directory to use for PAM modules ($ac_default_prefix/$libdir/security)],
186
# Just in case anybody calls it without argument
188
AC_MSG_WARN([--with-pammodulesdir called without argument - will use default])
191
pammodulesdir="$withval"
195
#################################################
196
# set man directory location
198
[ --with-mandir=DIR Where to put man pages ($mandir)],
202
# Just in case anybody does it
204
AC_MSG_WARN([--with-mandir without argument - will use default])
212
[ --with-cfenc=HEADERDIR Use internal CoreFoundation encoding API
213
for optimization (Mac OS X/Darwin only)],
215
# May be in source $withval/CoreFoundation/StringEncodings.subproj.
216
# Should have been in framework $withval/CoreFoundation.framework/Headers.
218
$withval/CoreFoundation/StringEncodings.subproj \
219
$withval/StringEncodings.subproj \
220
$withval/CoreFoundation.framework/Headers \
224
if test -r $d/CFStringEncodingConverter.h; then
225
ln -sfh $d include/CoreFoundation
233
AC_SUBST(logfilebase)
238
AC_SUBST(rootsbindir)
239
AC_SUBST(pammodulesdir)
241
dnl Unique-to-Samba variables we'll be playing with.
245
AC_SUBST(NSSSONAMEVERSIONSUFFIX)
250
AC_SUBST(libc_cv_fpie)
252
AC_SUBST(PIE_LDFLAGS)
254
AC_SUBST(INSTALLLIBCMD_SH)
255
AC_SUBST(INSTALLLIBCMD_A)
256
AC_SUBST(UNINSTALLLIBCMD_SH)
257
AC_SUBST(UNINSTALLLIBCMD_A)
258
AC_SUBST(INSTALL_LIBMSRPC)
259
AC_SUBST(UNINSTALL_LIBMSRPC)
260
AC_SUBST(LIBMSRPC_SHARED)
262
AC_SUBST(INSTALL_LIBSMBCLIENT)
263
AC_SUBST(UNINSTALL_LIBSMBCLIENT)
264
AC_SUBST(LIBSMBCLIENT_SHARED)
265
AC_SUBST(LIBSMBCLIENT)
266
AC_SUBST(INSTALL_LIBSMBSHAREMODES)
267
AC_SUBST(LIBSMBSHAREMODES_SHARED)
268
AC_SUBST(LIBSMBSHAREMODES)
272
AC_SUBST(PASSDB_LIBS)
276
AC_SUBST(SHLIB_PROGS)
277
AC_SUBST(PAM_MODULES)
278
AC_SUBST(INSTALL_PAM_MODULES)
279
AC_SUBST(UNINSTALL_PAM_MODULES)
281
AC_SUBST(SMBWRAP_OBJS)
282
AC_SUBST(SMBWRAP_INC)
283
AC_SUBST(EXTRA_BIN_PROGS)
284
AC_SUBST(CIFSMOUNT_PROGS)
285
AC_SUBST(INSTALL_CIFSMOUNT)
286
AC_SUBST(UNINSTALL_CIFSMOUNT)
287
AC_SUBST(EXTRA_SBIN_PROGS)
288
AC_SUBST(EXTRA_ALL_TARGETS)
289
AC_SUBST(CONFIG_LIBS)
295
AC_ARG_ENABLE(pie, [ --enable-pie Turn on pie support if available (default=yes)])
297
if test "x$enable_pie" != xno
299
AC_CACHE_CHECK(for -fPIE, libc_cv_fpie, [dnl
300
cat > conftest.c <<EOF
304
if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fPIE -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
312
if test "x$PIE_CFLAGS" = x
318
[ --enable-debug Turn on compiler debugging information (default=no)],
319
[if eval "test x$enable_debug = xyes"; then
320
CFLAGS="${CFLAGS} -g"
324
AC_ARG_ENABLE(socket-wrapper,
325
[ --enable-socket-wrapper Turn on socket wrapper library (default=no)],
326
[if eval "test x$enable_socket_wrapper = xyes"; then
327
AC_DEFINE(SOCKET_WRAPPER,1,[Use socket wrapper library])
328
SOCKWRAP="\$(SOCKET_WRAPPER_OBJ)"
331
#################################################
332
# set prefix for 'make test'
334
AC_SUBST(selftest_prefix)
335
AC_ARG_WITH(selftest-prefix,
336
[ --with-selftest-prefix=DIR The prefix where make test will be runned ($selftest_prefix)],
339
AC_MSG_WARN([--with-selftest-prefix called without argument - will use default])
342
selftest_prefix="$withval"
347
#################################################
348
# set path of samba4's smbtorture
350
AC_SUBST(smbtorture4_path)
351
AC_ARG_WITH(smbtorture4_path,
352
[ --with-smbtorture4-path=PATH The path to a samba4 smbtorture for make test (none)],
355
AC_MSG_ERROR([--with-smbtorture4-path should take a path])
358
smbtorture4_path="$withval"
359
if test -z "$smbtorture4_path" -a ! -f $smbtorture4_path; then
360
AC_MSG_ERROR(['$smbtorture_path' does not exist!])
366
# compile with optimization and without debugging by default, but
367
# allow people to set their own preference.
368
# do this here since AC_CACHE_CHECK apparently sets the CFLAGS to "-g -O2"
369
# if it has no value. This prevent *very* large debug binaries from occurring
371
if test "x$CFLAGS" = x; then
375
CFLAGS="${CFLAGS} -D_SAMBA_BUILD_"
377
AC_ARG_ENABLE(developer, [ --enable-developer Turn on developer warnings and debugging (default=no)],
378
[if eval "test x$enable_developer = xyes"; then
380
CFLAGS="${CFLAGS} -gstabs -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-align -Wwrite-strings -DDEBUG_PASSWORD -DDEVELOPER"
381
# Add -Wdeclaration-after-statement if compiler supports it
383
[that the C compiler understands -Wdeclaration-after-statement],
384
samba_cv_HAVE_Wdeclaration_after_statement, [
389
}],[-Wdeclaration-after-statement],[$CPPFLAGS],[$LDFLAGS],
390
samba_cv_HAVE_Wdeclaration_after_statement=yes,
391
samba_cv_HAVE_Wdeclaration_after_statement=no,
392
samba_cv_HAVE_Wdeclaration_after_statement=cross)
394
if test x"$samba_cv_HAVE_Wdeclaration_after_statement" = x"yes"; then
395
CFLAGS="${CFLAGS} -Wdeclaration-after-statement"
399
AC_ARG_ENABLE(krb5developer, [ --enable-krb5developer Turn on developer warnings and debugging, except -Wstrict-prototypes (default=no)],
400
[if eval "test x$enable_krb5developer = xyes"; then
402
CFLAGS="${CFLAGS} -gstabs -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -DDEBUG_PASSWORD -DDEVELOPER"
405
AC_ARG_ENABLE(dmalloc, [ --enable-dmalloc Enable heap debugging [default=no]])
407
if test "x$enable_dmalloc" = xyes
409
AC_DEFINE(ENABLE_DMALLOC, 1, [Define to turn on dmalloc debugging])
410
AC_DEFINE(DMALLOC_FUNC_CHECK, 1,
411
[Define to check invariants around some common functions])
412
LIBS="$LIBS -ldmalloc"
415
#################################################
416
# check for a shared memory profiling support
417
AC_MSG_CHECKING(whether to use profiling)
418
AC_ARG_WITH(profiling-data,
419
[ --with-profiling-data Include gathering source code profile information (default=no)],
423
AC_DEFINE(WITH_PROFILE,1,[Whether to use profiling])
424
samba_cv_WITH_PROFILE=yes
428
samba_cv_WITH_PROFILE=no
434
dnl Checks for programs.
437
## for some reason this macro resets the CFLAGS
438
## so save and restore
450
AC_PATH_PROG(PERL, perl)
452
AC_CHECK_TOOL(AR, ar)
454
dnl Check if we use GNU ld
458
dnl Certain versions of GNU ld the default is not to have the
459
dnl --allow-shlib-undefined flag defined. This causes a stackload of
460
dnl warnings when building modules.
461
if test "$ac_cv_prog_gnu_ld" = "yes"; then
462
ac_cv_gnu_ld_version=`$LD -v 2>/dev/null | head -1`
463
AC_MSG_CHECKING(GNU ld release date)
465
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'`
467
AC_MSG_RESULT(${ac_cv_gnu_ld_date})
468
if test -n "$ac_cv_gnu_ld_date"; then
469
if test "$ac_cv_gnu_ld_date" -lt 20030217; then
470
ac_cv_gnu_ld_no_default_allow_shlib_undefined=yes
473
AC_MSG_CHECKING(GNU ld release version)
475
ac_cv_gnu_ld_vernr=`echo $ac_cv_gnu_ld_version | sed -n 's,^.*\([1-9][0-9]*\.[0-9][0-9]*\).*$,\1,p'`
476
ac_cv_gnu_ld_vernr_major=`echo $ac_cv_gnu_ld_vernr | cut -d '.' -f 1`
477
ac_cv_gnu_ld_vernr_minor=`echo $ac_cv_gnu_ld_vernr | cut -d '.' -f 2`
479
AC_MSG_RESULT(${ac_cv_gnu_ld_vernr})
480
AC_MSG_CHECKING(GNU ld release version major)
481
AC_MSG_RESULT(${ac_cv_gnu_ld_vernr_major})
482
AC_MSG_CHECKING(GNU ld release version minor)
483
AC_MSG_RESULT(${ac_cv_gnu_ld_vernr_minor})
484
if test "$ac_cv_gnu_ld_vernr_major" -lt 2 || test "$ac_cv_gnu_ld_vernr_minor" -lt 14; then
485
ac_cv_gnu_ld_no_default_allow_shlib_undefined=yes
490
dnl needed before AC_TRY_COMPILE
493
dnl look for executable suffix
496
dnl Check if C compiler understands -c and -o at the same time
498
if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
505
dnl Check if the C compiler understands -Werror
506
AC_CACHE_CHECK([that the C compiler understands -Werror],samba_cv_HAVE_Werror, [
511
}],[-Werror],[$CPPFLAGS],[$LDFLAGS],
512
samba_cv_HAVE_Werror=yes,samba_cv_HAVE_Werror=no,samba_cv_HAVE_Werror=cross)])
513
if test x"$samba_cv_HAVE_Werror" = x"yes"; then
514
Werror_FLAGS="-Werror"
516
dnl Check if the C compiler understands -w2
517
AC_CACHE_CHECK([that the C compiler understands -w2],samba_cv_HAVE_w2, [
522
}],[-w2],[$CPPFLAGS],[$LDFLAGS],
523
samba_cv_HAVE_w2=yes,samba_cv_HAVE_w2=no,samba_cv_HAVE_w2=cross)])
524
if test x"$samba_cv_HAVE_w2" = x"yes"; then
529
dnl Check if the C compiler understands volatile (it should, being ANSI).
530
AC_CACHE_CHECK([that the C compiler understands volatile],samba_cv_volatile, [
531
AC_TRY_COMPILE([#include <sys/types.h>],[volatile int i = 0],
532
samba_cv_volatile=yes,samba_cv_volatile=no)])
533
if test x"$samba_cv_volatile" = x"yes"; then
534
AC_DEFINE(HAVE_VOLATILE, 1, [Whether the C compiler understands volatile])
537
UNAME_S=`(uname -s) 2>/dev/null` || UNAME_S="unknown"
538
AC_MSG_CHECKING(uname -s)
539
AC_MSG_RESULT(${UNAME_S})
541
UNAME_R=`(uname -r) 2>/dev/null` || UNAME_R="unknown"
542
AC_MSG_CHECKING(uname -r)
543
AC_MSG_RESULT(${UNAME_R})
545
UNAME_M=`(uname -m) 2>/dev/null` || UNAME_M="unknown"
546
AC_MSG_CHECKING(uname -m)
547
AC_MSG_RESULT(${UNAME_M})
549
UNAME_P=`(uname -p) 2>/dev/null` || UNAME_P="unknown"
550
AC_MSG_CHECKING(uname -p)
551
AC_MSG_RESULT(${UNAME_P})
555
dnl Add #include for broken IRIX header files
558
AC_ADD_INCLUDE(<standards.h>)
559
if test x"$ac_cv_prog_gcc" != x"yes" ; then
560
dnl Fix sensible defaults for MIPSPro compilers. The
561
dnl error numbers are valid for the 7.3 compilers,
562
dnl hopefully also valid for the 7.4 series.
564
dnl Bugzilla 3801. Force an error on warning 1035
565
dnl so we don't incorrectly detect stdint.h. This
566
dnl warning is emitted for #error directives.
567
CFLAGS="$CFLAGS -diag_error 1035"
568
dnl 1209: Controlling expression is constant
569
dnl 1174: Function foo declared but never referenced
570
dnl 3201: Parameter foo was never referenced
571
CFLAGS="$CFLAGS -woff 1209,1174,3201"
576
AC_VALIDATE_CACHE_SYSTEM_TYPE
580
dnl Add modules that have to be built by default here
581
dnl These have to be built static:
582
default_static_modules="pdb_smbpasswd pdb_tdbsam rpc_lsa rpc_samr rpc_reg rpc_lsa_ds rpc_wks rpc_svcctl rpc_ntsvcs rpc_net rpc_netdfs rpc_srv rpc_spoolss rpc_eventlog rpc_unixinfo auth_sam auth_unix auth_winbind auth_server auth_domain auth_builtin vfs_default"
584
dnl These are preferably build shared, and static if dlopen() is not available
585
default_shared_modules="vfs_recycle vfs_audit vfs_extd_audit vfs_full_audit vfs_netatalk vfs_fake_perms vfs_default_quota vfs_readonly vfs_cap vfs_expand_msdfs vfs_shadow_copy charset_CP850 charset_CP437 auth_script"
587
if test "x$developer" = xyes; then
588
default_static_modules="$default_static_modules rpc_echo"
589
default_shared_modules="$default_shared_modules charset_weird"
593
# Config CPPFLAG settings for strange OS's that must be set
594
# before other tests. Do NOT invoke AC_CHECK_HEADERS within this
595
# case statement; its first reference must be unconditional.
598
# Try to work out if this is the native HPUX compiler that uses the -Ae flag.
602
# mmap on HPUX is completely broken...
603
AC_DEFINE(MMAP_BLACKLIST, 1, [Whether MMAP is broken])
604
if test $ac_cv_prog_cc_Ae = yes; then
605
CPPFLAGS="$CPPFLAGS -Ae"
608
# Defines needed for HPUX support.
609
# HPUX has bigcrypt but (sometimes?) doesn't use it for
610
# password hashing - hence the USE_BOTH_CRYPT_CALLS define.
614
CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_POSIX_SOURCE -D_ALIGNMENT_REQUIRED=1 -D_MAX_ALIGNMENT=4 -DMAX_POSITIVE_LOCK_OFFSET=0x1ffffffffffLL"
615
AC_DEFINE(USE_BOTH_CRYPT_CALLS, 1, [Whether to use both of HPUX' crypt calls])
616
AC_DEFINE(_HPUX_SOURCE, 1, [Whether to use HPUX extensions])
617
AC_DEFINE(_POSIX_SOURCE, 1, [Whether to use POSIX compatible functions])
618
AC_DEFINE(_ALIGNMENT_REQUIRED,1,[Required alignment])
619
AC_DEFINE(_MAX_ALIGNMENT,4,[Maximum alignment])
622
CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_POSIX_SOURCE -D_LARGEFILE64_SOURCE -D_ALIGNMENT_REQUIRED=1 -D_MAX_ALIGNMENT=4 -DMAX_POSITIVE_LOCK_OFFSET=0x1ffffffffffLL"
623
AC_DEFINE(USE_BOTH_CRYPT_CALLS, 1, [Whether to use both of HPUX' crypt calls])
624
AC_DEFINE(_HPUX_SOURCE, 1, [Whether to use HPUX extensions])
625
AC_DEFINE(_POSIX_SOURCE, 1, [Whether to use POSIX compatible functions])
626
AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to use large file support])
627
AC_DEFINE(_ALIGNMENT_REQUIRED, 1, [Required alignment])
628
AC_DEFINE(_MAX_ALIGNMENT, 4, [Maximum alignment])
634
# CRAY Unicos has broken const handling
636
AC_MSG_RESULT([disabling const])
637
CPPFLAGS="$CPPFLAGS -Dconst="
641
# AIX4.x doesn't even admit to having large
642
# files *at all* unless the -D_LARGE_FILE or -D_LARGE_FILE_API flags are set.
645
AC_MSG_RESULT([enabling large file support])
646
CPPFLAGS="$CPPFLAGS -D_LARGE_FILES"
647
AC_DEFINE(_LARGE_FILES, 1, [Whether to enable large file support])
650
# Defines needed for Solaris 2.6/2.7 aka 7.0 to make it admit
651
# to the existance of large files..
652
# Note that -D_LARGEFILE64_SOURCE is different from the Sun
653
# recommendations on large file support, however it makes the
654
# compile work using gcc 2.7 and 2.8, whereas using the Sun
655
# recommendation makes the compile fail on gcc2.7. JRA.
657
# Solaris uses SYSV printing. Make sure to set that here. --jerry
660
AC_DEFINE(SYSV, 1, [Whether to enable System V compatibility])
662
5.0|5.0.*|5.1|5.1.*|5.2|5.2.*|5.3|5.3.*|5.5|5.5.*)
663
AC_MSG_RESULT([no large file support])
666
AC_MSG_RESULT([enabling large file support])
667
if test "$ac_cv_prog_gcc" = yes; then
668
${CC-cc} -v >conftest.c 2>&1
669
ac_cv_gcc_compiler_version_number=`grep 'gcc version' conftest.c`
671
case "$ac_cv_gcc_compiler_version_number" in
672
*"gcc version 2.6"*|*"gcc version 2.7"*)
673
CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE -D_REENTRANT"
674
LDFLAGS="$LDFLAGS -lthread"
675
AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to enable large file support])
678
CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE -D_REENTRANT -D_FILE_OFFSET_BITS=64"
679
LDFLAGS="$LDFLAGS -lthread"
680
AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to enable large file support])
681
AC_DEFINE(_FILE_OFFSET_BITS, 64, [File offset bits])
685
CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE -D_REENTRANT -D_FILE_OFFSET_BITS=64"
686
LDFLAGS="$LDFLAGS -lthread"
687
AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to enable large file support])
688
AC_DEFINE(_FILE_OFFSET_BITS, 64, [File offset bits])
694
# IRIX uses SYSV printing. Make sure to set that here
697
AC_DEFINE(SYSV, 1, [Whether to enable System V compatibility])
699
*freebsd*|*dragonfly*)
700
AC_DEFINE(FREEBSD, 1, [Whether the host os is FreeBSD])
703
# VOS may need to have POSIX support and System V compatibility enabled.
710
CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L"
711
AC_DEFINE(_POSIX_C_SOURCE, 200112L, [Whether to enable POSIX support])
715
*-D_SYSV*|*-D_SVID_SOURCE*)
718
CPPFLAGS="$CPPFLAGS -D_SYSV"
719
AC_DEFINE(_SYSV, 1, [Whether to enable System V compatibility])
723
# Tests needed for SINIX large file support.
726
if test $host = mips-sni-sysv4 ; then
727
AC_MSG_CHECKING([for LFS support])
728
old_CPPFLAGS="$CPPFLAGS"
729
CPPFLAGS="-D_LARGEFILE64_SOURCE $CPPFLAGS"
733
#if _LFS64_LARGEFILE == 1
738
}], [SINIX_LFS_SUPPORT=yes], [SINIX_LFS_SUPPORT=no], [SINIX_LFS_SUPPORT=cross])
739
CPPFLAGS="$old_CPPFLAGS"
740
if test x$SINIX_LFS_SUPPORT = xyes ; then
741
CPPFLAGS="-D_LARGEFILE64_SOURCE $CPPFLAGS"
742
AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to enable large file support])
743
CFLAGS="`getconf LFS64_CFLAGS` $CFLAGS"
744
LDFLAGS="`getconf LFS64_LDFLAGS` $LDFLAGS"
745
LIBS="`getconf LFS64_LIBS` $LIBS"
747
AC_MSG_RESULT([$SINIX_LFS_SUPPORT])
751
# Tests for linux LFS support. Need kernel 2.4 and glibc2.2 or greater support.
754
AC_MSG_CHECKING([for LFS support])
755
old_CPPFLAGS="$CPPFLAGS"
756
CPPFLAGS="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE $CPPFLAGS"
759
#include <sys/utsname.h>
763
#if _LFS64_LARGEFILE == 1
768
/* Ensure this is glibc 2.2 or higher */
769
#if defined(__GLIBC__) && defined(__GLIBC_MINOR__)
770
int libc_major = __GLIBC__;
771
int libc_minor = __GLIBC_MINOR__;
779
/* Ensure this is kernel 2.4 or higher */
782
release = strdup(uts.release);
783
major = atoi(strsep(&release, "."));
784
minor = atoi(strsep(&release, "."));
786
if (major > 2 || (major == 2 && minor > 3))
793
], [LINUX_LFS_SUPPORT=yes], [LINUX_LFS_SUPPORT=no], [LINUX_LFS_SUPPORT=cross])
794
CPPFLAGS="$old_CPPFLAGS"
795
if test x$LINUX_LFS_SUPPORT = xyes ; then
796
CPPFLAGS="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE $CPPFLAGS"
797
AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to enable large file support])
798
AC_DEFINE(_FILE_OFFSET_BITS, 64, [File offset bits])
799
AC_DEFINE(_GNU_SOURCE, 1, [Whether to use GNU libc extensions])
801
AC_MSG_RESULT([$LINUX_LFS_SUPPORT])
805
# MacOS X is the *only* system that uses compose character in utf8. This
806
# is so horribly broken....
809
AC_DEFINE(BROKEN_UNICODE_COMPOSE_CHARACTERS, 1, [Does this system use unicode compose characters])
810
# Add Fink directories for various packages, like dlcompat.
811
# Note: iconv does that explicitly below, but other packages
813
CPPFLAGS="$CPPFLAGS -I/sw/include"
814
LDFLAGS="$LDFLAGS -L/sw/lib"
816
# If we have dlsym_prepend_underscore (from Fink's dlcompat),
817
# use that instead of plain dlsym.
819
AC_CHECK_LIB(dl,dlopen)
820
AC_CHECK_FUNCS(dlsym_prepend_underscore,[CPPFLAGS="$CPPFLAGS -Ddlsym=dlsym_prepend_underscore"])
822
# Add a system specific charset module.
824
default_shared_modules="$default_shared_modules charset_macosxfs"
827
AC_MSG_CHECKING([for LFS support])
828
old_CPPFLAGS="$CPPFLAGS"
829
CPPFLAGS="-D_LARGEFILE64_SOURCE -D_GNU_SOURCE $CPPFLAGS"
833
#if _LFS64_LARGEFILE == 1
838
}], [GLIBC_LFS_SUPPORT=yes], [GLIBC_LFS_SUPPORT=no], [GLIBC_LFS_SUPPORT=cross])
839
CPPFLAGS="$old_CPPFLAGS"
840
if test x$GLIBC_LFS_SUPPORT = xyes ; then
841
CPPFLAGS="-D_LARGEFILE64_SOURCE -D_GNU_SOURCE $CPPFLAGS"
842
AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to enable large file support])
843
AC_DEFINE(_GNU_SOURCE, 1, [Whether to use GNU libc extensions])
845
AC_MSG_RESULT([$GLIBC_LFS_SUPPORT])
855
AC_CHECK_HEADERS(aio.h arpa/inet.h sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd.h rpc/nettype.h)
856
AC_CHECK_HEADERS(unistd.h utime.h grp.h sys/id.h memory.h alloca.h)
857
AC_CHECK_HEADERS(limits.h float.h)
858
AC_CHECK_HEADERS(rpc/rpc.h rpcsvc/nis.h rpcsvc/ypclnt.h)
859
AC_CHECK_HEADERS(sys/param.h ctype.h sys/wait.h sys/resource.h sys/ioctl.h sys/ipc.h sys/prctl.h)
860
AC_CHECK_HEADERS(sys/mman.h sys/filio.h sys/priv.h sys/shm.h string.h strings.h stdlib.h sys/socket.h)
861
AC_CHECK_HEADERS(sys/un.h)
862
AC_CHECK_HEADERS(sys/mount.h sys/vfs.h sys/fs/s5param.h sys/filsys.h termios.h termio.h)
863
AC_CHECK_HEADERS(sys/termio.h sys/statfs.h sys/dustat.h sys/statvfs.h stdarg.h sys/sockio.h)
864
AC_CHECK_HEADERS(sys/sysmacros.h security/_pam_macros.h dlfcn.h)
865
AC_CHECK_HEADERS(sys/syslog.h syslog.h)
866
AC_CHECK_HEADERS(langinfo.h locale.h)
867
AC_CHECK_HEADERS(xfs/libxfs.h)
869
AC_CHECK_HEADERS(rpcsvc/yp_prot.h,,,[[
875
## These fail to compile on IRIX so just check for their presence
876
AC_CHECK_HEADERS(sys/mode.h,,,)
878
# Look for Darwin headers
879
old_CPPFLAGS="$CPPFLAGS"
880
CPPFLAGS="-Iinclude $CPPFLAGS"
881
AC_CHECK_HEADERS([CoreFoundation/CFStringEncodingConverter.h], [], [AC_CHECK_HEADERS([CFStringEncodingConverter.h])])
882
CPPFLAGS="$old_CPPFLAGS"
884
# In valgrind 1.0.x, it's just valgrind.h. In 1.9.x+ there's a
885
# subdirectory of headers.
886
AC_CHECK_HEADERS(valgrind.h valgrind/valgrind.h valgrind/memcheck.h)
888
# check for linux on amd64 since valgrind is not quite there yet
893
AC_DEFINE(HAVE_64BIT_LINUX,1,[Whether we are running on 64bit linux])
901
# HPUX has a bug in that including shadow.h causes a re-definition of MAXINT.
902
# This causes configure to fail to detect it. Check for shadow separately on HPUX.
906
AC_TRY_COMPILE([#include <shadow.h>],[struct spwd testme],
907
ac_cv_header_shadow_h=yes,ac_cv_header_shadow_h=no)
908
if test x"$ac_cv_header_shadow_h" = x"yes"; then
909
AC_DEFINE(HAVE_SHADOW_H,1,[Whether we have shadow.h])
913
AC_CHECK_HEADERS(shadow.h netinet/tcp.h netinet/in_systm.h netinet/in_ip.h)
914
AC_CHECK_HEADERS(nss.h nss_common.h nsswitch.h ns_api.h sys/security.h security/pam_appl.h)
915
AC_CHECK_HEADERS(stropts.h poll.h)
916
AC_CHECK_HEADERS(syscall.h sys/syscall.h)
918
AC_CHECK_HEADERS(sys/acl.h sys/attributes.h attr/xattr.h sys/xattr.h sys/extattr.h sys/uio.h)
919
AC_CHECK_HEADERS(sys/ea.h sys/proplist.h)
921
AC_CHECK_HEADERS(sys/cdefs.h glob.h)
923
AC_CHECK_HEADERS(netinet/ip.h,,,[[
924
#include <sys/types.h>
925
#if HAVE_SYS_SOCKET_H
926
#include <sys/socket.h>
928
#include <netinet/in.h>
929
#if HAVE_NETINET_IN_SYSTM_H
930
#include <netinet/in_systm.h>
934
AC_CHECK_HEADERS(net/if.h,,,[[
935
#include <sys/types.h>
936
#if HAVE_SYS_SOCKET_H
937
#include <sys/socket.h>
941
AC_CHECK_HEADERS(security/pam_modules.h,,,[[
942
#if HAVE_SECURITY_PAM_APPL_H
943
#include <security/pam_appl.h>
947
# For experimental utmp support (lastlog on some BSD-like systems)
948
AC_CHECK_HEADERS(utmp.h utmpx.h lastlog.h)
950
AC_CHECK_SIZEOF(int,cross)
951
AC_CHECK_SIZEOF(long,cross)
952
AC_CHECK_SIZEOF(long long,cross)
953
AC_CHECK_SIZEOF(short,cross)
968
AC_CHECK_TYPE(ino_t,unsigned)
969
AC_CHECK_TYPE(loff_t,off_t)
970
AC_CHECK_TYPE(offset_t,loff_t)
971
AC_CHECK_TYPE(ssize_t, int)
972
AC_CHECK_TYPE(wchar_t, unsigned short)
973
AC_CHECK_TYPE(comparison_fn_t,
974
[AC_DEFINE(HAVE_COMPARISON_FN_T, 1,[Whether or not we have comparison_fn_t])])
976
############################################
977
# for cups support we need libcups, and a handful of header files
980
[ --enable-cups Turn on CUPS support (default=auto)])
982
if test x$enable_cups != xno; then
983
AC_PATH_PROG(CUPS_CONFIG, cups-config)
985
if test "x$CUPS_CONFIG" != x; then
986
AC_DEFINE(HAVE_CUPS,1,[Whether we have CUPS])
987
CFLAGS="$CFLAGS `$CUPS_CONFIG --cflags`"
988
LDFLAGS="$LDFLAGS `$CUPS_CONFIG --ldflags`"
989
PRINT_LIBS="$PRINT_LIBS `$CUPS_CONFIG --libs`"
990
elif test x"$enable_cups" = x"yes"; then
991
AC_MSG_ERROR(Cups support required but cups-config not located. Make sure cups-devel related files are installed.)
995
AC_ARG_ENABLE(iprint,
996
[ --enable-iprint Turn on iPrint support (default=yes if cups is yes)])
998
if test x$enable_iprint != xno; then
999
if test "x$CUPS_CONFIG" != x; then
1000
AC_DEFINE(HAVE_IPRINT,1,[Whether we have iPrint])
1001
elif test x"$enable_iprint" = x"yes"; then
1002
AC_MSG_ERROR(iPrint support required but cups not enabled. Make sure cups-devel related files are installed and that cups is enabled.)
1006
############################################
1007
# we need dlopen/dlclose/dlsym/dlerror for PAM, the password database plugins and the plugin loading code
1008
AC_SEARCH_LIBS(dlopen, [dl])
1009
# dlopen/dlclose/dlsym/dlerror will be checked again later and defines will be set then
1011
############################################
1012
# check if the compiler can do immediate structures
1013
AC_CACHE_CHECK([for immediate structures],samba_cv_immediate_structures, [
1015
#include <stdio.h>],
1017
typedef struct {unsigned x;} FOOBAR;
1018
#define X_FOOBAR(x) ((FOOBAR) { x })
1019
#define FOO_ONE X_FOOBAR(1)
1027
samba_cv_immediate_structures=yes,samba_cv_immediate_structures=no)])
1028
if test x"$samba_cv_immediate_structures" = x"yes"; then
1029
AC_DEFINE(HAVE_IMMEDIATE_STRUCTURES,1,[Whether the compiler supports immediate structures])
1032
############################################
1033
# check if the compiler can do immediate structures
1034
AC_CACHE_CHECK([if the compiler will optimize out function calls],samba_cv_optimize_out_funcation_calls, [
1036
#include <stdio.h>],
1039
this_function_does_not_exist();
1045
samba_cv_optimize_out_funcation_calls=yes,samba_cv_optimize_out_funcation_calls=no)])
1046
if test x"$samba_cv_optimize_out_funcation_calls" = x"yes"; then
1047
AC_DEFINE(HAVE_COMPILER_WILL_OPTIMIZE_OUT_FNS,1,[Whether the compiler will optimize out function calls])
1050
############################################
1051
# check for unix domain sockets
1052
AC_CACHE_CHECK([for unix domain sockets],samba_cv_unixsocket, [
1054
#include <sys/types.h>
1057
#include <sys/socket.h>
1058
#include <sys/un.h>],
1060
struct sockaddr_un sunaddr;
1061
sunaddr.sun_family = AF_UNIX;
1063
samba_cv_unixsocket=yes,samba_cv_unixsocket=no)])
1064
if test x"$samba_cv_unixsocket" = x"yes"; then
1065
AC_DEFINE(HAVE_UNIXSOCKET,1,[If we need to build with unixscoket support])
1069
AC_CACHE_CHECK([for socklen_t type],samba_cv_socklen_t, [
1071
#include <sys/types.h>
1076
#include <sys/socket.h>],[socklen_t i = 0],
1077
samba_cv_socklen_t=yes,samba_cv_socklen_t=no)])
1078
if test x"$samba_cv_socklen_t" = x"yes"; then
1079
AC_DEFINE(HAVE_SOCKLEN_T_TYPE,1,[Whether we have the variable type socklen_t])
1082
AC_CACHE_CHECK([for sig_atomic_t type],samba_cv_sig_atomic_t, [
1084
#include <sys/types.h>
1089
#include <signal.h>],[sig_atomic_t i = 0],
1090
samba_cv_sig_atomic_t=yes,samba_cv_sig_atomic_t=no)])
1091
if test x"$samba_cv_sig_atomic_t" = x"yes"; then
1092
AC_DEFINE(HAVE_SIG_ATOMIC_T_TYPE,1,[Whether we have the atomic_t variable type])
1095
AC_CACHE_CHECK([for struct timespec type],samba_cv_struct_timespec, [
1097
#include <sys/types.h>
1102
#if TIME_WITH_SYS_TIME
1103
# include <sys/time.h>
1106
# if HAVE_SYS_TIME_H
1107
# include <sys/time.h>
1115
],[struct timespec ts;],
1116
samba_cv_struct_timespec=yes,samba_cv_struct_timespec=no)])
1117
if test x"$samba_cv_struct_timespec" = x"yes"; then
1118
AC_DEFINE(HAVE_STRUCT_TIMESPEC,1,[Whether we have struct timespec])
1121
# stupid headers have the functions but no declaration. grrrr.
1122
AC_HAVE_DECL(errno, [#include <errno.h>])
1123
AC_HAVE_DECL(setresuid, [#include <unistd.h>])
1124
AC_HAVE_DECL(setresgid, [#include <unistd.h>])
1125
AC_HAVE_DECL(asprintf, [#include <stdio.h>])
1126
AC_HAVE_DECL(vasprintf, [#include <stdio.h>])
1127
AC_HAVE_DECL(vsnprintf, [#include <stdio.h>])
1128
AC_HAVE_DECL(snprintf, [#include <stdio.h>])
1130
# and glibc has setresuid under linux but the function does
1131
# nothing until kernel 2.1.44! very dumb.
1132
AC_CACHE_CHECK([for real setresuid],samba_cv_have_setresuid,[
1133
AC_TRY_RUN([#include <errno.h>
1134
main() { setresuid(1,1,1); setresuid(2,2,2); exit(errno==EPERM?0:1);}],
1135
samba_cv_have_setresuid=yes,samba_cv_have_setresuid=no,samba_cv_have_setresuid=cross)])
1136
if test x"$samba_cv_have_setresuid" = x"yes"; then
1137
AC_DEFINE(HAVE_SETRESUID,1,[Whether the system has setresuid])
1140
# Do the same check for setresguid...
1142
AC_CACHE_CHECK([for real setresgid],samba_cv_have_setresgid,[
1143
AC_TRY_RUN([#include <unistd.h>
1145
main() { errno = 0; setresgid(1,1,1); exit(errno != 0 ? (errno==EPERM ? 0 : 1) : 0);}],
1146
samba_cv_have_setresgid=yes,samba_cv_have_setresgid=no,samba_cv_have_setresgid=cross)])
1147
if test x"$samba_cv_have_setresgid" = x"yes"; then
1148
AC_DEFINE(HAVE_SETRESGID,1,[Whether the system has setresgid])
1153
###############################################
1154
# Readline included by default unless explicitly asked not to
1155
test "${with_readline+set}" != "set" && with_readline=yes
1157
# test for where we get readline() from
1158
AC_MSG_CHECKING(whether to use readline)
1159
AC_ARG_WITH(readline,
1160
[ --with-readline[=DIR] Look for readline include/libs in DIR (default=auto) ],
1161
[ case "$with_readline" in
1165
AC_CHECK_HEADERS(readline.h history.h readline/readline.h)
1166
AC_CHECK_HEADERS(readline/history.h)
1168
AC_CHECK_HEADERS(readline.h readline/readline.h,[
1169
for termlib in ncurses curses termcap terminfo termlib tinfo; do
1170
AC_CHECK_LIB(${termlib}, tgetent, [TERMLIBS="-l${termlib}"; break])
1172
AC_CHECK_LIB(readline, rl_callback_handler_install,
1173
[TERMLIBS="-lreadline $TERMLIBS"
1174
AC_DEFINE(HAVE_LIBREADLINE,1,[Whether the system has readline])
1175
break], [TERMLIBS=], $TERMLIBS)])
1183
# Needed for AC_CHECK_HEADERS and AC_CHECK_LIB to look at
1184
# alternate readline path
1186
_cppflags=${CPPFLAGS}
1188
# Add additional search path
1189
LDFLAGS="-L$with_readline/lib $LDFLAGS"
1190
CPPFLAGS="-I$with_readline/include $CPPFLAGS"
1192
AC_CHECK_HEADERS(readline.h history.h readline/readline.h)
1193
AC_CHECK_HEADERS(readline/history.h)
1195
AC_CHECK_HEADERS(readline.h readline/readline.h,[
1196
for termlib in ncurses curses termcap terminfo termlib; do
1197
AC_CHECK_LIB(${termlib}, tgetent, [TERMLIBS="-l${termlib}"; break])
1199
AC_CHECK_LIB(readline, rl_callback_handler_install,
1200
[TERMLDFLAGS="-L$with_readline/lib"
1201
TERMCPPFLAGS="-I$with_readline/include"
1202
CPPFLAGS="-I$with_readline/include $CPPFLAGS"
1203
TERMLIBS="-lreadline $TERMLIBS"
1204
AC_DEFINE(HAVE_LIBREADLINE,1,[Whether the system has readline])
1205
break], [TERMLIBS= CPPFLAGS=$_cppflags], $TERMLIBS)])
1213
AC_SUBST(TERMLDFLAGS)
1215
# The readline API changed slightly from readline3 to readline4, so
1216
# code will generate warnings on one of them unless we have a few
1218
AC_CHECK_LIB(readline, rl_completion_matches,
1219
[AC_DEFINE(HAVE_NEW_LIBREADLINE, 1,
1220
[Do we have rl_completion_matches?])],
1224
# The following test taken from the cvs sources
1225
# If we can't find connect, try looking in -lsocket, -lnsl, and -linet.
1226
# The Irix 5 libc.so has connect and gethostbyname, but Irix 5 also has
1227
# libsocket.so which has a bad implementation of gethostbyname (it
1228
# only looks in /etc/hosts), so we only look for -lsocket if we need
1230
AC_CHECK_FUNCS(connect)
1231
if test x"$ac_cv_func_connect" = x"no"; then
1234
*) AC_CHECK_LIB(nsl_s, connect) ;;
1238
*) AC_CHECK_LIB(nsl, connect) ;;
1242
*) AC_CHECK_LIB(socket, connect) ;;
1246
*) AC_CHECK_LIB(inet, connect) ;;
1248
dnl We can't just call AC_CHECK_FUNCS(connect) here, because the value
1249
dnl has been cached.
1250
if test x"$ac_cv_lib_socket_connect" = x"yes" ||
1251
test x"$ac_cv_lib_inet_connect" = x"yes"; then
1252
# ac_cv_func_connect=yes
1253
# don't! it would cause AC_CHECK_FUNC to succeed next time configure is run
1254
AC_DEFINE(HAVE_CONNECT,1,[Whether the system has connect()])
1258
###############################################
1259
# test for where we get yp_get_default_domain() from
1260
AC_SEARCH_LIBS(yp_get_default_domain, [nsl])
1261
AC_CHECK_FUNCS(yp_get_default_domain)
1263
# Check if we have execl, if not we need to compile smbrun.
1264
AC_CHECK_FUNCS(execl)
1265
if test x"$ac_cv_func_execl" = x"no"; then
1266
EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/smbrun\$(EXEEXT)"
1269
AC_CHECK_FUNCS(dlopen dlclose dlsym dlerror waitpid getcwd strdup strndup strnlen strerror chown fchown chmod fchmod chroot link mknod mknod64)
1270
AC_CHECK_FUNCS(strtol strtoll strtoul strtoull)
1271
AC_CHECK_FUNCS(fstat strchr utime utimes getrlimit fsync memset strlcpy strlcat setpgid)
1272
AC_CHECK_FUNCS(memmove vsnprintf snprintf asprintf vasprintf setsid glob strpbrk pipe crypt16 getauthuid)
1273
AC_CHECK_FUNCS(strftime sigprocmask sigblock sigaction sigset innetgr setnetgrent getnetgrent endnetgrent)
1274
AC_CHECK_FUNCS(initgroups select poll rdchk getgrnam getgrent pathconf realpath)
1275
AC_CHECK_FUNCS(setpriv setgidx setuidx setgroups sysconf mktime rename ftruncate chsize stat64 fstat64)
1276
AC_CHECK_FUNCS(lstat64 fopen64 atexit grantpt dup2 lseek64 ftruncate64)
1277
AC_CHECK_FUNCS(fseek64 fseeko64 ftell64 ftello64 setluid getpwanam setlinebuf)
1278
AC_CHECK_FUNCS(opendir64 readdir64 seekdir64 telldir64 rewinddir64 closedir64)
1279
AC_CHECK_FUNCS(getdents getdents64)
1280
AC_CHECK_FUNCS(srandom random srand rand setenv usleep strcasecmp fcvt fcvtl symlink readlink)
1281
AC_CHECK_FUNCS(syslog vsyslog timegm)
1282
AC_CHECK_FUNCS(setlocale nl_langinfo)
1283
AC_CHECK_FUNCS(nanosleep)
1284
AC_CHECK_FUNCS(mlock munlock mlockall munlockall)
1285
AC_CHECK_HEADERS(sys/mman.h)
1286
# setbuffer, shmget, shm_open are needed for smbtorture
1287
AC_CHECK_FUNCS(setbuffer shmget shm_open)
1289
# Find a method of generating a stack trace
1290
AC_CHECK_HEADERS(execinfo.h libexc.h libunwind.h)
1291
AC_CHECK_FUNCS(backtrace_symbols)
1292
AC_CHECK_LIB(exc, trace_back_stack)
1294
# Note that all the libunwind symbols in the API are defined to internal
1295
# platform-specific version, so we must include libunwind.h before checking
1297
AC_MSG_CHECKING([for libunwind])
1299
if test x"$UNAME_P" = xunknown ; then
1300
# This probably won't link without the platform-specific libunwind.
1301
LIBS="$LIBS -lunwind"
1303
# Add the platform-specific libunwind module. uname -p seems the most
1304
# plausible option and works for ia64, where libunwind is most useful.
1305
LIBS="$LIBS -lunwind -lunwind-$UNAME_P"
1310
#ifdef HAVE_LIBUNWIND_H
1311
#include <libunwind.h>
1315
unw_context_t ctx; unw_cursor_t cur;
1316
char buf[256]; unw_word_t off;
1317
unw_getcontext(&ctx); unw_init_local(&cur, &ctx);
1318
unw_get_proc_name(&cur, buf, sizeof(buf), &off);
1322
AC_DEFINE(HAVE_LIBUNWIND, 1, [Whether libunwind is available])
1324
# If we have libunwind, test whether we also have libunwind-ptrace
1325
# which would let us unwind arbitrary processes.
1327
AC_CHECK_HEADERS(libunwind-ptrace.h)
1328
AC_CHECK_LIB(unwind-ptrace, _UPT_create,
1330
LIBUNWIND_PTRACE="-lunwind-ptrace";
1331
AC_DEFINE(HAVE_LIBUNWIND_PTRACE, 1,
1332
[Whether libunwind-ptrace.a is available.])
1334
[ LIBUNWIND_PTRACE="" ])
1343
# To use libunwind-ptrace, we also need to make some ptrace system calls.
1344
if test x"$LIBUNWIND_PTRACE" != x"" ; then
1345
AC_CHECK_HEADERS(sys/ptrace.h)
1346
AC_MSG_CHECKING([for the Linux ptrace(2) interface])
1349
#if HAVE_SYS_TYPES_H
1350
#include <sys/types.h>
1352
#if HAVE_SYS_PTRACE_H
1353
#include <sys/ptrace.h>
1357
int main(int argc, const char ** argv)
1359
pid_t me = (pid_t)-1;
1360
ptrace(PTRACE_ATTACH, me, 0, 0);
1361
ptrace(PTRACE_DETACH, me, 0, 0);
1367
AC_DEFINE(HAVE_LINUX_PTRACE, 1,
1368
[Whether the Linux ptrace(2) interface is available.])
1376
AC_SUBST(LIBUNWIND_PTRACE)
1378
AC_CHECK_FUNCS(_dup _dup2 _opendir _readdir _seekdir _telldir _closedir)
1379
AC_CHECK_FUNCS(__dup __dup2 __opendir __readdir __seekdir __telldir __closedir)
1380
AC_CHECK_FUNCS(__getcwd _getcwd)
1381
AC_CHECK_FUNCS(__xstat __fxstat __lxstat)
1382
AC_CHECK_FUNCS(_stat _lstat _fstat __stat __lstat __fstat)
1383
AC_CHECK_FUNCS(_acl __acl _facl __facl _open __open _chdir __chdir)
1384
AC_CHECK_FUNCS(_close __close _fchdir __fchdir _fcntl __fcntl)
1385
AC_CHECK_FUNCS(getdents __getdents _lseek __lseek _read __read)
1386
AC_CHECK_FUNCS(getdirentries _write __write _fork __fork)
1387
AC_CHECK_FUNCS(_stat64 __stat64 _fstat64 __fstat64 _lstat64 __lstat64)
1388
AC_CHECK_FUNCS(__sys_llseek llseek _llseek __llseek readdir64 _readdir64 __readdir64)
1389
AC_CHECK_FUNCS(pread _pread __pread pread64 _pread64 __pread64)
1390
AC_CHECK_FUNCS(pwrite _pwrite __pwrite pwrite64 _pwrite64 __pwrite64)
1391
AC_CHECK_FUNCS(open64 _open64 __open64 creat64)
1392
AC_CHECK_FUNCS(prctl)
1395
#ifdef HAVE_SYS_PRCTL_H
1396
#include <sys/prctl.h>
1399
[int i; i = prtcl(0); ],
1400
AC_DEFINE(HAVE_PRCTL, 1, [Whether prctl is available]),[])
1407
# glibc <= 2.3.2 has a broken getgrouplist
1410
#include <sys/utsname.h>
1412
/* glibc up to 2.3 has a broken getgrouplist */
1413
#if defined(__GLIBC__) && defined(__GLIBC_MINOR__)
1414
int libc_major = __GLIBC__;
1415
int libc_minor = __GLIBC_MINOR__;
1419
if ((libc_major == 2) && (libc_minor <= 3))
1424
], [linux_getgrouplist_ok=yes], [linux_getgrouplist_ok=no])
1425
if test x"$linux_getgrouplist_ok" = x"yes"; then
1426
AC_DEFINE(HAVE_GETGROUPLIST, 1, [Have good getgrouplist])
1430
AC_CHECK_FUNCS(getgrouplist)
1435
# stat64 family may need <sys/stat.h> on some systems, notably ReliantUNIX
1438
if test x$ac_cv_func_stat64 = xno ; then
1439
AC_MSG_CHECKING([for stat64 in <sys/stat.h>])
1441
#if defined(HAVE_UNISTD_H)
1444
#include <sys/stat.h>
1445
], [struct stat64 st64; exit(stat64(".",&st64));], [ac_cv_func_stat64=yes])
1446
AC_MSG_RESULT([$ac_cv_func_stat64])
1447
if test x$ac_cv_func_stat64 = xyes ; then
1448
AC_DEFINE(HAVE_STAT64,1,[Whether stat64() is available])
1452
if test x$ac_cv_func_lstat64 = xno ; then
1453
AC_MSG_CHECKING([for lstat64 in <sys/stat.h>])
1455
#if defined(HAVE_UNISTD_H)
1458
#include <sys/stat.h>
1459
], [struct stat64 st64; exit(lstat64(".",&st64));], [ac_cv_func_lstat64=yes])
1460
AC_MSG_RESULT([$ac_cv_func_lstat64])
1461
if test x$ac_cv_func_lstat64 = xyes ; then
1462
AC_DEFINE(HAVE_LSTAT64,[Whether lstat64() is available])
1466
if test x$ac_cv_func_fstat64 = xno ; then
1467
AC_MSG_CHECKING([for fstat64 in <sys/stat.h>])
1469
#if defined(HAVE_UNISTD_H)
1472
#include <sys/stat.h>
1473
], [struct stat64 st64; exit(fstat64(0,&st64));], [ac_cv_func_fstat64=yes])
1474
AC_MSG_RESULT([$ac_cv_func_fstat64])
1475
if test x$ac_cv_func_fstat64 = xyes ; then
1476
AC_DEFINE(HAVE_FSTAT64,1,[Whether fstat64() is available])
1480
#################################################
1481
# Check whether struct stat has timestamps with sub-second resolution.
1482
# At least IRIX and Solaris have these.
1485
# all of st_mtim, st_atim and st_ctim exist
1486
# all of the members are in fact of type struct timespec
1488
# There is some conflicting standards weirdness about whether we should use
1489
# "struct timespec" or "timespec_t". Linux doesn't have timespec_t, so we
1490
# prefer struct timespec.
1492
AC_CACHE_CHECK([whether struct stat has sub-second timestamps], samba_stat_hires,
1496
#if TIME_WITH_SYS_TIME
1497
# include <sys/time.h>
1500
# if HAVE_SYS_TIME_H
1501
# include <sys/time.h>
1506
#ifdef HAVE_SYS_STAT_H
1507
#include <sys/stat.h>
1512
struct stat s = {0};
1513
t.tv_sec = s.st_mtim.tv_sec;
1514
t.tv_nsec = s.st_mtim.tv_nsec;
1515
t.tv_sec = s.st_ctim.tv_sec;
1516
t.tv_nsec = s.st_ctim.tv_nsec;
1517
t.tv_sec = s.st_atim.tv_sec;
1518
t.tv_nsec = s.st_atim.tv_nsec;
1520
samba_stat_hires=yes, samba_stat_hires=no)
1523
if test x"$samba_stat_hires" = x"yes" ; then
1524
AC_DEFINE(HAVE_STAT_ST_MTIM, 1, [whether struct stat contains st_mtim])
1525
AC_DEFINE(HAVE_STAT_ST_ATIM, 1, [whether struct stat contains st_atim])
1526
AC_DEFINE(HAVE_STAT_ST_CTIM, 1, [whether struct stat contains st_ctim])
1527
AC_DEFINE(HAVE_STAT_HIRES_TIMESTAMPS, 1,
1528
[whether struct stat has sub-second timestamps])
1531
AC_CACHE_CHECK([whether struct stat has sub-second timestamps without struct timespec], samba_stat_hires_notimespec,
1535
#if TIME_WITH_SYS_TIME
1536
# include <sys/time.h>
1539
# if HAVE_SYS_TIME_H
1540
# include <sys/time.h>
1545
#ifdef HAVE_SYS_STAT_H
1546
#include <sys/stat.h>
1551
struct stat s = {0};
1552
t.tv_sec = s.st_mtime;
1553
t.tv_nsec = s.st_mtimensec;
1554
t.tv_sec = s.st_ctime;
1555
t.tv_nsec = s.st_ctimensec;
1556
t.tv_sec = s.st_atime;
1557
t.tv_nsec = s.st_atimensec;
1559
samba_stat_hires=yes, samba_stat_hires=no)
1562
if test x"$samba_stat_hires_notimespec" = x"yes" ; then
1563
AC_DEFINE(HAVE_STAT_ST_MTIMENSEC, 1, [whether struct stat contains st_mtimensec])
1564
AC_DEFINE(HAVE_STAT_ST_ATIMENSEC, 1, [whether struct stat contains st_atimensec])
1565
AC_DEFINE(HAVE_STAT_ST_CTIMENSEC, 1, [whether struct stat contains st_ctimensec])
1566
AC_DEFINE(HAVE_STAT_HIRES_TIMESTAMPS, 1,
1567
[whether struct stat has sub-second timestamps without struct timespec])
1570
#####################################
1571
# needed for SRV lookups
1572
AC_CHECK_LIB(resolv, dn_expand)
1573
AC_CHECK_LIB(resolv, _dn_expand)
1574
AC_CHECK_LIB(resolv, __dn_expand)
1577
# Check for the functions putprpwnam, set_auth_parameters,
1578
# getspnam, bigcrypt and getprpwnam in -lsec and -lsecurity
1579
# Needed for OSF1 and HPUX.
1582
AC_LIBTESTFUNC(security, putprpwnam)
1583
AC_LIBTESTFUNC(sec, putprpwnam)
1585
AC_LIBTESTFUNC(security, set_auth_parameters)
1586
AC_LIBTESTFUNC(sec, set_auth_parameters)
1588
# UnixWare 7.x has its getspnam in -lgen
1589
AC_LIBTESTFUNC(gen, getspnam)
1591
AC_LIBTESTFUNC(security, getspnam)
1592
AC_LIBTESTFUNC(sec, getspnam)
1594
AC_LIBTESTFUNC(security, bigcrypt)
1595
AC_LIBTESTFUNC(sec, bigcrypt)
1597
AC_LIBTESTFUNC(security, getprpwnam)
1598
AC_LIBTESTFUNC(sec, getprpwnam)
1600
AC_CHECK_FUNCS(strsignal)
1602
############################################
1603
# Check if we have libattr
1606
AC_SEARCH_LIBS(getproplist, [proplist])
1607
AC_CHECK_FUNCS(getproplist fgetproplist setproplist fsetproplist)
1608
AC_CHECK_FUNCS(delproplist fdelproplist add_proplist_entry get_proplist_entry)
1609
AC_CHECK_FUNCS(sizeof_proplist_entry)
1612
AC_SEARCH_LIBS(getxattr, [attr])
1613
AC_CHECK_FUNCS(getxattr lgetxattr fgetxattr listxattr llistxattr)
1614
AC_CHECK_FUNCS(getea fgetea lgetea listea flistea llistea)
1615
AC_CHECK_FUNCS(removeea fremoveea lremoveea setea fsetea lsetea)
1616
AC_CHECK_FUNCS(flistxattr removexattr lremovexattr fremovexattr)
1617
AC_CHECK_FUNCS(setxattr lsetxattr fsetxattr)
1618
AC_CHECK_FUNCS(attr_get attr_list attr_set attr_remove)
1619
AC_CHECK_FUNCS(attr_getf attr_listf attr_setf attr_removef)
1623
# Check if we have extattr
1625
*freebsd4* | *dragonfly* )
1626
AC_DEFINE(BROKEN_EXTATTR, 1, [Does extattr API work])
1629
AC_CHECK_FUNCS(extattr_delete_fd extattr_delete_file extattr_delete_link)
1630
AC_CHECK_FUNCS(extattr_get_fd extattr_get_file extattr_get_link)
1631
AC_CHECK_FUNCS(extattr_list_fd extattr_list_file extattr_list_link)
1632
AC_CHECK_FUNCS(extattr_set_fd extattr_set_file extattr_set_link)
1636
# Assume non-shared by default and override below
1639
# these are the defaults, good for lots of systems
1643
NSSSONAMEVERSIONSUFFIX=""
1644
SHLD="\${CC} \${CFLAGS}"
1649
if test "$enable_shared" = "yes"; then
1650
# this bit needs to be modified for each OS that supports share libs
1651
# You need to specify how to create a shared library and
1652
# how to compile C code to produce PIC object files
1654
AC_MSG_CHECKING([ability to build shared libraries])
1656
# and these are for particular systems
1658
*linux*) AC_DEFINE(LINUX,1,[Whether the host os is linux])
1660
if test "${ac_cv_gnu_ld_no_default_allow_shlib_undefined}" = "yes"; then
1661
LDSHFLAGS="-shared -Wl,-Bsymbolic -Wl,--allow-shlib-undefined"
1663
LDSHFLAGS="-shared -Wl,-Bsymbolic"
1665
DYNEXP="-Wl,--export-dynamic"
1667
SONAMEFLAG="-Wl,-soname="
1668
NSSSONAMEVERSIONSUFFIX=".2"
1669
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
1671
*solaris*) AC_DEFINE(SUNOS5,1,[Whether the host os is solaris])
1675
if test "${GCC}" = "yes"; then
1677
SONAMEFLAG="-Wl,-soname="
1678
NSSSONAMEVERSIONSUFFIX=".1"
1679
if test "${ac_cv_prog_gnu_ld}" = "yes"; then
1684
## ${CFLAGS} added for building 64-bit shared
1685
## libs using Sun's Compiler
1686
LDSHFLAGS="-G \${CFLAGS}"
1689
AC_DEFINE(STAT_ST_BLOCKSIZE,512,[The size of a block])
1690
AC_DEFINE(BROKEN_GETGRNAM,1,[Does getgrnam work correctly])
1692
*sunos*) AC_DEFINE(SUNOS4,1,[Whether the host os is sunos4])
1695
SONAMEFLAG="-Wl,-h,"
1696
PICFLAGS="-KPIC" # Is this correct for SunOS
1697
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
1698
AC_DEFINE(BROKEN_GETGRNAM,1,[Does getgrnam work correctly])
1700
*netbsd* | *freebsd* | *dragonfly* )
1703
DYNEXP="-Wl,--export-dynamic"
1704
SONAMEFLAG="-Wl,-soname,"
1705
PICFLAGS="-fPIC -DPIC"
1706
AC_DEFINE(STAT_ST_BLOCKSIZE,512,[The size of a block])
1707
AC_DEFINE(BROKEN_GETGRNAM,1,[Does getgrnam work correctly])
1709
*openbsd*) BLDSHARED="true"
1711
DYNEXP="-Wl,-Bdynamic"
1712
SONAMEFLAG="-Wl,-soname,"
1714
AC_DEFINE(STAT_ST_BLOCKSIZE,512,[The size of a block])
1715
AC_DEFINE(BROKEN_GETGRNAM,1,[Does getgrnam work correctly])
1717
*irix*) AC_DEFINE(IRIX,1,[Whether the host os is irix])
1719
*irix6*) AC_DEFINE(IRIX6,1,[Whether the host os is irix6])
1723
LDSHFLAGS="-set_version sgi1.0 -shared"
1724
SONAMEFLAG="-soname "
1726
if test "${GCC}" = "yes"; then
1731
AC_DEFINE(STAT_ST_BLOCKSIZE,512,[The size of a block])
1733
*aix*) AC_DEFINE(AIX,1,[Whether the host os is aix])
1735
LDSHFLAGS="-Wl,-G,-bexpall"
1736
DYNEXP="-Wl,-brtl,-bexpall,-bbigtoc"
1738
# as AIX code is always position independent...
1739
# .po will just create compile warnings, use po.o:
1741
if test "${GCC}" != "yes"; then
1742
## for funky AIX compiler using strncpy()
1743
CFLAGS="$CFLAGS -D_LINUX_SOURCE_COMPAT -qmaxmem=32000"
1746
AC_DEFINE(STAT_ST_BLOCKSIZE,DEV_BSIZE,[The size of a block])
1747
AC_DEFINE(BROKEN_STRNLEN,1,[Does strnlen work correctly])
1748
AC_DEFINE(BROKEN_STRNDUP,1,[Does strndup work correctly])
1750
*hpux*) AC_DEFINE(HPUX,1,[Whether the host os is HPUX])
1751
# Use special PIC flags for the native HP-UX compiler.
1752
if test $ac_cv_prog_cc_Ae = yes; then
1755
LDSHFLAGS="-b -Wl,-B,symbolic,-b,-z"
1756
SONAMEFLAG="-Wl,+h "
1758
elif test "${GCC}" = "yes"; then
1761
if test "$host_cpu" = "ia64"; then
1763
DYNEXP="-Wl,-E,+b/usr/local/lib/hpux32:/usr/lib/hpux32"
1766
DYNEXP="-Wl,-E,+b/usr/local/lib:/usr/lib"
1768
AC_DEFINE(STAT_ST_BLOCKSIZE,8192,[The size of a block])
1769
AC_DEFINE(POSIX_ACL_NEEDS_MASK,1,[Does a POSIX ACL need a mask element])
1771
*qnx*) AC_DEFINE(QNX,1,[Whether the host os is qnx])
1772
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
1774
*osf*) AC_DEFINE(OSF1,1,[Whether the host os is osf1])
1777
SONAMEFLAG="-Wl,-soname,"
1779
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
1780
AC_DEFINE(BROKEN_GETGRNAM,1,[Does getgrnam work correctly])
1782
*sco*) AC_DEFINE(SCO,1,[Whether the host os is sco unix])
1783
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
1785
*unixware*) AC_DEFINE(UNIXWARE,1,[Whether the host os is unixware])
1788
SONAMEFLAG="-Wl,-soname,"
1790
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
1792
*next2*) AC_DEFINE(NEXT2,1,[Whether the host os is NeXT v2])
1793
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
1795
*dgux*) AC_CHECK_PROG( ROFF, groff, [groff -etpsR -Tascii -man])
1796
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
1798
*sysv4*) AC_DEFINE(SYSV,1,[Whether this is a system V system])
1800
*-univel-*) if [ test "$GCC" != yes ]; then
1801
AC_DEFINE(HAVE_MEMSET,1,[Whether memset() is available])
1806
*mips-sni-sysv4*) AC_DEFINE(RELIANTUNIX,1,[Whether the host os is reliantunix]);;
1808
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
1811
*sysv5*) AC_DEFINE(SYSV,1,[Whether this is a system V system])
1812
if [ test "$GCC" != yes ]; then
1813
AC_DEFINE(HAVE_MEMSET,1,[Whether memset() is available])
1816
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
1818
*vos*) AC_DEFINE(STAT_ST_BLOCKSIZE,4096)
1823
*darwin*) AC_DEFINE(DARWINOS,1,[Whether the host os is Darwin/MacOSX])
1825
LDSHFLAGS="-bundle -flat_namespace -undefined suppress"
1827
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
1831
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
1835
AC_MSG_RESULT($BLDSHARED)
1836
AC_MSG_CHECKING([linker flags for shared libraries])
1837
AC_MSG_RESULT([$LDSHFLAGS])
1838
AC_MSG_CHECKING([compiler flags for position-independent code])
1839
AC_MSG_RESULT([$PICFLAGS])
1842
#######################################################
1843
# test whether building a shared library actually works
1844
if test $BLDSHARED = true; then
1845
AC_CACHE_CHECK([whether building shared libraries actually works],
1846
[ac_cv_shlib_works],[
1847
# try building a trivial shared library
1848
ac_cv_shlib_works=no
1849
# The $SHLD and $LDSHFLAGS variables may contain references to other
1850
# variables so they need to be eval'ed.
1851
$CC $CPPFLAGS $CFLAGS $PICFLAGS -c -o \
1852
shlib.$PICSUFFIX ${srcdir-.}/tests/shlib.c && \
1853
`eval echo $SHLD` `eval echo $LDSHFLAGS` -o "shlib.$SHLIBEXT" \
1854
shlib.$PICSUFFIX && ac_cv_shlib_works=yes
1855
rm -f "shlib.$SHLIBEXT" shlib.$PICSUFFIX
1857
if test $ac_cv_shlib_works = no; then
1864
AC_CACHE_CHECK([for long long],samba_cv_have_longlong,[
1865
AC_TRY_RUN([#include <stdio.h>
1866
main() { long long x = 1000000; x *= x; exit(((x/1000000) == 1000000)? 0: 1); }],
1867
samba_cv_have_longlong=yes,samba_cv_have_longlong=no,samba_cv_have_longlong=cross)])
1868
if test x"$samba_cv_have_longlong" = x"yes"; then
1869
AC_DEFINE(HAVE_LONGLONG,1,[Whether the host supports long long's])
1870
AC_CHECK_TYPE(intptr_t, unsigned long long)
1872
AC_CHECK_TYPE(intptr_t, unsigned long)
1876
# Check if the compiler supports the LL prefix on long long integers.
1879
AC_CACHE_CHECK([for LL suffix on long long integers],samba_cv_compiler_supports_ll, [
1880
AC_TRY_COMPILE([#include <stdio.h>],[long long i = 0x8000000000LL],
1881
samba_cv_compiler_supports_ll=yes,samba_cv_compiler_supports_ll=no)])
1882
if test x"$samba_cv_compiler_supports_ll" = x"yes"; then
1883
AC_DEFINE(COMPILER_SUPPORTS_LL,1,[Whether the compiler supports the LL prefix on long long integers])
1887
AC_CACHE_CHECK([for 64 bit off_t],samba_cv_SIZEOF_OFF_T,[
1888
AC_TRY_RUN([#include <stdio.h>
1889
#include <sys/stat.h>
1890
main() { exit((sizeof(off_t) == 8) ? 0 : 1); }],
1891
samba_cv_SIZEOF_OFF_T=yes,samba_cv_SIZEOF_OFF_T=no,samba_cv_SIZEOF_OFF_T=cross)])
1892
if test x"$samba_cv_SIZEOF_OFF_T" = x"yes"; then
1893
AC_DEFINE(SIZEOF_OFF_T,8,[The size of the 'off_t' type])
1896
AC_CACHE_CHECK([for off64_t],samba_cv_HAVE_OFF64_T,[
1898
#if defined(HAVE_UNISTD_H)
1902
#include <sys/stat.h>
1903
main() { struct stat64 st; off64_t s; if (sizeof(off_t) == sizeof(off64_t)) exit(1); exit((lstat64("/dev/null", &st)==0)?0:1); }],
1904
samba_cv_HAVE_OFF64_T=yes,samba_cv_HAVE_OFF64_T=no,samba_cv_HAVE_OFF64_T=cross)])
1905
if test x"$samba_cv_HAVE_OFF64_T" = x"yes"; then
1906
AC_DEFINE(HAVE_OFF64_T,1,[Whether off64_t is available])
1909
AC_CACHE_CHECK([for 64 bit ino_t],samba_cv_SIZEOF_INO_T,[
1911
#if defined(HAVE_UNISTD_H)
1915
#include <sys/stat.h>
1916
main() { exit((sizeof(ino_t) == 8) ? 0 : 1); }],
1917
samba_cv_SIZEOF_INO_T=yes,samba_cv_SIZEOF_INO_T=no,samba_cv_SIZEOF_INO_T=cross)])
1918
if test x"$samba_cv_SIZEOF_INO_T" = x"yes"; then
1919
AC_DEFINE(SIZEOF_INO_T,8,[The size of the 'ino_t' type])
1922
AC_CACHE_CHECK([for ino64_t],samba_cv_HAVE_INO64_T,[
1924
#if defined(HAVE_UNISTD_H)
1928
#include <sys/stat.h>
1929
main() { struct stat64 st; ino64_t s; if (sizeof(ino_t) == sizeof(ino64_t)) exit(1); exit((lstat64("/dev/null", &st)==0)?0:1); }],
1930
samba_cv_HAVE_INO64_T=yes,samba_cv_HAVE_INO64_T=no,samba_cv_HAVE_INO64_T=cross)])
1931
if test x"$samba_cv_HAVE_INO64_T" = x"yes"; then
1932
AC_DEFINE(HAVE_INO64_T,1,[Whether the 'ino64_t' type is available])
1935
AC_CACHE_CHECK([for 64 bit dev_t],samba_cv_SIZEOF_DEV_T,[
1937
#if defined(HAVE_UNISTD_H)
1941
#include <sys/stat.h>
1942
main() { exit((sizeof(dev_t) == 8) ? 0 : 1); }],
1943
samba_cv_SIZEOF_DEV_T=yes,samba_cv_SIZEOF_DEV_T=no,samba_cv_SIZEOF_DEV_T=cross)])
1944
if test x"$samba_cv_SIZEOF_DEV_T" = x"yes"; then
1945
AC_DEFINE(SIZEOF_DEV_T,8,[The size of the 'dev_t' type])
1948
AC_CACHE_CHECK([for dev64_t],samba_cv_HAVE_DEV64_T,[
1950
#if defined(HAVE_UNISTD_H)
1954
#include <sys/stat.h>
1955
main() { struct stat64 st; dev64_t s; if (sizeof(dev_t) == sizeof(dev64_t)) exit(1); exit((lstat64("/dev/null", &st)==0)?0:1); }],
1956
samba_cv_HAVE_DEV64_T=yes,samba_cv_HAVE_DEV64_T=no,samba_cv_HAVE_DEV64_T=cross)])
1957
if test x"$samba_cv_HAVE_DEV64_T" = x"yes"; then
1958
AC_DEFINE(HAVE_DEV64_T,1,[Whether the 'dev64_t' type is available])
1961
AC_CACHE_CHECK([for struct dirent64],samba_cv_HAVE_STRUCT_DIR64,[
1963
#if defined(HAVE_UNISTD_H)
1966
#include <sys/types.h>
1967
#include <dirent.h>],
1969
samba_cv_HAVE_STRUCT_DIR64=yes,samba_cv_HAVE_STRUCT_DIR64=no)])
1970
if test x"$samba_cv_HAVE_STRUCT_DIR64" = x"yes" && test x"$ac_cv_func_readdir64" = x"yes"; then
1971
AC_DEFINE(HAVE_STRUCT_DIR64,1,[Whether the 'DIR64' abstract data type is available])
1974
AC_CACHE_CHECK([for struct dirent64],samba_cv_HAVE_STRUCT_DIRENT64,[
1976
#if defined(HAVE_UNISTD_H)
1979
#include <sys/types.h>
1980
#include <dirent.h>],
1981
[struct dirent64 de;],
1982
samba_cv_HAVE_STRUCT_DIRENT64=yes,samba_cv_HAVE_STRUCT_DIRENT64=no)])
1983
if test x"$samba_cv_HAVE_STRUCT_DIRENT64" = x"yes" && test x"$ac_cv_func_readdir64" = x"yes"; then
1984
AC_DEFINE(HAVE_STRUCT_DIRENT64,1,[Whether the 'dirent64' struct is available])
1987
AC_CACHE_CHECK([for major macro],samba_cv_HAVE_DEVICE_MAJOR_FN,[
1989
#if defined(HAVE_UNISTD_H)
1992
#include <sys/types.h>
1993
main() { dev_t dev; int i = major(dev); return 0; }],
1994
samba_cv_HAVE_DEVICE_MAJOR_FN=yes,samba_cv_HAVE_DEVICE_MAJOR_FN=no,samba_cv_HAVE_DEVICE_MAJOR_FN=cross)])
1995
if test x"$samba_cv_HAVE_DEVICE_MAJOR_FN" = x"yes"; then
1996
AC_DEFINE(HAVE_DEVICE_MAJOR_FN,1,[Whether the major macro for dev_t is available])
1999
AC_CACHE_CHECK([for minor macro],samba_cv_HAVE_DEVICE_MINOR_FN,[
2001
#if defined(HAVE_UNISTD_H)
2004
#include <sys/types.h>
2005
main() { dev_t dev; int i = minor(dev); return 0; }],
2006
samba_cv_HAVE_DEVICE_MINOR_FN=yes,samba_cv_HAVE_DEVICE_MINOR_FN=no,samba_cv_HAVE_DEVICE_MINOR_FN=cross)])
2007
if test x"$samba_cv_HAVE_DEVICE_MINOR_FN" = x"yes"; then
2008
AC_DEFINE(HAVE_DEVICE_MINOR_FN,1,[Whether the minor macro for dev_t is available])
2011
AC_CACHE_CHECK([for makedev macro],samba_cv_HAVE_MAKEDEV,[
2013
#if defined(HAVE_UNISTD_H)
2016
#include <sys/types.h>
2017
main() { dev_t dev = makedev(1,2); return 0; }],
2018
samba_cv_HAVE_MAKEDEV=yes,samba_cv_HAVE_MAKEDEV=no,samba_cv_HAVE_MAKEDEV=cross)])
2019
if test x"$samba_cv_HAVE_MAKEDEV" = x"yes"; then
2020
AC_DEFINE(HAVE_MAKEDEV,1,[Whether the macro for makedev is available])
2023
AC_CACHE_CHECK([for unsigned char],samba_cv_HAVE_UNSIGNED_CHAR,[
2024
AC_TRY_RUN([#include <stdio.h>
2025
main() { char c; c=250; exit((c > 0)?0:1); }],
2026
samba_cv_HAVE_UNSIGNED_CHAR=yes,samba_cv_HAVE_UNSIGNED_CHAR=no,samba_cv_HAVE_UNSIGNED_CHAR=cross)])
2027
if test x"$samba_cv_HAVE_UNSIGNED_CHAR" = x"yes"; then
2028
AC_DEFINE(HAVE_UNSIGNED_CHAR,1,[Whether the 'unsigned char' type is available])
2031
AC_CACHE_CHECK([for sin_len in sock],samba_cv_HAVE_SOCK_SIN_LEN,[
2032
AC_TRY_COMPILE([#include <sys/types.h>
2033
#include <sys/socket.h>
2034
#include <netinet/in.h>],
2035
[struct sockaddr_in sock; sock.sin_len = sizeof(sock);],
2036
samba_cv_HAVE_SOCK_SIN_LEN=yes,samba_cv_HAVE_SOCK_SIN_LEN=no)])
2037
if test x"$samba_cv_HAVE_SOCK_SIN_LEN" = x"yes"; then
2038
AC_DEFINE(HAVE_SOCK_SIN_LEN,1,[Whether the sockaddr_in struct has a sin_len property])
2041
AC_CACHE_CHECK([whether seekdir returns void],samba_cv_SEEKDIR_RETURNS_VOID,[
2042
AC_TRY_COMPILE([#include <sys/types.h>
2044
void seekdir(DIR *d, long loc) { return; }],[return 0;],
2045
samba_cv_SEEKDIR_RETURNS_VOID=yes,samba_cv_SEEKDIR_RETURNS_VOID=no)])
2046
if test x"$samba_cv_SEEKDIR_RETURNS_VOID" = x"yes"; then
2047
AC_DEFINE(SEEKDIR_RETURNS_VOID,1,[Whether seekdir returns void])
2050
AC_CACHE_CHECK([for __FUNCTION__ macro],samba_cv_HAVE_FUNCTION_MACRO,[
2051
AC_TRY_COMPILE([#include <stdio.h>], [printf("%s\n", __FUNCTION__);],
2052
samba_cv_HAVE_FUNCTION_MACRO=yes,samba_cv_HAVE_FUNCTION_MACRO=no)])
2053
if test x"$samba_cv_HAVE_FUNCTION_MACRO" = x"yes"; then
2054
AC_DEFINE(HAVE_FUNCTION_MACRO,1,[Whether there is a __FUNCTION__ macro])
2057
AC_CACHE_CHECK([if gettimeofday takes tz argument],samba_cv_HAVE_GETTIMEOFDAY_TZ,[
2059
#include <sys/time.h>
2061
main() { struct timeval tv; exit(gettimeofday(&tv, NULL));}],
2062
samba_cv_HAVE_GETTIMEOFDAY_TZ=yes,samba_cv_HAVE_GETTIMEOFDAY_TZ=no,samba_cv_HAVE_GETTIMEOFDAY_TZ=cross)])
2063
if test x"$samba_cv_HAVE_GETTIMEOFDAY_TZ" = x"yes"; then
2064
AC_DEFINE(HAVE_GETTIMEOFDAY_TZ,1,[Whether gettimeofday() is available])
2067
if test x"$samba_cv_WITH_PROFILE" = x"yes"; then
2069
# On some systems (eg. Linux) librt can pull in libpthread. We
2070
# don't want this to happen because libpthreads changes signal delivery
2071
# semantics in ways we are not prepared for. This breaks Linux oplocks
2072
# which rely on signals.
2074
AC_LIBTESTFUNC(rt, clock_gettime,
2076
AC_DEFINE(HAVE_CLOCK_GETTIME, 1,
2077
[Whether clock_gettime is available])
2078
SMB_CHECK_CLOCK_ID(CLOCK_MONOTONIC)
2079
SMB_CHECK_CLOCK_ID(CLOCK_PROCESS_CPUTIME_ID)
2080
SMB_CHECK_CLOCK_ID(CLOCK_REALTIME)
2085
AC_CACHE_CHECK([for va_copy],samba_cv_HAVE_VA_COPY,[
2086
AC_TRY_LINK([#include <stdarg.h>
2087
va_list ap1,ap2;], [va_copy(ap1,ap2);],
2088
samba_cv_HAVE_VA_COPY=yes,
2089
samba_cv_HAVE_VA_COPY=no)])
2090
if test x"$samba_cv_HAVE_VA_COPY" = x"yes"; then
2091
AC_DEFINE(HAVE_VA_COPY,1,[Whether va_copy() is available])
2093
AC_CACHE_CHECK([for __va_copy],samba_cv_HAVE___VA_COPY,[
2094
AC_TRY_LINK([#include <stdarg.h>
2095
va_list ap1,ap2;], [__va_copy(ap1,ap2);],
2096
samba_cv_HAVE___VA_COPY=yes,
2097
samba_cv_HAVE___VA_COPY=no)])
2098
if test x"$samba_cv_HAVE___VA_COPY" = x"yes"; then
2099
AC_DEFINE(HAVE___VA_COPY,1,[Whether __va_copy() is available])
2103
AC_CACHE_CHECK([for C99 vsnprintf],samba_cv_HAVE_C99_VSNPRINTF,[
2105
#include <sys/types.h>
2107
void foo(const char *format, ...) {
2112
va_start(ap, format);
2113
len = vsnprintf(buf, 0, format, ap);
2115
if (len != 5) exit(1);
2117
va_start(ap, format);
2118
len = vsnprintf(0, 0, format, ap);
2120
if (len != 5) exit(1);
2122
if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
2126
main() { foo("hello"); }
2128
samba_cv_HAVE_C99_VSNPRINTF=yes,samba_cv_HAVE_C99_VSNPRINTF=no,samba_cv_HAVE_C99_VSNPRINTF=cross)])
2129
if test x"$samba_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
2130
AC_DEFINE(HAVE_C99_VSNPRINTF,1,[Whether there is a C99 compliant vsnprintf])
2133
AC_CACHE_CHECK([for broken readdir name],samba_cv_HAVE_BROKEN_READDIR_NAME,[
2134
AC_TRY_RUN([#include <sys/types.h>
2136
main() { struct dirent *di; DIR *d = opendir("."); di = readdir(d);
2137
if (di && di->d_name[-2] == '.' && di->d_name[-1] == 0 &&
2138
di->d_name[0] == 0) exit(0); exit(1);} ],
2139
samba_cv_HAVE_BROKEN_READDIR_NAME=yes,samba_cv_HAVE_BROKEN_READDIR_NAME=no,samba_cv_HAVE_BROKEN_READDIR_NAME=cross)])
2140
if test x"$samba_cv_HAVE_BROKEN_READDIR_NAME" = x"yes"; then
2141
AC_DEFINE(HAVE_BROKEN_READDIR_NAME,1,[Whether readdir() returns the wrong name offset])
2144
AC_CACHE_CHECK([for utimbuf],samba_cv_HAVE_UTIMBUF,[
2145
AC_TRY_COMPILE([#include <sys/types.h>
2146
#include <utime.h>],
2147
[struct utimbuf tbuf; tbuf.actime = 0; tbuf.modtime = 1; exit(utime("foo.c",&tbuf));],
2148
samba_cv_HAVE_UTIMBUF=yes,samba_cv_HAVE_UTIMBUF=no,samba_cv_HAVE_UTIMBUF=cross)])
2149
if test x"$samba_cv_HAVE_UTIMBUF" = x"yes"; then
2150
AC_DEFINE(HAVE_UTIMBUF,1,[Whether struct utimbuf is available])
2154
# Check utmp details, but only if our OS offers utmp.h
2155
if test x"$ac_cv_header_utmp_h" = x"yes"; then
2156
dnl utmp and utmpx come in many flavours
2157
dnl We need to check for many of them
2158
dnl But we don't need to do each and every one, because our code uses
2159
dnl mostly just the utmp (not utmpx) fields.
2161
AC_CHECK_FUNCS(pututline pututxline updwtmp updwtmpx getutmpx)
2163
AC_CACHE_CHECK([for ut_name in utmp],samba_cv_HAVE_UT_UT_NAME,[
2164
AC_TRY_COMPILE([#include <sys/types.h>
2166
[struct utmp ut; ut.ut_name[0] = 'a';],
2167
samba_cv_HAVE_UT_UT_NAME=yes,samba_cv_HAVE_UT_UT_NAME=no,samba_cv_HAVE_UT_UT_NAME=cross)])
2168
if test x"$samba_cv_HAVE_UT_UT_NAME" = x"yes"; then
2169
AC_DEFINE(HAVE_UT_UT_NAME,1,[Whether the utmp struct has a property ut_name])
2172
AC_CACHE_CHECK([for ut_user in utmp],samba_cv_HAVE_UT_UT_USER,[
2173
AC_TRY_COMPILE([#include <sys/types.h>
2175
[struct utmp ut; ut.ut_user[0] = 'a';],
2176
samba_cv_HAVE_UT_UT_USER=yes,samba_cv_HAVE_UT_UT_USER=no,samba_cv_HAVE_UT_UT_USER=cross)])
2177
if test x"$samba_cv_HAVE_UT_UT_USER" = x"yes"; then
2178
AC_DEFINE(HAVE_UT_UT_USER,1,[Whether the utmp struct has a property ut_user])
2181
AC_CACHE_CHECK([for ut_id in utmp],samba_cv_HAVE_UT_UT_ID,[
2182
AC_TRY_COMPILE([#include <sys/types.h>
2184
[struct utmp ut; ut.ut_id[0] = 'a';],
2185
samba_cv_HAVE_UT_UT_ID=yes,samba_cv_HAVE_UT_UT_ID=no,samba_cv_HAVE_UT_UT_ID=cross)])
2186
if test x"$samba_cv_HAVE_UT_UT_ID" = x"yes"; then
2187
AC_DEFINE(HAVE_UT_UT_ID,1,[Whether the utmp struct has a property ut_id])
2190
AC_CACHE_CHECK([for ut_host in utmp],samba_cv_HAVE_UT_UT_HOST,[
2191
AC_TRY_COMPILE([#include <sys/types.h>
2193
[struct utmp ut; ut.ut_host[0] = 'a';],
2194
samba_cv_HAVE_UT_UT_HOST=yes,samba_cv_HAVE_UT_UT_HOST=no,samba_cv_HAVE_UT_UT_HOST=cross)])
2195
if test x"$samba_cv_HAVE_UT_UT_HOST" = x"yes"; then
2196
AC_DEFINE(HAVE_UT_UT_HOST,1,[Whether the utmp struct has a property ut_host])
2199
AC_CACHE_CHECK([for ut_time in utmp],samba_cv_HAVE_UT_UT_TIME,[
2200
AC_TRY_COMPILE([#include <sys/types.h>
2202
[struct utmp ut; time_t t; ut.ut_time = t;],
2203
samba_cv_HAVE_UT_UT_TIME=yes,samba_cv_HAVE_UT_UT_TIME=no,samba_cv_HAVE_UT_UT_TIME=cross)])
2204
if test x"$samba_cv_HAVE_UT_UT_TIME" = x"yes"; then
2205
AC_DEFINE(HAVE_UT_UT_TIME,1,[Whether the utmp struct has a property ut_time])
2208
AC_CACHE_CHECK([for ut_tv in utmp],samba_cv_HAVE_UT_UT_TV,[
2209
AC_TRY_COMPILE([#include <sys/types.h>
2211
[struct utmp ut; struct timeval tv; ut.ut_tv = tv;],
2212
samba_cv_HAVE_UT_UT_TV=yes,samba_cv_HAVE_UT_UT_TV=no,samba_cv_HAVE_UT_UT_TV=cross)])
2213
if test x"$samba_cv_HAVE_UT_UT_TV" = x"yes"; then
2214
AC_DEFINE(HAVE_UT_UT_TV,1,[Whether the utmp struct has a property ut_tv])
2217
AC_CACHE_CHECK([for ut_type in utmp],samba_cv_HAVE_UT_UT_TYPE,[
2218
AC_TRY_COMPILE([#include <sys/types.h>
2220
[struct utmp ut; ut.ut_type = 0;],
2221
samba_cv_HAVE_UT_UT_TYPE=yes,samba_cv_HAVE_UT_UT_TYPE=no,samba_cv_HAVE_UT_UT_TYPE=cross)])
2222
if test x"$samba_cv_HAVE_UT_UT_TYPE" = x"yes"; then
2223
AC_DEFINE(HAVE_UT_UT_TYPE,1,[Whether the utmp struct has a property ut_type])
2226
AC_CACHE_CHECK([for ut_pid in utmp],samba_cv_HAVE_UT_UT_PID,[
2227
AC_TRY_COMPILE([#include <sys/types.h>
2229
[struct utmp ut; ut.ut_pid = 0;],
2230
samba_cv_HAVE_UT_UT_PID=yes,samba_cv_HAVE_UT_UT_PID=no,samba_cv_HAVE_UT_UT_PID=cross)])
2231
if test x"$samba_cv_HAVE_UT_UT_PID" = x"yes"; then
2232
AC_DEFINE(HAVE_UT_UT_PID,1,[Whether the utmp struct has a property ut_pid])
2235
AC_CACHE_CHECK([for ut_exit in utmp],samba_cv_HAVE_UT_UT_EXIT,[
2236
AC_TRY_COMPILE([#include <sys/types.h>
2238
[struct utmp ut; ut.ut_exit.e_exit = 0;],
2239
samba_cv_HAVE_UT_UT_EXIT=yes,samba_cv_HAVE_UT_UT_EXIT=no,samba_cv_HAVE_UT_UT_EXIT=cross)])
2240
if test x"$samba_cv_HAVE_UT_UT_EXIT" = x"yes"; then
2241
AC_DEFINE(HAVE_UT_UT_EXIT,1,[Whether the utmp struct has a property ut_exit])
2244
AC_CACHE_CHECK([for ut_addr in utmp],samba_cv_HAVE_UT_UT_ADDR,[
2245
AC_TRY_COMPILE([#include <sys/types.h>
2247
[struct utmp ut; ut.ut_addr = 0;],
2248
samba_cv_HAVE_UT_UT_ADDR=yes,samba_cv_HAVE_UT_UT_ADDR=no,samba_cv_HAVE_UT_UT_ADDR=cross)])
2249
if test x"$samba_cv_HAVE_UT_UT_ADDR" = x"yes"; then
2250
AC_DEFINE(HAVE_UT_UT_ADDR,1,[Whether the utmp struct has a property ut_addr])
2253
if test x$ac_cv_func_pututline = xyes ; then
2254
AC_CACHE_CHECK([whether pututline returns pointer],samba_cv_PUTUTLINE_RETURNS_UTMP,[
2255
AC_TRY_COMPILE([#include <sys/types.h>
2257
[struct utmp utarg; struct utmp *utreturn; utreturn = pututline(&utarg);],
2258
samba_cv_PUTUTLINE_RETURNS_UTMP=yes,samba_cv_PUTUTLINE_RETURNS_UTMP=no)])
2259
if test x"$samba_cv_PUTUTLINE_RETURNS_UTMP" = x"yes"; then
2260
AC_DEFINE(PUTUTLINE_RETURNS_UTMP,1,[Whether pututline returns pointer])
2264
AC_CACHE_CHECK([for ut_syslen in utmpx],samba_cv_HAVE_UX_UT_SYSLEN,[
2265
AC_TRY_COMPILE([#include <sys/types.h>
2266
#include <utmpx.h>],
2267
[struct utmpx ux; ux.ut_syslen = 0;],
2268
samba_cv_HAVE_UX_UT_SYSLEN=yes,samba_cv_HAVE_UX_UT_SYSLEN=no,samba_cv_HAVE_UX_UT_SYSLEN=cross)])
2269
if test x"$samba_cv_HAVE_UX_UT_SYSLEN" = x"yes"; then
2270
AC_DEFINE(HAVE_UX_UT_SYSLEN,1,[Whether the utmpx struct has a property ut_syslen])
2277
ICONV_LOCATION=standard
2278
LOOK_DIRS="/usr /usr/local /sw /opt"
2279
AC_ARG_WITH(libiconv,
2280
[ --with-libiconv=BASEDIR Use libiconv in BASEDIR/lib and BASEDIR/include (default=auto) ],
2282
if test "$withval" = "no" ; then
2283
AC_MSG_ERROR([argument to --with-libiconv must be a directory])
2285
if test "$withval" != "yes" ; then
2287
LOOK_DIRS="$withval"
2292
for i in $LOOK_DIRS ; do
2294
save_LDFLAGS=$LDFLAGS
2295
save_CPPFLAGS=$CPPFLAGS
2298
CPPFLAGS="$CPPFLAGS -I$i/include"
2299
dnl This is here to handle -withval stuff for --with-libiconv
2300
dnl Perhaps we should always add a -L
2302
dnl Check lib and lib32 library variants to cater for IRIX ABI-specific
2303
dnl installation paths. This gets a little tricky since we might have iconv
2304
dnl in both libiconv and in libc. In this case the jm_ICONV test will always
2305
dnl succeed when the header is found. To counter this, make sure the
2306
dnl library directory is there and check the ABI directory first (which
2307
dnl should be harmless on other systems.
2308
dnl For IA64 HPUX systems, the libs are located in lib/hpux32 instead of lib.
2309
for l in "lib32" "lib" "lib/hpux32"; do
2310
if test -d "$i/$l" ; then
2311
LDFLAGS="$save_LDFLAGS -L$i/$l"
2313
export LDFLAGS LIBS CPPFLAGS
2314
dnl Try to find iconv(3)
2316
if test x"$ICONV_FOUND" = "xyes" ; then
2323
if test x"$ICONV_FOUND" = "xyes" ; then
2324
LDFLAGS=$save_LDFLAGS
2325
LIB_ADD_DIR(LDFLAGS, "$i/$libext")
2326
CFLAGS_ADD_DIR(CPPFLAGS, "$i/include")
2329
export LDFLAGS LIBS CPPFLAGS
2330
dnl Now, check for a working iconv ... we want to do it here because
2331
dnl there might be a working iconv further down the list of LOOK_DIRS
2334
# check for iconv in libc
2335
ic_save_LIBS="$LIBS"
2336
if test x"$ICONV_PATH_SPEC" = "xyes" ; then
2337
LIBS="$LIBS -L$ICONV_LOCATION/$libext"
2339
if test x"$jm_cv_lib_iconv" != x; then
2340
LIBS="$LIBS -l$jm_cv_lib_iconv"
2342
dnl AC_CACHE_CHECK([for working iconv],samba_cv_HAVE_NATIVE_ICONV,[
2343
default_dos_charset=no
2344
default_display_charset=no
2345
default_unix_charset=no
2347
# check for default dos charset name
2348
for j in CP850 IBM850 ; do
2350
if test x"$ICONV_CHARSET" = x"$j"; then
2351
default_dos_charset="\"$j\""
2355
# check for default display charset name
2356
for j in ASCII 646 ; do
2358
if test x"$ICONV_CHARSET" = x"$j"; then
2359
default_display_charset="\"$j\""
2363
# check for default unix charset name
2364
for j in UTF-8 UTF8 ; do
2366
if test x"$ICONV_CHARSET" = x"$j"; then
2367
default_unix_charset="\"$j\""
2372
if test "$default_dos_charset" != "no" -a \
2373
"$default_dos_charset" != "cross" -a \
2374
"$default_display_charset" != "no" -a \
2375
"$default_display_charset" != "cross" -a \
2376
"$default_unix_charset" != "no" -a \
2377
"$default_unix_charset" != "cross"
2379
samba_cv_HAVE_NATIVE_ICONV=yes
2380
else if test "$default_dos_charset" = "cross" -o \
2381
"$default_display_charset" = "cross" -o \
2382
"$default_unix_charset" = "cross"
2384
samba_cv_HAVE_NATIVE_ICONV=cross
2386
samba_cv_HAVE_NATIVE_ICONV=no
2391
LIBS="$ic_save_LIBS"
2392
if test x"$samba_cv_HAVE_NATIVE_ICONV" = x"yes"; then
2393
CPPFLAGS=$save_CPPFLAGS
2394
LDFLAGS=$save_LDFLAGS
2396
if test x"$jm_cv_lib_iconv" != x; then
2397
LIBS="$LIBS -l$jm_cv_lib_iconv"
2399
dnl Add the flags we need to CPPFLAGS and LDFLAGS
2400
CFLAGS_ADD_DIR(CPPFLAGS, "$i/include")
2401
LIB_ADD_DIR(LDFLAGS, "$i/$libext")
2403
AC_DEFINE(HAVE_NATIVE_ICONV,1,[Whether to use native iconv])
2404
AC_DEFINE_UNQUOTED(DEFAULT_DOS_CHARSET,$default_dos_charset,[Default dos charset name])
2405
AC_DEFINE_UNQUOTED(DEFAULT_DISPLAY_CHARSET,$default_display_charset,[Default display charset name])
2406
AC_DEFINE_UNQUOTED(DEFAULT_UNIX_CHARSET,$default_unix_charset,[Default unix charset name])
2409
dnl We didn't find a working iconv, so keep going
2411
dnl We only need to clean these up here for the next pass through the loop
2412
CPPFLAGS=$save_CPPFLAGS
2413
LDFLAGS=$save_LDFLAGS
2415
export LDFLAGS LIBS CPPFLAGS
2420
if test x"$ICONV_FOUND" = x"no" -o x"$samba_cv_HAVE_NATIVE_ICONV" != x"yes" ; then
2421
AC_MSG_WARN([Sufficient support for iconv function was not found.
2422
Install libiconv from http://freshmeat.net/projects/libiconv/ for better charset compatibility!])
2423
AC_DEFINE_UNQUOTED(DEFAULT_DOS_CHARSET,"ASCII",[Default dos charset name])
2424
AC_DEFINE_UNQUOTED(DEFAULT_DISPLAY_CHARSET,"ASCII",[Default display charset name])
2425
AC_DEFINE_UNQUOTED(DEFAULT_UNIX_CHARSET,"UTF8",[Default unix charset name])
2429
AC_CACHE_CHECK([for Linux kernel oplocks],samba_cv_HAVE_KERNEL_OPLOCKS_LINUX,[
2431
#include <sys/types.h>
2434
#define F_GETLEASE 1025
2437
int fd = open("/dev/null", O_RDONLY);
2438
return fcntl(fd, F_GETLEASE, 0) == -1;
2441
samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes,samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=no,samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=cross)])
2442
if test x"$samba_cv_HAVE_KERNEL_OPLOCKS_LINUX" = x"yes"; then
2443
AC_DEFINE(HAVE_KERNEL_OPLOCKS_LINUX,1,[Whether to use linux kernel oplocks])
2446
AC_CACHE_CHECK([for kernel change notify support],samba_cv_HAVE_KERNEL_CHANGE_NOTIFY,[
2448
#include <sys/types.h>
2452
#define F_NOTIFY 1026
2455
exit(fcntl(open("/tmp", O_RDONLY), F_NOTIFY, 0) == -1 ? 1 : 0);
2458
samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes,samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=no,samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=cross)])
2459
if test x"$samba_cv_HAVE_KERNEL_CHANGE_NOTIFY" = x"yes"; then
2460
AC_DEFINE(HAVE_KERNEL_CHANGE_NOTIFY,1,[Whether kernel notifies changes])
2463
#################################################
2464
# Check if FAM notifications are available. For FAM info, see
2465
# http://oss.sgi.com/projects/fam/
2466
# http://savannah.nongnu.org/projects/fam/
2468
AC_CHECK_HEADERS(fam.h, [samba_cv_HAVE_FAM_H=yes], [samba_cv_HAVE_FAM_H=no])
2469
if test x"$samba_cv_HAVE_FAM_H" = x"yes"; then
2470
# On IRIX, libfam requires libC, but other FAM implementations might not
2472
AC_CHECK_LIB(fam, FAMOpen2,
2473
[samba_cv_HAVE_LIBFAM=yes; samba_fam_libs="-lfam"],
2474
[samba_cv_HAVE_LIBFAM=no])
2476
if test x"$samba_cv_HAVE_LIBFAM" = x"no" ; then
2478
AC_CHECK_LIB_EXT(fam, samba_fam_xtra, FAMOpen2,
2479
[samba_cv_HAVE_LIBFAM=yes; samba_fam_libs="-lfam -lC"],
2480
[samba_cv_HAVE_LIBFAM=no])
2481
unset samba_fam_xtra
2485
if test x"$samba_cv_HAVE_LIBFAM" = x"yes" ; then
2486
AC_DEFINE(HAVE_FAM_CHANGE_NOTIFY, 1,
2487
[Whether FAM is file notifications are available])
2488
AC_TRY_COMPILE([#include <fam.h>],
2489
[FAMCodes code = FAMChanged;],
2490
AC_DEFINE(HAVE_FAM_H_FAMCODES_TYPEDEF, 1,
2491
[Whether fam.h contains a typedef for enum FAMCodes]),
2495
#################################################
2496
# Check for DMAPI interfaces in libdm/libjfsdm/libxsdm
2498
SMB_CHECK_DMAPI([], AC_MSG_NOTICE(DMAPI support not present) )
2500
AC_CACHE_CHECK([for kernel share modes],samba_cv_HAVE_KERNEL_SHARE_MODES,[
2502
#include <sys/types.h>
2505
#include <sys/file.h>
2507
#define LOCK_MAND 32
2508
#define LOCK_READ 64
2511
exit(flock(open("/dev/null", O_RDWR), LOCK_MAND|LOCK_READ) != 0);
2514
samba_cv_HAVE_KERNEL_SHARE_MODES=yes,samba_cv_HAVE_KERNEL_SHARE_MODES=no,samba_cv_HAVE_KERNEL_SHARE_MODES=cross)])
2515
if test x"$samba_cv_HAVE_KERNEL_SHARE_MODES" = x"yes"; then
2516
AC_DEFINE(HAVE_KERNEL_SHARE_MODES,1,[Whether the kernel supports share modes])
2520
AC_CACHE_CHECK([for IRIX kernel oplock type definitions],samba_cv_HAVE_KERNEL_OPLOCKS_IRIX,[
2521
AC_TRY_COMPILE([#include <sys/types.h>
2522
#include <fcntl.h>],
2523
[oplock_stat_t t; t.os_state = OP_REVOKE; t.os_dev = 1; t.os_ino = 1;],
2524
samba_cv_HAVE_KERNEL_OPLOCKS_IRIX=yes,samba_cv_HAVE_KERNEL_OPLOCKS_IRIX=no)])
2525
if test x"$samba_cv_HAVE_KERNEL_OPLOCKS_IRIX" = x"yes"; then
2526
AC_DEFINE(HAVE_KERNEL_OPLOCKS_IRIX,1,[Whether IRIX kernel oplock type definitions are available])
2529
#################################################
2530
# Check for POSIX capability support
2532
AC_CHECK_HEADER(sys/capability.h, [samba_cv_HAVE_SYS_CAPABILITY_H=yes;
2533
AC_DEFINE(HAVE_SYS_CAPABILITY_H, 1, Whether sys/capability.h is present)],
2536
if test x"$samba_cv_HAVE_SYS_CAPABILITY_H" = x"yes"; then
2539
AC_LIBTESTFUNC(cap, cap_get_proc)
2541
AC_CACHE_CHECK([for POSIX capabilities],
2542
samba_cv_HAVE_POSIX_CAPABILITIES,
2545
#include <sys/types.h>
2546
#include <sys/capability.h>
2549
cap_value_t vals[1];
2550
if (!(cap = cap_get_proc()))
2552
vals[0] = CAP_CHOWN;
2553
cap_set_flag(cap, CAP_INHERITABLE, 1, vals, CAP_CLEAR);
2557
samba_cv_HAVE_POSIX_CAPABILITIES=yes,
2558
samba_cv_HAVE_POSIX_CAPABILITIES=no,
2559
samba_cv_HAVE_POSIX_CAPABILITIES=cross)
2562
if test x"$samba_cv_HAVE_POSIX_CAPABILITIES" = x"yes"; then
2563
AC_DEFINE(HAVE_POSIX_CAPABILITIES, 1,
2564
[Whether POSIX capabilities are available])
2572
# Check for int16, uint16, int32 and uint32 in rpc/types.h included from rpc/rpc.h
2573
# This is *really* broken but some systems (DEC OSF1) do this.... JRA.
2576
AC_CACHE_CHECK([for int16 typedef included by rpc/rpc.h],samba_cv_HAVE_INT16_FROM_RPC_RPC_H,[
2577
AC_TRY_COMPILE([#include <sys/types.h>
2578
#if defined(HAVE_RPC_RPC_H)
2579
#include <rpc/rpc.h>
2582
samba_cv_HAVE_INT16_FROM_RPC_RPC_H=yes,samba_cv_HAVE_INT16_FROM_RPC_RPC_H=no)])
2583
if test x"$samba_cv_HAVE_INT16_FROM_RPC_RPC_H" = x"yes"; then
2584
AC_DEFINE(HAVE_INT16_FROM_RPC_RPC_H,1,[Whether int16 typedef is included by rpc/rpc.h])
2587
AC_CACHE_CHECK([for uint16 typedef included by rpc/rpc.h],samba_cv_HAVE_UINT16_FROM_RPC_RPC_H,[
2588
AC_TRY_COMPILE([#include <sys/types.h>
2589
#if defined(HAVE_RPC_RPC_H)
2590
#include <rpc/rpc.h>
2593
samba_cv_HAVE_UINT16_FROM_RPC_RPC_H=yes,samba_cv_HAVE_UINT16_FROM_RPC_RPC_H=no)])
2594
if test x"$samba_cv_HAVE_UINT16_FROM_RPC_RPC_H" = x"yes"; then
2595
AC_DEFINE(HAVE_UINT16_FROM_RPC_RPC_H,1,[Whether uint16 typedef is included by rpc/rpc.h])
2598
AC_CACHE_CHECK([for int32 typedef included by rpc/rpc.h],samba_cv_HAVE_INT32_FROM_RPC_RPC_H,[
2599
AC_TRY_COMPILE([#include <sys/types.h>
2600
#if defined(HAVE_RPC_RPC_H)
2601
#include <rpc/rpc.h>
2604
samba_cv_HAVE_INT32_FROM_RPC_RPC_H=yes,samba_cv_HAVE_INT32_FROM_RPC_RPC_H=no)])
2605
if test x"$samba_cv_HAVE_INT32_FROM_RPC_RPC_H" = x"yes"; then
2606
AC_DEFINE(HAVE_INT32_FROM_RPC_RPC_H,1,[Whether int32 typedef is included by rpc/rpc.h])
2609
AC_CACHE_CHECK([for uint32 typedef included by rpc/rpc.h],samba_cv_HAVE_UINT32_FROM_RPC_RPC_H,[
2610
AC_TRY_COMPILE([#include <sys/types.h>
2611
#if defined(HAVE_RPC_RPC_H)
2612
#include <rpc/rpc.h>
2615
samba_cv_HAVE_UINT32_FROM_RPC_RPC_H=yes,samba_cv_HAVE_UINT32_FROM_RPC_RPC_H=no)])
2616
if test x"$samba_cv_HAVE_UINT32_FROM_RPC_RPC_H" = x"yes"; then
2617
AC_DEFINE(HAVE_UINT32_FROM_RPC_RPC_H,1,[Whether uint32 typedef is included by rpc/rpc.h])
2621
dnl Some systems (SCO) have a problem including
2622
dnl <prot.h> and <rpc/rpc.h> due to AUTH_ERROR being defined
2623
dnl as a #define in <prot.h> and as part of an enum
2627
AC_CACHE_CHECK([for conflicting AUTH_ERROR define in rpc/rpc.h],samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT,[
2628
AC_TRY_COMPILE([#include <sys/types.h>
2629
#ifdef HAVE_SYS_SECURITY_H
2630
#include <sys/security.h>
2632
#endif /* HAVE_SYS_SECURITY_H */
2633
#if defined(HAVE_RPC_RPC_H)
2634
#include <rpc/rpc.h>
2637
samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT=no,samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT=yes)])
2638
if test x"$samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT" = x"yes"; then
2639
AC_DEFINE(HAVE_RPC_AUTH_ERROR_CONFLICT,1,[Whether there is a conflicting AUTH_ERROR define in rpc/rpc.h])
2642
AC_MSG_CHECKING([for test routines])
2643
AC_TRY_RUN([#include "${srcdir-.}/tests/trivial.c"],
2645
AC_MSG_ERROR([cant find test code. Aborting config]),
2646
AC_MSG_WARN([cannot run when cross-compiling]))
2648
AC_CACHE_CHECK([for ftruncate extend],samba_cv_HAVE_FTRUNCATE_EXTEND,[
2649
AC_TRY_RUN([#include "${srcdir-.}/tests/ftruncate.c"],
2650
samba_cv_HAVE_FTRUNCATE_EXTEND=yes,samba_cv_HAVE_FTRUNCATE_EXTEND=no,samba_cv_HAVE_FTRUNCATE_EXTEND=cross)])
2651
if test x"$samba_cv_HAVE_FTRUNCATE_EXTEND" = x"yes"; then
2652
AC_DEFINE(HAVE_FTRUNCATE_EXTEND,1,[Truncate extend])
2655
AC_CACHE_CHECK([for AF_LOCAL socket support], samba_cv_HAVE_WORKING_AF_LOCAL, [
2656
AC_TRY_RUN([#include "${srcdir-.}/tests/unixsock.c"],
2657
samba_cv_HAVE_WORKING_AF_LOCAL=yes,
2658
samba_cv_HAVE_WORKING_AF_LOCAL=no,
2659
samba_cv_HAVE_WORKING_AF_LOCAL=cross)])
2660
if test x"$samba_cv_HAVE_WORKING_AF_LOCAL" != xno
2662
AC_DEFINE(HAVE_WORKING_AF_LOCAL, 1, [Define if you have working AF_LOCAL sockets])
2665
AC_CACHE_CHECK([for broken getgroups],samba_cv_HAVE_BROKEN_GETGROUPS,[
2666
AC_TRY_RUN([#include "${srcdir-.}/tests/getgroups.c"],
2667
samba_cv_HAVE_BROKEN_GETGROUPS=yes,samba_cv_HAVE_BROKEN_GETGROUPS=no,samba_cv_HAVE_BROKEN_GETGROUPS=cross)])
2668
if test x"$samba_cv_HAVE_BROKEN_GETGROUPS" = x"yes"; then
2669
AC_DEFINE(HAVE_BROKEN_GETGROUPS,1,[Whether getgroups is broken])
2672
AC_CACHE_CHECK([whether getpass should be replaced],samba_cv_REPLACE_GETPASS,[
2673
SAVE_CPPFLAGS="$CPPFLAGS"
2674
CPPFLAGS="$CPPFLAGS -I${srcdir-.}/ -I${srcdir-.}/include -I${srcdir-.}/ubiqx -I${srcdir-.}/popt"
2676
#define REPLACE_GETPASS 1
2677
#define NO_PROTO_H 1
2678
#define NO_CONFIG_H 1
2679
#define main dont_declare_main
2680
#include "${srcdir-.}/lib/getsmbpass.c"
2682
],[],samba_cv_REPLACE_GETPASS=yes,samba_cv_REPLACE_GETPASS=no)
2683
CPPFLAGS="$SAVE_CPPFLAGS"
2685
if test x"$samba_cv_REPLACE_GETPASS" = x"yes"; then
2686
AC_DEFINE(REPLACE_GETPASS,1,[Whether getpass should be replaced])
2689
AC_CACHE_CHECK([for broken inet_ntoa],samba_cv_REPLACE_INET_NTOA,[
2692
#include <sys/types.h>
2693
#include <netinet/in.h>
2694
#ifdef HAVE_ARPA_INET_H
2695
#include <arpa/inet.h>
2697
main() { struct in_addr ip; ip.s_addr = 0x12345678;
2698
if (strcmp(inet_ntoa(ip),"18.52.86.120") &&
2699
strcmp(inet_ntoa(ip),"120.86.52.18")) { exit(0); }
2701
samba_cv_REPLACE_INET_NTOA=yes,samba_cv_REPLACE_INET_NTOA=no,samba_cv_REPLACE_INET_NTOA=cross)])
2702
if test x"$samba_cv_REPLACE_INET_NTOA" = x"yes"; then
2703
AC_DEFINE(REPLACE_INET_NTOA,1,[Whether inet_ntoa should be replaced])
2706
AC_CACHE_CHECK([for secure mkstemp],samba_cv_HAVE_SECURE_MKSTEMP,[
2707
AC_TRY_RUN([#include <stdlib.h>
2708
#include <sys/types.h>
2709
#include <sys/stat.h>
2713
char tpl[20]="/tmp/test.XXXXXX";
2714
int fd = mkstemp(tpl);
2715
if (fd == -1) exit(1);
2717
if (fstat(fd, &st) != 0) exit(1);
2718
if ((st.st_mode & 0777) != 0600) exit(1);
2721
samba_cv_HAVE_SECURE_MKSTEMP=yes,
2722
samba_cv_HAVE_SECURE_MKSTEMP=no,
2723
samba_cv_HAVE_SECURE_MKSTEMP=cross)])
2724
if test x"$samba_cv_HAVE_SECURE_MKSTEMP" = x"yes"; then
2725
AC_DEFINE(HAVE_SECURE_MKSTEMP,1,[Whether mkstemp is secure])
2728
AC_CACHE_CHECK([for broken readdir],samba_cv_HAVE_BROKEN_READDIR,[
2729
AC_TRY_RUN([#include "${srcdir-.}/tests/os2_delete.c"],
2730
[samba_cv_HAVE_BROKEN_READDIR=no],
2731
[samba_cv_HAVE_BROKEN_READDIR=yes],
2732
[samba_cv_HAVE_BROKEN_READDIR="assuming not"])])
2734
if test x"$samba_cv_HAVE_BROKEN_READDIR" = x"yes"; then
2735
AC_CACHE_CHECK([for replacing readdir],samba_cv_REPLACE_READDIR,[
2737
#include "${srcdir-.}/lib/repdir.c"
2738
#include "${srcdir-.}/tests/os2_delete.c"],
2739
samba_cv_REPLACE_READDIR=yes,samba_cv_REPLACE_READDIR=no)])
2742
if test x"$samba_cv_REPLACE_READDIR" = x"yes"; then
2743
AC_DEFINE(REPLACE_READDIR,1,[replace readdir])
2746
SMB_CHECK_SYSCONF(_SC_NGROUPS_MAX)
2747
SMB_CHECK_SYSCONF(_SC_NPROC_ONLN)
2748
SMB_CHECK_SYSCONF(_SC_NPROCESSORS_ONLN)
2749
SMB_CHECK_SYSCONF(_SC_PAGESIZE)
2751
AC_CACHE_CHECK([for root],samba_cv_HAVE_ROOT,[
2752
AC_TRY_RUN([main() { exit(getuid() != 0); }],
2753
samba_cv_HAVE_ROOT=yes,samba_cv_HAVE_ROOT=no,samba_cv_HAVE_ROOT=cross)])
2754
if test x"$samba_cv_HAVE_ROOT" = x"yes"; then
2755
AC_DEFINE(HAVE_ROOT,1,[Whether current user is root])
2757
AC_MSG_WARN(running as non-root will disable some tests)
2761
# look for a method of finding the list of network interfaces
2763
AC_CACHE_CHECK([for iface AIX],samba_cv_HAVE_IFACE_AIX,[
2765
#define HAVE_IFACE_AIX 1
2766
#define AUTOCONF_TEST 1
2767
#include "confdefs.h"
2768
#include "${srcdir-.}/lib/interfaces.c"],
2769
samba_cv_HAVE_IFACE_AIX=yes,samba_cv_HAVE_IFACE_AIX=no,samba_cv_HAVE_IFACE_AIX=cross)])
2770
if test x"$samba_cv_HAVE_IFACE_AIX" = x"yes"; then
2771
iface=yes;AC_DEFINE(HAVE_IFACE_AIX,1,[Whether iface AIX is available])
2774
if test $iface = no; then
2775
AC_CACHE_CHECK([for iface ifconf],samba_cv_HAVE_IFACE_IFCONF,[
2777
#define HAVE_IFACE_IFCONF 1
2778
#define AUTOCONF_TEST 1
2779
#include "confdefs.h"
2780
#include "${srcdir-.}/lib/interfaces.c"],
2781
samba_cv_HAVE_IFACE_IFCONF=yes,samba_cv_HAVE_IFACE_IFCONF=no,samba_cv_HAVE_IFACE_IFCONF=cross)])
2782
if test x"$samba_cv_HAVE_IFACE_IFCONF" = x"yes"; then
2783
iface=yes;AC_DEFINE(HAVE_IFACE_IFCONF,1,[Whether iface ifconf is available])
2787
if test $iface = no; then
2788
AC_CACHE_CHECK([for iface ifreq],samba_cv_HAVE_IFACE_IFREQ,[
2790
#define HAVE_IFACE_IFREQ 1
2791
#define AUTOCONF_TEST 1
2792
#include "confdefs.h"
2793
#include "${srcdir-.}/lib/interfaces.c"],
2794
samba_cv_HAVE_IFACE_IFREQ=yes,samba_cv_HAVE_IFACE_IFREQ=no,samba_cv_HAVE_IFACE_IFREQ=cross)])
2795
if test x"$samba_cv_HAVE_IFACE_IFREQ" = x"yes"; then
2796
iface=yes;AC_DEFINE(HAVE_IFACE_IFREQ,1,[Whether iface ifreq is available])
2801
################################################
2802
# look for a method of setting the effective uid
2804
if test $seteuid = no; then
2805
AC_CACHE_CHECK([for setresuid],samba_cv_USE_SETRESUID,[
2807
#define AUTOCONF_TEST 1
2808
#define USE_SETRESUID 1
2809
#include "confdefs.h"
2810
#include "${srcdir-.}/lib/util_sec.c"],
2811
samba_cv_USE_SETRESUID=yes,samba_cv_USE_SETRESUID=no,samba_cv_USE_SETRESUID=cross)])
2812
if test x"$samba_cv_USE_SETRESUID" = x"yes"; then
2813
seteuid=yes;AC_DEFINE(USE_SETRESUID,1,[Whether setresuid() is available])
2818
if test $seteuid = no; then
2819
AC_CACHE_CHECK([for setreuid],samba_cv_USE_SETREUID,[
2821
#define AUTOCONF_TEST 1
2822
#define USE_SETREUID 1
2823
#include "confdefs.h"
2824
#include "${srcdir-.}/lib/util_sec.c"],
2825
samba_cv_USE_SETREUID=yes,samba_cv_USE_SETREUID=no,samba_cv_USE_SETREUID=cross)])
2826
if test x"$samba_cv_USE_SETREUID" = x"yes"; then
2827
seteuid=yes;AC_DEFINE(USE_SETREUID,1,[Whether setreuid() is available])
2831
if test $seteuid = no; then
2832
AC_CACHE_CHECK([for seteuid],samba_cv_USE_SETEUID,[
2834
#define AUTOCONF_TEST 1
2835
#define USE_SETEUID 1
2836
#include "confdefs.h"
2837
#include "${srcdir-.}/lib/util_sec.c"],
2838
samba_cv_USE_SETEUID=yes,samba_cv_USE_SETEUID=no,samba_cv_USE_SETEUID=cross)])
2839
if test x"$samba_cv_USE_SETEUID" = x"yes"; then
2840
seteuid=yes;AC_DEFINE(USE_SETEUID,1,[Whether seteuid() is available])
2844
if test $seteuid = no; then
2845
AC_CACHE_CHECK([for setuidx],samba_cv_USE_SETUIDX,[
2847
#define AUTOCONF_TEST 1
2848
#define USE_SETUIDX 1
2849
#include "confdefs.h"
2850
#include "${srcdir-.}/lib/util_sec.c"],
2851
samba_cv_USE_SETUIDX=yes,samba_cv_USE_SETUIDX=no,samba_cv_USE_SETUIDX=cross)])
2852
if test x"$samba_cv_USE_SETUIDX" = x"yes"; then
2853
seteuid=yes;AC_DEFINE(USE_SETUIDX,1,[Whether setuidx() is available])
2858
AC_CACHE_CHECK([for working mmap],samba_cv_HAVE_MMAP,[
2859
AC_TRY_RUN([#include "${srcdir-.}/tests/shared_mmap.c"],
2860
samba_cv_HAVE_MMAP=yes,samba_cv_HAVE_MMAP=no,samba_cv_HAVE_MMAP=cross)])
2861
if test x"$samba_cv_HAVE_MMAP" = x"yes"; then
2862
AC_DEFINE(HAVE_MMAP,1,[Whether mmap works])
2865
AC_CACHE_CHECK([for fcntl locking],samba_cv_HAVE_FCNTL_LOCK,[
2866
AC_TRY_RUN([#include "${srcdir-.}/tests/fcntl_lock.c"],
2867
samba_cv_HAVE_FCNTL_LOCK=yes,samba_cv_HAVE_FCNTL_LOCK=no,samba_cv_HAVE_FCNTL_LOCK=cross)])
2868
if test x"$samba_cv_HAVE_FCNTL_LOCK" = x"yes"; then
2869
AC_DEFINE(HAVE_FCNTL_LOCK,1,[Whether fcntl locking is available])
2872
AC_CACHE_CHECK([for broken (glibc2.1/x86) 64 bit fcntl locking],samba_cv_HAVE_BROKEN_FCNTL64_LOCKS,[
2873
AC_TRY_RUN([#include "${srcdir-.}/tests/fcntl_lock64.c"],
2874
samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=yes,samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=no,samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=cross)])
2875
if test x"$samba_cv_HAVE_BROKEN_FCNTL64_LOCKS" = x"yes"; then
2876
AC_DEFINE(HAVE_BROKEN_FCNTL64_LOCKS,1,[Whether fcntl64 locks are broken])
2881
dnl Don't check for 64 bit fcntl locking if we know that the
2882
dnl glibc2.1 broken check has succeeded.
2885
AC_CACHE_CHECK([for 64 bit fcntl locking],samba_cv_HAVE_STRUCT_FLOCK64,[
2887
#if defined(HAVE_UNISTD_H)
2897
#ifdef HAVE_SYS_FCNTL_H
2898
#include <sys/fcntl.h>
2900
main() { struct flock64 fl64;
2901
#if defined(F_SETLKW64) && defined(F_SETLK64) && defined(F_GETLK64)
2907
samba_cv_HAVE_STRUCT_FLOCK64=yes,samba_cv_HAVE_STRUCT_FLOCK64=no,samba_cv_HAVE_STRUCT_FLOCK64=cross)])
2909
if test x"$samba_cv_HAVE_STRUCT_FLOCK64" = x"yes"; then
2910
AC_DEFINE(HAVE_STRUCT_FLOCK64,1,[Whether the flock64 struct is available])
2914
AC_CACHE_CHECK([for st_blocks in struct stat],samba_cv_HAVE_STAT_ST_BLOCKS,[
2915
AC_TRY_COMPILE([#include <sys/types.h>
2916
#include <sys/stat.h>
2917
#include <unistd.h>],
2918
[struct stat st; st.st_blocks = 0;],
2919
samba_cv_HAVE_STAT_ST_BLOCKS=yes,samba_cv_HAVE_STAT_ST_BLOCKS=no,samba_cv_HAVE_STAT_ST_BLOCKS=cross)])
2920
if test x"$samba_cv_HAVE_STAT_ST_BLOCKS" = x"yes"; then
2921
AC_DEFINE(HAVE_STAT_ST_BLOCKS,1,[Whether the stat struct has a st_block property])
2924
AC_CACHE_CHECK([for st_blksize in struct stat],samba_cv_HAVE_STAT_ST_BLKSIZE,[
2925
AC_TRY_COMPILE([#include <sys/types.h>
2926
#include <sys/stat.h>
2927
#include <unistd.h>],
2928
[struct stat st; st.st_blksize = 0;],
2929
samba_cv_HAVE_STAT_ST_BLKSIZE=yes,samba_cv_HAVE_STAT_ST_BLKSIZE=no,samba_cv_HAVE_STAT_ST_BLKSIZE=cross)])
2930
if test x"$samba_cv_HAVE_STAT_ST_BLKSIZE" = x"yes"; then
2931
AC_DEFINE(HAVE_STAT_ST_BLKSIZE,1,[Whether the stat struct has a st_blksize property])
2936
AC_CACHE_CHECK([for broken RedHat 7.2 system header files],samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS,[
2938
#ifdef HAVE_SYS_VFS_H
2939
#include <sys/vfs.h>
2941
#ifdef HAVE_SYS_CAPABILITY_H
2942
#include <sys/capability.h>
2945
samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS=no,samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS=yes)])
2946
if test x"$samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS" = x"yes"; then
2947
AC_DEFINE(BROKEN_REDHAT_7_SYSTEM_HEADERS,1,[Broken RedHat 7.2 system header files])
2952
AC_CACHE_CHECK([for broken nisplus include files],samba_cv_BROKEN_NISPLUS_INCLUDE_FILES,[
2954
#include <sys/types.h>
2955
#include <sys/acl.h>
2956
#if defined(HAVE_RPCSVC_NIS_H)
2957
#include <rpcsvc/nis.h>
2960
samba_cv_BROKEN_NISPLUS_INCLUDE_FILES=no,samba_cv_BROKEN_NISPLUS_INCLUDE_FILES=yes)])
2961
if test x"$samba_cv_BROKEN_NISPLUS_INCLUDE_FILES" = x"yes"; then
2962
AC_DEFINE(BROKEN_NISPLUS_INCLUDE_FILES,1,[Whether the nisplus include files are broken])
2965
AC_CACHE_CHECK([if the realpath function allows a NULL argument],samba_cv_REALPATH_TAKES_NULL,[
2970
char *newpath = realpath("/tmp", NULL);
2971
exit ((newpath != NULL) ? 0 : 1);
2974
samba_cv_REALPATH_TAKES_NULL=yes,samba_cv_REALPATH_TAKES_NULL=no,samba_cv_REALPATH_TAKES_NULL=cross)])
2975
if test x"$samba_cv_REALPATH_TAKES_NULL" = x"yes"; then
2976
AC_DEFINE(REALPATH_TAKES_NULL,1,[Whether the realpath function allows NULL])
2979
#################################################
2980
# check for AFS clear-text auth support
2981
samba_cv_WITH_AFS=no
2982
AC_MSG_CHECKING(whether to use AFS clear-text auth)
2984
[ --with-afs Include AFS clear-text auth support (default=no) ],
2985
[ case "$withval" in
2987
AC_MSG_RESULT($withval)
2988
samba_cv_WITH_AFS=$withval
2997
####################################################
2998
# check for Linux-specific AFS fake-kaserver support
2999
samba_cv_WITH_FAKE_KASERVER=no
3000
AC_MSG_CHECKING(whether to use AFS fake-kaserver)
3001
AC_ARG_WITH(fake-kaserver,
3002
[ --with-fake-kaserver Include AFS fake-kaserver support (default=no) ],
3003
[ case "$withval" in
3005
AC_MSG_RESULT($withval)
3006
samba_cv_WITH_FAKE_KASERVER=$withval
3015
#################################################
3016
# decide whether we can support WITH_AFS and / or WITH_FAKE_KASERVER
3017
if test x"$samba_cv_WITH_AFS" != x"no" ||
3018
test x"$samba_cv_WITH_FAKE_KASERVER" != x"no"; then
3020
# see if this box has the afs-headers in /usr/include/afs
3021
AC_MSG_CHECKING(for /usr/include/afs)
3022
if test -d /usr/include/afs; then
3023
CFLAGS="$CFLAGS -I/usr/include/afs"
3024
CPPFLAGS="$CPPFLAGS -I/usr/include/afs"
3032
AC_CHECK_HEADERS(afs.h afs/afs.h)
3033
if test x"$ac_cv_header_afs_h" = x"no" && test x"$ac_cv_header_afs_afs_h" = x"no"; then
3034
if test x"$samba_cv_WITH_FAKE_KASERVER" = x"auto" ||
3035
test x"$samba_cv_WITH_AFS" = x"auto"; then
3036
AC_MSG_WARN([AFS cannot be supported without afs.h])
3038
AC_MSG_ERROR([AFS cannot be supported without afs.h])
3041
have_afs_headers=yes
3045
if test x"$samba_cv_WITH_FAKE_KASERVER" != x"no" && test x"$have_afs_headers" = x"yes"; then
3046
AC_DEFINE(WITH_FAKE_KASERVER,1,[Whether to include AFS fake-kaserver support])
3049
#################################################
3050
# check whether to compile AFS/NT ACL mapping module
3051
samba_cv_WITH_VFS_AFSACL=no
3052
AC_MSG_CHECKING(whether to use AFS ACL mapping module)
3053
AC_ARG_WITH(vfs-afsacl,
3054
[ --with-vfs-afsacl Include AFS to NT ACL mapping module (default=no) ],
3055
[ case "$withval" in
3057
AC_MSG_RESULT($withval)
3058
samba_cv_WITH_VFS_AFSACL=yes
3067
if test x"$samba_cv_WITH_VFS_AFSACL" = x"yes"; then
3068
default_shared_modules="$default_shared_modules vfs_afsacl"
3071
if test x"$samba_cv_WITH_AFS" != x"no" && test x"$have_afs_headers" = x"yes"; then
3072
AC_DEFINE(WITH_AFS,1,[Whether to include AFS clear-text auth support])
3075
#################################################
3076
# check for the DFS clear-text auth system
3077
AC_MSG_CHECKING(whether to use DFS clear-text auth)
3079
[ --with-dce-dfs Include DCE/DFS clear-text auth support (default=no)],
3080
[ case "$withval" in
3083
AC_DEFINE(WITH_DFS,1,[Whether to include DFS support])
3092
########################################################
3093
# Compile with LDAP support?
3095
with_ldap_support=auto
3096
AC_MSG_CHECKING([for LDAP support])
3099
[ --with-ldap LDAP support (default yes)],
3100
[ case "$withval" in
3102
with_ldap_support=$withval
3106
AC_MSG_RESULT($with_ldap_support)
3111
AC_SUBST(SMBLDAPUTIL)
3112
if test x"$with_ldap_support" != x"no"; then
3114
##################################################################
3115
# first test for ldap.h and lber.h
3116
# (ldap.h is required for this test)
3117
AC_CHECK_HEADERS(ldap.h lber.h)
3119
if test x"$ac_cv_header_ldap_h" != x"yes"; then
3120
if test x"$with_ldap_support" = x"yes"; then
3121
AC_MSG_ERROR(ldap.h is needed for LDAP support)
3123
AC_MSG_WARN(ldap.h is needed for LDAP support)
3126
with_ldap_support=no
3129
##################################################################
3130
# HP/UX does not have ber_tag_t, disable LDAP there
3131
AC_CHECK_TYPE(ber_tag_t,,,[#include <lber.h>])
3132
if test x"$ac_cv_type_ber_tag_t" != x"yes"; then
3133
if test x"$with_ldap_support" = x"yes"; then
3134
AC_MSG_ERROR(ber_tag_t is needed for LDAP support)
3136
AC_MSG_WARN(ber_tag_t is needed for LDAP support)
3138
with_ldap_support=no
3142
if test x"$with_ldap_support" != x"no"; then
3145
##################################################################
3146
# we might need the lber lib on some systems. To avoid link errors
3147
# this test must be before the libldap test
3148
AC_CHECK_LIB_EXT(lber, LDAP_LIBS, ber_scanf)
3150
########################################################
3151
# now see if we can find the ldap libs in standard paths
3152
AC_CHECK_LIB_EXT(ldap, LDAP_LIBS, ldap_init)
3154
########################################################
3155
# If we have LDAP, does it's rebind procedure take 2 or 3 arguments?
3156
# Check found in pam_ldap 145.
3157
AC_CHECK_FUNC_EXT(ldap_set_rebind_proc,$LDAP_LIBS)
3159
LIBS="$LIBS $LDAP_LIBS"
3160
AC_CACHE_CHECK(whether ldap_set_rebind_proc takes 3 arguments, smb_ldap_cv_ldap_set_rebind_proc, [
3164
[ldap_set_rebind_proc(0, 0, 0);],
3165
[smb_ldap_cv_ldap_set_rebind_proc=3],
3166
[smb_ldap_cv_ldap_set_rebind_proc=2]
3170
AC_DEFINE_UNQUOTED(LDAP_SET_REBIND_PROC_ARGS, $smb_ldap_cv_ldap_set_rebind_proc, [Number of arguments to ldap_set_rebind_proc])
3172
AC_CHECK_FUNC_EXT(ldap_dn2ad_canonical,$LDAP_LIBS)
3174
if test x"$ac_cv_lib_ext_ldap_ldap_init" = x"yes"; then
3175
AC_DEFINE(HAVE_LDAP,1,[Whether ldap is available])
3176
CPPFLAGS="$CPPFLAGS -DLDAP_DEPRECATED"
3177
default_static_modules="$default_static_modules pdb_ldap idmap_ldap";
3178
default_shared_modules="$default_shared_modules";
3179
SMBLDAP="lib/smbldap.o"
3180
SMBLDAPUTIL="lib/smbldap_util.o"
3181
with_ldap_support=yes
3182
AC_MSG_CHECKING(whether LDAP support is used)
3185
if test x"$with_ldap_support" = x"yes"; then
3186
AC_MSG_ERROR(libldap is needed for LDAP support)
3188
AC_MSG_WARN(libldap is needed for LDAP support)
3192
with_ldap_support=no
3198
#################################################
3199
# active directory support
3201
with_ads_support=auto
3202
AC_MSG_CHECKING([for Active Directory and krb5 support])
3205
[ --with-ads Active Directory support (default auto)],
3206
[ case "$withval" in
3208
with_ads_support="$withval"
3212
AC_MSG_RESULT($with_ads_support)
3217
if test x"$with_ldap_support" != x"yes"; then
3219
if test x"$with_ads_support" = x"yes"; then
3220
AC_MSG_ERROR(Active Directory Support requires LDAP support)
3221
elif test x"$with_ads_support" = x"auto"; then
3222
AC_MSG_WARN(Disabling Active Directory support (requires LDAP support))
3228
# Check to see whether there is enough LDAP functionality to be able
3229
# to build AD support.
3231
AC_CHECK_FUNC_EXT(ldap_initialize,$LDAP_LIBS)
3233
if test x"$ac_cv_func_ext_ldap_initialize" != x"yes"; then
3234
if test x"$with_ads_support" = x"yes"; then
3235
AC_MSG_ERROR(Active Directory support requires ldap_initialize)
3236
elif test x"$with_ads_support" = x"auto"; then
3237
AC_MSG_WARN(Disabling Active Directory support (requires ldap_initialize))
3242
AC_CHECK_FUNC_EXT(ldap_add_result_entry,$LDAP_LIBS)
3244
if test x"$ac_cv_func_ext_ldap_add_result_entry" != x"yes"; then
3245
if test x"$with_ads_support" = x"yes"; then
3246
AC_MSG_ERROR(Active Directory support requires ldap_add_result_entry)
3247
elif test x"$with_ads_support" = x"auto"; then
3248
AC_MSG_WARN(Disabling Active Directory support (requires ldap_add_result_entry))
3255
if test x"$with_ads_support" != x"no"; then
3257
# Do no harm to the values of CFLAGS and LIBS while testing for
3260
if test x$FOUND_KRB5 = x"no"; then
3261
#################################################
3262
# check for location of Kerberos 5 install
3263
AC_MSG_CHECKING(for kerberos 5 install path)
3265
[ --with-krb5=base-dir Locate Kerberos 5 support (default=/usr)],
3266
[ case "$withval" in
3268
AC_MSG_RESULT(no krb5-path given)
3275
AC_MSG_RESULT($withval)
3276
KRB5_CFLAGS="-I$withval/include"
3277
KRB5_CPPFLAGS="-I$withval/include"
3278
KRB5_LDFLAGS="-L$withval/lib"
3280
if test -x "$withval/bin/krb5-config"; then
3281
KRB5CONFIG=$withval/bin/krb5-config
3285
AC_MSG_RESULT(no krb5-path given)
3289
#################################################
3290
# check for krb5-config from recent MIT and Heimdal kerberos 5
3291
AC_PATH_PROG(KRB5CONFIG, krb5-config)
3292
AC_MSG_CHECKING(for working krb5-config)
3293
if test -x "$KRB5CONFIG"; then
3294
ac_save_CFLAGS=$CFLAGS
3295
CFLAGS="";export CFLAGS
3296
ac_save_LDFLAGS=$LDFLAGS
3297
LDFLAGS="";export LDFLAGS
3298
KRB5_LIBS="`$KRB5CONFIG --libs gssapi`"
3299
KRB5_LDFLAGS="`$KRB5CONFIG --libs gssapi | sed s/-lgss.*//`"
3300
KRB5_CFLAGS="`$KRB5CONFIG --cflags | sed s/@INCLUDE_des@//`"
3301
KRB5_CPPFLAGS="`$KRB5CONFIG --cflags | sed s/@INCLUDE_des@//`"
3302
CFLAGS=$ac_save_CFLAGS;export CFLAGS
3303
LDFLAGS=$ac_save_LDFLAGS;export LDFLAGS
3307
AC_MSG_RESULT(no. Fallback to previous krb5 detection strategy)
3310
if test x$FOUND_KRB5 = x"no"; then
3311
#################################################
3312
# see if this box has the SuSE location for the heimdal krb implementation
3313
AC_MSG_CHECKING(for /usr/include/heimdal)
3314
if test -d /usr/include/heimdal; then
3315
if test -f /usr/lib/heimdal/lib/libkrb5.a; then
3316
KRB5_CFLAGS="-I/usr/include/heimdal"
3317
KRB5_CPPFLAGS="-I/usr/include/heimdal"
3318
KRB5_LDFLAGS="-L/usr/lib/heimdal/lib"
3321
KRB5_CFLAGS="-I/usr/include/heimdal"
3322
KRB5_CPPFLAGS="-I/usr/include/heimdal"
3330
if test x$FOUND_KRB5 = x"no"; then
3331
#################################################
3332
# see if this box has the RedHat location for kerberos
3333
AC_MSG_CHECKING(for /usr/kerberos)
3334
if test -d /usr/kerberos -a -f /usr/kerberos/lib/libkrb5.a; then
3335
KRB5_LDFLAGS="-L/usr/kerberos/lib"
3336
KRB5_CFLAGS="-I/usr/kerberos/include"
3337
KRB5_CPPFLAGS="-I/usr/kerberos/include"
3344
ac_save_CFLAGS=$CFLAGS
3345
ac_save_CPPFLAGS=$CPPFLAGS
3346
ac_save_LDFLAGS=$LDFLAGS
3348
CFLAGS="$KRB5_CFLAGS $CFLAGS"
3349
CPPFLAGS="$KRB5_CPPFLAGS $CPPFLAGS"
3350
LDFLAGS="$KRB5_LDFLAGS $LDFLAGS"
3352
KRB5_LIBS="$KRB5_LDFLAGS $KRB5_LIBS"
3354
# now check for krb5.h. Some systems have the libraries without the headers!
3355
# note that this check is done here to allow for different kerberos
3357
AC_CHECK_HEADERS(krb5.h)
3359
if test x"$ac_cv_header_krb5_h" = x"no"; then
3361
# Give a warning if AD support was not explicitly requested,
3362
# i.e with_ads_support = auto, otherwise die with an error.
3364
if test x"$with_ads_support" = x"yes"; then
3365
AC_MSG_ERROR([Active Directory cannot be supported without krb5.h])
3367
AC_MSG_WARN([Active Directory cannot be supported without krb5.h])
3370
# Turn off AD support and restore CFLAGS and LIBS variables
3372
with_ads_support="no"
3374
CFLAGS=$ac_save_CFLAGS
3375
CPPFLAGS=$ac_save_CPPFLAGS
3376
LDFLAGS=$ac_save_LDFLAGS
3380
# Now we have determined whether we really want ADS support
3382
if test x"$with_ads_support" != x"no"; then
3385
# now check for gssapi headers. This is also done here to allow for
3386
# different kerberos include paths
3387
AC_CHECK_HEADERS(gssapi.h gssapi/gssapi_generic.h gssapi/gssapi.h com_err.h)
3389
##################################################################
3390
# we might need the k5crypto and com_err libraries on some systems
3391
AC_CHECK_LIB_EXT(com_err, KRB5_LIBS, _et_list)
3392
AC_CHECK_LIB_EXT(k5crypto, KRB5_LIBS, krb5_encrypt_data)
3395
AC_CHECK_LIB_EXT(crypto, KRB5_LIBS, des_set_key)
3396
AC_CHECK_LIB_EXT(asn1, KRB5_LIBS, copy_Authenticator)
3397
AC_CHECK_LIB_EXT(roken, KRB5_LIBS, roken_getaddrinfo_hostspec)
3399
# Heimdal checks. On static Heimdal gssapi must be linked before krb5.
3400
AC_CHECK_LIB_EXT(gssapi, KRB5_LIBS, gss_display_status,[],[],
3401
AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available]))
3403
########################################################
3404
# now see if we can find the krb5 libs in standard paths
3405
# or as specified above
3406
AC_CHECK_LIB_EXT(krb5, KRB5_LIBS, krb5_mk_req_extended)
3407
AC_CHECK_LIB_EXT(krb5, KRB5_LIBS, krb5_kt_compare)
3409
########################################################
3410
# now see if we can find the gssapi libs in standard paths
3411
AC_CHECK_LIB_EXT(gssapi_krb5, KRB5_LIBS,gss_display_status,[],[],
3412
AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available]))
3414
AC_CHECK_FUNC_EXT(krb5_set_real_time, $KRB5_LIBS)
3415
AC_CHECK_FUNC_EXT(krb5_set_default_in_tkt_etypes, $KRB5_LIBS)
3416
AC_CHECK_FUNC_EXT(krb5_set_default_tgs_ktypes, $KRB5_LIBS)
3417
AC_CHECK_FUNC_EXT(krb5_principal2salt, $KRB5_LIBS)
3418
AC_CHECK_FUNC_EXT(krb5_use_enctype, $KRB5_LIBS)
3419
AC_CHECK_FUNC_EXT(krb5_string_to_key, $KRB5_LIBS)
3420
AC_CHECK_FUNC_EXT(krb5_get_pw_salt, $KRB5_LIBS)
3421
AC_CHECK_FUNC_EXT(krb5_string_to_key_salt, $KRB5_LIBS)
3422
AC_CHECK_FUNC_EXT(krb5_auth_con_setkey, $KRB5_LIBS)
3423
AC_CHECK_FUNC_EXT(krb5_auth_con_setuseruserkey, $KRB5_LIBS)
3424
AC_CHECK_FUNC_EXT(krb5_locate_kdc, $KRB5_LIBS)
3425
AC_CHECK_FUNC_EXT(krb5_get_permitted_enctypes, $KRB5_LIBS)
3426
AC_CHECK_FUNC_EXT(krb5_get_default_in_tkt_etypes, $KRB5_LIBS)
3427
AC_CHECK_FUNC_EXT(krb5_free_ktypes, $KRB5_LIBS)
3428
AC_CHECK_FUNC_EXT(krb5_free_data_contents, $KRB5_LIBS)
3429
AC_CHECK_FUNC_EXT(krb5_principal_get_comp_string, $KRB5_LIBS)
3430
AC_CHECK_FUNC_EXT(krb5_free_unparsed_name, $KRB5_LIBS)
3431
AC_CHECK_FUNC_EXT(krb5_free_keytab_entry_contents, $KRB5_LIBS)
3432
AC_CHECK_FUNC_EXT(krb5_kt_free_entry, $KRB5_LIBS)
3433
AC_CHECK_FUNC_EXT(krb5_krbhst_get_addrinfo, $KRB5_LIBS)
3434
AC_CHECK_FUNC_EXT(krb5_c_enctype_compare, $KRB5_LIBS)
3435
AC_CHECK_FUNC_EXT(krb5_enctypes_compatible_keys, $KRB5_LIBS)
3436
AC_CHECK_FUNC_EXT(krb5_crypto_init, $KRB5_LIBS)
3437
AC_CHECK_FUNC_EXT(krb5_crypto_destroy, $KRB5_LIBS)
3438
AC_CHECK_FUNC_EXT(krb5_decode_ap_req, $KRB5_LIBS)
3439
AC_CHECK_FUNC_EXT(decode_krb5_ap_req, $KRB5_LIBS)
3440
AC_CHECK_FUNC_EXT(krb5_free_ap_req, $KRB5_LIBS)
3441
AC_CHECK_FUNC_EXT(free_AP_REQ, $KRB5_LIBS)
3442
AC_CHECK_FUNC_EXT(krb5_c_verify_checksum, $KRB5_LIBS)
3443
AC_CHECK_FUNC_EXT(krb5_principal_compare_any_realm, $KRB5_LIBS)
3444
AC_CHECK_FUNC_EXT(krb5_parse_name_norealm, $KRB5_LIBS)
3445
AC_CHECK_FUNC_EXT(krb5_princ_size, $KRB5_LIBS)
3446
AC_CHECK_FUNC_EXT(krb5_get_init_creds_opt_set_pac_request, $KRB5_LIBS)
3447
AC_CHECK_FUNC_EXT(krb5_get_renewed_creds, $KRB5_LIBS)
3448
AC_CHECK_FUNC_EXT(krb5_get_kdc_cred, $KRB5_LIBS)
3449
AC_CHECK_FUNC_EXT(krb5_free_error_contents, $KRB5_LIBS)
3451
LIBS="$KRB5_LIBS $LIBS"
3453
AC_CACHE_CHECK(whether krb5_verify_checksum takes 7 arguments, smb_krb5_verify_checksum, [
3456
[krb5_verify_checksum(0, 0, 0, 0, 0, 0, 0);],
3457
[smb_krb5_verify_checksum=7],
3458
[smb_krb5_verify_checksum=6],
3461
AC_DEFINE_UNQUOTED(KRB5_VERIFY_CHECKSUM_ARGS, $smb_krb5_verify_checksum, [Number of arguments to krb5_verify_checksum])
3463
AC_CACHE_CHECK([for checksum in krb5_checksum],
3464
samba_cv_HAVE_CHECKSUM_IN_KRB5_CHECKSUM,[
3465
AC_TRY_COMPILE([#include <krb5.h>],
3466
[krb5_checksum cksum; cksum.checksum.length = 0;],
3467
samba_cv_HAVE_CHECKSUM_IN_KRB5_CHECKSUM=yes,
3468
samba_cv_HAVE_CHECKSUM_IN_KRB5_CHECKSUM=no)])
3470
if test x"$samba_cv_HAVE_CHECKSUM_IN_KRB5_CHECKSUM" = x"yes"; then
3471
AC_DEFINE(HAVE_CHECKSUM_IN_KRB5_CHECKSUM,1,
3472
[Whether the krb5_checksum struct has a checksum property])
3475
AC_CACHE_CHECK([for etype in EncryptedData],
3476
samba_cv_HAVE_ETYPE_IN_ENCRYPTEDDATA,[
3477
AC_TRY_COMPILE([#include <krb5.h>],
3478
[EncryptedData edata; edata.etype = 0;],
3479
samba_cv_HAVE_ETYPE_IN_ENCRYPTEDDATA=yes,
3480
samba_cv_HAVE_ETYPE_IN_ENCRYPTEDDATA=no)])
3482
if test x"$samba_cv_HAVE_ETYPE_IN_ENCRYPTEDDATA" = x"yes"; then
3483
AC_DEFINE(HAVE_ETYPE_IN_ENCRYPTEDDATA,1,
3484
[Whether the EncryptedData struct has a etype property])
3487
AC_CACHE_CHECK([for ticket pointer in krb5_ap_req],
3488
samba_cv_HAVE_TICKET_POINTER_IN_KRB5_AP_REQ,[
3489
AC_TRY_COMPILE([#include <krb5.h>],
3490
[krb5_ap_req *ap_req; ap_req->ticket = NULL;],
3491
samba_cv_HAVE_TICKET_POINTER_IN_KRB5_AP_REQ=yes,
3492
samba_cv_HAVE_TICKET_POINTER_IN_KRB5_AP_REQ=no)])
3494
if test x"$samba_cv_HAVE_TICKET_POINTER_IN_KRB5_AP_REQ" = x"yes"; then
3495
AC_DEFINE(HAVE_TICKET_POINTER_IN_KRB5_AP_REQ,1,
3496
[Whether the krb5_ap_req struct has a ticket pointer])
3499
AC_CACHE_CHECK([for e_data pointer in krb5_error],
3500
samba_cv_HAVE_E_DATA_POINTER_IN_KRB5_ERROR,[
3501
AC_TRY_COMPILE([#include <krb5.h>],
3502
[krb5_error err; err.e_data = NULL;],
3503
samba_cv_HAVE_E_DATA_POINTER_IN_KRB5_ERROR=yes,
3504
samba_cv_HAVE_E_DATA_POINTER_IN_KRB5_ERROR=no)])
3506
if test x"$samba_cv_HAVE_E_DATA_POINTER_IN_KRB5_ERROR" = x"yes"; then
3507
AC_DEFINE(HAVE_E_DATA_POINTER_IN_KRB5_ERROR,1,
3508
[Whether the krb5_error struct has a e_data pointer])
3511
AC_CACHE_CHECK([for krb5_crypto type],
3512
samba_cv_HAVE_KRB5_CRYPTO,[
3513
AC_TRY_COMPILE([#include <krb5.h>],
3514
[krb5_crypto crypto;],
3515
samba_cv_HAVE_KRB5_CRYPTO=yes,
3516
samba_cv_HAVE_KRB5_CRYPTO=no)])
3518
if test x"$samba_cv_HAVE_KRB5_CRYPTO" = x"yes"; then
3519
AC_DEFINE(HAVE_KRB5_CRYPTO,1,
3520
[Whether the type krb5_crypto exists])
3523
AC_CACHE_CHECK([for krb5_encrypt_block type],
3524
samba_cv_HAVE_KRB5_ENCRYPT_BLOCK,[
3525
AC_TRY_COMPILE([#include <krb5.h>],
3526
[krb5_encrypt_block block;],
3527
samba_cv_HAVE_KRB5_ENCRYPT_BLOCK=yes,
3528
samba_cv_HAVE_KRB5_ENCRYPT_BLOCK=no)])
3530
if test x"$samba_cv_HAVE_KRB5_ENCRYPT_BLOCK" = x"yes"; then
3531
AC_DEFINE(HAVE_KRB5_ENCRYPT_BLOCK,1,
3532
[Whether the type krb5_encrypt_block exists])
3535
AC_CACHE_CHECK([for addrtype in krb5_address],
3536
samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS,[
3537
AC_TRY_COMPILE([#include <krb5.h>],
3538
[krb5_address kaddr; kaddr.addrtype = ADDRTYPE_INET;],
3539
samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS=yes,
3540
samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS=no)])
3542
if test x"$samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS" = x"yes"; then
3543
AC_DEFINE(HAVE_ADDRTYPE_IN_KRB5_ADDRESS,1,
3544
[Whether the krb5_address struct has a addrtype property])
3547
AC_CACHE_CHECK([for addr_type in krb5_address],
3548
samba_cv_HAVE_ADDR_TYPE_IN_KRB5_ADDRESS,[
3549
AC_TRY_COMPILE([#include <krb5.h>],
3550
[krb5_address kaddr; kaddr.addr_type = KRB5_ADDRESS_INET;],
3551
samba_cv_HAVE_ADDR_TYPE_IN_KRB5_ADDRESS=yes,
3552
samba_cv_HAVE_ADDR_TYPE_IN_KRB5_ADDRESS=no)])
3554
if test x"$samba_cv_HAVE_ADDR_TYPE_IN_KRB5_ADDRESS" = x"yes"; then
3555
AC_DEFINE(HAVE_ADDR_TYPE_IN_KRB5_ADDRESS,1,
3556
[Whether the krb5_address struct has a addr_type property])
3559
AC_CACHE_CHECK([for enc_part2 in krb5_ticket],
3560
samba_cv_HAVE_KRB5_TKT_ENC_PART2,
3561
[AC_TRY_COMPILE([#include <krb5.h>],
3562
[krb5_ticket tkt; tkt.enc_part2->authorization_data[0]->contents = NULL;],
3563
samba_cv_HAVE_KRB5_TKT_ENC_PART2=yes,samba_cv_HAVE_KRB5_TKT_ENC_PART2=no)])
3565
if test x"$samba_cv_HAVE_KRB5_TKT_ENC_PART2" = x"yes"; then
3566
AC_DEFINE(HAVE_KRB5_TKT_ENC_PART2,1,
3567
[Whether the krb5_ticket struct has a enc_part2 property])
3570
AC_CACHE_CHECK([for keyblock in krb5_creds],
3571
samba_cv_HAVE_KRB5_KEYBLOCK_IN_CREDS,[
3572
AC_TRY_COMPILE([#include <krb5.h>],
3573
[krb5_creds creds; krb5_keyblock kb; creds.keyblock = kb;],
3574
samba_cv_HAVE_KRB5_KEYBLOCK_IN_CREDS=yes,
3575
samba_cv_HAVE_KRB5_KEYBLOCK_IN_CREDS=no)])
3577
if test x"$samba_cv_HAVE_KRB5_KEYBLOCK_IN_CREDS" = x"yes"; then
3578
AC_DEFINE(HAVE_KRB5_KEYBLOCK_IN_CREDS,1,
3579
[Whether the krb5_creds struct has a keyblock property])
3582
AC_CACHE_CHECK([for session in krb5_creds],
3583
samba_cv_HAVE_KRB5_SESSION_IN_CREDS,[
3584
AC_TRY_COMPILE([#include <krb5.h>],
3585
[krb5_creds creds; krb5_keyblock kb; creds.session = kb;],
3586
samba_cv_HAVE_KRB5_SESSION_IN_CREDS=yes,
3587
samba_cv_HAVE_KRB5_SESSION_IN_CREDS=no)])
3589
if test x"$samba_cv_HAVE_KRB5_SESSION_IN_CREDS" = x"yes"; then
3590
AC_DEFINE(HAVE_KRB5_SESSION_IN_CREDS,1,
3591
[Whether the krb5_creds struct has a session property])
3594
AC_CACHE_CHECK([for keyvalue in krb5_keyblock],
3595
samba_cv_HAVE_KRB5_KEYBLOCK_KEYVALUE,[
3596
AC_TRY_COMPILE([#include <krb5.h>],
3597
[krb5_keyblock key; key.keyvalue.data = NULL;],
3598
samba_cv_HAVE_KRB5_KEYBLOCK_KEYVALUE=yes,
3599
samba_cv_HAVE_KRB5_KEYBLOCK_KEYVALUE=no)])
3601
if test x"$samba_cv_HAVE_KRB5_KEYBLOCK_KEYVALUE" = x"yes"; then
3602
AC_DEFINE(HAVE_KRB5_KEYBLOCK_KEYVALUE,1,
3603
[Whether the krb5_keyblock struct has a keyvalue property])
3606
AC_CACHE_CHECK([for ENCTYPE_ARCFOUR_HMAC_MD5],
3607
samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5,[
3608
AC_TRY_COMPILE([#include <krb5.h>],
3609
[krb5_enctype enctype; enctype = ENCTYPE_ARCFOUR_HMAC_MD5;],
3610
samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5=yes,
3611
samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5=no)])
3612
AC_CACHE_CHECK([for KEYTYPE_ARCFOUR_56],
3613
samba_cv_HAVE_KEYTYPE_ARCFOUR_56,[
3614
AC_TRY_COMPILE([#include <krb5.h>],
3615
[krb5_keytype keytype; keytype = KEYTYPE_ARCFOUR_56;],
3616
samba_cv_HAVE_KEYTYPE_ARCFOUR_56=yes,
3617
samba_cv_HAVE_KEYTYPE_ARCFOUR_56=no)])
3618
# Heimdals with KEYTYPE_ARCFOUR but not KEYTYPE_ARCFOUR_56 are broken
3619
# w.r.t. arcfour and windows, so we must not enable it here
3620
if test x"$samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5" = x"yes" -a\
3621
x"$samba_cv_HAVE_KEYTYPE_ARCFOUR_56" = x"yes"; then
3622
AC_DEFINE(HAVE_ENCTYPE_ARCFOUR_HMAC_MD5,1,
3623
[Whether the ENCTYPE_ARCFOUR_HMAC_MD5 key type is available])
3626
AC_CACHE_CHECK([for AP_OPTS_USE_SUBKEY],
3627
samba_cv_HAVE_AP_OPTS_USE_SUBKEY,[
3628
AC_TRY_COMPILE([#include <krb5.h>],
3629
[krb5_flags ap_options; ap_options = AP_OPTS_USE_SUBKEY;],
3630
samba_cv_HAVE_AP_OPTS_USE_SUBKEY=yes,
3631
samba_cv_HAVE_AP_OPTS_USE_SUBKEY=no)])
3633
if test x"$samba_cv_HAVE_AP_OPTS_USE_SUBKEY" = x"yes"; then
3634
AC_DEFINE(HAVE_AP_OPTS_USE_SUBKEY,1,
3635
[Whether the AP_OPTS_USE_SUBKEY ap option is available])
3638
AC_CACHE_CHECK([for KV5M_KEYTAB],
3639
samba_cv_HAVE_KV5M_KEYTAB,[
3640
AC_TRY_COMPILE([#include <krb5.h>],
3641
[krb5_keytab_entry entry; entry.magic = KV5M_KEYTAB;],
3642
samba_cv_HAVE_KV5M_KEYTAB=yes,
3643
samba_cv_HAVE_KV5M_KEYTAB=no)])
3645
if test x"$samba_cv_HAVE_KV5M_KEYTAB" = x"yes"; then
3646
AC_DEFINE(HAVE_KV5M_KEYTAB,1,
3647
[Whether the KV5M_KEYTAB option is available])
3650
AC_CACHE_CHECK([for KRB5_KU_OTHER_CKSUM],
3651
samba_cv_HAVE_KRB5_KU_OTHER_CKSUM,[
3652
AC_TRY_COMPILE([#include <krb5.h>],
3653
[krb5_keyusage usage = KRB5_KU_OTHER_CKSUM;],
3654
samba_cv_HAVE_KRB5_KU_OTHER_CKSUM=yes,
3655
samba_cv_HAVE_KRB5_KU_OTHER_CKSUM=no)])
3657
if test x"$samba_cv_HAVE_KRB5_KU_OTHER_CKSUM" = x"yes"; then
3658
AC_DEFINE(HAVE_KRB5_KU_OTHER_CKSUM,1,
3659
[Whether KRB5_KU_OTHER_CKSUM is available])
3662
AC_CACHE_CHECK([for KRB5_KEYUSAGE_APP_DATA_CKSUM],
3663
samba_cv_HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM,[
3664
AC_TRY_COMPILE([#include <krb5.h>],
3665
[krb5_keyusage usage = KRB5_KEYUSAGE_APP_DATA_CKSUM;],
3666
samba_cv_HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM=yes,
3667
samba_cv_HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM=no)])
3669
if test x"$samba_cv_HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM" = x"yes"; then
3670
AC_DEFINE(HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM,1,
3671
[Whether KRB5_KEYUSAGE_APP_DATA_CKSUM is available])
3674
AC_CACHE_CHECK([for the krb5_princ_component macro],
3675
samba_cv_HAVE_KRB5_PRINC_COMPONENT,[
3676
AC_TRY_LINK([#include <krb5.h>],
3677
[const krb5_data *pkdata; krb5_context context; krb5_principal principal; pkdata = krb5_princ_component(context, principal, 0);],
3678
samba_cv_HAVE_KRB5_PRINC_COMPONENT=yes,
3679
samba_cv_HAVE_KRB5_PRINC_COMPONENT=no)])
3681
if test x"$samba_cv_HAVE_KRB5_PRINC_COMPONENT" = x"yes"; then
3682
AC_DEFINE(HAVE_KRB5_PRINC_COMPONENT,1,
3683
[Whether krb5_princ_component is available])
3686
AC_CACHE_CHECK([for key in krb5_keytab_entry],
3687
samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY,[
3688
AC_TRY_COMPILE([#include <krb5.h>],
3689
[krb5_keytab_entry entry; krb5_keyblock e; entry.key = e;],
3690
samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY=yes,
3691
samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY=no)])
3693
if test x"$samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY" = x"yes"; then
3694
AC_DEFINE(HAVE_KRB5_KEYTAB_ENTRY_KEY,1,
3695
[Whether krb5_keytab_entry has key member])
3698
AC_CACHE_CHECK([for keyblock in krb5_keytab_entry],
3699
samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK,[
3700
AC_TRY_COMPILE([#include <krb5.h>],
3701
[krb5_keytab_entry entry; entry.keyblock.keytype = 0;],
3702
samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK=yes,
3703
samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK=no)])
3705
if test x"$samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK" = x"yes"; then
3706
AC_DEFINE(HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK,1,
3707
[Whether krb5_keytab_entry has keyblock member])
3710
AC_CACHE_CHECK([for magic in krb5_address],
3711
samba_cv_HAVE_MAGIC_IN_KRB5_ADDRESS,[
3712
AC_TRY_COMPILE([#include <krb5.h>],
3713
[krb5_address addr; addr.magic = 0;],
3714
samba_cv_HAVE_MAGIC_IN_KRB5_ADDRESS=yes,
3715
samba_cv_HAVE_MAGIC_IN_KRB5_ADDRESS=no)])
3717
if test x"$samba_cv_HAVE_MAGIC_IN_KRB5_ADDRESS" = x"yes"; then
3718
AC_DEFINE(HAVE_MAGIC_IN_KRB5_ADDRESS,1,
3719
[Whether the krb5_address struct has a magic property])
3722
if test x"$ac_cv_lib_ext_krb5_krb5_mk_req_extended" = x"yes"; then
3723
AC_DEFINE(HAVE_KRB5,1,[Whether to have KRB5 support])
3724
AC_DEFINE(WITH_ADS,1,[Whether to include Active Directory support])
3725
AC_MSG_CHECKING(whether Active Directory and krb5 support is used)
3728
if test x"$with_ads_support" = x"yes"; then
3729
AC_MSG_ERROR(libkrb5 is needed for Active Directory support)
3731
AC_MSG_WARN(libkrb5 is needed for Active Directory support)
3737
AC_CACHE_CHECK([for WRFILE: keytab support],
3738
samba_cv_HAVE_WRFILE_KEYTAB,[
3743
krb5_context context;
3746
krb5_init_context(&context);
3747
return krb5_kt_resolve(context, "WRFILE:api", &keytab);
3749
samba_cv_HAVE_WRFILE_KEYTAB=yes,
3750
samba_cv_HAVE_WRFILE_KEYTAB=no)])
3752
if test x"$samba_cv_HAVE_WRFILE_KEYTAB" = x"yes"; then
3753
AC_DEFINE(HAVE_WRFILE_KEYTAB,1,
3754
[Whether the WRFILE:-keytab is supported])
3757
AC_CACHE_CHECK([for krb5_princ_realm returns krb5_realm or krb5_data],
3758
samba_cv_KRB5_PRINC_REALM_RETURNS_REALM,[
3759
AC_TRY_COMPILE([#include <krb5.h>],
3761
krb5_context context;
3762
krb5_principal principal;
3763
krb5_realm realm; realm = *krb5_princ_realm(context, principal);],
3764
samba_cv_KRB5_PRINC_REALM_RETURNS_REALM=yes,
3765
samba_cv_KRB5_PRINC_REALM_RETURNS_REALM=no)])
3767
if test x"$samba_cv_KRB5_PRINC_REALM_RETURNS_REALM" = x"yes"; then
3768
AC_DEFINE(KRB5_PRINC_REALM_RETURNS_REALM,1,
3769
[Whether krb5_princ_realm returns krb5_realm or krb5_data])
3772
AC_CACHE_CHECK([for krb5_addresses type],
3773
samba_cv_HAVE_KRB5_ADDRESSES,[
3774
AC_TRY_COMPILE([#include <krb5.h>],
3775
[krb5_addresses addr;],
3776
samba_cv_HAVE_KRB5_ADDRESSES=yes,
3777
samba_cv_HAVE_KRB5_ADDRESSES=no)])
3779
if test x"$samba_cv_HAVE_KRB5_ADDRESSES" = x"yes"; then
3780
AC_DEFINE(HAVE_KRB5_ADDRESSES,1,
3781
[Whether the type krb5_addresses type exists])
3784
LIBS="$ac_save_LIBS"
3787
AC_CHECK_LIB_EXT(nscd, NSCD_LIBS, nscd_flush_cache)
3789
#################################################
3790
# check for automount support
3791
AC_MSG_CHECKING(whether to use automount)
3792
AC_ARG_WITH(automount,
3793
[ --with-automount Include automount support (default=no)],
3794
[ case "$withval" in
3797
AC_DEFINE(WITH_AUTOMOUNT,1,[Whether to include automount support])
3806
#################################################
3807
# check for smbmount support
3808
AC_MSG_CHECKING(whether to use smbmount)
3809
AC_ARG_WITH(smbmount,
3810
[ --with-smbmount Include smbmount (Linux only) support (default=no)],
3811
[ case "$withval" in
3816
AC_DEFINE(WITH_SMBMOUNT,1,[Whether to build smbmount])
3817
EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/smbmount bin/smbmnt bin/smbumount"
3820
AC_MSG_ERROR(not on a linux system!)
3831
#################################################
3832
# check for mount- and umount.cifs support
3834
INSTALL_CIFSMOUNT=""
3835
UNINSTALL_CIFSMOUNT=""
3836
AC_MSG_CHECKING(whether to build mount.cifs and umount.cifs)
3837
AC_ARG_WITH(cifsmount,
3838
[ --with-cifsmount Include mount.cifs and umount.cifs (Linux only) support (default=yes)],
3839
[ case "$withval" in
3847
AC_DEFINE(WITH_CIFSMOUNT,1,[Whether to build mount.cifs and umount.cifs])
3848
CIFSMOUNT_PROGS="bin/mount.cifs bin/umount.cifs"
3849
INSTALL_CIFSMOUNT="installcifsmount"
3850
UNINSTALL_CIFSMOUNT="uninstallcifsmount"
3853
AC_MSG_ERROR(not on a linux system!)
3858
[ case "$host_os" in
3861
AC_DEFINE(WITH_CIFSMOUNT,1,[Whether to build mount.cifs and umount.cifs])
3862
CIFSMOUNT_PROGS="bin/mount.cifs bin/umount.cifs"
3863
INSTALL_CIFSMOUNT="installcifsmount"
3864
UNINSTALL_CIFSMOUNT="uninstallcifsmount"
3873
#################################################
3874
# check for a PAM clear-text auth, accounts, password and session support
3875
with_pam_for_crypt=no
3876
AC_MSG_CHECKING(whether to use PAM)
3878
[ --with-pam Include PAM support (default=no)],
3879
[ case "$withval" in
3882
if test x"$ac_cv_header_security_pam_appl_h" = x"no"; then
3883
if test x"$ac_cv_header_security_pam_modules_h" = x"no"; then
3884
if test x"$ac_cv_header_security__pam_macros_h" = x"no"; then
3885
AC_MSG_ERROR(--with-pam specified but no PAM headers found)
3889
AC_DEFINE(WITH_PAM,1,[Whether to include PAM support])
3890
AUTH_LIBS="$AUTH_LIBS -lpam"
3891
with_pam_for_crypt=yes
3900
# we can't build a pam module if we don't have pam.
3901
AC_CHECK_LIB(pam, pam_get_data, [AC_DEFINE(HAVE_LIBPAM,1,[Whether libpam is available])])
3903
#################################################
3904
# check for pam_smbpass support
3906
INSTALL_PAM_MODULES=""
3907
UNINSTALL_PAM_MODULES=""
3908
AC_MSG_CHECKING(whether to use pam_smbpass)
3909
AC_ARG_WITH(pam_smbpass,
3910
[ --with-pam_smbpass Build PAM module for authenticating against passdb backends (default=no)],
3911
[ case "$withval" in
3915
# Conditions under which pam_smbpass should not be built.
3917
if test x"$PICFLAGS" = x; then
3918
AC_MSG_ERROR([No support for PIC code])
3919
elif test x"$ac_cv_header_security_pam_appl_h" = x"no"; then
3920
AC_MSG_ERROR([No security/pam_appl.h found])
3921
elif test x$ac_cv_lib_pam_pam_get_data = xno; then
3922
AC_MSG_ERROR([No libpam found])
3924
AUTH_LIBS="$AUTH_LIBS -lpam"
3925
PAM_MODULES="pam_smbpass"
3926
INSTALL_PAM_MODULES="installpammodules"
3927
UNINSTALL_PAM_MODULES="uninstallpammodules"
3938
###############################################
3939
# test for where we get crypt() from
3940
AC_SEARCH_LIBS(crypt, [crypt],
3941
[test "$ac_cv_search_crypt" = "none required" || AUTH_LIBS="-lcrypt $AUTH_LIBS"
3942
AC_DEFINE(HAVE_CRYPT,1,[Whether the system has the crypt() function])])
3945
## moved after the check for -lcrypt in order to
3946
## ensure that the necessary libraries are included
3947
## check checking for truncated salt. Wrapped by the
3948
## $with_pam_for_crypt variable as above --jerry
3950
if test $with_pam_for_crypt = no; then
3951
AC_CACHE_CHECK([for a crypt that needs truncated salt],samba_cv_HAVE_TRUNCATED_SALT,[
3953
LIBS="$AUTH_LIBS $LIBS"
3954
AC_TRY_RUN([#include "${srcdir-.}/tests/crypttest.c"],
3955
samba_cv_HAVE_TRUNCATED_SALT=no,samba_cv_HAVE_TRUNCATED_SALT=yes,samba_cv_HAVE_TRUNCATED_SALT=cross)
3956
LIBS="$crypt_LIBS"])
3957
if test x"$samba_cv_HAVE_TRUNCATED_SALT" = x"yes"; then
3958
AC_DEFINE(HAVE_TRUNCATED_SALT,1,[Whether crypt needs truncated salt])
3962
#################################################
3963
# check for a NISPLUS_HOME support
3964
AC_MSG_CHECKING(whether to use NISPLUS_HOME)
3965
AC_ARG_WITH(nisplus-home,
3966
[ --with-nisplus-home Include NISPLUS_HOME support (default=no)],
3967
[ case "$withval" in
3970
AC_DEFINE(WITH_NISPLUS_HOME,1,[Whether to include nisplus_home support])
3979
#################################################
3980
# check for syslog logging
3981
AC_MSG_CHECKING(whether to use syslog logging)
3983
[ --with-syslog Include experimental SYSLOG support (default=no)],
3984
[ case "$withval" in
3987
AC_DEFINE(WITH_SYSLOG,1,[Whether to include experimental syslog support])
3996
#################################################
3997
# check for experimental disk-quotas support
3999
samba_cv_WITH_QUOTAS=auto
4000
samba_cv_TRY_QUOTAS=no
4001
samba_cv_RUN_QUOTA_TESTS=auto
4002
samba_cv_WITH_SYS_QUOTAS=auto
4003
samba_cv_TRY_SYS_QUOTAS=auto
4004
samba_cv_SYSQUOTA_FOUND=no
4006
AC_MSG_CHECKING(whether to try disk-quotas support)
4008
[ --with-quotas Include disk-quota support (default=no)],
4009
[ case "$withval" in
4012
samba_cv_WITH_QUOTAS=yes
4013
samba_cv_TRY_QUOTAS=yes
4014
samba_cv_RUN_QUOTA_TESTS=yes
4015
#set sys quotas to auto in this case
4016
samba_cv_TRY_SYS_QUOTAS=auto
4020
samba_cv_WITH_QUOTAS=auto
4021
samba_cv_TRY_QUOTAS=auto
4022
samba_cv_RUN_QUOTA_TESTS=auto
4023
#set sys quotas to auto in this case
4024
samba_cv_TRY_SYS_QUOTAS=auto
4028
samba_cv_WITH_QUOTAS=no
4029
samba_cv_TRY_QUOTAS=no
4030
samba_cv_RUN_QUOTA_TESTS=no
4033
AC_MSG_RESULT(${samba_cv_TRY_QUOTAS})
4036
AC_MSG_RESULT(${samba_cv_TRY_QUOTAS})
4039
AC_MSG_CHECKING(whether to try the new lib/sysquotas.c interface)
4040
AC_ARG_WITH(sys-quotas,
4041
[ --with-sys-quotas Include lib/sysquotas.c support (default=auto)],
4042
[ case "$withval" in
4045
samba_cv_WITH_SYS_QUOTAS=yes
4046
samba_cv_TRY_SYS_QUOTAS=yes
4047
samba_cv_RUN_QUOTA_TESTS=yes
4051
samba_cv_WITH_SYS_QUOTAS=auto
4052
samba_cv_TRY_SYS_QUOTAS=auto
4053
samba_cv_RUN_QUOTA_TESTS=auto
4057
samba_cv_WITH_SYS_QUOTAS=no
4058
samba_cv_TRY_SYS_QUOTAS=no
4061
AC_MSG_RESULT(${samba_cv_TRY_SYS_QUOTAS})
4064
AC_MSG_RESULT(${samba_cv_TRY_SYS_QUOTAS})
4067
if test x"$samba_cv_TRY_SYS_QUOTAS" = x"auto"; then
4068
AC_MSG_CHECKING(whether to try the lib/sysquotas.c interface on ${host_os})
4072
samba_cv_TRY_SYS_QUOTAS=yes
4073
samba_cv_RUN_QUOTA_TESTS=yes
4077
samba_cv_TRY_SYS_QUOTAS=no
4082
#############################################
4083
# only check for quota stuff if --with-quotas
4084
if test x"$samba_cv_RUN_QUOTA_TESTS" != x"no"; then
4087
# on linux we didn't need to test we have builtin support
4089
samba_cv_SYSQUOTA_FOUND=yes
4090
AC_DEFINE(HAVE_QUOTACTL_LINUX,1,[Whether Linux quota support is available])
4091
samba_cv_sysquotas_file="lib/sysquotas_linux.c"
4092
AC_MSG_CHECKING(whether to use the lib/sysquotas_linux.c builtin support)
4095
AC_DEFINE(HAVE_LINUX_XFS_QUOTAS,1,[Whether Linux xfs quota support is available])
4096
samba_cv_found_xfs_header=yes
4097
AC_MSG_CHECKING(whether to use the lib/sysquotas_xfs.c builtin support)
4101
# need to set this define when using static linking (BUG 1473)
4102
CPPFLAGS="$CPPFLAGS -DSUNOS5"
4108
# some broken header files need this
4109
AC_CHECK_HEADER(asm/types.h,[
4110
AC_DEFINE(HAVE_ASM_TYPES_H,1,[check for <asm/types.h>])
4111
AC_ADD_INCLUDE(<asm/types.h>)
4114
# For quotas on Veritas VxFS filesystems
4115
AC_CHECK_HEADERS(sys/fs/vx_quota.h)
4117
# For sys/quota.h and linux/quota.h
4118
AC_CHECK_HEADERS(sys/quota.h)
4120
if test x"$samba_cv_found_xfs_header" != x"yes"; then
4121
# if we have xfs quota support <sys/quota.h> (IRIX) we should use it
4122
AC_CACHE_CHECK([for XFS QUOTA in <sys/quota.h>],samba_cv_HAVE_SYS_QUOTA_XFS, [
4124
#include "confdefs.h"
4125
#ifdef HAVE_SYS_TYPES_H
4126
#include <sys/types.h>
4128
#ifdef HAVE_ASM_TYPES_H
4129
#include <asm/types.h>
4131
#include <sys/quota.h>
4132
],[int i = Q_XGETQUOTA;],
4133
samba_cv_HAVE_SYS_QUOTA_XFS=yes,samba_cv_HAVE_SYS_QUOTA_XFS=no)])
4134
if test "$samba_cv_HAVE_SYS_QUOTA_XFS"x = "yes"x; then
4135
samba_cv_found_xfs_header=yes
4139
# if we have struct dqblk .dqb_fsoftlimit instead of .dqb_isoftlimit on IRIX
4140
AC_CACHE_CHECK([if struct dqblk has .dqb_fsoftlimit],samba_cv_HAVE_DQB_FSOFTLIMIT, [
4142
#include "confdefs.h"
4143
#ifdef HAVE_SYS_QUOTA_H
4144
#include <sys/quota.h>
4148
D.dqb_fsoftlimit = 0;],
4149
samba_cv_HAVE_DQB_FSOFTLIMIT=yes,samba_cv_HAVE_DQB_FSOFTLIMIT=no)])
4150
if test "$samba_cv_HAVE_DQB_FSOFTLIMIT"x = "yes"x; then
4151
AC_DEFINE(HAVE_DQB_FSOFTLIMIT,1,[struct dqblk .dqb_fsoftlimit])
4155
# look for a working quota system
4157
if test x"$samba_cv_SYSQUOTA_FOUND" != x"yes"; then
4158
AC_CACHE_CHECK([for long quotactl(int cmd, char *special, qid_t id, caddr_t addr)],samba_cv_HAVE_QUOTACTL_4A,[
4160
#define HAVE_QUOTACTL_4A 1
4161
#define AUTOCONF_TEST 1
4162
#include "confdefs.h"
4163
#include "${srcdir-.}/tests/sysquotas.c"],[$Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
4164
samba_cv_HAVE_QUOTACTL_4A=yes,samba_cv_HAVE_QUOTACTL_4A=no,samba_cv_HAVE_QUOTACTL_4A=cross)])
4165
if test x"$samba_cv_HAVE_QUOTACTL_4A" = x"yes"; then
4166
samba_cv_SYSQUOTA_FOUND=yes;
4167
AC_DEFINE(HAVE_QUOTACTL_4A,1,[Whether long quotactl(int cmd, char *special, qid_t id, caddr_t addr) is available])
4168
samba_cv_sysquotas_file="lib/sysquotas_4A.c"
4172
if test x"$samba_cv_SYSQUOTA_FOUND" != x"yes"; then
4173
AC_CACHE_CHECK([for int quotactl(const char *path, int cmd, int id, char *addr)],samba_cv_HAVE_QUOTACTL_4B,[
4175
#define HAVE_QUOTACTL_4B 1
4176
#define AUTOCONF_TEST 1
4177
#include "confdefs.h"
4178
#include "${srcdir-.}/tests/sysquotas.c"],[$Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
4179
samba_cv_HAVE_QUOTACTL_4B=yes,samba_cv_HAVE_QUOTACTL_4B=no,samba_cv_HAVE_QUOTACTL_4B=cross)])
4180
if test x"$samba_cv_HAVE_QUOTACTL_4B" = x"yes"; then
4181
echo "int quotactl(const char *path, int cmd, int id, char *addr) is not reworked for the new sys_quota api"
4182
samba_cv_SYSQUOTA_FOUND=yes;
4183
AC_DEFINE(HAVE_QUOTACTL_4B,1,[Whether int quotactl(const char *path, int cmd, int id, char *addr) is available])
4184
samba_cv_sysquotas_file="lib/sysquotas_4B.c"
4188
if test x"$samba_cv_SYSQUOTA_FOUND" != x"yes"; then
4189
AC_CACHE_CHECK([for CRAY int quotactl (char *spec, int request, char *arg)],samba_cv_HAVE_QUOTACTL_3,[
4191
#define HAVE_QUOTACTL_3 1
4192
#define AUTOCONF_TEST 1
4193
#include "confdefs.h"
4194
#include "${srcdir-.}/tests/sysquotas.c"],[$Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS],
4195
samba_cv_HAVE_QUOTACTL_3=yes,samba_cv_HAVE_QUOTACTL_3=no,samba_cv_HAVE_QUOTACTL_3=cross)])
4196
if test x"$samba_cv_HAVE_QUOTACTL_3" = x"yes"; then
4197
echo "CRAY int quotactl (char *spec, int request, char *arg) is NOT reworked for the sys_quota api"
4198
samba_cv_SYSQUOTA_FOUND=yes;
4199
AC_DEFINE(HAVE_QUOTACTL_3,1,[Whether CRAY int quotactl (char *spec, int request, char *arg); is available])
4200
samba_cv_sysquotas_file="lib/sysquotas_3.c"
4204
#################################################
4205
# check for mntent.h and struct mntent
4206
AC_CHECK_HEADERS(mntent.h)
4207
#################################################
4208
# check for setmntent,getmntent,endmntent
4209
AC_CHECK_FUNCS(setmntent getmntent endmntent)
4211
#################################################
4212
# check for devnm.h and struct mntent
4213
AC_CHECK_HEADERS(devnm.h)
4214
#################################################
4216
AC_CHECK_FUNCS(devnm)
4218
if test x"$samba_cv_WITH_SYS_QUOTAS" = x"yes"; then
4219
if test x"$samba_cv_SYSQUOTA_FOUND" != x"yes"; then
4220
# if --with-sys-quotas=yes then build it
4221
# you have can use the get/set quota command smb.conf
4223
samba_cv_SYSQUOTA_FOUND=auto
4225
if test x"$samba_cv_TRY_SYS_QUOTAS" != x"yes"; then
4226
# if --with-sys-quotas=yes then build it
4227
# you have can use the get/set quota command smb.conf
4229
samba_cv_TRY_SYS_QUOTAS=auto
4233
if test x"$samba_cv_SYSQUOTA_FOUND" != x"no"; then
4234
AC_CACHE_CHECK([whether the sys_quota interface works],samba_cv_SYSQUOTA_WORKS,[
4235
SAVE_CPPFLAGS="$CPPFLAGS"
4236
CPPFLAGS="$CPPFLAGS -I${srcdir-.}/ -I. -I${srcdir-.}/include -I${srcdir-.}/ubiqx -I${srcdir-.}/popt -I${srcdir-.}/nsswitch"
4238
#include "confdefs.h"
4239
#define NO_PROTO_H 1
4240
#define NO_CONFIG_H 1
4241
#define HAVE_SYS_QUOTAS 1
4242
#include "${srcdir-.}/${samba_cv_sysquotas_file}"
4243
#include "${srcdir-.}/lib/sysquotas.c"
4244
],[],samba_cv_SYSQUOTA_WORKS=yes,samba_cv_SYSQUOTA_WORKS=no)
4245
CPPFLAGS="$SAVE_CPPFLAGS"
4247
if test x"$samba_cv_SYSQUOTA_WORKS" = x"yes"; then
4248
AC_MSG_CHECKING(whether to use the new lib/sysquotas.c interface)
4249
if test x"$samba_cv_TRY_SYS_QUOTAS" != x"no"; then
4250
AC_DEFINE(WITH_QUOTAS,1,[Whether to use disk quota support])
4251
AC_DEFINE(HAVE_SYS_QUOTAS,1,[Whether the new lib/sysquotas.c interface can be used])
4252
samba_cv_WE_USE_SYS_QUOTAS=yes
4260
if test x"$samba_cv_SYSQUOTA_FOUND" != x"no" -a x"$samba_cv_found_xfs_header" = x"yes"; then
4261
AC_CACHE_CHECK([whether the sys_quota interface works with XFS],samba_cv_SYSQUOTA_WORKS_XFS,[
4262
SAVE_CPPFLAGS="$CPPFLAGS"
4263
CPPFLAGS="$CPPFLAGS -I${srcdir-.}/ -I. -I${srcdir-.}/include -I${srcdir-.}/ubiqx -I${srcdir-.}/popt -I${srcdir-.}/nsswitch"
4265
#include "confdefs.h"
4266
#define NO_PROTO_H 1
4267
#define NO_CONFIG_H 1
4268
#define HAVE_SYS_QUOTAS 1
4269
#define HAVE_XFS_QUOTAS 1
4270
#include "${srcdir-.}/lib/sysquotas_xfs.c"
4271
],[],samba_cv_SYSQUOTA_WORKS_XFS=yes,samba_cv_SYSQUOTA_WORKS_XFS=no)
4272
CPPFLAGS="$SAVE_CPPFLAGS"
4274
if test x"$samba_cv_SYSQUOTA_WORKS_XFS" = x"yes"; then
4275
if test x"$samba_cv_WE_USE_SYS_QUOTAS" = x"yes"; then
4276
AC_DEFINE(HAVE_XFS_QUOTAS,1,[Whether xfs quota support is available])
4281
AC_CACHE_CHECK([whether the old quota support works],samba_cv_QUOTA_WORKS,[
4282
SAVE_CPPFLAGS="$CPPFLAGS"
4283
CPPFLAGS="$CPPFLAGS -I${srcdir-.}/ -I. -I${srcdir-.}/include -I${srcdir-.}/ubiqx -I${srcdir-.}/popt -I${srcdir-.}/nsswitch"
4285
#include "confdefs.h"
4286
#define NO_PROTO_H 1
4287
#define NO_CONFIG_H 1
4288
#include "${srcdir-.}/smbd/quotas.c"
4289
],[],samba_cv_QUOTA_WORKS=yes,samba_cv_QUOTA_WORKS=no)
4290
CPPFLAGS="$SAVE_CPPFLAGS"
4292
if test x"$samba_cv_QUOTA_WORKS" = x"yes"; then
4293
AC_MSG_CHECKING(whether to use the old quota support)
4294
if test x"$samba_cv_WE_USE_SYS_QUOTAS" != x"yes"; then
4295
if test x"$samba_cv_TRY_QUOTAS" != x"no"; then
4296
AC_DEFINE(WITH_QUOTAS,1,[Whether to use disk quota support])
4306
####################
4307
# End of quota check samba_cv_RUN_QUOTA_TESTS
4310
#################################################
4311
# check for experimental utmp accounting
4313
AC_MSG_CHECKING(whether to support utmp accounting)
4316
[ --with-utmp Include utmp accounting (default, if supported by OS)],
4317
[ case "$withval" in
4327
# utmp requires utmp.h
4328
# Note similar check earlier, when checking utmp details.
4330
if test x"$WITH_UTMP" = x"yes" -a x"$ac_cv_header_utmp_h" = x"no"; then
4331
utmp_no_reason=", no utmp.h on $host_os"
4335
# Display test results
4337
if test x"$WITH_UTMP" = x"yes"; then
4339
AC_DEFINE(WITH_UTMP,1,[Whether to include experimental utmp accounting])
4341
AC_MSG_RESULT(no$utmp_no_reason)
4346
UNINSTALLLIBCMD_SH=:
4349
if test $BLDSHARED = true; then
4350
INSTALLLIBCMD_SH="\$(INSTALLCMD)"
4351
UNINSTALLLIBCMD_SH="rm -f"
4353
if test $enable_static = yes; then
4354
INSTALLLIBCMD_A="\$(INSTALLCMD)"
4355
UNINSTALLLIBCMD_A="rm -f"
4358
#################################################
4359
# should we build libmsrpc?
4364
AC_MSG_CHECKING(whether to build the libmsrpc shared library)
4365
AC_ARG_WITH(libmsrpc,
4366
[ --with-libmsrpc Build the libmsrpc shared library (default=yes if shared libs supported)],
4367
[ case "$withval" in
4372
if test $BLDSHARED = true; then
4373
LIBMSRPC_SHARED=bin/libmsrpc.$SHLIBEXT
4378
AC_MSG_RESULT(no shared library support -- will supply static library)
4380
if test $enable_static = yes; then
4383
INSTALL_LIBMSRPC=installlibmsrpc
4384
UNINSTALL_LIBMSRPC=uninstalllibmsrpc
4388
# if unspecified, default is to built it if possible.
4389
if test $BLDSHARED = true; then
4390
LIBMSRPC_SHARED=bin/libmsrpc.$SHLIBEXT
4395
AC_MSG_RESULT(no shared library support -- will supply static library)
4397
if test $enable_static = yes; then
4400
INSTALL_LIBMSRPC=installlibmsrpc
4401
UNINSTALL_LIBMSRPC=uninstalllibmsrpc
4404
#################################################
4405
# should we build libsmbclient?
4406
INSTALL_LIBSMBCLIENT=
4407
UNINSTALL_LIBSMBCLIENT=
4408
LIBSMBCLIENT_SHARED=
4410
AC_MSG_CHECKING(whether to build the libsmbclient shared library)
4411
AC_ARG_WITH(libsmbclient,
4412
[ --with-libsmbclient Build the libsmbclient shared library (default=yes if shared libs supported)],
4413
[ case "$withval" in
4418
if test $BLDSHARED = true; then
4419
LIBSMBCLIENT_SHARED=bin/libsmbclient.$SHLIBEXT
4420
LIBSMBCLIENT=libsmbclient
4424
AC_MSG_RESULT(no shared library support -- will supply static library)
4426
if test $enable_static = yes; then
4427
LIBSMBCLIENT=libsmbclient
4429
INSTALL_LIBSMBCLIENT=installclientlib
4430
UNINSTALL_LIBSMBCLIENT=uninstallclientlib
4434
# if unspecified, default is to built it if possible.
4435
if test $BLDSHARED = true; then
4436
LIBSMBCLIENT_SHARED=bin/libsmbclient.$SHLIBEXT
4437
LIBSMBCLIENT=libsmbclient
4441
AC_MSG_RESULT(no shared library support -- will supply static library)
4443
if test $enable_static = yes; then
4444
LIBSMBCLIENT=libsmbclient
4446
INSTALL_LIBSMBCLIENT=installclientlib
4447
UNINSTALL_LIBSMBCLIENT=uninstallclientlib
4450
INSTALL_LIBSMBSHAREMODES=
4451
LIBSMBSHAREMODES_SHARED=
4453
AC_MSG_CHECKING(whether to build the libsmbsharemodes shared library)
4454
AC_ARG_WITH(libsmbsharemodes,
4455
[ --with-libsmbsharemodes Build the libsmbsharemodes shared library (default=yes if shared libs supported)],
4456
[ case "$withval" in
4461
if test $BLDSHARED = true; then
4462
LIBSMBSHAREMODES_SHARED=bin/libsmbsharemodes.$SHLIBEXT
4463
LIBSMBSHAREMODES=libsmbsharemodes
4467
AC_MSG_RESULT(no shared library support -- will supply static library)
4469
if test $enable_static = yes; then
4470
LIBSMBSHAREMODES=libsmbsharemodes
4472
INSTALL_LIBSMBSHAREMODES=installlibsmbsharemodes
4476
# if unspecified, default is to built it if possible.
4477
if test $BLDSHARED = true; then
4478
LIBSMBSHAREMODES_SHARED=bin/libsmbsharemodes.$SHLIBEXT
4479
LIBSMBSHAREMODES=libsmbsharemodes
4483
AC_MSG_RESULT(no shared library support -- will supply static library)
4485
if test $enable_static = yes; then
4486
LIBSMBSHAREMODES=libsmbsharemodes
4488
INSTALL_LIBSMBSHAREMODES=installlibsmbsharemodes
4491
#################################################
4492
# these tests are taken from the GNU fileutils package
4493
AC_CHECKING(how to get filesystem space usage)
4496
# Test for statvfs64.
4497
if test $space = no; then
4499
AC_CACHE_CHECK([statvfs64 function (SVR4)], fu_cv_sys_stat_statvfs64,
4501
#if defined(HAVE_UNISTD_H)
4504
#include <sys/types.h>
4505
#include <sys/statvfs.h>
4508
struct statvfs64 fsd;
4509
exit (statvfs64 (".", &fsd));
4511
fu_cv_sys_stat_statvfs64=yes,
4512
fu_cv_sys_stat_statvfs64=no,
4513
fu_cv_sys_stat_statvfs64=cross)])
4514
if test $fu_cv_sys_stat_statvfs64 = yes; then
4516
AC_DEFINE(STAT_STATVFS64,1,[Whether statvfs64() is available])
4520
# Perform only the link test since it seems there are no variants of the
4521
# statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs)
4522
# because that got a false positive on SCO OSR5. Adding the declaration
4523
# of a `struct statvfs' causes this test to fail (as it should) on such
4524
# systems. That system is reported to work fine with STAT_STATFS4 which
4525
# is what it gets when this test fails.
4526
if test $space = no; then
4528
AC_CACHE_CHECK([statvfs function (SVR4)], fu_cv_sys_stat_statvfs,
4529
[AC_TRY_LINK([#include <sys/types.h>
4530
#include <sys/statvfs.h>],
4531
[struct statvfs fsd; statvfs (0, &fsd);],
4532
fu_cv_sys_stat_statvfs=yes,
4533
fu_cv_sys_stat_statvfs=no)])
4534
if test $fu_cv_sys_stat_statvfs = yes; then
4536
AC_DEFINE(STAT_STATVFS,1,[Whether statvfs() is available])
4540
# smbd/statvfs.c assumes that statvfs.f_fsid is an integer.
4541
# This is not the case on ancient Linux systems.
4543
AC_CACHE_CHECK([that statvfs.f_fsid is an integer],samba_cv_fsid_int, [
4544
AC_TRY_COMPILE([#include <sys/statvfs.h>],[struct statvfs buf; buf.f_fsid = 0],
4545
samba_cv_fsid_int=yes,samba_cv_fsid_int=no)])
4546
if test x"$samba_cv_fsid_int" = x"yes"; then
4547
AC_DEFINE(HAVE_FSID_INT, 1, [Whether statvfs.f_fsid is an integer])
4550
if test $space = no; then
4551
# DEC Alpha running OSF/1
4552
AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
4553
AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
4555
#include <sys/param.h>
4556
#include <sys/types.h>
4557
#include <sys/mount.h>
4562
exit (statfs (".", &fsd, sizeof (struct statfs)));
4564
fu_cv_sys_stat_statfs3_osf1=yes,
4565
fu_cv_sys_stat_statfs3_osf1=no,
4566
fu_cv_sys_stat_statfs3_osf1=no)])
4567
AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
4568
if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
4570
AC_DEFINE(STAT_STATFS3_OSF1,1,[Whether statfs requires 3 arguments])
4574
if test $space = no; then
4576
AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl
4577
member (AIX, 4.3BSD)])
4578
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
4580
#ifdef HAVE_SYS_PARAM_H
4581
#include <sys/param.h>
4583
#ifdef HAVE_SYS_MOUNT_H
4584
#include <sys/mount.h>
4586
#ifdef HAVE_SYS_VFS_H
4587
#include <sys/vfs.h>
4593
exit (statfs (".", &fsd));
4595
fu_cv_sys_stat_statfs2_bsize=yes,
4596
fu_cv_sys_stat_statfs2_bsize=no,
4597
fu_cv_sys_stat_statfs2_bsize=no)])
4598
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
4599
if test $fu_cv_sys_stat_statfs2_bsize = yes; then
4601
AC_DEFINE(STAT_STATFS2_BSIZE,1,[Whether statfs requires two arguments and struct statfs has bsize property])
4605
if test $space = no; then
4607
AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
4608
AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
4609
[AC_TRY_RUN([#include <sys/types.h>
4610
#include <sys/statfs.h>
4614
exit (statfs (".", &fsd, sizeof fsd, 0));
4616
fu_cv_sys_stat_statfs4=yes,
4617
fu_cv_sys_stat_statfs4=no,
4618
fu_cv_sys_stat_statfs4=no)])
4619
AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
4620
if test $fu_cv_sys_stat_statfs4 = yes; then
4622
AC_DEFINE(STAT_STATFS4,1,[Whether statfs requires 4 arguments])
4626
if test $space = no; then
4628
AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl
4629
member (4.4BSD and NetBSD)])
4630
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
4631
[AC_TRY_RUN([#include <sys/types.h>
4632
#ifdef HAVE_SYS_PARAM_H
4633
#include <sys/param.h>
4635
#ifdef HAVE_SYS_MOUNT_H
4636
#include <sys/mount.h>
4642
exit (statfs (".", &fsd));
4644
fu_cv_sys_stat_statfs2_fsize=yes,
4645
fu_cv_sys_stat_statfs2_fsize=no,
4646
fu_cv_sys_stat_statfs2_fsize=no)])
4647
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
4648
if test $fu_cv_sys_stat_statfs2_fsize = yes; then
4650
AC_DEFINE(STAT_STATFS2_FSIZE,1,[Whether statfs requires 2 arguments and struct statfs has fsize])
4654
if test $space = no; then
4656
AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
4657
AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
4658
[AC_TRY_RUN([#include <sys/types.h>
4659
#ifdef HAVE_SYS_PARAM_H
4660
#include <sys/param.h>
4662
#ifdef HAVE_SYS_MOUNT_H
4663
#include <sys/mount.h>
4665
#ifdef HAVE_SYS_FS_TYPES_H
4666
#include <sys/fs_types.h>
4671
/* Ultrix's statfs returns 1 for success,
4672
0 for not mounted, -1 for failure. */
4673
exit (statfs (".", &fsd) != 1);
4675
fu_cv_sys_stat_fs_data=yes,
4676
fu_cv_sys_stat_fs_data=no,
4677
fu_cv_sys_stat_fs_data=no)])
4678
AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
4679
if test $fu_cv_sys_stat_fs_data = yes; then
4681
AC_DEFINE(STAT_STATFS2_FS_DATA,1,[Whether statfs requires 2 arguments and struct fs_data is available])
4686
# As a gating factor for large file support, in order to
4687
# use <4GB files we must have the following minimal support
4689
# long long, and a 64 bit off_t or off64_t.
4690
# If we don't have all of these then disable large
4693
AC_MSG_CHECKING([if large file support can be enabled])
4695
#if defined(HAVE_LONGLONG) && (defined(HAVE_OFF64_T) || (defined(SIZEOF_OFF_T) && (SIZEOF_OFF_T == 8)))
4696
#include <sys/types.h>
4702
samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=yes,samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=no)
4703
if test x"$samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT" = x"yes"; then
4704
AC_DEFINE(HAVE_EXPLICIT_LARGEFILE_SUPPORT,1,[Whether large file support can be enabled])
4706
AC_MSG_RESULT([$samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT])
4708
AC_ARG_WITH(spinlocks,
4709
[ --with-spinlocks Use spin locks instead of fcntl locks (default=no) ])
4710
if test "x$with_spinlocks" = "xyes"; then
4711
AC_DEFINE(USE_SPINLOCKS,1,[Whether to use spin locks instead of fcntl locks])
4715
AC_DEFINE(SPARC_SPINLOCKS,1,[Whether to use sparc spinlocks])
4718
i386|i486|i586|i686)
4719
AC_DEFINE(INTEL_SPINLOCKS,1,[Whether to use intel spinlocks])
4723
AC_DEFINE(MIPS_SPINLOCKS,1,[Whether to use mips spinlocks])
4727
AC_DEFINE(POWERPC_SPINLOCKS,1,[Whether to use powerpc spinlocks])
4732
#################################################
4733
# check for ACL support
4735
AC_MSG_CHECKING(whether to support ACLs)
4736
AC_ARG_WITH(acl-support,
4737
[ --with-acl-support Include ACL support (default=no)],
4738
[ case "$withval" in
4743
AC_MSG_RESULT(Using UnixWare ACLs)
4744
AC_DEFINE(HAVE_UNIXWARE_ACLS,1,[Whether UnixWare ACLs are available])
4747
AC_MSG_RESULT(Using solaris ACLs)
4748
AC_DEFINE(HAVE_SOLARIS_ACLS,1,[Whether solaris ACLs are available])
4749
ACL_LIBS="$ACL_LIBS -lsec"
4752
AC_MSG_RESULT(Using HPUX ACLs)
4753
AC_DEFINE(HAVE_HPUX_ACLS,1,[Whether HPUX ACLs are available])
4756
AC_MSG_RESULT(Using IRIX ACLs)
4757
AC_DEFINE(HAVE_IRIX_ACLS,1,[Whether IRIX ACLs are available])
4760
AC_MSG_RESULT(Using AIX ACLs)
4761
AC_DEFINE(HAVE_AIX_ACLS,1,[Whether AIX ACLs are available])
4764
AC_MSG_RESULT(Using Tru64 ACLs)
4765
AC_DEFINE(HAVE_TRU64_ACLS,1,[Whether Tru64 ACLs are available])
4766
ACL_LIBS="$ACL_LIBS -lpacl"
4769
AC_MSG_RESULT(Using FreeBSD posix ACLs)
4770
AC_DEFINE(HAVE_POSIX_ACLS,1,[Whether FreeBSD POSIX ACLs are available])
4771
AC_DEFINE(HAVE_ACL_GET_PERM_NP,1,[Whether acl_get_perm_np() is available])
4774
AC_CHECK_LIB(attr,getxattr,[ACL_LIBS="$ACL_LIBS -lattr"])
4775
AC_CHECK_LIB(acl,acl_get_file,[ACL_LIBS="$ACL_LIBS -lacl"])
4776
AC_CACHE_CHECK([for ACL support],samba_cv_HAVE_POSIX_ACLS,[
4779
AC_TRY_LINK([#include <sys/types.h>
4780
#include <sys/acl.h>],
4781
[ acl_t acl; int entry_id; acl_entry_t *entry_p; return acl_get_entry( acl, entry_id, entry_p);],
4782
samba_cv_HAVE_POSIX_ACLS=yes,samba_cv_HAVE_POSIX_ACLS=no)
4784
if test x"$samba_cv_HAVE_POSIX_ACLS" = x"yes"; then
4785
AC_MSG_RESULT(Using posix ACLs)
4786
AC_DEFINE(HAVE_POSIX_ACLS,1,[Whether POSIX ACLs are available])
4787
AC_CACHE_CHECK([for acl_get_perm_np],samba_cv_HAVE_ACL_GET_PERM_NP,[
4790
AC_TRY_LINK([#include <sys/types.h>
4791
#include <sys/acl.h>],
4792
[ acl_permset_t permset_d; acl_perm_t perm; return acl_get_perm_np( permset_d, perm);],
4793
samba_cv_HAVE_ACL_GET_PERM_NP=yes,samba_cv_HAVE_ACL_GET_PERM_NP=no)
4795
if test x"$samba_cv_HAVE_ACL_GET_PERM_NP" = x"yes"; then
4796
AC_DEFINE(HAVE_ACL_GET_PERM_NP,1,[Whether acl_get_perm_np() is available])
4801
AC_CHECK_LIB(acl,acl_get_file,[ACL_LIBS="$ACL_LIBS -lacl"])
4802
AC_CACHE_CHECK([for ACL support],samba_cv_HAVE_POSIX_ACLS,[
4805
AC_TRY_LINK([#include <sys/types.h>
4806
#include <sys/acl.h>],
4807
[ acl_t acl; int entry_id; acl_entry_t *entry_p; return acl_get_entry( acl, entry_id, entry_p);],
4808
samba_cv_HAVE_POSIX_ACLS=yes,samba_cv_HAVE_POSIX_ACLS=no)
4810
if test x"$samba_cv_HAVE_POSIX_ACLS" = x"yes"; then
4811
AC_MSG_RESULT(Using posix ACLs)
4812
AC_DEFINE(HAVE_POSIX_ACLS,1,[Whether POSIX ACLs are available])
4813
AC_CACHE_CHECK([for acl_get_perm_np],samba_cv_HAVE_ACL_GET_PERM_NP,[
4816
AC_TRY_LINK([#include <sys/types.h>
4817
#include <sys/acl.h>],
4818
[ acl_permset_t permset_d; acl_perm_t perm; return acl_get_perm_np( permset_d, perm);],
4819
samba_cv_HAVE_ACL_GET_PERM_NP=yes,samba_cv_HAVE_ACL_GET_PERM_NP=no)
4821
if test x"$samba_cv_HAVE_ACL_GET_PERM_NP" = x"yes"; then
4822
AC_DEFINE(HAVE_ACL_GET_PERM_NP,1,[Whether acl_get_perm_np() is available])
4830
AC_DEFINE(HAVE_NO_ACLS,1,[Whether no ACLs support is available])
4833
AC_DEFINE(HAVE_NO_ACLS,1,[Whether no ACLs support should be built in])
4837
#################################################
4838
# check for AIO support
4840
AC_MSG_CHECKING(whether to support asynchronous io)
4841
AC_ARG_WITH(aio-support,
4842
[ --with-aio-support Include asynchronous io support (default=no)],
4843
[ case "$withval" in
4849
AC_CHECK_LIB(rt,aio_read,[AIO_LIBS="$LIBS -lrt"])
4850
AC_CHECK_LIB(aio,aio_read,[AIO_LIBS="$LIBS -laio"])
4851
AC_CACHE_CHECK([for asynchronous io support],samba_cv_HAVE_AIO,[
4854
AC_TRY_LINK([#include <sys/types.h>
4856
[ struct aiocb a; return aio_read(&a);],
4857
samba_cv_HAVE_AIO=yes,samba_cv_HAVE_AIO=no)
4859
AC_CACHE_CHECK([for 64-bit asynchronous io support],samba_cv_HAVE_AIO64,[
4862
AC_TRY_LINK([#include <sys/types.h>
4864
[ struct aiocb64 a; return aio_read64(&a);],
4865
samba_cv_HAVE_AIO64=yes,samba_cv_HAVE_AIO64=no)
4867
if test x"$samba_cv_HAVE_AIO64" = x"yes"; then
4868
AC_DEFINE(HAVE_AIOCB64,1,[Whether 64 bit aio is available])
4869
AC_DEFINE(WITH_AIO, 1, [Using asynchronous io])
4871
elif test x"$samba_cv_HAVE_AIO" = x"yes"; then
4872
AC_DEFINE(WITH_AIO, 1, [Using asynchronous io])
4876
if test x"$samba_cv_HAVE_AIO" = x"yes"; then
4877
AC_MSG_CHECKING(for aio_read)
4878
AC_LINK_IFELSE([#include <aio.h>
4879
int main() { struct aiocb a; return aio_read(&a); }],
4880
[AC_DEFINE(HAVE_AIO_READ, 1, [Have aio_read]) AC_MSG_RESULT(yes)],
4881
[AC_MSG_RESULT(no)])
4883
AC_MSG_CHECKING(for aio_write)
4884
AC_LINK_IFELSE([#include <aio.h>
4885
int main() { struct aiocb a; return aio_write(&a); }],
4886
[AC_DEFINE(HAVE_AIO_WRITE, 1, [Have aio_write]) AC_MSG_RESULT(yes)],
4887
[AC_MSG_RESULT(no)])
4889
AC_MSG_CHECKING(for aio_fsync)
4890
AC_LINK_IFELSE([#include <aio.h>
4891
int main() { struct aiocb a; return aio_fsync(1, &a); }],
4892
[AC_DEFINE(HAVE_AIO_FSYNC, 1, [Have aio_fsync]) AC_MSG_RESULT(yes)],
4893
[AC_MSG_RESULT(no)])
4895
AC_MSG_CHECKING(for aio_return)
4896
AC_LINK_IFELSE([#include <aio.h>
4897
int main() { struct aiocb a; return aio_return(&a); }],
4898
[AC_DEFINE(HAVE_AIO_RETURN, 1, [Have aio_return]) AC_MSG_RESULT(yes)],
4899
[AC_MSG_RESULT(no)])
4901
AC_MSG_CHECKING(for aio_error)
4902
AC_LINK_IFELSE([#include <aio.h>
4903
int main() { struct aiocb a; return aio_error(&a); }],
4904
[AC_DEFINE(HAVE_AIO_ERROR, 1, [Have aio_error]) AC_MSG_RESULT(yes)],
4905
[AC_MSG_RESULT(no)])
4907
AC_MSG_CHECKING(for aio_cancel)
4908
AC_LINK_IFELSE([#include <aio.h>
4909
int main() { struct aiocb a; return aio_cancel(1, &a); }],
4910
[AC_DEFINE(HAVE_AIO_CANCEL, 1, [Have aio_cancel]) AC_MSG_RESULT(yes)],
4911
[AC_MSG_RESULT(no)])
4913
AC_MSG_CHECKING(for aio_suspend)
4914
AC_LINK_IFELSE([#include <aio.h>
4915
int main() { struct aiocb a; return aio_suspend(&a, 1, NULL); }],
4916
[AC_DEFINE(HAVE_AIO_SUSPEND, 1, [Have aio_suspend]) AC_MSG_RESULT(yes)],
4917
[AC_MSG_RESULT(no)])
4920
if test x"$samba_cv_HAVE_AIO64" = x"yes"; then
4921
AC_MSG_CHECKING(for aio_read64)
4922
AC_LINK_IFELSE([#include <aio.h>
4923
int main() { struct aiocb a; return aio_read64(&a); }],
4924
[AC_DEFINE(HAVE_AIO_READ64, 1, [Have aio_read64]) AC_MSG_RESULT(yes)],
4925
[AC_MSG_RESULT(no)])
4927
AC_MSG_CHECKING(for aio_write64)
4928
AC_LINK_IFELSE([#include <aio.h>
4929
int main() { struct aiocb a; return aio_write64(&a); }],
4930
[AC_DEFINE(HAVE_AIO_WRITE64, 1, [Have aio_write64]) AC_MSG_RESULT(yes)],
4931
[AC_MSG_RESULT(no)])
4933
AC_MSG_CHECKING(for aio_fsync64)
4934
AC_LINK_IFELSE([#include <aio.h>
4935
int main() { struct aiocb a; return aio_fsync64(1, &a); }],
4936
[AC_DEFINE(HAVE_AIO_FSYNC64, 1, [Have aio_fsync64]) AC_MSG_RESULT(yes)],
4937
[AC_MSG_RESULT(no)])
4939
AC_MSG_CHECKING(for aio_return64)
4940
AC_LINK_IFELSE([#include <aio.h>
4941
int main() { struct aiocb a; return aio_return64(&a); }],
4942
[AC_DEFINE(HAVE_AIO_RETURN64, 1, [Have aio_return64]) AC_MSG_RESULT(yes)],
4943
[AC_MSG_RESULT(no)])
4945
AC_MSG_CHECKING(for aio_error64)
4946
AC_LINK_IFELSE([#include <aio.h>
4947
int main() { struct aiocb a; return aio_error64(&a); }],
4948
[AC_DEFINE(HAVE_AIO_ERROR64, 1, [Have aio_error64]) AC_MSG_RESULT(yes)],
4949
[AC_MSG_RESULT(no)])
4951
AC_MSG_CHECKING(for aio_cancel64)
4952
AC_LINK_IFELSE([#include <aio.h>
4953
int main() { struct aiocb a; return aio_cancel64(1, &a); }],
4954
[AC_DEFINE(HAVE_AIO_CANCEL64, 1, [Have aio_cancel64]) AC_MSG_RESULT(yes)],
4955
[AC_MSG_RESULT(no)])
4957
AC_MSG_CHECKING(for aio_suspend64)
4958
AC_LINK_IFELSE([#include <aio.h>
4959
int main() { struct aiocb a; return aio_suspend64(&a, 1, NULL); }],
4960
[AC_DEFINE(HAVE_AIO_SUSPEND64, 1, [Have aio_suspend64]) AC_MSG_RESULT(yes)],
4961
[AC_MSG_RESULT(no)])
4968
AC_DEFINE(HAVE_NO_AIO,1,[Whether no asynchronous io support is available])
4971
AC_DEFINE(HAVE_NO_AIO,1,[Whether no asynchronous io support should be built in])
4975
#################################################
4976
# check for sendfile support
4978
with_sendfile_support=yes
4979
AC_MSG_CHECKING(whether to check to support sendfile)
4980
AC_ARG_WITH(sendfile-support,
4981
[ --with-sendfile-support Check for sendfile support (default=yes)],
4982
[ case "$withval" in
4989
AC_CACHE_CHECK([for linux sendfile64 support],samba_cv_HAVE_SENDFILE64,[
4990
AC_TRY_LINK([#include <sys/sendfile.h>],
4995
ssize_t nwritten = sendfile64(tofd, fromfd, &offset, total);
4997
samba_cv_HAVE_SENDFILE64=yes,samba_cv_HAVE_SENDFILE64=no)])
4999
AC_CACHE_CHECK([for linux sendfile support],samba_cv_HAVE_SENDFILE,[
5000
AC_TRY_LINK([#include <sys/sendfile.h>],
5005
ssize_t nwritten = sendfile(tofd, fromfd, &offset, total);
5007
samba_cv_HAVE_SENDFILE=yes,samba_cv_HAVE_SENDFILE=no)])
5009
# Try and cope with broken Linux sendfile....
5010
AC_CACHE_CHECK([for broken linux sendfile support],samba_cv_HAVE_BROKEN_LINUX_SENDFILE,[
5012
#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
5013
#undef _FILE_OFFSET_BITS
5015
#include <sys/sendfile.h>],
5020
ssize_t nwritten = sendfile(tofd, fromfd, &offset, total);
5022
samba_cv_HAVE_BROKEN_LINUX_SENDFILE=yes,samba_cv_HAVE_BROKEN_LINUX_SENDFILE=no)])
5024
if test x"$samba_cv_HAVE_SENDFILE64" = x"yes"; then
5025
AC_DEFINE(HAVE_SENDFILE64,1,[Whether 64-bit sendfile() is available])
5026
AC_DEFINE(LINUX_SENDFILE_API,1,[Whether linux sendfile() API is available])
5027
AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() should be used])
5028
elif test x"$samba_cv_HAVE_SENDFILE" = x"yes"; then
5029
AC_DEFINE(HAVE_SENDFILE,1,[Whether sendfile() is available])
5030
AC_DEFINE(LINUX_SENDFILE_API,1,[Whether linux sendfile() API is available])
5031
AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() should be used])
5032
elif test x"$samba_cv_HAVE_BROKEN_LINUX_SENDFILE" = x"yes"; then
5033
AC_DEFINE(LINUX_BROKEN_SENDFILE_API,1,[Whether (linux) sendfile() is broken])
5034
AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile should be used])
5040
*freebsd* | *dragonfly* )
5041
AC_CACHE_CHECK([for freebsd sendfile support],samba_cv_HAVE_SENDFILE,[
5043
#include <sys/types.h>
5045
#include <sys/socket.h>
5046
#include <sys/uio.h>],
5048
int fromfd, tofd, ret, total=0;
5049
off_t offset, nwritten;
5052
hdr.headers = &hdtrl;
5054
hdr.trailers = NULL;
5056
hdtrl.iov_base = NULL;
5058
ret = sendfile(fromfd, tofd, offset, total, &hdr, &nwritten, 0);
5060
samba_cv_HAVE_SENDFILE=yes,samba_cv_HAVE_SENDFILE=no)])
5062
if test x"$samba_cv_HAVE_SENDFILE" = x"yes"; then
5063
AC_DEFINE(HAVE_SENDFILE,1,[Whether sendfile() support is available])
5064
AC_DEFINE(FREEBSD_SENDFILE_API,1,[Whether the FreeBSD sendfile() API is available])
5065
AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() support should be included])
5072
AC_CACHE_CHECK([for hpux sendfile64 support],samba_cv_HAVE_SENDFILE64,[
5074
#include <sys/socket.h>
5075
#include <sys/uio.h>],
5079
struct iovec hdtrl[2];
5083
hdtrl[0].iov_base = 0;
5084
hdtrl[0].iov_len = 0;
5086
nwritten = sendfile64(tofd, fromfd, offset, total, &hdtrl[0], 0);
5088
samba_cv_HAVE_SENDFILE64=yes,samba_cv_HAVE_SENDFILE64=no)])
5089
if test x"$samba_cv_HAVE_SENDFILE64" = x"yes"; then
5090
AC_DEFINE(HAVE_SENDFILE64,1,[Whether sendfile64() is available])
5091
AC_DEFINE(HPUX_SENDFILE_API,1,[Whether the hpux sendfile() API is available])
5092
AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() support should be included])
5097
AC_CACHE_CHECK([for hpux sendfile support],samba_cv_HAVE_SENDFILE,[
5099
#include <sys/socket.h>
5100
#include <sys/uio.h>],
5104
struct iovec hdtrl[2];
5108
hdtrl[0].iov_base = 0;
5109
hdtrl[0].iov_len = 0;
5111
nwritten = sendfile(tofd, fromfd, offset, total, &hdtrl[0], 0);
5113
samba_cv_HAVE_SENDFILE=yes,samba_cv_HAVE_SENDFILE=no)])
5114
if test x"$samba_cv_HAVE_SENDFILE" = x"yes"; then
5115
AC_DEFINE(HAVE_SENDFILE,1,[Whether sendfile() is available])
5116
AC_DEFINE(HPUX_SENDFILE_API,1,[Whether the hpux sendfile() API is available])
5117
AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() support should be included])
5124
AC_CHECK_LIB(sendfile,sendfilev)
5125
AC_CACHE_CHECK([for solaris sendfilev64 support],samba_cv_HAVE_SENDFILEV64,[
5127
#include <sys/sendfile.h>],
5131
struct sendfilevec vec[2];
5137
vec[0].sfv_fd = SFV_FD_SELF;
5138
vec[0].sfv_flag = 0;
5143
vec[1].sfv_flag = 0;
5146
nwritten = sendfilev64(tofd, vec, sfvcnt, &xferred);
5148
samba_cv_HAVE_SENDFILEV64=yes,samba_cv_HAVE_SENDFILEV64=no)])
5150
if test x"$samba_cv_HAVE_SENDFILEV64" = x"yes"; then
5151
AC_DEFINE(HAVE_SENDFILEV64,1,[Whether sendfilev64() is available])
5152
AC_DEFINE(SOLARIS_SENDFILE_API,1,[Whether the soloris sendfile() API is available])
5153
AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() support should be included])
5158
AC_CACHE_CHECK([for solaris sendfilev support],samba_cv_HAVE_SENDFILEV,[
5160
#include <sys/sendfile.h>],
5164
struct sendfilevec vec[2];
5170
vec[0].sfv_fd = SFV_FD_SELF;
5171
vec[0].sfv_flag = 0;
5176
vec[1].sfv_flag = 0;
5179
nwritten = sendfilev(tofd, vec, sfvcnt, &xferred);
5181
samba_cv_HAVE_SENDFILEV=yes,samba_cv_HAVE_SENDFILEV=no)])
5183
if test x"$samba_cv_HAVE_SENDFILEV" = x"yes"; then
5184
AC_DEFINE(HAVE_SENDFILEV,1,[Whether sendfilev() is available])
5185
AC_DEFINE(SOLARIS_SENDFILE_API,1,[Whether the solaris sendfile() API is available])
5186
AC_DEFINE(WITH_SENDFILE,1,[Whether to include sendfile() support])
5192
AC_CACHE_CHECK([for AIX send_file support],samba_cv_HAVE_SENDFILE,[
5194
#include <sys/socket.h>],
5198
struct sf_parms hdtrl;
5202
hdtrl.header_data = 0;
5203
hdtrl.header_length = 0;
5204
hdtrl.file_descriptor = fromfd;
5205
hdtrl.file_offset = 0;
5206
hdtrl.file_bytes = 0;
5207
hdtrl.trailer_data = 0;
5208
hdtrl.trailer_length = 0;
5210
nwritten = send_file(&tofd, &hdtrl, 0);
5212
samba_cv_HAVE_SENDFILE=yes,samba_cv_HAVE_SENDFILE=no)])
5213
if test x"$samba_cv_HAVE_SENDFILE" = x"yes"; then
5214
AC_DEFINE(HAVE_SENDFILE,1,[Whether sendfile() is available])
5215
AC_DEFINE(AIX_SENDFILE_API,1,[Whether the AIX send_file() API is available])
5216
AC_DEFINE(WITH_SENDFILE,1,[Whether to include sendfile() support])
5233
#################################################
5234
# Check whether winbind is supported on this platform. If so we need to
5235
# build and install client programs, sbin programs and shared libraries
5237
AC_MSG_CHECKING(whether to build winbind)
5239
# Initially, the value of $host_os decides whether winbind is supported
5243
# Define the winbind shared library name and any specific linker flags
5244
# it needs to be built with.
5246
WINBIND_NSS="nsswitch/libnss_winbind.$SHLIBEXT"
5247
WINBIND_WINS_NSS="nsswitch/libnss_wins.$SHLIBEXT"
5248
WINBIND_NSS_LDSHFLAGS=$LDSHFLAGS
5252
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_linux.o"
5255
# FreeBSD winbind client is implemented as a wrapper around
5256
# the Linux version.
5257
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_freebsd.o \
5258
nsswitch/winbind_nss_linux.o"
5259
WINBIND_NSS="nsswitch/nss_winbind.$SHLIBEXT"
5260
WINBIND_WINS_NSS="nsswitch/nss_wins.$SHLIBEXT"
5263
# IRIX has differently named shared libraries
5264
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_irix.o"
5265
WINBIND_NSS="nsswitch/libns_winbind.$SHLIBEXT"
5266
WINBIND_WINS_NSS="nsswitch/libns_wins.$SHLIBEXT"
5269
# Solaris winbind client is implemented as a wrapper around
5270
# the Linux version.
5271
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_solaris.o \
5272
nsswitch/winbind_nss_linux.o"
5273
WINBIND_NSS_EXTRA_LIBS="-lsocket"
5276
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_solaris.o"
5279
# AIX has even differently named shared libraries. No
5280
# WINS support has been implemented yet.
5281
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_aix.o"
5282
WINBIND_NSS_LDSHFLAGS="-Wl,-bexpall,-bM:SRE,-ewb_aix_init"
5283
WINBIND_NSS="nsswitch/WINBIND"
5288
winbind_no_reason=", unsupported on $host_os"
5292
AC_SUBST(WINBIND_NSS)
5293
AC_SUBST(WINBIND_WINS_NSS)
5294
AC_SUBST(WINBIND_NSS_LDSHFLAGS)
5295
AC_SUBST(WINBIND_NSS_EXTRA_OBJS)
5296
AC_SUBST(WINBIND_NSS_EXTRA_LIBS)
5298
# Check the setting of --with-winbind
5300
AC_ARG_WITH(winbind,
5301
[ --with-winbind Build winbind (default, if supported by OS)],
5314
# We need unix domain sockets for winbind
5316
if test x"$HAVE_WINBIND" = x"yes"; then
5317
if test x"$samba_cv_unixsocket" = x"no"; then
5318
winbind_no_reason=", no unix domain socket support on $host_os"
5323
# Display test results
5325
if test x"$HAVE_WINBIND" = x"yes"; then
5327
AC_DEFINE(WITH_WINBIND,1,[Whether to build winbind])
5329
EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/wbinfo\$(EXEEXT)"
5330
EXTRA_SBIN_PROGS="$EXTRA_SBIN_PROGS bin/winbindd\$(EXEEXT)"
5331
if test $BLDSHARED = true; then
5332
SHLIB_PROGS="$SHLIB_PROGS $WINBIND_NSS $WINBIND_WINS_NSS"
5334
if test x"$with_pam" = x"yes"; then
5335
PAM_MODULES="$PAM_MODULES pam_winbind"
5336
INSTALL_PAM_MODULES="installpammodules"
5337
UNINSTALL_PAM_MODULES="uninstallpammodules"
5341
AC_MSG_RESULT(no$winbind_no_reason)
5344
# Solaris 10 does have new member in nss_XbyY_key
5345
AC_CHECK_MEMBER(union nss_XbyY_key.ipnode.af_family,
5346
AC_DEFINE(HAVE_NSS_XBYY_KEY_IPNODE, 1, [Defined if union nss_XbyY_key has ipnode field]),,
5347
[#include <nss_dbdefs.h>])
5349
# Solaris has some extra fields in struct passwd that need to be
5350
# initialised otherwise nscd crashes.
5352
AC_CHECK_MEMBER(struct passwd.pw_comment,
5353
AC_DEFINE(HAVE_PASSWD_PW_COMMENT, 1, [Defined if struct passwd has pw_comment field]),,
5356
AC_CHECK_MEMBER(struct passwd.pw_age,
5357
AC_DEFINE(HAVE_PASSWD_PW_AGE, 1, [Defined if struct passwd has pw_age field]),,
5360
# AIX 4.3.x and 5.1 do not have as many members in
5361
# struct secmethod_table as AIX 5.2
5362
AC_CHECK_MEMBERS([struct secmethod_table.method_attrlist], , ,
5363
[#include <usersec.h>])
5364
AC_CHECK_MEMBERS([struct secmethod_table.method_version], , ,
5365
[#include <usersec.h>])
5368
#################################################
5369
# Check to see if we should use the included popt
5371
AC_ARG_WITH(included-popt,
5372
[ --with-included-popt use bundled popt library, not from system],
5383
if test x"$INCLUDED_POPT" != x"yes"; then
5384
AC_CHECK_LIB(popt, poptGetContext,
5385
INCLUDED_POPT=no, INCLUDED_POPT=yes)
5388
AC_MSG_CHECKING(whether to use included popt)
5389
if test x"$INCLUDED_POPT" = x"yes"; then
5391
BUILD_POPT='$(POPT_OBJS)'
5392
POPTLIBS='$(POPT_OBJS)'
5393
FLAGS1="-I\$(srcdir)/popt"
5399
AC_SUBST(BUILD_POPT)
5403
#################################################
5404
# Check to see if we should use the included iniparser
5406
AC_ARG_WITH(included-iniparser,
5407
[ --with-included-iniparser use bundled iniparser library, not from system],
5411
INCLUDED_INIPARSER=yes
5414
INCLUDED_INIPARSER=no
5418
if test x"$INCLUDED_INIPARSER" != x"yes"; then
5419
AC_CHECK_LIB(iniparser, iniparser_load,
5420
INCLUDED_INIPARSER=no, INCLUDED_INIPARSER=yes)
5423
AC_MSG_CHECKING(whether to use included iniparser)
5424
if test x"$INCLUDED_INIPARSER" = x"yes"; then
5426
BUILD_INIPARSER='$(INIPARSER_OBJ)'
5428
FLAGS1="$FLAGS1 -I\$(srcdir)/iniparser/src"
5432
INIPARSERLIBS="-liniparser"
5434
AC_SUBST(BUILD_INIPARSER)
5435
AC_SUBST(INIPARSERLIBS)
5440
#################################################
5441
# Check if the user wants Python
5443
# At the moment, you can use this to set which Python binary to link
5444
# against. (Libraries built for Python2.2 can't be used by 2.1,
5445
# though they can coexist in different directories.) In the future
5446
# this might make the Python stuff be built by default.
5448
# Defaulting python breaks the clean target if python isn't installed
5453
[ --with-python=PYTHONNAME build Python libraries],
5454
[ case "${withval-python}" in
5457
EXTRA_ALL_TARGETS="$EXTRA_ALL_TARGETS python_ext"
5463
PYTHON=${withval-python}
5468
for i in `echo $default_static_modules | sed -e 's/,/ /g'`
5470
eval MODULE_DEFAULT_$i=STATIC
5473
for i in `echo $default_shared_modules | sed -e 's/,/ /g'`
5475
dnl Fall back to static if we cannot build shared libraries
5476
eval MODULE_DEFAULT_$i=STATIC
5478
if test $BLDSHARED = true; then
5479
eval MODULE_DEFAULT_$i=SHARED
5483
dnl Always built these modules static
5484
MODULE_rpc_spoolss=STATIC
5485
MODULE_rpc_srv=STATIC
5486
MODULE_idmap_tdb=STATIC
5488
AC_ARG_WITH(static-modules,
5489
[ --with-static-modules=MODULES Comma-seperated list of names of modules to statically link in],
5490
[ if test $withval; then
5491
for i in `echo $withval | sed -e 's/,/ /g'`
5493
eval MODULE_$i=STATIC
5497
AC_ARG_WITH(shared-modules,
5498
[ --with-shared-modules=MODULES Comma-seperated list of names of modules to build shared],
5499
[ if test $withval; then
5500
for i in `echo $withval | sed -e 's/,/ /g'`
5502
eval MODULE_$i=SHARED
5506
SMB_MODULE(pdb_ldap, passdb/pdb_ldap.o passdb/pdb_nds.o, "bin/ldapsam.$SHLIBEXT", PDB,
5507
[ PASSDB_LIBS="$PASSDB_LIBS $LDAP_LIBS" ] )
5508
SMB_MODULE(pdb_smbpasswd, passdb/pdb_smbpasswd.o, "bin/smbpasswd.$SHLIBEXT", PDB)
5509
SMB_MODULE(pdb_tdbsam, passdb/pdb_tdb.o, "bin/tdbsam.$SHLIBEXT", PDB)
5510
SMB_SUBSYSTEM(PDB,passdb/pdb_interface.o)
5513
SMB_MODULE(rpc_lsa, \$(RPC_LSA_OBJ), "bin/librpc_lsarpc.$SHLIBEXT", RPC)
5514
SMB_MODULE(rpc_reg, \$(RPC_REG_OBJ), "bin/librpc_winreg.$SHLIBEXT", RPC)
5515
SMB_MODULE(rpc_lsa_ds, \$(RPC_LSA_DS_OBJ), "bin/librpc_lsa_ds.$SHLIBEXT", RPC)
5516
SMB_MODULE(rpc_wks, \$(RPC_WKS_OBJ), "bin/librpc_wkssvc.$SHLIBEXT", RPC)
5517
SMB_MODULE(rpc_svcctl, \$(RPC_SVCCTL_OBJ), "bin/librpc_svcctl.$SHLIBEXT", RPC)
5518
SMB_MODULE(rpc_ntsvcs, \$(RPC_NTSVCS_OBJ), "bin/librpc_ntsvcs.$SHLIBEXT", RPC)
5519
SMB_MODULE(rpc_net, \$(RPC_NETLOG_OBJ), "bin/librpc_NETLOGON.$SHLIBEXT", RPC)
5520
SMB_MODULE(rpc_netdfs, \$(RPC_DFS_OBJ), "bin/librpc_netdfs.$SHLIBEXT", RPC)
5521
SMB_MODULE(rpc_srv, \$(RPC_SVC_OBJ), "bin/librpc_srvsvc.$SHLIBEXT", RPC)
5522
SMB_MODULE(rpc_spoolss, \$(RPC_SPOOLSS_OBJ), "bin/librpc_spoolss.$SHLIBEXT", RPC)
5523
SMB_MODULE(rpc_eventlog, \$(RPC_EVENTLOG_OBJ), "bin/librpc_eventlog.$SHLIBEXT", RPC)
5524
SMB_MODULE(rpc_samr, \$(RPC_SAMR_OBJ), "bin/librpc_samr.$SHLIBEXT", RPC)
5525
SMB_MODULE(rpc_echo, \$(RPC_ECHO_OBJ), "bin/librpc_echo.$SHLIBEXT", RPC)
5526
SMB_MODULE(rpc_unixinfo, \$(RPC_UNIXINFO_OBJ), "bin/librpc_unixinfo.$SHLIBEXT", RPC)
5527
SMB_SUBSYSTEM(RPC,smbd/server.o)
5529
SMB_MODULE(idmap_ldap, sam/idmap_ldap.o, "bin/ldap.$SHLIBEXT", IDMAP)
5530
SMB_MODULE(idmap_tdb, sam/idmap_tdb.o, "bin/tdb.$SHLIBEXT", IDMAP)
5531
SMB_MODULE(idmap_rid, sam/idmap_rid.o, "bin/rid.$SHLIBEXT", IDMAP)
5532
SMB_MODULE(idmap_ad, sam/idmap_ad.o, "bin/ad.$SHLIBEXT", IDMAP)
5533
SMB_SUBSYSTEM(IDMAP,sam/idmap.o)
5535
SMB_MODULE(charset_weird, modules/weird.o, "bin/weird.$SHLIBEXT", CHARSET)
5536
SMB_MODULE(charset_CP850, modules/CP850.o, "bin/CP850.$SHLIBEXT", CHARSET)
5537
SMB_MODULE(charset_CP437, modules/CP437.o, "bin/CP437.$SHLIBEXT", CHARSET)
5538
SMB_MODULE(charset_macosxfs, modules/charset_macosxfs.o,"bin/macosxfs.$SHLIBEXT", CHARSET)
5539
SMB_SUBSYSTEM(CHARSET,lib/iconv.o)
5541
SMB_MODULE(auth_sam, \$(AUTH_SAM_OBJ), "bin/sam.$SHLIBEXT", AUTH)
5542
SMB_MODULE(auth_unix, \$(AUTH_UNIX_OBJ), "bin/unix.$SHLIBEXT", AUTH)
5543
SMB_MODULE(auth_winbind, \$(AUTH_WINBIND_OBJ), "bin/winbind.$SHLIBEXT", AUTH)
5544
SMB_MODULE(auth_server, \$(AUTH_SERVER_OBJ), "bin/smbserver.$SHLIBEXT", AUTH)
5545
SMB_MODULE(auth_domain, \$(AUTH_DOMAIN_OBJ), "bin/domain.$SHLIBEXT", AUTH)
5546
SMB_MODULE(auth_builtin, \$(AUTH_BUILTIN_OBJ), "bin/builtin.$SHLIBEXT", AUTH)
5547
SMB_MODULE(auth_script, \$(AUTH_SCRIPT_OBJ), "bin/script.$SHLIBEXT", AUTH)
5548
SMB_SUBSYSTEM(AUTH,auth/auth.o)
5550
SMB_MODULE(vfs_default, \$(VFS_DEFAULT_OBJ), "bin/default.$SHLIBEXT", VFS)
5551
SMB_MODULE(vfs_recycle, \$(VFS_RECYCLE_OBJ), "bin/recycle.$SHLIBEXT", VFS)
5552
SMB_MODULE(vfs_audit, \$(VFS_AUDIT_OBJ), "bin/audit.$SHLIBEXT", VFS)
5553
SMB_MODULE(vfs_extd_audit, \$(VFS_EXTD_AUDIT_OBJ), "bin/extd_audit.$SHLIBEXT", VFS)
5554
SMB_MODULE(vfs_full_audit, \$(VFS_FULL_AUDIT_OBJ), "bin/full_audit.$SHLIBEXT", VFS)
5555
SMB_MODULE(vfs_netatalk, \$(VFS_NETATALK_OBJ), "bin/netatalk.$SHLIBEXT", VFS)
5556
SMB_MODULE(vfs_fake_perms, \$(VFS_FAKE_PERMS_OBJ), "bin/fake_perms.$SHLIBEXT", VFS)
5557
SMB_MODULE(vfs_default_quota, \$(VFS_DEFAULT_QUOTA_OBJ), "bin/default_quota.$SHLIBEXT", VFS)
5558
SMB_MODULE(vfs_readonly, \$(VFS_READONLY_OBJ), "bin/readonly.$SHLIBEXT", VFS)
5559
SMB_MODULE(vfs_cap, \$(VFS_CAP_OBJ), "bin/cap.$SHLIBEXT", VFS)
5560
SMB_MODULE(vfs_expand_msdfs, \$(VFS_EXPAND_MSDFS_OBJ), "bin/expand_msdfs.$SHLIBEXT", VFS)
5561
SMB_MODULE(vfs_shadow_copy, \$(VFS_SHADOW_COPY_OBJ), "bin/shadow_copy.$SHLIBEXT", VFS)
5562
SMB_MODULE(vfs_afsacl, \$(VFS_AFSACL_OBJ), "bin/afsacl.$SHLIBEXT", VFS)
5563
SMB_MODULE(vfs_catia, \$(VFS_CATIA_OBJ), "bin/catia.$SHLIBEXT", VFS)
5564
SMB_MODULE(vfs_cacheprime, \$(VFS_CACHEPRIME_OBJ), "bin/cacheprime.$SHLIBEXT", VFS)
5565
SMB_MODULE(vfs_prealloc, \$(VFS_PREALLOC_OBJ), "bin/prealloc.$SHLIBEXT", VFS)
5566
SMB_MODULE(vfs_commit, \$(VFS_COMMIT_OBJ), "bin/commit.$SHLIBEXT", VFS)
5568
SMB_SUBSYSTEM(VFS,smbd/vfs.o)
5570
AC_DEFINE_UNQUOTED(STRING_STATIC_MODULES, "$string_static_modules", [String list of builtin modules])
5572
#################################################
5573
# do extra things if we are running insure
5575
if test "${ac_cv_prog_CC}" = "insure"; then
5576
CPPFLAGS="$CPPFLAGS -D__INSURE__"
5579
#################################################
5580
# If run from the build farm, enable NASTY hacks
5581
#################################################
5582
AC_MSG_CHECKING(whether to enable build farm hacks)
5583
if test x"$RUN_FROM_BUILD_FARM" = x"yes"; then
5585
AC_DEFINE(ENABLE_BUILD_FARM_HACKS, 1, [Defined if running in the build farm])
5590
#################################################
5591
# check for bad librt/libpthread interactions
5593
if test x"$samba_cv_HAVE_KERNEL_OPLOCKS_LINUX" = x"yes" -o \
5594
x"$samba_cv_HAVE_KERNEL_CHANGE_NOTIFY" = x"yes" -o \
5595
x"$samba_cv_HAVE_AIO64" = x"yes" -o \
5596
x"$samba_cv_HAVE_AIO" = x"yes" ; then
5598
SMB_IF_RTSIGNAL_BUG(
5600
# Have RT_SIGNAL bug, need to check whether the problem will
5601
# affect anything we have configured.
5604
if test x"$samba_cv_HAVE_KERNEL_OPLOCKS_LINUX" = x"yes"; then
5605
if test x"$rt_signal_lease_ok" = x"no" ; then
5610
if test x"$samba_cv_HAVE_KERNEL_CHANGE_NOTIFY" = x"yes"; then
5611
if test x"$rt_signal_notify_ok" = x"no" ; then
5616
if test x"$samba_cv_HAVE_AIO64" = x"yes" -o \
5617
x"$samba_cv_HAVE_AIO" = x"yes" ; then
5618
if test x"$rt_signal_aio_ok" = x"no" ; then
5623
if test x"$rt_do_error" = x"yes" ; then
5624
SMB_IS_LIBPTHREAD_LINKED(
5628
*** On this platforms, linking Samba against pthreads causes problems
5629
*** with the oplock and change notification mechanisms. You may be
5630
*** using pthreads as a side-effect of using the --with-aio-support
5631
*** or --with-profiling-data options. Please remove these and try again.
5638
*** On this platform, the oplock and change notification mechanisms do not
5639
*** appear to work. Please report this problem to samba-technical@samba.org
5640
*** and attach the config.log file from this directory.
5644
AC_MSG_ERROR(unable to use realtime signals on this platform)
5648
# no RT_SIGNAL bug, we are golden
5649
SMB_IS_LIBPTHREAD_LINKED(
5651
AC_MSG_WARN(using libpthreads - this may degrade performance)
5656
# cross compiling, I hope you know what you are doing
5662
#################################################
5663
# Display summary of libraries detected
5665
AC_MSG_RESULT([Using libraries:])
5666
AC_MSG_RESULT([ LIBS = $LIBS])
5667
if test x"$with_ads_support" != x"no"; then
5668
AC_MSG_RESULT([ KRB5_LIBS = $KRB5_LIBS])
5670
if test x"$with_ldap_support" != x"no"; then
5671
AC_MSG_RESULT([ LDAP_LIBS = $LDAP_LIBS])
5673
AC_MSG_RESULT([ AUTH_LIBS = $AUTH_LIBS])
5675
#################################################
5676
# final configure stuff
5678
AC_MSG_CHECKING([configure summary])
5679
AC_TRY_RUN([#include "${srcdir-.}/tests/summary.c"],
5681
AC_MSG_ERROR([summary failure. Aborting config]); exit 1;,
5682
AC_MSG_WARN([cannot run when cross-compiling]))
5687
# Stuff the smbd-only libraries at the end of the smbd link
5688
# path (if we have them).
5689
SMBD_LIBS="$samba_fam_libs $samba_dmapi_libs"
5692
dnl Remove -L/usr/lib/? from LDFLAGS and LIBS
5693
LIB_REMOVE_USR_LIB(LDFLAGS)
5694
LIB_REMOVE_USR_LIB(LIBS)
5696
dnl Remove -I/usr/include/? from CFLAGS and CPPFLAGS
5697
CFLAGS_REMOVE_USR_INCLUDE(CFLAGS)
5698
CFLAGS_REMOVE_USR_INCLUDE(CPPFLAGS)
5700
AC_OUTPUT(include/stamp-h Makefile script/findsmb smbadduser script/gen-8bit-gap.sh script/installbin.sh script/uninstallbin.sh)
5702
#################################################
5703
# Print very concise instructions on building/use
5704
if test "x$enable_dmalloc" = xyes
5706
AC_MSG_RESULT([Note: The dmalloc debug library will be included. To turn it on use])
5707
AC_MSG_RESULT([ \$ eval \`dmalloc samba\`.])