#!/usr/bin/env python
LIBS='ICONV'
config_h = "../include/config.h"
bld.SAMBA_BLDOPTIONS('smbd/build_options.c')
bld.SETUP_BUILD_GROUPS()
######################## SUBSYSTEMS #################################
bld.SAMBA3_LIBRARY('netapi',
source='''lib/netapi/netapi.c
lib/netapi/cm.c
lib/netapi/libnetapi.c
lib/netapi/joindomain.c
lib/netapi/serverinfo.c
lib/netapi/wkstainfo.c
lib/netapi/getdc.c
lib/netapi/user.c
lib/netapi/group.c
lib/netapi/localgroup.c
lib/netapi/samr.c
lib/netapi/sid.c
lib/netapi/share.c
lib/netapi/file.c
lib/netapi/shutdown.c
lib/netapi/netlogon.c''',
deps='CREDENTIALS_CMDLINE',
public_deps='''
talloc
msrpc3
ads
NDR_LIBNETAPI
LIBNET
RPC_CLIENT_SCHANNEL
libcli_netlogon3
LIBCLI_SAMR
INIT_SAMR
auth
''',
public_headers='../source3/lib/netapi/netapi.h',
pc_files='libnet/netapi.pc',
vnum='1.0.0')
bld.SAMBA3_LIBRARY('gse',
source='librpc/crypto/gse_krb5.c librpc/crypto/gse.c',
deps='krb5samba gensec smbconf KRBCLIENT secrets3',
private_library=True)
bld.SAMBA3_LIBRARY('msrpc3',
source='''
rpc_client/cli_pipe.c
rpc_client/rpc_transport_np.c
rpc_client/rpc_transport_sock.c
rpc_client/rpc_transport_tstream.c
librpc/rpc/dcerpc_helpers.c
''',
deps='''
ndr
ndr-standard
RPC_NDR_EPMAPPER
NTLMSSP_COMMON
COMMON_SCHANNEL
LIBCLI_AUTH
LIBTSOCKET
gse
dcerpc-binding
libsmb
ndr-table
NETLOGON_CREDS_CLI
''',
private_library=True)
bld.SAMBA3_SUBSYSTEM('AVAHI',
source='''
lib/avahi.c
smbd/avahi_register.c
''',
deps='''
avahi-common
avahi-client
''',
enabled=bld.env.with_avahi)
bld.SAMBA3_SUBSYSTEM('GROUPDB',
source='''
groupdb/mapping.c
groupdb/mapping_tdb.c
''',
deps='tdb')
bld.SAMBA3_SUBSYSTEM('TLDAP',
source='''
lib/tldap.c
lib/tldap_util.c
lib/tldap_gensec_bind.c
''',
deps='''
asn1util
LIBTSOCKET
samba3util
''')
bld.SAMBA3_BINARY('test_tldap',
source='lib/test_tldap.c',
deps='''
asn1util
LIBTSOCKET
samba3util
smbconf
cmocka
''',
for_selftest=True)
# 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
# when modules are not linked statically. In the latter case
# symbols will not be present in the libpdb anyway so no hurt is
# done to the version script.
private_pdb_match = []
private_pdb_match.append('!idmap_init')
private_pdb_match.append('!idmap_sids_to_xids')
private_pdb_match.append('!idmap_xids_to_sids')
ldapsam_pdb_match = ['!priv2ld', '!smbldap_search_domain_info',
'!ldapsam_*', '!groupmap_attr_list*', '!get_userattr_list',
'!dominfo_attr_list', '!get_attr_key2string',
'!sidmap_attr_list', '!attrib_map_*', '!idpool_attr_list',
'!get_attr_list']
private_pdb_match.append('!pdb_nds_*')
private_pdb_match.append('!pdb_ldapsam_init*')
private_pdb_match.append('!pdb_*_init')
private_pdb_match = private_pdb_match + ldapsam_pdb_match
bld.SAMBA3_LIBRARY('samba-passdb',
source='',
deps='pdb',
private_library=False,
grouping_library=True,
pc_files=[],
public_headers_install=True,
public_headers='''
include/passdb.h
passdb/machine_sid.h
passdb/lookup_sid.h
''',
abi_match=private_pdb_match,
abi_directory='passdb/ABI',
vnum='0.28.0')
bld.SAMBA3_SUBSYSTEM('pdb',
source='''
passdb/pdb_get_set.c
passdb/passdb.c
lib/util_wellknown.c
lib/util_builtin.c
passdb/pdb_compat.c
lib/util_sid_passdb.c
lib/util_unixsids.c
passdb/lookup_sid.c
passdb/login_cache.c
passdb/account_pol.c
lib/privileges.c
lib/util_nscd.c
lib/winbind_util.c
passdb/pdb_util.c
passdb/pdb_interface.c
passdb/pdb_secrets.c''',
deps='''
secrets3
GROUPDB
SERVER_MUTEX
wbclient
LIBCLI_AUTH
flag_mapping
samba-credentials
samba-modules
nscd
''')
bld.SAMBA3_LIBRARY('smbldaphelper',
source='''
passdb/pdb_ldap_schema.c
passdb/pdb_ldap_util.c
''',
deps='smbldap secrets3',
allow_undefined_symbols=True,
enabled=bld.CONFIG_SET('HAVE_LDAP'),
private_library=True)
bld.SAMBA3_SUBSYSTEM('SERVER_MUTEX',
source='lib/server_mutex.c',
deps='talloc')
# 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_parse_prs.c')
bld.SAMBA3_SUBSYSTEM('REGFIO',
source='registry/regfio.c',
deps='samba-util REG_PARSE_PRS')
bld.SAMBA_BINARY('test_registry_regfio',
source='registry/tests/test_regfio.c',
deps='cmocka samba3-util smbconf REGFIO',
local_include=False,
for_selftest=True)
# Do not link against this use 'smbconf'
bld.SAMBA3_SUBSYSTEM('SMBREGISTRY',
source='''
registry/reg_api.c
registry/reg_dispatcher.c
registry/reg_cachehook.c
registry/reg_objects.c
registry/reg_util_internal.c
lib/util_nttoken.c
registry/reg_backend_db.c
registry/reg_parse_internal.c
registry/reg_parse.c
lib/srprs.c
registry/reg_init_basic.c
''',
deps='''
smbd_shim
tdb-wrap3
NDR_SECURITY
util_tdb
talloc
replace
util_reg
samba-util
samba-security
errors3
dbwrap
samba3-util
''')
# Do not link against this use 'smbconf'
bld.SAMBA3_SUBSYSTEM('REG_SMBCONF',
source='''
registry/reg_backend_smbconf.c
registry/reg_init_smbconf.c
registry/reg_util_token.c
registry/reg_api_util.c
''',
deps='SMBREGISTRY')
bld.SAMBA3_SUBSYSTEM('REG_FULL',
source='''
registry/reg_backend_printing.c
registry/reg_backend_shares.c
registry/reg_backend_netlogon_params.c
registry/reg_backend_prod_options.c
registry/reg_backend_tcpip_params.c
registry/reg_backend_hkpt_params.c
registry/reg_backend_current_version.c
registry/reg_backend_perflib.c
registry/reg_init_full.c
registry/reg_perfcount.c''',
deps='''
smbconf
tdb-wrap3
''')
bld.SAMBA3_LIBRARY('cmdline_contexts',
source='lib/cmdline_contexts.c',
deps='samba3core',
|