diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/Makefile-smbtorture | 24 | ||||
-rw-r--r-- | source3/Makefile.in | 3405 | ||||
-rwxr-xr-x | source3/autogen.sh | 121 | ||||
-rwxr-xr-x | source3/config.guess | 1561 | ||||
-rwxr-xr-x | source3/config.sub | 1686 | ||||
-rwxr-xr-x | source3/configure.developer | 7 | ||||
-rw-r--r-- | source3/configure.in | 6693 | ||||
-rw-r--r-- | source3/m4/aclocal.m4 | 899 | ||||
-rw-r--r-- | source3/m4/autoconf-2.60.m4 | 236 | ||||
-rw-r--r-- | source3/m4/check_path.m4 | 89 | ||||
-rw-r--r-- | source3/m4/samba_version.m4 | 29 |
11 files changed, 0 insertions, 14750 deletions
diff --git a/source3/Makefile-smbtorture b/source3/Makefile-smbtorture deleted file mode 100644 index d93e8ad49b..0000000000 --- a/source3/Makefile-smbtorture +++ /dev/null @@ -1,24 +0,0 @@ -WAF_BINARY=buildtools/bin/waf -WAF=$(WAF_BINARY) -WAF_BUILD=WAF_MAKE=1 $(WAF_BINARY) -SAMBA4_BINARIES="smbtorture" - -samba4-configure: - @(cd .. && \ - CFLAGS='' $(WAF) reconfigure || \ - CFLAGS='' $(WAF) configure --enable-selftest --nonshared-binary=$(SAMBA4_BINARIES) --enable-auto-reconfigure --enable-debug) - -.PHONY: samba4-configure - -bin/smbtorture: $(BINARY_PREREQS) samba4-configure samba4-config-compare - cd .. && $(WAF_BUILD) - cp ../bin/smbtorture bin/smbtorture - -.PHONY: bin/smbtorture - -samba4-config-compare: samba4-configure - @echo "Comparing config.h from autoconf and waf" - @echo "Configure results missing from WAF are:" - ../buildtools/compare_config_h3.sh include/autoconf/config.h ../bin/default/include/config.h - @echo "Configure results additionaly found by WAF are:" - DIFF="comm -13" ../buildtools/compare_config_h3.sh include/autoconf/config.h ../bin/default/include/config.h diff --git a/source3/Makefile.in b/source3/Makefile.in deleted file mode 100644 index efe0694444..0000000000 --- a/source3/Makefile.in +++ /dev/null @@ -1,3405 +0,0 @@ -######################################################################### -# Makefile.in for Samba - rewritten for autoconf support -# Copyright Andrew Tridgell 1992-1998 -# Copyright (C) 2001 by Martin Pool <mbp@samba.org> -# Copyright Andrew Bartlett 2002 -# Copyright (C) 2003 Jim McDonough <jmcd@us.ibm.com> -# Copyright (C) 2002-2003 Jelmer Vernooij <jelmer@samba.org> -# Copyright (C) 2006 Lars Mueller <lars@samba.org> -# Copyright (C) 2007 James Peach <jpeach@samba.org> -# Copyright (C) 2008 Michael Adam <obnox@samba.org> -########################################################################### - -prefix=@prefix@ -exec_prefix=@exec_prefix@ -sysconfdir=@sysconfdir@ -localstatedir=@localstatedir@ -datarootdir=@datarootdir@ - -# the following vars come from ../dynconfig/config.m4 -BINDIR=@BINDIR@ -SBINDIR=@SBINDIR@ -LIBDIR=@LIBDIR@ -#LIBEXECDIR=@LIBEXECDIR@ -MANDIR=@MANDIR@ -DATADIR=@DATADIR@ -LOCALEDIR=@LOCALEDIR@ -#SCRIPTSBINDIR=@SCRIPTSBINDIR@ -#PYTHONDIR=@PYTHONDIR@ -#PYTHONARCHDIR=@PYTHONARCHDIR@ -MODULESDIR=@MODULESDIR@ -INCLUDEDIR=@INCLUDEDIR@ -SETUPDIR=@SETUPDIR@ -#PKGCONFIGDIR=@PKGCONFIGDIR@ -CODEPAGEDIR=@CODEPAGEDIR@ -PAMMODULESDIR=@PAMMODULESDIR@ -CONFIGDIR=@CONFIGDIR@ -PRIVATE_DIR=@PRIVATE_DIR@ -LOCKDIR=@LOCKDIR@ -PIDDIR=@PIDDIR@ -STATEDIR=@STATEDIR@ -CACHEDIR=@CACHEDIR@ -LOGFILEBASE=@LOGFILEBASE@ -SOCKET_DIR=@SOCKET_DIR@ -PRIVILEGED_SOCKET_DIR=@PRIVILEGED_SOCKET_DIR@ -WINBINDD_SOCKET_DIR=@WINBINDD_SOCKET_DIR@ -WINBINDD_PRIVILEGED_SOCKET_DIR=@WINBINDD_PRIVILEGED_SOCKET_DIR@ -NMBDSOCKETDIR=@NMBDSOCKETDIR@ -#NTP_SIGND_SOCKET_DIR=@NTP_SIGND_SOCKET_DIR@ -NCALRPCDIR=@NCALRPCDIR@ -CONFIGFILE=@CONFIGFILE@ -LMHOSTSFILE=@LMHOSTSFILE@ -SMB_PASSWD_FILE=@SMB_PASSWD_FILE@ - -selftest_prefix=@selftest_prefix@ - -LIBS=@LIBS@ -CC=@CC@ -SHLD=@SHLD@ -LIB_PATH_VAR=@LIB_PATH_VAR@ - -## Dynamic shared libraries build settings -DSO_EXPORTS_CMD=-Wl,--version-script,$(srcdir)/exports/`basename $@ | sed 's:\.@SHLIBEXT@[\.0-9]*$$:.@SYMSEXT@:'` -DSO_EXPORTS=@DSO_EXPORTS@ -SHLD_DSO = $(SHLD) $(LDSHFLAGS) $(DSO_EXPORTS) -o $@ - -# The MODULE_EXPORTS variable contains the platform-specific linker flags -# needed to restrict the exports for VFS, IDMAP, RPC and PASSDB modules. -MODULE_EXPORTS=@MODULE_EXPORTS@ - -# Add $(DEVELOPER_CFLAGS) to $(CFLAGS) to enable extra compiler -# (GCC) warnings. This is done automatically for --enable-developer, -# --enable-picky-developer and --enable-krb5developer. -DEVELOPER_CFLAGS=@DEVELOPER_CFLAGS@ -CFLAGS=@CFLAGS@ -CPP=@CPP@ -CPPFLAGS=-DHAVE_CONFIG_H @CPPFLAGS@ -PICFLAG=@PICFLAG@ - -AR=@AR@ -LDSHFLAGS=$(PICFLAG) @LDSHFLAGS@ @RELRO_LDFLAGS@ @LDFLAGS@ -lc @LDSHFLAGS_Z_DEFS@ -LDSHFLAGS_MODULES=$(PICFLAG) @LDSHFLAGS@ @RELRO_LDFLAGS@ @LDFLAGS@ @LDSHFLAGS_Z_NODEFS@ -LDFLAGS=@PIE_LDFLAGS@ @RELRO_LDFLAGS@ @LDFLAGS@ - -WINBIND_NSS_LDSHFLAGS=$(PICFLAG) @WINBIND_NSS_LDSHFLAGS@ @LDFLAGS@ -lc @LDSHFLAGS_Z_DEFS@ -AWK=@AWK@ -DYNEXP=@DYNEXP@ -PERL=@PERL@ -PYTHON=@PYTHON@ -LIBDL=@LIBDL@ - -PIDL_ARGS=@PIDL_ARGS@ - -TERMLDFLAGS=@TERMLDFLAGS@ -TERMLIBS=@TERMLIBS@ -PRINT_LIBS=@PRINT_LIBS@ -ZLIB_LIBS=@ZLIB_LIBS@ -AUTH_LIBS=@AUTH_LIBS@ -ACL_LIBS=@ACL_LIBS@ -PASSDB_LIBS=@PASSDB_LIBS@ -IDMAP_LIBS=@IDMAP_LIBS@ -KRB5LIBS=@KRB5_LIBS@ -LDAP_LIBS=@LDAP_LIBS@ -NSCD_LIBS=@NSCD_LIBS@ -LIBWBCLIENT=@LIBWBCLIENT_STATIC@ @LIBWBCLIENT_SHARED@ -LIBWBCLIENT_LIBS=@LIBWBCLIENT_LIBS@ -PTHREAD_LDFLAGS=@PTHREAD_LDFLAGS@ -PTHREAD_CFLAGS=@PTHREAD_CFLAGS@ -DNSSD_LIBS=@DNSSD_LIBS@ -AVAHI_LIBS=@AVAHI_LIBS@ -POPT_LIBS=@POPTLIBS@ -LIBTALLOC=@LIBTALLOC_STATIC@ -LIBTALLOC_LIBS=@LIBTALLOC_LIBS@ -LIBREPLACE_LIBS=@LIBREPLACE_LIBS@ -LIBTDB=@LIBTDB_STATIC@ -LIBTDB_LIBS=@LIBTDB_LIBS@ -TDB_DEPS=@TDB_DEPS@ -LIBNTDB=@LIBNTDB_STATIC@ -LIBNTDB_LIBS=@LIBNTDB_LIBS@ -NTDB_DEPS=@NTDB_DEPS@ -LIBNETAPI=@LIBNETAPI_STATIC@ @LIBNETAPI_SHARED@ -LIBNETAPI_LIBS=@LIBNETAPI_LIBS@ -LIBSMBCLIENT_LIBS=@LIBSMBCLIENT_LIBS@ -LIBSMBSHAREMODES_LIBS=@LIBSMBSHAREMODES_LIBS@ - -TALLOCTORT = @TALLOCTORT@ - -TDBBACKUP = @TDBBACKUP@ -TDBTOOL = @TDBTOOL@ -TDBDUMP = @TDBDUMP@ -TDBRESTORE = @TDBRESTORE@ -TDBTORTURE = @TDBTORTURE@ -NTDBBACKUP = @NTDBBACKUP@ -NTDBTOOL = @NTDBTOOL@ -NTDBDUMP = @NTDBDUMP@ -NTDBRESTORE = @NTDBRESTORE@ -NTDBTORTURE = @NTDBTORTURE@ -PTHREADPOOLTEST = @PTHREADPOOLTEST@ - -INSTALLCMD=@INSTALL@ -INSTALLLIBCMD_SH=@INSTALLLIBCMD_SH@ -INSTALLLIBCMD_A=@INSTALLLIBCMD_A@ -UNINSTALLLIBCMD_SH=@UNINSTALLLIBCMD_SH@ -UNINSTALLLIBCMD_A=@UNINSTALLLIBCMD_A@ - -VPATH=@srcdir@ -srcdir=@abs_srcdir@ -builddir=@abs_builddir@ -# XXX: Perhaps this should be @SHELL@ instead -- apparently autoconf -# will search for a POSIX-compliant shell, and that might not be -# /bin/sh on some platforms. I guess it's not a big problem -- mbp -SHELL=/bin/sh -DESTDIR=/ - -# See the autoconf manual "Installation Directory Variables" for a -# discussion of the subtle use of these variables. - -VFSLIBDIR = $(MODULESDIR)/vfs -PERFCOUNTLIBDIR = $(MODULESDIR)/perfcount -PDBLIBDIR = $(MODULESDIR)/pdb -RPCLIBDIR = $(MODULESDIR)/rpc -IDMAPLIBDIR = $(MODULESDIR)/idmap -NSSINFOLIBDIR = $(MODULESDIR)/nss_info -AUTHLIBDIR = $(MODULESDIR)/auth -CONFIGLIBDIR = $(MODULESDIR)/config -GPEXTLIBDIR = $(MODULESDIR)/gpext -VARDIR = @localstatedir@ - -# The permissions to give the executables and other data -INSTALLPERMS_BIN = 0755 -INSTALLPERMS_DATA = 0644 - -FLAGS = -I. \ - -I$(srcdir) \ - @FLAGS1@ \ - @SAMBA_CPPFLAGS@ \ - $(CPPFLAGS) \ - $(ISA) \ - -I$(srcdir)/lib \ - -I.. \ - -I./../lib/ldb/include \ - -D_SAMBA_BUILD_=3 - -PATH_FLAGS = -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" \ - -DPRIVATE_DIR=\"$(PRIVATE_DIR)\" \ - -DCONFIGFILE=\"$(CONFIGFILE)\" \ - -DSBINDIR=\"$(SBINDIR)\" \ - -DBINDIR=\"$(BINDIR)\" \ - -DLMHOSTSFILE=\"$(LMHOSTSFILE)\" \ - -DLOCKDIR=\"$(LOCKDIR)\" \ - -DPIDDIR=\"$(PIDDIR)\" \ - -DLIBDIR=\"$(LIBDIR)\" \ - -DMODULESDIR=\"$(MODULESDIR)\" \ - -DLOGFILEBASE=\"$(LOGFILEBASE)\" \ - -DSHLIBEXT=\"@SHLIBEXT@\" \ - -DNCALRPCDIR=\"$(NCALRPCDIR)\" \ - -DCONFIGDIR=\"$(CONFIGDIR)\" \ - -DCODEPAGEDIR=\"$(CODEPAGEDIR)\" \ - -DCACHEDIR=\"$(CACHEDIR)\" \ - -DSTATEDIR=\"$(STATEDIR)\" \ - -DNMBDSOCKETDIR=\"$(NMBDSOCKETDIR)\" \ - -DWINBINDD_SOCKET_DIR=\"$(WINBINDD_SOCKET_DIR)\" \ - -DWINBINDD_PRIVILEGED_SOCKET_DIR=\"$(WINBINDD_PRIVILEGED_SOCKET_DIR)\" \ - -DLOCALEDIR=\"$(LOCALEDIR)\" \ - -DDATADIR=\"$(DATADIR)\" \ - -DSETUPDIR=\"$(SETUPDIR)\" - -# You usually want both TDB and NTDB. -LIBTDBS=$(LIBTDB) $(LIBNTDB) -LIBTDBS_LIBS=$(LIBTDB_LIBS) $(LIBNTDB_LIBS) -TDBS_DEPS=$(TDB_DEPS) $(NTDB_DEPS) - -# Note that all executable programs now provide for an optional executable suffix. - -SBIN_PROGS = bin/smbd bin/nmbd @EXTRA_SBIN_PROGS@ - -BIN_PROGS1 = bin/smbclient bin/net bin/smbspool \ - bin/testparm bin/smbstatus bin/smbget \ - bin/smbta-util -BIN_PROGS2 = bin/smbcontrol bin/smbtree $(TDBBACKUP) \ - bin/nmblookup bin/pdbedit $(TDBDUMP) \ - $(TDBRESTORE) $(TDBTOOL) bin/dbwrap_tool -BIN_PROGS3 = bin/smbpasswd bin/rpcclient bin/smbcacls \ - bin/profiles bin/ntlm_auth bin/sharesec \ - bin/smbcquotas bin/eventlogadm - -TORTURE_PROGS = bin/smbtorture3 bin/msgtest \ - bin/locktest2 bin/nsstest bin/vfstest \ - $(TALLOCTORT) bin/replacetort \ - $(TDBTORTURE) $(PTHREADPOOLTEST) \ - bin/smbconftort bin/vlp - -BIN_PROGS = @EXTRA_BIN_PROGS@ \ - $(BIN_PROGS1) $(BIN_PROGS2) $(BIN_PROGS3) - -EVERYTHING_PROGS = bin/debug2html bin/smbfilter \ - $(TALLOCTORT) bin/replacetort \ - bin/log2pcap \ - bin/vlp \ - bin/dbwrap_tool \ - bin/dbwrap_torture - -PAM_MODULES = @PAM_MODULES@ - -NSS_MODULES = @NSS_MODULES@ - -SCRIPTS = $(srcdir)/script/smbtar $(builddir)/script/findsmb - -VFS_MODULES = @VFS_MODULES@ -PERFCOUNT_MODULES = @PERFCOUNT_MODULES@ -PDB_MODULES = @PDB_MODULES@ -IDMAP_MODULES = @IDMAP_MODULES@ -AUTH_MODULES = @AUTH_MODULES@ -NSS_INFO_MODULES = @NSS_INFO_MODULES@ -GPEXT_MODULES = @GPEXT_MODULES@ -MODULES = $(VFS_MODULES) $(PDB_MODULES) $(IDMAP_MODULES) \ - $(AUTH_MODULES) $(NSS_INFO_MODULES) \ - $(GPEXT_MODULES) $(PERFCOUNT_MODULES) - -EXTRA_ALL_TARGETS = @EXTRA_ALL_TARGETS@ - -###################################################################### -# object file lists -###################################################################### - -TDB_LIB_OBJ = lib/util_tdb.o ../lib/util/util_tdb.o \ - ../lib/tdb_wrap/tdb_wrap.o \ - ../lib/dbwrap/dbwrap.o \ - ../lib/dbwrap/dbwrap_local_open.o \ - lib/dbwrap/dbwrap_open.o \ - ../lib/dbwrap/dbwrap_tdb.o \ - ../lib/util/util_ntdb.o \ - ../lib/dbwrap/dbwrap_ntdb.o \ - lib/dbwrap/dbwrap_ctdb.o \ - lib/g_lock.o \ - ../lib/dbwrap/dbwrap_cache.o \ - lib/dbwrap/dbwrap_watch.o \ - ../lib/dbwrap/dbwrap_rbt.o \ - ../lib/dbwrap/dbwrap_util.o - -TDB_VALIDATE_OBJ = lib/tdb_validate.o - -SMBLDAP_OBJ = @SMBLDAP@ - -VERSION_OBJ = lib/version.o - -WBCOMMON_OBJ = ../nsswitch/wb_common.o - -AFS_OBJ = lib/afs.o - -AFS_SETTOKEN_OBJ = lib/afs_settoken.o - -AVAHI_OBJ = @AVAHI_OBJ@ - -SERVER_MUTEX_OBJ = lib/server_mutex.o - -PASSCHANGE_OBJ = libsmb/passchange.o - -LIBNDR_DRSUAPI_OBJ = ../librpc/ndr/ndr_drsuapi.o \ - ../librpc/ndr/ndr_compression.o \ - autoconf/librpc/gen_ndr/ndr_drsuapi.o \ - ../librpc/ndr/ndr_drsblobs.o \ - autoconf/librpc/gen_ndr/ndr_drsblobs.o - -ZLIB_OBJ = @ZLIB_OBJS@ - -COMPRESSION_OBJ = ../lib/compression/lzxpress.o \ - $(ZLIB_OBJ) - -DRSUAPI_OBJ = $(LIBNDR_DRSUAPI_OBJ) \ - $(COMPRESSION_OBJ) - -LIBNDR_NTLMSSP_OBJ = autoconf/librpc/gen_ndr/ndr_ntlmssp.o \ - ../librpc/ndr/ndr_ntlmssp.o - -LIBNDR_OBJ = ../librpc/ndr/ndr_basic.o \ - ../librpc/ndr/ndr.o \ - ../librpc/ndr/ndr_misc.o \ - autoconf/librpc/gen_ndr/ndr_misc.o \ - autoconf/librpc/gen_ndr/ndr_security.o \ - ../librpc/ndr/ndr_sec_helper.o \ - ../librpc/ndr/ndr_string.o \ - ../librpc/ndr/uuid.o \ - ../librpc/ndr/util.o \ - autoconf/librpc/gen_ndr/ndr_server_id.o \ - autoconf/librpc/gen_ndr/ndr_file_id.o \ - autoconf/librpc/gen_ndr/ndr_dcerpc.o - -LIBNDR_GEN_OBJ0 = autoconf/librpc/gen_ndr/ndr_samr.o \ - autoconf/librpc/gen_ndr/ndr_lsa.o - -LIBNDR_NETLOGON_OBJ = autoconf/librpc/gen_ndr/ndr_netlogon.o \ - ../librpc/ndr/ndr_netlogon.o - -LIBNDR_SCHANNEL_OBJ = autoconf/librpc/gen_ndr/ndr_schannel.o \ - ../librpc/ndr/ndr_schannel.o - -LIBNDR_SPOOLSS_OBJ = autoconf/librpc/gen_ndr/ndr_spoolss.o \ - ../librpc/ndr/ndr_spoolss_buf.o - -LIBNDR_NTPRINTING_OBJ = autoconf/librpc/gen_ndr/ndr_ntprinting.o \ - ../librpc/ndr/ndr_ntprinting.o - -LIBNDR_PREG_OBJ = autoconf/librpc/gen_ndr/ndr_preg.o \ - ../librpc/ndr/ndr_preg.o - -LIBNDR_XATTR_OBJ = autoconf/librpc/gen_ndr/ndr_xattr.o \ - ../librpc/ndr/ndr_xattr.o - -LIBNDR_NFS4ACL_OBJ = autoconf/librpc/gen_ndr/ndr_nfs4acl.o - -LIBCLI_SPOOLSS_OBJ = autoconf/librpc/gen_ndr/ndr_spoolss_c.o \ - rpc_client/cli_spoolss.o \ - rpc_client/init_spoolss.o \ - rpc_client/cli_winreg_spoolss.o \ - printing/nt_printing_os2.o - -LIBCLI_EVENTLOG_OBJ = autoconf/librpc/gen_ndr/ndr_eventlog_c.o - -LIBCLI_WINREG_OBJ = autoconf/librpc/gen_ndr/ndr_winreg_c.o \ - rpc_client/cli_winreg.o - -LIBCLI_WINREG_INT_OBJ = $(LIBCLI_WINREG_OBJ) \ - rpc_client/cli_winreg_int.o - -LIBCLI_NTSVCS_OBJ = autoconf/librpc/gen_ndr/ndr_ntsvcs_c.o - -LIBCLI_DRSUAPI_OBJ = autoconf/librpc/gen_ndr/ndr_drsuapi_c.o - -LIBCLI_DFS_OBJ = autoconf/librpc/gen_ndr/ndr_dfs_c.o - -LIBCLI_ECHO_OBJ = autoconf/librpc/gen_ndr/ndr_echo_c.o - -LIBCLI_INITSHUTDOWN_OBJ = autoconf/librpc/gen_ndr/ndr_initshutdown_c.o - -LIBCLI_DSSETUP_OBJ = autoconf/librpc/gen_ndr/ndr_dssetup_c.o - -LIBCLI_SVCCTL_OBJ = autoconf/librpc/gen_ndr/ndr_svcctl_c.o - -LIBCLI_WKSSVC_OBJ = autoconf/librpc/gen_ndr/ndr_wkssvc_c.o - -LIBCLI_SRVSVC_OBJ = autoconf/librpc/gen_ndr/ndr_srvsvc_c.o - -LIBCLI_LSA_OBJ = autoconf/librpc/gen_ndr/ndr_lsa_c.o \ - rpc_client/cli_lsarpc.o \ - rpc_client/init_lsa.o - -LIBCLI_SAMR_OBJ = autoconf/librpc/gen_ndr/ndr_samr_c.o \ - rpc_client/cli_samr.o - -LIBCLI_NETLOGON_OBJ = autoconf/librpc/gen_ndr/ndr_netlogon_c.o \ - rpc_client/cli_netlogon.o \ - rpc_client/util_netlogon.o \ - rpc_client/init_netlogon.o - -LIBCLI_EPMAPPER_OBJ = autoconf/librpc/gen_ndr/ndr_epmapper_c.o - -LIBCLI_FSRVP_OBJ = autoconf/librpc/gen_ndr/ndr_fsrvp_c.o - -LIBNDR_GEN_OBJ = autoconf/librpc/gen_ndr/ndr_wkssvc.o \ - $(LIBNDR_GEN_OBJ0) \ - autoconf/librpc/gen_ndr/ndr_dfs.o \ - autoconf/librpc/gen_ndr/ndr_dfsblobs.o \ - autoconf/librpc/gen_ndr/ndr_echo.o \ - autoconf/librpc/gen_ndr/ndr_winreg.o \ - autoconf/librpc/gen_ndr/ndr_initshutdown.o \ - autoconf/librpc/gen_ndr/ndr_srvsvc.o \ - autoconf/librpc/gen_ndr/ndr_eventlog.o \ - $(LIBNDR_NETLOGON_OBJ) \ - autoconf/librpc/gen_ndr/ndr_dssetup.o \ - autoconf/librpc/gen_ndr/ndr_epmapper.o \ - autoconf/librpc/gen_ndr/ndr_ntsvcs.o \ - $(LIBNDR_SPOOLSS_OBJ) \ - autoconf/librpc/gen_ndr/ndr_fsrvp.o - -# this includes only the low level parse code, not stuff -# that requires knowledge of security contexts -REG_PARSE_PRS_OBJ = registry/reg_parse_prs.o - -LIBREPLACE_OBJ = @LIBREPLACE_OBJS@ - -SOCKET_WRAPPER_OBJ = @SOCKET_WRAPPER_OBJS@ -NSS_WRAPPER_OBJ = @NSS_WRAPPER_OBJS@ -UID_WRAPPER_OBJ = @UID_WRAPPER_OBJS@ - -LIBSAMBAUTIL_OBJ = \ - $(LIBREPLACE_OBJ) \ - $(SOCKET_WRAPPER_OBJ) \ - $(UID_WRAPPER_OBJ) \ - $(NSS_WRAPPER_OBJ) - -UTIL_OBJ = ../lib/util/rbtree.o ../lib/util/signal.o ../lib/util/time.o \ - ../lib/util/xfile.o ../lib/util/util_strlist.o \ - ../lib/util/util_file.o ../lib/util/data_blob.o \ - ../lib/util/util.o ../lib/util/util_paths.o ../lib/util/fsusage.o \ - ../lib/util/params.o ../lib/util/talloc_stack.o \ - ../lib/util/genrand.o ../lib/util/util_net.o \ - ../lib/util/become_daemon.o ../lib/util/system.o \ - ../lib/util/tevent_unix.o ../lib/util/tevent_ntstatus.o \ - ../lib/util/tevent_werror.o ../lib/util/util_process.o\ - lib/tevent_barrier.o \ - ../lib/util/smb_threads.o ../lib/util/util_id.o \ - ../lib/util/blocking.o ../lib/util/rfc1738.o \ - ../lib/util/select.o ../lib/util/util_pw.o ../lib/util/server_id.o \ - ../lib/util/setid.o ../lib/util/pidfile.o ../lib/util/getpass.o - -CRYPTO_OBJ = ../lib/crypto/crc32.o @CRYPTO_MD5_OBJ@ \ - ../lib/crypto/hmacmd5.o ../lib/crypto/arcfour.o \ - ../lib/crypto/md4.o \ - ../lib/crypto/sha256.o ../lib/crypto/hmacsha256.o \ - ../lib/crypto/aes.o ../lib/crypto/rijndael-alg-fst.o \ - ../lib/crypto/aes_cmac_128.o ../lib/crypto/aes_ccm_128.o - -LIB_OBJ = $(LIBSAMBAUTIL_OBJ) $(UTIL_OBJ) $(CRYPTO_OBJ) $(LIBTSOCKET_OBJ) \ - lib/messages.o autoconf/librpc/gen_ndr/ndr_messaging.o lib/messages_local.o \ - lib/messages_ctdbd.o lib/ctdb_packet.o lib/ctdbd_conn.o \ - lib/ctdb_conn.o \ - lib/msg_channel.o \ - lib/id_cache.o \ - ../lib/socket/interfaces.o lib/memcache.o \ - lib/talloc_dict.o \ - lib/serverid.o \ - lib/asys/asys.o \ - lib/util_transfer_file.o ../lib/async_req/async_sock.o \ - lib/addrchange.o \ - $(TDB_LIB_OBJ) \ - $(VERSION_OBJ) lib/charcnv.o ../lib/util/charset/convert_string.o \ - ../lib/util/charset/pull_push.o \ - lib/fstring.o ../lib/util/debug.o ../lib/util/debug_s3.o ../lib/util/fault.o \ - lib/interface.o lib/dumpcore.o \ - lib/system.o lib/sendfile.o lib/recvfile.o lib/time.o \ - lib/username.o \ - ../libds/common/flag_mapping.o \ - lib/access.o lib/smbrun.o \ - ../lib/util/bitmap.o ../lib/util/dprintf.o $(UTIL_REG_OBJ) \ - lib/wins_srv.o \ - lib/util_str.o ../lib/util/util_str_common.o \ - ../lib/util/util_str.o \ - ../lib/util/base64.o lib/util_sid.o \ - ../lib/util/charset/util_unistr.o \ - ../lib/util/charset/util_unistr_w.o ../lib/util/charset/codepoints.o ../lib/util/charset/util_str.o lib/util_file.o \ - lib/util.o lib/util_malloc.o lib/namearray.o lib/util_cmdline.o lib/util_names.o \ - lib/util_sock.o lib/sock_exec.o lib/util_sec.o \ - lib/substitute.o lib/substitute_generic.o ../lib/util/substitute.o \ - lib/ms_fnmatch.o ../lib/util/ms_fnmatch.o lib/errmap_unix.o ../libcli/util/errmap_unix.o \ - lib/tallocmsg.o lib/dmallocmsg.o \ - ../libcli/smb/smb_signing.o \ - ../lib/util/charset/iconv.o ../lib/util/charset/weird.o \ - ../lib/util/charset/charset_macosxfs.o intl/lang_tdb.o \ - lib/adt_tree.o lib/gencache.o \ - ../lib/util/modules.o lib/events.o ../lib/util/tevent_debug.o @LIBTEVENT_OBJ0@ \ - @CCAN_OBJ@ \ - lib/server_contexts.o \ - lib/server_prefork.o \ - lib/server_prefork_util.o \ - lib/ldap_escape.o \ - ../libcli/security/secdesc.o ../libcli/security/access_check.o \ - ../libcli/security/secace.o ../libcli/security/object_tree.o \ - ../libcli/security/sddl.o ../libcli/security/session.o \ - ../libcli/security/secacl.o @PTHREADPOOL_OBJ@ \ - lib/fncall.o \ - libads/krb5_errs.o lib/system_smbd.o lib/audit.o $(LIBNDR_OBJ) \ - lib/file_id.o lib/idmap_cache.o \ - lib/tevent_wait.o \ - ../libcli/security/dom_sid.o ../libcli/security/security_descriptor.o \ - ../libcli/security/security_token.o ../libcli/security/util_sid.o \ - ../libcli/smb/util.o ../lib/util/idtree.o - -LIB_DUMMY_OBJ = lib/smbd_shim.o lib/dummyparam.o -LIB_NONSMBD_OBJ = $(LIB_OBJ) $(LIB_DUMMY_OBJ) - -READLINE_OBJ = ../libcli/smbreadline/smbreadline.o - -# Also depends on $(SECRETS_OBJ) $(LIBSAMBA_OBJ) -# Be sure to include them into your application -POPT_LIB_OBJ = lib/popt_common.o - -PARAM_WITHOUT_REG_OBJ = ../dynconfig/dynconfig.o param/loadparm.o param/loadparm_ctx.o ../lib/param/loadparm_server_role.o param/util.o lib/sharesec.o lib/ldap_debug_handler.o ../lib/param/loadparm.o ../lib/param/util.o -PARAM_REG_ADD_OBJ = $(REG_SMBCONF_OBJ) $(LIBSMBCONF_OBJ) $(PRIVILEGES_BASIC_OBJ) -PARAM_OBJ = $(PARAM_WITHOUT_REG_OBJ) $(PARAM_REG_ADD_OBJ) - -KRBCLIENT_OBJ = libads/kerberos.o libads/ads_status.o - -LIBADDNS_OBJ0 = ../lib/addns/dnsrecord.o ../lib/addns/dnsutils.o ../lib/addns/dnssock.o \ - ../lib/addns/dnsgss.o ../lib/addns/dnsmarshall.o ../lib/addns/error.o -LIBADDNS_OBJ = $(LIBADDNS_OBJ0) $(SOCKET_WRAPPER_OBJ) - -GPEXT_OBJ = ../libgpo/gpext/gpext.o @GPEXT_STATIC@ - -LIBGPO_OBJ0 = ../libgpo/gpo_ldap.o ../libgpo/gpo_ini.o ../libgpo/gpo_util.o \ - ../libgpo/gpo_fetch.o libgpo/gpo_filesync.o ../libgpo/gpo_sec.o \ - libgpo/gpo_reg.o \ - $(GPEXT_OBJ) -LIBGPO_OBJ = $(LIBGPO_OBJ0) - -LIBADS_OBJ = libads/ldap.o \ - libads/sasl.o libads/sasl_wrapping.o \ - libads/krb5_setpw.o \ - libads/kerberos_util.o \ - libads/ldap_user.o \ - libads/ads_struct.o libads/kerberos_keytab.o \ - libads/disp_sec.o libads/ldap_utils.o \ - libads/ldap_schema.o libads/util.o libads/ndr.o - -LIBADS_SERVER_OBJ = libads/authdata.o ../auth/kerberos/kerberos_pac.o \ - ../librpc/ndr/ndr_krb5pac.o \ - autoconf/librpc/gen_ndr/ndr_krb5pac.o - -LIBADS_PRINTER_OBJ = libads/ldap_printer.o - -SECRETS_OBJ = passdb/secrets.o passdb/machine_account_secrets.o passdb/machine_sid.o \ - autoconf/librpc/gen_ndr/ndr_secrets.o \ - passdb/secrets_lsa.o - -LIBNBT_OBJ = ../libcli/nbt/nbtname.o \ - ../libcli/netlogon/netlogon.o \ - autoconf/librpc/gen_ndr/ndr_nbt.o \ - ../librpc/ndr/ndr_nbt.o \ - autoconf/librpc/gen_ndr/ndr_svcctl.o \ - ../librpc/ndr/ndr_svcctl.o - -LIBNMB_OBJ = libsmb/unexpected.o libsmb/namecache.o libsmb/nmblib.o \ - libsmb/namequery.o ../libcli/nbt/lmhosts.o ../libcli/dns/dns_hosts_file.o libsmb/conncache.o \ - ../lib/addns/dnsquery.o libads/sitename_cache.o - -NTERR_OBJ = ../libcli/util/nterr.o libsmb/smberr.o -DOSERR_OBJ = ../libcli/util/doserr.o -ERRORMAP_OBJ = ../libcli/util/errormap.o libsmb/errormap.o -DCE_RPC_ERR_OBJ = ../librpc/rpc/dcerpc_error.o - -LIBSMB_ERR_OBJ0 = $(NTERR_OBJ) $(DOSERR_OBJ) $(ERRORMAP_OBJ) $(DCE_RPC_ERR_OBJ) - -LIBSMB_ERR_OBJ1 = ../libcli/auth/smbdes.o ../libcli/auth/smbencrypt.o ../libcli/auth/msrpc_parse.o ../libcli/auth/session.o - -LIBSMB_ERR_OBJ = $(LIBSMB_ERR_OBJ0) $(LIBSMB_ERR_OBJ1) \ - $(SECRETS_OBJ) - -LIBSMB_OBJ0 = \ - ../lib/util/asn1.o \ - ../libcli/auth/spnego_parse.o \ - ../libcli/auth/ntlm_check.o \ - libsmb/ntlmssp.o \ - libsmb/ntlmssp_wrap.o \ - libsmb/auth_generic.o \ - ../lib/krb5_wrap/krb5_samba.o \ - libsmb/clispnego.o \ - ../auth/gensec/gensec.o \ - ../auth/gensec/gensec_start.o \ - ../auth/gensec/gensec_util.o \ - ../auth/gensec/spnego.o \ - ../auth/credentials/credentials.o \ - ../auth/credentials/credentials_ntlm.o \ - ../auth/credentials/credentials_samba3.o \ - ../auth/ntlmssp/ntlmssp.o \ - ../auth/ntlmssp/ntlmssp_util.o \ - ../auth/ntlmssp/ntlmssp_sign.o \ - ../auth/ntlmssp/ntlmssp_client.o \ - ../auth/ntlmssp/gensec_ntlmssp.o \ - ../auth/ntlmssp/gensec_ntlmssp_server.o \ - $(LIBNDR_NTLMSSP_OBJ) \ - ../auth/ntlmssp/ntlmssp_ndr.o \ - ../auth/ntlmssp/ntlmssp_server.o - -LIBSAMBA_OBJ = $(LIBSMB_OBJ0) \ - $(LIBSMB_ERR_OBJ) - -LIBCLI_LDAP_MESSAGE_OBJ = ../libcli/ldap/ldap_message.o -LIBCLI_LDAP_NDR_OBJ = ../libcli/ldap/ldap_ndr.o ../lib/ldb/common/ldb_parse.o - -LIBTSOCKET_OBJ = ../lib/tsocket/tsocket.o \ - ../lib/tsocket/tsocket_helpers.o \ - ../lib/tsocket/tsocket_bsd.o - -CLDAP_OBJ = libads/cldap.o \ - ../libcli/cldap/cldap.o \ - $(LIBCLI_LDAP_MESSAGE_OBJ) $(LIBCLI_LDAP_NDR_OBJ) - -TLDAP_OBJ = lib/tldap.o lib/tldap_util.o lib/util_tsock.o - -SCHANNEL_OBJ = ../libcli/auth/credentials.o \ - ../libcli/auth/schannel_sign.o \ - ../libcli/auth/schannel_state_tdb.o \ - $(LIBNDR_SCHANNEL_OBJ) - -LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.o \ - libsmb/reparse_symlink.o \ - libsmb/clisymlink.o \ - libsmb/clirap.o libsmb/clierror.o libsmb/climessage.o \ - libsmb/clireadwrite.o libsmb/clilist.o libsmb/cliprint.o \ - libsmb/clitrans.o libsmb/clisecdesc.o libsmb/clidgram.o \ - libsmb/clistr.o libsmb/cliquota.o libsmb/clifsinfo.o libsmb/clidfs.o \ - libsmb/clioplock.o libsmb/clirap2.o \ - libsmb/async_smb.o \ - ../libcli/smb/smb_seal.o \ - ../libcli/smb/read_smb.o \ - ../libcli/smb/smbXcli_base.o \ - ../libcli/smb/smb1cli_trans.o \ - ../libcli/smb/smb1cli_echo.o \ - ../libcli/smb/smb2cli_session.o \ - libsmb/smb2cli_tcon.o \ - ../libcli/smb/smb2cli_create.o \ - ../libcli/smb/smb2_create_blob.o \ - ../libcli/smb/smb2_signing.o \ - ../libcli/smb/smb2cli_close.o \ - ../libcli/smb/smb2cli_flush.o \ - ../libcli/smb/smb2cli_read.o \ - ../libcli/smb/smb2cli_write.o \ - ../libcli/smb/smb2cli_query_directory.o \ - ../libcli/smb/smb2cli_ioctl.o \ - ../libcli/smb/smb2cli_query_info.o \ - ../libcli/smb/smb2cli_set_info.o \ - ../libcli/smb/smb2cli_echo.o \ - libsmb/cli_np_tstream.o \ - libsmb/smbsock_connect.o \ - $(LIBSAMBA_OBJ) \ - $(LIBNMB_OBJ) \ - $(LIBNBT_OBJ) \ - $(CLDAP_OBJ) \ - $(DRSUAPI_OBJ) - -LIBMSRPC_OBJ = $(SCHANNEL_OBJ) \ - rpc_client/cli_pipe.o \ - $(LIBCLI_NETLOGON_OBJ) \ - librpc/crypto/gse_krb5.o \ - librpc/crypto/gse.o \ - ../auth/kerberos/gssapi_pac.o \ - ../lib/krb5_wrap/gss_samba.o \ - librpc/rpc/rpc_common.o \ - rpc_client/rpc_transport_np.o \ - rpc_client/rpc_transport_sock.o \ - rpc_client/rpc_transport_tstream.o \ - ../librpc/rpc/binding.o \ - ../librpc/rpc/dcerpc_util.o \ - ../librpc/rpc/binding_handle.o \ - librpc/rpc/dcerpc_helpers.o \ - $(LIBCLI_EPMAPPER_OBJ) - -LIBMSRPC_GEN_OBJ = $(LIBNDR_GEN_OBJ) - -# -# registry-related objects -# -UTIL_REG_OBJ = ../libcli/registry/util_reg.o - -REG_INIT_BASIC_OBJ = registry/reg_init_basic.o -REG_INIT_SMBCONF_OBJ = registry/reg_init_smbconf.o -REG_INIT_FULL_OBJ = registry/reg_init_full.o - -REGFIO_OBJ = registry/regfio.o \ - $(REG_PARSE_PRS_OBJ) - -REG_API_REGF_OBJ = registry/reg_api_regf.o - -REGOBJS_OBJ = registry/reg_objects.o - -REG_BACKENDS_BASE_OBJ = registry/reg_backend_db.o - -REG_BACKENDS_SMBCONF_OBJ = registry/reg_backend_smbconf.o - -REG_BACKENDS_EXTRA_OBJ = registry/reg_backend_printing.o \ - registry/reg_backend_shares.o \ - registry/reg_backend_netlogon_params.o \ - registry/reg_backend_prod_options.o \ - registry/reg_backend_tcpip_params.o \ - registry/reg_backend_hkpt_params.o \ - registry/reg_backend_current_version.o \ - registry/reg_backend_perflib.o - -REG_BASE_OBJ = registry/reg_api.o \ - registry/reg_dispatcher.o \ - registry/reg_cachehook.o \ - $(REGOBJS_OBJ) \ - registry/reg_util_internal.o \ - lib/util_nttoken.o \ - $(REG_BACKENDS_BASE_OBJ) \ - registry/reg_parse_internal.o \ - lib/cbuf.o lib/srprs.o \ - $(REG_INIT_BASIC_OBJ) - -REG_SMBCONF_OBJ = $(REG_BASE_OBJ) \ - registry/reg_util_token.o \ - registry/reg_api_util.o \ - $(REG_BACKENDS_SMBCONF_OBJ) \ - $(REG_INIT_SMBCONF_OBJ) - -REG_FULL_OBJ = $(REG_SMBCONF_OBJ) \ - $(REG_BACKENDS_EXTRA_OBJ) \ - $(REG_INIT_FULL_OBJ) \ - registry/reg_perfcount.o \ - autoconf/librpc/gen_ndr/ndr_perfcount.o - -LIB_EVENTLOG_OBJ = lib/eventlog/eventlog.o - -DCE_RPC_EP_OBJ = librpc/rpc/dcerpc_ep.o - -RPC_LSARPC_OBJ = rpc_server/lsa/srv_lsa_nt.o \ - autoconf/librpc/gen_ndr/srv_lsa.o \ - ../libcli/lsarpc/util_lsarpc.o - -RPC_NETLOGON_OBJ = rpc_server/netlogon/srv_netlog_nt.o \ - autoconf/librpc/gen_ndr/srv_netlogon.o - -RPC_SAMR_OBJ = rpc_server/samr/srv_samr_nt.o \ - rpc_server/samr/srv_samr_util.o \ - rpc_server/samr/srv_samr_chgpasswd.o \ - autoconf/librpc/gen_ndr/srv_samr.o - -RPC_INITSHUTDOWN_OBJ = autoconf/librpc/gen_ndr/srv_initshutdown.o rpc_server/initshutdown/srv_initshutdown_nt.o - -RPC_WINREG_OBJ = rpc_server/winreg/srv_winreg_nt.o \ - autoconf/librpc/gen_ndr/srv_winreg.o - -RPC_DSSETUP_OBJ = rpc_server/dssetup/srv_dssetup_nt.o autoconf/librpc/gen_ndr/srv_dssetup.o - -RPC_SRVSVC_OBJ = rpc_server/srvsvc/srv_srvsvc_nt.o \ - autoconf/librpc/gen_ndr/srv_srvsvc.o - -RPC_WKSSVC_OBJ = autoconf/librpc/gen_ndr/srv_wkssvc.o \ - rpc_server/wkssvc/srv_wkssvc_nt.o - -RPC_SVCCTL_OBJ = rpc_server/svcctl/srv_svcctl_nt.o \ - rpc_server/svcctl/srv_svcctl_reg.o \ - autoconf/librpc/gen_ndr/srv_svcctl.o \ - services/svc_winreg_glue.o \ - services/svc_spoolss.o services/svc_rcinit.o \ - services/svc_netlogon.o services/svc_winreg.o \ - services/svc_wins.o - -RPC_NTSVCS_OBJ = rpc_server/ntsvcs/srv_ntsvcs_nt.o \ - autoconf/librpc/gen_ndr/srv_ntsvcs.o - -RPC_NETDFS_OBJ = autoconf/librpc/gen_ndr/srv_dfs.o \ - rpc_server/dfs/srv_dfs_nt.o - -RPC_SPOOLSS_OBJ = rpc_server/spoolss/srv_spoolss_nt.o \ - rpc_server/spoolss/srv_spoolss_util.o \ - autoconf/librpc/gen_ndr/srv_spoolss.o - -RPC_EVENTLOG_OBJ = rpc_server/eventlog/srv_eventlog_nt.o \ - rpc_server/eventlog/srv_eventlog_reg.o \ - $(LIB_EVENTLOG_OBJ) autoconf/librpc/gen_ndr/srv_eventlog.o - -NPA_TSTREAM_OBJ = ../libcli/named_pipe_auth/npa_tstream.o \ - autoconf/librpc/gen_ndr/ndr_named_pipe_auth.o \ - ../auth/auth_sam_reply.o autoconf/librpc/gen_ndr/ndr_auth.o ../librpc/ndr/ndr_auth.o - -RPC_NCACN_NP = rpc_server/srv_pipe_register.o rpc_server/rpc_ncacn_np.o \ - rpc_server/rpc_handles.o rpc_server/rpc_contexts.o \ - rpc_server/srv_access_check.o - -RPC_CONFIG = rpc_server/rpc_config.o - -RPC_SERVICE = rpc_server/rpc_server.o - -RPC_CRYPTO = rpc_server/dcesrv_auth_generic.o - -RPC_PIPE_OBJ = rpc_server/srv_pipe.o rpc_server/srv_pipe_hnd.o \ - $(RPC_CONFIG) $(RPC_NCACN_NP) $(RPC_SERVICE) $(RPC_CRYPTO) - -RPC_RPCECHO_OBJ = rpc_server/echo/srv_echo_nt.o autoconf/librpc/gen_ndr/srv_echo.o - -RPC_EPMAPPER_OBJ = rpc_server/epmapper/srv_epmapper.o autoconf/librpc/gen_ndr/srv_epmapper.o - -RPC_SERVER_REGISTER_OBJ = rpc_server/rpc_ep_register.o $(DCE_RPC_EP_OBJ) - -RPC_SERVER_OBJ = $(RPC_LSARPC_OBJ) $(RPC_WINREG_OBJ) $(RPC_INITSHUTDOWN_OBJ) \ - $(RPC_DSSETUP_OBJ) $(RPC_WKSSVC_OBJ) $(RPC_SVCCTL_OBJ) \ - $(RPC_NTSVCS_OBJ) $(RPC_NETLOGON_OBJ) $(RPC_NETDFS_OBJ) \ - $(RPC_SRVSVC_OBJ) $(RPC_SPOOLSS_OBJ) $(RPC_EVENTLOG_OBJ) \ - $(RPC_SAMR_OBJ) $(RPC_RPCECHO_OBJ) $(RPC_EPMAPPER_OBJ) \ - $(RPC_PIPE_OBJ) $(NPA_TSTREAM_OBJ) \ - $(LIBCLI_SPOOLSS_OBJ) \ - $(LIBCLI_WINREG_INT_OBJ) \ - $(LIBCLI_SRVSVC_OBJ) \ - $(LIBCLI_LSA_OBJ) \ - $(LIBCLI_SAMR_OBJ) \ - $(RPC_SERVER_REGISTER_OBJ) \ - $(RPC_CLIENT_SCHANNEL_OBJ) \ - rpc_server/rpc_sock_helper.o \ - rpc_server/rpc_service_setup.o \ - rpc_client/init_samr.o - -RPC_CLIENT_SCHANNEL_OBJ = rpc_client/cli_pipe_schannel.o - -LOCKING_OBJ = locking/locking.o locking/brlock.o locking/posix.o \ - autoconf/librpc/gen_ndr/ndr_open_files.o locking/share_mode_lock.o - -PRIVILEGES_BASIC_OBJ = ../libcli/security/privileges.o - -PRIVILEGES_OBJ = lib/privileges.o - -PASSDB_GET_SET_OBJ = passdb/pdb_get_set.o - -PASSDB_OBJ = $(PASSDB_GET_SET_OBJ) passdb/passdb.o passdb/pdb_interface.o \ - lib/util_wellknown.o lib/util_builtin.o passdb/pdb_compat.o \ - lib/util_sid_passdb.o \ - lib/util_unixsids.o passdb/lookup_sid.o \ - passdb/login_cache.o @PDB_STATIC@ \ - passdb/account_pol.o $(PRIVILEGES_OBJ) \ - lib/util_nscd.o lib/winbind_util.o $(SERVER_MUTEX_OBJ) \ - passdb/pdb_util.o passdb/pdb_ldap_schema.o \ - passdb/pdb_secrets.o - -DEVEL_HELP_WEIRD_OBJ = ../lib/util/charset/weird.o -CHARSET_MACOSXFS_OBJ = ../lib/util/charset/charset_macosxfs.o - -GROUPDB_OBJ = groupdb/mapping.o groupdb/mapping_tdb.o - -PROFILE_OBJ = profile/profile.o -PROFILES_OBJ = utils/profiles.o \ - $(LIBSMB_ERR_OBJ) \ - $(PARAM_OBJ) \ - $(LIB_OBJ) $(LIB_DUMMY_OBJ) \ - $(POPT_LIB_OBJ) \ - $(REGFIO_OBJ) - -OPLOCK_OBJ = smbd/oplock.o smbd/oplock_irix.o smbd/oplock_linux.o - -NOTIFY_OBJ = smbd/notify.o smbd/notify_inotify.o smbd/notify_internal.o \ - autoconf/librpc/gen_ndr/ndr_notify.o - -FNAME_UTIL_OBJ = lib/filename_util.o - -NFS4ACL_OBJ = modules/nfs4_acls.o modules/non_posix_acls.o - -VFS_DEFAULT_OBJ = modules/vfs_default.o -VFS_AUDIT_OBJ = modules/vfs_audit.o -VFS_EXTD_AUDIT_OBJ = modules/vfs_extd_audit.o -VFS_FULL_AUDIT_OBJ = modules/vfs_full_audit.o -VFS_FAKE_PERMS_OBJ = modules/vfs_fake_perms.o -VFS_FAKE_ACLS_OBJ = modules/vfs_fake_acls.o autoconf/librpc/gen_ndr/ndr_smb_acl.o -VFS_RECYCLE_OBJ = modules/vfs_recycle.o -VFS_NETATALK_OBJ = modules/vfs_netatalk.o -VFS_DEFAULT_QUOTA_OBJ = modules/vfs_default_quota.o -VFS_READONLY_OBJ = modules/vfs_readonly.o modules/getdate.o -VFS_CAP_OBJ = modules/vfs_cap.o -VFS_EXPAND_MSDFS_OBJ = modules/vfs_expand_msdfs.o -VFS_SHADOW_COPY_OBJ = modules/vfs_shadow_copy.o -VFS_SHADOW_COPY2_OBJ = modules/vfs_shadow_copy2.o -VFS_AFSACL_OBJ = modules/vfs_afsacl.o -VFS_XATTR_TDB_OBJ = modules/vfs_xattr_tdb.o lib/xattr_tdb.o -VFS_POSIXACL_OBJ = modules/vfs_posixacl.o -VFS_AIXACL_OBJ = modules/vfs_aixacl.o modules/vfs_aixacl_util.o -VFS_AIXACL2_OBJ = modules/vfs_aixacl2.o modules/vfs_aixacl_util.o $(NFS4ACL_OBJ) -VFS_SOLARISACL_OBJ = modules/vfs_solarisacl.o -VFS_ZFSACL_OBJ = modules/vfs_zfsacl.o $(NFS4ACL_OBJ) -VFS_NFS4ACL_XATTR_OBJ = modules/vfs_nfs4acl_xattr.o $(LIBNDR_NFS4ACL_OBJ) $(NFS4ACL_OBJ) -VFS_HPUXACL_OBJ = modules/vfs_hpuxacl.o -VFS_TRU64ACL_OBJ = modules/vfs_tru64acl.o -VFS_CATIA_OBJ = modules/vfs_catia.o -VFS_STREAMS_XATTR_OBJ = modules/vfs_streams_xattr.o -VFS_STREAMS_DEPOT_OBJ = modules/vfs_streams_depot.o -VFS_CACHEPRIME_OBJ = modules/vfs_cacheprime.o -VFS_PREALLOC_OBJ = modules/vfs_prealloc.o -VFS_COMMIT_OBJ = modules/vfs_commit.o -VFS_GPFS_OBJ = modules/vfs_gpfs.o modules/gpfs.o $(NFS4ACL_OBJ) -VFS_NOTIFY_FAM_OBJ = modules/vfs_notify_fam.o -VFS_READAHEAD_OBJ = modules/vfs_readahead.o -VFS_TSMSM_OBJ = modules/vfs_tsmsm.o -VFS_FILEID_OBJ = modules/vfs_fileid.o -VFS_AIO_FORK_OBJ = modules/vfs_aio_fork.o -VFS_AIO_PTHREAD_OBJ = modules/vfs_aio_pthread.o -VFS_AIO_POSIX_OBJ = modules/vfs_aio_posix.o -VFS_AIO_LINUX_OBJ = modules/vfs_aio_linux.o -VFS_PREOPEN_OBJ = modules/vfs_preopen.o -VFS_SYNCOPS_OBJ = modules/vfs_syncops.o -VFS_ACL_XATTR_OBJ = modules/vfs_acl_xattr.o -VFS_ACL_TDB_OBJ = modules/vfs_acl_tdb.o -VFS_SMB_TRAFFIC_ANALYZER_OBJ = modules/vfs_smb_traffic_analyzer.o -PERFCOUNT_TEST_OBJ = modules/perfcount_test.o -VFS_DIRSORT_OBJ = modules/vfs_dirsort.o -VFS_SCANNEDONLY_OBJ = modules/vfs_scannedonly.o -VFS_CROSSRENAME_OBJ = modules/vfs_crossrename.o -VFS_LINUX_XFS_SGID_OBJ = modules/vfs_linux_xfs_sgid.o -VFS_TIME_AUDIT_OBJ = modules/vfs_time_audit.o -VFS_MEDIA_HARMONY_OBJ = modules/vfs_media_harmony.o -VFS_BTRFS_OBJ = modules/vfs_btrfs.o -VFS_CEPH_OBJ = modules/vfs_ceph.o - -PAM_ERRORS_OBJ = ../libcli/auth/pam_errors.o -PLAINTEXT_AUTH_OBJ = auth/pampass.o auth/pass_check.o $(PAM_ERRORS_OBJ) - -SLCACHE_OBJ = libsmb/samlogon_cache.o - -DCUTIL_OBJ = libsmb/namequery_dc.o libsmb/trustdom_cache.o libsmb/trusts_util.o libsmb/dsgetdcname.o - -AUTH_BUILTIN_OBJ = auth/auth_builtin.o -AUTH_DOMAIN_OBJ = auth/auth_domain.o -AUTH_SAM_OBJ = auth/auth_sam.o auth/check_samsec.o -AUTH_UNIX_OBJ = auth/auth_unix.o -AUTH_WINBIND_OBJ = auth/auth_winbind.o -AUTH_WBC_OBJ = auth/auth_wbc.o -AUTH_SCRIPT_OBJ = auth/auth_script.o - -AUTH_OBJ = auth/auth.o @AUTH_STATIC@ auth/auth_util.o auth/token_util.o \ - auth/server_info.o \ - auth/server_info_sam.o \ - auth/user_info.o \ - auth/user_util.o \ - auth/user_krb5.o \ - auth/auth_ntlmssp.o auth/auth_generic.o \ - $(PLAINTEXT_AUTH_OBJ) $(SLCACHE_OBJ) $(DCUTIL_OBJ) - -MANGLE_OBJ = smbd/mangle.o smbd/mangle_hash.o smbd/mangle_hash2.o - -SMBD_OBJ_MAIN = smbd/server.o smbd/server_exit.o - -BUILDOPT_OBJ = smbd/build_options.o - -SMBD_OBJ_SRV = smbd/server_reload.o \ - smbd/files.o smbd/connection.o \ - smbd/utmp.o smbd/session.o \ - smbd/dfree.o smbd/dir.o smbd/password.o smbd/conn.o smbd/conn_idle.o smbd/conn_msg.o \ - smbd/share_access.o smbd/fileio.o \ - smbd/ipc.o smbd/lanman.o smbd/negprot.o \ - smbd/message.o smbd/nttrans.o smbd/pipes.o \ - smbd/reply.o smbd/sesssetup.o smbd/trans2.o smbd/uid.o \ - smbd/dosmode.o smbd/filename.o smbd/open.o smbd/close.o \ - smbd/blocking.o smbd/sec_ctx.o smbd/srvstr.o \ - smbd/vfs.o smbd/perfcount.o smbd/statcache.o smbd/seal.o \ - smbd/posix_acls.o lib/sysacls.o autoconf/librpc/gen_ndr/ndr_smb_acl.o\ - smbd/process.o smbd/service.o param/service.o smbd/error.o \ - rpc_server/epmd.o \ - rpc_server/lsasd.o \ - printing/printspoolss.o printing/spoolssd.o \ - lib/sysquotas.o lib/sysquotas_linux.o \ - lib/sysquotas_xfs.o lib/sysquotas_4A.o lib/sysquotas_4B.o \ - lib/sysquotas_nfs.o \ - lib/smbd_shim.o \ - lib/background.o \ - smbd/fake_file.o \ - smbd/quotas.o smbd/ntquotas.o $(AFS_OBJ) smbd/msdfs.o \ - $(AFS_SETTOKEN_OBJ) smbd/aio.o smbd/statvfs.o \ - smbd/dmapi.o smbd/signing.o \ - smbd/file_access.o \ - smbd/dnsregister.o smbd/globals.o \ - smbd/smb2_server.o \ - smbd/smb2_glue.o \ - smbd/smb2_negprot.o \ - smbd/smb2_sesssetup.o \ - smbd/smb2_tcon.o \ - smbd/smb2_create.o \ - smbd/smb2_close.o \ - smbd/smb2_flush.o \ - smbd/smb2_read.o \ - smbd/smb2_write.o \ - smbd/smb2_lock.o \ - smbd/smb2_ioctl.o \ - smbd/smb2_ioctl_dfs.o \ - smbd/smb2_ioctl_filesys.o \ - smbd/smb2_ioctl_named_pipe.o \ - smbd/smb2_ioctl_network_fs.o \ - smbd/smb2_keepalive.o \ - smbd/smb2_find.o \ - smbd/smb2_notify.o \ - smbd/smb2_getinfo.o \ - smbd/smb2_setinfo.o \ - smbd/smb2_break.o \ - autoconf/librpc/gen_ndr/ndr_smbXsrv.o \ - smbd/smbXsrv_version.o \ - smbd/smbXsrv_session.o \ - smbd/smbXsrv_tcon.o \ - smbd/smbXsrv_open.o \ - smbd/durable.o \ - smbd/scavenger.o \ - autoconf/librpc/gen_ndr/ndr_ioctl.o \ - $(MANGLE_OBJ) @VFS_STATIC@ - -SMBD_OBJ_BASE = $(PARAM_WITHOUT_REG_OBJ) $(SMBD_OBJ_SRV) $(LIBSMB_OBJ) \ - $(RPC_SERVER_OBJ) \ - $(LOCKING_OBJ) $(PASSDB_OBJ) $(PRINTING_OBJ) $(PROFILE_OBJ) \ - $(LIB_OBJ) $(PRINTBACKEND_OBJ) $(OPLOCK_OBJ) \ - $(NOTIFY_OBJ) $(FNAME_UTIL_OBJ) $(GROUPDB_OBJ) $(AUTH_OBJ) \ - $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) $(AVAHI_OBJ) \ - $(LIBADS_OBJ) $(KRBCLIENT_OBJ) $(LIBADS_SERVER_OBJ) $(LIBADS_PRINTER_OBJ) \ - $(REG_FULL_OBJ) $(POPT_LIB_OBJ) $(BUILDOPT_OBJ) \ - $(SMBLDAP_OBJ) $(LIBNET_OBJ) \ - $(LIBSMBCONF_OBJ) \ - $(PRIVILEGES_BASIC_OBJ) \ - $(REGFIO_OBJ) \ - $(REG_API_REGF_OBJ) \ - $(LIBNDR_XATTR_OBJ) \ - lib/conn_tdb.o lib/sessionid_tdb.o - - -PRINTING_OBJ = printing/pcap.o printing/print_svid.o printing/print_aix.o \ - printing/print_cups.o printing/print_generic.o \ - printing/lpq_parse.o printing/load.o \ - printing/print_iprint.o printing/print_standard.o \ - printing/printer_list.o autoconf/librpc/gen_ndr/ndr_printcap.o - -PRINTBASE_OBJ = printing/notify.o printing/printing_db.o -PRINTBACKEND_OBJ = printing/printing.o \ - printing/nt_printing.o \ - printing/nt_printing_tdb.o \ - printing/nt_printing_migrate.o \ - printing/nt_printing_migrate_internal.o \ - printing/nt_printing_ads.o \ - autoconf/librpc/gen_ndr/ndr_ntprinting.o \ - ../librpc/ndr/ndr_ntprinting.o \ - printing/queue_process.o \ - $(PRINTBASE_OBJ) - -SMBD_OBJ = $(SMBD_OBJ_BASE) $(SMBD_OBJ_MAIN) - -NMBD_OBJ1 = nmbd/asyncdns.o nmbd/nmbd.o nmbd/nmbd_become_dmb.o \ - nmbd/nmbd_become_lmb.o nmbd/nmbd_browserdb.o \ - nmbd/nmbd_browsesync.o nmbd/nmbd_elections.o \ - nmbd/nmbd_incomingdgrams.o nmbd/nmbd_incomingrequests.o \ - nmbd/nmbd_lmhosts.o nmbd/nmbd_logonnames.o nmbd/nmbd_mynames.o \ - nmbd/nmbd_namelistdb.o nmbd/nmbd_namequery.o \ - nmbd/nmbd_nameregister.o nmbd/nmbd_namerelease.o \ - nmbd/nmbd_nodestatus.o nmbd/nmbd_packets.o \ - nmbd/nmbd_processlogon.o nmbd/nmbd_responserecordsdb.o \ - nmbd/nmbd_sendannounce.o nmbd/nmbd_serverlistdb.o \ - nmbd/nmbd_subnetdb.o nmbd/nmbd_winsproxy.o nmbd/nmbd_winsserver.o \ - nmbd/nmbd_workgroupdb.o nmbd/nmbd_synclists.o - -NMBD_OBJ = $(NMBD_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \ - $(PROFILE_OBJ) $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ) \ - $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) - - -STATUS_OBJ = utils/status.o utils/status_profile.o $(SMBD_OBJ_BASE) - - -SMBCONTROL_OBJ = utils/smbcontrol.o $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \ - $(LIBSMB_ERR_OBJ) $(POPT_LIB_OBJ) $(PRINTBASE_OBJ) - -SMBTREE_OBJ = utils/smbtree.o $(PARAM_OBJ) \ - $(PROFILE_OBJ) $(LIB_NONSMBD_OBJ) $(LIBSMB_OBJ) \ - $(KRBCLIENT_OBJ) $(POPT_LIB_OBJ) \ - $(PASSDB_OBJ) $(SMBLDAP_OBJ) $(GROUPDB_OBJ) \ - $(LIBMSRPC_GEN_OBJ) \ - $(LIBMSRPC_OBJ) \ - $(LIBCLI_SRVSVC_OBJ) - -TESTPARM_OBJ = utils/testparm.o \ - $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ) \ - $(LIBSMB_ERR_OBJ) - -SMBTA_UTIL_OBJ = utils/smbta-util.o $(PARAM_OBJ) $(POPT_LIB_OBJ) \ - $(LIB_NONSMBD_OBJ) \ - $(LIBSMB_ERR_OBJ) $(FNAME_UTIL_OBJ) - -TEST_LP_LOAD_OBJ = param/test_lp_load.o \ - $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \ - $(POPT_LIB_OBJ) $(LIBSAMBA_OBJ) - -PASSWD_UTIL_OBJ = utils/passwd_util.o - -SMBPASSWD_OBJ = utils/smbpasswd.o $(PASSWD_UTIL_OBJ) $(PASSCHANGE_OBJ) \ - $(PARAM_OBJ) $(LIBSMB_OBJ) $(PASSDB_OBJ) \ - $(GROUPDB_OBJ) $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) \ - $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) \ - $(LIBMSRPC_GEN_OBJ) $(LIBMSRPC_OBJ) \ - $(LIBCLI_SAMR_OBJ) \ - rpc_client/init_lsa.o - -PDBEDIT_OBJ = utils/pdbedit.o $(PASSWD_UTIL_OBJ) $(PARAM_OBJ) $(PASSDB_OBJ) \ - $(AFS_SETTOKEN_OBJ) \ - $(LIB_NONSMBD_OBJ) $(GROUPDB_OBJ) \ - $(LIBSMB_ERR_OBJ0) $(LIBSMB_ERR_OBJ1) $(SECRETS_OBJ) \ - $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) \ - ../lib/util/asn1.o $(LIBCLI_LDAP_NDR_OBJ) \ - $(LIBNDR_DRSUAPI_OBJ) $(LIBNDR_GEN_OBJ0) $(COMPRESSION_OBJ) - -SMBGET_OBJ = utils/smbget.o $(POPT_LIB_OBJ) $(LIBSMBCLIENT_OBJ1) - -DISPLAY_SEC_OBJ= ../libcli/security/display_sec.o - -RPCCLIENT_OBJ1 = rpcclient/rpcclient.o rpcclient/cmd_lsarpc.o \ - rpcclient/cmd_samr.o rpcclient/cmd_spoolss.o \ - rpcclient/cmd_netlogon.o rpcclient/cmd_srvsvc.o \ - rpcclient/cmd_dfs.o rpcclient/cmd_epmapper.o \ - rpcclient/cmd_dssetup.o rpcclient/cmd_echo.o \ - rpcclient/cmd_shutdown.o rpcclient/cmd_test.o \ - rpcclient/cmd_wkssvc.o rpcclient/cmd_ntsvcs.o \ - rpcclient/cmd_drsuapi.o rpcclient/cmd_eventlog.o \ - rpcclient/cmd_winreg.o rpcclient/cmd_fss.o \ - $(DISPLAY_SEC_OBJ) - -RPCCLIENT_OBJ = $(RPCCLIENT_OBJ1) \ - $(PARAM_OBJ) $(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) \ - $(PASSDB_OBJ) $(LIBMSRPC_GEN_OBJ) $(LIBMSRPC_OBJ) \ - $(READLINE_OBJ) $(GROUPDB_OBJ) $(KRBCLIENT_OBJ) \ - $(LIBADS_OBJ) $(POPT_LIB_OBJ) \ - $(SMBLDAP_OBJ) $(DCUTIL_OBJ) \ - $(LIBCLI_SPOOLSS_OBJ) \ - $(LIBCLI_EVENTLOG_OBJ) \ - $(LIBCLI_NTSVCS_OBJ) \ - $(LIBCLI_DRSUAPI_OBJ) \ - $(LIBCLI_DFS_OBJ) \ - $(LIBCLI_ECHO_OBJ) \ - $(LIBCLI_DSSETUP_OBJ) \ - $(LIBCLI_WKSSVC_OBJ) \ - $(LIBCLI_SRVSVC_OBJ) \ - $(LIBCLI_LSA_OBJ) \ - $(LIBCLI_SAMR_OBJ) \ - $(LIBCLI_WINREG_OBJ) \ - $(LIBCLI_FSRVP_OBJ) \ - $(RPC_CLIENT_SCHANNEL_OBJ) \ - rpc_client/init_samr.o - -PAM_WINBIND_OBJ = ../nsswitch/pam_winbind.o $(WBCOMMON_OBJ) \ - $(LIBREPLACE_OBJ) @BUILD_INIPARSER@ - -LIBSMBCLIENT_THREAD_OBJ = \ - libsmb/libsmb_thread_impl.o \ - libsmb/libsmb_thread_posix.o - -LIBSMBCLIENT_OBJ0 = \ - libsmb/libsmb_cache.o \ - libsmb/libsmb_compat.o \ - libsmb/libsmb_context.o \ - libsmb/libsmb_dir.o \ - libsmb/libsmb_file.o \ - libsmb/libsmb_misc.o \ - libsmb/libsmb_path.o \ - libsmb/libsmb_printjob.o \ - libsmb/libsmb_server.o \ - libsmb/libsmb_stat.o \ - libsmb/libsmb_xattr.o \ - libsmb/libsmb_setget.o - -LIBSMBCLIENT_OBJ1 = $(LIBSMBCLIENT_OBJ0) \ - $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \ - $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \ - $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) \ - $(PASSDB_OBJ) $(SMBLDAP_OBJ) $(GROUPDB_OBJ) \ - $(LIBCLI_SRVSVC_OBJ) \ - $(LIBCLI_LSA_OBJ) - -LIBSMBCLIENT_OBJ = $(LIBSMBCLIENT_OBJ1) - -CLIENT_OBJ1 = client/client.o client/clitar.o \ - client/dnsbrowse.o \ - $(LIBMSRPC_OBJ) - -CLIENT_OBJ = $(CLIENT_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) \ - $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) $(LIBMSRPC_GEN_OBJ) \ - $(READLINE_OBJ) $(POPT_LIB_OBJ) \ - $(PASSDB_OBJ) $(SMBLDAP_OBJ) $(GROUPDB_OBJ) \ - $(DISPLAY_SEC_OBJ) \ - $(LIBCLI_SRVSVC_OBJ) - -LIBSMBCONF_OBJ = ../lib/smbconf/smbconf.o \ - ../lib/smbconf/smbconf_util.o \ - ../lib/smbconf/smbconf_txt.o \ - lib/smbconf/smbconf_reg.o \ - lib/smbconf/smbconf_init.o - -SMBCONFTORT_OBJ0 = lib/smbconf/testsuite.o - -SMBCONFTORT_OBJ = $(SMBCONFTORT_OBJ0) \ - $(LIB_NONSMBD_OBJ) \ - $(PARAM_OBJ) \ - $(LIBSMB_ERR_OBJ) \ - $(POPT_LIB_OBJ) - -PTHREADPOOLTEST_OBJ = lib/pthreadpool/pthreadpool.o \ - lib/pthreadpool/tests.o $(LIBREPLACE_OBJ) - -LIBNET_OBJ = libnet/libnet_join.o \ - libnet/libnet_keytab.o \ - autoconf/librpc/gen_ndr/ndr_libnet_join.o - -LIBNET_DSSYNC_OBJ = libnet/libnet_dssync.o \ - libnet/libnet_dssync_passdb.o \ - libnet/libnet_dssync_keytab.o \ - ../libcli/drsuapi/repl_decrypt.o - -LIBNET_SAMSYNC_OBJ = libnet/libnet_samsync.o \ - libnet/libnet_samsync_ldif.o \ - libnet/libnet_samsync_passdb.o \ - libnet/libnet_samsync_display.o \ - libnet/libnet_samsync_keytab.o \ - ../libcli/samsync/decrypt.o - -NET_OBJ1 = utils/net.o utils/net_ads.o utils/net_help.o \ - utils/net_rap.o utils/net_rpc.o utils/net_rpc_samsync.o \ - utils/net_rpc_join.o utils/net_time.o utils/net_lookup.o \ - utils/net_cache.o utils/net_groupmap.o utils/net_idmap.o \ - utils/net_idmap_check.o utils/interact.o \ - utils/net_status.o utils/net_rpc_printer.o utils/net_rpc_rights.o \ - utils/net_rpc_service.o utils/net_rpc_registry.o utils/net_usershare.o \ - utils/netlookup.o utils/net_sam.o utils/net_rpc_shell.o \ - utils/net_util.o utils/net_rpc_sh_acct.o utils/net_rpc_audit.o \ - $(PASSWD_UTIL_OBJ) utils/net_dns.o utils/net_ads_gpo.o \ - utils/net_conf.o utils/net_join.o utils/net_user.o \ - utils/net_group.o utils/net_file.o utils/net_registry.o utils/net_registry_check.o\ - utils/net_dom.o utils/net_share.o \ - utils/net_g_lock.o \ - utils/net_serverid.o \ - utils/net_eventlog.o \ - utils/net_printing.o \ - utils/net_rpc_trust.o \ - utils/net_rpc_conf.o\ - $(LIBNDR_PREG_OBJ) \ - $(LIBCLI_DRSUAPI_OBJ) \ - $(LIBCLI_INITSHUTDOWN_OBJ) \ - $(LIBCLI_DSSETUP_OBJ) \ - $(LIBCLI_SVCCTL_OBJ) \ - $(LIBCLI_WKSSVC_OBJ) \ - registry/reg_parse.o registry/reg_format.o \ - registry/reg_import.o - -# these are not processed by make proto -NET_OBJ2 = utils/net_registry_util.o utils/net_help_common.o - -NET_OBJ = $(NET_OBJ1) \ - $(NET_OBJ2) @FAKE_KASERVER_OBJ@ \ - $(LIBADDNS_OBJ0) \ - $(READLINE_OBJ) \ - $(LIBGPO_OBJ) $(INIPARSER_OBJ) $(DISPLAY_SEC_OBJ) \ - $(LIBNET_DSSYNC_OBJ) $(LIBNET_SAMSYNC_OBJ) \ - $(SMBD_OBJ_BASE) - -CUPS_OBJ = client/smbspool.o $(PARAM_OBJ) $(LIBSMB_OBJ) \ - $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) $(POPT_LIB_OBJ) \ - $(AFS_SETTOKEN_OBJ) $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) - -NMBLOOKUP_OBJ = utils/nmblookup.o $(PARAM_OBJ) $(LIBNMB_OBJ) \ - $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ) $(LIBSMB_ERR_OBJ) - -SMBTORTURE_OBJ1 = torture/torture.o torture/nbio.o torture/scanner.o torture/utable.o \ - torture/denytest.o torture/mangle_test.o \ - torture/nbench.o \ - torture/test_async_echo.o \ - torture/test_smbsock_any_connect.o \ - torture/test_nttrans_create.o \ - torture/test_nttrans_fsctl.o \ - torture/test_notify_online.o \ - torture/test_addrchange.o \ - torture/test_case_insensitive.o \ - torture/test_posix_append.o \ - torture/test_smb2.o \ - torture/test_chain3.o \ - torture/test_authinfo_structs.o \ - torture/test_cleanup.o \ - torture/test_ctdbconn.o \ - torture/test_msg.o \ - torture/test_notify.o \ - torture/test_dbwrap_watch.o \ - torture/test_idmap_tdb_common.o \ - torture/test_dbwrap_ctdb.o \ - torture/t_strappend.o - -SMBTORTURE_OBJ = $(SMBTORTURE_OBJ1) $(PARAM_OBJ) $(TLDAP_OBJ) \ - $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) $(LOCKING_OBJ) \ - @LIBWBCLIENT_STATIC@ \ - torture/wbc_async.o \ - ../nsswitch/wb_reqtrans.o \ - ../libcli/lsarpc/util_lsarpc.o \ - lib/filename_util.o \ - $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) $(LIBCLI_ECHO_OBJ) - -MSGTEST_OBJ = torture/msgtest.o $(PARAM_OBJ) $(LIBSMB_ERR_OBJ) \ - $(LIB_NONSMBD_OBJ) \ - $(LIBNDR_GEN_OBJ0) - -NSSTEST_OBJ = ../nsswitch/nsstest.o ../lib/util/setid.o $(LIBSAMBAUTIL_OBJ) - -VFSTEST_OBJ = torture/cmd_vfs.o torture/vfstest.o $(SMBD_OBJ_BASE) $(READLINE_OBJ) \ - torture/vfstest_chain.o - -LOG2PCAP_OBJ = utils/log2pcaphex.o - -LOCKTEST2_OBJ = torture/locktest2.o $(PARAM_OBJ) $(LOCKING_OBJ) $(LIBSMB_OBJ) \ - $(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) \ - $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) $(FNAME_UTIL_OBJ) - -SMBCACLS_OBJ = utils/smbcacls.o $(PARAM_OBJ) $(LIBSMB_OBJ) \ - $(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) \ - $(PASSDB_OBJ) $(GROUPDB_OBJ) $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) \ - $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) \ - $(LIBCLI_LSA_OBJ) - -SMBCQUOTAS_OBJ = utils/smbcquotas.o $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \ - $(PARAM_OBJ) \ - $(LIB_NONSMBD_OBJ) \ - $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) $(POPT_LIB_OBJ) \ - $(PASSDB_OBJ) $(SMBLDAP_OBJ) $(GROUPDB_OBJ) \ - $(LIBCLI_LSA_OBJ) - -EVTLOGADM_OBJ0 = utils/eventlogadm.o - -EVTLOGADM_OBJ = $(EVTLOGADM_OBJ0) $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \ - $(LIBSMB_ERR_OBJ) $(LIB_EVENTLOG_OBJ) \ - autoconf/librpc/gen_ndr/ndr_eventlog.o \ - autoconf/librpc/gen_ndr/ndr_lsa.o - -SHARESEC_OBJ0 = utils/sharesec.o -SHARESEC_OBJ = $(SHARESEC_OBJ0) $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \ - $(LIBSMB_ERR_OBJ) \ - $(POPT_LIB_OBJ) - -TALLOCTORT_OBJ = @tallocdir@/testsuite.o @tallocdir@/testsuite_main.o \ - $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(LIBSMB_ERR_OBJ) - -REPLACETORT_OBJ = @libreplacedir@/test/testsuite.o \ - @libreplacedir@/test/getifaddrs.o \ - @libreplacedir@/test/os2_delete.o \ - @libreplacedir@/test/strptime.o \ - @libreplacedir@/test/main.o \ - $(LIBREPLACE_OBJ) $(SOCKET_WRAPPER_OBJ) - -DEBUG2HTML_OBJ = utils/debug2html.o utils/debugparse.o - -SMBFILTER_OBJ = utils/smbfilter.o $(PARAM_OBJ) $(LIBSMB_OBJ) \ - $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) \ - $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) - -WINBIND_WINS_NSS_OBJ = ../nsswitch/wins.o $(PARAM_OBJ) \ - $(LIB_NONSMBD_OBJ) $(LIBSMB_ERR_OBJ) $(LIBNMB_OBJ) - -PAM_SMBPASS_OBJ_0 = pam_smbpass/pam_smb_auth.o pam_smbpass/pam_smb_passwd.o \ - pam_smbpass/pam_smb_acct.o pam_smbpass/support.o -PAM_SMBPASS_OBJ = $(PAM_SMBPASS_OBJ_0) $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \ - $(SMBLDAP_OBJ) \ - $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \ - $(AFS_SETTOKEN_OBJ) \ - $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) \ - $(PAM_ERRORS_OBJ) - -IDMAP_RW_OBJ = winbindd/idmap_rw.o - -IDMAP_TDB_COMMON_OBJ = winbindd/idmap_tdb_common.o - -IDMAP_UTIL_OBJ = winbindd/idmap_util.o $(IDMAP_RW_OBJ) \ - $(IDMAP_TDB_COMMON_OBJ) - -IDMAP_OBJ = winbindd/idmap.o $(IDMAP_UTIL_OBJ) @IDMAP_STATIC@ - -NSS_INFO_OBJ = winbindd/nss_info.o @NSS_INFO_STATIC@ - -IDMAP_HASH_OBJ = \ - winbindd/idmap_hash/idmap_hash.o \ - winbindd/idmap_hash/mapfile.o - -WINBINDD_OBJ1 = \ - winbindd/winbindd.o \ - winbindd/winbindd_group.o \ - winbindd/winbindd_util.o \ - winbindd/winbindd_cache.o \ - winbindd/winbindd_pam.o \ - winbindd/winbindd_misc.o \ - winbindd/winbindd_cm.o \ - winbindd/winbindd_wins_byip.o \ - winbindd/winbindd_wins_byname.o \ - winbindd/winbindd_msrpc.o \ - winbindd/winbindd_rpc.o \ - winbindd/winbindd_reconnect.o \ - winbindd/winbindd_ads.o \ - winbindd/winbindd_samr.o \ - winbindd/winbindd_dual.o \ - winbindd/winbindd_dual_ndr.o \ - winbindd/winbindd_dual_srv.o \ - autoconf/librpc/gen_ndr/ndr_wbint_c.o \ - autoconf/librpc/gen_ndr/srv_wbint.o \ - autoconf/librpc/gen_ndr/ndr_wbint.o \ - autoconf/librpc/gen_ndr/ndr_idmap.o \ - winbindd/winbindd_async.o \ - winbindd/winbindd_creds.o \ - winbindd/winbindd_cred_cache.o \ - winbindd/winbindd_ccache_access.o \ - winbindd/winbindd_domain.o \ - winbindd/winbindd_idmap.o \ - winbindd/winbindd_locator.o \ - winbindd/winbindd_ndr.o \ - winbindd/wb_ping.o \ - winbindd/wb_lookupsid.o \ - winbindd/wb_lookupsids.o \ - winbindd/wb_lookupname.o \ - winbindd/wb_uid2sid.o \ - winbindd/wb_gid2sid.o \ - winbindd/wb_sids2xids.o \ - winbindd/wb_queryuser.o \ - winbindd/wb_lookupuseraliases.o \ - winbindd/wb_lookupusergroups.o \ - winbindd/wb_getpwsid.o \ - winbindd/wb_gettoken.o \ - winbindd/wb_seqnum.o \ - winbindd/wb_seqnums.o \ - winbindd/wb_group_members.o \ - winbindd/wb_getgrsid.o \ - winbindd/wb_query_user_list.o \ - winbindd/wb_fill_pwent.o \ - winbindd/wb_next_pwent.o \ - winbindd/wb_next_grent.o \ - winbindd/wb_dsgetdcname.o \ - winbindd/winbindd_lookupsid.o \ - winbindd/winbindd_lookupsids.o \ - winbindd/winbindd_lookupname.o \ - winbindd/winbindd_sid_to_uid.o \ - winbindd/winbindd_sid_to_gid.o \ - winbindd/winbindd_uid_to_sid.o \ - winbindd/winbindd_gid_to_sid.o \ - winbindd/winbindd_sids_to_xids.o \ - winbindd/winbindd_allocate_uid.o \ - winbindd/winbindd_allocate_gid.o \ - winbindd/winbindd_getpwsid.o \ - winbindd/winbindd_getpwnam.o \ - winbindd/winbindd_getpwuid.o \ - winbindd/winbindd_getsidaliases.o \ - winbindd/winbindd_getuserdomgroups.o \ - winbindd/winbindd_getgroups.o \ - winbindd/winbindd_show_sequence.o \ - winbindd/winbindd_getgrgid.o \ - winbindd/winbindd_getgrnam.o \ - winbindd/winbindd_getusersids.o \ - winbindd/winbindd_lookuprids.o \ - winbindd/winbindd_setpwent.o \ - winbindd/winbindd_getpwent.o \ - winbindd/winbindd_endpwent.o \ - winbindd/winbindd_setgrent.o \ - winbindd/winbindd_getgrent.o \ - winbindd/winbindd_endgrent.o \ - winbindd/winbindd_dsgetdcname.o \ - winbindd/winbindd_getdcname.o \ - winbindd/winbindd_list_users.o \ - winbindd/winbindd_list_groups.o \ - winbindd/winbindd_check_machine_acct.o \ - winbindd/winbindd_change_machine_acct.o \ - winbindd/winbindd_ping_dc.o \ - winbindd/winbindd_pam_auth.o \ - winbindd/winbindd_pam_auth_crap.o \ - winbindd/winbindd_pam_chauthtok.o \ - winbindd/winbindd_pam_chng_pswd_auth_crap.o \ - winbindd/winbindd_pam_logoff.o \ - auth/auth_util.o \ - auth/token_util.o \ - auth/user_util.o \ - auth/check_samsec.o \ - auth/server_info.o \ - auth/server_info_sam.o \ - auth/user_info.o \ - auth/pampass.o \ - ../nsswitch/wb_reqtrans.o - -WINBINDD_OBJ = \ - $(WINBINDD_OBJ1) $(PASSDB_OBJ) $(GROUPDB_OBJ) \ - $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \ - $(LIBSMB_OBJ) $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) \ - $(PROFILE_OBJ) $(SLCACHE_OBJ) $(SMBLDAP_OBJ) \ - $(LIBADS_OBJ) $(KRBCLIENT_OBJ) $(POPT_LIB_OBJ) \ - $(DCUTIL_OBJ) $(IDMAP_OBJ) $(NSS_INFO_OBJ) \ - $(RPC_CONFIG) $(RPC_NCACN_NP) \ - $(RPC_SAMR_OBJ) $(RPC_LSARPC_OBJ) \ - $(NPA_TSTREAM_OBJ) \ - $(AFS_OBJ) $(AFS_SETTOKEN_OBJ) \ - $(LIBADS_SERVER_OBJ) \ - $(TDB_VALIDATE_OBJ) \ - $(LIBCLI_DSSETUP_OBJ) \ - $(LIBCLI_LSA_OBJ) \ - $(LIBCLI_SAMR_OBJ) \ - rpc_client/init_samr.o \ - $(PAM_ERRORS_OBJ) - -WBINFO_OBJ = ../nsswitch/wbinfo.o $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \ - $(POPT_LIB_OBJ) $(AFS_SETTOKEN_OBJ) \ - lib/winbind_util.o $(WBCOMMON_OBJ) \ - $(LIBSMB_ERR_OBJ0) $(LIBSMB_ERR_OBJ1) $(SECRETS_OBJ) - -WINBIND_NSS_OBJ = $(WBCOMMON_OBJ) $(LIBREPLACE_OBJ) @WINBIND_NSS_EXTRA_OBJS@ - -WINBIND_KRB5_LOCATOR_OBJ1 = ../nsswitch/winbind_krb5_locator.o -WINBIND_KRB5_LOCATOR_OBJ = $(WINBIND_KRB5_LOCATOR_OBJ1) $(LIBREPLACE_OBJ) - -POPT_OBJ=../lib/popt/findme.o ../lib/popt/popt.o ../lib/popt/poptconfig.o \ - ../lib/popt/popthelp.o ../lib/popt/poptparse.o - -INIPARSER_OBJ = ../lib/iniparser_build/iniparser.o ../lib/iniparser_build/dictionary.o \ - ../lib/iniparser_build/strlib.o - -TDBBACKUP_OBJ = @tdbdir@/tools/tdbbackup.o $(LIBREPLACE_OBJ) \ - $(SOCKET_WRAPPER_OBJ) - -TDBTOOL_OBJ = @tdbdir@/tools/tdbtool.o $(LIBREPLACE_OBJ) \ - $(SOCKET_WRAPPER_OBJ) - -TDBDUMP_OBJ = @tdbdir@/tools/tdbdump.o $(LIBREPLACE_OBJ) \ - $(SOCKET_WRAPPER_OBJ) - -TDBRESTORE_OBJ = @tdbdir@/tools/tdbrestore.o $(LIBREPLACE_OBJ) \ - $(SOCKET_WRAPPER_OBJ) - -TDBTORTURE_OBJ = @tdbdir@/tools/tdbtorture.o $(LIBREPLACE_OBJ) \ - $(SOCKET_WRAPPER_OBJ) - - -NTLM_AUTH_OBJ1 = utils/ntlm_auth.o utils/ntlm_auth_diagnostics.o - -NTLM_AUTH_OBJ = ${NTLM_AUTH_OBJ1} \ - ${LIBADS_SERVER_OBJ} \ - $(PASSDB_OBJ) $(GROUPDB_OBJ) \ - $(WBCOMMON_OBJ) \ - $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \ - $(AFS_SETTOKEN_OBJ) \ - $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) \ - $(POPT_LIB_OBJ) $(SMBLDAP_OBJ) @BUILD_INIPARSER@ - - -VLP_OBJ = printing/tests/vlp.o \ - ../lib/util/util_tdb.o \ - ../lib/util/signal.o \ - ../lib/util/debug.o \ - ../lib/util/util_strlist.o \ - ../lib/util/fault.o \ - ../lib/util/become_daemon.o \ - ../lib/util/substitute.o \ - lib/util_sec.o \ - ../lib/util/time.o \ - ../lib/util/charset/util_str.o \ - ../lib/util/charset/pull_push.o \ - ../lib/util/charset/util_unistr_w.o \ - ../lib/util/charset/codepoints.o \ - ../lib/util/charset/iconv.o \ - ../lib/util/charset/weird.o \ - ../lib/util/charset/convert_string.o \ - $(CHARSET_MACOSXFS_OBJ) \ - ../lib/util/talloc_stack.o \ - ../lib/util/smb_threads.o \ - ../lib/util/xfile.o \ - ../lib/util/util_file.o \ - ../lib/util/util.o \ - ../lib/util/util_str_common.o \ - ../lib/util/data_blob.o \ - ../dynconfig/dynconfig.o \ - ../lib/util/setid.o \ - $(LIBSAMBAUTIL_OBJ) \ - param/util.o - -RPC_OPEN_TCP_OBJ = torture/rpc_open_tcp.o \ - $(LIBSMB_OBJ) \ - $(PARAM_OBJ) \ - $(PASSDB_OBJ) \ - $(SMBLDAP_OBJ) $(GROUPDB_OBJ) \ - $(LIB_NONSMBD_OBJ) \ - $(KRBCLIENT_OBJ) \ - $(LIBMSRPC_OBJ) \ - $(LIBMSRPC_GEN_OBJ) - -DBWRAP_TOOL_OBJ = utils/dbwrap_tool.o \ - $(PARAM_OBJ) \ - $(LIB_NONSMBD_OBJ) \ - $(LIBSMB_ERR_OBJ) \ - $(POPT_LIB_OBJ) - -DBWRAP_TORTURE_OBJ = utils/dbwrap_torture.o \ - $(PARAM_OBJ) \ - $(LIB_NONSMBD_OBJ) \ - $(LIBSMB_ERR_OBJ) \ - $(POPT_LIB_OBJ) - -SPLIT_TOKENS_OBJ = utils/split_tokens.o \ - $(PARAM_OBJ) \ - $(LIB_NONSMBD_OBJ) \ - $(POPT_LIB_OBJ) \ - $(LIBSAMBA_OBJ) - -###################################################################### -# now the rules... -###################################################################### -all:: SHOWFLAGS basics libs $(SBIN_PROGS) $(BIN_PROGS) \ - $(MODULES) $(NSS_MODULES) $(PAM_MODULES) \ - $(EXTRA_ALL_TARGETS) - -basics:: samba3-idl mkparam - -nss_modules:: $(NSS_MODULES) - -pam_modules:: $(PAM_MODULES) - -pam_smbpass: SHOWFLAGS bin/pam_smbpass.@SHLIBEXT@ - -pam_winbind: SHOWFLAGS bin/pam_winbind.@SHLIBEXT@ - -gpext_modules:: $(GPEXT_MODULES) - -torture:: SHOWFLAGS basics $(TORTURE_PROGS) - -smbtorture3 : SHOWFLAGS bin/smbtorture3 - -masktest : SHOWFLAGS bin/masktest - -msgtest : SHOWFLAGS bin/msgtest - -locktest : SHOWFLAGS bin/locktest - -smbcacls : SHOWFLAGS bin/smbcacls - -smbcquotas : SHOWFLAGS bin/smbcquotas - -locktest2 : SHOWFLAGS bin/locktest2 - -debug2html : SHOWFLAGS bin/debug2html - -smbfilter : SHOWFLAGS bin/smbfilter - -eventlogadm: SHOWFLAGS bin/eventlogadm - -sharesec: SHOWFLAGS bin/sharesec - -talloctort : SHOWFLAGS $(TALLOCTORT) - -replacetort : SHOWFLAGS bin/replacetort - -smbconftort : SHOWFLAGS bin/smbconftort - -pthreadpooltest : SHOWFLAGS bin/pthreadpooltest - -timelimit : SHOWFLAGS bin/timelimit - -nsswitch : SHOWFLAGS bin/winbindd bin/wbinfo @WINBIND_NSS@ \ - @WINBIND_WINS_NSS@ @WINBIND_KRB5_LOCATOR@ \ - bin/pam_winbind.@SHLIBEXT@ bin/smbcontrol - -wins : SHOWFLAGS @WINBIND_WINS_NSS@ - -modules:: SHOWFLAGS $(MODULES) - - -##################################################################### -## Perl IDL Compiler - -IDL_FILES = librpc/idl/messaging.idl \ - librpc/idl/libnetapi.idl \ - librpc/idl/wbint.idl \ - librpc/idl/perfcount.idl \ - librpc/idl/secrets.idl \ - librpc/idl/open_files.idl \ - librpc/idl/libnet_join.idl - -samba3-idl:: - @PIDL_OUTPUTDIR="autoconf/librpc/gen_ndr" PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" PIDL="../pidl/pidl" \ - srcdir="$(srcdir)" ../librpc/build_idl.sh ../librpc/idl/*.idl - @PIDL_OUTPUTDIR="autoconf/librpc/gen_ndr" PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" PIDL="../pidl/pidl" \ - srcdir="$(srcdir)" $(srcdir)/script/build_idl.sh $(IDL_FILES) - -idl_full:: - @PIDL_OUTPUTDIR="autoconf/librpc/gen_ndr" PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" PIDL="../pidl/pidl" \ - srcdir="$(srcdir)" ../librpc/build_idl.sh --full ../librpc/idl/*.idl - @PIDL_OUTPUTDIR="autoconf/librpc/gen_ndr" PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" PIDL="../pidl/pidl" \ - srcdir="$(srcdir)" $(srcdir)/script/build_idl.sh --full $(IDL_FILES) - -mkparam: autoconf/lib/param/param_local.h autoconf/lib/param/param_global.h autoconf/source3/param/param_global.h autoconf/lib/param/param_proto.h autoconf/lib/param/s3_param.h - -autoconf/lib/param/param_local.h: - $(PERL) ../script/mkparamdefs.pl $(srcdir)/../lib/param/param_functions.c --file autoconf/lib/param/param_local.h --generate-scope=LOCAL -autoconf/lib/param/param_global.h: - $(PERL) ../script/mkparamdefs.pl $(srcdir)/../lib/param/param_functions.c $(srcdir)/../lib/param/loadparm.c --file autoconf/lib/param/param_global.h --generate-scope=GLOBAL -autoconf/source3/param/param_global.h: - $(PERL) ../script/mkparamdefs.pl $(srcdir)/../lib/param/param_functions.c $(srcdir)/param/loadparm.c --file autoconf/source3/param/param_global.h --generate-scope=GLOBAL -autoconf/lib/param/param_proto.h: - $(PERL) ../source4/script/mkproto.pl $(srcdir)/../lib/param/param_functions.c $(srcdir)/../lib/param/loadparm.c --public autoconf/lib/param/param_proto.h --private autoconf/lib/param/param_proto.h -autoconf/lib/param/s3_param.h: - $(PERL) ../script/mks3param.pl $(srcdir)/../lib/param/param_functions.c $(srcdir)/../lib/param/loadparm.c --file autoconf/lib/param/s3_param.h - - -##################################################################### - - -everything:: all libtalloc libsmbclient libnetapi debug2html smbfilter talloctort replacetort smbconftort modules torture \ - $(EVERYTHING_PROGS) \ - vfs_examples - -.SUFFIXES: -.SUFFIXES: .c .o .lo - -.PHONY: showflags SHOWFLAGS - -showflags: SHOWFLAGS - -SHOWFLAGS:: - @echo "Using CFLAGS = $(CFLAGS)" - @echo " PICFLAG = $(PICFLAG)" - @echo " LIBS = $(LIBS)" - @echo " LDFLAGS = $(LDFLAGS)" - @echo " DYNEXP = $(DYNEXP)" - @echo " LDSHFLAGS = $(LDSHFLAGS)" - @echo " SHLIBEXT = @SHLIBEXT@" - @echo " SONAMEFLAG = @SONAMEFLAG@" - -# "showcflags" target for debuggin how CFLAGS are composed: - -.PHONY: showcflags SHOWCFLAGS - -showcflags: SHOWCFLAGS - -SHOWCFLAGS:: - @echo "CFLAGS = $(CFLAGS)" - @echo "FLAGS = $(FLAGS)" - @echo "" - @echo "FLAGS1 = @FLAGS1@" - @echo "SAMBA_CPPFLAGS = @SAMBA_CPPFLAGS@" - @echo "CPPFLAGS = $(CPPFLAGS)" - @echo "ISA = $(ISA)" - -MAKEDIR = || exec false; \ - if test -d "$$dir"; then :; else \ - echo mkdir "$$dir"; \ - mkdir -p "$$dir" >/dev/null 2>&1 || \ - test -d "$$dir" || \ - mkdir "$$dir" || \ - exec false; fi || exec false - -# Run a static checker. -CHECK_CC = $(CC_CHECKER) $(CFLAGS) $(PICFLAG) -c $< -o $@ -# Compile a source file. -COMPILE_CC = $(CC) $(CFLAGS) $(PICFLAG) -c $< -o $@ -# Compile a source file with the installation paths defined. -COMPILE_CC_PATH = $(CC) $(PATH_FLAGS) $(CFLAGS) $(PICFLAG) -c $< -o $@ - -COMPILE = $(COMPILE_CC) - -.c.o: - @if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \ - dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi - @if test -n "$(CC_CHECKER)"; then \ - echo "Checking $*.c with '$(CC_CHECKER)'";\ - $(CHECK_CC); \ - fi - @echo Compiling $*.c - @$(COMPILE) && exit 0;\ - echo "The following command failed:" 1>&2;\ - echo "$(subst ",\",$(COMPILE_CC))" 1>&2;\ - $(COMPILE_CC) >/dev/null 2>&1 -@BROKEN_CC@ -mv `echo $@ | sed 's%^.*/%%g'` $@ - -PRECOMPILED_HEADER = $(builddir)/include/includes.h.gch - -# this adds support for precompiled headers. To use it, install a snapshot -# of gcc-3.4 and run 'make pch' before you do the main build. -pch:: - rm -f $(PRECOMPILED_HEADER) - $(MAKE) $(PRECOMPILED_HEADER) - -$(PRECOMPILED_HEADER): $(srcdir)/include/includes.h - $(COMPILE) - -BINARY_PREREQS = bin/.dummy - -# These dependencies are only approximately correct: we want to make -# sure Samba's paths are updated if ./configure is re-run. Really it -# would be nice if "make prefix=/opt/samba all" also rebuilt things, -# but since we also require "make install prefix=/opt/samba" *not* to -# rebuild it's a bit hard. - -../dynconfig/dynconfig.o: ../dynconfig/dynconfig.c Makefile - @echo Compiling $*.c - @$(COMPILE_CC_PATH) && exit 0;\ - echo "The following command failed:" 1>&2;\ - echo "$(COMPILE_CC_PATH)" 1>&2;\ - $(COMPILE_CC_PATH) >/dev/null 2>&1 - -../nsswitch/pam_winbind.o: ../nsswitch/pam_winbind.c Makefile - @echo Compiling $*.c - @$(COMPILE_CC_PATH) && exit 0;\ - echo "The following command failed:" 1>&2;\ - echo "$(COMPILE_CC_PATH)" 1>&2;\ - $(COMPILE_CC_PATH) >/dev/null 2>&1 - -../nsswitch/wb_common.o: ../nsswitch/wb_common.c Makefile - @echo Compiling $*.c - @$(COMPILE_CC_PATH) && exit 0;\ - echo "The following command failed:" 1>&2;\ - echo "$(COMPILE_CC_PATH)" 1>&2;\ - $(COMPILE_CC_PATH) >/dev/null 2>&1 - -### Start section of object files that require PTHREAD_CFLAGS -../nsswitch/wins.o: ../nsswitch/wins.c - @echo Compiling $*.c - @$(COMPILE) $(PTHREAD_CFLAGS) && exit 0;\ - echo "The following command failed:" 1>&2;\ - echo "$(COMPILE_CC) $(PTHREAD_CFLAGS)" 1>&2;\ - $(COMPILE_CC) $(PTHREAD_CFLAGS) >/dev/null 2>&1 - -../nsswitch/winbind_nss_linux.o: ../nsswitch/winbind_nss_linux.c - @echo Compiling $*.c - @$(COMPILE_CC) $(PTHREAD_CFLAGS) && exit 0;\ - echo "The following command failed:" 1>&2;\ - echo "$(COMPILE_CC) $(PTHREAD_CFLAGS)" 1>&2;\ - $(COMPILE_CC) $(PTHREAD_CFLAGS) >/dev/null 2>&1 - -libsmb/libsmb_thread_impl.o: libsmb/libsmb_thread_impl.c - @echo Compiling $*.c - @$(COMPILE) $(PTHREAD_CFLAGS) && exit 0;\ - echo "The following command failed:" 1>&2;\ - echo "$(COMPILE_CC) $(PTHREAD_CFLAGS)" 1>&2;\ - $(COMPILE_CC) $(PTHREAD_CFLAGS) >/dev/null 2>&1 - -libsmb/libsmb_thread_posix.o: libsmb/libsmb_thread_posix.c - @echo Compiling $*.c - @$(COMPILE) $(PTHREAD_CFLAGS) && exit 0;\ - echo "The following command failed:" 1>&2;\ - echo "$(COMPILE_CC) $(PTHREAD_CFLAGS)" 1>&2;\ - $(COMPILE_CC) $(PTHREAD_CFLAGS) >/dev/null 2>&1 -### End section of object files that require PTHREAD_CFLAGS - -lib/version.o: lib/version.c include/autoconf/version.h - @echo Compiling $*.c - @$(COMPILE_CC_PATH) && exit 0;\ - echo "The following command failed:" 1>&2;\ - echo "$(COMPILE_CC_PATH)" 1>&2;\ - $(COMPILE_CC_PATH) >/dev/null 2>&1 - -smbd/build_options.o: smbd/build_options.c Makefile include/autoconf/config.h include/build_env.h include/proto.h - @echo Compiling $*.c - @$(COMPILE_CC_PATH) && exit 0;\ - echo "The following command failed:" 1>&2;\ - echo "$(COMPILE_CC_PATH)" 1>&2;\ - $(COMPILE_CC_PATH) >/dev/null 2>&1 - -smbd/build_options.c: include/autoconf/config.h.in script/mkbuildoptions.awk - @echo Generating $@ - @dir=smbd $(MAKEDIR) && $(AWK) -f $(srcdir)/script/mkbuildoptions.awk > $(builddir)/smbd/build_options.c < $(srcdir)/include/autoconf/config.h.in - -bin/.dummy: - @if (: >> $@ || : > $@) >/dev/null 2>&1; then :; else \ - dir=bin $(MAKEDIR); fi - @: >> $@ || : > $@ # what a fancy emoticon! - -bin/smbd: $(BINARY_PREREQS) $(SMBD_OBJ) $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) @BUILD_POPT@ - @echo Linking $@ - @$(CC) -o $@ $(SMBD_OBJ) $(LDFLAGS) $(LDAP_LIBS) @SMBD_FAM_LIBS@ \ - $(KRB5LIBS) $(DYNEXP) $(PRINT_LIBS) $(AUTH_LIBS) \ - $(ACL_LIBS) $(PASSDB_LIBS) $(LIBS) $(DNSSD_LIBS) $(AVAHI_LIBS) \ - $(POPT_LIBS) @SMBD_LIBS@ $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) \ - $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) - -bin/nmbd: $(BINARY_PREREQS) $(NMBD_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(NMBD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \ - @LIBWBCLIENT_STATIC@ $(LIBWBCLIENT_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(POPT_LIBS) \ - $(KRB5LIBS) $(LDAP_LIBS) $(ZLIB_LIBS) - -bin/rpcclient: $(BINARY_PREREQS) $(RPCCLIENT_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(LDFLAGS) $(RPCCLIENT_OBJ) \ - $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) $(POPT_LIBS) \ - $(KRB5LIBS) $(LDAP_LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) \ - $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) $(PASSDB_LIBS) - -bin/smbclient: $(BINARY_PREREQS) $(CLIENT_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(CLIENT_OBJ) $(LDFLAGS) $(DYNEXP) \ - $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) $(POPT_LIBS) \ - $(KRB5LIBS) $(LDAP_LIBS) $(NSCD_LIBS) $(DNSSD_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) - -bin/net: $(BINARY_PREREQS) $(NET_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) $(LIBNETAPI) - @echo Linking $@ - @$(CC) -o $@ $(NET_OBJ) $(LDFLAGS) $(LDAP_LIBS) @SMBD_FAM_LIBS@ \ - $(KRB5LIBS) $(DYNEXP) $(PRINT_LIBS) $(AUTH_LIBS) \ - $(ACL_LIBS) $(PASSDB_LIBS) $(LIBS) $(DNSSD_LIBS) $(AVAHI_LIBS) \ - $(POPT_LIBS) @SMBD_LIBS@ $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) \ - $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) $(LIBNETAPI_LIBS) $(TERMLDFLAGS) $(TERMLIBS) - -bin/profiles: $(BINARY_PREREQS) $(PROFILES_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) - @echo Linking $@ - @$(CC) -o $@ $(PROFILES_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) \ - $(LDAP_LIBS) $(POPT_LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) - -bin/smbspool: $(BINARY_PREREQS) $(CUPS_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(CUPS_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) \ - @LIBWBCLIENT_STATIC@ $(LIBWBCLIENT_LIBS) \ - $(KRB5LIBS) $(LDAP_LIBS) $(POPT_LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(ZLIB_LIBS) - -bin/testparm: $(BINARY_PREREQS) $(TESTPARM_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) - @echo Linking $@ - @$(CC) -o $@ $(TESTPARM_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \ - $(LDAP_LIBS) $(POPT_LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) - -bin/smbta-util: $(BINARY_PREREQS) $(SMBTA_UTIL_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) - @echo Linking $@ - @$(CC) -o $@ $(SMBTA_UTIL_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \ - $(LDAP_LIBS) $(POPT_LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) - -bin/smbstatus: $(BINARY_PREREQS) $(STATUS_OBJ) $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) @BUILD_POPT@ - @echo Linking $@ - @$(CC) -o $@ $(STATUS_OBJ) $(LDFLAGS) $(LDAP_LIBS) @SMBD_FAM_LIBS@ \ - $(KRB5LIBS) $(DYNEXP) $(PRINT_LIBS) $(AUTH_LIBS) \ - $(ACL_LIBS) $(PASSDB_LIBS) $(LIBS) $(DNSSD_LIBS) $(AVAHI_LIBS) \ - $(POPT_LIBS) @SMBD_LIBS@ $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) \ - $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) - -bin/smbcontrol: $(BINARY_PREREQS) $(SMBCONTROL_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) - @echo Linking $@ - @$(CC) -DUSING_SMBCONTROL -o $@ \ - $(SMBCONTROL_OBJ) $(DYNEXP) $(LDFLAGS) \ - $(LIBS) $(LDAP_LIBS) @LIBUNWIND_PTRACE@ $(POPT_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) - -bin/smbtree: $(BINARY_PREREQS) $(SMBTREE_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(SMBTREE_OBJ) $(LDFLAGS) $(DYNEXP) \ - $(LIBS) $(POPT_LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(NSCD_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) - -bin/smbpasswd: $(BINARY_PREREQS) $(SMBPASSWD_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(SMBPASSWD_OBJ) $(LDFLAGS) $(PASSDB_LIBS) \ - $(DYNEXP) $(LIBS) $(POPT_LIBS) $(KRB5LIBS) $(LDAP_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) - -bin/pdbedit: $(BINARY_PREREQS) $(PDBEDIT_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(PDBEDIT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \ - $(POPT_LIBS) $(PASSDB_LIBS) $(LDAP_LIBS) $(LIBTALLOC_LIBS) \ - $(LIBTDBS_LIBS) $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) - -bin/smbget: $(BINARY_PREREQS) $(SMBGET_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(SMBGET_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \ - $(POPT_LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(NSCD_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) - -bin/nmblookup: $(BINARY_PREREQS) $(NMBLOOKUP_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) - @echo Linking $@ - @$(CC) -o $@ $(NMBLOOKUP_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \ - $(POPT_LIBS) $(LDAP_LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) - -bin/smbtorture3: $(BINARY_PREREQS) $(SMBTORTURE_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) $(IDMAP_UTIL_OBJ) - @echo Linking $@ - @$(CC) -o $@ $(SMBTORTURE_OBJ) $(IDMAP_UTIL_OBJ) $(LDFLAGS) $(DYNEXP) \ - $(LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(POPT_LIBS) $(LIBTALLOC_LIBS) \ - $(LIBTDBS_LIBS) $(ZLIB_LIBS) $(LIBWBCLIENT_LIBS) - -bin/talloctort: $(BINARY_PREREQS) $(TALLOCTORT_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) - @echo Linking $@ - @$(CC) -o $@ $(TALLOCTORT_OBJ) $(LDFLAGS) \ - $(DYNEXP) $(LIBS) $(LDAP_LIBS) $(POPT_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) - -bin/replacetort: $(REPLACETORT_OBJ) @BUILD_POPT@ $(LIBTALLOC) - @echo Linking $@ - @$(CC) -o $@ $(REPLACETORT_OBJ) $(LDFLAGS) \ - $(DYNEXP) $(LIBS) $(POPT_LIBS) $(LIBTALLOC_LIBS) - -bin/smbconftort: $(SMBCONFTORT_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) - @echo Linking $@ - @$(CC) -o $@ $(SMBCONFTORT_OBJ) $(LDFLAGS) \ - $(DYNEXP) $(LIBS) $(LDAP_LIBS) $(POPT_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) - -bin/pthreadpooltest: $(PTHREADPOOLTEST_OBJ) - @echo Linking $@ - @$(CC) -o $@ $(PTHREADPOOLTEST_OBJ) $(LDFLAGS) $(LIBS) $(PTHREAD_LDFLAGS) - -bin/masktest: $(BINARY_PREREQS) $(MASKTEST_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(MASKTEST_OBJ) $(LDFLAGS) $(DYNEXP) \ - $(LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(POPT_LIBS) \ - @LIBWBCLIENT_STATIC@ $(LIBWBCLIENT_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(ZLIB_LIBS) - -bin/msgtest: $(BINARY_PREREQS) $(MSGTEST_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) - @echo Linking $@ - @$(CC) -o $@ $(MSGTEST_OBJ) $(LDFLAGS) $(DYNEXP) \ - $(LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(POPT_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(ZLIB_LIBS) - -bin/smbcacls: $(BINARY_PREREQS) $(SMBCACLS_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(SMBCACLS_OBJ) $(DYNEXP) $(LDFLAGS) \ - $(LIBS) $(POPT_LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(NSCD_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) - -bin/smbcquotas: $(BINARY_PREREQS) $(SMBCQUOTAS_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(SMBCQUOTAS_OBJ) $(DYNEXP) $(LDFLAGS) \ - $(LIBS) $(POPT_LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(NSCD_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) - -bin/eventlogadm: $(BINARY_PREREQS) $(EVTLOGADM_OBJ) $(LIBTALLOC) $(LIBTDBS) - @echo Linking $@ - @$(CC) -o $@ $(EVTLOGADM_OBJ) $(DYNEXP) $(LDFLAGS) \ - $(LIBS) $(LDAP_LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) - -bin/sharesec: $(BINARY_PREREQS) $(SHARESEC_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) - @echo Linking $@ - @$(CC) -o $@ $(SHARESEC_OBJ) $(DYNEXP) $(LDFLAGS) \ - $(LIBS) $(LDAP_LIBS) $(POPT_LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) - -bin/locktest: $(BINARY_PREREQS) $(LOCKTEST_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(LOCKTEST_OBJ) $(LDFLAGS) $(DYNEXP) \ - $(LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(POPT_LIBS) \ - @LIBWBCLIENT_STATIC@ $(LIBWBCLIENT_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(ZLIB_LIBS) - -bin/nsstest: $(BINARY_PREREQS) $(NSSTEST_OBJ) $(LIBTALLOC) - @echo Linking $@ - @$(CC) -o $@ $(NSSTEST_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \ - $(LIBTALLOC_LIBS) - -bin/vfstest: $(BINARY_PREREQS) $(VFSTEST_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(VFSTEST_OBJ) $(LDFLAGS) $(TERMLDFLAGS) $(AVAHI_LIBS) \ - $(TERMLIBS) $(DYNEXP) $(PRINT_LIBS) $(AUTH_LIBS) $(DNSSD_LIBS) \ - $(ACL_LIBS) $(LIBS) $(POPT_LIBS) $(KRB5LIBS) $(LDAP_LIBS) \ - @SMBD_LIBS@ $(NSCD_LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) \ - $(LIBWBCLIENT_LIBS) $(ZLIB_LIBS) - -bin/log2pcap: $(BINARY_PREREQS) $(LOG2PCAP_OBJ) @BUILD_POPT@ $(LIBTALLOC) - @echo Linking $@ - @$(CC) -o $@ $(LOG2PCAP_OBJ) $(LDFLAGS) $(DYNEXP) \ - $(POPT_LIBS) $(LIBS) $(LIBTALLOC_LIBS) - -bin/locktest2: $(BINARY_PREREQS) $(LOCKTEST2_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(LOCKTEST2_OBJ) $(LDFLAGS) $(DYNEXP) \ - @LIBWBCLIENT_STATIC@ $(LIBWBCLIENT_LIBS) \ - $(LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(POPT_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(ZLIB_LIBS) - -bin/debug2html: $(BINARY_PREREQS) $(DEBUG2HTML_OBJ) @BUILD_POPT@ $(LIBTALLOC) - @echo Linking $@ - @$(CC) -o $@ $(DEBUG2HTML_OBJ) $(LDFLAGS) $(DYNEXP) \ - $(LIBS) $(LIBTALLOC_LIBS) - -bin/smbfilter: $(BINARY_PREREQS) $(SMBFILTER_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(SMBFILTER_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \ - $(KRB5LIBS) $(LDAP_LIBS) $(POPT_LIBS) \ - @LIBWBCLIENT_STATIC@ $(LIBWBCLIENT_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(ZLIB_LIBS) - -bin/versiontest: $(BINARY_PREREQS) lib/version_test.o $(VERSION_OBJ) - @echo Linking $@ - @$(CC) $(FLAGS) -o $@ $(VERSION_OBJ) lib/version_test.o - - -##################################################################### -# -# libraries -# -##################################################################### - -MKSYMS_SH = $(srcdir)/script/mksyms.sh - - -#------------------------------------------------------------------- -# -# libtalloc -# -#------------------------------------------------------------------- - - -LIBTALLOC_OBJ0 = @LIBTALLOC_OBJ0@ -LIBTALLOC_OBJ = $(LIBTALLOC_OBJ0) $(LIBREPLACE_OBJ) - -LIBTALLOC_STATIC_TARGET=@LIBTALLOC_STATIC_TARGET@ - -$(LIBTALLOC_STATIC_TARGET): $(BINARY_PREREQS) $(LIBTALLOC_OBJ0) - @echo Linking non-shared library $@ - @-$(AR) -rc $@ $(LIBTALLOC_OBJ0) -libtalloc: $(LIBTALLOC) - -cleanlibtalloc:: - -rm -f \ - $(LIBTALLOC_STATIC_TARGET) - -libs:: libtalloc -cleanlibs:: cleanlibtalloc - -showlibtalloc: - @echo "" - @echo "LIBTALLOC_STATIC = @LIBTALLOC_STATIC@" - @echo "LIBTALLOC_STATIC_TARGET = $(LIBTALLOC_STATIC_TARGET)" - @echo "LIBTALLOC = $(LIBTALLOC)" - -showlibs:: showlibtalloc - -#------------------------------------------------------------------- -# -# libtdb -# -#------------------------------------------------------------------- - -LIBTDB_OBJ0 = @LIBTDB_OBJ0@ -LIBTDB_OBJ = $(LIBTDB_OBJ0) $(LIBREPLACE_OBJ) - -LIBTDB_STATIC_TARGET=@LIBTDB_STATIC_TARGET@ - -$(LIBTDB_STATIC_TARGET): $(BINARY_PREREQS) $(LIBTDB_OBJ0) - @echo Linking non-shared library $@ - @-$(AR) -rc $@ $(LIBTDB_OBJ0) - -libtdb: $(LIBTDB) - -cleanlibtdb:: - -rm -f \ - $(LIBTDB_STATIC_TARGET) - -libs:: libtdb -cleanlibs:: cleanlibtdb - -showlibtdb: - @echo "" - @echo "LIBTDB_STATIC = @LIBTDB_STATIC@" - @echo "LIBTDB_STATIC_TARGET = $(LIBTDB_STATIC_TARGET)" - @echo "LIBTDB = $(LIBTDB)" - -showlibs:: showlibtdb - -#------------------------------------------------------------------- -# -# libntdb -# -#------------------------------------------------------------------- - -LIBNTDB_OBJ0 = @LIBNTDB_OBJ0@ -LIBNTDB_OBJ = $(LIBNTDB_OBJ0) $(LIBREPLACE_OBJ) - -LIBNTDB_STATIC_TARGET=@LIBNTDB_STATIC_TARGET@ - -$(LIBNTDB_STATIC_TARGET): $(BINARY_PREREQS) $(LIBNTDB_OBJ0) - @echo Linking non-shared library $@ - @-$(AR) -rc $@ $(LIBNTDB_OBJ0) - -libntdb: $(LIBNTDB) - -cleanlibntdb:: - -rm -f \ - $(LIBNTDB_STATIC_TARGET) - -libs:: libntdb -cleanlibs:: cleanlibntdb - -showlibntdb: - @echo "" - @echo "LIBNTDB_STATIC = @LIBNTDB_STATIC@" - @echo "LIBNTDB_STATIC_TARGET = $(LIBNTDB_STATIC_TARGET)" - @echo "LIBNTDB = $(LIBNTDB)" - -showlibs:: showlibntdb - -#------------------------------------------------------------------- -# -# libwbclient -# -#------------------------------------------------------------------- - -LIBWBCLIENT_OBJ0 = ../nsswitch/libwbclient/wbclient.o \ - ../nsswitch/libwbclient/wbc_util.o \ - ../nsswitch/libwbclient/wbc_pwd.o \ - ../nsswitch/libwbclient/wbc_idmap.o \ - ../nsswitch/libwbclient/wbc_sid.o \ - ../nsswitch/libwbclient/wbc_guid.o \ - ../nsswitch/libwbclient/wbc_pam.o - -LIBWBCLIENT_OBJ = $(LIBWBCLIENT_OBJ0) \ - $(WBCOMMON_OBJ) \ - $(LIBREPLACE_OBJ) \ - ../lib/util/blocking.o \ - $(SOCKET_WRAPPER_OBJ) - -LIBWBCLIENT_SHARED_TARGET=@LIBWBCLIENT_SHARED_TARGET@ -LIBWBCLIENT_SOVER=@LIBWBCLIENT_SOVER@ -LIBWBCLIENT_FULLVER=@LIBWBCLIENT_FULLVER@ -LIBWBCLIENT_SHARED_TARGET_SONAME=@LIBWBCLIENT_SHARED_TARGET_SOVER@ -LIBWBCLIENT_STATIC_TARGET=@LIBWBCLIENT_STATIC_TARGET@ -LIBWBCLIENT_SYMS=$(srcdir)/exports/libwbclient.@SYMSEXT@ -LIBWBCLIENT_HEADERS=$(srcdir)/../nsswitch/libwbclient/wbclient.h - -$(LIBWBCLIENT_SYMS): $(LIBWBCLIENT_HEADERS) - @$(MKSYMS_SH) $(AWK) $@ $(LIBWBCLIENT_HEADERS) - -$(LIBWBCLIENT_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBWBCLIENT_OBJ) $(LIBWBCLIENT_SYMS) - @echo Linking shared library $@ - @$(SHLD_DSO) $(LIBWBCLIENT_OBJ) $(LIBREPLACE_LIBS) \ - @SONAMEFLAG@`basename $@` - -$(LIBWBCLIENT_SHARED_TARGET): $(LIBWBCLIENT_SHARED_TARGET_SONAME) - @rm -f $@ - @ln -f -s `basename $(LIBWBCLIENT_SHARED_TARGET_SONAME)` $@ - -$(LIBWBCLIENT_STATIC_TARGET): $(BINARY_PREREQS) $(LIBWBCLIENT_OBJ0) $(WBCOMMON_OBJ) - @echo Linking non-shared library $@ - @-$(AR) -rc $@ $(LIBWBCLIENT_OBJ0) $(WBCOMMON_OBJ) - -libwbclient: $(LIBWBCLIENT) - -cleanlibwbclient:: - -rm -f \ - $(LIBWBCLIENT_SYMS) \ - $(LIBWBCLIENT_STATIC_TARGET) \ - $(LIBWBCLIENT_SHARED_TARGET) \ - $(LIBWBCLIENT_SHARED_TARGET_SONAME) - -installlibwbclient:: installdirs libwbclient - @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR) - -$(INSTALLLIBCMD_SH) $(LIBWBCLIENT_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR) - @rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBWBCLIENT_SHARED_TARGET)` - -if test -r $(LIBWBCLIENT_SHARED_TARGET_SONAME) ; then \ - ln -f -s `basename $(LIBWBCLIENT_SHARED_TARGET_SONAME)` \ - $(DESTDIR)$(LIBDIR)/`basename $(LIBWBCLIENT_SHARED_TARGET)` ; \ - fi - -$(INSTALLLIBCMD_A) bin/libwbclient.a $(DESTDIR)$(LIBDIR) - @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) ${prefix}/include - -$(INSTALLCMD) -m $(INSTALLPERMS_DATA) $(LIBWBCLIENT_HEADERS) $(DESTDIR)${prefix}/include - -uninstalllibwbclient:: - -rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBWBCLIENT_SHARED_TARGET)` - -$(UNINSTALLLIBCMD_SH) $(DESTDIR)$(LIBDIR)/`basename $(LIBWBCLIENT_SHARED_TARGET_SONAME)` - -$(UNINSTALLLIBCMD_A) $(DESTDIR)$(LIBDIR)/`basename $(LIBWBCLIENT_STATIC_TARGET)` - -rm -f $(DESTDIR)${prefix}/include/wbclient.h - -libs:: libwbclient -installlibs:: @INSTALL_LIBWBCLIENT@ -uninstalllibs:: uninstalllibwbclient -cleanlibs:: cleanlibwbclient -shlibs test_shlibs: @LIBWBCLIENT_SHARED@ - -showlibwbclient: - @echo "" - @echo "LIBWBCLIENT_SHARED = @LIBWBCLIENT_SHARED@" - @echo "LIBWBCLIENT_STATIC = @LIBWBCLIENT_STATIC@" - @echo "LIBWBCLIENT_LIBS = $(LIBWBCLIENT_LIBS)" - @echo "" - @echo "LIBWBCLIENT_SHARED_TARGET = $(LIBWBCLIENT_SHARED_TARGET)" - @echo "LIBWBCLIENT_SOVER = $(LIBWBCLIENT_SOVER)" - @echo "LIBWBCLIENT_FULLVER = $(LIBWBCLIENT_FULLVER)" - @echo "LIBWBCLIENT_SHARED TARGET_SONAME = $(LIBWBCLIENT_SHARED_TARGET_SONAME)" - @echo "LIBWBCLIENT_STATIC_TARGET = $(LIBWBCLIENT_STATIC_TARGET)" - @echo "LIBWBCLIENT = $(LIBWBCLIENT)" - -showlibs:: showlibwbclient - - -#------------------------------------------------------------------- -# -# libnetapi -# -#------------------------------------------------------------------- - -LIBNETAPI_OBJ0 = lib/netapi/netapi.o \ - lib/netapi/cm.o \ - autoconf/librpc/gen_ndr/ndr_libnetapi.o \ - lib/netapi/libnetapi.o \ - lib/netapi/joindomain.o \ - lib/netapi/serverinfo.o \ - lib/netapi/getdc.o \ - lib/netapi/user.o \ - lib/netapi/group.o \ - lib/netapi/localgroup.o \ - lib/netapi/samr.o \ - lib/netapi/sid.o \ - lib/netapi/share.o \ - lib/netapi/file.o \ - lib/netapi/shutdown.o \ - lib/netapi/netlogon.o - -LIBNETAPI_OBJ = $(LIBNETAPI_OBJ0) $(LIBNET_OBJ) \ - $(LIBSMBCONF_OBJ) \ - $(REG_SMBCONF_OBJ) \ - $(PARAM_WITHOUT_REG_OBJ) $(LIB_NONSMBD_OBJ) \ - $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \ - $(LIBMSRPC_OBJ) $(LIBMSRPC_GEN_OBJ) \ - $(PASSDB_OBJ) $(SMBLDAP_OBJ) $(GROUPDB_OBJ) \ - $(DCUTIL_OBJ) $(LIBADS_OBJ) $(PRIVILEGES_BASIC_OBJ) \ - auth/token_util.o \ - $(LIBCLI_INITSHUTDOWN_OBJ) \ - $(LIBCLI_WKSSVC_OBJ) \ - $(LIBCLI_SRVSVC_OBJ) \ - $(LIBCLI_LSA_OBJ) \ - $(LIBCLI_SAMR_OBJ) \ - $(RPC_CLIENT_SCHANNEL_OBJ) \ - rpc_client/init_samr.o - -LIBNETAPI_SHARED_TARGET=@LIBNETAPI_SHARED_TARGET@ -LIBNETAPI_SOVER=@LIBNETAPI_SOVER@ -LIBNETAPI_FULLVER=@LIBNETAPI_FULLVER@ -LIBNETAPI_SHARED_TARGET_SONAME=@LIBNETAPI_SHARED_TARGET_SOVER@ -LIBNETAPI_STATIC_TARGET=@LIBNETAPI_STATIC_TARGET@ -LIBNETAPI_SYMS=$(srcdir)/exports/libnetapi.@SYMSEXT@ -LIBNETAPI_HEADERS=$(srcdir)/lib/netapi/netapi.h - -$(LIBNETAPI_SYMS): $(LIBNETAPI_HEADERS) - @$(MKSYMS_SH) $(AWK) $@ $(LIBNETAPI_HEADERS) - -$(LIBNETAPI_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBNETAPI_OBJ) $(LIBNETAPI_SYMS) $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking shared library $@ - @$(SHLD_DSO) $(LIBNETAPI_OBJ) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(LIBWBCLIENT_LIBS) $(LIBS) \ - $(LDAP_LIBS) $(KRB5LIBS) $(NSCD_LIBS) $(ZLIB_LIBS) \ - @SONAMEFLAG@`basename $@` - -$(LIBNETAPI_SHARED_TARGET): $(LIBNETAPI_SHARED_TARGET_SONAME) - @rm -f $@ - @ln -f -s `basename $(LIBNETAPI_SHARED_TARGET_SONAME)` $@ - -$(LIBNETAPI_STATIC_TARGET): $(BINARY_PREREQS) $(LIBNETAPI_OBJ0) - @echo Linking non-shared library $@ - @-$(AR) -rc $@ $(LIBNETAPI_OBJ0) - -libnetapi: $(LIBNETAPI) - -cleanlibnetapi:: - -rm -f \ - $(LIBNETAPI_SYMS) \ - $(LIBNETAPI_STATIC_TARGET) \ - $(LIBNETAPI_SHARED_TARGET) \ - $(LIBNETAPI_SHARED_TARGET_SONAME) - -installlibnetapi:: installdirs libnetapi - @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR) - -$(INSTALLLIBCMD_SH) $(LIBNETAPI_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR) - @rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBNETAPI_SHARED_TARGET)` - -if test -r $(LIBNETAPI_SHARED_TARGET_SONAME) ; then \ - ln -f -s `basename $(LIBNETAPI_SHARED_TARGET_SONAME)` \ - $(DESTDIR)$(LIBDIR)/`basename $(LIBNETAPI_SHARED_TARGET)` ; \ - fi - -$(INSTALLLIBCMD_A) $(LIBNETAPI_STATIC_TARGET) $(DESTDIR)$(LIBDIR) - @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) ${prefix}/include - -$(INSTALLCMD) -m $(INSTALLPERMS_DATA) $(srcdir)/lib/netapi/netapi.h $(DESTDIR)${prefix}/include - -uninstalllibnetapi:: - -rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBNETAPI_SHARED_TARGET)` - -$(UNINSTALLLIBCMD_SH) $(DESTDIR)$(LIBDIR)/`basename $(LIBNETAPI_SHARED_TARGET_SONAME)` - -$(UNINSTALLLIBCMD_A) $(DESTDIR)$(LIBDIR)/`basename $(LIBNETAPI_STATIC_TARGET)` - -rm -f $(DESTDIR)${prefix}/include/netapi.h - -libs:: libnetapi -installlibs:: @INSTALL_LIBNETAPI@ -uninstalllibs:: @UNINSTALL_LIBNETAPI@ -cleanlibs:: cleanlibnetapi -shlibs test_shlibs: @LIBNETAPI_SHARED@ - -showlibnetapi: - @echo "" - @echo "LIBNETAPI_SHARED = @LIBNETAPI_SHARED@" - @echo "LIBNETAPI_STATIC = @LIBNETAPI_STATIC@" - @echo "LIBNETAPI_LIBS = $(LIBNETAPI_LIBS)" - @echo "" - @echo "LIBNETAPI_SHARED_TARGET = $(LIBNETAPI_SHARED_TARGET)" - @echo "LIBNETAPI_SOVER = $(LIBNETAPI_SOVER)" - @echo "LIBNETAPI_FULLVER = $(LIBNETAPI_FULLVER)" - @echo "LIBNETAPI_SHARED TARGET_SONAME = $(LIBNETAPI_SHARED_TARGET_SONAME)" - @echo "LIBNETAPI_STATIC_TARGET = $(LIBNETAPI_STATIC_TARGET)" - @echo "LIBNETAPI = $(LIBNETAPI)" - -showlibs:: showlibnetapi - -#------------------------------------------------------------------- -# -# libsmbclient -# -#------------------------------------------------------------------- - -LIBSMBCLIENT_SHARED_TARGET=@LIBSMBCLIENT_SHARED_TARGET@ -LIBSMBCLIENT_SOVER=@LIBSMBCLIENT_SOVER@ -LIBSMBCLIENT_FULLVER=@LIBSMBCLIENT_FULLVER@ -LIBSMBCLIENT_SHARED_TARGET_SONAME=@LIBSMBCLIENT_SHARED_TARGET_SOVER@ -LIBSMBCLIENT_STATIC_TARGET=@LIBSMBCLIENT_STATIC_TARGET@ -LIBSMBCLIENT=@LIBSMBCLIENT_STATIC@ @LIBSMBCLIENT_SHARED@ -LIBSMBCLIENT_SYMS=$(srcdir)/exports/libsmbclient.@SYMSEXT@ -LIBSMBCLIENT_HEADERS=$(srcdir)/include/libsmbclient.h - -$(LIBSMBCLIENT_SYMS): $(LIBSMBCLIENT_HEADERS) - @$(MKSYMS_SH) $(AWK) $@ $(LIBSMBCLIENT_HEADERS) - -$(LIBSMBCLIENT_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBSMBCLIENT_OBJ) $(LIBSMBCLIENT_THREAD_OBJ) $(LIBSMBCLIENT_SYMS) $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking shared library $@ - @$(SHLD_DSO) $(LIBSMBCLIENT_OBJ) $(LIBSMBCLIENT_THREAD_OBJ) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(LIBWBCLIENT_LIBS) $(LIBS) \ - $(KRB5LIBS) $(LDAP_LIBS) $(NSCD_LIBS) $(ZLIB_LIBS) $(PTHREAD_LDFLAGS) \ - @SONAMEFLAG@`basename $@` - -$(LIBSMBCLIENT_SHARED_TARGET): $(LIBSMBCLIENT_SHARED_TARGET_SONAME) - @rm -f $@ - @ln -s `basename $(LIBSMBCLIENT_SHARED_TARGET_SONAME)` $@ - -$(LIBSMBCLIENT_STATIC_TARGET): $(BINARY_PREREQS) $(LIBSMBCLIENT_OBJ1) - @echo Linking non-shared library $@ - @-$(AR) -rc $@ $(LIBSMBCLIENT_OBJ1) - -libsmbclient: $(LIBSMBCLIENT) - -cleanlibsmbclient:: - -rm -f \ - $(LIBSMBCLIENT_SHARED_TARGET) \ - $(LIBSMBCLIENT_SHARED_TARGET_SONAME) \ - $(LIBSMBCLIENT_STATIC_TARGET) - -installlibsmbclient:: installdirs libsmbclient - @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR) - -$(INSTALLLIBCMD_SH) $(LIBSMBCLIENT_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR) - @rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBCLIENT_SHARED_TARGET)` - -if test -r $(LIBSMBCLIENT_SHARED_TARGET_SONAME) ; then \ - ln -f -s `basename $(LIBSMBCLIENT_SHARED_TARGET_SONAME)` \ - $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBCLIENT_SHARED_TARGET)` ; \ - fi - -$(INSTALLLIBCMD_A) $(LIBSMBCLIENT_STATIC_TARGET) $(DESTDIR)$(LIBDIR) - @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) ${prefix}/include - -$(INSTALLCMD) -m $(INSTALLPERMS_DATA) $(LIBSMBCLIENT_HEADERS) $(DESTDIR)${prefix}/include - -installclientlib:: installlibsmbclient - -uninstalllibsmbclient:: - -rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBCLIENT_SHARED_TARGET)` - -$(UNINSTALLLIBCMD_SH) $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBCLIENT_SHARED_TARGET_SONAME)` - -$(UNINSTALLLIBCMD_A) $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBCLIENT_STATIC_TARGET)` - -rm -f $(DESTDIR)${prefix}/include/libsmbclient.h - -uninstallclientlib:: uninstalllibsmbclient - -libs:: libsmbclient -installlibs:: @INSTALL_LIBSMBCLIENT@ -uninstalllibs:: @UNINSTALL_LIBSMBCLIENT@ -cleanlibs:: cleanlibsmbclient -shlibs test_shlibs: @LIBSMBCLIENT_SHARED@ - -showlibsmbclient: - @echo "" - @echo "LIBSMBCLIENT_SHARED = @LIBSMBCLIENT_SHARED@" - @echo "LIBSMBCLIENT_STATIC = @LIBSMBCLIENT_STATIC@" - @echo "LIBSMBCLIENT_LIBS = $(LIBSMBCLIENT_LIBS)" - @echo "" - @echo "LIBSMBCLIENT_SHARED_TARGET = $(LIBSMBCLIENT_SHARED_TARGET)" - @echo "LIBSMBCLIENT_SOVER = $(LIBSMBCLIENT_SOVER)" - @echo "LIBSMBCLIENT_FULLVER = $(LIBSMBCLIENT_FULLVER)" - @echo "LIBSMBCLIENT_SHARED TARGET_SONAME = $(LIBSMBCLIENT_SHARED_TARGET_SONAME)" - @echo "LIBSMBCLIENT_STATIC_TARGET = $(LIBSMBCLIENT_STATIC_TARGET)" - @echo "LIBSMBCLIENT = $(LIBSMBCLIENT)" - -showlibs:: showlibsmbclient - -#------------------------------------------------------------------- -# -# libsmbsharemodes -# -#------------------------------------------------------------------- - -LIBSMBSHAREMODES_OBJ0 = libsmb/smb_share_modes.o ../lib/ccan/hash/hash.o - -LIBSMBSHAREMODES_OBJ = $(LIBSMBSHAREMODES_OBJ0) - -LIBSMBSHAREMODES_SHARED_TARGET=@LIBSMBSHAREMODES_SHARED_TARGET@ -LIBSMBSHAREMODES_SOVER=@LIBSMBSHAREMODES_SOVER@ -LIBSMBSHAREMODES_FULLVER=@LIBSMBSHAREMODES_FULLVER@ -LIBSMBSHAREMODES_SHARED_TARGET_SONAME=@LIBSMBSHAREMODES_SHARED_TARGET_SOVER@ -LIBSMBSHAREMODES_STATIC_TARGET=@LIBSMBSHAREMODES_STATIC_TARGET@ -LIBSMBSHAREMODES=@LIBSMBSHAREMODES_STATIC@ @LIBSMBSHAREMODES_SHARED@ -LIBSMBSHAREMODES_SYMS=$(srcdir)/exports/libsmbsharemodes.@SYMSEXT@ -LIBSMBSHAREMODES_HEADERS=$(srcdir)/include/smb_share_modes.h - -$(LIBSMBSHAREMODES_SYMS): $(LIBSMBSHAREMODES_HEADERS) - @$(MKSYMS_SH) $(AWK) $@ $(LIBSMBSHAREMODES_HEADERS) - -$(LIBSMBSHAREMODES_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBSMBSHAREMODES_OBJ) $(LIBSMBSHAREMODES_SYMS) $(LIBTALLOC) $(LIBTDBS) - @echo Linking shared library $@ - @$(SHLD_DSO) $(LIBSMBSHAREMODES_OBJ) \ - $(LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) \ - @SONAMEFLAG@`basename $@` - -$(LIBSMBSHAREMODES_SHARED_TARGET): $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME) - @rm -f $@ - @ln -f -s `basename $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME)` $@ - -$(LIBSMBSHAREMODES_STATIC_TARGET): $(BINARY_PREREQS) $(LIBSMBSHAREMODES_OBJ0) - @echo Linking non-shared library $@ - @-$(AR) -rc $@ $(LIBSMBSHAREMODES_OBJ0) - -libsmbsharemodes: $(LIBSMBSHAREMODES) - -cleanlibsmbsharemodes:: - -rm -f \ - $(LIBSMBSHAREMODES_SHARED_TARGET) \ - $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME) \ - $(LIBSMBSHAREMODES_STATIC_TARGET) - -installlibsmbsharemodes:: installdirs libsmbsharemodes - @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR) - -$(INSTALLLIBCMD_SH) $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR) - @rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBSHAREMODES_SHARED_TARGET)` - -if test -r $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME) ; then \ - ln -f -s `basename $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME)` \ - $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBSHAREMODES_SHARED_TARGET)` ; \ - fi - -$(INSTALLLIBCMD_A) $(LIBSMBSHAREMODES_STATIC_TARGET) $(DESTDIR)$(LIBDIR) - @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) ${prefix}/include - -$(INSTALLCMD) -m $(INSTALLPERMS_DATA) $(LIBSMBSHAREMODES_HEADERS) $(DESTDIR)${prefix}/include - -uninstalllibsmbsharemodes:: - -rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBSHAREMODES_SHARED_TARGET)` - -$(UNINSTALLLIBCMD_SH) $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME)` - -$(UNINSTALLLIBCMD_A) $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBSHAREMODES_STATIC_TARGET)` - -rm -f $(DESTDIR)${prefix}/include/smb_share_modes.h - -libs:: libsmbsharemodes -installlibs:: @INSTALL_LIBSMBSHAREMODES@ -uninstalllibs:: @UNINSTALL_LIBSMBSHAREMODES@ -cleanlibs:: cleanlibsmbsharemodes -shlibs test_shlibs: @LIBSMBSHAREMODES_SHARED@ - -showlibsmbsharemodes: - @echo "" - @echo "LIBSMBSHAREMODES_SHARED = @LIBSMBSHAREMODES_SHARED@" - @echo "LIBSMBSHAREMODES_STATIC = @LIBSMBSHAREMODES_STATIC@" - @echo "LIBSMBSHAREMODES_TARGET = @LIBSMBSHAREMODES_TARGET@" - @echo "LIBSMBSHAREMODES_LIBS = $(LIBSMBSHAREMODES_LIBS)" - @echo "" - @echo "LIBSMBSHAREMODES_SHARED_TARGET = $(LIBSMBSHAREMODES_SHARED_TARGET)" - @echo "LIBSMBSHAREMODES_SOVER = $(LIBSMBSHAREMODES_SOVER)" - @echo "LIBSMBSHAREMODES_FULLVER = $(LIBSMBSHAREMODES_FULLVER)" - @echo "LIBSMBSHAREMODES_SHARED TARGET_SONAME = $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME)" - @echo "LIBSMBSHAREMODES_STATIC_TARGET = $(LIBSMBSHAREMODES_STATIC_TARGET)" - @echo "LIBSMBSHAREMODES = $(LIBSMBSHAREMODES)" - -showlibs:: showlibsmbsharemodes - -##################################################################### -# -# shared modules -# -##################################################################### - -# Linker command to link our shared libraries: -SHLD_LIBRARY = $(SHLD) $(LDSHFLAGS) $(MODULE_EXPORTS) \ - -o $@ @SONAMEFLAG@`basename $@` -# Linker command to link samba internal plugin modules: -SHLD_MODULE = $(SHLD) $(LDSHFLAGS_MODULES) $(MODULE_EXPORTS) \ - -o $@ @SONAMEFLAG@`basename $@` - -bin/librpc_lsarpc.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_LSARPC_OBJ) - @echo "Linking $@" - @$(SHLD_LIBRARY) $(RPC_LSARPC_OBJ) - -bin/librpc_samr.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_SAMR_OBJ) - @echo "Linking $@" - @$(SHLD_LIBRARY) $(RPC_SAMR_OBJ) - -bin/librpc_srvsvc.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_SRVSVC_OBJ) - @echo "Linking $@" - @$(SHLD_LIBRARY) $(RPC_SRVSVC_OBJ) - -bin/librpc_svcctl.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_SVCCTL_OBJ) - @echo "Linking $@" - @$(SHLD_LIBRARY) $(RPC_SVCCTL_OBJ) - -bin/librpc_ntsvcs.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_NTSVCS_OBJ) - @echo "Linking $@" - @$(SHLD_LIBRARY) $(RPC_NTSVCS_OBJ) - -bin/librpc_wkssvc.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_WKSSVC_OBJ) - @echo "Linking $@" - @$(SHLD_LIBRARY) $(RPC_WKSSVC_OBJ) - -bin/librpc_NETLOGON.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_NETLOGON_OBJ) - @echo "Linking $@" - @$(SHLD_LIBRARY) $(RPC_NETLOGON_OBJ) - -bin/librpc_winreg.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_WINREG_OBJ) - @echo "Linking $@" - @$(SHLD_LIBRARY) $(RPC_WINREG_OBJ) - -bin/librpc_initshutdown.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_INITSHUTDOWN_OBJ) - @echo "Linking $@" - @$(SHLD_LIBRARY) $(RPC_INITSHUTDOWN_OBJ) - -bin/librpc_dssetup.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_DSSETUP_OBJ) - @echo "Linking $@" - @$(SHLD_LIBRARY) $(RPC_DSSETUP_OBJ) - -bin/librpc_spoolss.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_SPOOLSS_OBJ) - @echo "Linking $@" - @$(SHLD_LIBRARY) $(RPC_SPOOLSS_OBJ) - -bin/librpc_eventlog.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_EVENTLOG_OBJ) - @echo "Linking $@" - @$(SHLD_LIBRARY) $(RPC_EVENTLOG_OBJ) - -bin/librpc_netdfs.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_NETDFS_OBJ) - @echo "Linking $@" - @$(SHLD_LIBRARY) $(RPC_NETDFS_OBJ) - -bin/librpc_rpcecho.@SHLIBEXT@: $(BINARY_PREREQS) $(RPC_RPCECHO_OBJ) - @echo "Linking $@" - @$(SHLD_LIBRARY) $(RPC_RPCECHO_OBJ) - -bin/winbindd: $(BINARY_PREREQS) $(WINBINDD_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo "Linking $@" - @$(CC) -o $@ $(WINBINDD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) \ - $(POPT_LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(AUTH_LIBS) \ - $(PASSDB_LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(LIBWBCLIENT_LIBS) \ - $(ZLIB_LIBS) - -bin/vlp: $(BINARY_PREREQS) $(VLP_OBJ) $(LIBTDBS) $(LIBTALLOC) - @echo "Linking $@" - @$(CC) -o $@ $(VLP_OBJ) $(LDFLAGS) $(DYNEXP) \ - $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) $(POPT_LIBS) \ - $(LIBTALLOC_LIBS) \ - $(LIBTDBS_LIBS) - -@WINBIND_NSS@: $(BINARY_PREREQS) $(WINBIND_NSS_OBJ) - @echo "Linking $@" - @$(SHLD) $(WINBIND_NSS_LDSHFLAGS) -o $@ $(WINBIND_NSS_OBJ) \ - $(LIBREPLACE_LIBS) $(PTHREAD_LDFLAGS) \ - @SONAMEFLAG@`basename $@`@NSSSONAMEVERSIONSUFFIX@ - -@WINBIND_WINS_NSS@: $(BINARY_PREREQS) $(WINBIND_WINS_NSS_OBJ) $(LIBTALLOC) $(LIBTDBS) - @echo "Linking $@" - @$(SHLD) $(LDSHFLAGS) -o $@ $(WINBIND_WINS_NSS_OBJ) \ - $(LDAP_LIBS) $(KRB5LIBS) $(LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(ZLIB_LIBS) \ - @SONAMEFLAG@`basename $@`@NSSSONAMEVERSIONSUFFIX@ - -bin/winbind_krb5_locator.@SHLIBEXT@: $(BINARY_PREREQS) $(WINBIND_KRB5_LOCATOR_OBJ) $(LIBWBCLIENT) - @echo "Linking $@" - @$(SHLD) $(LDSHFLAGS) -o $@ $(WINBIND_KRB5_LOCATOR_OBJ) $(LIBWBCLIENT_LIBS) $(KRB5LIBS) \ - $(LIBREPLACE_LIBS) @SONAMEFLAG@`basename $@` - -bin/pam_winbind.@SHLIBEXT@: $(BINARY_PREREQS) $(PAM_WINBIND_OBJ) $(LIBTALLOC) $(LIBWBCLIENT) - @echo "Linking shared library $@" - @$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_WINBIND_OBJ) -lpam @INIPARSERLIBS@ \ - $(LIBREPLACE_LIBS) $(LIBTALLOC_LIBS) $(LIBWBCLIENT_LIBS) @SONAMEFLAG@`basename $@` - -########## -# Plugins: -########## - -bin/builtin.@SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_BUILTIN_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(AUTH_BUILTIN_OBJ) - -bin/domain.@SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_DOMAIN_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(AUTH_DOMAIN_OBJ) - -bin/script.@SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_SCRIPT_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(AUTH_SCRIPT_OBJ) - -bin/winbind.@SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_WINBIND_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(AUTH_WINBIND_OBJ) - -bin/wbc.@SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_WBC_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(AUTH_WBC_OBJ) - -bin/unix.@SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_UNIX_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(AUTH_UNIX_OBJ) - -bin/sam.@SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_SAM_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(AUTH_SAM_OBJ) - -bin/ldapsam.@SHLIBEXT@: $(BINARY_PREREQS) passdb/pdb_ldap.o passdb/pdb_nds.o \ - passdb/pdb_ipa.o passdb/pdb_ldap_util.o - @echo "Building plugin $@" - @$(SHLD_MODULE) passdb/pdb_ldap.o passdb/pdb_nds.o passdb/pdb_ipa.o \ - passdb/pdb_ldap_util.o $(LDAP_LIBS) - -bin/tdbsam.@SHLIBEXT@: $(BINARY_PREREQS) passdb/pdb_tdb.o - @echo "Building plugin $@" - @$(SHLD_MODULE) passdb/pdb_tdb.o - -bin/wbc_sam.@SHLIBEXT@: $(BINARY_PREREQS) passdb/pdb_wbc_sam.o - @echo "Building plugin $@" - @$(SHLD_MODULE) passdb/pdb_wbc_sam.o - -bin/smbpasswd.@SHLIBEXT@: $(BINARY_PREREQS) passdb/pdb_smbpasswd.o - @echo "Building plugin $@" - @$(SHLD_MODULE) passdb/pdb_smbpasswd.o - -bin/rid.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_rid.o - @echo "Building plugin $@" - @$(SHLD_MODULE) winbindd/idmap_rid.o - -bin/passdb.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_passdb.o - @echo "Building plugin $@" - @$(SHLD_MODULE) winbindd/idmap_passdb.o - -bin/autorid.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_autorid.o - @echo "Building plugin $@" - @$(SHLD_MODULE) winbindd/idmap_autorid.o - -bin/ad.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_ad.o - @echo "Building plugin $@" - @$(SHLD_MODULE) winbindd/idmap_ad.o - -bin/rfc2307.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_rfc2307.o - @echo "Building plugin $@" - @$(SHLD_MODULE) winbindd/idmap_rfc2307.o - -bin/hash.@SHLIBEXT@: $(BINARY_PREREQS) $(IDMAP_HASH_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(IDMAP_HASH_OBJ) - -bin/tdb2.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_tdb2.o $(IDMAP_RW_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) winbindd/idmap_tdb2.o $(IDMAP_RW_OBJ) - -bin/ldap.@SHLIBEXT@: $(BINARY_PREREQS) winbindd/idmap_ldap.o $(IDMAP_RW_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) winbindd/idmap_ldap.o $(IDMAP_RW_OBJ) - -# NOTE, there is no build rule for a dynamic default VFS module because -# this one MUST MUST MUST be built statically. - -bin/audit.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_AUDIT_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_AUDIT_OBJ) - -bin/extd_audit.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_EXTD_AUDIT_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_EXTD_AUDIT_OBJ) - -bin/full_audit.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_FULL_AUDIT_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_FULL_AUDIT_OBJ) - -bin/recycle.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_RECYCLE_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_RECYCLE_OBJ) - -bin/netatalk.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_NETATALK_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_NETATALK_OBJ) - -bin/fake_perms.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_FAKE_PERMS_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_FAKE_PERMS_OBJ) - -bin/fake_acls.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_FAKE_ACLS_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_FAKE_ACLS_OBJ) - -bin/default_quota.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_DEFAULT_QUOTA_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_DEFAULT_QUOTA_OBJ) - -bin/readonly.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_READONLY_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_READONLY_OBJ) - -bin/shadow_copy.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_SHADOW_COPY_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_SHADOW_COPY_OBJ) - -bin/shadow_copy2.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_SHADOW_COPY2_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_SHADOW_COPY2_OBJ) - -bin/syncops.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_SYNCOPS_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_SYNCOPS_OBJ) - -bin/cap.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_CAP_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_CAP_OBJ) - -bin/expand_msdfs.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_EXPAND_MSDFS_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_EXPAND_MSDFS_OBJ) - -bin/afsacl.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_AFSACL_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_AFSACL_OBJ) - -bin/xattr_tdb.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_XATTR_TDB_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_XATTR_TDB_OBJ) - -bin/posixacl.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_POSIXACL_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_POSIXACL_OBJ) - -bin/aixacl.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_AIXACL_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_AIXACL_OBJ) - -bin/aixacl2.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_AIXACL2_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_AIXACL2_OBJ) - -bin/solarisacl.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_SOLARISACL_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_SOLARISACL_OBJ) - -bin/zfsacl.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ZFSACL_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_ZFSACL_OBJ) @ZFSACL_LIBS@ - -bin/nfs4acl_xattr.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_NFS4ACL_XATTR_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_NFS4ACL_XATTR_OBJ) - -bin/hpuxacl.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_HPUXACL_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_HPUXACL_OBJ) - -bin/tru64acl.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_TRU64ACL_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_TRU64ACL_OBJ) - -bin/catia.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_CATIA_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_CATIA_OBJ) - -bin/streams_xattr.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_STREAMS_XATTR_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_STREAMS_XATTR_OBJ) - -bin/streams_depot.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_STREAMS_DEPOT_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_STREAMS_DEPOT_OBJ) - -bin/cacheprime.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_CACHEPRIME_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_CACHEPRIME_OBJ) - -bin/prealloc.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_PREALLOC_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_PREALLOC_OBJ) - -bin/commit.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_COMMIT_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_COMMIT_OBJ) - -bin/gpfs.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_GPFS_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_GPFS_OBJ) - -bin/notify_fam.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_NOTIFY_FAM_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_NOTIFY_FAM_OBJ) @SMB_FAM_LIBS@ - -bin/readahead.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_READAHEAD_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_READAHEAD_OBJ) - -bin/tsmsm.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_TSMSM_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_TSMSM_OBJ) - -bin/fileid.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_FILEID_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_FILEID_OBJ) - -bin/aio_fork.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_AIO_FORK_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_AIO_FORK_OBJ) - -bin/aio_pthread.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_AIO_PTHREAD_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_AIO_PTHREAD_OBJ) - -bin/aio_posix.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_AIO_POSIX_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_AIO_POSIX_OBJ) - -bin/aio_linux.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_AIO_LINUX_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_AIO_LINUX_OBJ) - -bin/preopen.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_PREOPEN_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_PREOPEN_OBJ) - -bin/acl_xattr.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ACL_XATTR_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_ACL_XATTR_OBJ) - -bin/smb_traffic_analyzer.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_SMB_TRAFFIC_ANALYZER_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_SMB_TRAFFIC_ANALYZER_OBJ) - -bin/acl_tdb.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ACL_TDB_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_ACL_TDB_OBJ) - -bin/pc_test.@SHLIBEXT@: $(BINARY_PREREQS) $(PERFCOUNT_TEST_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(PERFCOUNT_TEST_OBJ) - -bin/registry.@SHLIBEXT@: $(BINARY_PREREQS) libgpo/gpext/registry.o - @echo "Building plugin $@" - @$(SHLD_MODULE) libgpo/gpext/registry.o - -bin/scripts.@SHLIBEXT@: $(BINARY_PREREQS) libgpo/gpext/scripts.o - @echo "Building plugin $@" - @$(SHLD_MODULE) libgpo/gpext/scripts.o - -bin/security.@SHLIBEXT@: $(BINARY_PREREQS) libgpo/gpext/security.o - @echo "Building plugin $@" - @$(SHLD_MODULE) libgpo/gpext/security.o - -bin/dirsort.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_DIRSORT_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_DIRSORT_OBJ) - -bin/scannedonly.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_SCANNEDONLY_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_SCANNEDONLY_OBJ) - -bin/crossrename.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_CROSSRENAME_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_CROSSRENAME_OBJ) - -bin/linux_xfs_sgid.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_LINUX_XFS_SGID_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_LINUX_XFS_SGID_OBJ) - -bin/time_audit.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_TIME_AUDIT_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_TIME_AUDIT_OBJ) - -bin/media_harmony.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_MEDIA_HARMONY_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_MEDIA_HARMONY_OBJ) - -bin/btrfs.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_BTRFS_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_BTRFS_OBJ) - -bin/ceph.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_CEPH_OBJ) - @echo "Building plugin $@" - @$(SHLD_MODULE) $(VFS_CEPH_OBJ) - -######################################################### -## IdMap NSS plugins - -## None here right now -######################################################### - -bin/wbinfo: $(BINARY_PREREQS) $(WBINFO_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(LDFLAGS) $(WBINFO_OBJ) $(DYNEXP) $(LIBS) \ - $(LDAP_LIBS) $(POPT_LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) \ - $(LIBWBCLIENT_LIBS) - -bin/ntlm_auth: $(BINARY_PREREQS) $(NTLM_AUTH_OBJ) $(PARAM_OBJ) \ - $(LIB_NONSMBD_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo Linking $@ - @$(CC) -o $@ $(LDFLAGS) $(DYNEXP) $(NTLM_AUTH_OBJ) \ - $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) $(LIBS) $(ZLIB_LIBS) \ - $(POPT_LIBS) $(KRB5LIBS) $(LDAP_LIBS) $(NSCD_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(LIBWBCLIENT_LIBS) @INIPARSERLIBS@ - -bin/pam_smbpass.@SHLIBEXT@: $(BINARY_PREREQS) $(PAM_SMBPASS_OBJ) $(LIBTALLOC) $(LIBWBCLIENT) $(LIBTDBS) - @echo "Linking shared library $@" - @$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_SMBPASS_OBJ) -lpam $(DYNEXP) \ - $(LIBS) $(LDAP_LIBS) $(NSCD_LIBS) $(KRB5LIBS) $(ZLIB_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) $(LIBWBCLIENT_LIBS) - -bin/tdbbackup: $(BINARY_PREREQS) $(TDBBACKUP_OBJ) $(LIBTALLOC) $(LIBTDBS) - @echo Linking $@ - @$(CC) -o $@ $(LDFLAGS) $(TDBBACKUP_OBJ) $(DYNEXP) \ - $(LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) - -bin/tdbtool: $(BINARY_PREREQS) $(TDBTOOL_OBJ) $(LIBTALLOC) $(LIBTDBS) - @echo Linking $@ - @$(CC) -o $@ $(LDFLAGS) $(TDBTOOL_OBJ) $(DYNEXP) \ - $(LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) - -bin/tdbdump: $(BINARY_PREREQS) $(TDBDUMP_OBJ) $(LIBTDBS) - @echo Linking $@ - @$(CC) -o $@ $(LDFLAGS) $(TDBDUMP_OBJ) $(DYNEXP) $(LIBTDBS_LIBS) $(LIBREPLACE_LIBS) - -bin/tdbrestore: $(BINARY_PREREQS) $(TDBRESTORE_OBJ) $(LIBTDBS) - @echo Linking $@ - @$(CC) -o $@ $(LDFLAGS) $(TDBRESTORE_OBJ) $(DYNEXP) $(LIBTDBS_LIBS) $(LIBREPLACE_LIBS) - -bin/tdbtorture: $(BINARY_PREREQS) $(TDBTORTURE_OBJ) $(LIBTALLOC) $(LIBTDBS) - @echo Linking $@ - @$(CC) -o $@ $(LDFLAGS) $(TDBTORTURE_OBJ) $(DYNEXP) \ - $(LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) - -bin/timelimit: script/tests/timelimit.o - @echo Linking $@ - @$(CC) -o $@ $(DYNEXP) script/tests/timelimit.o $(LDFLAGS) - -bin/rpc_open_tcp: $(BINARY_PREREQS) $(RPC_OPEN_TCP_OBJ) $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo "Linking $@" - @$(CC) -o $@ $(RPC_OPEN_TCP_OBJ) $(LDFLAGS) $(DYNEXP) \ - $(LIBS) $(LIBTALLOC_LIBS) $(LIBWBCLIENT_LIBS) \ - $(LDAP_LIBS) $(KRB5LIBS) $(NSCD_LIBS) - -bin/test_lp_load: $(BINARY_PREREQS) $(TEST_LP_LOAD_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo "Linking $@" - @$(CC) -o $@ $(TEST_LP_LOAD_OBJ) \ - $(LDFLAGS) $(DYNEXP) $(LIBS) \ - $(LDAP_LIBS) $(LIBWBCLIENT_LIBS) \ - $(POPT_LIBS) $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) - -bin/dbwrap_tool: $(DBWRAP_TOOL_OBJ) $(LIBTALLOC) $(LIBTDBS) - @echo "Linking $@" - @$(CC) -o $@ $(DBWRAP_TOOL_OBJ)\ - $(LDFLAGS) $(DYNEXP) $(LIBS) \ - $(LDAP_LIBS) \ - $(POPT_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) - -install-dbwrap_tool:: bin/dbwrap_tool - @$(SHELL) script/installbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(BINDIR) $< - -bin/dbwrap_torture: $(DBWRAP_TORTURE_OBJ) $(LIBTALLOC) $(LIBTDBS) $(POPT_LIBS) - @echo "Linking $@" - @$(CC) -o $@ $(DBWRAP_TORTURE_OBJ)\ - $(LDFLAGS) $(DYNEXP) $(LIBS) \ - $(LDAP_LIBS) \ - $(POPT_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) - -install-dbwrap_torture:: bin/dbwrap_torture - @$(SHELL) script/installbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(BINDIR) $< - -bin/split_tokens: $(BINARY_PREREQS) $(SPLIT_TOKENS_OBJ) @BUILD_POPT@ $(LIBTALLOC) $(LIBTDBS) $(LIBWBCLIENT) - @echo "Linking $@" - @$(CC) -o $@ $(SPLIT_TOKENS_OBJ) \ - $(LDFLAGS) $(DYNEXP) \ - $(LIBS) $(POPT_LIBS) \ - $(LDAP_LIBS) $(LIBWBCLIENT_LIBS) \ - $(LIBTALLOC_LIBS) $(LIBTDBS_LIBS) - -install:: installservers installbin installman \ - installscripts installdat installmodules \ - @INSTALL_PAM_MODULES@ installlibs installmo - -install-everything:: install installmodules - -# DESTDIR is used here to prevent packagers wasting their time -# duplicating the Makefile. Remove it and you will have the privelege -# of package each samba release for muliple versions of multiple -# distributions and operating systems, or at least supplying patches -# to all the packaging files required for this, prior to committing -# the removal of DESTDIR. Do not remove it even though you think it -# is not used - -installdirs:: - @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) \ - $(DESTDIR) $(prefix) $(BINDIR) $(SBINDIR) $(LIBDIR) \ - $(VARDIR) $(PRIVATE_DIR) $(PIDDIR) $(LOCKDIR) $(STATEDIR) \ - $(NMBDSOCKETDIR) $(WINBINDD_SOCKET_DIR) $(WINBINDD_PRIVILEGED_SOCKET_DIR) \ - $(CACHEDIR) $(MANDIR) $(CODEPAGEDIR) $(MODULESDIR) $(LOCALEDIR) - -installservers:: all installdirs - @$(SHELL) script/installbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(SBINDIR) $(SBIN_PROGS) - -installbin:: all installdirs - @$(SHELL) script/installbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(BINDIR) $(BIN_PROGS) - -# Some symlinks are required for the 'probing' of modules. -# This mechanism should go at some point.. -installmodules:: modules installdirs - @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(VFSLIBDIR) $(VFS_MODULES) - @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(PDBLIBDIR) $(PDB_MODULES) - @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(IDMAPLIBDIR) $(IDMAP_MODULES) - @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(NSSINFOLIBDIR) $(NSS_INFO_MODULES) - @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(AUTHLIBDIR) $(AUTH_MODULES) - @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(GPEXTLIBDIR) $(GPEXT_MODULES) - @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(PERFCOUNTLIBDIR) $(PERFCOUNT_MODULES) - @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(PDBLIBDIR) ldapsam.@SHLIBEXT@ NDS_ldapsam.@SHLIBEXT@ - @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(AUTHLIBDIR) rhosts.@SHLIBEXT@ hostsequiv.@SHLIBEXT@ - @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(AUTHLIBDIR) sam.@SHLIBEXT@ sam_ignoredomain.@SHLIBEXT@ - @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(AUTHLIBDIR) domain.@SHLIBEXT@ trustdomain.@SHLIBEXT@ ntdomain.@SHLIBEXT@ - @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(AUTHLIBDIR) builtin.@SHLIBEXT@ guest.@SHLIBEXT@ fixed_challenge.@SHLIBEXT@ name_to_ntstatus.@SHLIBEXT@ - @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(NSSINFOLIBDIR) ../idmap/ad.@SHLIBEXT@ rfc2307.@SHLIBEXT@ sfu.@SHLIBEXT@ sfu20.@SHLIBEXT@ - @$(SHELL) $(srcdir)/script/linkmodules.sh $(DESTDIR)$(NSSINFOLIBDIR) ../idmap/hash.@SHLIBEXT@ hash.@SHLIBEXT@ - -installscripts:: installdirs - @$(SHELL) $(srcdir)/script/installscripts.sh $(INSTALLPERMS_BIN) $(DESTDIR)$(BINDIR) $(SCRIPTS) - -installdat:: installdirs - @$(SHELL) $(srcdir)/script/installdat.sh $(DESTDIR) $(CODEPAGEDIR) $(srcdir) - -installpammodules:: $(PAM_MODULES) - @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(PAMMODULESDIR) - @for module in $(PAM_MODULES); do \ - echo "Installing module $${module} as $(DESTDIR)/$(PAMMODULESDIR)/$${module}.@SHLIBEXT@ "; \ - $(INSTALLCMD) -m $(INSTALLPERMS_BIN) bin/$${module}.@SHLIBEXT@ \ - "$(DESTDIR)/$(PAMMODULESDIR)"; \ - done - -# revert to the previously installed version -revert:: - @$(SHELL) $(srcdir)/script/revert.sh $(SBINDIR) $(SBIN_PROGS) - @$(SHELL) $(srcdir)/script/revert.sh $(BINDIR) $(BIN_PROGS) $(SCRIPTS) - -installman:: installdirs - @$(SHELL) $(srcdir)/script/installman.sh $(DESTDIR)$(MANDIR) $(srcdir) C "@ROFF@" - -installmo:: all installdirs - @$(SHELL) $(srcdir)/script/installmo.sh $(DESTDIR) $(LOCALEDIR) $(srcdir) - -.PHONY: showlayout - -showlayout:: - @echo "Samba will be installed into:" - @echo " prefix: $(prefix)" - @echo " exec_prefix: $(exec_prefix)" - @echo " sysconfdir: $(sysconfdir)" - @echo " localstatedir: $(localstatedir)" - @echo " datarootdir: $(datarootdir)" - @echo " BINDIR: $(BINDIR)" - @echo " SBINDIR: $(SBINDIR)" - @echo " LIBDIR: $(LIBDIR)" -# @echo " LIBEXECDIR: $(LIBEXECDIR)" - @echo " MANDIR: $(MANDIR)" - @echo " DATADIR: $(DATADIR)" - @echo " LOCALEDIR: $(LOCALEDIR)" -# @echo " SCRIPTSBINDIR: $(SCRIPTSBINDIR)" -# @echo " PYTHONDIR: $(PYTHONDIR)" -# @echo " PYTHONARCHDIR: $(PYTHONARCHDIR)" - @echo " MODULESDIR: $(MODULESDIR)" - @echo " INCLUDEDIR: $(INCLUDEDIR)" - @echo " SETUPDIR: $(SETUPDIR)" -# @echo " PKGCONFIGDIR: $(PKGCONFIGDIR)" - @echo " CODEPAGEDIR: $(CODEPAGEDIR)" - @echo " PAMMODULESDIR: $(PAMMODULESDIR)" - @echo " CONFIGDIR: $(CONFIGDIR)" - @echo " PRIVATE_DIR: $(PRIVATE_DIR)" - @echo " LOCKDIR: $(LOCKDIR)" - @echo " PIDDIR: $(PIDDIR)" - @echo " STATEDIR: $(STATEDIR)" - @echo " CACHEDIR: $(CACHEDIR)" - @echo " LOGFILEBASE: $(LOGFILEBASE)" - @echo " SOCKET_DIR: $(SOCKET_DIR)" - @echo " PRIVILEGED_SOCKET_DIR: $(PRIVILEGED_SOCKET_DIR)" - @echo " WINBINDD_SOCKET_DIR: $(WINBINDD_SOCKET_DIR)" - @echo " WINBINDD_PRIVILEGED_SOCKET_DIR: $(WINBINDD_PRIVILEGED_SOCKET_DIR)" - @echo " NMBDSOCKETDIR: $(NMBDSOCKETDIR)" -# @echo " NTP_SIGND_SOCKET_DIR: $(NTP_SIGND_SOCKET_DIR)" - @echo " NCALRPCDIR: $(NCALRPCDIR)" - @echo " CONFIGFILE: $(CONFIGFILE)" - @echo " LMHOSTSFILE: $(LMHOSTSFILE)" - @echo " SMB_PASSWD_FILE: $(SMB_PASSWD_FILE)" - - -uninstall:: uninstallmo uninstallman uninstallservers uninstallbin uninstallscripts uninstalldat uninstallmodules uninstalllibs @UNINSTALL_PAM_MODULES@ - -uninstallmo:: - @$(SHELL) $(srcdir)/script/uninstallmo.sh $(DESTDIR) $(LOCALEDIR) $(srcdir) - -uninstallman:: - @$(SHELL) $(srcdir)/script/uninstallman.sh $(DESTDIR)$(MANDIR) $(srcdir) C - -uninstallservers:: - @$(SHELL) script/uninstallbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(SBINDIR) $(SBIN_PROGS) - -uninstallbin:: - @$(SHELL) script/uninstallbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(BINDIR) $(BIN_PROGS) - -uninstallmodules:: - @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(VFSLIBDIR) $(VFS_MODULES) - @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(PDBLIBDIR) $(PDB_MODULES) - @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(IDMAPLIBDIR) $(IDMAP_MODULES) - @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(AUTHLIBDIR) $(AUTH_MODULES) - @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(GPEXTLIBDIR) $(GPEXT_MODULES) - @$(SHELL) $(srcdir)/script/uninstallmodules.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(PERFCOUNTLIBDIR) $(PERFCOUNT_MODULES) - -uninstallscripts:: - @$(SHELL) $(srcdir)/script/uninstallscripts.sh $(INSTALLPERMS_BIN) $(DESTDIR)$(BINDIR) $(SCRIPTS) - -uninstalldat:: - @$(SHELL) $(srcdir)/script/uninstalldat.sh $(DESTDIR) $(LIBDIR) $(srcdir) - -uninstallpammodules:: - @for module in $(PAM_MODULES); do \ - echo "Removing $(DESTDIR)/$(PAMMODULESDIR)/$${module}.@SHLIBEXT@ "; \ - rm -f "$(DESTDIR)/$(PAMMODULESDIR)/$${module}.@SHLIBEXT@"; \ - done - -cleanlibs:: - -rm -f ../lib/*/*.o ../lib/*/*/*.o \ - ../lib/*/*.ho \ - ../libcli/*.o ../libcli/*/*.o ../libcli/*/*/*.o \ - ../librpc/*/*.o \ - ../libgpo/*.o ../libgpo/*/*.o \ - ../libds/*.o ../libds/*/*.o ../dynconfig/*.o ../auth/*.o ../auth/*/*.o - -clean:: cleanlibs - -rm -f include/build_env.h - -rm -f smbd/build_options.c - -rm -f autoconf/lib/param/param_local.h - -rm -f autoconf/lib/param/param_global.h - -rm -f autoconf/lib/param/param_proto.h - -rm -f autoconf/lib/param/s3_param.h - -rm -f autoconf/source3/param/param_global.h - -rm -f $(PRECOMPILED_HEADER) - -rm -f core */*~ *~ \ - */*.o */*/*.o */*/*/*.o */*/*/*/*.o \ - ../testsuite/*/*.o \ - ../nsswitch/*.o ../nsswitch/*/*.o ../nsswitch/*/*/*.o ../nsswitch/*.@SHLIBEXT@ \ - ../client/*.o \ - */*.@SHLIBEXT@ */*/*.@SHLIBEXT@ */*/*/*.@SHLIBEXT@ \ - $(TOPFILES) $(BIN_PROGS) $(SBIN_PROGS) \ - $(MODULES) $(TORTURE_PROGS) \ - $(EVERYTHING_PROGS) \ - bin/timelimit \ - .headers.stamp */src/*.o - -rm -rf t_dir - -include/build_env.h: script/build_env.sh - @echo Building include/build_env.h - @$(SHELL) $(srcdir)/script/build_env.sh $(srcdir) $(builddir) $(CC) \ - > $(builddir)/include/build_env.h - -proto:: - -etags:: - rm -f TAGS - find $(srcdir)/.. -name "*.[ch]" | xargs -n 100 etags --append $(ETAGS_OPTIONS) - -ctags:: - ctags $(CTAGS_OPTIONS) `find $(srcdir)/.. -name "*.[ch]" | grep -v proto\.h` - -realclean:: clean - -rm -f config.log bin/.dummy script/findsmb script/gen-8bit-gap.sh - -rm -f script/installbin.sh script/uninstallbin.sh - -distclean:: realclean - -rm -f smbadduser - -rm -f include/autoconf/config.h Makefile - -rm -f config.status config.cache so_locations - -rm -rf .deps TAGS - -realdistclean:: distclean - -rm -f include/autoconf/config.h.in - -rm -f include/autoconf/version.h - -rm -f autoconf/librpc/gen_ndr/*.[ch] - -rm -f configure - -# when configure.in is updated, reconfigure -$(srcdir)/configure: $(srcdir)/configure.in - @echo "WARNING: you need to rerun ./autogen.sh" - -config.status: $(srcdir)/configure - @echo "WARNING: you need to run ./configure" - -Makefile: $(srcdir)/Makefile.in config.status - @echo "WARNING: you need to run ./config.status" - -###################################################################### -# Samba Testing Framework - -# Check shared libs for unresolved symbols -test_shlibs: - @echo "Testing $? " - @$(LIB_PATH_VAR)=./bin && \ - export $(LIB_PATH_VAR) && \ - for module in $?; do \ - ./script/tests/dlopen.sh $(LIBDL) $${module} \ - || exit 1; \ - done - -# Check for NSS module problems. -test_nss_modules:: nss_modules - @echo "Testing $(NSS_MODULES) " - @$(LIB_PATH_VAR)=./bin && \ - export $(LIB_PATH_VAR) && \ - for module in $(NSS_MODULES); do \ - ./script/tests/dlopen.sh $(LIBDL) $${module} \ - || exit 1; \ - done - -# Check for PAM module problems. Specifically, check that every module we -# built can actually be loaded by a minimal PAM-aware application. -test_pam_modules:: pam_modules - @echo "Testing $(PAM_MODULES) " - @$(LIB_PATH_VAR)=./bin && \ - export $(LIB_PATH_VAR) && \ - for module in $(PAM_MODULES); do \ - ./script/tests/dlopen.sh -lpam $(LIBDL) bin/$${module}.@SHLIBEXT@ \ - || exit 1; \ - done - - -## -## Targets for 'make test' -## - -valgrindtest:: all torture timelimit bin/smbtorture - @echo Running Test suite with valgrind - @$(MAKE) test \ - NMBD_VALGRIND="xterm -n nmbd -e valgrind -q --db-attach=yes --num-callers=30" \ - WINBINDD_VALGRIND="xterm -n winbindd -e valgrind -q --db-attach=yes --num-callers=30" \ - SMBD_VALGRIND="xterm -n smbd -e valgrind -q --db-attach=yes --num-callers=30" \ - VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" - -selftestdir = ../selftest - -S3_LD_LIBPATH_OVERRIDE = $(LIB_PATH_VAR)="$(builddir)/bin:$$$(LIB_PATH_VAR)" - -test:: all torture timelimit bin/smbtorture - @LIB_PATH_VAR=$(LIB_PATH_VAR) $(S3_LD_LIBPATH_OVERRIDE) \ - NSS_WRAPPER_WINBIND_SO_PATH="$(srcdir)/../nsswitch/libnss_winbind.so" \ - SELFTESTDIR="$(selftestdir)" SELFTESTPREFIX="$(selftest_prefix)" \ - SOURCEDIR="$(srcdir)" \ - VFSLIBDIR="$(builddir)/bin" \ - RUN_FROM_BUILD_FARM="$(RUN_FROM_BUILD_FARM)" \ - SUBUNIT_FORMATTER="$(SUBUNIT_FORMATTER)" \ - PERL="$(PERL)" PYTHON="$(PYTHON)" PYTHONPATH="$(srcdir)/../bin/python" \ - $(srcdir)/selftest/s3-selftest.sh - -test-%: - $(MAKE) test TESTS=$* - -buildfarm-test: - $(MAKE) test RUN_FROM_BUILD_FARM=yes - -subunit-test: - $(MAKE) test SUBUNIT_FORMATTER=cat - -SELFTEST_TESTENV = s3dc - -testenv: - $(MAKE) test SELFTEST_TESTENV=$(SELFTEST_TESTENV) TESTS="--testenv" - -gdbtestenv: - $(MAKE) test SELFTEST_TESTENV=$(SELFTEST_TESTENV) \ - NMBD_VALGRIND="xterm -n nmbd -title nmbd -e $(selftestdir)/gdb_run $(S3_LD_LIBPATH_OVERRIDE)" \ - WINBINDD_VALGRIND="xterm -n winbindd -title winbindd -e $(selftestdir)/gdb_run $(S3_LD_LIBPATH_OVERRIDE)" \ - SMBD_VALGRIND="xterm -n smbd -title smbd -e $(selftestdir)/gdb_run $(S3_LD_LIBPATH_OVERRIDE)" \ - TESTS="--testenv" - -valgrindtestenv: - $(MAKE) test SELFTEST_TESTENV=$(SELFTEST_TESTENV) \ - NMBD_VALGRIND="xterm -n nmbd -title nmbd -e valgrind -q --db-attach=yes --num-callers=30" \ - WINBINDD_VALGRIND="xterm -n winbindd -title winbindd -e valgrind -q --db-attach=yes --num-callers=30" \ - SMBD_VALGRIND="xterm -n smbd -title smbd -e valgrind -q --db-attach=yes --num-callers=30" \ - TESTS="--testenv" - - -# Check for Winbind struct 32/64bit padding -test_wbpad: - @echo "Testing winbind request/response structure for 32/64bit padding" - @./script/tests/wb_pad.sh || exit 1; - -## -## Examples: -## - -libsmbclient_examples: libsmbclient - $(MAKE) -C ../examples/libsmbclient -f Makefile.internal - -clean_libsmbclient_examples: - $(MAKE) -C ../examples/libsmbclient -f Makefile.internal clean - -libnetapi_examples: libnetapi - $(MAKE) -C lib/netapi/examples - -clean_libnetapi_examples: - $(MAKE) -C lib/netapi/examples clean - -.PHONY: bin/smbtorture - -bin/smbtorture: $(BINARY_PREREQS) - $(MAKE) -f Makefile-smbtorture bin/smbtorture - -.PHONY: vfs_examples - -vfs_examples: - ( \ - cd ../examples/VFS && \ - ./configure && \ - $(MAKE) clean && \ - $(MAKE) \ - ) diff --git a/source3/autogen.sh b/source3/autogen.sh deleted file mode 100755 index 4f39e10441..0000000000 --- a/source3/autogen.sh +++ /dev/null @@ -1,121 +0,0 @@ -#!/bin/sh - -# Run this script to build samba from GIT. - - -_exit() { - echo $@ >&2 - cd ${OLD_DIR} - exit 1 -} - -OLD_DIR=$(pwd) -BASE_DIR=$(dirname $0) -SCRIPT_NAME=$(basename $0) - -cd ${BASE_DIR} || exit 1 - - -while true; do - case $1 in - --version-file) - VERSION_FILE=$2 - shift 2 - ;; - *) - break - ;; - esac -done - -## insert all possible names (only works with -## autoconf 2.x) -TESTAUTOHEADER="autoheader autoheader-2.53 autoheader2.50 autoheader259 autoheader253" -TESTAUTOCONF="autoconf autoconf-2.53 autoconf2.50 autoconf259 autoconf253" - -AUTOHEADERFOUND="0" -AUTOCONFFOUND="0" - - -## -## Look for autoheader -## -for i in $TESTAUTOHEADER; do - if which $i > /dev/null 2>&1; then - if test `$i --version | head -n 1 | cut -d. -f 2 | sed "s/[^0-9]//g"` -ge 53; then - AUTOHEADER=$i - AUTOHEADERFOUND="1" - break - fi - fi -done - -## -## Look for autoconf -## - -for i in $TESTAUTOCONF; do - if which $i > /dev/null 2>&1; then - if test `$i --version | head -n 1 | cut -d. -f 2 | sed "s/[^0-9]//g"` -ge 53; then - AUTOCONF=$i - AUTOCONFFOUND="1" - break - fi - fi -done - - -## -## do we have it? -## -if test "$AUTOCONFFOUND" = "0" -o "$AUTOHEADERFOUND" = "0"; then - _exit "$0: need autoconf 2.53 or later to build samba from GIT" -fi - -echo "$0: running script/mkversion.sh" -./script/mkversion.sh $VERSION_FILE || exit 1 - -rm -rf autom4te*.cache -rm -f configure include/config.h* - -IPATHS="-Im4 -I../m4 -I../lib/replace" - -echo "$0: running $AUTOHEADER $IPATHS" -$AUTOHEADER $IPATHS || _exit "ERROR running autoheader" - -echo "$0: running $AUTOCONF $IPATHS" -$AUTOCONF $IPATHS || _exit "ERROR running autoconf" - -rm -rf autom4te*.cache - -( cd ../examples/VFS || exit 1 - echo "$0: running $AUTOHEADER in ../examples/VFS/" - $AUTOHEADER || exit 1 - echo "$0: running $AUTOCONF in ../examples/VFS/" - $AUTOCONF || exit 1 - rm -rf autom4te*.cache -) || _exit "ERROR running autoheader/autoconf in examples/VFS" - - -if gcc -E tests/preproc-dummy.c -o /dev/null ; -then - PIDL_OUTPUTDIR="autoconf/librpc/gen_ndr" CPP="gcc -E" PIDL=../pidl/pidl \ - srcdir=. ../librpc/build_idl.sh ../librpc/idl/*.idl - PIDL_OUTPUTDIR="autoconf/librpc/gen_ndr" CPP="gcc -E" PIDL=../pidl/pidl \ - srcdir=. script/build_idl.sh librpc/idl/*.idl -else - echo "Warning: Could not compile idl files in autogen, " - echo "some autconf tests might not work properly" -fi - -perl ../script/mkparamdefs.pl ../lib/param/param_functions.c --file autoconf/lib/param/param_local.h --generate-scope=LOCAL -perl ../script/mkparamdefs.pl ../lib/param/loadparm.c ../lib/param/param_functions.c --file autoconf/lib/param/param_global.h --generate-scope=GLOBAL -perl ../script/mkparamdefs.pl param/loadparm.c ../lib/param/param_functions.c --file autoconf/source3/param/param_global.h --generate-scope=GLOBAL -perl ../source4/script/mkproto.pl ../lib/param/loadparm.c ../lib/param/param_functions.c --public autoconf/lib/param/param_proto.h --private autoconf/lib/param/param_proto.h -perl ../script/mks3param.pl ../lib/param/loadparm.c ../lib/param/param_functions.c --file autoconf/lib/param/s3_param.h - -echo "Now run ./configure (or ./configure.developer) and then make." - -cd ${OLD_DIR} -exit 0 - diff --git a/source3/config.guess b/source3/config.guess deleted file mode 100755 index da83314608..0000000000 --- a/source3/config.guess +++ /dev/null @@ -1,1561 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -# Free Software Foundation, Inc. - -timestamp='2009-04-27' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner <per@bothner.com>. -# Please send patches to <config-patches@gnu.org>. Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to <config-patches@gnu.org>." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include <stdio.h> /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include <sys/systemcfg.h> - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[456]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include <stdlib.h> - #include <unistd.h> - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include <unistd.h> - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:[3456]*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - EM64T | authenticamd | genuineintel) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-gnu - else - echo ${UNAME_MACHINE}-unknown-linux-gnueabi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-gnu - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include <features.h> - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` - echo ${UNAME_MACHINE}-pc-isc$UNAME_REL - elif /bin/uname -X 2>/dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says <Richard.M.Bartel@ccMail.Census.GOV> - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes <hewes@openmarket.com>. - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c <<EOF -#ifdef _SEQUENT_ -# include <sys/types.h> -# include <sys/utsname.h> -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include <sys/param.h> - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include <sys/param.h> -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - -cat >&2 <<EOF -$0: unable to guess system type - -This script, last modified $timestamp, has failed to recognize -the operating system you are using. It is advised that you -download the most up to date version of the config scripts from - - http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD -and - http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD - -If the version you run ($0) is already up to date, please -send the following data and any information you think might be -pertinent to <config-patches@gnu.org> in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/source3/config.sub b/source3/config.sub deleted file mode 100755 index a39437d015..0000000000 --- a/source3/config.sub +++ /dev/null @@ -1,1686 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -# Free Software Foundation, Inc. - -timestamp='2009-04-17' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Please send patches to <config-patches@gnu.org>. Submit a context -# diff and a properly formatted ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to <config-patches@gnu.org>." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | fido | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nios | nios2 \ - | ns16k | ns32k \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nios-* | nios2-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ - | tron-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - tile*) - basic_machine=tile-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -kopensolaris* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/source3/configure.developer b/source3/configure.developer deleted file mode 100755 index ee8fa89391..0000000000 --- a/source3/configure.developer +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -`dirname $0`/configure -C \ - --enable-developer \ - --enable-socket-wrapper \ - --enable-nss-wrapper \ - --enable-uid-wrapper \ - "$@" diff --git a/source3/configure.in b/source3/configure.in deleted file mode 100644 index 0e2f1267a7..0000000000 --- a/source3/configure.in +++ /dev/null @@ -1,6693 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. - -dnl We must use autotools 2.54 or above -AC_PREREQ(2.54) - -AC_INIT([Samba],[3],[samba-technical@samba.org]) - -AC_CONFIG_SRCDIR([include/includes.h]) -AC_CONFIG_HEADER(include/autoconf/config.h) -AC_DEFINE(CONFIG_H_IS_FROM_SAMBA,1,[Marker for samba's config.h]) - -case "$PATH" in - */usr/ucb*) - AC_MSG_WARN([\$PATH contains /usr/ucb - build errors may follow]) - ;; -esac - -builddir=`pwd` -AC_SUBST(builddir) - -m4_include(m4/samba_version.m4) -m4_include(m4/check_path.m4) -m4_include(pkg.m4) - -AC_LIBREPLACE_CC_CHECKS -AC_LIBREPLACE_RUNTIME_LIB_PATH_VAR - -m4_include(../lib/tevent/libtevent.m4) -m4_include(../lib/ccan/libccan.m4) - -LIBTEVENT_OBJ0="" -for obj in ${TEVENT_OBJ}; do - LIBTEVENT_OBJ0="${LIBTEVENT_OBJ0} ${teventdir}/${obj}" -done -AC_SUBST(LIBTEVENT_OBJ0) -LIBS="${LIBS} ${TEVENT_LIBS}" - -SAMBA_CPPFLAGS="-Iinclude/autoconf -Iautoconf -Iautoconf/source3" -SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -Iinclude -I${srcdir-.}/include -I. -I${srcdir-.}" -SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/../lib/replace" -SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TEVENT_CFLAGS}" -SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${CCAN_CFLAGS}" -SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/librpc" -SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/.." -SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/../lib/tdb_compat" - -SAMBA_CONFIGURE_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/../lib/popt" - -## cleanup the $(srcdir) in the Makefile if we are outside of the tree -if test "x${srcdir-.}" != "x."; then - SAMBA_CPPFLAGS=`echo ${SAMBA_CPPFLAGS} | sed -e "s;${srcdir};\$\(srcdir\);g"` -fi - -dnl Unique-to-Samba variables we'll be playing with. -AC_SUBST(SAMBA_CPPFLAGS) -AC_SUBST(SHELL) -AC_SUBST(LDSHFLAGS) -AC_SUBST(SONAMEFLAG) -AC_SUBST(SHLD) -AC_SUBST(MODULE_EXPORTS) -AC_SUBST(DSO_EXPORTS) -AC_SUBST(HOST_OS) -AC_SUBST(PICFLAG) -AC_SUBST(PIE_CFLAGS) -AC_SUBST(PIE_LDFLAGS) -AC_SUBST(RELRO_LDFLAGS) -AC_SUBST(SHLIBEXT) -AC_SUBST(INSTALLLIBCMD_SH) -AC_SUBST(INSTALLLIBCMD_A) -AC_SUBST(UNINSTALLLIBCMD_SH) -AC_SUBST(UNINSTALLLIBCMD_A) - -AC_SUBST(INSTALL_LIBWBCLIENT) -AC_SUBST(UNINSTALL_LIBWBCLIENT) -AC_SUBST(LIBWBCLIENT_SHARED_TARGET) -AC_SUBST(LIBWBCLIENT_SHARED_TARGET_SOVER) -AC_SUBST(LIBWBCLIENT_SHARED_TARGET_FULLVER) -AC_SUBST(LIBWBCLIENT_SHARED) -AC_SUBST(LIBWBCLIENT_STATIC_TARGET) -AC_SUBST(LIBWBCLIENT_STATIC) -AC_SUBST(LIBWBCLIENT_SOVER) -AC_SUBST(LIBWBCLIENT_FULLVER) -AC_SUBST(LIBWBCLIENT) -AC_SUBST(LIBWBCLIENT_LIBS) - -AC_SUBST(LIBSAMBAUTIL_SHARED) - -AC_SUBST(PRINT_LIBS) -AC_SUBST(AUTH_LIBS) -AC_SUBST(ACL_LIBS) -AC_SUBST(PASSDB_LIBS) -AC_SUBST(IDMAP_LIBS) -AC_SUBST(KRB5_LIBS) -AC_SUBST(LDAP_LIBS) -AC_SUBST(GPEXT_LIBS) -AC_SUBST(PAM_MODULES) -AC_SUBST(INSTALL_PAM_MODULES) -AC_SUBST(UNINSTALL_PAM_MODULES) -AC_SUBST(NSS_MODULES) -AC_SUBST(EXTRA_BIN_PROGS) -AC_SUBST(CIFSMOUNT_PROGS) -AC_SUBST(INSTALL_CIFSMOUNT) -AC_SUBST(UNINSTALL_CIFSMOUNT) -AC_SUBST(CIFSUMOUNT_PROGS) -AC_SUBST(INSTALL_CIFSUMOUNT) -AC_SUBST(UNINSTALL_CIFSUMOUNT) -AC_SUBST(CIFSUPCALL_PROGS) -AC_SUBST(INSTALL_CIFSUPCALL) -AC_SUBST(UNINSTALL_CIFSUPCALL) -AC_SUBST(EXTRA_SBIN_PROGS) -AC_SUBST(EXTRA_ALL_TARGETS) -AC_SUBST(CONFIG_LIBS) -AC_SUBST(NSCD_LIBS) - -# compile with optimization and without debugging by default, but -# allow people to set their own preference. -# do this here since AC_CACHE_CHECK apparently sets the CFLAGS to "-g -O2" -# if it has no value. This prevent *very* large debug binaries from occurring -# by default. -if test "x$debug" = "xyes" ; then - CFLAGS="${CFLAGS} -g" -fi -if test "x$CFLAGS" = x; then - CFLAGS="-O" -fi - -m4_include(../lib/socket_wrapper/config.m4) -m4_include(../lib/nss_wrapper/config.m4) -m4_include(../lib/uid_wrapper/config.m4) - -DEVELOPER_CFLAGS="-DDEBUG_PASSWORD -DDEVELOPER" - -# Probe the gcc version for extra CFLAGS. We always stash these in -# DEVELOPER_CFLAGS, so that you can turn them on and off with a simple -# Makefile edit, avoiding the need to re-run configure. -if test x"$ac_cv_prog_gcc" = x"yes" ; then - DEVELOPER_CFLAGS="${DEVELOPER_CFLAGS} -g -Wall -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings" - # Add -Wdeclaration-after-statement if compiler supports it - AC_CACHE_CHECK( - [that the C compiler understands -Wdeclaration-after-statement], - samba_cv_HAVE_Wdeclaration_after_statement, [ - AC_TRY_RUN_STRICT([ - int main(void) - { - return 0; - }],[$CFLAGS -Wdeclaration-after-statement],[$CPPFLAGS],[$LDFLAGS], - samba_cv_HAVE_Wdeclaration_after_statement=yes, - samba_cv_HAVE_Wdeclaration_after_statement=no, - samba_cv_HAVE_Wdeclaration_after_statement=cross) - ]) - - if test x"$samba_cv_HAVE_Wdeclaration_after_statement" = x"yes"; then - DEVELOPER_CFLAGS="${DEVELOPER_CFLAGS} -Wdeclaration-after-statement" - fi - - #-Werror-implicit-function-declaration - AC_CACHE_CHECK( - [that the C compiler understands -Werror-implicit-function-declaration], - samba_cv_HAVE_Werror_implicit_function_declaration, [ - AC_TRY_RUN_STRICT([ - int main(void) - { - return 0; - }],[$CFLAGS -Werror-implicit-function-declaration],[$CPPFLAGS],[$LDFLAGS], - samba_cv_HAVE_Werror_implicit_function_declaration=yes, - samba_cv_HAVE_Werror_implicit_function_declaration=no, - samba_cv_HAVE_Werror_implicit_function_declaration=cross) - ]) - if test x"$samba_cv_HAVE_Werror_implicit_function_declaration" = x"yes"; then - DEVELOPER_CFLAGS="${DEVELOPER_CFLAGS} -Werror-implicit-function-declaration" - fi - - # krb5developer is like developer, except we don't get - # -Wstrict-prototypes. - if test x"$krb5_developer" != x"$yes" ; then - DEVELOPER_CFLAGS="$DEVELOPER_CFLAGS -Wstrict-prototypes" - fi - - if test x"$picky_developer" = x"yes"; then - DEVELOPER_CFLAGS="$DEVELOPER_CFLAGS -Werror" - fi -fi - -################################################# -# check for a shared memory profiling support -AC_MSG_CHECKING(whether to use profiling) -AC_ARG_WITH(profiling-data, -[AS_HELP_STRING([--with-profiling-data], [Include gathering source code profile information (default=no)])], -[ case "$withval" in - yes) - AC_MSG_RESULT(yes) - AC_DEFINE(WITH_PROFILE,1,[Whether to use profiling]) - samba_cv_WITH_PROFILE=yes - ;; - *) - AC_MSG_RESULT(no) - samba_cv_WITH_PROFILE=no - ;; - esac ], - AC_MSG_RESULT(no) -) - -AC_PROG_INSTALL -AC_PROG_AWK -# Check for GNU make -m4_include(../m4/check_make.m4) -AC_SAMBA_GNU_MAKE([true], [true]) - -selftest_possible="yes" - -# Check for perl -m4_include(../m4/check_perl.m4) -AC_SAMBA_PERL([true], [selftest_possible=no]) - -# Check for python -m4_include(../m4/check_python.m4) -AC_SAMBA_PYTHON_DEVEL([true], [selftest_possible=no]) - -AC_CHECK_TOOL(AR, ar) - -dnl Check if we (actually our C compiler!) use GNU ld -AC_PROG_LD_GNU - -dnl Certain versions of GNU ld the default is not to have the -dnl --allow-shlib-undefined flag defined. This causes a stackload of -dnl warnings when building modules. -if test "$ac_cv_prog_gnu_ld" = "yes"; then - ac_cv_gnu_ld_version=`$CC -Wl,-v /dev/null 2> /dev/null < /dev/null | grep "GNU ld"` - # we need to make a 2nd (separate!) check on the output of stderr, see bug #7825: - if test -z "$ac_cv_gnu_ld_version" ; then - ac_cv_gnu_ld_version=`$CC -Wl,-v /dev/null 2>&1 > /dev/null < /dev/null | grep "GNU ld"` - fi - AC_MSG_CHECKING(GNU ld release date) - changequote(,)dnl - ac_cv_gnu_ld_date=`echo $ac_cv_gnu_ld_version | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'` - changequote([,])dnl - AC_MSG_RESULT(${ac_cv_gnu_ld_date}) - if test -n "$ac_cv_gnu_ld_date"; then - if test "$ac_cv_gnu_ld_date" -lt 20030217; then - ac_cv_gnu_ld_no_default_allow_shlib_undefined=yes - fi - if test "$ac_cv_gnu_ld_date" -gt 20030101; then - ac_cv_gnu_ld_version_script=yes - fi - else - AC_MSG_CHECKING(GNU ld release version) - changequote(,)dnl - ac_cv_gnu_ld_vernr=`echo $ac_cv_gnu_ld_version | awk '{print $NF}' | sed -n 's,\([1-9][0-9]*\.[0-9][0-9]*\).*$,\1,p'` - ac_cv_gnu_ld_vernr_major=`echo $ac_cv_gnu_ld_vernr | cut -d '.' -f 1` - ac_cv_gnu_ld_vernr_minor=`echo $ac_cv_gnu_ld_vernr | cut -d '.' -f 2` - changequote([,])dnl - AC_MSG_RESULT(${ac_cv_gnu_ld_vernr}) - AC_MSG_CHECKING(GNU ld release version major) - AC_MSG_RESULT(${ac_cv_gnu_ld_vernr_major}) - AC_MSG_CHECKING(GNU ld release version minor) - AC_MSG_RESULT(${ac_cv_gnu_ld_vernr_minor}) - if test "$ac_cv_gnu_ld_vernr_major" -lt 2 || test "$ac_cv_gnu_ld_vernr_minor" -lt 14; then - ac_cv_gnu_ld_no_default_allow_shlib_undefined=yes - fi - if test "$ac_cv_gnu_ld_vernr_major" -gt 2 || test "$ac_cv_gnu_ld_vernr_major" = 2 && test "$ac_cv_gnu_ld_vernr_minor" -ge 12; then - ac_cv_gnu_ld_version_script=yes - fi - fi -fi - -dnl Check if C compiler understands -c and -o at the same time -AC_PROG_CC_C_O -if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then - BROKEN_CC= -else - BROKEN_CC=# -fi -AC_SUBST(BROKEN_CC) - -dnl Check if the C compiler understands -Werror (GNU) -AC_CACHE_CHECK([that the C compiler understands -Werror],samba_cv_HAVE_Werror, [ - AC_TRY_RUN_STRICT([ - int main(void) - { - return 0; - }],[$CFLAGS -Werror],[$CPPFLAGS],[$LDFLAGS], - samba_cv_HAVE_Werror=yes,samba_cv_HAVE_Werror=no,samba_cv_HAVE_Werror=cross)]) -if test x"$samba_cv_HAVE_Werror" = x"yes"; then - Werror_FLAGS="-Werror" -else -dnl Check if the C compiler understands -w2 -AC_CACHE_CHECK([that the C compiler understands -w2],samba_cv_HAVE_w2, [ - AC_TRY_RUN_STRICT([ - int main(void) - { - return 0; - }],[$CFLAGS -w2],[$CPPFLAGS],[$LDFLAGS], - samba_cv_HAVE_w2=yes,samba_cv_HAVE_w2=no,samba_cv_HAVE_w2=cross)]) -if test x"$samba_cv_HAVE_w2" = x"yes"; then - Werror_FLAGS="-w2" -else -dnl Check if the C compiler understands -errwarn (Sun) -AC_CACHE_CHECK([that the C compiler understands -errwarn],samba_cv_HAVE_errwarn, [ - AC_TRY_RUN_STRICT([ - int main(void) - { - return 0; - }],[$CFLAGS -errwarn=%all],[$CPPFLAGS],[$LDFLAGS], - samba_cv_HAVE_errwarn=yes,samba_cv_HAVE_errwarn=no,samba_cv_HAVE_errwarn=cross)]) -if test x"$samba_cv_HAVE_errwarn" = x"yes"; then - Werror_FLAGS="-errwarn=%all" -else -dnl Check if the C compiler understands -qhalt (IBM) -AC_CACHE_CHECK([that the C compiler understands -qhalt],samba_cv_HAVE_qhalt, [ - AC_TRY_RUN_STRICT([ - int main(void) - { - return 0; - }],[$CFLAGS -qhalt=w],[$CPPFLAGS],[$LDFLAGS], - samba_cv_HAVE_qhalt=yes,samba_cv_HAVE_qhalt=no,samba_cv_HAVE_qhalt=cross)]) -if test x"$samba_cv_HAVE_qhalt" = x"yes"; then - Werror_FLAGS="-qhalt=w" -fi -fi -fi -fi - -############################################ -# check if the compiler can handle negative enum values -# and don't truncate the values to INT_MAX -# a runtime test is needed here -AC_SUBST(PIDL_ARGS) -AC_CACHE_CHECK([that the C compiler understands negative enum values],samba_cv_CC_NEGATIVE_ENUM_VALUES, [ - AC_TRY_RUN( -[ - #include <stdio.h> - enum negative_values { NEGATIVE_VALUE = 0xFFFFFFFF }; - int main(void) { - enum negative_values v1 = NEGATIVE_VALUE; - unsigned v2 = NEGATIVE_VALUE; - - if (v1 != 0xFFFFFFFF) { - printf("%u != 0xFFFFFFFF\n", v1); - return 1; - } - if (v2 != 0xFFFFFFFF) { - printf("%u != 0xFFFFFFFF\n", v2); - return 1; - } - - return 0; - } -], - samba_cv_CC_NEGATIVE_ENUM_VALUES=yes,samba_cv_CC_NEGATIVE_ENUM_VALUES=no)]) -if test x"$samba_cv_CC_NEGATIVE_ENUM_VALUES" != x"yes"; then - AC_MSG_WARN([using --uint-enums for pidl]) - PIDL_ARGS="$PIDL_ARGS --uint-enums" -fi - -dnl Figure out the flags to support named structure initializers - -LIBREPLACE_C99_STRUCT_INIT([],[AC_MSG_ERROR([c99 structure initializer are not supported])]) - -UNAME_S=`(uname -s) 2>/dev/null` || UNAME_S="unknown" -AC_MSG_CHECKING(uname -s) -AC_MSG_RESULT(${UNAME_S}) - -UNAME_R=`(uname -r) 2>/dev/null` || UNAME_R="unknown" -AC_MSG_CHECKING(uname -r) -AC_MSG_RESULT(${UNAME_R}) - -UNAME_M=`(uname -m) 2>/dev/null` || UNAME_M="unknown" -AC_MSG_CHECKING(uname -m) -AC_MSG_RESULT(${UNAME_M}) - -UNAME_P=`(uname -p) 2>/dev/null` || UNAME_P="unknown" -AC_MSG_CHECKING(uname -p) -AC_MSG_RESULT(${UNAME_P}) - -UNAME_I=`(uname -i) 2>/dev/null` || UNAME_I="unknown" -AC_MSG_CHECKING(uname -i) -AC_MSG_RESULT(${UNAME_I}) - -dnl Add #include for broken IRIX header files - case "$host_os" in - *irix6*) - #TODO add to libreplace - if test x"$ac_cv_prog_gcc" != x"yes" ; then - dnl Fix sensible defaults for MIPSPro compilers. The - dnl error numbers are valid for the 7.3 compilers, - dnl hopefully also valid for the 7.4 series. - dnl - dnl Bugzilla 3801. Force an error on warning 1035 - dnl so we don't incorrectly detect stdint.h. This - dnl warning is emitted for #error directives. - CFLAGS="$CFLAGS -diag_error 1035" - dnl 1209: Controlling expression is constant - dnl 1174: Function foo declared but never referenced - dnl 3201: Parameter foo was never referenced - CFLAGS="$CFLAGS -woff 1209,1174,3201" - fi - ;; -esac - -DYNEXP= -AC_SUBST(DYNEXP) -LDSHFLAGS_Z_DEFS= -AC_SUBST(LDSHFLAGS_Z_DEFS) -LDSHFLAGS_Z_NODEFS= -AC_SUBST(LDSHFLAGS_Z_NODEFS) - -dnl Add modules that have to be built by default here -dnl These have to be built static: -default_static_modules="" -default_static_modules="$default_static_modules pdb_smbpasswd" -default_static_modules="$default_static_modules pdb_tdbsam" -default_static_modules="$default_static_modules pdb_wbc_sam" -default_static_modules="$default_static_modules rpc_lsarpc" -default_static_modules="$default_static_modules rpc_samr" -default_static_modules="$default_static_modules rpc_winreg" -default_static_modules="$default_static_modules rpc_initshutdown" -default_static_modules="$default_static_modules rpc_dssetup" -default_static_modules="$default_static_modules rpc_wkssvc" -default_static_modules="$default_static_modules rpc_svcctl" -default_static_modules="$default_static_modules rpc_ntsvcs" -default_static_modules="$default_static_modules rpc_netlogon" -default_static_modules="$default_static_modules rpc_netdfs" -default_static_modules="$default_static_modules rpc_srvsvc" -default_static_modules="$default_static_modules rpc_spoolss" -default_static_modules="$default_static_modules rpc_eventlog" -default_static_modules="$default_static_modules auth_sam" -default_static_modules="$default_static_modules auth_unix" -default_static_modules="$default_static_modules auth_winbind" -default_static_modules="$default_static_modules auth_wbc" -default_static_modules="$default_static_modules auth_domain" -default_static_modules="$default_static_modules auth_builtin" -default_static_modules="$default_static_modules vfs_default" -default_static_modules="$default_static_modules nss_info_template" - -dnl These are preferably build shared, and static if dlopen() is not available -default_shared_modules="" -default_shared_modules="$default_shared_modules vfs_recycle" -default_shared_modules="$default_shared_modules vfs_audit" -default_shared_modules="$default_shared_modules vfs_extd_audit" -default_shared_modules="$default_shared_modules vfs_full_audit" -default_shared_modules="$default_shared_modules vfs_netatalk" -default_shared_modules="$default_shared_modules vfs_fake_perms" -default_shared_modules="$default_shared_modules vfs_default_quota" -default_shared_modules="$default_shared_modules vfs_readonly" -default_shared_modules="$default_shared_modules vfs_cap" -default_shared_modules="$default_shared_modules vfs_expand_msdfs" -default_shared_modules="$default_shared_modules vfs_shadow_copy" -default_shared_modules="$default_shared_modules vfs_shadow_copy2" -default_shared_modules="$default_shared_modules auth_script" -default_shared_modules="$default_shared_modules vfs_readahead" -default_shared_modules="$default_shared_modules vfs_xattr_tdb" -default_shared_modules="$default_shared_modules vfs_streams_xattr" -default_shared_modules="$default_shared_modules vfs_streams_depot" -default_shared_modules="$default_shared_modules vfs_acl_xattr" -default_shared_modules="$default_shared_modules vfs_acl_tdb" -default_shared_modules="$default_shared_modules vfs_smb_traffic_analyzer" -default_shared_modules="$default_shared_modules vfs_preopen" -default_shared_modules="$default_shared_modules vfs_catia" -default_shared_modules="$default_shared_modules vfs_scannedonly" -default_shared_modules="$default_shared_modules vfs_crossrename" -default_shared_modules="$default_shared_modules vfs_linux_xfs_sgid" -default_shared_modules="$default_shared_modules vfs_time_audit" -default_shared_modules="$default_shared_modules vfs_media_harmony" -default_shared_modules="$default_shared_modules vfs_commit" -default_shared_modules="$default_shared_modules idmap_autorid" -default_shared_modules="$default_shared_modules idmap_tdb2" -default_shared_modules="$default_shared_modules idmap_rid" -default_shared_modules="$default_shared_modules idmap_hash" - -if test "x$developer" = xyes; then - default_shared_modules="$default_shared_modules perfcount_test" -fi - -if test x"$selftest" = x"yes" -o "x$developer" = xyes; then - default_shared_modules="$default_shared_modules vfs_fake_acls vfs_nfs4acl_xattr" -fi - -# -# Config CPPFLAG settings for strange OS's that must be set -# before other tests. Do NOT invoke AC_CHECK_HEADERS within this -# case statement; its first reference must be unconditional. -# -case "$host_os" in - *hpux*) -# -# Defines needed for HPUX support. -# HPUX has bigcrypt but (sometimes?) doesn't use it for -# password hashing - hence the USE_BOTH_CRYPT_CALLS define. -# - case `uname -r` in - *9*|*10*|*11) - AC_DEFINE(USE_BOTH_CRYPT_CALLS, 1, [Whether to use both of HPUX' crypt calls]) - ;; - esac - ;; - -# -# AIX4.x doesn't even admit to having large -# files *at all* unless the -D_LARGE_FILE or -D_LARGE_FILE_API flags are set. -# - *aix4*) - AC_MSG_RESULT([enabling large file support]) - CPPFLAGS="$CPPFLAGS -D_LARGE_FILES" - AC_DEFINE(_LARGE_FILES, 1, [Whether to enable large file support]) - ;; -# -# Defines needed for Solaris 2.6/2.7 aka 7.0 to make it admit -# to the existance of large files.. -# -# Solaris uses SYSV printing. Make sure to set that here. --jerry -# - *solaris*) - AC_DEFINE(SYSV, 1, [Whether to enable System V compatibility]) - LDFLAGS="$LDFLAGS -lthread" - CPPFLAGS="$CPPFLAGS -D_REENTRANT" - ;; -# -# IRIX uses SYSV printing. Make sure to set that here -# - *irix*) - AC_DEFINE(SYSV, 1, [Whether to enable System V compatibility]) - ;; - *freebsd*|*dragonfly*) - AC_DEFINE(FREEBSD, 1, [Whether the host os is FreeBSD]) - ;; -# -# VOS may need to have POSIX support and System V compatibility enabled. -# - *vos*) - case "$CPPFLAGS" in - *-D_POSIX_C_SOURCE*) - ;; - *) - CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L" - AC_DEFINE(_POSIX_C_SOURCE, 200112L, [Whether to enable POSIX support]) - ;; - esac - case "$CPPFLAGS" in - *-D_SYSV*|*-D_SVID_SOURCE*) - ;; - *) - CPPFLAGS="$CPPFLAGS -D_SYSV" - AC_DEFINE(_SYSV, 1, [Whether to enable System V compatibility]) - esac - ;; -# GNU systems -# - *linux* | *hurd* | gnu* | k*bsd*-gnu | kopensolaris*-gnu) - CPPFLAGS="-D_GNU_SOURCE $CPPFLAGS" - AC_DEFINE(_GNU_SOURCE, 1, [Whether to use GNU libc extensions]) - ;; - -# -# MacOS X is the *only* system that uses compose character in utf8. This -# is so horribly broken.... -# - *darwin*) - AC_DEFINE(BROKEN_UNICODE_COMPOSE_CHARACTERS, 1, [Does this system use unicode compose characters]) - -# Add a system specific charset module. - default_shared_modules="$default_shared_modules" - - ;; - *qnx*) - ;; - -esac - -SAVE_CPPFLAGS="${CPPFLAGS}" -CPPFLAGS="${CPPFLAGS} ${SAMBA_CONFIGURE_CPPFLAGS}" - -AC_LIBREPLACE_BROKEN_CHECKS -AC_CHECK_FUNCS([syslog],[],[AC_MSG_ERROR([Required function not found])]) -AC_LIBREPLACE_NETWORK_CHECKS - -CPPFLAGS="${SAVE_CPPFLAGS}" - -LIBREPLACE_DIR=`echo ${libreplacedir} | sed -e "s;${srcdir};;" -e "s;^/;;"` - -LIBREPLACE_OBJS="${LIBREPLACEOBJ}" -AC_SUBST(LIBREPLACE_OBJS) - -LIBREPLACE_LIBS="${LIBREPLACE_NETWORK_LIBS} ${LIBREPLACE_FILESYS_LIBS}" -AC_SUBST(LIBREPLACE_LIBS) - - -# add -ldl to the global LIBS -LIBS="${LIBS} ${LIBDL} ${LIBREPLACE_NETWORK_LIBS}" -AUTH_LIBS="${AUTH_LIBS} ${CRYPT_LIBS}" - - -AC_CHECK_HEADERS(aio.h sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd.h rpc/nettype.h) -AC_CHECK_HEADERS(unistd.h grp.h sys/id.h memory.h alloca.h) -AC_CHECK_HEADERS(limits.h float.h libintl.h) -AC_CHECK_HEADERS(rpc/rpc.h rpcsvc/nis.h rpcsvc/ypclnt.h) -AC_CHECK_HEADERS(sys/param.h ctype.h sys/wait.h sys/resource.h sys/ioctl.h sys/ipc.h sys/prctl.h sys/sysctl.h) -AC_CHECK_HEADERS(sys/mman.h sys/filio.h sys/priv.h sys/shm.h string.h strings.h stdlib.h) -AC_CHECK_HEADERS(sys/mount.h sys/vfs.h sys/fs/s5param.h sys/filsys.h termios.h termio.h) -AC_CHECK_HEADERS(sys/termio.h sys/statfs.h sys/dustat.h sys/statvfs.h stdarg.h) -AC_CHECK_HEADERS(sys/sysmacros.h) -AC_CHECK_HEADERS(sys/syslog.h syslog.h) -AC_CHECK_HEADERS(langinfo.h locale.h) -AC_CHECK_HEADERS(xfs/libxfs.h) -AC_CHECK_HEADERS(netgroup.h) -AC_CHECK_HEADERS(linux/falloc.h) -AC_CHECK_HEADERS(CommonCrypto/CommonDigest.h) -AC_CHECK_HEADERS(linux/ioctl.h) - -dnl check for OS implementation of md5 conformant to rfc1321 -samba_cv_md5lib=none - -AC_CHECK_LIB(c, MD5Update, [samba_cv_md5lib=""]) - -if test x"$samba_cv_md5lib" = x"none" ; then - AC_CHECK_LIB(md, MD5Update, [samba_cv_md5lib=md]) -fi - -if test x"$samba_cv_md5lib" = x"none" ; then - AC_CHECK_LIB(md5, MD5Update, [samba_cv_md5lib=md5]) -fi - -if test x"$samba_cv_md5lib" != x"none" ; then - AC_CHECK_HEADERS(sys/md5.h) -fi - -CRYPTO_MD5_OBJ="../lib/crypto/md5.o" -if test x"$ac_cv_header_sys_md5_h" = x"yes" -a \ - x"$samba_cv_md5lib" != x"none" ; then - if test x"$samba_cv_md5lib" != x ; then - LIBS="${LIBS} -l${samba_cv_md5lib}" - AC_DEFINE(HAVE_LIBMD5, 1, - [Whether libmd5 conformant to rfc1321 is available.]) - fi - CRYPTO_MD5_OBJ= -fi - -if test "x$ac_cv_header_CommonCrypto_CommonDigest_h" == "xyes"; then - CRYPTO_MD5_OBJ= -fi - -AC_SUBST(CRYPTO_MD5_OBJ) - -AC_CHECK_HEADERS(rpcsvc/yp_prot.h,,,[[ -#if HAVE_RPC_RPC_H -#include <rpc/rpc.h> -#endif -]]) -## These fail to compile on IRIX so just check for their presence -AC_CHECK_HEADERS(sys/mode.h,,,) - -# Look for Darwin headers -old_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="-Iinclude $CPPFLAGS" -AC_CHECK_HEADERS([CoreFoundation/CFStringEncodingConverter.h], [], [AC_CHECK_HEADERS([CFStringEncodingConverter.h])]) -CPPFLAGS="$old_CPPFLAGS" - -# To link lib/util/charset/charset_macosxfs.c, we need to tell the linker -# about CoreFoundation, at least on os X 10.4..10.7 resp. darwin8..12 -case "$host_os" in - *darwin*) - LDFLAGS="$LDFLAGS -framework CoreFoundation" - ;; -esac - -# In valgrind 1.0.x, it's just valgrind.h. In 1.9.x+ there's a -# subdirectory of headers. -AC_CHECK_HEADERS(valgrind.h valgrind/valgrind.h valgrind/memcheck.h) - -if test x"$enable_developer" = x"yes" ; then - if test x"$ac_cv_header_valgrind_h" = xyes -o \ - x"$ac_cv_header_valgrind_valgrind_h" = xyes ; then - AC_DEFINE(VALGRIND,1,[Whether we have valgrind headers]) - fi -fi - -# -# HPUX has a bug in that including shadow.h causes a re-definition of MAXINT. -# This causes configure to fail to detect it. Check for shadow separately on HPUX. -# -case "$host_os" in - *hpux*) - AC_TRY_COMPILE([#include <shadow.h>],[struct spwd testme], - ac_cv_header_shadow_h=yes,ac_cv_header_shadow_h=no) - if test x"$ac_cv_header_shadow_h" = x"yes"; then - AC_DEFINE(HAVE_SHADOW_H,1,[Whether we have shadow.h]) - fi - ;; -esac -AC_CHECK_HEADERS(shadow.h) -AC_CHECK_HEADERS(nss.h nss_common.h nsswitch.h ns_api.h sys/security.h) -AC_CHECK_HEADERS(syscall.h sys/syscall.h) - -AC_CHECK_HEADERS(sys/cdefs.h glob.h) - -# For experimental utmp support (lastlog on some BSD-like systems) -AC_CHECK_HEADERS(utmp.h utmpx.h lastlog.h) - -AC_CHECK_SIZEOF(int,cross) -AC_CHECK_SIZEOF(long,cross) -AC_CHECK_SIZEOF(long long,cross) -AC_CHECK_SIZEOF(short,cross) - -AC_C_CONST -AC_C_INLINE -AC_C_BIGENDIAN -AC_C_CHAR_UNSIGNED - -AC_TYPE_SIGNAL -AC_TYPE_UID_T -AC_TYPE_MODE_T -AC_TYPE_OFF_T -AC_TYPE_SIZE_T -AC_TYPE_PID_T -AC_STRUCT_ST_RDEV -AC_DIRENT_D_OFF -AC_CHECK_TYPE(ssize_t, int) -AC_CHECK_TYPE(wchar_t, unsigned short) - -############################################ -# for cups support we need libcups, and a handful of header files - -AC_ARG_ENABLE(cups, -[AS_HELP_STRING([--enable-cups], [Turn on CUPS support (default=auto)])]) - -if test x$enable_cups != xno; then - AC_PATH_PROG(CUPS_CONFIG, cups-config) - - if test "x$CUPS_CONFIG" != x; then - - ac_save_LDFLAGS=$LDFLAGS - ac_save_PRINT_LIBS=$PRINT_LIBS - AC_CHECK_HEADERS(cups/cups.h cups/language.h) - - if test x"$ac_cv_header_cups_cups_h" = xyes -a \ - x"$ac_cv_header_cups_language_h" = xyes; then - # try linking with -lcups alone first. That should work unless libcups is - # underlinked. With cups-config --libs we pull in unwanted and unneeded - # dendencies including thread libraries - use cups-config only if really - # required. - AC_CHECK_LIB_EXT(cups, ac_save_PRINT_LIBS , httpConnect, - [PRINT_LIBS="$ac_save_PRINT_LIBS -lcups"], - [AC_MSG_WARN([your cups library doesn't link with -lcups alone, it might be underlinked.]) ; - PRINT_LIBS="$ac_save_PRINT_LIBS `$CUPS_CONFIG --libs`"]) - - AC_DEFINE(HAVE_CUPS,1,[Whether we have CUPS]) - samba_cv_HAVE_CUPS=yes - AC_CHECK_LIB_EXT(cups, PRINT_LIBS, httpConnectEncrypt) - else - AC_MSG_WARN([cups-config around but cups-devel not installed]) - CFLAGS=$ac_save_CFLAGS - LDFLAGS=$ac_save_LDFLAGS - PRINT_LIBS=$ac_save_PRINT_LIBS - fi - - elif test x"$enable_cups" = x"yes"; then - AC_MSG_ERROR(Cups support required but cups-config not located. Make sure cups-devel related files are installed.) - fi -fi - -AC_ARG_ENABLE(iprint, -[AS_HELP_STRING([--enable-iprint], [Turn on iPrint support (default=yes if cups is yes)])]) - -if test x$enable_iprint != xno; then - if test x"$samba_cv_HAVE_CUPS" = xyes; then - AC_DEFINE(HAVE_IPRINT,1,[Whether we have iPrint]) - elif test x"$enable_iprint" = x"yes"; then - AC_MSG_ERROR(iPrint support required but cups not enabled. Make sure cups-devel related files are installed and that cups is enabled.) - fi -fi - -############################################ -# check if the compiler will optimize out function calls -AC_CACHE_CHECK([if the compiler will optimize out function calls],samba_cv_optimize_out_funcation_calls, [ - AC_TRY_LINK([ -#include <stdio.h>], -[ - if (0) { - this_function_does_not_exist(); - } else { - return 1; - } - -], - samba_cv_optimize_out_funcation_calls=yes,samba_cv_optimize_out_funcation_calls=no)]) -if test x"$samba_cv_optimize_out_funcation_calls" = x"yes"; then - AC_DEFINE(HAVE_COMPILER_WILL_OPTIMIZE_OUT_FNS,1,[Whether the compiler will optimize out function calls]) -fi - -############################################# -# check for fd passing struct via msg_control -AC_CACHE_CHECK([for fd passing via msg_control],samba_cv_msghdr_msg_control, [ - AC_TRY_COMPILE([ -#include <sys/types.h> -#include <stdlib.h> -#include <stddef.h> -#include <sys/socket.h> -#include <sys/un.h>], -[ - struct msghdr msg; - union { - struct cmsghdr cm; - char control[CMSG_SPACE(sizeof(int))]; - } control_un; - msg.msg_control = control_un.control; - msg.msg_controllen = sizeof(control_un.control); -], - samba_cv_msghdr_msg_control=yes,samba_cv_msghdr_msg_control=no)]) -if test x"$samba_cv_msghdr_msg_control" = x"yes"; then - AC_DEFINE(HAVE_MSGHDR_MSG_CONTROL,1, - [If we can use msg_control for passing file descriptors]) -fi - -############################################# -# check for fd passing struct via msg_acctrights -AC_CACHE_CHECK([for fd passing via msg_acctrights], - samba_cv_msghdr_msg_acctrights, [ - AC_TRY_COMPILE([ -#include <sys/types.h> -#include <stdlib.h> -#include <stddef.h> -#include <sys/socket.h> -#include <sys/un.h>], -[ - struct msghdr msg; - int fd; - msg.msg_acctrights = (caddr_t) &fd; - msg.msg_acctrightslen = sizeof(fd); -], - samba_cv_msghdr_msg_acctrights=yes,samba_cv_msghdr_msg_acctrights=no)]) -if test x"$samba_cv_msghdr_msg_acctrights" = x"yes"; then - AC_DEFINE(HAVE_MSGHDR_MSG_ACCTRIGHTS,1, - [If we can use msg_acctrights for passing file descriptors]) -fi - -AC_CHECK_FUNCS(dirfd) -if test x"$ac_cv_func_dirfd" = x"yes"; then - default_shared_modules="$default_shared_modules vfs_syncops vfs_dirsort" -fi - -AC_CACHE_CHECK([for struct sigevent type],samba_cv_struct_sigevent, [ - AC_TRY_COMPILE([ -#include <sys/types.h> -#if STDC_HEADERS -#include <stdlib.h> -#include <stddef.h> -#endif -#include <signal.h>],[struct sigevent s;], - samba_cv_struct_sigevent=yes,samba_cv_struct_sigevent=no)]) -if test x"$samba_cv_struct_sigevent" = x"yes"; then - AC_DEFINE(HAVE_STRUCT_SIGEVENT,1,[Whether we have the struct sigevent]) - AC_CHECK_MEMBERS([struct sigevent.sigev_value.sival_ptr,struct sigevent.sigev_value.sigval_ptr], , , - [#include <signal.h>]) -fi - -# and glibc has setresuid under linux but the function does -# nothing until kernel 2.1.44! very dumb. -AC_CACHE_CHECK([for real setresuid],samba_cv_have_setresuid,[ - AC_TRY_RUN([#include <errno.h> -main() { setresuid(1,1,1); setresuid(2,2,2); return(errno==EPERM?0:1);}], - samba_cv_have_setresuid=yes,samba_cv_have_setresuid=no,samba_cv_have_setresuid=cross)]) -if test x"$samba_cv_have_setresuid" = x"yes"; then - AC_DEFINE(HAVE_SETRESUID,1,[Whether the system has setresuid]) -fi - -# Do the same check for setresguid... -# -AC_CACHE_CHECK([for real setresgid],samba_cv_have_setresgid,[ - AC_TRY_RUN([#include <unistd.h> -#include <errno.h> -main() { errno = 0; setresgid(1,1,1); return(errno != 0 ? (errno==EPERM ? 0 : 1) : 0);}], - samba_cv_have_setresgid=yes,samba_cv_have_setresgid=no,samba_cv_have_setresgid=cross)]) -if test x"$samba_cv_have_setresgid" = x"yes"; then - AC_DEFINE(HAVE_SETRESGID,1,[Whether the system has setresgid]) -fi - -AC_FUNC_MEMCMP - -############################################### -# Readline included by default unless explicitly asked not to -test "${with_readline+set}" != "set" && with_readline=yes - -# test for where we get readline() from -AC_MSG_CHECKING(whether to use readline) -AC_ARG_WITH(readline, -[AS_HELP_STRING([--with-readline[=DIR]], [Look for readline include/libs in DIR (default=auto)])], -[ case "$with_readline" in - yes) - AC_MSG_RESULT(yes) - - AC_CHECK_HEADERS(readline.h history.h readline/readline.h) - AC_CHECK_HEADERS(readline/history.h) - - AC_CHECK_HEADERS(readline.h readline/readline.h,[ - for termlib in ncurses curses termcap terminfo termlib tinfo; do - AC_CHECK_LIB(${termlib}, tgetent, [TERMLIBS="-l${termlib}"; break]) - done - AC_CHECK_LIB(readline, rl_callback_handler_install, - [TERMLIBS="-lreadline $TERMLIBS" - AC_DEFINE(HAVE_LIBREADLINE,1,[Whether the system has readline]) - break], [TERMLIBS=], $TERMLIBS)]) - ;; - no) - AC_MSG_RESULT(no) - ;; - *) - AC_MSG_RESULT(yes) - - # Needed for AC_CHECK_HEADERS and AC_CHECK_LIB to look at - # alternate readline path - _ldflags=${LDFLAGS} - _cppflags=${CPPFLAGS} - - # Add additional search path - LDFLAGS="-L$with_readline/lib $LDFLAGS" - CPPFLAGS="-I$with_readline/include $CPPFLAGS" - - AC_CHECK_HEADERS(readline.h history.h readline/readline.h) - AC_CHECK_HEADERS(readline/history.h) - - AC_CHECK_HEADERS(readline.h readline/readline.h,[ - for termlib in ncurses curses termcap terminfo termlib; do - AC_CHECK_LIB(${termlib}, tgetent, [TERMLIBS="-l${termlib}"; break]) - done - AC_CHECK_LIB(readline, rl_callback_handler_install, - [TERMLDFLAGS="-L$with_readline/lib" - TERMCPPFLAGS="-I$with_readline/include" - CPPFLAGS="-I$with_readline/include $CPPFLAGS" - TERMLIBS="-lreadline $TERMLIBS" - AC_DEFINE(HAVE_LIBREADLINE,1,[Whether the system has readline]) - break], [TERMLIBS= CPPFLAGS=$_cppflags], $TERMLIBS)]) - - LDFLAGS=$_ldflags - ;; - esac], - AC_MSG_RESULT(no) -) -AC_SUBST(TERMLIBS) -AC_SUBST(TERMLDFLAGS) - -# The readline API changed slightly from readline3 to readline4, so -# code will generate warnings on one of them unless we have a few -# special cases. -AC_CHECK_LIB(readline, rl_completion_matches, - [AC_DEFINE(HAVE_NEW_LIBREADLINE, 1, - [Do we have rl_completion_matches?])], - [], - [$TERMLIBS]) - -# not all readline libs have rl_event_hook or history_list -AC_CHECK_DECLS(rl_event_hook, [], [], [#include <readline/readline.h>]) -AC_CHECK_LIB(readline, history_list, - [AC_DEFINE(HAVE_HISTORY_LIST, 1, [Do we have history_list?])], - [], - [$TERMLIBS]) - -############################################### -# test for where we get yp_get_default_domain() from -AC_SEARCH_LIBS(yp_get_default_domain, [nsl]) -AC_CHECK_FUNCS(yp_get_default_domain) - -# Check if we have execl, if not we need to compile smbrun. -AC_CHECK_FUNCS(execl) -if test x"$ac_cv_func_execl" = x"no"; then - EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/smbrun" -fi - -AC_CHECK_FUNCS(getcwd fchown chmod fchmod mknod mknod64) -AC_CHECK_FUNCS(strtol) -AC_CHECK_FUNCS(strchr chflags) -AC_CHECK_FUNCS(getrlimit fsync setpgid) -AC_CHECK_FUNCS(fdatasync,,[AC_CHECK_LIB_EXT(rt, LIBS, fdatasync)]) -AC_CHECK_FUNCS(setsid glob strpbrk crypt16 getauthuid) -AC_CHECK_FUNCS(sigprocmask sigblock sigaction sigset innetgr setnetgrent getnetgrent endnetgrent) -AC_CHECK_FUNCS(initgroups select rdchk getgrnam getgrent pathconf) -AC_CHECK_FUNCS(getgrset) -AC_CHECK_FUNCS(setpriv setgidx setuidx setgroups syscall sysconf) -AC_CHECK_FUNCS(atexit grantpt posix_openpt posix_fallocate) -AC_CHECK_FUNCS(fallocate) -AC_CHECK_FUNCS(fseeko setluid getpwanam) -AC_CHECK_FUNCS(fdopendir) -AC_CHECK_FUNCS(getpwent_r) -AC_CHECK_FUNCS(setenv strcasecmp fcvt fcvtl) -AC_CHECK_FUNCS(syslog vsyslog timegm) -AC_CHECK_FUNCS(setlocale) -AC_CHECK_FUNCS(nanosleep,,[AC_CHECK_LIB_EXT(rt, LIBS, nanosleep)]) -AC_CHECK_FUNCS(lutimes futimes utimensat futimens) -AC_CHECK_FUNCS(mlock munlock mlockall munlockall) -AC_CHECK_FUNCS(memalign posix_memalign hstrerror) -AC_CHECK_HEADERS(sys/mman.h) -# setbuffer, shmget, shm_open are needed for smbtorture -AC_CHECK_FUNCS(shmget shm_open) -AC_CHECK_FUNCS(gettext dgettext) -AC_CHECK_FUNCS(bindtextdomain textdomain bind_textdomain_codeset) -AC_CHECK_FUNCS(strupr) - -# Find a method of generating a stack trace -AC_CHECK_HEADERS(execinfo.h libexc.h libunwind.h) -# libexecinfo provides backtrace_symbols on FreeBSD -AC_SEARCH_LIBS(backtrace_symbols, [execinfo]) -AC_CHECK_FUNCS(backtrace_symbols) -AC_CHECK_LIB(exc, trace_back_stack) - -# check for sysctlbyname and sysctl for BSD systems -AC_CHECK_FUNCS(sysctlbyname) -AC_CHECK_FUNCS(sysctl) - -################################################# -# Check to see if core dump directory is defined in linux -# with /proc/sys/kernel/core_pattern - -AC_CHECK_FILE([/proc/sys/kernel/core_pattern], - AC_DEFINE(HAVE_SYS_KERNEL_PROC_CORE_PATTERN, 1, - [Whether Linux kernel uses core_pattern for core files]), - []) - -############################# -# check if building with gpfs -AC_CHECK_HEADERS(gpfs_gpl.h) -if test x"$ac_cv_header_gpfs_gpl_h" = x"yes"; then - AC_DEFINE(HAVE_GPFS,1,[Whether GPFS GPL headers are available]) - default_shared_modules="$default_shared_modules vfs_gpfs" -fi - -############################# -# check if building with libcephfs -# fail if --with-libcephfs specified but no headers found -printf "%s" "checking for CephFS... " -AC_CHECK_HEADERS(cephfs/libcephfs.h) - -save_LIBS="$LIBS" -LIBS="$LIBS -lcephfs" -AC_TRY_LINK([#include <cephfs/libcephfs.h>], - [ceph_version(0, 0, 0)], - samba_cv_HAVE_CEPHFS=yes, - samba_cv_HAVE_CEPHFS=no - ) - -if test x"$ac_cv_header_cephfs_libcephfs_h" = x"yes" && test x"$samba_cv_HAVE_CEPHFS" = x"yes"; then - AC_DEFINE(HAVE_CEPH, 1, [Whether CEPH headers are available]) - default_shared_modules="$default_shared_modules vfs_ceph" - save_CFLAGS="$CFLAGS" - save_LDFLAGS="$LDFLAGS" - save_LIBS="$save_LIBS -lcephfs" -else - if test x"$CEPHFS_PATH_SPEC" = x"yes"; then - AC_MSG_ERROR([No valid libcephfs found in ${CEPHFS_PATH}]) - fi -fi - -CFLAGS="$save_CFLAGS" -LDFLAGS="$save_LDFLAGS" -LIBS="$save_LIBS" - -# Note that all the libunwind symbols in the API are defined to internal -# platform-specific version, so we must include libunwind.h before checking -# any of them. -AC_MSG_CHECKING([for libunwind]) -save_LIBS=$LIBS - -UNWIND_ARCH="unknown" -if test x"$UNAME_I" != x"unknown"; then - UNWIND_ARCH="$UNAME_I" -elif test x"$UNAME_M" != x"unknown"; then - UNWIND_ARCH="$UNAME_M" -elif test x"$UNAME_P" != x"unknown"; then - UNWIND_ARCH="$UNAME_P" -fi - -case "$UNWIND_ARCH" in - unknown) - # This probably won't link without - # the platform-specific libunwind. - LIBS="$LIBS -lunwind" - ;; - i386|i586|i686) - # Add the platform-specific libunwind module. - LIBS="$LIBS -lunwind -lunwind-x86" - ;; - *) - # Add the platform-specific libunwind module. - # based on uname -i, uname -m or uname -p - LIBS="$LIBS -lunwind -lunwind-$UNWIND_ARCH" - ;; -esac - -AC_TRY_LINK( - [ -#ifdef HAVE_LIBUNWIND_H -#include <libunwind.h> -#endif - ], - [ - unw_context_t ctx; unw_cursor_t cur; - char buf[256]; unw_word_t off; - unw_getcontext(&ctx); unw_init_local(&cur, &ctx); - unw_get_proc_name(&cur, buf, sizeof(buf), &off); - ], - [ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_LIBUNWIND, 1, [Whether libunwind is available]) - - # If we have libunwind, test whether we also have libunwind-ptrace - # which would let us unwind arbitrary processes. - save_LIBS=$LIBS - AC_CHECK_HEADERS(libunwind-ptrace.h) - AC_CHECK_LIB(unwind-ptrace, _UPT_create, - [ - LIBUNWIND_PTRACE="-lunwind-ptrace"; - AC_DEFINE(HAVE_LIBUNWIND_PTRACE, 1, - [Whether libunwind-ptrace.a is available.]) - ], - [ LIBUNWIND_PTRACE="" ]) - - LIBS=$save_LIBS - ], - [ - AC_MSG_RESULT(no) - LIBS=$save_LIBS - ]) - -# To use libunwind-ptrace, we also need to make some ptrace system calls. -if test x"$LIBUNWIND_PTRACE" != x"" ; then - AC_CHECK_HEADERS(sys/ptrace.h) - AC_MSG_CHECKING([for the Linux ptrace(2) interface]) - AC_TRY_LINK( - [ -#if HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif -#if HAVE_SYS_PTRACE_H -#include <sys/ptrace.h> -#endif - ], - [ - pid_t me = (pid_t)-1; - ptrace(PTRACE_ATTACH, me, 0, 0); - ptrace(PTRACE_DETACH, me, 0, 0); - return 0; - ], - [ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_LINUX_PTRACE, 1, - [Whether the Linux ptrace(2) interface is available.]) - ], - [ - AC_MSG_RESULT(no) - LIBUNWIND_PTRACE="" - ]) -fi - -AC_SUBST(LIBUNWIND_PTRACE) - -AC_CHECK_FUNCS(_dup _dup2 _opendir _readdir _seekdir _telldir _closedir) -AC_CHECK_FUNCS(__dup __dup2 __opendir __readdir __seekdir __telldir __closedir) -AC_CHECK_FUNCS(__getcwd _getcwd) -AC_CHECK_FUNCS(__xstat __fxstat __lxstat) -AC_CHECK_FUNCS(_stat _lstat _fstat __stat __lstat __fstat) -AC_CHECK_FUNCS(_acl __acl _facl __facl _open __open _chdir __chdir) -AC_CHECK_FUNCS(_close __close _fchdir __fchdir _fcntl __fcntl) -AC_CHECK_FUNCS(getdents __getdents _lseek __lseek _read __read) -AC_CHECK_FUNCS(getdirentries _write __write _fork __fork) -AC_CHECK_FUNCS(__sys_llseek llseek _llseek __llseek) -AC_CHECK_FUNCS(pread _pread __pread) -AC_CHECK_FUNCS(pwrite _pwrite __pwrite) -AC_CHECK_FUNCS(prctl) - -AC_TRY_COMPILE([ -#ifdef HAVE_SYS_PRCTL_H -#include <sys/prctl.h> -#endif -], -[int i; i = prtcl(0); ], -AC_DEFINE(HAVE_PRCTL, 1, [Whether prctl is available]),[]) - -# -# -# -case "$host_os" in - *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu) - # glibc <= 2.3.2 has a broken getgrouplist - AC_CACHE_CHECK([for good getgrouplist],samba_cv_linux_getgrouplist_ok,[AC_TRY_RUN([ -#include <unistd.h> -#include <sys/utsname.h> -main() { - /* glibc up to 2.3 has a broken getgrouplist */ -#if defined(__GLIBC__) && defined(__GLIBC_MINOR__) - int libc_major = __GLIBC__; - int libc_minor = __GLIBC_MINOR__; - - if (libc_major < 2) - return(1); - if ((libc_major == 2) && (libc_minor <= 3)) - return(1); -#endif - return(0); -} -], [samba_cv_linux_getgrouplist_ok=yes], - [samba_cv_linux_getgrouplist_ok=no], - [samba_cv_linux_getgrouplist_ok=cross])]) - if test x"$samba_cv_linux_getgrouplist_ok" = x"yes"; then - AC_DEFINE(HAVE_GETGROUPLIST, 1, [Have good getgrouplist]) - fi - ;; - *) - AC_CHECK_FUNCS(getgrouplist) - ;; -esac - -################################################# -# Check whether struct stat has timestamps with sub-second resolution. -# - -samba_cv_stat_hires=no -AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec], # Linux, Solaris - [samba_cv_stat_hires=yes]) -AC_CHECK_MEMBERS([struct stat.st_mtimensec], # BSD, if defined _POSIX_SOURCE - [samba_cv_stat_hires=yes]) -AC_CHECK_MEMBERS([struct stat.st_mtimespec.tv_nsec], # BSD, if not defined _POSIX_SOURCE - [samba_cv_stat_hires=yes]) -AC_CHECK_MEMBERS([struct stat.st_mtime_n], # AIX - [samba_cv_stat_hires=yes]) -AC_CHECK_MEMBERS([struct stat.st_umtime], # Tru64 - [samba_cv_stat_hires=yes]) - -if test x"$samba_cv_stat_hires" = x"yes" ; then - AC_DEFINE(HAVE_STAT_HIRES_TIMESTAMPS, 1, - [whether struct stat has sub-second timestamps]) -fi - -# recent FreeBSD, NetBSD have creation timestamps called birthtime: -AC_CHECK_MEMBERS([struct stat.st_birthtimespec.tv_nsec]) -AC_CHECK_MEMBERS([struct stat.st_birthtime], AC_CHECK_MEMBERS([struct stat.st_birthtimensec])) - - -AC_CACHE_CHECK([whether there is DOS flags support in the stat struct], samba_cv_stat_dos_flags, - [ - AC_TRY_COMPILE( - [#include <sys/stat.h>], - [ - int a = UF_DOS_ARCHIVE; - int h = UF_DOS_HIDDEN; - int r = UF_DOS_RO; - int s = UF_DOS_SYSTEM; - int i = UF_DOS_NOINDEX; - int f = UF_DOS_FLAGS; - ], - samba_cv_stat_dos_flags=yes, samba_cv_stat_dos_flags=no) - ]) - -if test x"$samba_cv_stat_dos_flags" = x"yes" ; then - AC_DEFINE(HAVE_STAT_DOS_FLAGS, 1, [whether there is DOS flags support in the stat struct]) -fi - -AC_CACHE_CHECK([whether we can compile with __attribute__((destructor))], - samba_cv_function_attribute_destructor, - [ - AC_COMPILE_IFELSE([AC_LANG_SOURCE( - [ - __attribute__((destructor)) - static void cleanup(void) { } - ])], - samba_cv_function_attribute_destructor=yes) - ]) - -if test x"$samba_cv_function_attribute_destructor" = xyes ; then - AC_DEFINE(HAVE_FUNCTION_ATTRIBUTE_DESTRUCTOR, 1, - [whether we can compile with __attribute__((destructor))]) -fi - -##################################### -# needed for SRV lookups -AC_CHECK_LIB(resolv, dn_expand) -AC_CHECK_LIB(resolv, _dn_expand) -AC_CHECK_LIB(resolv, __dn_expand) -AC_CHECK_LIB(inet, dn_expand) - -# -# Check for the functions putprpwnam, set_auth_parameters, -# getspnam, bigcrypt and getprpwnam in -lsec and -lsecurity -# Needed for OSF1 and HPUX. -# - -AC_LIBTESTFUNC(security, putprpwnam) -AC_LIBTESTFUNC(sec, putprpwnam) - -AC_LIBTESTFUNC(security, set_auth_parameters) -AC_LIBTESTFUNC(sec, set_auth_parameters) - -# UnixWare 7.x has its getspnam in -lgen -AC_LIBTESTFUNC(gen, getspnam) - -AC_LIBTESTFUNC(security, getspnam) -AC_LIBTESTFUNC(sec, getspnam) - -AC_LIBTESTFUNC(security, bigcrypt) -AC_LIBTESTFUNC(sec, bigcrypt) - -AC_LIBTESTFUNC(security, getprpwnam) -AC_LIBTESTFUNC(sec, getprpwnam) - -AC_CHECK_FUNCS(strsignal) - -AC_DISABLE_STATIC -AC_ENABLE_SHARED - -# Set defaults -PIE_CFLAGS="" -PIE_LDFLAGS="" -AC_ARG_ENABLE(pie, [AS_HELP_STRING([--enable-pie], [Turn on pie support if available (default=yes)])]) - -if test "x$enable_pie" != xno -then - AC_CACHE_CHECK(for -pie and -fPIE, samba_cv_fpie, - [ - cat > conftest.c <<EOF -int foo; -int main () { return 0;} -EOF - if AC_TRY_COMMAND_NO_STDERR([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fPIE -o conftest conftest.c]) - then - samba_cv_fpie=yes - else - samba_cv_fpie=no - fi - rm -f conftest* - ]) - if test x"${samba_cv_fpie}" = x"yes" - then - PIE_CFLAGS="-fPIE" - PIE_LDFLAGS="-pie" - fi -fi - -# Set defaults -RELRO_LDFLAGS="" -AC_ARG_ENABLE(relro, [AS_HELP_STRING([--enable-relro], [Turn on Relocations Read-Only (relro) support if available (default=yes)])]) - -if test "x$enable_relro" != xno -then - AC_CACHE_CHECK([for -Wl,-z,relro], samba_cv_relro, - [ - cat > conftest.c <<EOF -int foo; -main () { return 0;} -EOF - if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -Wl,-z,relro -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD]) - then - samba_cv_relro=yes - else - samba_cv_relro=no - fi - rm -f conftest* - ]) - if test x"${samba_cv_relro}" = x"yes" - then - RELRO_LDFLAGS="-Wl,-z,relro" - fi -fi - -# Set defaults -SYMSEXT="syms" -AC_SUBST(SYMSEXT) - -# Assume non-shared by default and override below -BLDSHARED="false" - -# these are the defaults, good for lots of systems -HOST_OS="$host_os" -LDSHFLAGS="-shared" -MODULE_EXPORTS="" -SONAMEFLAG="#" -SHLD="\${CC} \${CFLAGS}" -PICFLAG="${PIE_CFLAGS}" -SHLIBEXT="so" -DSO_EXPORTS="" - -# this bit needs to be modified for each OS that supports share libs -# You need to specify how to create a shared library and - # how to compile C code to produce PIC object files - - AC_MSG_CHECKING([ability to build shared libraries]) - - # and these are for particular systems - case "$host_os" in - *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu | *qnx*) - case "$host_os" in - *linux*) AC_DEFINE(LINUX,1,[Whether the host os is linux]) ;; - *qnx*) AC_DEFINE(QNX,1,[Whether the host os is qnx]) ;; - esac - BLDSHARED="true" - LDSHFLAGS="-shared -Wl,-Bsymbolic" - if test "${ac_cv_gnu_ld_no_default_allow_shlib_undefined}" = "yes"; then - LDSHFLAGS_Z_NODEFS="-Wl,--allow-shlib-undefined" - fi - DYNEXP="-Wl,--export-dynamic" - PICFLAG="-fPIC" - SONAMEFLAG="-Wl,-soname=" - AC_DEFINE(STAT_ST_BLOCKSIZE,512) - ;; - *solaris*) AC_DEFINE(SUNOS5,1,[Whether the host os is solaris]) - BLDSHARED="true" - if test "${GCC}" = "yes"; then - PICFLAG="-fPIC" - SONAMEFLAG="-Wl,-soname=" - if test "${ac_cv_prog_gnu_ld}" = "yes"; then - DYNEXP="-Wl,-E" - fi - LDSHFLAGS="-shared" - else - PICFLAG="-KPIC" - LDSHFLAGS="-G" - fi - if test "$ac_cv_prog_gnu_ld" = "yes"; then - SONAMEFLAG="-Wl,-soname=" - else - SONAMEFLAG="-Wl,-h," - fi - AC_DEFINE(STAT_ST_BLOCKSIZE,512,[The size of a block]) - ;; - *sunos*) AC_DEFINE(SUNOS4,1,[Whether the host os is sunos4]) - BLDSHARED="true" - LDSHFLAGS="-G" - SONAMEFLAG="-Wl,-h," - PICFLAG="-KPIC" # Is this correct for SunOS - AC_DEFINE(STAT_ST_BLOCKSIZE,512) - ;; - *netbsd* | *freebsd* | *dragonfly* ) - BLDSHARED="true" - LDSHFLAGS="-shared" - DYNEXP="-Wl,--export-dynamic" - SONAMEFLAG="-Wl,-soname," - PICFLAG="-fPIC -DPIC" - AC_DEFINE(STAT_ST_BLOCKSIZE,512,[The size of a block]) - ;; - *openbsd*) BLDSHARED="true" - LDSHFLAGS="-shared" - DYNEXP="-Wl,-Bdynamic" - SONAMEFLAG="-Wl,-soname," - PICFLAG="-fPIC" - AC_DEFINE(STAT_ST_BLOCKSIZE,512,[The size of a block]) - ;; - *irix*) BLDSHARED="true" - LDSHFLAGS="-Wl,-set_version,sgi1.0 -shared" - SONAMEFLAG="-Wl,-soname," - if test "${GCC}" = "yes"; then - PICFLAG="-fPIC" - else - PICFLAG="-KPIC" - fi - AC_DEFINE(STAT_ST_BLOCKSIZE,512,[The size of a block]) - ;; - *aix*) AC_DEFINE(AIX,1,[Whether the host os is aix]) - BLDSHARED="true" - # use expfull to export underscored symbols - # add rtl to remove /lib/crt0.o warning - LDSHFLAGS="-Wl,-G,-bexpfull,-bbigtoc,-brtl" - DYNEXP="-Wl,-brtl,-bexpfull,-bbigtoc" - PICFLAG="-O2" - # as AIX code is always position independent... - # .po will just create compile warnings, use po.o: - if test "${GCC}" != "yes"; then - ## for funky AIX compiler using strncpy() - CFLAGS="$CFLAGS -D_LINUX_SOURCE_COMPAT -qmaxmem=32000 -qhalt=e" - fi - - AC_DEFINE(STAT_ST_BLOCKSIZE,DEV_BSIZE,[The size of a block]) - AC_DEFINE(BROKEN_STRNLEN,1,[Does strnlen work correctly]) - AC_DEFINE(BROKEN_STRNDUP,1,[Does strndup work correctly]) - ;; - *hpux*) AC_DEFINE(HPUX,1,[Whether the host os is HPUX]) - # ia64: 64bit build using gcc with CFLAGS="-mpl64" - # 64bit build using HP's cc with CFLAGS="+DD64" - # hppa: 64bit build unsupported by gcc - # 64bit build using HP's cc with CFLAGS="+DA2.0w" - # HP-UX 11.00 ld needs PHSS_33034 - BLDSHARED="true" - if test "${GCC}" = "yes"; then - PICFLAG="-fPIC" - LDSHFLAGS="-shared" - else - PICFLAG="+z" - LDSHFLAGS="-b" - # "Uses depth-first symbol resolution" - LDSHFLAGS="$LDSHFLAGS -Wl,-B,symbolic,-b" - if test "$host_cpu" != "ia64"; then - # "don't store literals in read-only memory" (?): - PICFLAG="$PICFLAG +ESnolit" - fi - fi - if test "$host_cpu" = "ia64"; then - SHLIBEXT="so" - # TODO: does the linker find the right 32/64 bit version of the libs? : - DYNEXP="-Wl,-E,+b/usr/local/lib/hpux32:/usr/lib/hpux32:/usr/local/lib/hpux64:/usr/lib/hpux64" - else - SHLIBEXT="sl" - DYNEXP="-Wl,-E,+b/usr/local/lib:/usr/lib" - fi - if test "$ac_cv_prog_gnu_ld" = "yes"; then - SONAMEFLAG="-Wl,-soname=" - else - SONAMEFLAG="-Wl,+h," - fi - # PIE/PIC flags at link time are required on HP-UX because - # linking requires a temporary source file, which is being - # compiled with the indicated flags - which need to contain - # PIC flags when we don't support PIE flags: - if test "$PIE_LDFLAGS" = "" ; then - PIE_LDFLAGS=\${PICFLAG} - fi - AC_DEFINE(STAT_ST_BLOCKSIZE,8192,[The size of a block]) - AC_DEFINE(POSIX_ACL_NEEDS_MASK,1,[Does a POSIX ACL need a mask element]) - ;; - *osf*) AC_DEFINE(OSF1,1,[Whether the host os is osf1]) - BLDSHARED="true" - LDSHFLAGS="-shared" - SONAMEFLAG="-Wl,-soname," - if test "${GCC}" = "yes"; then - PICFLAG="-fPIC" - fi - AC_DEFINE(STAT_ST_BLOCKSIZE,512) - for flags in "-expect_unresolved '*'" "-Wl,-expect_unresolved,'*'" ; do - saved_ldflags="$LDFLAGS" - AC_MSG_CHECKING([if $flags works]) - LDFLAGS="$flags $saved_ldflags" - AC_TRY_LINK([],[], - [AC_MSG_RESULT([yes]) - LDSHFLAGS_Z_NODEFS=$flags], - AC_MSG_RESULT([no])) - LDFLAGS="$saved_ldflags" - test x"$LDSHFLAGS_Z_NODEFS" != x && break - done - ;; - *sco*) AC_DEFINE(STAT_ST_BLOCKSIZE,512) - ;; - *unixware*) BLDSHARED="true" - LDSHFLAGS="-shared" - SONAMEFLAG="-Wl,-soname," - PICFLAG="-KPIC" - AC_DEFINE(STAT_ST_BLOCKSIZE,512) - ;; - *next2*) AC_DEFINE(NEXT2,1,[Whether the host os is NeXT v2]) - AC_DEFINE(STAT_ST_BLOCKSIZE,512) - ;; - *dgux*) AC_CHECK_PROG( ROFF, groff, [groff -etpsR -Tascii -man]) - AC_DEFINE(STAT_ST_BLOCKSIZE,512) - ;; - *sysv4*) AC_DEFINE(SYSV,1,[Whether this is a system V system]) - case "$host" in - *-univel-*) if [ test "$GCC" != yes ]; then - AC_DEFINE(HAVE_MEMSET,1,[Whether memset() is available]) - fi - LDSHFLAGS="-G" - DYNEXP="-Bexport" - ;; - *mips-sni-sysv4*) AC_DEFINE(RELIANTUNIX,1,[Whether the host os is reliantunix]);; - esac - AC_DEFINE(STAT_ST_BLOCKSIZE,512) - ;; - - *sysv5*) AC_DEFINE(SYSV,1,[Whether this is a system V system]) - if [ test "$GCC" != yes ]; then - AC_DEFINE(HAVE_MEMSET,1,[Whether memset() is available]) - fi - LDSHFLAGS="-G" - AC_DEFINE(STAT_ST_BLOCKSIZE,512) - ;; - *vos*) AC_DEFINE(STAT_ST_BLOCKSIZE,4096) - BLDSHARED="false" - LDSHFLAGS="" - ;; - - *darwin*) AC_DEFINE(DARWINOS,1,[Whether the host os is Darwin/MacOSX]) - BLDSHARED="true" - LDSHFLAGS="-dynamiclib -flat_namespace -undefined suppress" - CFLAGS="$CFLAGS -fno-common" - SHLD="\${CC}" - SHLIBEXT="dylib" - MODULE_EXPORTS="-exported_symbols_list \$(srcdir)/exports/modules-darwin.syms" - SHLIBEXT="dylib" - # Since gcc doesn't fail on unrecognised options, the - # PIE test incorrectly succeeds. Darwin gcc does not - # actually support the PIE stuff. - PIE_LDFLAGS= - PIE_CFLAGS= - AC_DEFINE(STAT_ST_BLOCKSIZE,512) - ;; - - *) - AC_DEFINE(STAT_ST_BLOCKSIZE,512) - ;; - esac - -if test "$enable_shared" != "yes"; then - BLDSHARED=false -fi - -if test "$enable_shared" = yes -a "${ac_cv_gnu_ld_version_script}" = yes; then - DSO_EXPORTS=\$\(DSO_EXPORTS_CMD\) -fi - -if test x"$BLDSHARED" = x"true" ; then - LDFLAGS="$LDFLAGS -L./bin" -fi - -AC_MSG_RESULT($BLDSHARED) - -if test x"$enable_developer" = x"yes" ; then - default_as_needed=auto -else - default_as_needed=no -fi -AC_ARG_ENABLE(as-needed, - AS_HELP_STRING([--enable-as-needed], - [Turn on as-needed support if available (default=no)]), - [enable_as_needed=$enableval], - [enable_as_needed=$default_as_needed]) -if test "x$enable_as_needed" != xno; then - saved_before_as_needed_ldflags="$LDFLAGS" - for flags in "-Wl,--as-needed" "-Wl,-z,ignore" "-z ignore" ; do - saved_ldflags="$LDFLAGS" - AC_MSG_CHECKING([if $flags works]) - LDFLAGS="$flags $saved_ldflags" - AC_TRY_LINK([],[], - [AC_MSG_RESULT([yes]) - LD_AS_NEEDED_FLAG=$flags - ld_as_needed_flag_found=yes], - AC_MSG_RESULT([no])) - LDFLAGS="$LD_AS_NEEDED_FLAG $saved_ldflags" - test x"$ld_as_needed_flag_found" = xyes && break - done -fi - -if test x$ld_as_needed_flag_found = xyes -a x$enable_as_needed = xauto ; then -# check if ld has bug described in https://bugzilla.samba.org/show_bug.cgi?id=7209#c17 - AC_MSG_CHECKING([if $LD_AS_NEEDED_FLAG has explicit external libs bug]) -cat > conftest_shb.c <<END -void b() {} -END -cat > conftest_sha.c <<END -extern void b(); -void a() { - b(); -} -END -cat > conftest.c <<END -extern void a(); -int main() { - a(); - return 0; -} -END - - rm -fr conftest - AC_TRY_COMMAND([$CC $CPPFLAGS $CFLAGS $PICFLAG -c -o conftest_sha.o conftest_sha.c 1>&AS_MESSAGE_LOG_FD 2>&1]) - AC_TRY_COMMAND([$CC $CPPFLAGS $CFLAGS $PICFLAG -c -o conftest_shb.o conftest_shb.c 1>&AS_MESSAGE_LOG_FD 2>&1]) - TESTCMD="`eval echo \"$SHLD $LDSHFLAGS $PICFLAG\"`" - AC_TRY_COMMAND([$TESTCMD -o libconftest_shb.$SHLIBEXT conftest_shb.o 1>&AS_MESSAGE_LOG_FD 2>&1]) - AC_TRY_COMMAND([$TESTCMD -o libconftest_sha.$SHLIBEXT conftest_sha.o 1>&AS_MESSAGE_LOG_FD 2>&1]) - AC_TRY_COMMAND([$CC -o conftest conftest.c $LDFLAGS -L. -lconftest_sha -lconftest_shb 1>&AS_MESSAGE_LOG_FD 2>&1]) - if AC_TRY_COMMAND([eval "$LIB_PATH_VAR=. ./conftest 1>&AS_MESSAGE_LOG_FD 2>&1"]) - then - AC_MSG_RESULT([no]) - else - ld_as_needed_flag_found=no - LDFLAGS="$saved_before_as_needed_ldflags" - AC_MSG_RESULT([yes]) - fi - rm conftest* libconftest* -fi - -# check if we have to disable LD_AS_NEEDED_FLAG: -# On some systems for a veriety of reasons linking with -# -Wl,--as-needed -lreadline -lncurses fails -# we have to retest, if these combination is detected before. -# Bugzilla #7209 - -if test x$ac_cv_lib_readline_rl_callback_handler_install = xyes ; then - if test x$ld_as_needed_flag_found = xyes ; then - AC_MSG_CHECKING([if $LD_AS_NEEDED_FLAG works with readline]) - # try if check no fails - save_LIBS=$LIBS - LIBS="$LIBS $TERMLIBS" - AC_TRY_LINK([], [rl_callback_handler_install();], [AC_MSG_RESULT([yes])],[ AC_MSG_RESULT([no]); LDFLAGS="$saved_before_as_needed_ldflags"]) - LIBS="$save_LIBS" - fi -fi - - - -# for historical reasons almost all linkers don't complain about unresolved -# symbols in shared libs. Except for the internal samba modules we want to get -# errors when we produce a shared lib with unresolved symbols. On some -# platforms unresolved symbols might be intended, so we might have to add -# platform specific exceptions here. - -for flags in "-Wl,-z,defs" "-error_unresolved" "-Wl,-error_unresolved" ; do - saved_ldflags="$LDFLAGS" - AC_MSG_CHECKING([if $flags works]) - LDFLAGS="$flags $saved_ldflags" - AC_TRY_LINK([],[], - [AC_MSG_RESULT([yes]) - LDSHFLAGS_Z_DEFS=$flags - ldshflags_z_defs_found=yes], - AC_MSG_RESULT([no])) - LDFLAGS=$saved_ldflags - test x"$ldshflags_z_defs_found" = xyes && break -done - -AC_MSG_CHECKING([LDSHFLAGS_Z_DEFS]) -AC_MSG_RESULT([$LDSHFLAGS_Z_DEFS]) -AC_MSG_CHECKING([LDFLAGS]) -AC_MSG_RESULT([$LDFLAGS]) -AC_MSG_CHECKING([DYNEXP]) -AC_MSG_RESULT([$DYNEXP]) - -####################################################### -# test whether building a shared library actually works -if test $BLDSHARED = true; then - -AC_MSG_CHECKING([SHLD]) -AC_MSG_RESULT([$SHLD]) -AC_MSG_CHECKING([LDSHFLAGS]) -AC_MSG_RESULT([$LDSHFLAGS]) - -AC_MSG_CHECKING([SHLIBEXT]) -AC_MSG_RESULT([$SHLIBEXT]) -AC_MSG_CHECKING([SONAMEFLAG]) -AC_MSG_RESULT([$SONAMEFLAG]) - -AC_MSG_CHECKING([PICFLAG]) -AC_MSG_RESULT([$PICFLAG]) - -AC_MSG_CHECKING([NSSSONAMEVERSIONSUFFIX]) -AC_MSG_RESULT([$NSSSONAMEVERSIONSUFFIX]) - -AC_CACHE_CHECK([whether building shared libraries actually works], - [ac_cv_shlib_works],[ - # try building a trivial shared library - ac_cv_shlib_works=no - # The $SHLD and $LDSHFLAGS variables may contain references to other - # variables so they need to be eval'ed. - if AC_TRY_COMMAND([$CC $CPPFLAGS $CFLAGS $PICFLAG -c -o shlib.o ${srcdir-.}/../tests/shlib.c 1>&AS_MESSAGE_LOG_FD]) - then - TESTCMD="`eval echo \"$SHLD $LDSHFLAGS $PICFLAG\"`" - TESTCMD="$TESTCMD -o \"shlib.$SHLIBEXT\" shlib.o" - if AC_TRY_COMMAND([eval $TESTCMD 1>&AS_MESSAGE_LOG_FD 2>&1]) - then - ac_cv_shlib_works=yes - fi - fi - rm -f "shlib.$SHLIBEXT" shlib.o - -]) -if test $ac_cv_shlib_works = no; then - BLDSHARED=false -fi -fi - -if test x"$BLDSHARED" != x"true"; then - LDSHFLAGS="shared-libraries-disabled" - SONAMEFLAG="shared-libraries-disabled" - NSSSONAMEVERSIONSUFFIX="shared-libraries-disabled" - SHLD="shared-libraries-disabled" - PICFLAG="${PIE_CFLAGS}" - SHLIBEXT="shared_libraries_disabled" - smbtorture_possible=no -fi - -AC_MSG_CHECKING([used PICFLAG]) -AC_MSG_RESULT([$PICFLAG]) - -AC_DEFINE_UNQUOTED(SHLIBEXT, "$SHLIBEXT", [Shared library extension]) - - - -########################################################### -# -# Configuration of subsystems / libraries -# -########################################################### - -INSTALLLIBCMD_SH=: -INSTALLLIBCMD_A=: -UNINSTALLLIBCMD_SH=: -UNINSTALLLIBCMD_A=: - -if test $BLDSHARED = true; then - INSTALLLIBCMD_SH="\$(INSTALLCMD)" - UNINSTALLLIBCMD_SH="rm -f" -fi -if test $enable_static = yes; then - INSTALLLIBCMD_A="\$(INSTALLCMD)" - UNINSTALLLIBCMD_A="rm -f" -fi - -################################################# -# --disable-shared-libs -# can be used to disable the internal use of shared libs altogether -# (this only has an effect when building shared libs is enabled) -# -USESHARED=false -AC_SUBST(USESHARED) - -AC_MSG_CHECKING(whether to use shared libraries internally) -AC_ARG_ENABLE([shared-libs], - AS_HELP_STRING([--enable-shared-libs], - [Use shared libraries internally (default=yes)]), - [enable_shared_libs=$enableval], - [enable_shared_libs=yes]) - -if test x"$enable_shared_libs" != x"no" ; then - USESHARED=$BLDSHARED -fi - -AC_MSG_RESULT([$USESHARED]) - -if test x"$enable_shared_libs" = x"yes" -a x"$BLDSHARED" != x"true" ; then - AC_MSG_WARN([--enable-shared-libs: no support for shared libraries]) -fi - -################################################# -# --with-static-libs=LIBS: -# link (internal) libs dynamically or statically? -# -# If a subsystem is built as a library then this controls whether they are -# linked into Samba targets statically or dynamically: -# -# * If we build the shared library at all, we link dynamically by default. -# -# * We only link statically if we don't build shared or if the library -# appears in the --with-static-libs configure option. -# -# Example: -# --with-static-libs=libtalloc makes use of libtalloc.a instead -# of linking the dynamic variant with -ltalloc. -# -# NOTE: This option only affects libraries that we do not only build -# but that samba also links against as libraries (as opposed to linking -# the plain object files. - This has to be configured in Makefile.in. -# So in particular it does not harm to give invalid or unknown names here. -# - -AC_ARG_WITH([static-libs], - [AS_HELP_STRING([--with-static-libs=LIBS], - [Comma-separated list of names of (internal) libraries to link statically (instead of dynamically)])], - [AS_IF([test $withval], - [for lib in `echo $withval | sed -e 's/,/ /g'` ; do - [lib=`echo $lib | tr '[a-z]' '[A-Z]'`] - eval LINK_$lib=STATIC - done], [])], - []) - -# -# WORKAROUND: -# until we have organized other internal subsystems (as util, registry -# and smbconf) into shared libraries, we CAN NOT link libnetapi -# dynamically to samba programs. -# -LINK_LIBNETAPI=STATIC - -LINK_LIBSMBCLIENT=STATIC - -# -# The library versions are hardcoded here -# and filled into the LIBFOO_SOVER variable. -# -# TODO: for talloc and tdb (at least), these should -# be extracted from their respective source directories -# -AC_ARG_ENABLE(external_libtalloc, - [AS_HELP_STRING([--enable-external-libtalloc], - [Enable external talloc [default=auto]])], - [ enable_external_libtalloc=$enableval ], - [ enable_external_libtalloc=auto ]) - -if test "x$enable_external_libtalloc" != xno -then - PKG_CHECK_MODULES(LIBTALLOC, talloc >= 2.0.1, - [ enable_external_libtalloc=yes ], - [ if test x$enable_external_libtalloc = xyes; then - AC_MSG_ERROR([Unable to find libtalloc]) - else - enable_external_libtalloc=no - fi - ]) -fi - -if test "x$enable_external_libtalloc" = xno -then - m4_include(../lib/talloc/libtalloc.m4) - LINK_LIBTALLOC=STATIC - LIBTALLOCVERSION=`grep ^VERSION ${tallocdir}/wscript | sed -e "s/'//g" -e 's/.* //'` - SMB_LIBRARY(talloc, 2, ${LIBTALLOCVERSION}) - LIBTALLOC_OBJ0="" - for obj in ${TALLOC_OBJ}; do - LIBTALLOC_OBJ0="${LIBTALLOC_OBJ0} ${tallocdir}/${obj}" - done - SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TALLOC_CFLAGS}" - SAMBA_CONFIGURE_CPPFLAGS="${SAMBA_CONFIGURE_CPPFLAGS} ${TALLOC_CFLAGS}" - AC_SUBST(LIBTALLOC_OBJ0) - - TALLOCTORT="bin/talloctort" - AC_SUBST(TALLOCTORT) -fi - - -AC_ARG_ENABLE(external_libtdb, - [AS_HELP_STRING([--enable-external-libtdb], - [Enable external tdb [default=auto]])], - [ enable_external_libtdb=$enableval ], - [ enable_external_libtdb=auto ]) - -if test "x$enable_external_libtdb" != xno -then - PKG_CHECK_MODULES(LIBTDB, tdb >= 1.2.6, - [ enable_external_libtdb=yes ], - [ - if test x$enable_external_libtdb = xyes; then - AC_MSG_ERROR([Unable to find libtdb]) - else - enable_external_libtdb=no - fi - ]) -fi - -AC_SUBST(LIBTDB_OBJ0) -if test "x$enable_external_libtdb" = xno -then - m4_include(../lib/tdb/libtdb.m4) - LINK_LIBTDB=STATIC - LIBTDBVERSION=`grep ^VERSION ${tdbdir}/wscript | sed -e "s/'//g" -e 's/.* //'` - SMB_LIBRARY(tdb, 1, ${LIBTDBVERSION}) - LIBTDB_OBJ0="" - LIBTDB_LIBS="$LIBTDB_LIBS $TDB_DEPS" - for obj in ${TDB_OBJ}; do - LIBTDB_OBJ0="${LIBTDB_OBJ0} ${tdbdir}/${obj}" - done - AC_SUBST(LIBTDB_OBJ0) - SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TDB_CFLAGS}" - SAMBA_CONFIGURE_CPPFLAGS="${SAMBA_CONFIGURE_CPPFLAGS} ${TDB_CFLAGS}" - - TDBBACKUP="bin/tdbbackup" - AC_SUBST(TDBBACKUP) - TDBDUMP="bin/tdbdump" - AC_SUBST(TDBDUMP) - TDBRESTORE="bin/tdbrestore" - AC_SUBST(TDBRESTORE) - TDBTOOL="bin/tdbtool" - AC_SUBST(TDBTOOL) - TDBTORTURE="bin/tdbtorture" - AC_SUBST(TDBTORTURE) -fi - -AC_ARG_ENABLE(external_libntdb, - [AS_HELP_STRING([--enable-external-libntdb], - [Enable external ntdb [default=auto]])], - [ enable_external_libntdb=$enableval ], - [ enable_external_libntdb=auto ]) - -if test "x$enable_external_libntdb" != xno -then - PKG_CHECK_MODULES(LIBNTDB, ntdb >= 1.0, - [ enable_external_libntdb=yes ], - [ - if test x$enable_external_libntdb = xyes; then - AC_MSG_ERROR([Unable to find libntdb]) - else - enable_external_libntdb=no - fi - ]) -fi - -AC_SUBST(LIBNTDB_OBJ0) -if test "x$enable_external_libntdb" = xno -then - m4_include(../lib/ntdb/libntdb.m4) - LINK_LIBNTDB=STATIC - LIBNTDBVERSION=`grep ^VERSION ${ntdbdir}/wscript | sed -e "s/'//g" -e 's/.* //'` - SMB_LIBRARY(ntdb, 1, ${LIBNTDBVERSION}) - LIBNTDB_OBJ0="" - LIBNTDB_LIBS="$LIBNTDB_LIBS $NTDB_DEPS" - for obj in ${NTDB_OBJ}; do - LIBNTDB_OBJ0="${LIBNTDB_OBJ0} ${ntdbdir}/${obj}" - done - AC_SUBST(LIBNTDB_OBJ0) - SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${NTDB_CFLAGS}" - SAMBA_CONFIGURE_CPPFLAGS="${SAMBA_CONFIGURE_CPPFLAGS} ${NTDB_CFLAGS}" - - NTDBBACKUP="bin/ntdbbackup" - AC_SUBST(NTDBBACKUP) - NTDBDUMP="bin/ntdbdump" - AC_SUBST(NTDBDUMP) - NTDBRESTORE="bin/ntdbrestore" - AC_SUBST(NTDBRESTORE) - NTDBTOOL="bin/ntdbtool" - AC_SUBST(NTDBTOOL) - NTDBTORTURE="bin/ntdbtorture" - AC_SUBST(NTDBTORTURE) -fi - -SMB_LIBRARY(netapi, 0) -SMB_LIBRARY(smbclient, 0) -SMB_LIBRARY(smbsharemodes, 0) - - -################ - -AC_CACHE_CHECK([for long long],samba_cv_have_longlong,[ -AC_TRY_RUN([#include <stdio.h> -main() { long long x = 1000000; x *= x; return(((x/1000000) == 1000000)? 0: 1); }], -samba_cv_have_longlong=yes,samba_cv_have_longlong=no,samba_cv_have_longlong=cross)]) -if test x"$samba_cv_have_longlong" = x"yes"; then - AC_DEFINE(HAVE_LONGLONG,1,[Whether the host supports long long's]) - AC_CHECK_TYPE(intptr_t, unsigned long long) -else - AC_CHECK_TYPE(intptr_t, unsigned long) -fi - -# -# Check if the compiler supports the LL prefix on long long integers. -# AIX needs this. - -AC_CACHE_CHECK([for LL suffix on long long integers],samba_cv_compiler_supports_ll, [ - AC_TRY_COMPILE([#include <stdio.h>],[long long i = 0x8000000000LL], - samba_cv_compiler_supports_ll=yes,samba_cv_compiler_supports_ll=no)]) -if test x"$samba_cv_compiler_supports_ll" = x"yes"; then - AC_DEFINE(COMPILER_SUPPORTS_LL,1,[Whether the compiler supports the LL prefix on long long integers]) -fi - - -AC_CACHE_CHECK([for 64 bit time_t],samba_cv_SIZEOF_TIME_T,[ -AC_TRY_RUN([#include <time.h> -main() { return((sizeof(time_t) == 8) ? 0 : 1); }], -samba_cv_SIZEOF_TIME_T=yes,samba_cv_SIZEOF_TIME_T=no,samba_cv_SIZEOF_TIME_T=cross)]) -if test x"$samba_cv_SIZEOF_TIME_T" = x"yes"; then - AC_DEFINE(SIZEOF_TIME_T,8,[The size of the 'time_t' type]) -fi - -AC_CACHE_CHECK([for TIME_T_MAX],samba_cv_TIME_T_MAX,[ -AC_TRY_RUN([#include <time.h> -main() { - struct tm *tm; - if (sizeof(time_t) == 8) { - time_t max_time = 0x7fffffffffffffffll; - tm = gmtime(&max_time); - /* This should fail with 32-bit tm_year. */ - if (tm == NULL) { - /* Max time_t that works with 32-bit int tm_year in struct tm. */ - max_time = 67768036191676799ll; - tm = gmtime(&max_time); - if (tm) { - return(0); - } - } - } - return(1); -}], -samba_cv_TIME_T_MAX=yes,samba_cv_TIME_T_MAX=no,samba_cv_TIME_T_MAX=cross)]) -if test x"$samba_cv_TIME_T_MAX" = x"yes"; then - AC_DEFINE(TIME_T_MAX,67768036191676799ll,[The maximum value of the 'time_t' type]) -fi - - -# -# As a gating factor for large file support, in order to -# use >4GB files we must have the following minimal support -# available: a 64 bit off_t -# If we don't have all of these then fail the build -# - -AC_MSG_CHECKING([if large file support can be enabled]) -AC_CACHE_CHECK([for 64 bit off_t],samba_cv_SIZEOF_OFF_T,[ -AC_TRY_RUN([#include <stdio.h> -#include <sys/stat.h> -main() { return((sizeof(off_t) == 8) ? 0 : 1); }], -samba_cv_SIZEOF_OFF_T=yes,samba_cv_SIZEOF_OFF_T=no,samba_cv_SIZEOF_OFF_T=cross)]) -if test x"$samba_cv_SIZEOF_OFF_T" = x"no"; then - AC_MSG_ERROR(["large file support support not available: sizeof(off_t) != 8"]) -fi - -AC_CACHE_CHECK([for 64 bit ino_t],samba_cv_SIZEOF_INO_T,[ -AC_TRY_RUN([ -#if defined(HAVE_UNISTD_H) -#include <unistd.h> -#endif -#include <stdio.h> -#include <sys/stat.h> -main() { return((sizeof(ino_t) == 8) ? 0 : 1); }], -samba_cv_SIZEOF_INO_T=yes,samba_cv_SIZEOF_INO_T=no,samba_cv_SIZEOF_INO_T=cross)]) -if test x"$samba_cv_SIZEOF_INO_T" = x"yes"; then - AC_DEFINE(SIZEOF_INO_T,8,[The size of the 'ino_t' type]) -fi - -AC_CACHE_CHECK([for 64 bit dev_t],samba_cv_SIZEOF_DEV_T,[ -AC_TRY_RUN([ -#if defined(HAVE_UNISTD_H) -#include <unistd.h> -#endif -#include <stdio.h> -#include <sys/stat.h> -main() { return((sizeof(dev_t) == 8) ? 0 : 1); }], -samba_cv_SIZEOF_DEV_T=yes,samba_cv_SIZEOF_DEV_T=no,samba_cv_SIZEOF_DEV_T=cross)]) -if test x"$samba_cv_SIZEOF_DEV_T" = x"yes"; then - AC_DEFINE(SIZEOF_DEV_T,8,[The size of the 'dev_t' type]) -fi - -AC_CACHE_CHECK([for major macro],samba_cv_HAVE_DEVICE_MAJOR_FN,[ -AC_TRY_RUN([ -#if defined(HAVE_UNISTD_H) -#include <unistd.h> -#endif -#include <sys/types.h> -main() { dev_t dev; int i = major(dev); return 0; }], -samba_cv_HAVE_DEVICE_MAJOR_FN=yes,samba_cv_HAVE_DEVICE_MAJOR_FN=no,samba_cv_HAVE_DEVICE_MAJOR_FN=cross)]) -if test x"$samba_cv_HAVE_DEVICE_MAJOR_FN" = x"yes"; then - AC_DEFINE(HAVE_DEVICE_MAJOR_FN,1,[Whether the major macro for dev_t is available]) -fi - -AC_CACHE_CHECK([for minor macro],samba_cv_HAVE_DEVICE_MINOR_FN,[ -AC_TRY_RUN([ -#if defined(HAVE_UNISTD_H) -#include <unistd.h> -#endif -#include <sys/types.h> -main() { dev_t dev; int i = minor(dev); return 0; }], -samba_cv_HAVE_DEVICE_MINOR_FN=yes,samba_cv_HAVE_DEVICE_MINOR_FN=no,samba_cv_HAVE_DEVICE_MINOR_FN=cross)]) -if test x"$samba_cv_HAVE_DEVICE_MINOR_FN" = x"yes"; then - AC_DEFINE(HAVE_DEVICE_MINOR_FN,1,[Whether the minor macro for dev_t is available]) -fi - -AC_CACHE_CHECK([for makedev macro],samba_cv_HAVE_MAKEDEV,[ -AC_TRY_RUN([ -#if defined(HAVE_UNISTD_H) -#include <unistd.h> -#endif -#include <sys/types.h> -main() { dev_t dev = makedev(1,2); return 0; }], -samba_cv_HAVE_MAKEDEV=yes,samba_cv_HAVE_MAKEDEV=no,samba_cv_HAVE_MAKEDEV=cross)]) -if test x"$samba_cv_HAVE_MAKEDEV" = x"yes"; then - AC_DEFINE(HAVE_MAKEDEV,1,[Whether the macro for makedev is available]) -fi - -AC_CACHE_CHECK([whether seekdir returns void],samba_cv_SEEKDIR_RETURNS_VOID,[ -AC_TRY_COMPILE([#include <sys/types.h> -#include <dirent.h> -void seekdir(DIR *d, long loc) { return; }],[return 0;], -samba_cv_SEEKDIR_RETURNS_VOID=yes,samba_cv_SEEKDIR_RETURNS_VOID=no)]) -if test x"$samba_cv_SEEKDIR_RETURNS_VOID" = x"yes"; then - AC_DEFINE(SEEKDIR_RETURNS_VOID,1,[Whether seekdir returns void]) -fi - -AC_CACHE_CHECK([for __FUNCTION__ macro],samba_cv_HAVE_FUNCTION_MACRO,[ -AC_TRY_COMPILE([#include <stdio.h>], [printf("%s\n", __FUNCTION__);], -samba_cv_HAVE_FUNCTION_MACRO=yes,samba_cv_HAVE_FUNCTION_MACRO=no)]) -if test x"$samba_cv_HAVE_FUNCTION_MACRO" = x"yes"; then - AC_DEFINE(HAVE_FUNCTION_MACRO,1,[Whether there is a __FUNCTION__ macro]) -fi - -if test x"$libreplace_cv_HAVE_CLOCK_GETTIME_IN_LIBRT" = xyes ; then - LIBS="$LIBS -lrt" -fi - -AC_CACHE_CHECK([for broken readdir name],samba_cv_HAVE_BROKEN_READDIR_NAME,[ -AC_TRY_RUN([#include <sys/types.h> -#include <dirent.h> -main() { struct dirent *di; DIR *d = opendir("."); di = readdir(d); -if (di && di->d_name[-2] == '.' && di->d_name[-1] == 0 && -di->d_name[0] == 0) return(0); return(1);} ], -samba_cv_HAVE_BROKEN_READDIR_NAME=yes,samba_cv_HAVE_BROKEN_READDIR_NAME=no,samba_cv_HAVE_BROKEN_READDIR_NAME=cross)]) -if test x"$samba_cv_HAVE_BROKEN_READDIR_NAME" = x"yes"; then - AC_DEFINE(HAVE_BROKEN_READDIR_NAME,1,[Whether readdir() returns the wrong name offset]) -fi - -AC_CACHE_CHECK([for utimbuf],samba_cv_HAVE_UTIMBUF,[ -AC_TRY_COMPILE([#include <sys/types.h> -#include <utime.h>], -[struct utimbuf tbuf; tbuf.actime = 0; tbuf.modtime = 1; return(utime("foo.c",&tbuf));], -samba_cv_HAVE_UTIMBUF=yes,samba_cv_HAVE_UTIMBUF=no,samba_cv_HAVE_UTIMBUF=cross)]) -if test x"$samba_cv_HAVE_UTIMBUF" = x"yes"; then - AC_DEFINE(HAVE_UTIMBUF,1,[Whether struct utimbuf is available]) -fi - -############## -# Check utmp details, but only if our OS offers utmp.h -if test x"$ac_cv_header_utmp_h" = x"yes"; then -dnl utmp and utmpx come in many flavours -dnl We need to check for many of them -dnl But we don't need to do each and every one, because our code uses -dnl mostly just the utmp (not utmpx) fields. - -AC_CHECK_FUNCS(pututline pututxline updwtmp updwtmpx getutmpx getutxent) - -AC_CACHE_CHECK([for ut_name in utmp],samba_cv_HAVE_UT_UT_NAME,[ -AC_TRY_COMPILE([#include <sys/types.h> -#include <utmp.h>], -[struct utmp ut; ut.ut_name[0] = 'a';], -samba_cv_HAVE_UT_UT_NAME=yes,samba_cv_HAVE_UT_UT_NAME=no,samba_cv_HAVE_UT_UT_NAME=cross)]) -if test x"$samba_cv_HAVE_UT_UT_NAME" = x"yes"; then - AC_DEFINE(HAVE_UT_UT_NAME,1,[Whether the utmp struct has a property ut_name]) -fi - -AC_CACHE_CHECK([for ut_user in utmp],samba_cv_HAVE_UT_UT_USER,[ -AC_TRY_COMPILE([#include <sys/types.h> -#include <utmp.h>], -[struct utmp ut; ut.ut_user[0] = 'a';], -samba_cv_HAVE_UT_UT_USER=yes,samba_cv_HAVE_UT_UT_USER=no,samba_cv_HAVE_UT_UT_USER=cross)]) -if test x"$samba_cv_HAVE_UT_UT_USER" = x"yes"; then - AC_DEFINE(HAVE_UT_UT_USER,1,[Whether the utmp struct has a property ut_user]) -fi - -AC_CACHE_CHECK([for ut_id in utmp],samba_cv_HAVE_UT_UT_ID,[ -AC_TRY_COMPILE([#include <sys/types.h> -#include <utmp.h>], -[struct utmp ut; ut.ut_id[0] = 'a';], -samba_cv_HAVE_UT_UT_ID=yes,samba_cv_HAVE_UT_UT_ID=no,samba_cv_HAVE_UT_UT_ID=cross)]) -if test x"$samba_cv_HAVE_UT_UT_ID" = x"yes"; then - AC_DEFINE(HAVE_UT_UT_ID,1,[Whether the utmp struct has a property ut_id]) -fi - -AC_CACHE_CHECK([for ut_host in utmp],samba_cv_HAVE_UT_UT_HOST,[ -AC_TRY_COMPILE([#include <sys/types.h> -#include <utmp.h>], -[struct utmp ut; ut.ut_host[0] = 'a';], -samba_cv_HAVE_UT_UT_HOST=yes,samba_cv_HAVE_UT_UT_HOST=no,samba_cv_HAVE_UT_UT_HOST=cross)]) -if test x"$samba_cv_HAVE_UT_UT_HOST" = x"yes"; then - AC_DEFINE(HAVE_UT_UT_HOST,1,[Whether the utmp struct has a property ut_host]) -fi - -AC_CACHE_CHECK([for ut_time in utmp],samba_cv_HAVE_UT_UT_TIME,[ -AC_TRY_COMPILE([#include <sys/types.h> -#include <utmp.h>], -[struct utmp ut; time_t t; ut.ut_time = t;], -samba_cv_HAVE_UT_UT_TIME=yes,samba_cv_HAVE_UT_UT_TIME=no,samba_cv_HAVE_UT_UT_TIME=cross)]) -if test x"$samba_cv_HAVE_UT_UT_TIME" = x"yes"; then - AC_DEFINE(HAVE_UT_UT_TIME,1,[Whether the utmp struct has a property ut_time]) -fi - -AC_CACHE_CHECK([for ut_tv in utmp],samba_cv_HAVE_UT_UT_TV,[ -AC_TRY_COMPILE([#include <sys/types.h> -#include <utmp.h>], -[struct utmp ut; struct timeval tv; ut.ut_tv = tv;], -samba_cv_HAVE_UT_UT_TV=yes,samba_cv_HAVE_UT_UT_TV=no,samba_cv_HAVE_UT_UT_TV=cross)]) -if test x"$samba_cv_HAVE_UT_UT_TV" = x"yes"; then - AC_DEFINE(HAVE_UT_UT_TV,1,[Whether the utmp struct has a property ut_tv]) -fi - -AC_CACHE_CHECK([for ut_type in utmp],samba_cv_HAVE_UT_UT_TYPE,[ -AC_TRY_COMPILE([#include <sys/types.h> -#include <utmp.h>], -[struct utmp ut; ut.ut_type = 0;], -samba_cv_HAVE_UT_UT_TYPE=yes,samba_cv_HAVE_UT_UT_TYPE=no,samba_cv_HAVE_UT_UT_TYPE=cross)]) -if test x"$samba_cv_HAVE_UT_UT_TYPE" = x"yes"; then - AC_DEFINE(HAVE_UT_UT_TYPE,1,[Whether the utmp struct has a property ut_type]) -fi - -AC_CACHE_CHECK([for ut_pid in utmp],samba_cv_HAVE_UT_UT_PID,[ -AC_TRY_COMPILE([#include <sys/types.h> -#include <utmp.h>], -[struct utmp ut; ut.ut_pid = 0;], -samba_cv_HAVE_UT_UT_PID=yes,samba_cv_HAVE_UT_UT_PID=no,samba_cv_HAVE_UT_UT_PID=cross)]) -if test x"$samba_cv_HAVE_UT_UT_PID" = x"yes"; then - AC_DEFINE(HAVE_UT_UT_PID,1,[Whether the utmp struct has a property ut_pid]) -fi - -AC_CACHE_CHECK([for ut_exit in utmp],samba_cv_HAVE_UT_UT_EXIT,[ -AC_TRY_COMPILE([#include <sys/types.h> -#include <utmp.h>], -[struct utmp ut; ut.ut_exit.e_exit = 0;], -samba_cv_HAVE_UT_UT_EXIT=yes,samba_cv_HAVE_UT_UT_EXIT=no,samba_cv_HAVE_UT_UT_EXIT=cross)]) -if test x"$samba_cv_HAVE_UT_UT_EXIT" = x"yes"; then - AC_DEFINE(HAVE_UT_UT_EXIT,1,[Whether the utmp struct has a property ut_exit]) -fi - -if test x$ac_cv_func_pututline = xyes ; then - AC_CACHE_CHECK([whether pututline returns pointer],samba_cv_PUTUTLINE_RETURNS_UTMP,[ - AC_TRY_COMPILE([#include <sys/types.h> -#include <utmp.h>], - [struct utmp utarg; struct utmp *utreturn; utreturn = pututline(&utarg);], - samba_cv_PUTUTLINE_RETURNS_UTMP=yes,samba_cv_PUTUTLINE_RETURNS_UTMP=no)]) - if test x"$samba_cv_PUTUTLINE_RETURNS_UTMP" = x"yes"; then - AC_DEFINE(PUTUTLINE_RETURNS_UTMP,1,[Whether pututline returns pointer]) - fi -fi - -AC_CACHE_CHECK([for ut_syslen in utmpx],samba_cv_HAVE_UX_UT_SYSLEN,[ -AC_TRY_COMPILE([#include <sys/types.h> -#include <utmpx.h>], -[struct utmpx ux; ux.ut_syslen = 0;], -samba_cv_HAVE_UX_UT_SYSLEN=yes,samba_cv_HAVE_UX_UT_SYSLEN=no,samba_cv_HAVE_UX_UT_SYSLEN=cross)]) -if test x"$samba_cv_HAVE_UX_UT_SYSLEN" = x"yes"; then - AC_DEFINE(HAVE_UX_UT_SYSLEN,1,[Whether the utmpx struct has a property ut_syslen]) -fi - -AC_CACHE_CHECK([whether sizeof ut_line in utmp is ok],samba_cv_HAVE_UX_UT_LINE,[ -AC_TRY_RUN([#include <stdio.h> -#include <sys/types.h> -#include <utmp.h> -int main(void) { - if (sizeof(((struct utmp *)NULL)->ut_line) < 15) { - return 1; - } - return 0; -} -], -samba_cv_HAVE_UX_UT_LINE=yes,samba_cv_HAVE_UX_UT_LINE=no,samba_cv_HAVE_UX_UT_LINE=cross)]) - -fi -# end utmp details - -AC_CACHE_CHECK([for linux fallocate],samba_cv_HAVE_LINUX_FALLOCATE,[ -AC_TRY_COMPILE([ -#if defined(HAVE_UNISTD_H) -#include <unistd.h> -#endif -#include <sys/types.h> -#define _GNU_SOURCE -#include <fcntl.h> -#if defined(HAVE_LINUX_FALLOC_H) -#include <linux/falloc.h> -#endif], -[int ret = fallocate(0, FALLOC_FL_KEEP_SIZE, 0, 10);], -samba_cv_HAVE_LINUX_FALLOCATE=yes,samba_cv_HAVE_LINUX_FALLOCATE=no)]) -if test x"$samba_cv_HAVE_LINUX_FALLOCATE" = x"yes" && test x"$ac_cv_func_fallocate" = x"yes"; then - AC_DEFINE(HAVE_LINUX_FALLOCATE,1,[Whether the Linux 'fallocate' function is available]) -fi - -AC_CACHE_CHECK([for getcwd takes NULL],samba_cv_GETCWD_TAKES_NULL,[ -AC_TRY_RUN([ -#if defined(HAVE_UNISTD_H) -#include <unistd.h> -#endif -main() { char *s = getcwd(NULL,0); if (s) return(0); return(1); }], -samba_cv_GETCWD_TAKES_NULL=yes,samba_cv_GETCWD_TAKES_NULL=no,samba_cv_GETCWD_TAKES_NULL=cross)]) -if test x"$samba_cv_GETCWD_TAKES_NULL" = x"yes"; then - AC_DEFINE(GETCWD_TAKES_NULL,1,[Whether the getcwd function takes NULL as an argument]) -fi - -ICONV_LOOK_DIRS="/usr /usr/local /sw /opt" -AC_ARG_WITH(libiconv, -[AS_HELP_STRING([--with-libiconv=BASEDIR], [Use libiconv in BASEDIR/lib and BASEDIR/include (default=auto)])], -[ - if test "$withval" = "no" ; then - AC_MSG_ERROR([argument to --with-libiconv must be a directory]) - else - if test "$withval" != "yes" ; then - ICONV_PATH_SPEC=yes - ICONV_LOOK_DIRS="$withval" - fi - fi -]) - -for i in $ICONV_LOOK_DIRS ; do - - save_LIBS="$LIBS" - save_LDFLAGS="$LDFLAGS" - save_CPPFLAGS="$CPPFLAGS" - - iconv_current_LIBS="" - iconv_current_LDFLAGS="" - iconv_current_CPPFLAGS="" - - ICONV_FOUND="no" - unset libext - - # This is here to handle -withval stuff for --with-libiconv - # Perhaps we should always add a -L - CPPFLAGS="$save_CPPFLAGS -I$i/include" - - # Check lib and lib32 library variants to cater for IRIX ABI-specific - # installation paths. This gets a little tricky since we might have iconv - # in both libiconv and in libc. In this case the jm_ICONV test will always - # succeed when the header is found. To counter this, make sure the - # library directory is there and check the ABI directory first (which - # should be harmless on other systems, but causes tons of linker warnings on - # 64bit Ubuntu systems). - # As the build farm doesn't seem to have any IRIX machines with iconv.h - # installed, I've decided to fix the linker warnings. - # -- Kai - # For IA64 HPUX systems, the libs are located in lib/hpux32 instead of lib. - for l in "lib" "lib32" "lib/hpux32"; do - if test -d "$i/$l" ; then - LDFLAGS="$save_LDFLAGS -L$i/$l" - LIBS= - export LDFLAGS LIBS CPPFLAGS - # Try to find iconv(3) - jm_ICONV($i/$l) - if test x"$ICONV_FOUND" = "xyes" ; then - libext="$l" - break - fi - fi - done - - if test x"$ICONV_FOUND" = "xyes" ; then - iconv_current_LDFLAGS="-L$i/$libext" - iconv_current_CPPFLAGS="-I$i/include" - - if test x"$jm_cv_lib_iconv" != x; then - iconv_current_LIBS="$LIBS -l$jm_cv_lib_iconv" - else - # We found iconv in libc. - iconv_current_LIBS="" - fi - - fi - - if test x"$ICONV_FOUND" = "xyes" ; then - - LDFLAGS="$save_LDFLAGS $iconv_current_LDFLAGS" - CPPFLAGS="$save_CPPFLAGS $iconv_current_CPPFLAGS" - LIBS="$save_LIBS $iconv_current_LIBS" - export LDFLAGS LIBS CPPFLAGS - - default_dos_charset=no - default_unix_charset=no - - # check for default dos charset name - for j in CP850 IBM850 ; do - rjs_CHARSET($j) - default_dos_charset="$ICONV_CHARSET" - if test x"$default_dos_charset" = x"$j"; then - break - fi - done - - # check for default unix charset name - for j in UTF-8 UTF8 ; do - rjs_CHARSET($j) - default_unix_charset="$ICONV_CHARSET" - if test x"$default_unix_charset" = x"$j"; then - break - fi - done - - if test "$default_dos_charset" != "no" -a \ - "$default_dos_charset" != "cross" -a \ - "$default_unix_charset" != "no" -a \ - "$default_unix_charset" != "cross" - then - samba_cv_HAVE_NATIVE_ICONV=yes - else - if test "$default_dos_charset" = "cross" -o \ - "$default_unix_charset" = "cross" - then - samba_cv_HAVE_NATIVE_ICONV=cross - else - samba_cv_HAVE_NATIVE_ICONV=no - fi - fi - - # At this point, we have a libiconv candidate. We know that - # we have the right headers and libraries, but we don't know - # whether it does the conversions we want. We can't test this - # because we are cross-compiling. This is not necessarily a big - # deal, since we can't guarantee that the results we get now will - # match the results we get at runtime anyway. - if test x"$samba_cv_HAVE_NATIVE_ICONV" = x"cross" ; then - default_dos_charset="CP850" - default_unix_charset="UTF-8" - samba_cv_HAVE_NATIVE_ICONV=yes - AC_MSG_WARN(assuming the libiconv in $iconv_current_LDFLAGS can convert) - AC_MSG_WARN([$default_dos_charset and $default_unix_charset to UCS-16LE]) - fi - - if test x"$samba_cv_HAVE_NATIVE_ICONV" = x"yes" ; then - - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - - if test x"$iconv_current_LIBS" != x; then - LIBS="$LIBS $iconv_current_LIBS" - fi - - # Add the flags we need to CPPFLAGS and LDFLAGS - CPPFLAGS="$CPPFLAGS $iconv_current_CPPFLAGS" - LDFLAGS="$LDFLAGS $iconv_current_LDFLAGS" - - # Turn the #defines into string literals - default_dos_charset="\"$default_dos_charset\"" - default_unix_charset="\"$default_unix_charset\"" - - AC_DEFINE(HAVE_NATIVE_ICONV,1,[Whether to use native iconv]) - AC_DEFINE_UNQUOTED(DEFAULT_DOS_CHARSET,$default_dos_charset,[Default dos charset name]) - AC_DEFINE_UNQUOTED(DEFAULT_UNIX_CHARSET,$default_unix_charset,[Default unix charset name]) - - break - fi - - # We didn't find a working iconv, so keep going - fi - - # We only need to clean these up here for the next pass through the loop - CPPFLAGS=$save_CPPFLAGS - LDFLAGS=$save_LDFLAGS - LIBS=$save_LIBS - export LDFLAGS LIBS CPPFLAGS -done -unset libext - - -if test x"$ICONV_FOUND" = x"no" -o x"$samba_cv_HAVE_NATIVE_ICONV" != x"yes" ; then - AC_MSG_WARN([Sufficient support for iconv function was not found. - Install libiconv from http://freshmeat.net/projects/libiconv/ for better charset compatibility!]) - AC_DEFINE_UNQUOTED(DEFAULT_DOS_CHARSET,"ASCII",[Default dos charset name]) - AC_DEFINE_UNQUOTED(DEFAULT_UNIX_CHARSET,"UTF8",[Default unix charset name]) -fi - - -AC_CACHE_CHECK([for Linux kernel oplocks],samba_cv_HAVE_KERNEL_OPLOCKS_LINUX,[ -AC_TRY_RUN([ -#include <sys/types.h> -#include <fcntl.h> -#ifndef F_GETLEASE -#define F_GETLEASE 1025 -#endif -main() { - int fd = open("/dev/null", O_RDONLY); - return fcntl(fd, F_GETLEASE, 0) == -1; -} -], -samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes,samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=no,samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=cross)]) -if test x"$samba_cv_HAVE_KERNEL_OPLOCKS_LINUX" = x"yes"; then - AC_DEFINE(HAVE_KERNEL_OPLOCKS_LINUX,1,[Whether to use linux kernel oplocks]) -fi - -AC_CACHE_CHECK([for kernel change notify support],samba_cv_HAVE_KERNEL_CHANGE_NOTIFY,[ -AC_TRY_RUN([ -#include <sys/types.h> -#include <fcntl.h> -#include <signal.h> -#ifndef F_NOTIFY -#define F_NOTIFY 1026 -#endif -main() { - return(fcntl(open("/tmp", O_RDONLY), F_NOTIFY, 0) == -1 ? 1 : 0); -} -], -samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes,samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=no,samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=cross)]) -if test x"$samba_cv_HAVE_KERNEL_CHANGE_NOTIFY" = x"yes"; then - AC_DEFINE(HAVE_KERNEL_CHANGE_NOTIFY,1,[Whether kernel notifies changes]) -fi - -AC_CHECK_HEADER(sys/inotify.h) - -if test x"$ac_cv_header_sys_inotify_h" = x"yes"; then - AC_DEFINE(HAVE_INOTIFY,1,[For inotify support]) -fi - -################################################# -# Check if FAM notifications are available. For FAM info, see -# http://oss.sgi.com/projects/fam/ -# http://savannah.nongnu.org/projects/fam/ -AC_ARG_ENABLE(fam, -[AS_HELP_STRING([--enable-fam], [Turn on FAM support (default=auto)])]) - -if test x$enable_fam != xno; then - AC_CHECK_HEADERS(fam.h, [samba_cv_HAVE_FAM_H=yes], [samba_cv_HAVE_FAM_H=no]) - if test x"$samba_cv_HAVE_FAM_H" = x"yes"; then - # On IRIX, libfam requires libC, but other FAM implementations - # might not need it. - AC_CHECK_LIB(fam, FAMOpen2, - [samba_cv_HAVE_LIBFAM=yes; SMB_FAM_LIBS="-lfam"; - AC_DEFINE(HAVE_FAMOPEN2, 1, Define to 1 if there is support for FAMOpen2)], - [samba_cv_HAVE_LIBFAM=no]) - - if test x"$samba_cv_HAVE_LIBFAM" = x"no" ; then - samba_fam_xtra=-lC - AC_CHECK_LIB_EXT(fam, samba_fam_xtra, FAMOpen2, - [samba_cv_HAVE_LIBFAM=yes; SMB_FAM_LIBS="-lfam -lC"; - AC_DEFINE(HAVE_FAMOPEN2, 1, Define to 1 if there is support for FAMOpen2)], - [samba_cv_HAVE_LIBFAM=no]) - unset samba_fam_xtra - fi - fi - if test x"$samba_cv_HAVE_LIBFAM" = x"yes" ; then - default_shared_modules="$default_shared_modules vfs_notify_fam" - AC_TRY_COMPILE([#include <fam.h>], - [enum FAMCodes code = FAMChanged;], - AC_DEFINE(HAVE_FAM_H_FAMCODES_TYPEDEF, 1, - [Whether fam.h contains a typedef for enum FAMCodes]), - []) - fi - - if test x"$samba_cv_HAVE_LIBFAM" = x"yes" ; then - AC_CHECK_LIB(fam, FAMNoExists, - [AC_DEFINE(HAVE_FAMNOEXISTS, 1, Define to 1 if there is support for FAMNoExists)]) - fi - - if test x$enable_fam = xyes && test x"$samba_cv_HAVE_LIBFAM" != xyes ; then - AC_MSG_ERROR(FAM support requested but FAM library not available ) - fi -fi - -AC_SUBST(SMB_FAM_LIBS) - -################################################# -# Check for DMAPI interfaces in libdm/libjfsdm/libxsdm - - -with_dmapi_support=auto -AC_MSG_CHECKING(whether to use DMAPI support) -AC_ARG_WITH(dmapi, -[AS_HELP_STRING([--with-dmapi], [Include DMAPI/XDSM support (default=auto)])], -[ case "$withval" in - yes|no) - with_dmapi_support=$withval - ;; - esac ] -) -AC_MSG_RESULT([$with_dmapi_support]) - -if test x"$with_dmapi_support" != xno ; then - SMB_CHECK_DMAPI([], [ - AC_MSG_NOTICE(DMAPI support not present) - if test x"$with_dmapi_support" = xyes ; then - AC_MSG_ERROR(no DMAPI support found but requested!) - fi - ] - ) -fi - -# Add TSM SM VFS module only if there are both GPFS and DMAPI support -# Theoretically it should work with AIX JFS2 too but this needs testing -if test x"$ac_cv_header_gpfs_gpl_h" = x"yes" && test x"$samba_dmapi_libs" != x"" ; then - default_shared_modules="$default_shared_modules vfs_tsmsm" -fi - -AC_CACHE_CHECK([for kernel share modes],samba_cv_HAVE_KERNEL_SHARE_MODES,[ -AC_TRY_RUN([ -#include <sys/types.h> -#include <fcntl.h> -#include <signal.h> -#include <sys/file.h> -#ifndef LOCK_MAND -#define LOCK_MAND 32 -#define LOCK_READ 64 -#endif -main() { - return(flock(open("/dev/null", O_RDWR), LOCK_MAND|LOCK_READ) != 0); -} -], -samba_cv_HAVE_KERNEL_SHARE_MODES=yes,samba_cv_HAVE_KERNEL_SHARE_MODES=no,samba_cv_HAVE_KERNEL_SHARE_MODES=cross)]) -if test x"$samba_cv_HAVE_KERNEL_SHARE_MODES" = x"yes"; then - AC_DEFINE(HAVE_KERNEL_SHARE_MODES,1,[Whether the kernel supports share modes]) -fi - - -AC_CACHE_CHECK([for IRIX kernel oplock type definitions],samba_cv_HAVE_KERNEL_OPLOCKS_IRIX,[ -AC_TRY_COMPILE([#include <sys/types.h> -#include <fcntl.h>], -[oplock_stat_t t; t.os_state = OP_REVOKE; t.os_dev = 1; t.os_ino = 1;], -samba_cv_HAVE_KERNEL_OPLOCKS_IRIX=yes,samba_cv_HAVE_KERNEL_OPLOCKS_IRIX=no)]) -if test x"$samba_cv_HAVE_KERNEL_OPLOCKS_IRIX" = x"yes"; then - AC_DEFINE(HAVE_KERNEL_OPLOCKS_IRIX,1,[Whether IRIX kernel oplock type definitions are available]) -fi - -################################################# -# Check for POSIX capability support - -AC_CHECK_HEADER(sys/capability.h, [samba_cv_HAVE_SYS_CAPABILITY_H=yes; - AC_DEFINE(HAVE_SYS_CAPABILITY_H, 1, Whether sys/capability.h is present)], - [], []) - -if test x"$samba_cv_HAVE_SYS_CAPABILITY_H" = x"yes"; then - - ac_save_LIBS=$LIBS - AC_LIBTESTFUNC(cap, cap_get_proc) - - AC_CACHE_CHECK([for POSIX capabilities], - samba_cv_HAVE_POSIX_CAPABILITIES, - [ - AC_TRY_RUN([ -#include <sys/types.h> -#include <sys/capability.h> -main() { - cap_t cap; - cap_value_t vals[1]; - if (!(cap = cap_get_proc())) - return(1); - vals[0] = CAP_CHOWN; - cap_set_flag(cap, CAP_INHERITABLE, 1, vals, CAP_CLEAR); - cap_set_proc(cap); - return(0); -}], - samba_cv_HAVE_POSIX_CAPABILITIES=yes, - samba_cv_HAVE_POSIX_CAPABILITIES=no, - samba_cv_HAVE_POSIX_CAPABILITIES=cross) - ]) - -if test x"$samba_cv_HAVE_POSIX_CAPABILITIES" = x"yes"; then - AC_DEFINE(HAVE_POSIX_CAPABILITIES, 1, - [Whether POSIX capabilities are available]) -else - LIBS=$ac_save_LIBS -fi - -fi - -# -# Check for int16, uint16, int32 and uint32 in rpc/types.h included from rpc/rpc.h -# This is *really* broken but some systems (DEC OSF1) do this.... JRA. -# - -AC_CACHE_CHECK([for int16 typedef included by rpc/rpc.h],samba_cv_HAVE_INT16_FROM_RPC_RPC_H,[ -AC_TRY_COMPILE([#include <sys/types.h> -#if defined(HAVE_RPC_RPC_H) -#include <rpc/rpc.h> -#endif], -[int16 testvar;], -samba_cv_HAVE_INT16_FROM_RPC_RPC_H=yes,samba_cv_HAVE_INT16_FROM_RPC_RPC_H=no)]) -if test x"$samba_cv_HAVE_INT16_FROM_RPC_RPC_H" = x"yes"; then - AC_DEFINE(HAVE_INT16_FROM_RPC_RPC_H,1,[Whether int16 typedef is included by rpc/rpc.h]) -fi - -AC_CACHE_CHECK([for uint16 typedef included by rpc/rpc.h],samba_cv_HAVE_UINT16_FROM_RPC_RPC_H,[ -AC_TRY_COMPILE([#include <sys/types.h> -#if defined(HAVE_RPC_RPC_H) -#include <rpc/rpc.h> -#endif], -[uint16 testvar;], -samba_cv_HAVE_UINT16_FROM_RPC_RPC_H=yes,samba_cv_HAVE_UINT16_FROM_RPC_RPC_H=no)]) -if test x"$samba_cv_HAVE_UINT16_FROM_RPC_RPC_H" = x"yes"; then - AC_DEFINE(HAVE_UINT16_FROM_RPC_RPC_H,1,[Whether uint16 typedef is included by rpc/rpc.h]) -fi - -AC_CACHE_CHECK([for int32 typedef included by rpc/rpc.h],samba_cv_HAVE_INT32_FROM_RPC_RPC_H,[ -AC_TRY_COMPILE([#include <sys/types.h> -#if defined(HAVE_RPC_RPC_H) -#include <rpc/rpc.h> -#endif], -[int32 testvar;], -samba_cv_HAVE_INT32_FROM_RPC_RPC_H=yes,samba_cv_HAVE_INT32_FROM_RPC_RPC_H=no)]) -if test x"$samba_cv_HAVE_INT32_FROM_RPC_RPC_H" = x"yes"; then - AC_DEFINE(HAVE_INT32_FROM_RPC_RPC_H,1,[Whether int32 typedef is included by rpc/rpc.h]) -fi - -AC_CACHE_CHECK([for uint32 typedef included by rpc/rpc.h],samba_cv_HAVE_UINT32_FROM_RPC_RPC_H,[ -AC_TRY_COMPILE([#include <sys/types.h> -#if defined(HAVE_RPC_RPC_H) -#include <rpc/rpc.h> -#endif], -[uint32 testvar;], -samba_cv_HAVE_UINT32_FROM_RPC_RPC_H=yes,samba_cv_HAVE_UINT32_FROM_RPC_RPC_H=no)]) -if test x"$samba_cv_HAVE_UINT32_FROM_RPC_RPC_H" = x"yes"; then - AC_DEFINE(HAVE_UINT32_FROM_RPC_RPC_H,1,[Whether uint32 typedef is included by rpc/rpc.h]) -fi - -dnl -dnl Some systems (SCO) have a problem including -dnl <prot.h> and <rpc/rpc.h> due to AUTH_ERROR being defined -dnl as a #define in <prot.h> and as part of an enum -dnl in <rpc/rpc.h>. -dnl - -AC_CACHE_CHECK([for conflicting AUTH_ERROR define in rpc/rpc.h],samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT,[ -AC_TRY_COMPILE([#include <sys/types.h> -#ifdef HAVE_SYS_SECURITY_H -#include <sys/security.h> -#include <prot.h> -#endif /* HAVE_SYS_SECURITY_H */ -#if defined(HAVE_RPC_RPC_H) -#include <rpc/rpc.h> -#endif], -[int testvar;], -samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT=no,samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT=yes)]) -if test x"$samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT" = x"yes"; then - AC_DEFINE(HAVE_RPC_AUTH_ERROR_CONFLICT,1,[Whether there is a conflicting AUTH_ERROR define in rpc/rpc.h]) -fi - -AC_MSG_CHECKING([for test routines]) -AC_TRY_RUN([#include "${srcdir-.}/../tests/trivial.c"], - AC_MSG_RESULT(yes), - AC_MSG_ERROR([cant find test code. Aborting config]), - AC_MSG_WARN([cannot run when cross-compiling])) - -AC_CACHE_CHECK([for ftruncate extend],samba_cv_HAVE_FTRUNCATE_EXTEND,[ -AC_TRY_RUN([#include "${srcdir-.}/../tests/ftruncate.c"], - samba_cv_HAVE_FTRUNCATE_EXTEND=yes,samba_cv_HAVE_FTRUNCATE_EXTEND=no,samba_cv_HAVE_FTRUNCATE_EXTEND=cross)]) -if test x"$samba_cv_HAVE_FTRUNCATE_EXTEND" = x"yes"; then - AC_DEFINE(HAVE_FTRUNCATE_EXTEND,1,[Truncate extend]) -fi - -AC_CACHE_CHECK([for broken getgroups],samba_cv_HAVE_BROKEN_GETGROUPS,[ -AC_TRY_RUN([#include "${srcdir-.}/../tests/getgroups.c"], - samba_cv_HAVE_BROKEN_GETGROUPS=yes,samba_cv_HAVE_BROKEN_GETGROUPS=no,samba_cv_HAVE_BROKEN_GETGROUPS=cross)]) -if test x"$samba_cv_HAVE_BROKEN_GETGROUPS" = x"yes"; then - AC_DEFINE(HAVE_BROKEN_GETGROUPS,1,[Whether getgroups is broken]) -fi - -SMB_CHECK_SYSCONF(_SC_NGROUPS_MAX) -SMB_CHECK_SYSCONF(_SC_NPROC_ONLN) -SMB_CHECK_SYSCONF(_SC_NPROCESSORS_ONLN) -SMB_CHECK_SYSCONF(_SC_PAGESIZE) -AC_CHECK_FUNCS(getpagesize) - -################################################ -# look for a method of setting the effective uid -seteuid=no; - -################################################ -# Start by checking for 32-bit system call definitions on Linux. - -case "$host_os" in -*linux*) -AC_CACHE_CHECK([for Linux 32-bit system calls],samba_cv_USE_LINUX_32BIT_SYSCALLS,[ -AC_TRY_COMPILE([ -#if defined(HAVE_UNISTD_H) -#include <unistd.h> -#endif -#include <stdlib.h> -#include <stdio.h> -#include <sys/types.h> -#include <errno.h> - -#ifdef HAVE_SYS_PRIV_H -#include <sys/priv.h> -#endif -#ifdef HAVE_SYS_ID_H -#include <sys/id.h> -#endif - -#if defined(HAVE_SYSCALL_H) -#include <syscall.h> -#endif - -#if defined(HAVE_SYS_SYSCALL_H) -#include <sys/syscall.h> -#endif -], -[ -syscall(SYS_setresuid32, -1, -1, -1); -syscall(SYS_setresgid32, -1, -1, -1); -syscall(SYS_setreuid32, -1, -1); -syscall(SYS_setregid32, -1, -1); -syscall(SYS_setuid32, -1); -syscall(SYS_setgid32, -1); -syscall(SYS_setgroups32, 0, NULL); -], samba_cv_USE_LINUX_32BIT_SYSCALLS=yes,samba_cv_USE_LINUX_32BIT_SYSCALLS=no,samba_cv_USE_LINUX_32BIT_SYSCALLS=cross)]) - -if test x"$samba_cv_USE_LINUX_32BIT_SYSCALLS" = x"yes"; then - AC_DEFINE(USE_LINUX_32BIT_SYSCALLS,1,[Use Linux 32-bit system calls]) - AC_CACHE_CHECK([for Linux thread-specific credentials with 32-bit system calls],samba_cv_USE_LINUX_THREAD_CREDENTIALS,[ - AC_TRY_RUN([ -#define AUTOCONF_TEST 1 -#define USE_LINUX_THREAD_CREDENTIALS 1 -#define USE_LINUX_32BIT_SYSCALLS 1 -#include "${srcdir-.}/../lib/util/setid.c" -#include "${srcdir-.}/lib/util_sec.c"], - samba_cv_USE_LINUX_THREAD_CREDENTIALS=yes,samba_cv_USE_LINUX_THREAD_CREDENTIALS=no,samba_cv_USE_LINUX_THREAD_CREDENTIALS=cross)]) -if test x"$samba_cv_USE_LINUX_THREAD_CREDENTIALS" = x"yes"; then - seteuid=yes; - AC_DEFINE(USE_LINUX_THREAD_CREDENTIALS,1,[Whether we can use Linux thread-specific credentials with 32-bit system calls]) -fi -fi - -if test $seteuid = no; then -AC_CACHE_CHECK([for Linux thread-specific credentials],samba_cv_USE_LINUX_THREAD_CREDENTIALS,[ -AC_TRY_RUN([ -#define AUTOCONF_TEST 1 -#define USE_LINUX_THREAD_CREDENTIALS 1 -#include "${srcdir-.}/../lib/util/setid.c" -#include "${srcdir-.}/lib/util_sec.c"], - samba_cv_USE_LINUX_THREAD_CREDENTIALS=yes,samba_cv_USE_LINUX_THREAD_CREDENTIALS=no,samba_cv_USE_LINUX_THREAD_CREDENTIALS=cross)]) -if test x"$samba_cv_USE_LINUX_THREAD_CREDENTIALS" = x"yes"; then - seteuid=yes;AC_DEFINE(USE_LINUX_THREAD_CREDENTIALS,1,[Whether we can use Linux thread-specific credentials]) -fi -fi - -;; -esac - -if test $seteuid = no; then -AC_CACHE_CHECK([for setreuid],samba_cv_USE_SETREUID,[ -AC_TRY_RUN([ -#define AUTOCONF_TEST 1 -#define USE_SETREUID 1 -#include "confdefs.h" -#include "${srcdir-.}/../lib/util/setid.c" -#include "${srcdir-.}/lib/util_sec.c"], - samba_cv_USE_SETREUID=yes,samba_cv_USE_SETREUID=no,samba_cv_USE_SETREUID=cross)]) -if test x"$samba_cv_USE_SETREUID" = x"yes"; then - seteuid=yes;AC_DEFINE(USE_SETREUID,1,[Whether setreuid() is available]) -fi -fi - -# we check for setresuid second as it conflicts with AIO on Linux. -# see http://samba.org/~tridge/junkcode/aio_uid.c -if test $seteuid = no; then -AC_CACHE_CHECK([for setresuid],samba_cv_USE_SETRESUID,[ -AC_TRY_RUN([ -#define AUTOCONF_TEST 1 -#define USE_SETRESUID 1 -#include "confdefs.h" -#include "${srcdir-.}/../lib/util/setid.c" -#include "${srcdir-.}/lib/util_sec.c"], - samba_cv_USE_SETRESUID=yes,samba_cv_USE_SETRESUID=no,samba_cv_USE_SETRESUID=cross)]) -if test x"$samba_cv_USE_SETRESUID" = x"yes"; then - seteuid=yes;AC_DEFINE(USE_SETRESUID,1,[Whether setresuid() is available]) -fi -fi - -if test $seteuid = no; then -AC_CACHE_CHECK([for seteuid],samba_cv_USE_SETEUID,[ -AC_TRY_RUN([ -#define AUTOCONF_TEST 1 -#define USE_SETEUID 1 -#include "confdefs.h" -#include "${srcdir-.}/../lib/util/setid.c" -#include "${srcdir-.}/lib/util_sec.c"], - samba_cv_USE_SETEUID=yes,samba_cv_USE_SETEUID=no,samba_cv_USE_SETEUID=cross)]) -if test x"$samba_cv_USE_SETEUID" = x"yes"; then - seteuid=yes;AC_DEFINE(USE_SETEUID,1,[Whether seteuid() is available]) -fi -fi - -if test $seteuid = no; then -AC_CACHE_CHECK([for setuidx],samba_cv_USE_SETUIDX,[ -AC_TRY_RUN([ -#define AUTOCONF_TEST 1 -#define USE_SETUIDX 1 -#include "confdefs.h" -#include "${srcdir-.}/../lib/util/setid.c" -#include "${srcdir-.}/lib/util_sec.c"], - samba_cv_USE_SETUIDX=yes,samba_cv_USE_SETUIDX=no,samba_cv_USE_SETUIDX=cross)]) -if test x"$samba_cv_USE_SETUIDX" = x"yes"; then - seteuid=yes;AC_DEFINE(USE_SETUIDX,1,[Whether setuidx() is available]) -fi -fi - -AC_CACHE_CHECK([for the Darwin initgroups system call], - samba_cv_DARWIN_INITGROUPS, - AC_TRY_LINK([ -#include <sys/syscall.h> -#include <unistd.h> - ], - [ syscall(SYS_initgroups, 16, NULL, NULL, 0); ], - samba_cv_DARWIN_INITGROUPS=yes, - samba_cv_DARWIN_INITGROUPS=no) -) - -if test x"$samba_cv_DARWIN_INITGROUPS" = x"yes" ; then - AC_DEFINE(HAVE_DARWIN_INITGROUPS, 1, - [Whether to use the Darwin-specific initgroups system call]) -fi - -AC_CACHE_CHECK([for fcntl locking],samba_cv_HAVE_FCNTL_LOCK,[ -AC_TRY_RUN([#include "${srcdir-.}/../tests/fcntl_lock.c"], - samba_cv_HAVE_FCNTL_LOCK=yes,samba_cv_HAVE_FCNTL_LOCK=no,samba_cv_HAVE_FCNTL_LOCK=cross)]) -if test x"$samba_cv_HAVE_FCNTL_LOCK" = x"yes"; then - AC_DEFINE(HAVE_FCNTL_LOCK,1,[Whether fcntl locking is available]) -fi - -# glibc up to 2.3.6 had dangerously broken posix_fallocate(). DON'T USE IT. -AC_CACHE_CHECK([for broken posix_fallocate],samba_cv_HAVE_BROKEN_POSIX_FALLOCATE,[ -AC_TRY_COMPILE([ - #define _XOPEN_SOURCE 600 - #include <stdlib.h> - #if defined(__GLIBC__) && ((__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 4)) - #error probably broken posix_fallocate - #endif -], [ -], -samba_cv_HAVE_BROKEN_POSIX_FALLOCATE=no,samba_cv_HAVE_BROKEN_POSIX_FALLOCATE=yes)]) -if test x"$samba_cv_HAVE_BROKEN_POSIX_FALLOCATE" = xyes; then - AC_DEFINE(HAVE_BROKEN_POSIX_FALLOCATE, 1, Whether we have a broken posix_fallocate) -fi - - -AC_CACHE_CHECK([for st_blocks in struct stat],samba_cv_HAVE_STAT_ST_BLOCKS,[ -AC_TRY_COMPILE([#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h>], -[struct stat st; st.st_blocks = 0;], -samba_cv_HAVE_STAT_ST_BLOCKS=yes,samba_cv_HAVE_STAT_ST_BLOCKS=no,samba_cv_HAVE_STAT_ST_BLOCKS=cross)]) -if test x"$samba_cv_HAVE_STAT_ST_BLOCKS" = x"yes"; then - AC_DEFINE(HAVE_STAT_ST_BLOCKS,1,[Whether the stat struct has a st_block property]) -fi - -AC_CACHE_CHECK([for 32 bit blkcnt_t],samba_cv_SIZEOF_BLKCNT_T_4,[ -AC_TRY_RUN([ -#if defined(HAVE_UNISTD_H) -#include <unistd.h> -#endif -#include <stdio.h> -#include <sys/types.h> -#include <sys/stat.h> -main() { return((sizeof(blkcnt_t) == 4) ? 0 : 1); }], -samba_cv_SIZEOF_BLKCNT_T_4=yes,samba_cv_SIZEOF_BLKCNT_T_4=no,samba_cv_SIZEOF_BLKCNT_T_4=cross)]) -if test x"$samba_cv_SIZEOF_BLKCNT_T_4" = x"yes"; then - AC_DEFINE(SIZEOF_BLKCNT_T_4,1,[The size of the 'blkcnt_t' type]) -fi - -AC_CACHE_CHECK([for 64 bit blkcnt_t],samba_cv_SIZEOF_BLKCNT_T_8,[ -AC_TRY_RUN([ -#if defined(HAVE_UNISTD_H) -#include <unistd.h> -#endif -#include <stdio.h> -#include <sys/types.h> -#include <sys/stat.h> -main() { return((sizeof(blkcnt_t) == 8) ? 0 : 1); }], -samba_cv_SIZEOF_BLKCNT_T_8=yes,samba_cv_SIZEOF_BLKCNT_T_8=no,samba_cv_SIZEOF_BLKCNT_T_8=cross)]) -if test x"$samba_cv_SIZEOF_BLKCNT_T_8" = x"yes"; then - AC_DEFINE(SIZEOF_BLKCNT_T_8,1,[The size of the 'blkcnt_t' type]) -fi - -AC_CACHE_CHECK([for st_blksize in struct stat],samba_cv_HAVE_STAT_ST_BLKSIZE,[ -AC_TRY_COMPILE([#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h>], -[struct stat st; st.st_blksize = 0;], -samba_cv_HAVE_STAT_ST_BLKSIZE=yes,samba_cv_HAVE_STAT_ST_BLKSIZE=no,samba_cv_HAVE_STAT_ST_BLKSIZE=cross)]) -if test x"$samba_cv_HAVE_STAT_ST_BLKSIZE" = x"yes"; then - AC_DEFINE(HAVE_STAT_ST_BLKSIZE,1,[Whether the stat struct has a st_blksize property]) -fi - -AC_CACHE_CHECK([for st_flags in struct stat], - samba_cv_HAVE_STAT_ST_FLAGS, - [ - AC_TRY_COMPILE([#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h>], - [struct stat st; st.st_flags = 0;], - samba_cv_HAVE_STAT_ST_FLAGS=yes, - samba_cv_HAVE_STAT_ST_FLAGS=no, - samba_cv_HAVE_STAT_ST_FLAGS=cross) - ]) - -if test x"$samba_cv_HAVE_STAT_ST_FLAGS" = x"yes"; then - AC_DEFINE(HAVE_STAT_ST_FLAGS, 1, - [Whether the stat struct has a st_flags member]) -fi - -AC_CACHE_CHECK([for broken nisplus include files],samba_cv_BROKEN_NISPLUS_INCLUDE_FILES,[ -AC_TRY_COMPILE([ -#include <sys/types.h> -#include <sys/acl.h> -#if defined(HAVE_RPCSVC_NIS_H) -#include <rpcsvc/nis.h> -#endif], -[int i;], -samba_cv_BROKEN_NISPLUS_INCLUDE_FILES=no,samba_cv_BROKEN_NISPLUS_INCLUDE_FILES=yes)]) -if test x"$samba_cv_BROKEN_NISPLUS_INCLUDE_FILES" = x"yes"; then - AC_DEFINE(BROKEN_NISPLUS_INCLUDE_FILES,1,[Whether the nisplus include files are broken]) -fi - -AC_CACHE_CHECK([if the realpath function allows a NULL argument],samba_cv_REALPATH_TAKES_NULL,[ -AC_TRY_RUN([ -#include <stdio.h> -#include <limits.h> -#include <signal.h> - -void exit_on_core(int ignored) { - exit(1); -} - -main() { - char *newpath; - signal(SIGSEGV, exit_on_core); - newpath = realpath("/tmp", NULL); - return((newpath != NULL) ? 0 : 1); -} -], -samba_cv_REALPATH_TAKES_NULL=yes,samba_cv_REALPATH_TAKES_NULL=no,samba_cv_REALPATH_TAKES_NULL=cross)]) -if test x"$samba_cv_REALPATH_TAKES_NULL" = x"yes"; then - AC_DEFINE(REALPATH_TAKES_NULL,1,[Whether the realpath function allows NULL]) -fi - -################################################# -# check for AFS clear-text auth support -samba_cv_WITH_AFS=no -AC_MSG_CHECKING(whether to use AFS clear-text auth) -AC_ARG_WITH(afs, -[AS_HELP_STRING([--with-afs], [Include AFS clear-text auth support (default=no)])], -[ case "$withval" in - yes|auto) - AC_MSG_RESULT($withval) - samba_cv_WITH_AFS=$withval - ;; - *) - AC_MSG_RESULT(no) - ;; - esac ], - AC_MSG_RESULT(no) -) - -#################################################### -# check for Linux-specific AFS fake-kaserver support -samba_cv_WITH_FAKE_KASERVER=no -AC_MSG_CHECKING(whether to use AFS fake-kaserver) -AC_ARG_WITH(fake-kaserver, -[AS_HELP_STRING([--with-fake-kaserver], [Include AFS fake-kaserver support (default=no)])], -[ case "$withval" in - yes|auto) - AC_MSG_RESULT($withval) - samba_cv_WITH_FAKE_KASERVER=$withval - ;; - *) - AC_MSG_RESULT(no) - ;; - esac ], - AC_MSG_RESULT(no) -) - -################################################# -# decide whether we can support WITH_AFS and / or WITH_FAKE_KASERVER -if test x"$samba_cv_WITH_AFS" != x"no" || - test x"$samba_cv_WITH_FAKE_KASERVER" != x"no"; then - - # see if this box has the OpenSSL DES libraries - AC_CHECK_LIB( crypto, DES_pcbc_encrypt, LIBS="$LIBS -lcrypto" , [AC_ERROR(OpenSSL library: libcrypto ot found!)] ) - - # see if this box has the afs-headers in /usr/include/afs - AC_MSG_CHECKING(for /usr/include/afs) - if test -d /usr/include/afs; then - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - fi - - # check for afs.h - have_afs_headers=no - AC_CHECK_HEADERS(afs.h afs/afs.h) - if test x"$ac_cv_header_afs_h" = x"no" && test x"$ac_cv_header_afs_afs_h" = x"no"; then - if test x"$samba_cv_WITH_FAKE_KASERVER" = x"auto" || - test x"$samba_cv_WITH_AFS" = x"auto"; then - AC_MSG_WARN([AFS cannot be supported without afs.h]) - else - AC_MSG_ERROR([AFS cannot be supported without afs.h]) - fi - else - have_afs_headers=yes - fi -fi - -FAKE_KASERVER_OBJ="" -if test x"$samba_cv_WITH_FAKE_KASERVER" != x"no" && test x"$have_afs_headers" = x"yes"; then - AC_DEFINE(WITH_FAKE_KASERVER,1,[Whether to include AFS fake-kaserver support]) - FAKE_KASERVER_OBJ="utils/net_afs.o" -fi -AC_SUBST(FAKE_KASERVER_OBJ) - -################################################# -# check whether to compile AFS/NT ACL mapping module -samba_cv_WITH_VFS_AFSACL=no -AC_MSG_CHECKING(whether to use AFS ACL mapping module) -AC_ARG_WITH(vfs-afsacl, -[AS_HELP_STRING([--with-vfs-afsacl], [Include AFS to NT ACL mapping module (default=no)])], -[ case "$withval" in - yes|auto) - AC_MSG_RESULT($withval) - samba_cv_WITH_VFS_AFSACL=yes - ;; - *) - AC_MSG_RESULT(no) - ;; - esac ], - AC_MSG_RESULT(no) -) - -if test x"$samba_cv_WITH_VFS_AFSACL" = x"yes"; then - default_shared_modules="$default_shared_modules vfs_afsacl" -fi - -if test x"$samba_cv_WITH_AFS" != x"no" && test x"$have_afs_headers" = x"yes"; then - AC_DEFINE(WITH_AFS,1,[Whether to include AFS clear-text auth support]) -fi - -################################################# -# check for the DFS clear-text auth system -AC_MSG_CHECKING(whether to use DFS clear-text auth) -AC_ARG_WITH(dfs, -[AS_HELP_STRING([--with-dce-dfs], [Include DCE/DFS clear-text auth support (default=no)])], -[ case "$withval" in - yes) - AC_MSG_RESULT(yes) - AC_DEFINE(WITH_DFS,1,[Whether to include DFS support]) - ;; - *) - AC_MSG_RESULT(no) - ;; - esac ], - AC_MSG_RESULT(no) -) - -######################################################## -# Compile with LDAP support? - -with_ldap_support=auto -AC_MSG_CHECKING([for LDAP support]) - -AC_ARG_WITH(ldap, -[AS_HELP_STRING([--with-ldap], [LDAP support (default=auto)])], -[ case "$withval" in - yes|no) - with_ldap_support=$withval - ;; - esac ]) - -AC_MSG_RESULT($with_ldap_support) - -SMBLDAP="" -AC_SUBST(SMBLDAP) - -if test x"$with_ldap_support" != x"no"; then - - ################################################################## - # first test for ldap.h and lber.h - # (ldap.h is required for this test) - AC_CHECK_HEADERS(ldap.h lber.h) - - if test x"$ac_cv_header_ldap_h" != x"yes"; then - if test x"$with_ldap_support" = x"yes"; then - AC_MSG_ERROR(ldap.h is needed for LDAP support) - else - AC_MSG_WARN(ldap.h is needed for LDAP support) - fi - - with_ldap_support=no - fi - - ################################################################## - # HP/UX does not have ber_tag_t in lber.h - it must be configured as - # unsigned int in include/includes.h - case $host_os in - *hpux*) - AC_MSG_WARN(ber_tag_t is needed for LDAP support) - AC_MSG_WARN(ber_tag_t must be configured in includes.h for hpux) - with_ldap_support=yes - ;; - *) - AC_CHECK_TYPE(ber_tag_t,,,[#include <lber.h>]) - if test x"$ac_cv_type_ber_tag_t" != x"yes"; then - if test x"$with_ldap_support" = x"yes"; then - AC_MSG_ERROR(ber_tag_t is needed for LDAP support) - else - AC_MSG_WARN(ber_tag_t is needed for LDAP support) - fi - with_ldap_support=no - fi - ;; - esac -fi - -if test x"$with_ldap_support" != x"no"; then - ac_save_LIBS=$LIBS - - ################################################################## - # we might need the lber lib on some systems. To avoid link errors - # this test must be before the libldap test - AC_CHECK_LIB_EXT(lber, LDAP_LIBS, ber_scanf) - - ######################################################## - # If ber_sockbuf_add_io() is available we can add - # SASL wrapping hooks - AC_CHECK_FUNC_EXT(ber_sockbuf_add_io,$LDAP_LIBS) - - AC_CACHE_CHECK([for LDAP_OPT_SOCKBUF],samba_cv_HAVE_LDAP_OPT_SOCKBUF,[ - AC_TRY_COMPILE([#include <ldap.h>], - [int val = LDAP_OPT_SOCKBUF;], - samba_cv_HAVE_LDAP_OPT_SOCKBUF=yes, - samba_cv_HAVE_LDAP_OPT_SOCKBUF=no)]) - - if test x"$ac_cv_func_ext_ber_sockbuf_add_io" = x"yes" -a \ - x"$samba_cv_HAVE_LDAP_OPT_SOCKBUF" = x"yes"; then - AC_DEFINE(HAVE_LDAP_SASL_WRAPPING, 1, [Support for SASL wrapping]) - fi - - ####################################################### - # if we have LBER_OPT_LOG_PRINT_FN, we can intercept - # ldap logging and print it out in the samba logs - AC_CACHE_CHECK([for LBER_OPT_LOG_PRINT_FN], - samba_cv_HAVE_LBER_OPT_LOG_PRINT_FN, - [AC_TRY_COMPILE([#include <lber.h>], - [int val = LBER_OPT_LOG_PRINT_FN;], - samba_cv_HAVE_LBER_OPT_LOG_PRINT_FN=yes, - samba_cv_HAVE_LBER_OPT_LOG_PRINT_FN=no)]) - - if test x"$samba_cv_HAVE_LBER_OPT_LOG_PRINT_FN" = x"yes"; then - AC_DEFINE(HAVE_LBER_LOG_PRINT_FN, 1, - [Support for LDAP/LBER logging interception]) - fi - - ######################################################## - # now see if we can find the ldap libs in standard paths - AC_CHECK_LIB_EXT(ldap, LDAP_LIBS, ldap_init) - - ######################################################## - # If we have LDAP, does it's rebind procedure take 2 or 3 arguments? - # Check found in pam_ldap 145. - AC_CHECK_FUNC_EXT(ldap_set_rebind_proc,$LDAP_LIBS) - - LIBS="$LIBS $LDAP_LIBS" - AC_CACHE_CHECK(whether ldap_set_rebind_proc takes 3 arguments, smb_ldap_cv_ldap_set_rebind_proc, [ - AC_TRY_COMPILE([ - #include <lber.h> - #include <ldap.h>], - [ldap_set_rebind_proc(0, 0, 0);], - [smb_ldap_cv_ldap_set_rebind_proc=3], - [smb_ldap_cv_ldap_set_rebind_proc=2] - ) - ]) - - AC_DEFINE_UNQUOTED(LDAP_SET_REBIND_PROC_ARGS, $smb_ldap_cv_ldap_set_rebind_proc, [Number of arguments to ldap_set_rebind_proc]) - - AC_CHECK_FUNC_EXT(ldap_initialize,$LDAP_LIBS) - - if test x"$ac_cv_lib_ext_ldap_ldap_init" = x"yes"; then - AC_DEFINE(HAVE_LDAP,1,[Whether ldap is available]) - CPPFLAGS="$CPPFLAGS -DLDAP_DEPRECATED" - default_static_modules="$default_static_modules pdb_ldapsam idmap_ldap"; - default_shared_modules="$default_shared_modules"; - SMBLDAP="lib/smbldap.o" - with_ldap_support=yes - AC_MSG_CHECKING(whether LDAP support is used) - AC_MSG_RESULT(yes) - else - if test x"$with_ldap_support" = x"yes"; then - AC_MSG_ERROR(libldap is needed for LDAP support) - else - AC_MSG_WARN(libldap is needed for LDAP support) - fi - - LDAP_LIBS="" - with_ldap_support=no - fi - LIBS=$ac_save_LIBS -fi - - -################################################# -# active directory support - -with_ads_support=auto -AC_MSG_CHECKING([for Active Directory and krb5 support]) - -AC_ARG_WITH(ads, -[AS_HELP_STRING([--with-ads], [Active Directory support (default=auto)])], -[ case "$withval" in - yes|no) - with_ads_support="$withval" - ;; - esac ]) - -AC_MSG_RESULT($with_ads_support) - -FOUND_KRB5=no -KRB5_LIBS="" - -if test x"$with_ldap_support" != x"yes"; then - - if test x"$with_ads_support" = x"yes"; then - AC_MSG_ERROR(Active Directory Support requires LDAP support) - elif test x"$with_ads_support" = x"auto"; then - AC_MSG_WARN(Disabling Active Directory support (requires LDAP support)) - with_ads_support=no - fi - -else - - # Check to see whether there is enough LDAP functionality to be able - # to build AD support. - -# HPUX and Solaris only has ldap_init; ok, we take care of this in smbldap.c -case "$host_os" in - *hpux* | *solaris*) - AC_CHECK_FUNC_EXT(ldap_init,$LDAP_LIBS) - - if test x"$ac_cv_func_ext_ldap_init" != x"yes"; then - if test x"$with_ads_support" = x"yes"; then - AC_MSG_ERROR(Active Directory support on HPUX or Solaris requires ldap_init) - elif test x"$with_ads_support" = x"auto"; then - AC_MSG_WARN(Disabling Active Directory support (requires ldap_init on HPUX or Solaris)) - with_ads_support=no - fi - fi - ;; - *) - AC_CHECK_FUNC_EXT(ldap_initialize,$LDAP_LIBS) - - if test x"$ac_cv_func_ext_ldap_initialize" != x"yes"; then - if test x"$with_ads_support" = x"yes"; then - AC_MSG_ERROR(Active Directory support requires ldap_initialize) - elif test x"$with_ads_support" = x"auto"; then - AC_MSG_WARN(Disabling Active Directory support (requires ldap_initialize)) - with_ads_support=no - fi - fi - ;; -esac - - - AC_CHECK_FUNC_EXT(ldap_add_result_entry,$LDAP_LIBS) - - if test x"$ac_cv_func_ext_ldap_add_result_entry" != x"yes"; then - if test x"$with_ads_support" = x"yes"; then - AC_MSG_ERROR(Active Directory support requires ldap_add_result_entry) - elif test x"$with_ads_support" = x"auto"; then - AC_MSG_WARN(Disabling Active Directory support (requires ldap_add_result_entry)) - with_ads_support=no - fi - fi - -fi - -if test x"$with_ads_support" != x"no"; then - - # Do no harm to the values of CFLAGS and LIBS while testing for - # Kerberos support. - - if test x$FOUND_KRB5 = x"no"; then - ################################################# - # check for location of Kerberos 5 install - AC_MSG_CHECKING(for kerberos 5 install path) - AC_ARG_WITH(krb5, - [AS_HELP_STRING([--with-krb5=base-dir], [Locate Kerberos 5 support (default=/usr)])], - [ case "$withval" in - no) - AC_MSG_RESULT(no krb5-path given) - ;; - yes) - AC_MSG_RESULT(/usr) - ;; - *) - AC_MSG_RESULT($withval) - KRB5_CFLAGS="-I$withval/include" - KRB5_CPPFLAGS="-I$withval/include" - KRB5_LDFLAGS="-L$withval/lib" - FOUND_KRB5=yes - if test -x "$withval/bin/krb5-config"; then - KRB5CONFIG=$withval/bin/krb5-config - fi - ;; - esac ], - AC_MSG_RESULT(no krb5-path given) - ) - fi - - ################################################# - # check for krb5-config from recent MIT and Heimdal kerberos 5 - AC_PATH_PROG(KRB5CONFIG, krb5-config) - AC_MSG_CHECKING(for working krb5-config) - if test -x "$KRB5CONFIG" && $KRB5CONFIG --libs gssapi > /dev/null ; then - ac_save_CFLAGS=$CFLAGS - CFLAGS="";export CFLAGS - ac_save_LDFLAGS=$LDFLAGS - LDFLAGS="";export LDFLAGS - KRB5_LIBS="`$KRB5CONFIG --libs gssapi`" - KRB5_LDFLAGS="`$KRB5CONFIG --libs gssapi | sed s/-lgss.*//`" - KRB5_CFLAGS="`$KRB5CONFIG --cflags | sed s/@INCLUDE_des@//`" - KRB5_CPPFLAGS="`$KRB5CONFIG --cflags | sed s/@INCLUDE_des@//`" - CFLAGS=$ac_save_CFLAGS;export CFLAGS - LDFLAGS=$ac_save_LDFLAGS;export LDFLAGS - FOUND_KRB5=yes - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no. Fallback to previous krb5 detection strategy) - fi - - if test x$FOUND_KRB5 = x"no"; then - ################################################# - # see if this box has the SuSE location for the heimdal krb implementation - AC_MSG_CHECKING(for /usr/include/heimdal) - if test -d /usr/include/heimdal; then - if test -f /usr/lib/heimdal/lib/libkrb5.a; then - KRB5_CFLAGS="-I/usr/include/heimdal" - KRB5_CPPFLAGS="-I/usr/include/heimdal" - KRB5_LDFLAGS="-L/usr/lib/heimdal/lib" - FOUND_KRB5=yes - AC_MSG_RESULT(yes) - else - KRB5_CFLAGS="-I/usr/include/heimdal" - KRB5_CPPFLAGS="-I/usr/include/heimdal" - FOUND_KRB5=yes - AC_MSG_RESULT(yes) - fi - else - AC_MSG_RESULT(no) - fi - fi - - if test x$FOUND_KRB5 = x"no"; then - ################################################# - # see if this box has the RedHat location for kerberos - AC_MSG_CHECKING(for /usr/kerberos) - if test -d /usr/kerberos -a -f /usr/kerberos/lib/libkrb5.a; then - KRB5_LDFLAGS="-L/usr/kerberos/lib" - KRB5_CFLAGS="-I/usr/kerberos/include" - KRB5_CPPFLAGS="-I/usr/kerberos/include" - FOUND_KRB5=yes - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - fi - fi - - if test x$FOUND_KRB5 = x"no"; then - ################################################# - # see if this box has the OpenBSD location for heimdal krb5 - AC_MSG_CHECKING(for /usr/include/kerberosV) - if test -d /usr/include/kerberosV; then - KRB5_CPPFLAGS="-I/usr/include/kerberosV" - KRB5_LIBS="-lcrypto" - FOUND_KRB5=yes - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - fi - fi - - if test x$FOUND_KRB5 = x"no"; then - ################################################# - # see if this box has Solaris MIT kerberos implementation - AC_MSG_CHECKING(for Solaris MIT kerberos) - if test -x "$KRB5CONFIG" && $KRB5CONFIG --version | grep -s Solaris | grep -s MIT > /dev/null ; then - FOUND_KRB5=yes - KRB5_LIBS="-lgss -lkrb5" - KRB5_CFLAGS="`$KRB5CONFIG --cflags`" - KRB5_CPPFLAGS="`$KRB5CONFIG --cflags`" - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - fi - fi - - ac_save_CFLAGS=$CFLAGS - ac_save_CPPFLAGS=$CPPFLAGS - ac_save_LDFLAGS=$LDFLAGS - - # remove needless evil rpath stuff as early as possible: - LIB_REMOVE_USR_LIB(KRB5_LIBS) - LIB_REMOVE_USR_LIB(KRB5_LDFLAGS) - CFLAGS="$KRB5_CFLAGS $CFLAGS" - CPPFLAGS="$KRB5_CPPFLAGS $CPPFLAGS" - LDFLAGS="$KRB5_LDFLAGS $LDFLAGS" - - KRB5_LIBS="$KRB5_LDFLAGS $KRB5_LIBS" - - # now check for krb5.h. Some systems have the libraries without the headers! - # note that this check is done here to allow for different kerberos - # include paths - AC_CHECK_HEADERS(krb5.h) - - if test x"$ac_cv_header_krb5_h" = x"no"; then - - # Give a warning if AD support was not explicitly requested, - # i.e with_ads_support = auto, otherwise die with an error. - - if test x"$with_ads_support" = x"yes"; then - AC_MSG_ERROR([Active Directory cannot be supported without krb5.h]) - else - AC_MSG_WARN([Active Directory cannot be supported without krb5.h]) - fi - - # Turn off AD support and restore CFLAGS and LIBS variables - - with_ads_support="no" - - CFLAGS=$ac_save_CFLAGS - CPPFLAGS=$ac_save_CPPFLAGS - LDFLAGS=$ac_save_LDFLAGS - fi - - # check for new heimdal KRB5_DEPRECATED handling - - AC_CACHE_CHECK([for KRB5_DEPRECATED define taking an identifier], - samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER,[ - AC_TRY_COMPILE( - [#define KRB5_DEPRECATED 1 - #include <krb5.h>], - [], - samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER=yes, - samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER=no)]) - - if test x"$samba_cv_HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER" = x"yes"; then - AC_DEFINE(HAVE_KRB5_DEPRECATED_WITH_IDENTIFIER, 1, - [Whether to use deprecated krb5 interfaces]) - fi -fi - -# Now we have determined whether we really want ADS support -use_ads=no -if test x"$with_ads_support" != x"no"; then - use_ads=yes - have_gssapi=no - ac_save_LIBS=$LIBS - - # now check for gssapi headers. This is also done here to allow for - # different kerberos include paths - AC_CHECK_HEADERS(gssapi.h gssapi/gssapi_generic.h gssapi/gssapi.h gssapi/gssapi_ext.h gssapi/gssapi_krb5.h com_err.h) - - ################################################################## - # we might need the k5crypto and com_err libraries on some systems - AC_CHECK_LIB_EXT(com_err, KRB5_LIBS, _et_list) - AC_CHECK_LIB_EXT(k5crypto, KRB5_LIBS, krb5_encrypt_data) - - # Heimdal checks. - AC_CHECK_LIB_EXT(crypto, KRB5_LIBS, des_set_key) - AC_CHECK_LIB_EXT(asn1, KRB5_LIBS, copy_Authenticator) - AC_CHECK_LIB_EXT(roken, KRB5_LIBS, roken_getaddrinfo_hostspec) - - # Heimdal checks. On static Heimdal gssapi must be linked before krb5. - AC_CHECK_LIB_EXT(gssapi, KRB5_LIBS, gss_display_status,[],[],have_gssapi=yes) - - ######################################################## - # now see if we can find the krb5 libs in standard paths - # or as specified above - AC_CHECK_LIB_EXT(krb5, KRB5_LIBS, krb5_mk_req_extended) - AC_CHECK_LIB_EXT(krb5, KRB5_LIBS, krb5_kt_compare) - - ######################################################## - # now see if we can find the gssapi libs in standard paths - if test x"$have_gssapi" != x"yes"; then - AC_CHECK_LIB_EXT(gssapi_krb5, KRB5_LIBS,gss_display_status,[],[],have_gssapi=yes) - AC_CHECK_LIB_EXT(gss, KRB5_LIBS,gss_display_status,[],[],have_gssapi=yes) - fi - ################################################################ - # test for AD / GSSAPI support being enabled - if test x"$have_gssapi" != xyes ; then - AC_MSG_WARN([Samba cannot be supported without GSSAPI]) - use_ads=no - else - AC_DEFINE(HAVE_GSSAPI, , [Whether the platform has GSSAPI support]) - fi - - # This is for FreeBSD (and possibly others). gss_mech_krb5 is a - # #define to GSS_KRB5_MECHANISM, which is defined in -lgssapi_krb5 - # Also, gsskrb5_extract_authz_data_from_sec_context is in -lgssapi_krb5 - AC_CHECK_LIB_EXT(gssapi_krb5, KRB5_LIBS, GSS_KRB5_MECHANISM, - [KRB5_LIBS="$KRB5_LIBS -lgssapi_krb5"]) - - AC_CHECK_FUNC_EXT(krb5_set_real_time, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_set_default_in_tkt_etypes, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_set_default_tgs_enctypes, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_set_default_tgs_ktypes, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_principal2salt, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_c_string_to_key, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_get_pw_salt, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_string_to_key_salt, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_auth_con_setkey, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_auth_con_setuseruserkey, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_get_permitted_enctypes, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_get_default_in_tkt_etypes, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_free_data_contents, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_principal_get_comp_string, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_free_unparsed_name, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_free_keytab_entry_contents, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_kt_free_entry, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_krbhst_init, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_krbhst_get_addrinfo, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_crypto_init, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_crypto_destroy, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_c_verify_checksum, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_principal_compare_any_realm, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_parse_name_norealm, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_princ_size, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_make_principal, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_principal_get_num_comp, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_get_init_creds_opt_set_pac_request, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_get_renewed_creds, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_free_error_contents, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(initialize_krb5_error_table, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_get_init_creds_opt_alloc, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_get_init_creds_opt_free, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_get_init_creds_opt_get_error, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_enctype_to_string, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_fwd_tgt_creds, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_auth_con_set_req_cksumtype, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_get_creds_opt_alloc, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_get_creds_opt_set_impersonate, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_get_creds, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_get_credentials_for_user, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_get_host_realm, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_free_host_realm, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_get_init_creds_keytab, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_build_principal_alloc_va, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_cc_get_lifetime, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_cc_retrieve_cred, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_free_checksum_contents, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_create_checksum, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(krb5_c_make_checksum, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(gss_krb5_import_cred, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(gss_get_name_attribute, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(gsskrb5_extract_authz_data_from_sec_context, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(gss_mech_krb5, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(gss_oid_equal, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(gss_inquire_sec_context_by_oid, $KRB5_LIBS) - AC_CHECK_FUNC_EXT(gss_wrap_iov, $KRB5_LIBS) - - # MIT krb5 1.8 does not expose this call (yet) - AC_CHECK_DECLS(krb5_get_credentials_for_user, [], [], [#include <krb5.h>]) - - # MIT krb5 1.7beta3 (in Ubuntu Karmic) does not have this declaration - # but does have the symbol - AC_CHECK_DECLS(krb5_auth_con_set_req_cksumtype, [], [], [#include <krb5.h>]) - - LIBS="$KRB5_LIBS $LIBS" - - AC_CACHE_CHECK(whether krb5_get_init_creds_opt_free takes a context argument, - smb_krb5_cv_creds_opt_free_context, - [ - AC_TRY_COMPILE([ - #include <krb5.h>], - [ - krb5_context ctx; - krb5_get_init_creds_opt *opt = NULL; - krb5_get_init_creds_opt_free(ctx, opt); - ], - [smb_krb5_cv_creds_opt_free_context=yes], - [smb_krb5_cv_creds_opt_free_context=no] - ) - ]) - - if test x"$smb_krb5_cv_creds_opt_free_context" = x"yes" ; then - AC_DEFINE(KRB5_CREDS_OPT_FREE_REQUIRES_CONTEXT, 1, - [Whether krb5_get_init_creds_opt_free takes a context argument]) - fi - - AC_CACHE_CHECK([for checksum in krb5_checksum], - samba_cv_HAVE_CHECKSUM_IN_KRB5_CHECKSUM,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_checksum cksum; cksum.checksum.length = 0;], - samba_cv_HAVE_CHECKSUM_IN_KRB5_CHECKSUM=yes, - samba_cv_HAVE_CHECKSUM_IN_KRB5_CHECKSUM=no)]) - - if test x"$samba_cv_HAVE_CHECKSUM_IN_KRB5_CHECKSUM" = x"yes"; then - AC_DEFINE(HAVE_CHECKSUM_IN_KRB5_CHECKSUM,1, - [Whether the krb5_checksum struct has a checksum property]) - fi - - AC_CACHE_CHECK([for etype in EncryptedData], - samba_cv_HAVE_ETYPE_IN_ENCRYPTEDDATA,[ - AC_TRY_COMPILE([#include <krb5.h>], - [EncryptedData edata; edata.etype = 0;], - samba_cv_HAVE_ETYPE_IN_ENCRYPTEDDATA=yes, - samba_cv_HAVE_ETYPE_IN_ENCRYPTEDDATA=no)]) - - if test x"$samba_cv_HAVE_ETYPE_IN_ENCRYPTEDDATA" = x"yes"; then - AC_DEFINE(HAVE_ETYPE_IN_ENCRYPTEDDATA,1, - [Whether the EncryptedData struct has a etype property]) - fi - - AC_CACHE_CHECK([for ticket pointer in krb5_ap_req], - samba_cv_HAVE_TICKET_POINTER_IN_KRB5_AP_REQ,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_ap_req *ap_req; ap_req->ticket = NULL;], - samba_cv_HAVE_TICKET_POINTER_IN_KRB5_AP_REQ=yes, - samba_cv_HAVE_TICKET_POINTER_IN_KRB5_AP_REQ=no)]) - - if test x"$samba_cv_HAVE_TICKET_POINTER_IN_KRB5_AP_REQ" = x"yes"; then - AC_DEFINE(HAVE_TICKET_POINTER_IN_KRB5_AP_REQ,1, - [Whether the krb5_ap_req struct has a ticket pointer]) - fi - - AC_CACHE_CHECK([for e_data pointer in krb5_error], - samba_cv_HAVE_E_DATA_POINTER_IN_KRB5_ERROR,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_error err; err.e_data = NULL;], - samba_cv_HAVE_E_DATA_POINTER_IN_KRB5_ERROR=yes, - samba_cv_HAVE_E_DATA_POINTER_IN_KRB5_ERROR=no)]) - - if test x"$samba_cv_HAVE_E_DATA_POINTER_IN_KRB5_ERROR" = x"yes"; then - AC_DEFINE(HAVE_E_DATA_POINTER_IN_KRB5_ERROR,1, - [Whether the krb5_error struct has a e_data pointer]) - fi - - AC_CACHE_CHECK([for krb5_crypto type], - samba_cv_HAVE_KRB5_CRYPTO,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_crypto crypto;], - samba_cv_HAVE_KRB5_CRYPTO=yes, - samba_cv_HAVE_KRB5_CRYPTO=no)]) - - if test x"$samba_cv_HAVE_KRB5_CRYPTO" = x"yes"; then - AC_DEFINE(HAVE_KRB5_CRYPTO,1, - [Whether the type krb5_crypto exists]) - fi - - AC_CACHE_CHECK([for addrtype in krb5_address], - samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_address kaddr; kaddr.addrtype = ADDRTYPE_INET;], - samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS=yes, - samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS=no)]) - - if test x"$samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS" = x"yes"; then - AC_DEFINE(HAVE_ADDRTYPE_IN_KRB5_ADDRESS,1, - [Whether the krb5_address struct has a addrtype property]) - fi - - AC_CACHE_CHECK([for addr_type in krb5_address], - samba_cv_HAVE_ADDR_TYPE_IN_KRB5_ADDRESS,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_address kaddr; kaddr.addr_type = KRB5_ADDRESS_INET;], - samba_cv_HAVE_ADDR_TYPE_IN_KRB5_ADDRESS=yes, - samba_cv_HAVE_ADDR_TYPE_IN_KRB5_ADDRESS=no)]) - - if test x"$samba_cv_HAVE_ADDR_TYPE_IN_KRB5_ADDRESS" = x"yes"; then - AC_DEFINE(HAVE_ADDR_TYPE_IN_KRB5_ADDRESS,1, - [Whether the krb5_address struct has a addr_type property]) - fi - - AC_CACHE_CHECK([for keyvalue in krb5_keyblock], - samba_cv_HAVE_KRB5_KEYBLOCK_KEYVALUE,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_keyblock key; key.keyvalue.data = NULL;], - samba_cv_HAVE_KRB5_KEYBLOCK_KEYVALUE=yes, - samba_cv_HAVE_KRB5_KEYBLOCK_KEYVALUE=no)]) - - if test x"$samba_cv_HAVE_KRB5_KEYBLOCK_KEYVALUE" = x"yes"; then - AC_DEFINE(HAVE_KRB5_KEYBLOCK_KEYVALUE,1, - [Whether the krb5_keyblock struct has a keyvalue property]) - fi - - found_arcfour_hmac=no - AC_CACHE_CHECK([for ENCTYPE_ARCFOUR_HMAC_MD5], - samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_enctype enctype; enctype = ENCTYPE_ARCFOUR_HMAC_MD5;], - samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5=yes, - samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5=no)]) - AC_CACHE_CHECK([for KEYTYPE_ARCFOUR_56], - samba_cv_HAVE_KEYTYPE_ARCFOUR_56,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_keytype keytype; keytype = KEYTYPE_ARCFOUR_56;], - samba_cv_HAVE_KEYTYPE_ARCFOUR_56=yes, - samba_cv_HAVE_KEYTYPE_ARCFOUR_56=no)]) -# Heimdals with KEYTYPE_ARCFOUR but not KEYTYPE_ARCFOUR_56 are broken -# w.r.t. arcfour and windows, so we must not enable it here - if test x"$samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5" = x"yes" -a\ - x"$samba_cv_HAVE_KEYTYPE_ARCFOUR_56" = x"yes"; then - AC_DEFINE(HAVE_ENCTYPE_ARCFOUR_HMAC_MD5,1, - [Whether the ENCTYPE_ARCFOUR_HMAC_MD5 key type definition is available]) - found_arcfour_hmac=yes - fi - AC_CACHE_CHECK([for ENCTYPE_ARCFOUR_HMAC], - samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_enctype enctype; enctype = ENCTYPE_ARCFOUR_HMAC;], - samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC=yes, - samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC=no)]) - if test x"$samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC" = x"yes"; then - AC_DEFINE(HAVE_ENCTYPE_ARCFOUR_HMAC,1, - [Whether the ENCTYPE_ARCFOUR_HMAC key type definition is available]) - found_arcfour_hmac=yes - fi - - AC_CACHE_CHECK([for ENCTYPE_AES128_CTS_HMAC_SHA1_96], - samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_enctype enctype; enctype = ENCTYPE_AES128_CTS_HMAC_SHA1_96;], - samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96=yes, - samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96=no)]) - if test x"$samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96" = x"yes"; then - AC_DEFINE(HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96,1, - [Whether the ENCTYPE_AES128_CTS_HMAC_SHA1_96 key type definition is available]) - fi - AC_CACHE_CHECK([for ENCTYPE_AES256_CTS_HMAC_SHA1_96], - samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_enctype enctype; enctype = ENCTYPE_AES256_CTS_HMAC_SHA1_96;], - samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96=yes, - samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96=no)]) - if test x"$samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96" = x"yes"; then - AC_DEFINE(HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96,1, - [Whether the ENCTYPE_AES256_CTS_HMAC_SHA1_96 key type definition is available]) - fi - - AC_CACHE_CHECK([for AP_OPTS_USE_SUBKEY], - samba_cv_HAVE_AP_OPTS_USE_SUBKEY,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_flags ap_options; ap_options = AP_OPTS_USE_SUBKEY;], - samba_cv_HAVE_AP_OPTS_USE_SUBKEY=yes, - samba_cv_HAVE_AP_OPTS_USE_SUBKEY=no)]) - - if test x"$samba_cv_HAVE_AP_OPTS_USE_SUBKEY" = x"yes"; then - AC_DEFINE(HAVE_AP_OPTS_USE_SUBKEY,1, - [Whether the AP_OPTS_USE_SUBKEY ap option is available]) - fi - - AC_CACHE_CHECK([for KV5M_KEYTAB], - samba_cv_HAVE_KV5M_KEYTAB,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_keytab_entry entry; entry.magic = KV5M_KEYTAB;], - samba_cv_HAVE_KV5M_KEYTAB=yes, - samba_cv_HAVE_KV5M_KEYTAB=no)]) - - if test x"$samba_cv_HAVE_KV5M_KEYTAB" = x"yes"; then - AC_DEFINE(HAVE_KV5M_KEYTAB,1, - [Whether the KV5M_KEYTAB option is available]) - fi - - AC_CACHE_CHECK([for KRB5_KU_OTHER_CKSUM], - samba_cv_HAVE_KRB5_KU_OTHER_CKSUM,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_keyusage usage = KRB5_KU_OTHER_CKSUM;], - samba_cv_HAVE_KRB5_KU_OTHER_CKSUM=yes, - samba_cv_HAVE_KRB5_KU_OTHER_CKSUM=no)]) - - if test x"$samba_cv_HAVE_KRB5_KU_OTHER_CKSUM" = x"yes"; then - AC_DEFINE(HAVE_KRB5_KU_OTHER_CKSUM,1, - [Whether KRB5_KU_OTHER_CKSUM is available]) - fi - - AC_CACHE_CHECK([for KRB5_KEYUSAGE_APP_DATA_CKSUM], - samba_cv_HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_keyusage usage = KRB5_KEYUSAGE_APP_DATA_CKSUM;], - samba_cv_HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM=yes, - samba_cv_HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM=no)]) - - if test x"$samba_cv_HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM" = x"yes"; then - AC_DEFINE(HAVE_KRB5_KEYUSAGE_APP_DATA_CKSUM,1, - [Whether KRB5_KEYUSAGE_APP_DATA_CKSUM is available]) - fi - - AC_CACHE_CHECK([for the krb5_princ_component macro], - samba_cv_HAVE_KRB5_PRINC_COMPONENT,[ - AC_TRY_LINK([#include <krb5.h>], - [const krb5_data *pkdata; krb5_context context; krb5_principal principal; pkdata = krb5_princ_component(context, principal, 0);], - samba_cv_HAVE_KRB5_PRINC_COMPONENT=yes, - samba_cv_HAVE_KRB5_PRINC_COMPONENT=no)]) - - if test x"$samba_cv_HAVE_KRB5_PRINC_COMPONENT" = x"yes"; then - AC_DEFINE(HAVE_KRB5_PRINC_COMPONENT,1, - [Whether krb5_princ_component is available]) - fi - - AC_CACHE_CHECK([for key in krb5_keytab_entry], - samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_keytab_entry entry; krb5_keyblock e; entry.key = e;], - samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY=yes, - samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY=no)]) - - if test x"$samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY" = x"yes"; then - AC_DEFINE(HAVE_KRB5_KEYTAB_ENTRY_KEY,1, - [Whether krb5_keytab_entry has key member]) - fi - - AC_CACHE_CHECK([for keyblock in krb5_keytab_entry], - samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_keytab_entry entry; entry.keyblock.keytype = 0;], - samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK=yes, - samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK=no)]) - - if test x"$samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK" = x"yes"; then - AC_DEFINE(HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK,1, - [Whether krb5_keytab_entry has keyblock member]) - fi - - AC_CACHE_CHECK([for magic in krb5_address], - samba_cv_HAVE_MAGIC_IN_KRB5_ADDRESS,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_address addr; addr.magic = 0;], - samba_cv_HAVE_MAGIC_IN_KRB5_ADDRESS=yes, - samba_cv_HAVE_MAGIC_IN_KRB5_ADDRESS=no)]) - - if test x"$samba_cv_HAVE_MAGIC_IN_KRB5_ADDRESS" = x"yes"; then - AC_DEFINE(HAVE_MAGIC_IN_KRB5_ADDRESS,1, - [Whether the krb5_address struct has a magic property]) - fi - - AC_CACHE_CHECK([for WRFILE: keytab support], - samba_cv_HAVE_WRFILE_KEYTAB,[ - AC_TRY_RUN([ -#include<krb5.h> - main() - { - krb5_context context; - krb5_keytab keytab; - - krb5_init_context(&context); - return krb5_kt_resolve(context, "WRFILE:api", &keytab); - }], - samba_cv_HAVE_WRFILE_KEYTAB=yes, - samba_cv_HAVE_WRFILE_KEYTAB=no)]) - - if test x"$samba_cv_HAVE_WRFILE_KEYTAB" = x"yes"; then - AC_DEFINE(HAVE_WRFILE_KEYTAB,1, - [Whether the WRFILE:-keytab is supported]) - fi - - AC_CACHE_CHECK([for krb5_realm type], - samba_cv_HAVE_KRB5_REALM_TYPE,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_realm realm;], - samba_cv_HAVE_KRB5_REALM_TYPE=yes, - samba_cv_HAVE_KRB5_REALM_TYPE=no)]) - - if test x"$samba_cv_HAVE_KRB5_REALM_TYPE" = x"yes"; then - AC_DEFINE(HAVE_KRB5_REALM_TYPE,1, - [Whether the type krb5_realm exists]) - fi - - AC_CACHE_CHECK([for krb5_princ_realm returns krb5_realm or krb5_data], - samba_cv_KRB5_PRINC_REALM_RETURNS_REALM,[ - AC_TRY_COMPILE([#include <krb5.h>], - [ - krb5_context context; - krb5_principal principal; - krb5_realm realm; realm = *krb5_princ_realm(context, principal);], - samba_cv_KRB5_PRINC_REALM_RETURNS_REALM=yes, - samba_cv_KRB5_PRINC_REALM_RETURNS_REALM=no)]) - - if test x"$samba_cv_KRB5_PRINC_REALM_RETURNS_REALM" = x"yes"; then - AC_DEFINE(KRB5_PRINC_REALM_RETURNS_REALM,1, - [Whether krb5_princ_realm returns krb5_realm or krb5_data]) - fi - - AC_CACHE_CHECK([for krb5_addresses type], - samba_cv_HAVE_KRB5_ADDRESSES,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_addresses addr;], - samba_cv_HAVE_KRB5_ADDRESSES=yes, - samba_cv_HAVE_KRB5_ADDRESSES=no)]) - - if test x"$samba_cv_HAVE_KRB5_ADDRESSES" = x"yes"; then - AC_DEFINE(HAVE_KRB5_ADDRESSES,1, - [Whether the type krb5_addresses type exists]) - fi - - if test x"$ac_cv_func_ext_krb5_enctype_to_string" = x"yes"; then - AC_CACHE_CHECK([for krb5_error_code krb5_enctype_to_string(krb5_context context, krb5_enctype enctype, char **str)], - smb_krb5_cv_enctype_to_string_takes_krb5_context_arg,[ - AC_TRY_RUN_STRICT([ - #include <stdlib.h> - #include <krb5.h> - int main(void) { - krb5_context context = NULL; - char *str = NULL; - krb5_enctype_to_string(context, 1, &str); - if (str) free (str); - return 0; - } - ],[$CFLAGS $Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS], - smb_krb5_cv_enctype_to_string_takes_krb5_context_arg=yes, - smb_krb5_cv_enctype_to_string_takes_krb5_context_arg=no)]) - - if test x"$smb_krb5_cv_enctype_to_string_takes_krb5_context_arg" = x"yes"; then - AC_DEFINE(HAVE_KRB5_ENCTYPE_TO_STRING_WITH_KRB5_CONTEXT_ARG,1, - [whether krb5_enctype_to_string takes krb5_context argument]) - fi - - AC_CACHE_CHECK([for krb5_error_code krb5_enctype_to_string(krb5_enctype enctype, char *str, size_t len)], - smb_krb5_cv_enctype_to_string_takes_size_t_arg,[ - AC_TRY_RUN_STRICT([ - #include <krb5.h> - int main(void) { - char buf[256]; - krb5_enctype_to_string(1, buf, 256); - return 0; - } - ],[$CFLAGS $Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS], - smb_krb5_cv_enctype_to_string_takes_size_t_arg=yes, - smb_krb5_cv_enctype_to_string_takes_size_t_arg=no)]) - - if test x"$smb_krb5_cv_enctype_to_string_takes_size_t_arg" = x"yes"; then - AC_DEFINE(HAVE_KRB5_ENCTYPE_TO_STRING_WITH_SIZE_T_ARG,1, - [whether krb5_enctype_to_string takes size_t argument]) - fi - fi - - AC_CACHE_CHECK([for krb5_principal_get_realm], - samba_cv_HAVE_KRB5_PRINCIPAL_GET_REALM,[ - AC_TRY_LINK([#include <krb5.h>], - [krb5_context ctx = NULL; krb5_principal princ = NULL; const char *str = krb5_principal_get_realm(ctx, princ);], - samba_cv_HAVE_KRB5_PRINCIPAL_GET_REALM=yes, - samba_cv_HAVE_KRB5_PRINCIPAL_GET_REALM=no)]) - - if test x"$samba_cv_HAVE_KRB5_PRINCIPAL_GET_REALM" = x"yes"; then - AC_DEFINE(HAVE_KRB5_PRINCIPAL_GET_REALM,1, - [Whether the function krb5_principal_get_realm is defined]) - fi - - AC_CACHE_CHECK([for krb5_princ_realm], - samba_cv_HAVE_KRB5_PRINC_REALM,[ - AC_TRY_LINK([#include <krb5.h>], - [krb5_context ctx = NULL; krb5_principal princ = NULL; const char *str = krb5_princ_realm(ctx, princ)->data;], - samba_cv_HAVE_KRB5_PRINC_REALM=yes, - samba_cv_HAVE_KRB5_PRINC_REALM=no)]) - - if test x"$samba_cv_HAVE_KRB5_PRINC_REALM" = x"yes"; then - AC_DEFINE(HAVE_KRB5_PRINC_REALM,1, - [Whether the macro krb5_princ_realm is defined]) - fi - - AC_HAVE_DECL(KRB5_PDU_NONE,[#include <krb5.h>]) - - AC_CACHE_CHECK([for flags in krb5_creds], - samba_cv_HAVE_FLAGS_IN_KRB5_CREDS,[ - AC_TRY_COMPILE([#include <krb5.h>], - [krb5_creds creds; creds.flags.b.initial = 0;], - samba_cv_HAVE_FLAGS_IN_KRB5_CREDS=yes, - samba_cv_HAVE_FLAGS_IN_KRB5_CREDS=no)]) - - if test x"$samba_cv_HAVE_FLAGS_IN_KRB5_CREDS" = x"yes"; then - AC_DEFINE(HAVE_FLAGS_IN_KRB5_CREDS,1, - [Whether the krb5_creds struct has a flags property]) - fi - # - # - # Now the decisions whether we can support krb5 - # - # NOTE: all tests should be done before this block! - # - # - if test x"$found_arcfour_hmac" != x"yes"; then - AC_MSG_WARN(arcfour-hmac-md5 encryption type not found in -lkrb5) - use_ads=no - fi - - if test x"$ac_cv_func_ext_krb5_set_real_time" != x"yes"; then - AC_MSG_WARN(krb5_set_real_time encryption type not found in -lkrb5) - use_ads=no - fi - - if test x"$ac_cv_lib_ext_krb5_krb5_mk_req_extended" != x"yes"; then - AC_MSG_WARN(krb5_mk_req_extended not found in -lkrb5) - use_ads=no - fi - - if test x"$ac_cv_func_ext_krb5_get_host_realm" != x"yes" - then - AC_MSG_WARN(krb5_get_host_realm not found in -lkrb5) - use_ads=no - fi - - if test x"$ac_cv_func_ext_krb5_free_host_realm" != x"yes" - then - AC_MSG_WARN(krb5_free_host_realm not found in -lkrb5) - use_ads=no - fi - - if test x"$ac_cv_func_ext_krb5_fwd_tgt_creds" != x"yes" - then - AC_MSG_WARN(krb5_fwd_tgt_creds not found in -lkrb5) - use_ads=no - fi - - if test x"$ac_cv_func_ext_krb5_get_init_creds_opt_alloc" != x"yes" - then - AC_MSG_WARN(krb5_get_init_creds_opt_alloc found in -lkrb5) - use_ads=no - fi - - if test x"$smb_krb5_cv_creds_opt_free_context" != x"yes" - then - AC_MSG_WARN(krb5_get_init_creds_opt_free not found or was too old in -lkrb5) - use_ads=no - fi - - if test x"$ac_cv_func_ext_krb5_get_renewed_creds" != x"yes" - then - AC_MSG_WARN(krb5_get_renewed_creds not found in -lkrb5) - use_ads=no - fi - - if test x"$ac_cv_func_ext_krb5_principal_compare_any_realm" != x"yes" - then - AC_MSG_WARN(krb5_principal_compare_any_realm not found in -lkrb5) - use_ads=no - fi - - if test x"$ac_cv_func_ext_krb5_principal2salt" != x"yes" -o \ - x"$ac_cv_func_ext_krb5_c_string_to_key" != x"yes" - then - if test x"$ac_cv_func_ext_krb5_get_pw_salt" != x"yes" -o \ - x"$ac_cv_func_ext_krb5_string_to_key_salt" != x"yes" - then - AC_MSG_WARN(no CREATE_KEY_FUNCTIONS detected) - use_ads=no - fi - fi - - if test x"$ac_cv_func_ext_krb5_get_permitted_enctypes" != x"yes" -a \ - x"$ac_cv_func_ext_krb5_get_default_in_tkt_etypes" != x"yes" - then - AC_MSG_WARN(no GET_ENCTYPES_FUNCTIONS detected) - use_ads=no - fi - - if test x"$ac_cv_func_ext_krb5_kt_free_entry" != x"yes" -a \ - x"$ac_cv_func_ext_krb5_free_keytab_entry_contents" != x"yes" - then - AC_MSG_WARN(no KT_FREE_FUNCTION detected) - use_ads=no - fi - - if test x"$ac_cv_func_ext_krb5_c_verify_checksum" != x"yes" - then - AC_MSG_WARN(krb5_c_verify_checksum not found in -lkrb5) - use_ads=no - fi - - if test x"$ac_cv_func_ext_gss_wrap_iov" != x"yes" ; then - AC_MSG_WARN(gss_wrap_iov not found in -lgssapi) - use_ads=no - fi - - if test x"$ac_cv_func_ext_gss_get_name_attribute" != x"yes" ; then - if test x"$ac_cv_func_ext_gsskrb5_extract_authz_data_from_sec_context" != x"yes" -o \ - x"$ac_cv_func_ext_gss_inquire_sec_context_by_oid" != x"yes" - then - AC_MSG_WARN(need either gss_get_name_attribute or gsskrb5_extract_authz_data_from_sec_context and gss_inquire_sec_context_by_oid in -lgssapi for PAC support) - use_ads=no - fi - fi - - if test x"$use_ads" = x"yes"; then - AC_DEFINE(WITH_ADS,1,[Whether to include Active Directory support]) - AC_DEFINE(HAVE_KRB5,1,[Whether to have KRB5 support]) - else - if test x"$with_ads_support" = x"yes"; then - AC_MSG_ERROR(krb5 libs don't have all features required for Active Directory support) - else - AC_MSG_WARN(krb5 libs don't have all features required for Active Directory support) - fi - AC_REMOVE_DEFINE(HAVE_KRB5_H) - AC_REMOVE_DEFINE(HAVE_GSSAPI_H) - AC_REMOVE_DEFINE(HAVE_GSSAPI_GSSAPI_GENERIC_H) - AC_REMOVE_DEFINE(HAVE_GSSAPI_GSSAPI_H) - AC_REMOVE_DEFINE(HAVE_GSSAPI) - KRB5_LIBS="" - with_ads_support=no - fi - AC_MSG_CHECKING(whether Active Directory and krb5 support is used) - AC_MSG_RESULT([$use_ads]) - -LIBS="$ac_save_LIBS" -fi - -AC_CHECK_LIB_EXT(nscd, NSCD_LIBS, nscd_flush_cache) -PASSDB_LIBS="$PASSDB_LIBS $NSCD_LIBS" - - -######################################################## -# Compile with DNS Updates support? - -with_dnsupdate_support=auto -AC_MSG_CHECKING([whether to enable DNS Updates support]) - -AC_ARG_WITH(dnsupdate, -[AS_HELP_STRING([--with-dnsupdate], [Enable DNS Updates support (default=auto)])], -[ case "$withval" in - yes|no) - with_dnsupdate_support=$withval - ;; - esac ]) - -AC_MSG_RESULT($with_dnsupdate_support) - -if test x"$with_dnsupdate_support" != x"no"; then - - ################################################################ - # first test for AD / GSSAPI support being enabled - if test x"$have_gssapi" != xyes -o x"$use_ads" != xyes ; then - if test x"$with_dnsupdate_support" = x"yes" ; then - AC_MSG_ERROR(DNS Updates support only possible with AD and GSSAPI support) - else - AC_MSG_NOTICE(DNS Updates support only possible with AD and GSSAPI support) - with_dnsupdate_support=no - fi - fi -fi - -if test x"$with_dnsupdate_support" != x"no"; then - AC_DEFINE(WITH_DNS_UPDATES,1,[Whether to enable DNS Update support]) -fi - - # finally print out the result: -AC_MSG_CHECKING(whether DNS Updates support is used) -AC_MSG_RESULT([$with_dnsupdate_support]) - - -################################################# -# check for automount support -AC_MSG_CHECKING(whether to use automount) -AC_ARG_WITH(automount, -[AS_HELP_STRING([--with-automount], [Include automount support (default=no)])], -[ case "$withval" in - yes) - AC_MSG_RESULT(yes) - AC_DEFINE(WITH_AUTOMOUNT,1,[Whether to include automount support]) - ;; - *) - AC_MSG_RESULT(no) - ;; - esac ], - AC_MSG_RESULT(no) -) - -################################################# -# Check for a PAM clear-text auth, accounts, password -# and session support. Most PAM implementations keep their -# headers in /usr/include/security. Darwin keeps its in -# /usr/include/pam. - -with_pam_for_crypt=no -try_pam=auto -AC_MSG_CHECKING(whether to try PAM support) -AC_ARG_WITH(pam, -[AS_HELP_STRING([--with-pam], [Include PAM support (default=auto)])], -[ case "$withval" in - yes|no|auto) - try_pam=$withval - ;; - esac -]) -AC_MSG_RESULT([$try_pam]) - -use_pam=no -create_pam_modules=no -if test x"${try_pam}" != x"no";then - use_pam=yes - create_pam_modules=yes - - # Most systems have PAM headers in /usr/include/security, but Darwin - # has them in /usr/include/pam. - AC_CHECK_HEADERS(security/pam_appl.h pam/pam_appl.h) - if test x"$ac_cv_header_security_pam_appl_h" != x"yes" -a \ - x"$ac_cv_header_pam_pam_appl_h" != x"yes"; then - if test x"${try_pam}" = x"yes";then - AC_MSG_ERROR([--with-pam=yes but pam_appl.h not found]) - fi - use_pam=no - create_pam_modules=no - fi - - AC_CHECK_LIB_EXT(pam, PAM_LIBS, pam_get_data) - if test x"$ac_cv_lib_ext_pam_pam_get_data" != x"yes"; then - if test x"${try_pam}" = x"yes";then - AC_MSG_ERROR([--with-pam=yes but libpam not found]) - fi - use_pam=no - create_pam_modules=no - fi - - AC_CHECK_HEADERS(security/pam_modules.h pam/pam_modules.h,,,[[ - #if HAVE_SECURITY_PAM_APPL_H - #include <security/pam_appl.h> - #endif - #if HAVE_PAM_PAM_APPL_H - #include <pam/pam_appl.h> - #endif - ]]) - if test x"$ac_cv_header_security_pam_modules_h" = x"no" -a \ - x"$ac_cv_header_pam_pam_modules_h" = x"no" ; then - if test x"${try_pam}" = x"yes";then - AC_MSG_ERROR([--with-pam=yes but pam_modules.h not found]) - fi - create_pam_modules=no - fi - - if test x"$use_pam" = x"yes"; then - AC_DEFINE(WITH_PAM,1,[Whether to include PAM support]) - AC_DEFINE(HAVE_LIBPAM,1,[Whether libpam is available]) - AUTH_LIBS="$AUTH_LIBS $PAM_LIBS" - with_pam_for_crypt=yes - - if test x"$create_pam_modules" = x"yes"; then - AC_DEFINE(WITH_PAM_MODULES,1,[Whether to include PAM MODULES support]) - # this checks are optional, - # we don't care about the results here - AC_CHECK_HEADERS(security/pam_ext.h security/_pam_macros.h) - AC_CHECK_HEADERS(pam/pam_ext.h pam/_pam_macros.h) - AC_CHECK_FUNC_EXT(pam_vsyslog,$PAM_LIBS) - else - AC_MSG_WARN([PAM support detected but PAM MODULES support is missing]) - fi - fi - AC_MSG_CHECKING(whether to use PAM support) - AC_MSG_RESULT([$use_pam]) - - AC_MSG_CHECKING(whether to have PAM MODULES support) - AC_MSG_RESULT([$create_pam_modules]) - - AC_TRY_COMPILE([ - #if defined(HAVE_SECURITY_PAM_APPL_H) - #include <security/pam_appl.h> - #elif defined(HAVE_PAM_PAM_APPL_H) - #include <pam/pam_appl.h> - #endif],[ - pam_set_item(0, PAM_RHOST, 0); - ], - AC_DEFINE(HAVE_PAM_RHOST, 1, - [Define to 1 if PAM_RHOST is available]),[]) - - AC_TRY_COMPILE([ - #if defined(HAVE_SECURITY_PAM_APPL_H) - #include <security/pam_appl.h> - #elif defined(HAVE_PAM_PAM_APPL_H) - #include <pam/pam_appl.h> - #endif],[ - pam_set_item(0, PAM_TTY, 0); - ], - AC_DEFINE(HAVE_PAM_TTY, 1, - [Define to 1 if PAM_TTY is available]),[]) - -fi # try_pam != no - -################################################# -# check for PAM_RADIO_TYPE -AC_TRY_COMPILE([ -#if (!defined(LINUX)) - -#define PAM_EXTERN extern -#if defined(HAVE_SECURITY_PAM_APPL_H) -#include <security/pam_appl.h> -#elif defined(HAVE_PAM_PAM_APPL_H) -#include <pam/pam_appl.h> -#endif - -#endif - -#if defined(HAVE_SECURITY_PAM_MODULES_H) -#include <security/pam_modules.h> -#elif defined(HAVE_PAM_PAM_MODULES_H) -#include <pam/pam_modules.h> -#endif - -#if defined(HAVE_SECURITY__PAM_MACROS_H) -#include <security/_pam_macros.h> -#elif defined(HAVE_PAM__PAM_MACROS_H) -#include <pam/_pam_macros.h> -#endif - -#ifdef HAVE_SECURITY_PAM_EXT_H -#include <security/pam_ext.h> -#endif -], -[int i; i = PAM_RADIO_TYPE; ], -AC_DEFINE(HAVE_PAM_RADIO_TYPE, 1, [Define to 1 if PAM_RADIO_TYPE is available]),[]) - -################################################# -# check for pam_smbpass support -PAM_MODULES="" -INSTALL_PAM_MODULES="" -UNINSTALL_PAM_MODULES="" - -try_pam_smbpass=auto -AC_MSG_CHECKING(whether to use pam_smbpass) -AC_ARG_WITH(pam_smbpass, -[AS_HELP_STRING([--with-pam_smbpass], [Build PAM module for authenticating against passdb backends (default=auto)])], -[ case "$withval" in - yes|no|auto) - try_pam_smbpass=$withval - ;; - *) - AC_MSG_ERROR([valid options are yes,no,auto]) - ;; - esac -]) - -if test x"${try_pam_smbpass}" = xno ; then - use_pam_smbpass=no -else - use_pam_smbpass=yes - # Conditions under which pam_smbpass can't be built. - if test x"$BLDSHARED" != xtrue ; then - if test x"${try_pam_smbpass}" = xyes ; then - AC_MSG_ERROR([No support for shared modules]) - fi - use_pam_smbpass=no - elif test x"$create_pam_modules" != xyes ; then - if test x"${try_pam_smbpass}" = xyes ; then - AC_MSG_ERROR([No support for PAM MODULES]) - fi - use_pam_smbpass=no - fi - - if test x"${use_pam_smbpass}" = xyes ; then - PAM_MODULES="pam_smbpass" - INSTALL_PAM_MODULES="installpammodules" - UNINSTALL_PAM_MODULES="uninstallpammodules" - fi -fi -AC_MSG_RESULT([$use_pam_smbpass]) - - -## -## moved after the check for -lcrypt in order to -## ensure that the necessary libraries are included -## check checking for truncated salt. Wrapped by the -## $with_pam_for_crypt variable as above --jerry -## -if test $with_pam_for_crypt = no; then -AC_CACHE_CHECK([for a crypt that needs truncated salt],samba_cv_HAVE_TRUNCATED_SALT,[ -crypt_LIBS="$LIBS" -LIBS="$AUTH_LIBS $LIBS" -AC_TRY_RUN([#include "${srcdir-.}/../tests/crypttest.c"], - samba_cv_HAVE_TRUNCATED_SALT=no,samba_cv_HAVE_TRUNCATED_SALT=yes,samba_cv_HAVE_TRUNCATED_SALT=cross) -LIBS="$crypt_LIBS"]) -if test x"$samba_cv_HAVE_TRUNCATED_SALT" = x"yes"; then - AC_DEFINE(HAVE_TRUNCATED_SALT,1,[Whether crypt needs truncated salt]) -fi -fi - -################################################# -# check for a NISPLUS_HOME support -AC_MSG_CHECKING(whether to use NISPLUS_HOME) -AC_ARG_WITH(nisplus-home, -[AS_HELP_STRING([--with-nisplus-home], [Include NISPLUS_HOME support (default=no)])], -[ case "$withval" in - yes) - AC_MSG_RESULT(yes) - AC_DEFINE(WITH_NISPLUS_HOME,1,[Whether to include nisplus_home support]) - ;; - *) - AC_MSG_RESULT(no) - ;; - esac ], - AC_MSG_RESULT(no) -) - -################################################# -# check for syslog logging -AC_MSG_CHECKING(whether to use syslog logging) -AC_ARG_WITH(syslog, -[AS_HELP_STRING([--with-syslog], [Include experimental SYSLOG support (default=no)])], -[ case "$withval" in - yes) - AC_MSG_RESULT(yes) - AC_DEFINE(WITH_SYSLOG,1,[Whether to include experimental syslog support]) - ;; - *) - AC_MSG_RESULT(no) - ;; - esac ], - AC_MSG_RESULT(no) -) - -################################################# -# check for custom syslog facility -AC_MSG_CHECKING(whether to use a custom syslog facility) -AC_ARG_WITH(syslog-facility, -[AS_HELP_STRING([--with-syslog-facility], [Use a custom syslog facility (default=none)])], -[ - if test "$withval" = "no" ; then - AC_MSG_ERROR([argument to --with-syslog-facility must be a string]) - else - AC_MSG_RESULT([$withval]) - if test "$withval" != "yes" ; then - syslog_facility="$withval" - AC_DEFINE_UNQUOTED(SYSLOG_FACILITY,$syslog_facility, [syslog facility to log to]) - fi - fi -], -AC_MSG_RESULT(no) -) - -################################################# -# check for experimental disk-quotas support - -samba_cv_WITH_QUOTAS=auto -samba_cv_SYSQUOTA_FOUND=no - -AC_MSG_CHECKING(whether to try disk-quotas support) -AC_ARG_WITH(quotas, -[AS_HELP_STRING([--with-quotas], [Include disk-quota support (default=no)])], -[ case "$withval" in - yes) - AC_MSG_RESULT(yes) - samba_cv_WITH_QUOTAS=yes - ;; - auto) - AC_MSG_RESULT(auto) - samba_cv_WITH_QUOTAS=auto - ;; - no) - AC_MSG_RESULT(no) - samba_cv_WITH_QUOTAS=no - ;; - *) - AC_MSG_RESULT(${samba_cv_WITH_QUOTAS}) - ;; - esac ], - AC_MSG_RESULT(${samba_cv_WITH_QUOTAS}) -) - -############################################# -# only check for quota stuff if --with-quotas -if test x"$samba_cv_WITH_QUOTAS" != x"no"; then - -case "$host_os" in - # on linux we didn't need to test we have builtin support - *linux*) - samba_cv_SYSQUOTA_FOUND=yes - AC_DEFINE(HAVE_QUOTACTL_LINUX,1,[Whether Linux quota support is available]) - AC_MSG_CHECKING(whether to use the lib/sysquotas_linux.c builtin support) - AC_MSG_RESULT(yes) - - AC_MSG_CHECKING(whether to use the lib/sysquotas_xfs.c builtin support) - AC_MSG_RESULT(yes) - ;; - *solaris*) - # need to set this define when using static linking (BUG 1473) - CPPFLAGS="$CPPFLAGS -DSUNOS5" - ;; - *) - ;; -esac - -# some broken header files need this -AC_CHECK_HEADER(asm/types.h,[ - AC_DEFINE(HAVE_ASM_TYPES_H,1,[check for <asm/types.h>]) - AC_ADD_INCLUDE(<asm/types.h>) - ]) - -# For quotas on Veritas VxFS filesystems -AC_CHECK_HEADERS(sys/fs/vx_quota.h) - -# For quotas on XFS filesystems, Linux style -AC_CHECK_HEADERS(xfs/xqm.h,[ - AC_DEFINE(HAVE_XFS_QUOTAS,1,[Whether xfs quota support is available]) - ]) - -# For sys/quota.h and linux/quota.h -AC_CHECK_HEADERS(sys/quota.h) - -# For quotas on BSD systems -AC_CHECK_HEADERS(ufs/ufs/quota.h) - - -if test x"$ac_cv_header_xfs_xqm_h" != x"yes"; then -# if we have xfs quota support <sys/quota.h> (IRIX) we should use it -AC_CACHE_CHECK([for XFS QUOTA in <sys/quota.h>],samba_cv_HAVE_SYS_QUOTA_XFS, [ -AC_TRY_COMPILE([ -#include "confdefs.h" -#ifdef HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif -#ifdef HAVE_ASM_TYPES_H -#include <asm/types.h> -#endif -#include <sys/quota.h> -],[int i = Q_XGETQUOTA;], -samba_cv_HAVE_SYS_QUOTA_XFS=yes,samba_cv_HAVE_SYS_QUOTA_XFS=no)]) -if test "$samba_cv_HAVE_SYS_QUOTA_XFS"x = "yes"x; then - AC_DEFINE(HAVE_XFS_QUOTAS,1,[Whether xfs quota support is available]) -fi -fi - -# if we have struct dqblk .dqb_fsoftlimit instead of .dqb_isoftlimit on IRIX -AC_CACHE_CHECK([if struct dqblk has .dqb_fsoftlimit],samba_cv_HAVE_DQB_FSOFTLIMIT, [ -AC_TRY_COMPILE([ -#include "confdefs.h" -#ifdef HAVE_SYS_QUOTA_H -#include <sys/quota.h> -#endif -],[ -struct dqblk D; -D.dqb_fsoftlimit = 0;], -samba_cv_HAVE_DQB_FSOFTLIMIT=yes,samba_cv_HAVE_DQB_FSOFTLIMIT=no)]) -if test "$samba_cv_HAVE_DQB_FSOFTLIMIT"x = "yes"x; then - AC_DEFINE(HAVE_DQB_FSOFTLIMIT,1,[struct dqblk .dqb_fsoftlimit]) -fi - -################## -# look for a working quota system - -if test x"$samba_cv_SYSQUOTA_FOUND" != x"yes"; then -AC_CACHE_CHECK([for long quotactl(int cmd, char *special, qid_t id, caddr_t addr)],samba_cv_HAVE_QUOTACTL_4A,[ -AC_TRY_RUN_STRICT([ -#define HAVE_QUOTACTL_4A 1 -#define AUTOCONF_TEST 1 -#include "confdefs.h" -#include "${srcdir-.}/../../tests/sysquotas.c"],[$CFLAGS $Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS], - samba_cv_HAVE_QUOTACTL_4A=yes,samba_cv_HAVE_QUOTACTL_4A=no,samba_cv_HAVE_QUOTACTL_4A=cross)]) -if test x"$samba_cv_HAVE_QUOTACTL_4A" = x"yes"; then - samba_cv_SYSQUOTA_FOUND=yes; - AC_DEFINE(HAVE_QUOTACTL_4A,1,[Whether long quotactl(int cmd, char *special, qid_t id, caddr_t addr) is available]) -fi -fi - -if test x"$samba_cv_SYSQUOTA_FOUND" != x"yes"; then -AC_CACHE_CHECK([for int quotactl(const char *path, int cmd, int id, char *addr)],samba_cv_HAVE_QUOTACTL_4B,[ -AC_TRY_RUN_STRICT([ -#define HAVE_QUOTACTL_4B 1 -#define AUTOCONF_TEST 1 -#include "confdefs.h" -#include "${srcdir-.}/../../tests/sysquotas.c"],[$CFLAGS $Werror_FLAGS],[$CPPFLAGS],[$LDFLAGS], - samba_cv_HAVE_QUOTACTL_4B=yes,samba_cv_HAVE_QUOTACTL_4B=no,samba_cv_HAVE_QUOTACTL_4B=cross)]) -if test x"$samba_cv_HAVE_QUOTACTL_4B" = x"yes"; then - samba_cv_SYSQUOTA_FOUND=yes; - AC_DEFINE(HAVE_QUOTACTL_4B,1,[Whether int quotactl(const char *path, int cmd, int id, char *addr) is available]) - AC_CHECK_MEMBERS([struct dqblk.dqb_curbytes], # Darwin bytecount style - [ AC_DEFINE([HAVE_STRUCT_DQBLK_DQB_CURBYTES],[1],[darwin style quota bytecount])],, - [#include <sys/types.h> - #include <sys/quota.h>]) - -fi -fi - -AC_CACHE_CHECK([for NFS QUOTAS],samba_cv_HAVE_NFS_QUOTAS,[ -AC_TRY_COMPILE([ -#include <rpc/rpc.h> -#include <rpc/types.h> -#include <rpcsvc/rquota.h> -#ifdef HAVE_RPC_NETTYPE_H -#include <rpc/nettype.h> -#endif -#include <rpc/xdr.h> -],[clnt_create("", RQUOTAPROG, RQUOTAVERS, "udp");], - samba_cv_HAVE_NFS_QUOTAS=yes, samba_cv_HAVE_NFS_QUOTAS=no)]) - -if test x"$samba_cv_HAVE_NFS_QUOTAS" = x"yes"; then - AC_DEFINE(HAVE_NFS_QUOTAS,1,[NFS quota support is available]) - AC_CHECK_MEMBER(struct getquota_rslt.getquota_rslt_u, - AC_DEFINE(HAVE_GETQUOTA_RSLT_GETQUOTA_RSLT_U, 1, [Defined if struct getquota_rslt has getquota_rslt_u]),, - [#include <rpcsvc/rquota.h>]) -fi - -################################################# -# check for mntent.h and struct mntent -AC_CHECK_HEADERS(mntent.h) -################################################# -# check for setmntent,getmntent,endmntent -AC_CHECK_FUNCS(setmntent getmntent endmntent) - -################################################# -# check for devnm.h and struct mntent -AC_CHECK_HEADERS(devnm.h) -################################################# -# check for devnm -AC_CHECK_FUNCS(devnm) - -AC_MSG_CHECKING(whether to use the new lib/sysquotas.c interface) -if test x"$samba_cv_SYSQUOTA_FOUND" = x"yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE(WITH_QUOTAS,1,[Whether to use disk quota support]) - AC_DEFINE(HAVE_SYS_QUOTAS,1,[Whether the new lib/sysquotas.c interface can be used]) -else - AC_MSG_RESULT(no) - AC_MSG_CHECKING(whether to use the old quota support) - if test x"$samba_cv_WITH_QUOTAS" = x"yes"; then - AC_DEFINE(WITH_QUOTAS,1,[Whether to use old quota support]) - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - fi -fi - -#################### -# End of quota check samba_cv_WITH_QUOTAS -fi - -################################################# -# check for experimental utmp accounting - -AC_MSG_CHECKING(whether to support utmp accounting) -WITH_UTMP=yes -AC_ARG_WITH(utmp, -[AS_HELP_STRING([--with-utmp], [Include utmp accounting (default, if supported by OS)])], -[ case "$withval" in - no) - WITH_UTMP=no - ;; - *) - WITH_UTMP=yes - ;; - esac ], -) - -# utmp requires utmp.h -# Note similar check earlier, when checking utmp details. - -if test x"$WITH_UTMP" = x"yes" -a x"$ac_cv_header_utmp_h" = x"no"; then - utmp_no_reason=", no utmp.h on $host_os" - WITH_UTMP=no -fi - -if test x"$WITH_UTMP" = x"yes" -a x"$samba_cv_HAVE_UX_UT_LINE" != x"yes"; then - utmp_no_reason=", sizeof ut_line not ok" - WITH_UTMP=no -fi - -# Display test results - -if test x"$WITH_UTMP" = x"yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE(WITH_UTMP,1,[Whether to include experimental utmp accounting]) -else - AC_MSG_RESULT(no$utmp_no_reason) -fi - - -################################################# -# these tests are taken from the GNU fileutils package -AC_CHECKING(how to get filesystem space usage) -space=no - -# Perform only the link test since it seems there are no variants of the -# statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs) -# because that got a false positive on SCO OSR5. Adding the declaration -# of a `struct statvfs' causes this test to fail (as it should) on such -# systems. That system is reported to work fine with STAT_STATFS4 which -# is what it gets when this test fails. -if test $space = no; then - # SVR4 - AC_CACHE_CHECK([statvfs function (SVR4)], fu_cv_sys_stat_statvfs, - [AC_TRY_LINK([#include <sys/types.h> -#include <sys/statvfs.h>], - [struct statvfs fsd; statvfs (0, &fsd);], - fu_cv_sys_stat_statvfs=yes, - fu_cv_sys_stat_statvfs=no)]) - if test $fu_cv_sys_stat_statvfs = yes; then - space=yes - AC_DEFINE(STAT_STATVFS,1,[Whether statvfs() is available]) - fi -fi - -# smbd/statvfs.c assumes that statvfs.f_fsid is an integer. -# This is not the case on ancient Linux systems. - -AC_CACHE_CHECK([that statvfs.f_fsid is an integer],samba_cv_fsid_int, [ - AC_TRY_COMPILE([#include <sys/types.h> -#include <sys/statvfs.h>],[struct statvfs buf; buf.f_fsid = 0], - samba_cv_fsid_int=yes,samba_cv_fsid_int=no)]) -if test x"$samba_cv_fsid_int" = x"yes"; then - AC_DEFINE(HAVE_FSID_INT, 1, [Whether statvfs.f_fsid is an integer]) -fi - -# fsusage.c assumes that statvfs has an f_frsize entry. Some weird -# systems use f_bsize. -AC_CACHE_CHECK([that statvfs.f_frsize works],samba_cv_frsize, [ - AC_TRY_COMPILE([#include <sys/types.h> -#include <sys/statvfs.h>],[struct statvfs buf; buf.f_frsize = 0], - samba_cv_frsize=yes,samba_cv_frsize=no)]) -if test x"$samba_cv_frsize" = x"yes"; then - AC_DEFINE(HAVE_FRSIZE, 1, [Whether statvfs.f_frsize exists]) -fi - -# Some systems use f_flag in struct statvfs while others use f_flags -AC_CACHE_CHECK([that statvfs.statvfs_f_flag works],samba_cv_statvfs_f_flag, [ - AC_TRY_COMPILE([#include <sys/types.h> -#include <sys/statvfs.h>],[struct statvfs buf; buf.f_flag = 0], - samba_cv_statvfs_f_flag=yes,samba_cv_statvfs_f_flag=no)]) -if test x"$samba_cv_statvfs_f_flag" = x"yes"; then - AC_DEFINE(HAVE_STATVFS_F_FLAG, 1, [Whether statvfs.f_flag exists]) -fi - -AC_CACHE_CHECK([that statvfs.statvfs_f_flags works],samba_cv_statvfs_f_flags, [ - AC_TRY_COMPILE([#include <sys/types.h> -#include <sys/statvfs.h>],[struct statvfs buf; buf.f_flags = 0], - samba_cv_statvfs_f_flags=yes,samba_cv_statvfs_f_flags=no)]) -if test x"$samba_cv_statvfs_f_flags" = x"yes"; then - AC_DEFINE(HAVE_STATVFS_F_FLAGS, 1, [Whether statvfs.f_flags exists]) -fi - -if test $space = no; then - # DEC Alpha running OSF/1 - AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)]) - AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1, - [AC_TRY_RUN([ -#include <sys/param.h> -#include <sys/types.h> -#include <sys/mount.h> - main () - { - struct statfs fsd; - fsd.f_fsize = 0; - return (statfs (".", &fsd, sizeof (struct statfs))); - }], - fu_cv_sys_stat_statfs3_osf1=yes, - fu_cv_sys_stat_statfs3_osf1=no, - fu_cv_sys_stat_statfs3_osf1=no)]) - AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1) - if test $fu_cv_sys_stat_statfs3_osf1 = yes; then - space=yes - AC_DEFINE(STAT_STATFS3_OSF1,1,[Whether statfs requires 3 arguments]) - fi -fi - -if test $space = no; then -# AIX - AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl -member (AIX, 4.3BSD)]) - AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize, - [AC_TRY_RUN([ -#ifdef HAVE_SYS_PARAM_H -#include <sys/param.h> -#endif -#ifdef HAVE_SYS_MOUNT_H -#include <sys/mount.h> -#endif -#ifdef HAVE_SYS_VFS_H -#include <sys/vfs.h> -#endif - main () - { - struct statfs fsd; - fsd.f_bsize = 0; - return (statfs (".", &fsd)); - }], - fu_cv_sys_stat_statfs2_bsize=yes, - fu_cv_sys_stat_statfs2_bsize=no, - fu_cv_sys_stat_statfs2_bsize=no)]) - AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize) - if test $fu_cv_sys_stat_statfs2_bsize = yes; then - space=yes - AC_DEFINE(STAT_STATFS2_BSIZE,1,[Whether statfs requires two arguments and struct statfs has bsize property]) - fi -fi - -if test $space = no; then -# SVR3 - AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)]) - AC_CACHE_VAL(fu_cv_sys_stat_statfs4, - [AC_TRY_RUN([#include <sys/types.h> -#include <sys/statfs.h> - main () - { - struct statfs fsd; - return (statfs (".", &fsd, sizeof fsd, 0)); - }], - fu_cv_sys_stat_statfs4=yes, - fu_cv_sys_stat_statfs4=no, - fu_cv_sys_stat_statfs4=no)]) - AC_MSG_RESULT($fu_cv_sys_stat_statfs4) - if test $fu_cv_sys_stat_statfs4 = yes; then - space=yes - AC_DEFINE(STAT_STATFS4,1,[Whether statfs requires 4 arguments]) - fi -fi - -if test $space = no; then -# 4.4BSD and NetBSD - AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl -member (4.4BSD and NetBSD)]) - AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize, - [AC_TRY_RUN([#include <sys/types.h> -#ifdef HAVE_SYS_PARAM_H -#include <sys/param.h> -#endif -#ifdef HAVE_SYS_MOUNT_H -#include <sys/mount.h> -#endif - main () - { - struct statfs fsd; - fsd.f_fsize = 0; - return (statfs (".", &fsd)); - }], - fu_cv_sys_stat_statfs2_fsize=yes, - fu_cv_sys_stat_statfs2_fsize=no, - fu_cv_sys_stat_statfs2_fsize=no)]) - AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize) - if test $fu_cv_sys_stat_statfs2_fsize = yes; then - space=yes - AC_DEFINE(STAT_STATFS2_FSIZE,1,[Whether statfs requires 2 arguments and struct statfs has fsize]) - fi -fi - -if test $space = no; then - # Ultrix - AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)]) - AC_CACHE_VAL(fu_cv_sys_stat_fs_data, - [AC_TRY_RUN([#include <sys/types.h> -#ifdef HAVE_SYS_PARAM_H -#include <sys/param.h> -#endif -#ifdef HAVE_SYS_MOUNT_H -#include <sys/mount.h> -#endif -#ifdef HAVE_SYS_FS_TYPES_H -#include <sys/fs_types.h> -#endif - main () - { - struct fs_data fsd; - /* Ultrix's statfs returns 1 for success, - 0 for not mounted, -1 for failure. */ - return (statfs (".", &fsd) != 1); - }], - fu_cv_sys_stat_fs_data=yes, - fu_cv_sys_stat_fs_data=no, - fu_cv_sys_stat_fs_data=no)]) - AC_MSG_RESULT($fu_cv_sys_stat_fs_data) - if test $fu_cv_sys_stat_fs_data = yes; then - space=yes - AC_DEFINE(STAT_STATFS2_FS_DATA,1,[Whether statfs requires 2 arguments and struct fs_data is available]) - fi -fi - -################################################# -# check for cluster extensions - -AC_MSG_CHECKING(cluster support) -AC_ARG_WITH(cluster-support, -[AS_HELP_STRING([--with-cluster-support], [Enable cluster extensions (default=auto)])]) - -if test x"$with_cluster_support" = x ; then - with_cluster_support="auto" -fi - -AC_MSG_RESULT($with_cluster_support) - -AC_ARG_WITH(ctdb, -[AS_HELP_STRING([--with-ctdb=DIR], [Where to find ctdb sources])], -[ case "$withval" in - yes|no) - AC_MSG_WARN([--with-ctdb called without argument]) - ;; - *) - CTDB_CPPFLAGS="-I$withval/include" - ;; - esac]) - -AC_ARG_ENABLE(old-ctdb, - [AS_HELP_STRING([--enable-old-ctdb], - [Enable build against (too) old ctdb version (default=no)])],, - [enable_old_ctdb=no]) - - -if test "$with_cluster_support" != "no" ; then - -AC_MSG_NOTICE(checking whether cluster support is available) - -have_cluster_support="yes" -ctdb_broken="no" - -SAVED_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="$CPPFLAGS ${SAMBA_CONFIGURE_CPPFLAGS} $CTDB_CPPFLAGS" - -AC_CHECK_HEADERS(ctdb.h ctdb_private.h ctdb_protocol.h ,,,[ -#include "confdefs.h" -#define NO_CONFIG_H -#include "replace.h" -#include "system/wait.h" -#include "system/network.h" -#define private #error __USED_RESERVED_WORD_private__ -#include <talloc.h> -#include <tdb.h> -#include <ctdb.h> -]) - -if test "x$have_cluster_support" = "xyes" -a \ - "x$ac_cv_header_ctdb_h" != "xyes" -then - have_cluster_support=no - ctdb_broken="ctdb.h is required for cluster support" -fi - -if test "x$have_cluster_support" = "xyes" -a \ - "x$ac_cv_header_ctdb_private_h" != "xyes" -then - have_cluster_support=no - ctdb_broken="ctdb_private.h is required for cluster support" -fi - - -if test "x$have_cluster_support" = "xyes" ; then - AC_HAVE_DECL(CTDB_CONTROL_TRANS3_COMMIT,[ - #include "confdefs.h" - #define NO_CONFIG_H - #include "replace.h" - #include "system/wait.h" - #include "system/network.h" - #include <talloc.h> - #include <tdb.h> - #include <ctdb.h> - #include <ctdb_private.h> - ]) - if test x"$ac_cv_have_CTDB_CONTROL_TRANS3_COMMIT_decl" != x"yes"; then - ctdb_broken="ctdb transaction support missing or too old" - have_cluster_support=no - fi -fi - -if test "x$have_cluster_support" = "xyes" ; then - AC_HAVE_DECL(CTDB_CONTROL_SCHEDULE_FOR_DELETION,[ - #include "confdefs.h" - #define NO_CONFIG_H - #include "replace.h" - #include "system/wait.h" - #include "system/network.h" - #include <talloc.h> - #include <tdb.h> - #include <ctdb.h> - #include <ctdb_private.h> - ]) - if test x"$ac_cv_have_CTDB_CONTROL_SCHEDULE_FOR_DELETION_decl" != x"yes" - then - if test "x$enable_old_ctdb" = "xyes" ; then - AC_MSG_WARN([ignoring missing SCHEDULE_FOR_DELETION (--enable-old-ctdb)]) - else - ctdb_broken="support for SCHEDULE_FOR_DELETION control missing" - have_cluster_support=no - fi - fi -fi - -if test "x$have_cluster_support" = "xyes" ; then - AC_HAVE_DECL(CTDB_CONTROL_CHECK_SRVIDS,[ - #include "confdefs.h" - #define NO_CONFIG_H - #include "replace.h" - #include "system/wait.h" - #include "system/network.h" - #include <talloc.h> - #include <tdb.h> - #include <ctdb.h> - #include <ctdb_private.h> - ]) - if test x"$ac_cv_have_CTDB_CONTROL_CHECK_SRVIDS_decl" != x"yes" - then - if test "x$enable_old_ctdb" = "xyes" ; then - AC_MSG_WARN([ignoring missing CHECK_SRVIDS (--enable-old-ctdb)]) - else - ctdb_broken="support for CHECK_SRVIDS control missing" - have_cluster_support=no - fi - fi -fi - -AC_ARG_ENABLE([ctdb-readonly-records], - AS_HELP_STRING([--enable-ctdb-readonly-records], - [Turn on CTDB readonly records support (default=yes)]), - [want_ctdb_readonly=$enableval], - [want_ctdb_readonly=yes]) - -if test "x$have_cluster_support" = "xyes" -a "x$want_ctdb_readonly" = "xyes" ; then - AC_HAVE_DECL(CTDB_WANT_READONLY,[ - #include "confdefs.h" - #define NO_CONFIG_H - #include "replace.h" - #include "system/wait.h" - #include "system/network.h" - #include <talloc.h> - #include <tdb.h> - #include <ctdb.h> - ]) - - if test "x$ac_cv_have_CTDB_WANT_READONLY_decl" != "xyes" ; then - if test "x$enable_old_ctdb" = "xyes" ; then - AC_MSG_WARN([ignoring missing READONLY support (--enable-old-ctdb)]) - else - ctdb_broken="support for CTDB readonly records missing" - have_cluster_support=no - fi - fi -fi - -if test "x$have_cluster_support" = "xyes" ; then - # In ctdb 1.0.57, ctdb_control_tcp was temporarily renamed - # to ctdb_tcp_client. - AC_CHECK_TYPE(struct ctdb_tcp_client,[ - AC_DEFINE([ctdb_control_tcp],[ctdb_tcp_client],[ctdb ipv4 support]) - ],,[ - #include "confdefs.h" - #define NO_CONFIG_H - #include "replace.h" - #include "system/wait.h" - #include "system/network.h" - #include <talloc.h> - #include <tdb.h> - #include <ctdb.h> - #include <ctdb_private.h> - ]) -fi - -if test "x$have_cluster_support" = "xyes" ; then - AC_CHECK_TYPE(struct ctdb_control_tcp,[ - AC_DEFINE([HAVE_STRUCT_CTDB_CONTROL_TCP],[1],[ctdb ipv4 support]) - ],[ - ctdb_broken="missing struct ctdb_control_tcp" - have_cluster_support=no - ],[ - #include "confdefs.h" - #define NO_CONFIG_H - #include "replace.h" - #include "system/wait.h" - #include "system/network.h" - #include <talloc.h> - #include <tdb.h> - #include <ctdb.h> - #include <ctdb_private.h> - ]) -fi - -# test for optional ipv6 support in ctdb: -if test "x$have_cluster_support" = "xyes" ; then - AC_CHECK_TYPE(struct ctdb_control_tcp_addr,[ - AC_DEFINE([HAVE_STRUCT_CTDB_CONTROL_TCP_ADDR],[1],[ctdb ipv6 support]) - ],,[ - #include "confdefs.h" - #define NO_CONFIG_H - #include "replace.h" - #include "system/wait.h" - #include "system/network.h" - #include <talloc.h> - #include <tdb.h> - #include <ctdb.h> - #include <ctdb_private.h> - ]) -fi - -CPPFLAGS="$SAVED_CPPFLAGS" - -fi # (if test "$with_cluster_support" != "no") - -if test x"$have_cluster_support" = "xno" ; then - case "$with_cluster_support" in - yes) - AC_MSG_ERROR(["cluster support not available: $ctdb_broken"]) - ;; - auto) - AC_MSG_WARN(["cluster support not available: $ctdb_broken"]) - ;; - esac - with_cluster_support=no -fi - -if test "x$with_cluster_support" != "xno"; then - AC_DEFINE(CLUSTER_SUPPORT,1,[Whether to enable cluster extensions]) - SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${CTDB_CPPFLAGS}" - AC_MSG_NOTICE(Building with cluster support) -else - AC_MSG_NOTICE(Building without cluster support) -fi - - -################################################# -# check for rtnetlink - -AC_CHECK_HEADERS([linux/netlink.h], - AC_CHECK_HEADERS([linux/rtnetlink.h],[],[], - [#include <bits/sockaddr.h> - #include <linux/netlink.h>]), - [],[#include <bits/sockaddr.h>]) - -################################################# -# check for ACL support - -AC_MSG_CHECKING(whether to support ACLs) -AC_ARG_WITH(acl-support, -[AS_HELP_STRING([--with-acl-support], [Include ACL support (default=auto)])], -[ case "$withval" in - yes|no) - with_acl_support="$withval" - ;; - esac ]) - -if test x"$with_acl_support" = x ; then - with_acl_support="auto" -fi - -AC_MSG_RESULT($with_acl_support) - -if test x"$with_acl_support" = x"no"; then - AC_MSG_RESULT(Disabling ACL support) -else - AC_MSG_NOTICE(checking whether ACL support is available:) - case "$host_os" in - *sysv5*) - AC_MSG_NOTICE(Using UnixWare ACLs) - AC_DEFINE(HAVE_UNIXWARE_ACLS,1,[Whether UnixWare ACLs are available]) - default_static_modules="$default_static_modules vfs_solarisacl" - ;; - *solaris*) - AC_MSG_NOTICE(Using solaris ACLs) - AC_DEFINE(HAVE_SOLARIS_ACLS,1,[Whether solaris ACLs are available]) - ACL_LIBS="$ACL_LIBS -lsec" - default_static_modules="$default_static_modules vfs_solarisacl" - ;; - *hpux*) - AC_MSG_NOTICE(Using HPUX ACLs) - AC_DEFINE(HAVE_HPUX_ACLS,1,[Whether HPUX ACLs are available]) - default_static_modules="$default_static_modules vfs_hpuxacl" - ;; - *aix*) - AC_MSG_NOTICE(Using AIX ACLs) - AC_DEFINE(HAVE_AIX_ACLS,1,[Whether AIX ACLs are available]) - default_static_modules="$default_static_modules vfs_aixacl" - ;; - *osf*) - AC_MSG_NOTICE(Using Tru64 ACLs) - AC_DEFINE(HAVE_TRU64_ACLS,1,[Whether Tru64 ACLs are available]) - ACL_LIBS="$ACL_LIBS -lpacl" - default_static_modules="$default_static_modules vfs_tru64acl" - ;; - *darwin*) - AC_MSG_NOTICE(ACLs on Darwin currently not supported) - ;; - *) - AC_CHECK_LIB(acl,acl_get_file,[ACL_LIBS="$ACL_LIBS -lacl"]) - case "$host_os" in - *linux*) - AC_CHECK_LIB(attr,getxattr,[ACL_LIBS="$ACL_LIBS -lattr"]) - ;; - esac - AC_CACHE_CHECK([for POSIX ACL support],samba_cv_HAVE_POSIX_ACLS,[ - acl_LIBS=$LIBS - LIBS="$LIBS $ACL_LIBS" - AC_TRY_LINK([ - #include <sys/types.h> - #include <sys/acl.h> - ],[ - acl_t acl; - int entry_id; - acl_entry_t *entry_p; - return acl_get_entry(acl, entry_id, entry_p); - ], - [samba_cv_HAVE_POSIX_ACLS=yes], - [samba_cv_HAVE_POSIX_ACLS=no]) - LIBS=$acl_LIBS - ]) - if test x"$samba_cv_HAVE_POSIX_ACLS" = x"yes"; then - AC_MSG_NOTICE(Using posix ACLs) - AC_DEFINE(HAVE_POSIX_ACLS,1,[Whether POSIX ACLs are available]) - AC_CACHE_CHECK([for acl_get_perm_np],samba_cv_HAVE_ACL_GET_PERM_NP,[ - acl_LIBS=$LIBS - LIBS="$LIBS $ACL_LIBS" - AC_TRY_LINK([ - #include <sys/types.h> - #include <sys/acl.h> - ],[ - acl_permset_t permset_d; - acl_perm_t perm; - return acl_get_perm_np(permset_d, perm); - ], - [samba_cv_HAVE_ACL_GET_PERM_NP=yes], - [samba_cv_HAVE_ACL_GET_PERM_NP=no]) - LIBS=$acl_LIBS - ]) - if test x"$samba_cv_HAVE_ACL_GET_PERM_NP" = x"yes"; then - AC_DEFINE(HAVE_ACL_GET_PERM_NP,1,[Whether acl_get_perm_np() is available]) - fi - default_static_modules="$default_static_modules vfs_posixacl" - else - AC_MSG_NOTICE(ACL support is not avaliable) - fi - ;; - esac -fi # with_acl_support - -################################################# -# check if we have FreeBSD sunacl -case "$host_os" in -*freebsd*) - AC_CHECK_HEADER(sunacl.h) - if test x"$ac_cv_header_sunacl_h" = xyes ; then - AC_DEFINE(HAVE_FREEBSD_SUNACL_H,1,[Whether we have FreeBSD sunacl around]) - ZFSACL_LIBS=-lsunacl - AC_SUBST(ZFSACL_LIBS) - default_shared_modules="$default_shared_modules vfs_zfsacl" - fi - ;; -esac - -################################################# -# check for AIO support - -with_aio=auto -AC_MSG_CHECKING(whether to support asynchronous io) -AC_ARG_WITH(aio-support, -[AS_HELP_STRING([--with-aio-support], [Include asynchronous io support (default=auto)])], -[ case "$withval" in - yes|no) - with_aio=$withval - ;; - esac ]) - -AC_MSG_RESULT($with_aio) - -if test x"$with_aio" = x"no"; then - AC_DEFINE(HAVE_NO_AIO,1,[Whether no asynchronous io support should be built in]) -else - AIO_LIBS=$LIBS - no_rt_LIBS=$LIBS - AC_CHECK_LIB(rt,aio_read,[AIO_LIBS="$LIBS -lrt"]) - LIBS=$no_rt_LIBS - AC_CHECK_LIB(aio,aio_read,[AIO_LIBS="$LIBS -laio"]) - AC_CACHE_CHECK([for asynchronous io support],samba_cv_HAVE_AIO,[ - aio_LIBS=$LIBS - LIBS=$AIO_LIBS - AC_TRY_LINK([#include <sys/types.h> -#include <aio.h>], -[ struct aiocb a; return aio_read(&a);], -samba_cv_HAVE_AIO=yes,samba_cv_HAVE_AIO=no) - LIBS=$aio_LIBS]) - if test x"$samba_cv_HAVE_AIO" = x"yes"; then - AC_DEFINE(HAVE_AIO, 1, [Using asynchronous io]) - LIBS=$AIO_LIBS - AC_MSG_CHECKING(for aio_read) - AC_LINK_IFELSE([AC_LANG_SOURCE([#include <aio.h> -int main() { struct aiocb a; return aio_read(&a); }])], -[AC_DEFINE(HAVE_AIO_READ, 1, [Have aio_read]) AC_MSG_RESULT(yes)], -[AC_MSG_RESULT(no)]) - - AC_MSG_CHECKING(for aio_write) - AC_LINK_IFELSE([AC_LANG_SOURCE([#include <aio.h> -int main() { struct aiocb a; return aio_write(&a); }])], -[AC_DEFINE(HAVE_AIO_WRITE, 1, [Have aio_write]) AC_MSG_RESULT(yes)], -[AC_MSG_RESULT(no)]) - - AC_MSG_CHECKING(for aio_fsync) - AC_LINK_IFELSE([AC_LANG_SOURCE([#include <aio.h> -int main() { struct aiocb a; return aio_fsync(1, &a); }])], -[AC_DEFINE(HAVE_AIO_FSYNC, 1, [Have aio_fsync]) AC_MSG_RESULT(yes)], -[AC_MSG_RESULT(no)]) - - AC_MSG_CHECKING(for aio_return) - AC_LINK_IFELSE([AC_LANG_SOURCE([#include <aio.h> -int main() { struct aiocb a; return aio_return(&a); }])], -[AC_DEFINE(HAVE_AIO_RETURN, 1, [Have aio_return]) AC_MSG_RESULT(yes)], -[AC_MSG_RESULT(no)]) - - AC_MSG_CHECKING(for aio_error) - AC_LINK_IFELSE([AC_LANG_SOURCE([#include <aio.h> -int main() { struct aiocb a; return aio_error(&a); }])], -[AC_DEFINE(HAVE_AIO_ERROR, 1, [Have aio_error]) AC_MSG_RESULT(yes)], -[AC_MSG_RESULT(no)]) - - AC_MSG_CHECKING(for aio_cancel) - AC_LINK_IFELSE([AC_LANG_SOURCE([#include <aio.h> -int main() { struct aiocb a; return aio_cancel(1, &a); }])], -[AC_DEFINE(HAVE_AIO_CANCEL, 1, [Have aio_cancel]) AC_MSG_RESULT(yes)], -[AC_MSG_RESULT(no)]) - - AC_MSG_CHECKING(for aio_suspend) - AC_LINK_IFELSE([AC_LANG_SOURCE([#include <aio.h> -int main() { const struct aiocb * const [a[1]]; struct timespec t; return aio_suspend(a, 1, &t); }])], -[AC_DEFINE(HAVE_AIO_SUSPEND, 1, [Have aio_suspend]) AC_MSG_RESULT(yes)], -[AC_MSG_RESULT(no)]) - else - AC_DEFINE(HAVE_NO_AIO,1,[Whether no asynchronous io support is available]) - AC_MSG_RESULT(no) - fi -fi - -if test x"$samba_cv_msghdr_msg_control" = x"yes" -o \ - x"$samba_cv_msghdr_msg_acctright" = x"yes"; then - default_shared_modules="$default_shared_modules vfs_aio_fork" -fi - -# Check for Linux kernel aio support. -case "$host_os" in -*linux*) - AC_CHECK_LIB(aio,io_submit,[AIO_LIBS="$LIBS -laio"]) - AC_CACHE_CHECK([for Linux kernel asynchronous io support],samba_cv_HAVE_LINUX_KERNEL_AIO,[ - aio_LIBS=$LIBS - LIBS=$AIO_LIBS - AC_TRY_LINK([#include <unistd.h> -#include <stdlib.h> -#include <sys/types.h> -#include <fcntl.h> -#include <sys/eventfd.h> -#include <libaio.h>], -[ struct io_event ioev; -struct iocb *ioc; -io_context_t ctx; -struct timespec ts; -int fd; -char *buf; -fd = eventfd(0, EFD_NONBLOCK | EFD_CLOEXEC); -io_queue_init(128,&ctx); -io_prep_pwrite(ioc, 1, buf, 1, 0); -io_prep_pread(ioc, 1, buf, 1, 0); -io_set_eventfd(ioc, fd); -io_set_callback(ioc, (io_callback_t)(0)); -io_submit(ctx, 1, &ioc); -io_getevents(ctx, 1, 1, &ioev, &ts);], -samba_cv_HAVE_LINUX_KERNEL_AIO=yes,samba_cv_HAVE_LINUX_KERNEL_AIO=no) - LIBS=$aio_LIBS]) - if test x"$samba_cv_HAVE_LINUX_KERNEL_AIO" = x"yes"; then - default_shared_modules="$default_shared_modules vfs_aio_linux" - fi - ;; -esac - -if test x"$samba_cv_HAVE_AIO" = x"yes"; then - default_shared_modules="$default_shared_modules vfs_aio_posix" -fi - -################################################# -# check for sendfile support - -AC_MSG_CHECKING(whether sendfile support should be built in) -AC_ARG_WITH(sendfile-support, -[AS_HELP_STRING([--with-sendfile-support], [Whether sendfile support should be built in (default=auto)])], -[ case "$withval" in - yes|no) - AC_MSG_RESULT($withval); - with_sendfile_support=$withval - ;; - *) - AC_MSG_RESULT(yes) - with_sendfile_support=auto - ;; - esac ], -) - -if test x$with_sendfile_support != xno ; then - case "$host_os" in - *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu) - AC_CACHE_CHECK([for linux sendfile support],samba_cv_HAVE_SENDFILE,[ - AC_TRY_LINK([#include <sys/sendfile.h>], -[\ -int tofd, fromfd; -off_t offset; -size_t total; -ssize_t nwritten = sendfile(tofd, fromfd, &offset, total); -], -samba_cv_HAVE_SENDFILE=yes,samba_cv_HAVE_SENDFILE=no)]) - - if test x"$samba_cv_HAVE_SENDFILE" = x"yes"; then - AC_DEFINE(HAVE_SENDFILE,1,[Whether sendfile() is available]) - AC_DEFINE(LINUX_SENDFILE_API,1,[Whether linux sendfile() API is available]) - AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() should be used]) - else - AC_MSG_RESULT(no); - fi - - ;; - *freebsd* | *dragonfly* ) - AC_CACHE_CHECK([for freebsd sendfile support],samba_cv_HAVE_SENDFILE,[ - AC_TRY_LINK([\ -#include <sys/types.h> -#include <unistd.h> -#include <sys/socket.h> -#include <sys/uio.h>], -[\ - int fromfd, tofd, ret, total=0; - off_t offset, nwritten; - struct sf_hdtr hdr; - struct iovec hdtrl; - hdr.headers = &hdtrl; - hdr.hdr_cnt = 1; - hdr.trailers = NULL; - hdr.trl_cnt = 0; - hdtrl.iov_base = NULL; - hdtrl.iov_len = 0; - ret = sendfile(fromfd, tofd, offset, total, &hdr, &nwritten, 0); -], -samba_cv_HAVE_SENDFILE=yes,samba_cv_HAVE_SENDFILE=no)]) - - if test x"$samba_cv_HAVE_SENDFILE" = x"yes"; then - AC_DEFINE(HAVE_SENDFILE,1,[Whether sendfile() support is available]) - AC_DEFINE(FREEBSD_SENDFILE_API,1,[Whether the FreeBSD sendfile() API is available]) - AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() support should be included]) - else - AC_MSG_RESULT(no); - fi - ;; - *darwin*) - AC_CACHE_CHECK([for Darwin sendfile support], - samba_cv_HAVE_SENDFILE, - [ - AC_TRY_LINK([ -#include <sys/types.h> -#include <sys/socket.h> -#include <sys/uio.h> - ], - [ - int fromfd, tofd, ret; - off_t offset, nwritten; - struct sf_hdtr hdr; - struct iovec hdtrl; - hdr.headers = &hdtrl; - hdr.hdr_cnt = 1; - hdr.trailers = (void *)0; - hdr.trl_cnt = 0; - hdtrl.iov_base = (void *)0; - hdtrl.iov_len = 0; - ret = sendfile(fromfd, tofd, offset, &nwritten, &hdr, 0); - ], - samba_cv_HAVE_SENDFILE=yes, - samba_cv_HAVE_SENDFILE=no)]) - - if test x"$samba_cv_HAVE_SENDFILE" = x"yes"; then - AC_DEFINE(HAVE_SENDFILE,1,[Whether sendfile() support is available]) - AC_DEFINE(DARWIN_SENDFILE_API,1,[Whether the Darwin sendfile() API is available]) - AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() support should be included]) - else - AC_MSG_RESULT(no); - fi - ;; - *hpux*|*osf*) - AC_CACHE_CHECK([for osf/hpux sendfile support],samba_cv_HAVE_SENDFILE,[ - AC_TRY_LINK([\ -#include <sys/socket.h> -#include <sys/uio.h>], -[\ - int fromfd, tofd; - size_t total=0; - struct iovec hdtrl[2]; - ssize_t nwritten; - off_t offset; - - hdtrl[0].iov_base = 0; - hdtrl[0].iov_len = 0; - - nwritten = sendfile(tofd, fromfd, offset, total, &hdtrl[0], 0); -], -samba_cv_HAVE_SENDFILE=yes,samba_cv_HAVE_SENDFILE=no)]) - if test x"$samba_cv_HAVE_SENDFILE" = x"yes"; then - AC_DEFINE(HAVE_SENDFILE,1,[Whether sendfile() is available]) - AC_DEFINE(HPUX_SENDFILE_API,1,[Whether the osf/hpux sendfile() API is available]) - AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() support should be included]) - else - AC_MSG_RESULT(no); - fi - ;; - - *solaris*) - AC_CHECK_LIB(sendfile,sendfilev) - AC_CACHE_CHECK([for solaris sendfilev support],samba_cv_HAVE_SENDFILEV,[ - AC_TRY_LINK([\ -#include <sys/sendfile.h>], -[\ - int sfvcnt; - size_t xferred; - struct sendfilevec vec[2]; - ssize_t nwritten; - int tofd; - - sfvcnt = 2; - - vec[0].sfv_fd = SFV_FD_SELF; - vec[0].sfv_flag = 0; - vec[0].sfv_off = 0; - vec[0].sfv_len = 0; - - vec[1].sfv_fd = 0; - vec[1].sfv_flag = 0; - vec[1].sfv_off = 0; - vec[1].sfv_len = 0; - nwritten = sendfilev(tofd, vec, sfvcnt, &xferred); -], -samba_cv_HAVE_SENDFILEV=yes,samba_cv_HAVE_SENDFILEV=no)]) - - if test x"$samba_cv_HAVE_SENDFILEV" = x"yes"; then - AC_DEFINE(HAVE_SENDFILEV,1,[Whether sendfilev() is available]) - AC_DEFINE(SOLARIS_SENDFILE_API,1,[Whether the solaris sendfile() API is available]) - AC_DEFINE(WITH_SENDFILE,1,[Whether to include sendfile() support]) - else - AC_MSG_RESULT(no); - fi - ;; - *aix*) - AC_CACHE_CHECK([for AIX send_file support],samba_cv_HAVE_SENDFILE,[ - AC_TRY_LINK([\ -#include <sys/socket.h>], -[\ - int fromfd, tofd; - size_t total=0; - struct sf_parms hdtrl; - ssize_t nwritten; - - hdtrl.header_data = 0; - hdtrl.header_length = 0; - hdtrl.file_descriptor = fromfd; - hdtrl.file_offset = 0; - hdtrl.file_bytes = 0; - hdtrl.trailer_data = 0; - hdtrl.trailer_length = 0; - - nwritten = send_file(&tofd, &hdtrl, 0); -], -samba_cv_HAVE_SENDFILE=yes,samba_cv_HAVE_SENDFILE=no)]) - if test x"$samba_cv_HAVE_SENDFILE" = x"yes"; then - AC_DEFINE(HAVE_SENDFILE,1,[Whether sendfile() is available]) - AC_DEFINE(AIX_SENDFILE_API,1,[Whether the AIX send_file() API is available]) - AC_DEFINE(WITH_SENDFILE,1,[Whether to include sendfile() support]) - else - AC_MSG_RESULT(no); - fi - ;; - *) - ;; - esac -fi - -if test x$with_sendfile_support = xyes -a x"$samba_cv_HAVE_SENDFILE" != xyes ; then - AC_MSG_ERROR(sendfile support requested but sendfile not available ) -fi - -############################################ -# See if we have the Linux readahead syscall. - -AC_CACHE_CHECK([for Linux readahead], - samba_cv_HAVE_LINUX_READAHEAD,[ - AC_TRY_LINK([ -#if defined(HAVE_UNISTD_H) -#include <unistd.h> -#endif -#include <fcntl.h>], - [ssize_t err = readahead(0,0,0x80000);], - samba_cv_HAVE_LINUX_READAHEAD=yes, - samba_cv_HAVE_LINUX_READAHEAD=no)]) - -if test x"$samba_cv_HAVE_LINUX_READAHEAD" = x"yes"; then - AC_DEFINE(HAVE_LINUX_READAHEAD,1, - [Whether Linux readahead is available]) -fi - -AC_HAVE_DECL(readahead, [#include <fcntl.h>]) - -############################################ -# See if we have the posix_fadvise syscall. - -AC_CACHE_CHECK([for posix_fadvise], - samba_cv_HAVE_POSIX_FADVISE,[ - AC_TRY_LINK([ -#if defined(HAVE_UNISTD_H) -#include <unistd.h> -#endif -#include <fcntl.h>], - [ssize_t err = posix_fadvise(0,0,0x80000,POSIX_FADV_WILLNEED);], - samba_cv_HAVE_POSIX_FADVISE=yes, - samba_cv_HAVE_POSIX_FADVISE=no)]) - -if test x"$samba_cv_HAVE_POSIX_FADVISE" = x"yes"; then - AC_DEFINE(HAVE_POSIX_FADVISE,1, - [Whether posix_fadvise is available]) -fi - -############################################ -# See if we have the openat syscall. - -AC_CACHE_CHECK([for openat], - samba_cv_HAVE_OPENAT,[ - AC_TRY_LINK([ -#if defined(HAVE_UNISTD_H) -#include <unistd.h> -#endif -#include <fcntl.h>], - [int fd = openat(AT_FDCWD, ".", O_RDONLY);], - samba_cv_HAVE_OPENAT=yes, - samba_cv_HAVE_OPENAT=no)]) - -if test x"$samba_cv_HAVE_OPENAT" = x"yes"; then - AC_DEFINE(HAVE_OPENAT,1, [Whether openat is available]) -fi - -############################################ -# See if we have the Linux splice syscall. - -case "$host_os" in -*linux*) -AC_CACHE_CHECK([for Linux splice], - samba_cv_HAVE_LINUX_SPLICE,[ - AC_TRY_LINK([ -#if defined(HAVE_UNISTD_H) -#include <unistd.h> -#endif -#include <fcntl.h>], - [long ret = splice(0,0,1,0,400,SPLICE_F_MOVE);], - samba_cv_HAVE_LINUX_SPLICE=yes, - samba_cv_HAVE_LINUX_SPLICE=no)]) -;; -*) -samba_cv_HAVE_LINUX_SPLICE=no -;; -esac - -if test x"$samba_cv_HAVE_LINUX_SPLICE" = x"yes"; then - AC_DEFINE(HAVE_LINUX_SPLICE,1, - [Whether Linux splice is available]) -fi - -AC_HAVE_DECL(splice, [#include <fcntl.h>]) - -############################################ -# See if we have the a broken readlink syscall. - -AC_CACHE_CHECK([for a broken readlink syscall],samba_cv_HAVE_BROKEN_READLINK,[ -AC_TRY_RUN([#include "${srcdir-.}/../tests/readlink.c"], - samba_cv_HAVE_BROKEN_READLINK=no,samba_cv_HAVE_BROKEN_READLINK=yes,samba_cv_HAVE_BROKEN_READLINK=cross) -]) -if test x"$samba_cv_HAVE_BROKEN_READLINK" = x"yes"; then - AC_DEFINE(HAVE_BROKEN_READLINK,1,[Whether the readlink syscall is broken]) -fi - -################################################# -# Check whether winbind is supported on this platform. If so we need to -# build and install client programs, sbin programs and shared libraries - -AC_MSG_CHECKING(whether to build winbind) - -# Initially, the value of $host_os decides whether winbind is supported - -HAVE_WINBIND=yes -HAVE_WBCLIENT=no - -# Define external wbclient library to link against. This disables winbind. -# We define this here so --with-winbind can override it. -AC_ARG_WITH(wbclient, -[AS_HELP_STRING([--with-wbclient], [Use external wbclient (optional)])], -[ - case "$withval" in - no) - HAVE_WBCLIENT=no - ;; - yes) - HAVE_WBCLIENT=yes - HAVE_WINBIND=no - ;; - *) - HAVE_WBCLIENT=yes - HAVE_WINBIND=no - WBCLIENT_INCLUDES="-I$withval/include" - WBCLIENT_LDFLAGS="-L$withval/lib" - ;; - esac ], -) - -AC_SUBST(WBCLIENT_INCLUDES) -AC_SUBST(WBCLIENT_LDFLAGS) -AC_SUBST(WBCLIENT_LIBS) - - -# Define the winbind shared library name and any specific linker flags -# it needs to be built with. - -WINBIND_NSS="../nsswitch/libnss_winbind.$SHLIBEXT" -WINBIND_WINS_NSS="../nsswitch/libnss_wins.$SHLIBEXT" -WINBIND_NSS_LDSHFLAGS=$LDSHFLAGS -NSSSONAMEVERSIONSUFFIX="" - -case "$host_os" in - *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu) - NSSSONAMEVERSIONSUFFIX=".2" - WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_linux.o" - ;; - *freebsd[[5-9]]* | *freebsd1[[0-9]]*) - # FreeBSD winbind client is implemented as a wrapper around - # the Linux version. - NSSSONAMEVERSIONSUFFIX=".1" - WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_freebsd.o \ - ../nsswitch/winbind_nss_linux.o" - WINBIND_NSS="../nsswitch/nss_winbind.$SHLIBEXT" - WINBIND_WINS_NSS="../nsswitch/nss_wins.$SHLIBEXT" - ;; - - *netbsd*[[3-9]]* | *netbsd1[[0-9]]*) - # NetBSD winbind client is implemented as a wrapper - # around the Linux version. It needs getpwent_r() to - # indicate libc's use of the correct nsdispatch API. - # - if test x"$ac_cv_func_getpwent_r" = x"yes"; then - WINBIND_NSS_EXTRA_OBJS="\ - ../nsswitch/winbind_nss_netbsd.o \ - ../nsswitch/winbind_nss_linux.o" - WINBIND_NSS="../nsswitch/nss_winbind.$SHLIBEXT" - WINBIND_WINS_NSS="../nsswitch/nss_wins.$SHLIBEXT" - else - HAVE_WINBIND=no - winbind_no_reason=", getpwent_r is missing on $host_os so winbind is unsupported" - fi - ;; - *irix*) - # IRIX has differently named shared libraries - WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_irix.o" - WINBIND_NSS="../nsswitch/libns_winbind.$SHLIBEXT" - WINBIND_WINS_NSS="../nsswitch/libns_wins.$SHLIBEXT" - ;; - *solaris*) - # Solaris winbind client is implemented as a wrapper around - # the Linux version. - NSSSONAMEVERSIONSUFFIX=".1" - WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_solaris.o \ - ../nsswitch/winbind_nss_linux.o" - ;; - *hpux11*) - WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_solaris.o" - ;; - *aix*) - # AIX has even differently named shared libraries. No - # WINS support has been implemented yet. - WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_aix.o" - WINBIND_NSS_LDSHFLAGS="-Wl,-bexpall,-bM:SRE,-ewb_aix_init" - WINBIND_NSS="../nsswitch/WINBIND" - WINBIND_WINS_NSS="" - ;; - *darwin*) - ;; - *) - HAVE_WINBIND=no - winbind_no_reason=", unsupported on $host_os" - ;; -esac - -# Check the setting of --with-winbind - -AC_ARG_WITH(winbind, -[AS_HELP_STRING([--with-winbind], [Build winbind (default, if supported by OS)])], -[ - case "$withval" in - yes) - HAVE_WINBIND=yes - HAVE_WBCLIENT=no - ;; - no) - HAVE_WINBIND=no - winbind_reason="" - ;; - esac ], -) - -# We need unix domain sockets for winbind - -if test x"$HAVE_WINBIND" = x"yes"; then - if test x"$libreplace_cv_HAVE_UNIXSOCKET" = x"no"; then - winbind_no_reason=", no unix domain socket support on $host_os" - HAVE_WINBIND=no - fi -fi - -# Display test results - -if test x"$HAVE_WINBIND" = x"no"; then - WINBIND_NSS="" - WINBIND_WINS_NSS="" -fi -if test x"$HAVE_WBCLIENT" = x"yes"; then - AC_CHECK_LIB(wbclient, wbcInterfaceDetails, - [LIBWBCLIENT_LIBS="-lwbclient"], AC_MSG_ERROR([Could not find wbclient]), [$WBCLIENT_LDFLAGS]) - LIBWBCLIENT_LIBS="$LIBWBCLIENT_LIBS $WBCLIENT_LDFLAGS" - AC_MSG_RESULT(yes) - AC_DEFINE(WITH_WINBIND,1,[Whether to link to wbclient]) - EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/wbinfo" -else - if test x"$enable_developer" = x"yes" -a x"$LINK_LIBWBCLIENT" = x"STATIC" ; then - BUILD_LIBWBCLIENT_SHARED=no - else - BUILD_LIBWBCLIENT_SHARED=yes - fi - - LIBWBCLIENT_SHARED_TARGET=bin/libwbclient.$SHLIBEXT - LIBWBCLIENT_STATIC_TARGET=bin/libwbclient.a - LIBWBCLIENT_SOVER=0 - LIBWBCLIENT_FULLVER=0 - LIBWBCLIENT_SHARED_TARGET_SOVER=$LIBWBCLIENT_SHARED_TARGET.$LIBWBCLIENT_SOVER - LIBWBCLIENT_SHARED_TARGET_FULLVER=$LIBWBCLIENT_SHARED_TARGET.$LIBWBCLIENT_FULLVER - if test $BLDSHARED = true -a x"$HAVE_WINBIND" = x"yes" -a x"$BUILD_LIBWBCLIENT_SHARED" = x"yes"; then - NSS_MODULES="${WINBIND_NSS} ${WINBIND_WINS_NSS}" - ## Only worry about libwbclient if we have shared - # library support - LIBWBCLIENT_SHARED=$LIBWBCLIENT_SHARED_TARGET - LIBWBCLIENT=libwbclient - INSTALL_LIBWBCLIENT=installlibwbclient - UNINSTALL_LIBWBCLIENT=uninstalllibwbclient - LIBWBCLIENT_LIBS="-lwbclient" - else - LIBWBCLIENT_STATIC=$LIBWBCLIENT_STATIC_TARGET - LIBWBCLIENT_LIBS=$LIBWBCLIENT_STATIC_TARGET - fi -fi - -if test x"$HAVE_WINBIND" = x"yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE(WITH_WINBIND,1,[Whether to build winbind]) - - EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/wbinfo" - EXTRA_SBIN_PROGS="$EXTRA_SBIN_PROGS bin/winbindd" - if test $BLDSHARED = true -a x"$create_pam_modules" = x"yes"; then - PAM_MODULES="$PAM_MODULES pam_winbind" - INSTALL_PAM_MODULES="installpammodules" - UNINSTALL_PAM_MODULES="uninstallpammodules" - fi - - # we use winbind, check for krb5 locate_plugin support: - AC_CHECK_HEADERS([krb5/locate_plugin.h], [], [], - [[#ifdef HAVE_KRB5_H - #include <krb5.h> - #endif - ]]) - if test x"$ac_cv_header_krb5_locate_plugin_h" = x"yes"; then - WINBIND_KRB5_LOCATOR="bin/winbind_krb5_locator.$SHLIBEXT" - if test x"$BLDSHARED" = x"true" ; then - EXTRA_ALL_TARGETS="$EXTRA_ALL_TARGETS $WINBIND_KRB5_LOCATOR" - fi - fi - # end of krb5 locate_plugin check -else - AC_MSG_RESULT(no$winbind_no_reason) -fi - -AC_SUBST(WINBIND_NSS) -AC_SUBST(WINBIND_WINS_NSS) -AC_SUBST(WINBIND_NSS_LDSHFLAGS) -AC_SUBST(WINBIND_NSS_EXTRA_OBJS) -AC_SUBST(NSSSONAMEVERSIONSUFFIX) - -AC_SUBST(WINBIND_KRB5_LOCATOR) - -# Solaris 10 does have new member in nss_XbyY_key -AC_CHECK_MEMBER(union nss_XbyY_key.ipnode.af_family, - AC_DEFINE(HAVE_NSS_XBYY_KEY_IPNODE, 1, [Defined if union nss_XbyY_key has ipnode field]),, - [#include <nss_dbdefs.h>]) - -# Solaris has some extra fields in struct passwd that need to be -# initialised otherwise nscd crashes. - -AC_CHECK_MEMBER(struct passwd.pw_comment, - AC_DEFINE(HAVE_PASSWD_PW_COMMENT, 1, [Defined if struct passwd has pw_comment field]),, - [#include <pwd.h>]) - -AC_CHECK_MEMBER(struct passwd.pw_age, - AC_DEFINE(HAVE_PASSWD_PW_AGE, 1, [Defined if struct passwd has pw_age field]),, - [#include <pwd.h>]) - -# AIX 4.3.x and 5.1 do not have as many members in -# struct secmethod_table as AIX 5.2 -AC_CHECK_MEMBERS([struct secmethod_table.method_attrlist], , , - [#include <usersec.h>]) -AC_CHECK_MEMBERS([struct secmethod_table.method_version], , , - [#include <usersec.h>]) - -################################################# -# Check to see if we should use the included popt - -AC_ARG_WITH(included-popt, -[AS_HELP_STRING([--with-included-popt], [use bundled popt library, not from system])], -[ - case "$withval" in - yes) - INCLUDED_POPT=yes - ;; - no) - INCLUDED_POPT=no - ;; - esac ], -) -if test x"$INCLUDED_POPT" != x"yes"; then - AC_CHECK_LIB(popt, poptGetContext, - INCLUDED_POPT=no, INCLUDED_POPT=yes) -fi - -AC_MSG_CHECKING(whether to use included popt) -if test x"$INCLUDED_POPT" = x"yes"; then - AC_MSG_RESULT(yes) - BUILD_POPT='$(POPT_OBJ)' - POPTLIBS='$(POPT_OBJ)' - FLAGS1="-I\$(srcdir)/../lib/popt" -else - AC_MSG_RESULT(no) - BUILD_POPT="" - POPTLIBS="-lpopt" -fi -AC_SUBST(BUILD_POPT) -AC_SUBST(POPTLIBS) -AC_SUBST(FLAGS1) - -################################################# -# Check if user wants DNS service discovery support - -AC_ARG_ENABLE(dnssd, -[AS_HELP_STRING([--enable-dnssd], [Enable DNS service discovery support (default=no)])]) - -AC_SUBST(DNSSD_LIBS) -if test x"$enable_dnssd" = x"yes"; then - have_dnssd_support=yes - - AC_CHECK_HEADERS(dns_sd.h) - if test x"$ac_cv_header_dns_sd_h" != x"yes"; then - have_dnssd_support=no - fi - - # On Darwin the DNSSD API is in libc, but on other platforms it's - # probably in -ldns_sd - AC_CHECK_FUNCS(DNSServiceRegister) - AC_CHECK_LIB_EXT(dns_sd, DNSSD_LIBS, DNSServiceRegister) - if test x"$ac_cv_func_DNSServiceRegister" != x"yes" -a \ - x"$ac_cv_lib_ext_dns_sd_DNSServiceRegister" != x"yes"; then - have_dnssd_support=no - fi - - if test x"$have_dnssd_support" = x"yes"; then - AC_DEFINE(WITH_DNSSD_SUPPORT, 1, - [Whether to enable DNS service discovery support]) - else - if test x"$enable_dnssd" = x"yes"; then - AC_MSG_ERROR(DNS service discovery support not available) - fi - fi - -fi - -################################################# -# Check if user wants avahi support - -AC_ARG_ENABLE(avahi, -[AS_HELP_STRING([--enable-avahi], [Enable Avahi support (default=auto)])]) - -if test x"$enable_avahi" != x"no"; then - have_avahi_support=yes - - AC_CHECK_HEADERS(avahi-common/watch.h) - if test x"$ac_cv_header_avahi_common_watch_h" != x"yes"; then - have_avahi_support=no - fi - - AC_CHECK_HEADERS(avahi-client/client.h) - if test x"$ac_cv_header_avahi_common_watch_h" != x"yes"; then - have_avahi_support=no - fi - - save_LIBS="$LIBS" - AC_CHECK_LIB(avahi-client, avahi_client_new,[have_avahi_client_new=yes]) - AC_CHECK_LIB(avahi-common, avahi_strerror,[have_avahi_strerror=yes]) - LIBS="$save_LIBS" - - if test x"$have_avahi_client_new" != x"yes" -o \ - x"$have_avahi_strerror" != x"yes" ; then - have_avahi_support=no - fi - - if test x"$have_avahi_support" = x"yes"; then - AC_SUBST(AVAHI_LIBS, "-lavahi-client -lavahi-common") - AC_DEFINE(WITH_AVAHI_SUPPORT, 1, - [Whether to enable avahi support]) - AC_SUBST(AVAHI_OBJ, "lib/avahi.o smbd/avahi_register.o") - else - if test x"$enable_avahi" = x"yes"; then - AC_MSG_ERROR(avahi support not available) - fi - fi -fi - - -################################################# -# Set pthread stuff - -PTHREAD_CFLAGS=error -PTHREAD_LDFLAGS=error - -# If it's error, then the user didn't -# define it. -if test "x$PTHREAD_LDFLAGS" = xerror; then - AC_CHECK_LIB(pthread, pthread_attr_init, [ - PTHREAD_CFLAGS="-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS" - PTHREAD_LDFLAGS="-lpthread" ]) -fi - -if test "x$PTHREAD_LDFLAGS" = xerror; then - AC_CHECK_LIB(pthreads, pthread_attr_init, [ - PTHREAD_CFLAGS="-D_THREAD_SAFE" - PTHREAD_LDFLAGS="-lpthreads" ]) -fi - -if test "x$PTHREAD_LDFLAGS" = xerror; then - AC_CHECK_LIB(c_r, pthread_attr_init, [ - PTHREAD_CFLAGS="-D_THREAD_SAFE -pthread" - PTHREAD_LDFLAGS="-pthread" ]) -fi - -if test "x$PTHREAD_LDFLAGS" = xerror; then - AC_CHECK_FUNC(pthread_attr_init, [ - PTHREAD_CFLAGS="-D_REENTRANT" - PTHREAD_LDFLAGS="-lpthread" ]) -fi - -# especially for HP-UX, where the AC_CHECK_FUNC macro fails to test for -# pthread_attr_init. On pthread_mutex_lock it works there... -if test "x$PTHREAD_LDFLAGS" = xerror; then - AC_CHECK_LIB(pthread, pthread_mutex_lock, [ - PTHREAD_CFLAGS="-D_REENTRANT" - PTHREAD_LDFLAGS="-lpthread" ]) -fi - -AC_SUBST(PTHREAD_CFLAGS) -AC_SUBST(PTHREAD_LDFLAGS) - -samba_cv_HAVE_PTHREAD=no -if test x"$PTHREAD_CFLAGS" != xerror -a x"$PTHREAD_LDFLAGS" != xerror; then - samba_cv_HAVE_PTHREAD=yes - # now check for pthread.h with pthread-correct CFLAGS and LDFLAGS: - ac_save_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - ac_save_LDFLAGS=$LDFLAGS - LDFLAGS="$LDFLAGS $PTHREAD_LDFLAGS" - AC_CHECK_HEADERS(pthread.h) - CFLAGS=$ac_save_CFLAGS - LDFLAGS=$ac_save_LDFLAGS - AC_DEFINE(HAVE_PTHREAD, 1, [Do we have pthreads around?]) -fi - -################################################# -# Check if user wants pthreadpool support - -AC_ARG_ENABLE(pthreadpool, -[AS_HELP_STRING([--enable-pthreadpool], [Enable pthreads pool helper support (default=yes)])]) - -if test x"$enable_pthreadpool" = xyes -a x"$samba_cv_HAVE_PTHREAD" != x"yes"; then - AC_MSG_ERROR([pthreadpool support cannot be enabled when pthread support was not found]) -fi - -if test x"$enable_pthreadpool" != x"no" -a x"$samba_cv_HAVE_PTHREAD" = x"yes"; then - LIBS="$LIBS $PTHREAD_LDFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - AC_SUBST(PTHREADPOOL_OBJ, "lib/pthreadpool/pthreadpool.o") - default_shared_modules="$default_shared_modules vfs_aio_pthread" -else - AC_SUBST(PTHREADPOOL_OBJ, "lib/pthreadpool/pthreadpool_sync.o") -fi - -PTHREADPOOLTEST="bin/pthreadpooltest" -AC_SUBST(PTHREADPOOLTEST) - - -################################################# -# Check to see if we should use the included iniparser - -AC_ARG_WITH(included-iniparser, -[AS_HELP_STRING([--with-included-iniparser], [use bundled iniparser library, not from system])], -[ - case "$withval" in - yes) - INCLUDED_INIPARSER=yes - ;; - no) - INCLUDED_INIPARSER=no - ;; - esac ], -) -if test x"$INCLUDED_INIPARSER" != x"yes"; then - AC_CHECK_LIB(iniparser, iniparser_load, - INCLUDED_INIPARSER=no, INCLUDED_INIPARSER=yes) -fi - -AC_MSG_CHECKING(whether to use included iniparser) -if test x"$INCLUDED_INIPARSER" = x"yes"; then - AC_MSG_RESULT(yes) - BUILD_INIPARSER='$(INIPARSER_OBJ)' - INIPARSERLIBS="" - FLAGS1="$FLAGS1 -I\$(srcdir)/../lib/iniparser/src" -else - AC_MSG_RESULT(no) - BUILD_INIPARSER="" - INIPARSERLIBS="-liniparser" -fi -AC_SUBST(BUILD_INIPARSER) -AC_SUBST(INIPARSERLIBS) -AC_SUBST(FLAGS1) - -AC_ARG_ENABLE(fault-handler,[AS_HELP_STRING([--disable-fault-handler], [Disable the default handler])]) - -if test x"$enable_fault_handler" = x"no"; then - AC_DEFINE(HAVE_DISABLE_FAULT_HANDLER, 1, [Disable the default signal handler]) -fi - -################################################### -# Check for different/missing (set|get|end)netgrent prototypes -CFLAGS_SAVE=$CFLAGS -if test x"$samba_cv_HAVE_Werror_implicit_function_declaration" = x"yes"; then - CFLAGS="$CFLAGS -Werror-implicit-function-declaration" -fi -AC_CACHE_CHECK([for setnetgrent prototype],samba_cv_setnetgrent_prototype, [ - AC_TRY_COMPILE([#include<netdb.h> - #ifdef HAVE_NETGROUP_H - #include<netgroup.h> - #endif],[setnetgrent("foo")], - samba_cv_setnetgrent_prototype=yes, samba_cv_setnetgrent_prototype=no)]) -if test x"$samba_cv_setnetgrent_prototype" = x"yes"; then - AC_DEFINE(HAVE_SETNETGRENT_PROTOTYPE, 1, [If setnetgrent prototype is defined]) -fi -AC_CACHE_CHECK([for getnetgrent prototype],samba_cv_getnetgrent_prototype, [ - AC_TRY_COMPILE([#include<netdb.h> - #ifdef HAVE_NETGROUP_H - #include<netgroup.h> - #endif],[char *dom, *user,*host; getnetgrent(&dom,&user,&host)], - samba_cv_getnetgrent_prototype=yes, samba_cv_getnetgrent_prototype=no)]) -if test x"$samba_cv_getnetgrent_prototype" = x"yes"; then - AC_DEFINE(HAVE_GETNETGRENT_PROTOTYPE, 1, [If getnetgrent prototype is defined]) -fi -AC_CACHE_CHECK([for endnetgrent prototype],samba_cv_endnetgrent_prototype, [ - AC_TRY_COMPILE([#include<netdb.h> - #ifdef HAVE_NETGROUP_H - #include<netgroup.h> - #endif],[endnetgrent()], - samba_cv_endnetgrent_prototype=yes, samba_cv_endnetgrent_prototype=no)]) -if test x"$samba_cv_endnetgrent_prototype" = x"yes"; then - AC_DEFINE(HAVE_ENDNETGRENT_PROTOTYPE, 1, [If endnetgrent prototype is defined]) -fi - -CFLAGS=$CFLAGS_SAVE - -# Checks for POSIX ignorant BSD style statvfs() function -# Start -AC_CHECK_HEADERS(sys/param.h sys/mount.h) - -AC_MSG_CHECKING([checking for posix ignorant *bsd style statfs struct]) -AC_CACHE_VAL(bsdstatvfs_cv_statfs,[ - AC_TRY_RUN([ - #ifdef HAVE_SYS_PARAM_H - #include <sys/param.h> - #endif - #ifdef HAVE_SYS_MOUNT_H - #include <sys/mount.h> - #endif - int main (void) - { - struct statfs fsd; - fsd.f_bsize = 0; - fsd.f_iosize = 0; - return (statfs (".", &fsd)); - }], - bsdstatvfs_cv_statfs=yes, - bsdstatvfs_cv_statfs=no, - bsdstatvfs_cv_statfs=no)]) -AC_MSG_RESULT($bsdstatvfs_cv_statfs) - -if test $bsdstatvfs_cv_statfs = yes; then - AC_DEFINE(BSD_STYLE_STATVFS,1,[Whether statfs struct is *bsd style]) -fi -# End of checks POSIX ignorant BSD style statvfs() function - -# Checks for the vfs_fileid module -# Start -AC_CHECK_FUNC(getmntent) - -AC_CHECK_HEADERS(sys/statfs.h) - -AC_MSG_CHECKING([vfs_fileid: checking for statfs() and struct statfs.f_fsid]) -AC_CACHE_VAL(vfsfileid_cv_statfs,[ - AC_TRY_RUN([ - #include <sys/types.h> - #include <sys/statfs.h> - int main(void) - { - struct statfs fsd; - fsid_t fsid = fsd.f_fsid; - return statfs (".", &fsd); - }], - vfsfileid_cv_statfs=yes, - vfsfileid_cv_statfs=no, - vfsfileid_cv_statfs=cross) -]) -AC_MSG_RESULT($vfsfileid_cv_statfs) - -if test x"$ac_cv_func_getmntent" = x"yes" -a \ - x"$vfsfileid_cv_statfs" = x"yes"; then - default_shared_modules="$default_shared_modules vfs_fileid" -fi -# End -# Checks for the vfs_fileid module - -# btrfs features are dependent on Linux ioctl headers -if test x"$ac_cv_header_sys_ioctl_h" = xyes -a \ - x"$ac_cv_header_linux_ioctl_h" = xyes; then - default_shared_modules="$default_shared_modules vfs_btrfs" -fi -# End btrfs - -for i in `echo $default_static_modules | sed -e 's/,/ /g'` -do - eval MODULE_DEFAULT_$i=STATIC -done - -for i in `echo $default_shared_modules | sed -e 's/,/ /g'` -do - dnl Fall back to static if we cannot build shared libraries - eval MODULE_DEFAULT_$i=STATIC - - if test $BLDSHARED = true; then - eval MODULE_DEFAULT_$i=SHARED - fi -done - -dnl Always build these modules static -MODULE_rpc_spoolss=STATIC -MODULE_rpc_srvsvc=STATIC -MODULE_idmap_tdb=STATIC -MODULE_idmap_passdb=STATIC -MODULE_idmap_nss=STATIC - -MODULE_nss_info_template=STATIC - -AC_ARG_WITH(static-modules, -[AS_HELP_STRING([--with-static-modules=MODULES], [Comma-separated list of names of modules to statically link in])], -[ if test $withval; then - for i in `echo $withval | sed -e 's/,/ /g'` - do - eval MODULE_$i=STATIC - done -fi ]) - -AC_ARG_WITH(shared-modules, -[AS_HELP_STRING([--with-shared-modules=MODULES], [Comma-separated list of names of modules to build shared])], -[ if test $withval; then - for i in `echo $withval | sed -e 's/,/ /g'` - do - eval MODULE_$i=SHARED - done -fi ]) - -# additionally, support pdb_ldap -> pdb_ldapsam replacement -if test x"$MODULE_pdb_ldap" != x ; then - MODULE_pdb_ldapsam="$MODULE_pdb_ldap" -fi - -if test x"$MODULE_DEFAULT_vfs_notify_fam" = xSTATIC -o \ - x"$MODULE_vfs_notify_fam" = xSTATIC ; then - SMBD_FAM_LIBS="$SMB_FAM_LIBS" - AC_SUBST(SMBD_FAM_LIBS) -fi - -SMB_MODULE(pdb_ldapsam, passdb/pdb_ldap.o passdb/pdb_nds.o passdb/pdb_ipa.o passdb/pdb_ldap_util.o, - "bin/ldapsam.$SHLIBEXT", PDB, - [ PASSDB_LIBS="$PASSDB_LIBS $LDAP_LIBS" ] ) -SMB_MODULE(pdb_smbpasswd, passdb/pdb_smbpasswd.o, "bin/smbpasswd.$SHLIBEXT", PDB) -SMB_MODULE(pdb_tdbsam, passdb/pdb_tdb.o, "bin/tdbsam.$SHLIBEXT", PDB) -SMB_MODULE(pdb_wbc_sam, passdb/pdb_wbc_sam.o, "bin/wbc_sam.$SHLIBEXT", PDB) -SMB_SUBSYSTEM(PDB,passdb/pdb_interface.o) - -SMB_MODULE(idmap_ldap, winbindd/idmap_ldap.o, "bin/ldap.$SHLIBEXT", IDMAP) -SMB_MODULE(idmap_tdb, winbindd/idmap_tdb.o, "bin/tdb.$SHLIBEXT", IDMAP) -SMB_MODULE(idmap_tdb2, winbindd/idmap_tdb2.o, "bin/tdb2.$SHLIBEXT", IDMAP) -SMB_MODULE(idmap_passdb, winbindd/idmap_passdb.o, "bin/passdb.$SHLIBEXT", IDMAP) -SMB_MODULE(idmap_nss, winbindd/idmap_nss.o, "bin/nss.$SHLIBEXT", IDMAP) -SMB_MODULE(idmap_rid, winbindd/idmap_rid.o, "bin/rid.$SHLIBEXT", IDMAP) -SMB_MODULE(idmap_autorid, winbindd/idmap_autorid.o, "bin/autorid.$SHLIBEXT", IDMAP) -SMB_MODULE(idmap_ad, winbindd/idmap_ad.o, "bin/ad.$SHLIBEXT", IDMAP) -SMB_MODULE(idmap_rfc2307, winbindd/idmap_rfc2307.o, "bin/rfc2307.$SHLIBEXT", IDMAP) -SMB_MODULE(idmap_hash, \$(IDMAP_HASH_OBJ), "bin/hash.$SHLIBEXT", IDMAP) -SMB_SUBSYSTEM(IDMAP, winbindd/idmap.o) - -SMB_MODULE(nss_info_template, winbindd/nss_info_template.o, "bin/template.$SHLIBEXT", NSS_INFO) -SMB_SUBSYSTEM(NSS_INFO, winbindd/nss_info.o) - -SMB_MODULE(auth_sam, \$(AUTH_SAM_OBJ), "bin/sam.$SHLIBEXT", AUTH) -SMB_MODULE(auth_unix, \$(AUTH_UNIX_OBJ), "bin/unix.$SHLIBEXT", AUTH) -SMB_MODULE(auth_winbind, \$(AUTH_WINBIND_OBJ), "bin/winbind.$SHLIBEXT", AUTH) -SMB_MODULE(auth_wbc, \$(AUTH_WBC_OBJ), "bin/wbc.$SHLIBEXT", AUTH) -SMB_MODULE(auth_domain, \$(AUTH_DOMAIN_OBJ), "bin/domain.$SHLIBEXT", AUTH) -SMB_MODULE(auth_builtin, \$(AUTH_BUILTIN_OBJ), "bin/builtin.$SHLIBEXT", AUTH) -SMB_MODULE(auth_script, \$(AUTH_SCRIPT_OBJ), "bin/script.$SHLIBEXT", AUTH) -SMB_SUBSYSTEM(AUTH,auth/auth.o) - -SMB_MODULE(vfs_default, \$(VFS_DEFAULT_OBJ), "bin/default.$SHLIBEXT", VFS) -SMB_MODULE(vfs_recycle, \$(VFS_RECYCLE_OBJ), "bin/recycle.$SHLIBEXT", VFS) -SMB_MODULE(vfs_audit, \$(VFS_AUDIT_OBJ), "bin/audit.$SHLIBEXT", VFS) -SMB_MODULE(vfs_extd_audit, \$(VFS_EXTD_AUDIT_OBJ), "bin/extd_audit.$SHLIBEXT", VFS) -SMB_MODULE(vfs_full_audit, \$(VFS_FULL_AUDIT_OBJ), "bin/full_audit.$SHLIBEXT", VFS) -SMB_MODULE(vfs_netatalk, \$(VFS_NETATALK_OBJ), "bin/netatalk.$SHLIBEXT", VFS) -SMB_MODULE(vfs_fake_perms, \$(VFS_FAKE_PERMS_OBJ), "bin/fake_perms.$SHLIBEXT", VFS) -SMB_MODULE(vfs_fake_acls, \$(VFS_FAKE_ACLS_OBJ), "bin/fake_acls.$SHLIBEXT", VFS) -SMB_MODULE(vfs_default_quota, \$(VFS_DEFAULT_QUOTA_OBJ), "bin/default_quota.$SHLIBEXT", VFS) -SMB_MODULE(vfs_readonly, \$(VFS_READONLY_OBJ), "bin/readonly.$SHLIBEXT", VFS) -SMB_MODULE(vfs_cap, \$(VFS_CAP_OBJ), "bin/cap.$SHLIBEXT", VFS) -SMB_MODULE(vfs_expand_msdfs, \$(VFS_EXPAND_MSDFS_OBJ), "bin/expand_msdfs.$SHLIBEXT", VFS) -SMB_MODULE(vfs_shadow_copy, \$(VFS_SHADOW_COPY_OBJ), "bin/shadow_copy.$SHLIBEXT", VFS) -SMB_MODULE(vfs_shadow_copy2, \$(VFS_SHADOW_COPY2_OBJ), "bin/shadow_copy2.$SHLIBEXT", VFS) -SMB_MODULE(vfs_afsacl, \$(VFS_AFSACL_OBJ), "bin/afsacl.$SHLIBEXT", VFS) -SMB_MODULE(vfs_xattr_tdb, \$(VFS_XATTR_TDB_OBJ), "bin/xattr_tdb.$SHLIBEXT", VFS) -SMB_MODULE(vfs_nfs4acl_xattr, \$(VFS_XATTR_TDB_OBJ), "bin/nfs4acl_xattr.$SHLIBEXT", VFS) -SMB_MODULE(vfs_posixacl, \$(VFS_POSIXACL_OBJ), "bin/posixacl.$SHLIBEXT", VFS) -SMB_MODULE(vfs_aixacl, \$(VFS_AIXACL_OBJ), "bin/aixacl.$SHLIBEXT", VFS) -SMB_MODULE(vfs_aixacl2, \$(VFS_AIXACL2_OBJ), "bin/aixacl2.$SHLIBEXT", VFS) -SMB_MODULE(vfs_solarisacl, \$(VFS_SOLARISACL_OBJ), "bin/solarisacl.$SHLIBEXT", VFS) -SMB_MODULE(vfs_hpuxacl, \$(VFS_HPUXACL_OBJ), "bin/hpuxacl.$SHLIBEXT", VFS) -SMB_MODULE(vfs_tru64acl, \$(VFS_TRU64ACL_OBJ), "bin/tru64acl.$SHLIBEXT", VFS) -SMB_MODULE(vfs_catia, \$(VFS_CATIA_OBJ), "bin/catia.$SHLIBEXT", VFS) -SMB_MODULE(vfs_streams_xattr, \$(VFS_STREAMS_XATTR_OBJ), "bin/streams_xattr.$SHLIBEXT", VFS) -SMB_MODULE(vfs_streams_depot, \$(VFS_STREAMS_DEPOT_OBJ), "bin/streams_depot.$SHLIBEXT", VFS) -SMB_MODULE(vfs_cacheprime, \$(VFS_CACHEPRIME_OBJ), "bin/cacheprime.$SHLIBEXT", VFS) -SMB_MODULE(vfs_prealloc, \$(VFS_PREALLOC_OBJ), "bin/prealloc.$SHLIBEXT", VFS) -SMB_MODULE(vfs_commit, \$(VFS_COMMIT_OBJ), "bin/commit.$SHLIBEXT", VFS) -SMB_MODULE(vfs_gpfs, \$(VFS_GPFS_OBJ), "bin/gpfs.$SHLIBEXT", VFS) -SMB_MODULE(vfs_readahead, \$(VFS_READAHEAD_OBJ), "bin/readahead.$SHLIBEXT", VFS) -SMB_MODULE(vfs_tsmsm, \$(VFS_TSMSM_OBJ), "bin/tsmsm.$SHLIBEXT", VFS) -SMB_MODULE(vfs_fileid, \$(VFS_FILEID_OBJ), "bin/fileid.$SHLIBEXT", VFS) -SMB_MODULE(vfs_aio_fork, \$(VFS_AIO_FORK_OBJ), "bin/aio_fork.$SHLIBEXT", VFS) -SMB_MODULE(vfs_aio_pthread, \$(VFS_AIO_PTHREAD_OBJ), "bin/aio_pthread.$SHLIBEXT", VFS) -SMB_MODULE(vfs_aio_posix, \$(VFS_AIO_POSIX_OBJ), "bin/aio_posix.$SHLIBEXT", VFS) -SMB_MODULE(vfs_aio_linux, \$(VFS_AIO_LINUX_OBJ), "bin/aio_linux.$SHLIBEXT", VFS) -SMB_MODULE(vfs_preopen, \$(VFS_PREOPEN_OBJ), "bin/preopen.$SHLIBEXT", VFS) -SMB_MODULE(vfs_syncops, \$(VFS_SYNCOPS_OBJ), "bin/syncops.$SHLIBEXT", VFS) -SMB_MODULE(vfs_zfsacl, \$(VFS_ZFSACL_OBJ), "bin/zfsacl.$SHLIBEXT", VFS) -SMB_MODULE(vfs_notify_fam, \$(VFS_NOTIFY_FAM_OBJ), "bin/notify_fam.$SHLIBEXT", VFS) -SMB_MODULE(vfs_acl_xattr, \$(VFS_ACL_XATTR_OBJ), "bin/acl_xattr.$SHLIBEXT", VFS) -SMB_MODULE(vfs_acl_tdb, \$(VFS_ACL_TDB_OBJ), "bin/acl_tdb.$SHLIBEXT", VFS) -SMB_MODULE(vfs_smb_traffic_analyzer, \$(VFS_SMB_TRAFFIC_ANALYZER_OBJ), "bin/smb_traffic_analyzer.$SHLIBEXT", VFS) -SMB_MODULE(vfs_dirsort, \$(VFS_DIRSORT_OBJ), "bin/dirsort.$SHLIBEXT", VFS) -SMB_MODULE(vfs_scannedonly, \$(VFS_SCANNEDONLY_OBJ), "bin/scannedonly.$SHLIBEXT", VFS) -SMB_MODULE(vfs_crossrename, \$(VFS_CROSSRENAME_OBJ), "bin/crossrename.$SHLIBEXT", VFS) -SMB_MODULE(vfs_linux_xfs_sgid, \$(VFS_LINUX_XFS_SGID_OBJ), "bin/linux_xfs_sgid.$SHLIBEXT", VFS) -SMB_MODULE(vfs_time_audit, \$(VFS_TIME_AUDIT_OBJ), "bin/time_audit.$SHLIBEXT", VFS) -SMB_MODULE(vfs_media_harmony, \$(VFS_MEDIA_HARMONY_OBJ), "bin/media_harmony.$SHLIBEXT", VFS) -SMB_MODULE(vfs_btrfs, \$(VFS_BTRFS_OBJ), "bin/btrfs.$SHLIBEXT", VFS) -SMB_MODULE(vfs_ceph, \$(VFS_CEPH_OBJ), "bin/ceph.$SHLIBEXT", VFS) - -SMB_SUBSYSTEM(VFS,smbd/vfs.o) - -SMB_MODULE(perfcount_test, \$(PERFCOUNT_TEST), "bin/pc_test.$SHLIBEXT", PERFCOUNT) -SMB_SUBSYSTEM(PERFCOUNT,smbd/perfcount.o) - -SMB_MODULE(gpext_registry, libgpo/gpext/registry.o, "bin/registry.$SHLIBEXT", GPEXT) -SMB_MODULE(gpext_scripts, libgpo/gpext/scripts.o, "bin/scripts.$SHLIBEXT", GPEXT) -SMB_MODULE(gpext_security, libgpo/gpext/security.o, "bin/security.$SHLIBEXT", GPEXT) -SMB_SUBSYSTEM(GPEXT, libgpo/gpext/gpext.o) - -AC_DEFINE_UNQUOTED(STRING_STATIC_MODULES, "$string_static_modules", [String list of builtin modules]) - -################################################# -# do extra things if we are running insure - -if test "${ac_cv_prog_CC}" = "insure"; then - CPPFLAGS="$CPPFLAGS -D__INSURE__" -fi - -################################################# -# If run from the build farm, enable NASTY hacks -################################################# -AC_MSG_CHECKING(whether to enable features for selftest) -if test x"$selftest" = x"yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE(ENABLE_SELFTEST, 1, [Support features needed for selftest]) - if test x"$selftest_possible" != xyes; then - AC_MSG_ERROR(selftest support only possible with python, including development headers, and perl installed) - fi -else - AC_MSG_RESULT(no) -fi - -################################################# -# check for bad librt/libpthread interactions - -if test x"$samba_cv_HAVE_KERNEL_OPLOCKS_LINUX" = x"yes" -o \ - x"$samba_cv_HAVE_KERNEL_CHANGE_NOTIFY" = x"yes" -o \ - x"$samba_cv_HAVE_AIO64" = x"yes" -o \ - x"$samba_cv_HAVE_AIO" = x"yes" ; then - -SMB_IF_RTSIGNAL_BUG( - [ - # Have RT_SIGNAL bug, need to check whether the problem will - # affect anything we have configured. - - rt_do_error=no - if test x"$samba_cv_HAVE_KERNEL_OPLOCKS_LINUX" = x"yes"; then - if test x"$rt_signal_lease_ok" = x"no" ; then - rt_do_error=yes - fi - fi - - if test x"$samba_cv_HAVE_KERNEL_CHANGE_NOTIFY" = x"yes"; then - if test x"$rt_signal_notify_ok" = x"no" ; then - rt_do_error=yes - fi - fi - - if test x"$samba_cv_HAVE_AIO64" = x"yes" -o \ - x"$samba_cv_HAVE_AIO" = x"yes" ; then - if test x"$rt_signal_aio_ok" = x"no" ; then - rt_do_error=yes - fi - fi - - if test x"$rt_do_error" = x"yes" ; then - SMB_IS_LIBPTHREAD_LINKED( - [ - cat<<MSG - -*** On this platforms, linking Samba against pthreads causes problems -*** with the oplock and change notification mechanisms. You may be -*** using pthreads as a side-effect of using the --with-aio-support -*** or --with-profiling-data options. Please remove these and try again. - -MSG - ], - [ - cat<<MSG - -*** On this platform, the oplock and change notification mechanisms do not -*** appear to work. Please report this problem to samba-technical@samba.org -*** and attach the config.log file from this directory. - -MSG - ]) - AC_MSG_ERROR(unable to use realtime signals on this platform) - fi - ], - [ - # no RT_SIGNAL bug, we are golden - SMB_IS_LIBPTHREAD_LINKED( - [ - AC_MSG_WARN(using libpthreads - this may degrade performance) - ]) - - ], - [ - # cross compiling, I hope you know what you are doing - true - ]) - -fi - -m4_include(../lib/zlib/zlib.m4) - -AC_SUBST(ZLIB_LIBS) -AC_SUBST(ZLIB_OBJS) -AC_ZLIB([ZLIB_OBJS=""], [ - ZLIB_LIBS="" - for o in adler32.o compress.o crc32.o gzio.o uncompr.o \ - deflate.o trees.o zutil.o inflate.o infback.o \ - inftrees.o inffast.o - do - ZLIB_OBJS="$ZLIB_OBJS ../lib/zlib/$o" - done - CFLAGS="-I../lib/zlib $CFLAGS" -]) - -AC_DEFINE(STATIC_gensec_MODULES, [gensec_spnego_init,gensec_ntlmssp_init,NULL],[gensec modules]) -AC_DEFINE(STATIC_gensec_MODULES_PROTO, [_MODULE_PROTO(gensec_spnego_init)_MODULE_PROTO(gensec_ntlmssp_init)],[gensec protos]) - -AC_ARG_ENABLE(dmalloc, [AS_HELP_STRING([--enable-dmalloc], [Enable heap debugging [default=no]])]) - -if test "x$enable_dmalloc" = xyes -then - AC_DEFINE(ENABLE_DMALLOC, 1, [Define to turn on dmalloc debugging]) - AC_DEFINE(DMALLOC_FUNC_CHECK, 1, - [Define to check invariants around some common functions]) - LIBS="$LIBS -ldmalloc" -fi - -dnl Remove -L/usr/lib/? from LDFLAGS and LIBS -LIB_REMOVE_USR_LIB(LDFLAGS) -LIB_REMOVE_USR_LIB(LIBS) - -dnl Remove -I/usr/include/? from CFLAGS and CPPFLAGS -CFLAGS_REMOVE_USR_INCLUDE(CFLAGS) -CFLAGS_REMOVE_USR_INCLUDE(CPPFLAGS) - -################################################# -# Display summary of libraries detected - -AC_MSG_RESULT([Using libraries:]) -AC_MSG_RESULT([ LIBS = $LIBS]) -if test x"$with_ads_support" != x"no"; then - AC_MSG_RESULT([ KRB5_LIBS = $KRB5_LIBS]) -fi -if test x"$with_ldap_support" != x"no"; then - AC_MSG_RESULT([ LDAP_LIBS = $LDAP_LIBS]) -fi -if test x"$have_dnssd_support" != x"no"; then - AC_MSG_RESULT([ DNSSD_LIBS = $DNSSD_LIBS]) -fi -AC_MSG_RESULT([ AUTH_LIBS = $AUTH_LIBS]) - -################################################# -# final configure stuff - -AC_MSG_CHECKING([configure summary]) -AC_TRY_RUN([#include "${srcdir-.}/../tests/summary.c"], - AC_MSG_RESULT(yes), - AC_MSG_ERROR([summary failure. Aborting config]); exit 1;, - AC_MSG_WARN([cannot run when cross-compiling])) - -dnl Merge in developer cflags from now on -AC_SUBST(DEVELOPER_CFLAGS) -if test x"$krb5_developer" = x"yes" -o x"$developer" = x"yes" -o x"$picky_developer" = x"yes"; then - CFLAGS="${CFLAGS} \$(DEVELOPER_CFLAGS) ${CFLAGS_APPEND}" -fi - -# Stuff the smbd-only libraries at the end of the smbd link -# path (if we have them). -SMBD_LIBS="$samba_dmapi_libs" -AC_SUBST(SMBD_LIBS) - -CFLAGS="${CFLAGS} \$(FLAGS)" -CFLAGS="${CFLAGS} -D_SAMBA_BUILD_=3" - -# If we had to expand the includes, make tsure the output file is moved back -AC_OUTPUT_COMMANDS([ -if test -f Makefile-noincludes -a ! -f Makefile -a ! -h Makefile ; then - ln -s Makefile-noincludes Makefile -fi -]) - -AC_OUTPUT(Makefile - script/findsmb smbadduser script/installbin.sh script/uninstallbin.sh - lib/netapi/examples/Makefile - lib/netapi/tests/Makefile - pkgconfig/smbclient.pc - pkgconfig/wbclient.pc - pkgconfig/netapi.pc - pkgconfig/smbsharemodes.pc - ../examples/libsmbclient/Makefile.internal - ) - -################################################# -# Print very concise instructions on building/use -if test "x$enable_dmalloc" = xyes -then - AC_MSG_RESULT([Note: The dmalloc debug library will be included. To turn it on use]) - AC_MSG_RESULT([ \$ eval \`dmalloc samba\`.]) -fi diff --git a/source3/m4/aclocal.m4 b/source3/m4/aclocal.m4 deleted file mode 100644 index 5d9ce30144..0000000000 --- a/source3/m4/aclocal.m4 +++ /dev/null @@ -1,899 +0,0 @@ -dnl test whether dirent has a d_off member -AC_DEFUN(AC_DIRENT_D_OFF, -[AC_CACHE_CHECK([for d_off in dirent], ac_cv_dirent_d_off, -[AC_TRY_COMPILE([ -#include <unistd.h> -#include <sys/types.h> -#include <dirent.h>], [struct dirent d; d.d_off;], -ac_cv_dirent_d_off=yes, ac_cv_dirent_d_off=no)]) -if test $ac_cv_dirent_d_off = yes; then - AC_DEFINE(HAVE_DIRENT_D_OFF,1,[Whether dirent has a d_off member]) -fi -]) - -dnl Mark specified module as shared -dnl SMB_MODULE(name,static_files,shared_files,subsystem,whatif-static,whatif-shared) -AC_DEFUN(SMB_MODULE, -[ - AC_MSG_CHECKING([how to build $1]) - if test "$[MODULE_][$1]"; then - DEST=$[MODULE_][$1] - elif test "$[MODULE_]translit([$4], [A-Z], [a-z])" -a "$[MODULE_DEFAULT_][$1]"; then - DEST=$[MODULE_]translit([$4], [A-Z], [a-z]) - else - DEST=$[MODULE_DEFAULT_][$1] - fi - - if test x"$DEST" = xSHARED; then - AC_DEFINE([$1][_init], [samba_init_module], [Whether to build $1 as shared module]) - $4_MODULES="$$4_MODULES $3" - AC_MSG_RESULT([shared]) - [$6] - string_shared_modules="$string_shared_modules $1" - elif test x"$DEST" = xSTATIC; then - [init_static_modules_]translit([$4], [A-Z], [a-z])="$[init_static_modules_]translit([$4], [A-Z], [a-z]) $1_init();" - [decl_static_modules_]translit([$4], [A-Z], [a-z])="$[decl_static_modules_]translit([$4], [A-Z], [a-z]) extern NTSTATUS $1_init(void);" - string_static_modules="$string_static_modules $1" - $4_STATIC="$$4_STATIC $2" - AC_SUBST($4_STATIC) - [$5] - AC_MSG_RESULT([static]) - else - string_ignored_modules="$string_ignored_modules $1" - AC_MSG_RESULT([not]) - fi -]) - -AC_DEFUN(SMB_SUBSYSTEM, -[ - AC_SUBST($1_STATIC) - AC_SUBST($1_MODULES) - AC_DEFINE_UNQUOTED([static_init_]translit([$1], [A-Z], [a-z]), [{$init_static_modules_]translit([$1], [A-Z], [a-z])[}], [Static init functions]) - AC_DEFINE_UNQUOTED([static_decl_]translit([$1], [A-Z], [a-z]), [$decl_static_modules_]translit([$1], [A-Z], [a-z]), [Decl of Static init functions]) - ifelse([$2], , :, [rm -f $2]) -]) - - -dnl SMB_LIBRARY(name, soversion, fullversion, default, reason) -dnl -dnl configure build and use of an (internal) shared library -dnl -AC_DEFUN([SMB_LIBRARY], -[ -m4_pushdef([LIBNAME], [lib$1]) -m4_pushdef([LIBUC], [m4_toupper(LIBNAME)]) -m4_pushdef([LIBLIBS], [-l$1]) - -LIBUC[_SHARED_TARGET]=bin/LIBNAME.$SHLIBEXT -LIBUC[_STATIC_TARGET]=bin/LIBNAME.a -LIBUC[_SHARED]= -LIBUC[_STATIC]= -LIBUC[_LIBS]=LIBLIBS -LIBUC[_TARGET]= -[INSTALL_]LIBUC= -[UNINSTALL_]LIBUC= - -m4_if([$2], [], [LIBUC[_SOVER]=0], [LIBUC[_SOVER]=$2]) -m4_if([$3], [], [LIBUC[_FULLVER]=$LIBUC[_SOVER]], [LIBUC[_FULLVER]=$3]) - -LIBUC[_SHARED_TARGET_SOVER]=$LIBUC[_SHARED_TARGET].$LIBUC[_SOVER] -LIBUC[_SHARED_TARGET_FULLVER]=$LIBUC[_SHARED_TARGET].$LIBUC[_FULLVER] - -AC_SUBST(LIBUC[_SHARED_TARGET]) -AC_SUBST(LIBUC[_STATIC_TARGET]) -AC_SUBST(LIBUC[_SHARED]) -AC_SUBST(LIBUC[_STATIC]) -AC_SUBST(LIBUC[_LIBS]) -AC_SUBST(LIBUC[_TARGET]) -AC_SUBST([INSTALL_]LIBUC) -AC_SUBST([UNINSTALL_]LIBUC) -AC_SUBST(LIBUC[_SOVER]) -AC_SUBST(LIBUC[_FULLVER]) -AC_SUBST(LIBUC[_SHARED_TARGET_SOVER]) -AC_SUBST(LIBUC[_SHARED_TARGET_FULLVER]) - -AC_MSG_CHECKING([whether to build the LIBNAME shared library]) -m4_if([$4], [no], [ -dnl set the default to not build the shared lib -AC_ARG_WITH(LIBNAME, -AS_HELP_STRING([--with-]LIBNAME, - m4_if([$5], [], - [Build the LIBNAME shared library (default=no)], - [Build the LIBNAME shared library (default=no ($5))])), -[ -case "$withval" in - yes) - build_lib=yes - ;; - *) - AC_MSG_RESULT(no) - build_lib=no - ;; -esac -], -[ -# if unspecified, default is not to build -AC_MSG_RESULT(no) -build_lib=no -] -) -],[ -dnl by default, try to build the shared lib -AC_ARG_WITH(LIBNAME, -AS_HELP_STRING([--with-]LIBNAME, - [Build the LIBNAME shared library (default=yes if shared libs supported)]), -[ -case "$withval" in - no) - AC_MSG_RESULT(no) - build_lib=no - ;; - *) - build_lib=yes - ;; -esac -], -[ -# if unspecified, default is to build it if possible. -build_lib=yes -] -) -]) - -if eval test x"$build_lib" = "xyes" ; then - # only set the install targets if the user chose the library - [INSTALL_]LIBUC=[install]LIBNAME - [UNINSTALL_]LIBUC=[uninstall]LIBNAME - if eval $BLDSHARED = true; then - LIBUC[_SHARED]=$LIBUC[_SHARED_TARGET] - LIBUC[_TARGET]=$LIBUC[_SHARED_TARGET] - - AC_MSG_RESULT(yes) - if test x"$USESHARED" != x"true" -o x"$[LINK_]LIBUC" = "xSTATIC" ; then - enable_static=yes - LIBUC[_TARGET]=$LIBUC[_STATIC_TARGET] - LIBUC[_LIBS]=$LIBUC[_STATIC_TARGET] - else - LIBUC[_LIBS]=LIBLIBS - fi - else - enable_static=yes - LIBUC[_TARGET]=$LIBUC[_STATIC_TARGET] - LIBUC[_LIBS]=$LIBUC[_STATIC_TARGET] - AC_MSG_RESULT(no shared library support -- will supply static library) - fi -else - enable_static=yes - AC_MSG_RESULT(shared library not selected, but will supply static library) -fi -if test $enable_static = yes; then - LIBUC[_STATIC]=$LIBUC[_STATIC_TARGET] -fi - -m4_popdef([LIBNAME]) -m4_popdef([LIBUC]) -m4_popdef([LIBLIBS]) - -]) - - -dnl AC_LIBTESTFUNC(lib, function, [actions if found], [actions if not found]) -dnl Check for a function in a library, but don't keep adding the same library -dnl to the LIBS variable. Check whether the function is available in the -dnl current LIBS before adding the library which prevents us spuriously -dnl adding libraries for symbols that are in libc. -dnl -dnl On success, the default actions ensure that HAVE_FOO is defined. The lib -dnl is always added to $LIBS if it was found to be necessary. The caller -dnl can use SMB_REMOVE_LIB to strp this if necessary. -AC_DEFUN([AC_LIBTESTFUNC], -[ - AC_CHECK_FUNCS($2, - [ - # $2 was found in libc or existing $LIBS - m4_ifval([$3], - [ - $3 - ], - [ - AC_DEFINE(translit([HAVE_$2], [a-z], [A-Z]), 1, - [Whether $2 is available]) - ]) - ], - [ - # $2 was not found, try adding lib$1 - case " $LIBS " in - *\ -l$1\ *) - m4_ifval([$4], - [ - $4 - ], - [ - # $2 was not found and we already had lib$1 - # nothing to do here by default - true - ]) - ;; - *) - # $2 was not found, try adding lib$1 - AC_CHECK_LIB($1, $2, - [ - LIBS="-l$1 $LIBS" - m4_ifval([$3], - [ - $3 - ], - [ - AC_DEFINE(translit([HAVE_$2], [a-z], [A-Z]), 1, - [Whether $2 is available]) - ]) - ], - [ - m4_ifval([$4], - [ - $4 - ], - [ - # $2 was not found in lib$1 - # nothing to do here by default - true - ]) - ]) - ;; - esac - ]) -]) - -# AC_CHECK_LIB_EXT(LIBRARY, [EXT_LIBS], [FUNCTION], -# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], -# [ADD-ACTION-IF-FOUND],[OTHER-LIBRARIES]) -# ------------------------------------------------------ -# -# Use a cache variable name containing both the library and function name, -# because the test really is for library $1 defining function $3, not -# just for library $1. Separate tests with the same $1 and different $3s -# may have different results. -# -# Note that using directly AS_VAR_PUSHDEF([ac_Lib], [ac_cv_lib_$1_$3]) -# is asking for trouble, since AC_CHECK_LIB($lib, fun) would give -# ac_cv_lib_$lib_fun, which is definitely not what was meant. Hence -# the AS_LITERAL_IF indirection. -# -# FIXME: This macro is extremely suspicious. It DEFINEs unconditionally, -# whatever the FUNCTION, in addition to not being a *S macro. Note -# that the cache does depend upon the function we are looking for. -# -# It is on purpose we used `ac_check_lib_ext_save_LIBS' and not just -# `ac_save_LIBS': there are many macros which don't want to see `LIBS' -# changed but still want to use AC_CHECK_LIB_EXT, so they save `LIBS'. -# And ``ac_save_LIBS' is too tempting a name, so let's leave them some -# freedom. -AC_DEFUN([AC_CHECK_LIB_EXT], -[ -AH_CHECK_LIB_EXT([$1]) -ac_check_lib_ext_save_LIBS=$LIBS -LIBS="-l$1 $$2 $7 $LIBS" -AS_LITERAL_IF([$1], - [AS_VAR_PUSHDEF([ac_Lib_ext], [ac_cv_lib_ext_$1])], - [AS_VAR_PUSHDEF([ac_Lib_ext], [ac_cv_lib_ext_$1''])])dnl - -m4_ifval([$3], - [ - AH_CHECK_FUNC_EXT([$3]) - AS_LITERAL_IF([$1], - [AS_VAR_PUSHDEF([ac_Lib_func], [ac_cv_lib_ext_$1_$3])], - [AS_VAR_PUSHDEF([ac_Lib_func], [ac_cv_lib_ext_$1''_$3])])dnl - AC_CACHE_CHECK([for $3 in -l$1], ac_Lib_func, - [AC_TRY_LINK_FUNC($3, - [AS_VAR_SET(ac_Lib_func, yes); - AS_VAR_SET(ac_Lib_ext, yes)], - [AS_VAR_SET(ac_Lib_func, no); - AS_VAR_SET(ac_Lib_ext, no)]) - ]) - AS_IF([test AS_VAR_GET(ac_Lib_func) = yes], - [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_$3))])dnl - AS_VAR_POPDEF([ac_Lib_func])dnl - ],[ - AC_CACHE_CHECK([for -l$1], ac_Lib_ext, - [AC_TRY_LINK_FUNC([main], - [AS_VAR_SET(ac_Lib_ext, yes)], - [AS_VAR_SET(ac_Lib_ext, no)]) - ]) - ]) -LIBS=$ac_check_lib_ext_save_LIBS - -AS_IF([test AS_VAR_GET(ac_Lib_ext) = yes], - [m4_default([$4], - [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_LIB$1)) - case "$$2" in - *-l$1*) - ;; - *) - $2="-l$1 $$2" - ;; - esac]) - [$6] - ], - [$5])dnl -AS_VAR_POPDEF([ac_Lib_ext])dnl -])# AC_CHECK_LIB_EXT - -# AH_CHECK_LIB_EXT(LIBNAME) -# --------------------- -m4_define([AH_CHECK_LIB_EXT], -[AH_TEMPLATE(AS_TR_CPP(HAVE_LIB$1), - [Define to 1 if you have the `]$1[' library (-l]$1[).])]) - -# AC_CHECK_FUNCS_EXT(FUNCTION, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# ----------------------------------------------------------------- -dnl check for a function in a $LIBS and $OTHER_LIBS libraries variable. -dnl AC_CHECK_FUNC_EXT(func,OTHER_LIBS,IF-TRUE,IF-FALSE) -AC_DEFUN([AC_CHECK_FUNC_EXT], -[ - AH_CHECK_FUNC_EXT($1) - ac_check_func_ext_save_LIBS=$LIBS - LIBS="$2 $LIBS" - AS_VAR_PUSHDEF([ac_var], [ac_cv_func_ext_$1])dnl - AC_CACHE_CHECK([for $1], ac_var, - [AC_LINK_IFELSE([AC_LANG_FUNC_LINK_TRY([$1])], - [AS_VAR_SET(ac_var, yes)], - [AS_VAR_SET(ac_var, no)])]) - LIBS=$ac_check_func_ext_save_LIBS - AS_IF([test AS_VAR_GET(ac_var) = yes], - [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_$1])) $3], - [$4])dnl -AS_VAR_POPDEF([ac_var])dnl -])# AC_CHECK_FUNC_EXT - -# AH_CHECK_FUNC_EXT(FUNCNAME) -# --------------------- -m4_define([AH_CHECK_FUNC_EXT], -[AH_TEMPLATE(AS_TR_CPP(HAVE_$1), - [Define to 1 if you have the `]$1[' function.])]) - -dnl Define an AC_DEFINE with ifndef guard. -dnl AC_N_DEFINE(VARIABLE [, VALUE]) -define(AC_N_DEFINE, -[cat >> confdefs.h <<\EOF -[#ifndef] $1 -[#define] $1 ifelse($#, 2, [$2], $#, 3, [$2], 1) -[#endif] -EOF -]) - -dnl Add an #include -dnl AC_ADD_INCLUDE(VARIABLE) -define(AC_ADD_INCLUDE, -[cat >> confdefs.h <<\EOF -[#include] $1 -EOF -]) - -dnl Copied from libtool.m4 -AC_DEFUN(AC_PROG_LD_GNU, -[AC_CACHE_CHECK([if the linker used by compiler is GNU ld], ac_cv_prog_gnu_ld, -[# I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $CC -Wl,-v /dev/null 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then - ac_cv_prog_gnu_ld=yes -else - ac_cv_prog_gnu_ld=no -fi]) -]) - -dnl Removes -I/usr/include/? from given variable -AC_DEFUN(CFLAGS_REMOVE_USR_INCLUDE,[ - ac_new_flags="" - for i in [$]$1; do - case [$]i in - -I/usr/include|-I/usr/include/) ;; - *) ac_new_flags="[$]ac_new_flags [$]i" ;; - esac - done - $1=[$]ac_new_flags -]) - -dnl Removes '-L/usr/lib[/]', '-Wl,-rpath,/usr/lib[/]' -dnl and '-Wl,-rpath -Wl,/usr/lib[/]' from given variable -AC_DEFUN(LIB_REMOVE_USR_LIB,[ - ac_new_flags="" - l="" - for i in [$]$1; do - case [$]l[$]i in - -L/usr/lib) ;; - -L/usr/lib/) ;; - -L/usr/lib64) ;; - -L/usr/lib64/) ;; - -Wl,-rpath,/usr/lib) l="";; - -Wl,-rpath,/usr/lib/) l="";; - -Wl,-rpath,/usr/lib64) l="";; - -Wl,-rpath,/usr/lib64/) l="";; - -Wl,-rpath) l=[$]i;; - -Wl,-rpath-Wl,/usr/lib) l="";; - -Wl,-rpath-Wl,/usr/lib/) l="";; - -Wl,-rpath-Wl,/usr/lib64) l="";; - -Wl,-rpath-Wl,/usr/lib64/) l="";; - -rpath=/usr/lib:*) l="-rpath=${i#-rpath=*:}";; - *) - s=" " - if test x"[$]ac_new_flags" = x""; then - s=""; - fi - if test x"[$]l" = x""; then - ac_new_flags="[$]ac_new_flags[$]s[$]i"; - else - ac_new_flags="[$]ac_new_flags[$]s[$]l [$]i"; - fi - l="" - ;; - esac - done - $1=[$]ac_new_flags -]) - -dnl From Bruno Haible. - -AC_DEFUN(jm_ICONV, -[ - dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and - dnl those with the standalone portable libiconv installed). - AC_MSG_CHECKING(for iconv in $1) - jm_cv_func_iconv="no" - jm_cv_lib_iconv="" - jm_cv_giconv=no - jm_save_LIBS="$LIBS" - - dnl Check for include in giconv.h but no lib needed - if test "$jm_cv_func_iconv" != yes; then - AC_TRY_LINK([#include <stdlib.h> -#include <giconv.h>], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - jm_cv_func_iconv=yes - jm_cv_include="giconv.h" - jm_cv_giconv="yes" - jm_cv_lib_iconv="") - - dnl Standard iconv.h include, lib in glibc or libc ... - if test "$jm_cv_func_iconv" != yes; then - AC_TRY_LINK([#include <stdlib.h> -#include <iconv.h>], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - jm_cv_include="iconv.h" - jm_cv_func_iconv=yes - jm_cv_lib_iconv="") - - dnl Include in giconv.h, libgiconv needed to link - if test "$jm_cv_func_iconv" != yes; then - jm_save_LIBS="$LIBS" - LIBS="$LIBS -lgiconv" - AC_TRY_LINK([#include <stdlib.h> -#include <giconv.h>], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - jm_cv_lib_iconv=yes - jm_cv_func_iconv=yes - jm_cv_include="giconv.h" - jm_cv_giconv=yes - jm_cv_lib_iconv="giconv") - - LIBS="$jm_save_LIBS" - - dnl Include in iconv.h, libiconv needed to link - if test "$jm_cv_func_iconv" != yes; then - jm_save_LIBS="$LIBS" - LIBS="$LIBS -liconv" - AC_TRY_LINK([#include <stdlib.h> -#include <iconv.h>], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - jm_cv_include="iconv.h" - jm_cv_func_iconv=yes - jm_cv_lib_iconv="iconv") - LIBS="$jm_save_LIBS" - - dnl Include in biconv.h, libbiconv needed to link - if test "$jm_cv_func_iconv" != yes; then - jm_save_LIBS="$LIBS" - LIBS="$LIBS -lbiconv" - AC_TRY_LINK([#include <stdlib.h> -#include <biconv.h>], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - jm_cv_lib_iconv=yes - jm_cv_func_iconv=yes - jm_cv_include="biconv.h" - jm_cv_biconv=yes - jm_cv_lib_iconv="biconv") - - LIBS="$jm_save_LIBS" - fi - fi - fi - fi - fi - if test "$jm_cv_func_iconv" = yes; then - if test "$jm_cv_giconv" = yes; then - AC_DEFINE(HAVE_GICONV, 1, [What header to include for iconv() function: giconv.h]) - AC_MSG_RESULT(yes) - ICONV_FOUND=yes - else - if test "$jm_cv_biconv" = yes; then - AC_DEFINE(HAVE_BICONV, 1, [What header to include for iconv() function: biconv.h]) - AC_MSG_RESULT(yes) - ICONV_FOUND=yes - else - AC_DEFINE(HAVE_ICONV, 1, [What header to include for iconv() function: iconv.h]) - AC_MSG_RESULT(yes) - ICONV_FOUND=yes - fi - fi - else - AC_MSG_RESULT(no) - fi -]) - -AC_DEFUN(rjs_CHARSET,[ - dnl Find out if we can convert from $1 to UCS2-LE - AC_MSG_CHECKING([can we convert from $1 to UCS2-LE?]) - AC_TRY_RUN([ -#include <$jm_cv_include> -main(){ - iconv_t cd = iconv_open("$1", "UCS-2LE"); - if (cd == 0 || cd == (iconv_t)-1) { - return -1; - } - return 0; -} - ],ICONV_CHARSET=$1,ICONV_CHARSET=no,ICONV_CHARSET=cross) - AC_MSG_RESULT($ICONV_CHARSET) -]) - -dnl AC_ENABLE_SHARED - implement the --enable-shared flag -dnl Usage: AC_ENABLE_SHARED[(DEFAULT)] -dnl Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -dnl `yes'. -AC_DEFUN([AC_ENABLE_SHARED], -[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE(shared, -changequote(<<, >>)dnl -<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], -changequote([, ])dnl -[p=${PACKAGE-default} -case $enableval in -yes) enable_shared=yes ;; -no) enable_shared=no ;; -*) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - - done - IFS="$ac_save_ifs" - ;; -esac], -enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl -]) - -dnl AC_ENABLE_STATIC - implement the --enable-static flag -dnl Usage: AC_ENABLE_STATIC[(DEFAULT)] -dnl Where DEFAULT is either `yes' or `no'. If omitted, it defaults to -dnl `yes'. -AC_DEFUN([AC_ENABLE_STATIC], -[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE(static, -changequote(<<, >>)dnl -<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], -changequote([, ])dnl -[p=${PACKAGE-default} -case $enableval in -yes) enable_static=yes ;; -no) enable_static=no ;; -*) - enable_static=no - # Look at the argument we got. We use all the common list separators. - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," - for pkg in $enableval; do - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$ac_save_ifs" - ;; -esac], -enable_static=AC_ENABLE_STATIC_DEFAULT)dnl -]) - -dnl AC_DISABLE_STATIC - set the default static flag to --disable-static -AC_DEFUN([AC_DISABLE_STATIC], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no)]) - -dnl AC_TRY_COMMAND_NO_STDERR - also fail if there is output on stderr -AC_DEFUN( [AC_TRY_COMMAND_NO_STDERR], -[ - { OUT=`($1) 3>&AS_MESSAGE_LOG_FD 2>&1 1>&3` - RC=$? - echo "\$?=$RC" >&AS_MESSAGE_LOG_FD - if test x"$OUT" != x ; then - echo "stderr:" >&AS_MESSAGE_LOG_FD - echo "$OUT" >&AS_MESSAGE_LOG_FD - fi - test $RC -eq 0 -a x"$OUT" = x ; } -]) - -dnl AC_TRY_RUN_STRICT(PROGRAM,CFLAGS,CPPFLAGS,LDFLAGS, -dnl [ACTION-IF-TRUE],[ACTION-IF-FALSE], -dnl [ACTION-IF-CROSS-COMPILING = RUNTIME-ERROR]) -AC_DEFUN( [AC_TRY_RUN_STRICT], -[ - old_CFLAGS="$CFLAGS"; - CFLAGS="$2"; - export CFLAGS; - old_CPPFLAGS="$CPPFLAGS"; - CPPFLAGS="$3"; - export CPPFLAGS; - old_LDFLAGS="$LDFLAGS"; - LDFLAGS="$4"; - export LDFLAGS; - AC_TRY_RUN([$1],[$5],[$6],[$7]) - CFLAGS="$old_CFLAGS"; - old_CFLAGS=""; - export CFLAGS; - CPPFLAGS="$old_CPPFLAGS"; - old_CPPFLAGS=""; - export CPPFLAGS; - LDFLAGS="$old_LDFLAGS"; - old_LDFLAGS=""; - export LDFLAGS; -]) - -dnl SMB_CHECK_SYSCONF(varname) -dnl Tests whether the sysconf(3) variable "varname" is available. -AC_DEFUN([SMB_CHECK_SYSCONF], -[ - AC_CACHE_CHECK([for sysconf($1)], - samba_cv_SYSCONF$1, - [ - AC_TRY_LINK([#include <unistd.h>], - [ return sysconf($1) == -1 ? 1 : 0; ], - [ samba_cv_SYSCONF$1=yes ], - [ samba_cv_SYSCONF$1=no ]) - ]) - - if test x"$samba_cv_SYSCONF$1" = x"yes" ; then - AC_DEFINE(SYSCONF$1, 1, [Whether sysconf($1) is available]) - fi -]) - -dnl SMB_IS_LIBPTHREAD_LINKED([actions if true], [actions if false]) -dnl Test whether the current LIBS results in libpthread being present. -dnl Execute the corresponding user action list. -AC_DEFUN([SMB_IS_LIBPTHREAD_LINKED], -[ - AC_MSG_CHECKING(if libpthread is linked) - AC_TRY_LINK([], - [return pthread_create(0, 0, 0, 0);], - [ - AC_MSG_RESULT(yes) - $1 - ], - [ - AC_MSG_RESULT(no) - $2 - ]) -]) - -dnl SMB_REMOVE_LIB(lib) -dnl Remove the given library from $LIBS -AC_DEFUN([SMB_REMOVE_LIB], -[ - LIBS=`echo $LIBS | sed '-es/-l$1//g'` -]) - -dnl SMB_CHECK_DMAPI([actions if true], [actions if false]) -dnl Check whether DMAPI is available and is a version that we know -dnl how to deal with. The default truth action is to set samba_dmapi_libs -dnl to the list of necessary libraries, and to define USE_DMAPI. -AC_DEFUN([SMB_CHECK_DMAPI], -[ - samba_dmapi_libs="" - - if test x"$samba_dmapi_libs" = x"" ; then - AC_CHECK_LIB(dm, dm_get_eventlist, - [ samba_dmapi_libs="-ldm"], []) - fi - - if test x"$samba_dmapi_libs" = x"" ; then - AC_CHECK_LIB(jfsdm, dm_get_eventlist, - [samba_dmapi_libs="-ljfsdm"], []) - fi - - if test x"$samba_dmapi_libs" = x"" ; then - AC_CHECK_LIB(dmapi, dm_get_eventlist, - [samba_dmapi_libs="-ldmapi"], []) - fi - - if test x"$samba_dmapi_libs" = x"" ; then - AC_CHECK_LIB(xdsm, dm_get_eventlist, - [samba_dmapi_libs="-lxdsm"], []) - fi - - - # Only bother to test ehaders if we have a candidate DMAPI library - if test x"$samba_dmapi_libs" != x"" ; then - AC_CHECK_HEADERS(sys/dmi.h xfs/dmapi.h sys/jfsdmapi.h sys/dmapi.h dmapi.h) - fi - - if test x"$samba_dmapi_libs" != x"" ; then - samba_dmapi_save_LIBS="$LIBS" - LIBS="$LIBS $samba_dmapi_libs" - AC_TRY_LINK( - [ -#include <time.h> /* needed by Tru64 */ -#include <sys/types.h> /* needed by AIX */ -#ifdef HAVE_XFS_DMAPI_H -#include <xfs/dmapi.h> -#elif defined(HAVE_SYS_DMI_H) -#include <sys/dmi.h> -#elif defined(HAVE_SYS_JFSDMAPI_H) -#include <sys/jfsdmapi.h> -#elif defined(HAVE_SYS_DMAPI_H) -#include <sys/dmapi.h> -#elif defined(HAVE_DMAPI_H) -#include <dmapi.h> -#endif - ], - [ -/* This link test is designed to fail on IRI 6.4, but should - * succeed on Linux, IRIX 6.5 and AIX. - */ - char * version; - dm_eventset_t events; - /* This doesn't take an argument on IRIX 6.4. */ - dm_init_service(&version); - /* IRIX 6.4 expects events to be a pointer. */ - DMEV_ISSET(DM_EVENT_READ, events); - ], - [ - true # DMAPI link test succeeded - ], - [ - # DMAPI link failure - samba_dmapi_libs= - ]) - LIBS="$samba_dmapi_save_LIBS" - fi - - if test x"$samba_dmapi_libs" = x"" ; then - # DMAPI detection failure actions begin - ifelse($2, [], - [ - AC_ERROR(Failed to detect a supported DMAPI implementation) - ], - [ - $2 - ]) - # DMAPI detection failure actions end - else - # DMAPI detection success actions start - ifelse($1, [], - [ - AC_DEFINE(USE_DMAPI, 1, - [Whether we should build DMAPI integration components]) - AC_MSG_NOTICE(Found DMAPI support in $samba_dmapi_libs) - ], - [ - $1 - ]) - # DMAPI detection success actions end - fi - -]) - -dnl SMB_IF_RTSIGNAL_BUG([actions if true], -dnl [actions if false], -dnl [actions if cross compiling]) -dnl Test whether we can call sigaction with RT_SIGNAL_NOTIFY and -dnl RT_SIGNAL_LEASE (also RT_SIGNAL_AIO for good measure, though -dnl I don't believe that triggers any bug. -dnl -dnl See the samba-technical thread titled "Failed to setup -dnl RT_SIGNAL_NOTIFY handler" for details on the bug in question. -AC_DEFUN([SMB_IF_RTSIGNAL_BUG], -[ - rt_signal_notify_works=yes - rt_signal_lease_works=yes - rt_signal_aio_works=yes - - AC_MSG_CHECKING(if sigaction works with realtime signals) - AC_TRY_RUN( - [ -#include <sys/types.h> -#include <fcntl.h> -#include <signal.h> - -#ifndef SIGRTMIN -#define SIGRTMIN NSIG -#endif -/* from smbd/notify_kernel.c */ -#ifndef RT_SIGNAL_NOTIFY -#define RT_SIGNAL_NOTIFY (SIGRTMIN+2) -#endif - -/* from smbd/aio.c */ -#ifndef RT_SIGNAL_AIO -#define RT_SIGNAL_AIO (SIGRTMIN+3) -#endif - -/* from smbd/oplock_linux.c */ -#ifndef RT_SIGNAL_LEASE -#define RT_SIGNAL_LEASE (SIGRTMIN+1) -#endif - -static void signal_handler(int sig, siginfo_t *info, void *unused) -{ - int do_nothing = 0; -} - -int main(void) -{ - int result = 0; - struct sigaction act = {0}; - - act.sa_sigaction = signal_handler; - act.sa_flags = SA_SIGINFO; - sigemptyset( &act.sa_mask ); - - if (sigaction(RT_SIGNAL_LEASE, &act, 0) != 0) { - /* Failed to setup RT_SIGNAL_LEASE handler */ - result += 1; - } - - if (sigaction(RT_SIGNAL_NOTIFY, &act, 0) != 0) { - /* Failed to setup RT_SIGNAL_NOTIFY handler */ - result += 10; - } - - if (sigaction(RT_SIGNAL_AIO, &act, 0) != 0) { - /* Failed to setup RT_SIGNAL_AIO handler */ - result += 100; - } - - /* zero on success */ - return result; -} - ], - [ - AC_MSG_RESULT(yes) - $2 - ], - [ - AC_MSG_RESULT(no) - case "$ac_status" in - 1|11|101|111) rt_signal_lease_ok=no ;; - esac - case "$ac_status" in - 10|11|110|111) rt_signal_notify_ok=no ;; - esac - case "$ac_status" in - 100|110|101|111) rt_signal_aio_ok=no ;; - esac - $2 - ], - [ - AC_MSG_RESULT(cross) - $3 - ]) -]) - -m4_include(../lib/replace/libreplace.m4) diff --git a/source3/m4/autoconf-2.60.m4 b/source3/m4/autoconf-2.60.m4 deleted file mode 100644 index b2694fde62..0000000000 --- a/source3/m4/autoconf-2.60.m4 +++ /dev/null @@ -1,236 +0,0 @@ -# AC_GNU_SOURCE -# -------------- -AC_DEFUN([AC_GNU_SOURCE], -[AH_VERBATIM([_GNU_SOURCE], -[/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif])dnl -AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl -AC_BEFORE([$0], [AC_RUN_IFELSE])dnl -AC_DEFINE([_GNU_SOURCE]) -]) - -# _AC_C_STD_TRY(STANDARD, TEST-PROLOGUE, TEST-BODY, OPTION-LIST, -# ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE) -# -------------------------------------------------------------- -# Check whether the C compiler accepts features of STANDARD (e.g `c89', `c99') -# by trying to compile a program of TEST-PROLOGUE and TEST-BODY. If this fails, -# try again with each compiler option in the space-separated OPTION-LIST; if one -# helps, append it to CC. If eventually successful, run ACTION-IF-AVAILABLE, -# else ACTION-IF-UNAVAILABLE. -AC_DEFUN([_AC_C_STD_TRY], -[AC_MSG_CHECKING([for $CC option to accept ISO ]m4_translit($1, [c], [C])) -AC_CACHE_VAL(ac_cv_prog_cc_$1, -[ac_cv_prog_cc_$1=no -ac_save_CC=$CC -AC_LANG_CONFTEST([AC_LANG_PROGRAM([$2], [$3])]) -for ac_arg in '' $4 -do - CC="$ac_save_CC $ac_arg" - _AC_COMPILE_IFELSE([], [ac_cv_prog_cc_$1=$ac_arg]) - test "x$ac_cv_prog_cc_$1" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC -])# AC_CACHE_VAL -case "x$ac_cv_prog_cc_$1" in - x) - AC_MSG_RESULT([none needed]) ;; - xno) - AC_MSG_RESULT([unsupported]) ;; - *) - CC="$CC $ac_cv_prog_cc_$1" - AC_MSG_RESULT([$ac_cv_prog_cc_$1]) ;; -esac -AS_IF([test "x$ac_cv_prog_cc_$1" != xno], [$5], [$6]) -])# _AC_C_STD_TRY - -# _AC_PROG_CC_C99 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE]) -# ---------------------------------------------------------------- -# If the C compiler is not in ISO C99 mode by default, try to add an -# option to output variable CC to make it so. This macro tries -# various options that select ISO C99 on some system or another. It -# considers the compiler to be in ISO C99 mode if it handles mixed -# code and declarations, _Bool, inline and restrict. -AC_DEFUN([_AC_PROG_CC_C99], -[_AC_C_STD_TRY([c99], -[[#include <stdarg.h> -#include <stdbool.h> -#include <stdlib.h> -#include <wchar.h> -#include <stdio.h> - -struct incomplete_array -{ - int datasize; - double data[]; -}; - -struct named_init { - int number; - const wchar_t *name; - double average; -}; - -typedef const char *ccp; - -static inline int -test_restrict(ccp restrict text) -{ - // See if C++-style comments work. - // Iterate through items via the restricted pointer. - // Also check for declarations in for loops. - for (unsigned int i = 0; *(text+i) != '\0'; ++i) - continue; - return 0; -} - -// Check varargs and va_copy work. -static void -test_varargs(const char *format, ...) -{ - va_list args; - va_start(args, format); - va_list args_copy; - va_copy(args_copy, args); - - const char *str; - int number; - float fnumber; - - while (*format) - { - switch (*format++) - { - case 's': // string - str = va_arg(args_copy, const char *); - break; - case 'd': // int - number = va_arg(args_copy, int); - break; - case 'f': // float - fnumber = (float) va_arg(args_copy, double); - break; - default: - break; - } - } - va_end(args_copy); - va_end(args); -} -]], -[[ - // Check bool and long long datatypes. - _Bool success = false; - long long int bignum = -1234567890LL; - unsigned long long int ubignum = 1234567890uLL; - - // Check restrict. - if (test_restrict("String literal") != 0) - success = true; - char *restrict newvar = "Another string"; - - // Check varargs. - test_varargs("s, d' f .", "string", 65, 34.234); - - // Check incomplete arrays work. - struct incomplete_array *ia = - malloc(sizeof(struct incomplete_array) + (sizeof(double) * 10)); - ia->datasize = 10; - for (int i = 0; i < ia->datasize; ++i) - ia->data[i] = (double) i * 1.234; - - // Check named initialisers. - struct named_init ni = { - .number = 34, - .name = L"Test wide string", - .average = 543.34343, - }; - - ni.number = 58; - - int dynamic_array[ni.number]; - dynamic_array[43] = 543; - - // work around unused variable warnings - return bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'; -]], -dnl Try -dnl GCC -std=gnu99 (unused restrictive modes: -std=c99 -std=iso9899:1999) -dnl AIX -qlanglvl=extc99 (unused restrictive mode: -qlanglvl=stdc99) -dnl Intel ICC -c99 -dnl IRIX -c99 -dnl Solaris (unused because it causes the compiler to assume C99 semantics for -dnl library functions, and this is invalid before Solaris 10: -xc99) -dnl Tru64 -c99 -dnl with extended modes being tried first. -[[-std=gnu99 -c99 -qlanglvl=extc99]], [$1], [$2])[]dnl -])# _AC_PROG_CC_C99 - -# AC_PROG_CC_C99 -# -------------- -AC_DEFUN([AC_PROG_CC_C99], -[ AC_REQUIRE([AC_PROG_CC])dnl - _AC_PROG_CC_C99 -]) - -# AC_USE_SYSTEM_EXTENSIONS -# ------------------------ -# Enable extensions on systems that normally disable them, -# typically due to standards-conformance issues. -m4_ifndef([AC_USE_SYSTEM_EXTENSIONS],[ -AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], -[AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl -AC_BEFORE([$0], [AC_RUN_IFELSE])dnl - - AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) - if test "$MINIX" = yes; then - AC_DEFINE([_POSIX_SOURCE], [1], - [Define to 1 if you need to in order for `stat' and other - things to work.]) - AC_DEFINE([_POSIX_1_SOURCE], [2], - [Define to 2 if the system does not provide POSIX.1 features - except with this defined.]) - AC_DEFINE([_MINIX], [1], - [Define to 1 if on MINIX.]) - fi - - AH_VERBATIM([__EXTENSIONS__], -[/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif -]) - AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], - [ac_cv_safe_to_define___extensions__], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[ -# define __EXTENSIONS__ 1 - ]AC_INCLUDES_DEFAULT])], - [ac_cv_safe_to_define___extensions__=yes], - [ac_cv_safe_to_define___extensions__=no])]) - test $ac_cv_safe_to_define___extensions__ = yes && - AC_DEFINE([__EXTENSIONS__]) - AC_DEFINE([_ALL_SOURCE]) - AC_DEFINE([_GNU_SOURCE]) - AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) - AC_DEFINE([_TANDEM_SOURCE]) -])# AC_USE_SYSTEM_EXTENSIONS -]) diff --git a/source3/m4/check_path.m4 b/source3/m4/check_path.m4 deleted file mode 100644 index 94c36bc6bd..0000000000 --- a/source3/m4/check_path.m4 +++ /dev/null @@ -1,89 +0,0 @@ -dnl -dnl Samba3 build environment path checks -dnl -dnl Copyright (C) Michael Adam 2008 -dnl -dnl Released under the GNU General Public License -dnl http://www.gnu.org/licenses/ -dnl - -AC_LIBREPLACE_LOCATION_CHECKS - -m4_include(../dynconfig/config.m4) - -################################################# -# set prefix for 'make test' -selftest_prefix="./st" -AC_SUBST(selftest_prefix) -AC_ARG_WITH(selftest-prefix, -[AS_HELP_STRING([--with-selftest-prefix=DIR], [The prefix where make test will be run ($selftest_prefix)])], -[ case "$withval" in - yes|no) - AC_MSG_WARN([--with-selftest-prefix called without argument - will use default]) - ;; - * ) - selftest_prefix="$withval" - ;; - esac -]) - -## check for --enable-debug first before checking CFLAGS before -## so that we don't mix -O and -g -debug=no -AC_ARG_ENABLE(debug, -[AS_HELP_STRING([--enable-debug], [Turn on compiler debugging information (default=no)])], - [if eval "test x$enable_debug = xyes"; then - debug=yes - fi]) - -AC_SUBST(developer) -developer=no -AC_ARG_ENABLE(developer, [AS_HELP_STRING([--enable-developer], [Turn on developer warnings and debugging (default=no)])], - [if eval "test x$enable_developer = xyes"; then - debug=yes - developer=yes - selftest=yes - fi]) - -AC_SUBST(selftest) -selftest=no -AC_ARG_ENABLE(selftest, [AS_HELP_STRING([--enable-selftest], [Turn on selftest capability (default=no)])], - [if eval "test x$enable_selftest = xyes"; then - debug=yes - selftest=yes - fi]) - -krb5developer=no -AC_ARG_ENABLE(krb5developer, [AS_HELP_STRING([--enable-krb5developer], [Turn on developer warnings and debugging, except -Wstrict-prototypes (default=no)])], - [if eval "test x$enable_krb5developer = xyes"; then - debug=yes - developer=yes - krb5_developer=yes - fi]) - -picky_developer=no -AC_ARG_ENABLE(picky-developer, [AS_HELP_STRING([--enable-picky-developer], [Halt compilation on warnings])], - [if eval "test x$enable_picky_developer = xyes"; then - debug=yes - developer=yes - picky_developer=yes - fi]) - -AC_ARG_WITH(cfenc, -[AS_HELP_STRING([--with-cfenc=HEADERDIR], [Use internal CoreFoundation encoding API for optimization (Mac OS X/Darwin only)])], -[ -# May be in source $withval/CoreFoundation/StringEncodings.subproj. -# Should have been in framework $withval/CoreFoundation.framework/Headers. -for d in \ - $withval/CoreFoundation/StringEncodings.subproj \ - $withval/StringEncodings.subproj \ - $withval/CoreFoundation.framework/Headers \ - $withval/Headers \ - $withval -do - if test -r $d/CFStringEncodingConverter.h; then - ln -sfh $d include/CoreFoundation - fi -done -]) - diff --git a/source3/m4/samba_version.m4 b/source3/m4/samba_version.m4 deleted file mode 100644 index f0e3b8a96e..0000000000 --- a/source3/m4/samba_version.m4 +++ /dev/null @@ -1,29 +0,0 @@ -dnl -dnl Samba3 build environment - Samba version variables -dnl -dnl Copyright (C) Michael Adam 2008 -dnl -dnl Released under the GNU General Public License -dnl http://www.gnu.org/licenses/ -dnl -dnl - -SMB_VERSION_STRING=`cat $srcdir/include/autoconf/version.h | grep '#define SAMBA_VERSION_OFFICIAL_STRING' | cut -d '"' -f2` -echo "SAMBA VERSION: ${SMB_VERSION_STRING}" - -SAMBA_VERSION_GIT_COMMIT_FULLREV=`cat $srcdir/include/autoconf/version.h | grep 'SAMBA_VERSION_GIT_COMMIT_FULLREV' | cut -d ' ' -f3- | cut -d '"' -f2` -if test -n "${SAMBA_VERSION_GIT_COMMIT_FULLREV}";then - echo "BUILD COMMIT REVISION: ${SAMBA_VERSION_GIT_COMMIT_FULLREV}" -fi -SAMBA_VERSION_COMMIT_DATE=`cat $srcdir/include/autoconf/version.h | grep 'SAMBA_VERSION_COMMIT_DATE' | cut -d ' ' -f3-` -if test -n "${SAMBA_VERSION_COMMIT_DATE}";then - echo "BUILD COMMIT DATE: ${SAMBA_VERSION_COMMIT_DATE}" -fi -SAMBA_VERSION_COMMIT_TIME=`cat $srcdir/include/autoconf/version.h | grep 'SAMBA_VERSION_COMMIT_TIME' | cut -d ' ' -f3-` -if test -n "${SAMBA_VERSION_COMMIT_TIME}";then - echo "BUILD COMMIT TIME: ${SAMBA_VERSION_COMMIT_TIME}" - - # just to keep the build-farm gui happy for now... - echo "BUILD REVISION: ${SAMBA_VERSION_COMMIT_TIME}" -fi - |