#!/usr/bin/env python
-from samba_utils import *
-import samba_version, samba3
-
LIBS='ICONV'
config_h = "../include/config.h"
bld.SAMBA_BLDOPTIONS('smbd/build_options.c')
-t = bld.SAMBA_GENERATOR('build_env.h',
- source='script/build_env.sh',
- target='include/build_env.h',
- rule='${SRC} ${SRCDIR} ${BUILDDIR} ${CC} > ${TGT}')
-# todo: work out what is really wanted here
-t.env.SRCDIR = bld.path.abspath()
-t.env.BUILDDIR = bld.path.abspath()
-
bld.SETUP_BUILD_GROUPS()
######################## SUBSYSTEMS #################################
bld.SAMBA3_LIBRARY('gse',
source='librpc/crypto/gse_krb5.c librpc/crypto/gse.c',
- deps='krb5samba gensec param KRBCLIENT secrets3',
+ deps='krb5samba gensec smbconf KRBCLIENT secrets3',
private_library=True)
bld.SAMBA3_LIBRARY('msrpc3',
''',
private_library=True)
-bld.SAMBA3_LIBRARY('gpo',
- source='''
- ../libgpo/gpo_ldap.c
- ../libgpo/gpo_ini.c
- ../libgpo/gpo_util.c
- ../libgpo/gpo_fetch.c
- libgpo/gpo_filesync.c
- ../libgpo/gpo_sec.c
- libgpo/gpo_reg.c
- ''',
- deps='''
- talloc
- ads
- TOKEN_UTIL
- gpext
- auth
- ''',
- private_library=True)
-
bld.SAMBA3_SUBSYSTEM('AVAHI',
source='''
lib/avahi.c
samba3util
''')
+bld.SAMBA3_BINARY('test_tldap',
+ source='lib/test_tldap.c',
+ deps='''
+ asn1util
+ LIBTSOCKET
+ samba3util
+ smbconf
+ cmocka
+ ''',
+ install=False)
+
# libpdb.so should not expose internal symbols that are only usable
# to the statically linked modules that are merged into libpdb.
# Note that we always filter these symbols out in libpdb, even
''',
abi_match=private_pdb_match,
abi_directory='passdb/ABI',
- vnum='0.25.0')
+ vnum='0.27.1')
bld.SAMBA3_SUBSYSTEM('pdb',
source='''
LIBCLI_AUTH
flag_mapping
samba-credentials
+ nscd
''')
bld.SAMBA3_LIBRARY('smbldaphelper',
source='lib/server_mutex.c',
deps='talloc')
-bld.SAMBA3_SUBSYSTEM('param',
- source='''
- param/loadparm.c
- lib/sharesec.c
- lib/ldap_debug_handler.c
- lib/util_names.c
- ''',
- deps='''
- samba-util
- PARAM_UTIL
- ldap
- lber
- LOADPARM_CTX
- samba3core
- smbconf
- param_local.h
- param_global.h
- cups
- ''')
-
# this includes only the low level parse code, not stuff
# that requires knowledge of security contexts
bld.SAMBA3_SUBSYSTEM('REG_PARSE_PRS',
source='registry/reg_api_regf.c',
deps='samba-util')
-bld.SAMBA3_LIBRARY('smbregistry',
+# Do not link against this use 'smbconf'
+bld.SAMBA3_SUBSYSTEM('SMBREGISTRY',
source='''
registry/reg_api.c
registry/reg_dispatcher.c
errors3
dbwrap
samba3-util
- ''',
- allow_undefined_symbols=True,
- private_library=True)
+ ''')
+# Do not link against this use 'smbconf'
bld.SAMBA3_SUBSYSTEM('REG_SMBCONF',
source='''
registry/reg_backend_smbconf.c
registry/reg_util_token.c
registry/reg_api_util.c
''',
- deps='smbregistry')
+ deps='SMBREGISTRY')
bld.SAMBA3_SUBSYSTEM('REG_FULL',
source='''
registry/reg_init_full.c
registry/reg_perfcount.c''',
deps='''
- REG_SMBCONF
+ smbconf
tdb-wrap3
''')
bld.SAMBA3_LIBRARY('popt_samba3',
source='lib/popt_common.c',
- deps='popt samba-util util_cmdline',
+ deps='popt samba-util smbconf',
+ private_library=True)
+
+bld.SAMBA3_LIBRARY('popt_samba3_cmdline',
+ source='lib/popt_common_cmdline.c',
+ deps='popt_samba3 util_cmdline cmdline_contexts',
private_library=True)
bld.SAMBA3_LIBRARY('util_cmdline',
deps='secrets3',
private_library=True)
+bld.SAMBA3_LIBRARY('cmdline_contexts',
+ source='lib/cmdline_contexts.c',
+ deps='samba3core',
+ private_library=True)
+
bld.SAMBA3_SUBSYSTEM('KRBCLIENT',
source='libads/kerberos.c libads/ads_status.c',
public_deps='krb5samba asn1util k5crypto gssapi LIBTSOCKET CLDAP LIBNMB')
lib/util_sock.c
lib/util_tsock.c
lib/util_transfer_file.c
- lib/sys_popen.c
- lib/sock_exec.c
''',
deps='''
+ CHARSET3
ndr
LIBTSOCKET
samba-security
SAMBA_CLUSTER_SUPPORT_SOURCES='''
lib/cluster_support.c
lib/dbwrap/dbwrap_ctdb.c
- lib/messages_ctdbd.c
+ lib/messages_ctdb.c
+ lib/messages_ctdb_ref.c
lib/ctdbd_conn.c
'''
SAMBA_CLUSTER_SUPPORT_DEPS='''
lib/messages.c
lib/util_cluster.c
lib/id_cache.c
- lib/talloc_dict.c
lib/serverid.c
lib/server_id_watch.c
lib/server_id_db_util.c
intl/lang_tdb.c
lib/gencache.c
lib/util_event.c
- lib/server_contexts.c
+ lib/global_contexts.c
lib/server_prefork.c
lib/server_prefork_util.c
lib/ldap_escape.c
- lib/fncall.c
libads/krb5_errs.c
lib/system_smbd.c
lib/audit.c
lib/tevent_wait.c
lib/idmap_cache.c
+ lib/namemap_cache.c
lib/util_ea.c
lib/background.c
- lib/cleanupdb.c
''',
deps='''
samba3util
SAMBA_VERSION
PTHREADPOOL
interfaces
- param
+ smbconf
dbwrap
samba3-util
errors3
LIBTSOCKET
KRBCLIENT
NDR_IOCTL
+ NDR_QUOTA
cli_smb_common
util_cmdline
tevent
''',
deps='''
NDR_SECRETS
- param
+ smbconf
samba3util
dbwrap
''',
bld.SAMBA3_LIBRARY('smbldap',
source='lib/smbldap.c',
- deps='ldap lber samba-util param',
+ deps='ldap lber samba-util smbconf',
enabled=bld.CONFIG_SET("HAVE_LDAP"),
private_library=False,
abi_directory='lib/ABI',
abi_match='smbldap_*',
pc_files=[],
- vnum='0',
+ vnum='2',
public_headers='include/smbldap.h include/smb_ldap.h')
bld.SAMBA3_LIBRARY('ads',
libads/ldap_schema.c
libads/util.c
libads/ndr.c
+ libads/net_ads_setspn.c
''',
deps='''
cli-ldap-common
ldap
lber
KRBCLIENT
- param
+ smbconf
LIBNMB
libsmb
DCUTIL
smbldap
+ trusts_util
''',
private_library=True)
source='libads/ldap_printer.c',
deps='samba-util krb5samba')
+# Only smbconf should link against this subsystem, else we will create
+# a circular dependency.
+bld.SAMBA3_SUBSYSTEM('SMBCONF_PARAM',
+ source='''
+ param/loadparm.c
+ lib/sharesec.c
+ lib/ldap_debug_handler.c
+ lib/util_names.c
+ ''',
+ deps='''
+ samba-util
+ PARAM_UTIL
+ ldap
+ lber
+ LOADPARM_CTX
+ samba3core
+ param_local.h
+ param_global.h
+ cups
+ ''')
+
bld.SAMBA3_LIBRARY('smbconf',
source='''
lib/smbconf/smbconf_init.c
lib/smbconf/smbconf_reg.c
''',
deps='''
- CHARSET3
LIBSMBCONF
REG_SMBCONF
SAMBA_VERSION
charset
cli_smb_common
errors3
- param
+ SMBCONF_PARAM
samba-util
- smbregistry
talloc
util_reg
''',
lib/sysquotas_xfs.c
lib/sysquotas_4A.c
lib/sysquotas_4B.c
+ lib/sysquotas_jfs2.c
lib/sysquotas_nfs.c
''',
allow_warnings=True,
- deps='samba3-util samba-util')
+ deps='samba3-util samba-util tirpc')
NOTIFY_SOURCES=''
NOTIFY_DEPS=''
printing/printspoolss.c
lib/sessionid_tdb.c
lib/conn_tdb.c
+ lib/cleanupdb.c
smbd/fake_file.c
smbd/quotas.c
smbd/ntquotas.c
smbd/mangle_hash.c
smbd/mangle_hash2.c
smbd/oplock.c
- smbd/oplock_irix.c
smbd/oplock_linux.c
smbd/notify.c
smbd/notify_msg.c
RPC_SERVICE
NDR_SMBXSRV
LEASES_DB
+ LEASES_UTIL
sysquotas
NDR_SMB_ACL
netapi
NDR_IOCTL
notifyd
+ vfs_acl_common
+ NDR_QUOTA
''' +
bld.env['dmapi_lib'] +
bld.env['legacy_quota_libs'] +
tdb
talloc
LEASES_DB
+ LEASES_UTIL
NDR_OPEN_FILES
FNAME_UTIL
''')
source='locking/leases_db.c',
deps='NDR_LEASES_DB')
+bld.SAMBA3_SUBSYSTEM('LEASES_UTIL',
+ source='locking/leases_util.c',
+ deps='NDR_OPEN_FILES')
+
if bld.CONFIG_GET("WITH_PROFILE"):
bld.SAMBA3_SUBSYSTEM('PROFILE',
source='profile/profile.c',
cli_spoolss
RPC_NDR_WINREG
LIBCLI_WINREG
- param
+ smbconf
''',
private_library=True)
RPC_NDR_DRSUAPI
''')
-bld.SAMBA3_SUBSYSTEM('LIBNET_SAMSYNC',
- source='''
- libnet/libnet_samsync.c
- libnet/libnet_samsync_ldif.c
- libnet/libnet_samsync_passdb.c
- libnet/libnet_samsync_display.c
- libnet/libnet_samsync_keytab.c
- ''',
- deps='''
- LIBNET
- LIBCLI_SAMSYNC
- ''')
-
bld.SAMBA3_SUBSYSTEM('LIBEVENTLOG',
source='lib/eventlog/eventlog.c',
deps='NDR_EVENTLOG tdb')
bld.SAMBA3_SUBSYSTEM('DCUTIL',
source='''
libsmb/namequery_dc.c
- libsmb/trustdom_cache.c
libsmb/dsgetdcname.c
''',
deps='''
lib/namearray.c
lib/file_id.c
lib/cbuf.c
+ lib/per_thread_cwd.c
''',
deps='''
samba-util
RPC_NDR_NETLOGON
INIT_NETLOGON
cliauth
- param
+ smbconf
NETLOGON_CREDS_CLI''',
private_library=True)
''',
deps='''
RPC_NDR_SPOOLSS
- param
+ smbconf
secrets3''',
private_library=True)
''',
deps='''
talloc
- popt_samba3
- param
+ popt_samba3_cmdline
+ smbconf
ndr-standard
SMBREADLINE
libsmb
deps='''
talloc
popt_samba3
- param
+ smbconf
libsmb
samba3core
''')
source='torture/locktest2.c',
deps='''
talloc
- param
+ smbconf
libsmb
LOCKING
''',
source=smbstatus_source,
deps='''
talloc
- param
+ smbconf
popt_samba3
+ cmdline_contexts
smbd_base
LOCKING
PROFILE
torture/test_notify.c
lib/tevent_barrier.c
torture/test_dbwrap_watch.c
+ torture/test_dbwrap_do_locked.c
torture/test_idmap_tdb_common.c
torture/test_dbwrap_ctdb.c
torture/test_buffersize.c
torture/test_messaging_read.c
torture/test_messaging_fd_passing.c
+ torture/test_messaging_send_all.c
torture/test_oplock_cancel.c
torture/test_pthreadpool_tevent.c
torture/bench_pthreadpool.c
torture/wbc_async.c
+ torture/test_g_lock.c
+ torture/test_namemap_cache.c
+ torture/test_hidenewfiles.c
''',
deps='''
talloc
- param
+ smbconf
libsmb
msrpc3
TLDAP
source='lib/smbconf/testsuite.c',
deps='''
talloc
- param
+ smbconf
popt_samba3
''',
install=False)
source='torture/msgtest.c',
deps='''
talloc
- param
+ smbconf
''',
install=False)
source='torture/msg_sink.c',
deps='''
talloc
- param
+ smbconf
''',
install=False)
source='torture/msg_source.c',
deps='''
talloc
- param
+ smbconf
''',
install=False)
deps='''
vfs
popt_samba3
+ smbconf
SMBREADLINE
''',
install=False)
source='lib/version_test.c',
deps='''
SAMBA_VERSION
- param
+ smbconf
''',
install=False)
source='printing/tests/vlp.c',
deps='''
talloc
- param
+ smbconf
''',
install=False)
-bld.SAMBA3_PYTHON('pysmbd',
+
+for env in bld.gen_python_environments():
+ pyrpc_util = bld.pyembed_libname('pyrpc_util')
+ pytalloc_util = bld.pyembed_libname('pytalloc-util')
+ bld.SAMBA3_PYTHON('pysmbd',
source='smbd/pysmbd.c',
- deps='smbd_base pyrpc_util pytalloc-util',
+ deps=' '.join(['smbd_base', pyrpc_util, pytalloc_util]),
realname='samba/samba3/smbd.so'
)
-bld.SAMBA3_PYTHON('pylibsmb',
+for env in bld.gen_python_environments():
+ pycredentials = 'pycredentials'
+ if bld.env['IS_EXTRA_PYTHON']:
+ pycredentials = 'extra-' + pycredentials
+ bld.SAMBA3_PYTHON('pylibsmb',
source='libsmb/pylibsmb.c',
- deps='smbclient samba-credentials pycredentials',
+ deps='smbclient samba-credentials %s' % pycredentials,
realname='samba/samba3/libsmb_samba_internal.so'
)
bld.SAMBA3_BINARY('spotlight2sparql',
source='''
rpc_server/mdssvc/sparql_parser_test.c
- rpc_server/mdssvc/sparql_parser.c
- rpc_server/mdssvc/sparql_lexer.c
+ rpc_server/mdssvc/sparql_parser.y
+ rpc_server/mdssvc/sparql_lexer.l
rpc_server/mdssvc/sparql_mapping.c''',
deps='samba3-util talloc ' + bld.env['libtracker'],
enabled=bld.env.with_spotlight,
bld.RECURSE('auth')
bld.RECURSE('libgpo/gpext')
-bld.RECURSE('lib/pthreadpool')
bld.RECURSE('librpc')
bld.RECURSE('librpc/idl')
bld.RECURSE('libsmb')
bld.RECURSE('../examples/pdb')
bld.RECURSE('../examples/VFS')
bld.RECURSE('../examples/fuse')
+bld.RECURSE('../examples/winexe')
bld.RECURSE('lib/netapi/tests')
bld.RECURSE('lib/netapi/examples')
bld.RECURSE('smbd/notifyd')