1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00
samba-mirror/librpc/wscript_build
Joseph Sutton c4f281e9ae librpc:ndr: Introduce ‘libndr_flags’ type
The LIBNDR_FLAG_ namespace is getting dangerously full, with only a
single flag value (1 << 9) remaining for use. After that flag is put
into use, we won’t be able to add any new flags without increasing the
flag width to 64‐bit.

Up to now we’ve used a haphazard mix of int, unsigned, and uint32_t to
store these flags. Introduce a new type, ‘libndr_flags’, to be used
consistently to hold LIBNDR flags. If in the future we find we need to
move to 64‐bit flags, this type gives us an opportunity to do that.

Bump the NDR version to 4.0.0 — an major version increment, for we’re
changing the function ABI and adding the new symbol
ndr_print_libndr_flags.

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2023-11-01 20:10:45 +00:00

781 lines
20 KiB
Python

#!/usr/bin/env python
bld.RECURSE('idl')
bld.RECURSE('../lib/compression')
bld.SAMBA_SUBSYSTEM('NDR_AUDIOSRV',
source='gen_ndr/ndr_audiosrv.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_AUTH',
source='gen_ndr/ndr_auth.c ndr/ndr_auth.c',
public_headers='gen_ndr/auth.h',
header_path='gen_ndr',
public_deps='ndr NDR_SECURITY ndr-krb5pac'
)
bld.SAMBA_SUBSYSTEM('NDR_ATSVC',
source='gen_ndr/ndr_atsvc.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_NAMED_PIPE_AUTH',
source='gen_ndr/ndr_named_pipe_auth.c',
public_deps='ndr NDR_AUTH'
)
bld.SAMBA_SUBSYSTEM('NDR_DNSSERVER',
source='gen_ndr/ndr_dnsserver.c ndr/ndr_dnsserver.c',
public_deps='ndr NDR_DNSP'
)
bld.SAMBA_SUBSYSTEM('NDR_DNS',
source='gen_ndr/ndr_dns.c ndr/ndr_dns.c ndr/ndr_dns_utils.c',
public_deps='ndr NDR_DNSP'
)
bld.SAMBA_SUBSYSTEM('NDR_DSBACKUP',
source='gen_ndr/ndr_dsbackup.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_DFS',
source='gen_ndr/ndr_dfs.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_WINREG',
source='gen_ndr/ndr_winreg.c',
public_deps='ndr NDR_SECURITY NDR_LSA'
)
bld.SAMBA_SUBSYSTEM('NDR_EFS',
source='gen_ndr/ndr_efs.c',
public_deps='ndr NDR_SECURITY'
)
bld.SAMBA_SUBSYSTEM('NDR_ROT',
source='gen_ndr/ndr_rot.c',
public_deps='ndr NDR_ORPC'
)
bld.SAMBA_SUBSYSTEM('NDR_FRSRPC',
source='ndr/ndr_frsrpc.c gen_ndr/ndr_frsrpc.c',
public_deps='ndr NDR_FSCC'
)
bld.SAMBA_SUBSYSTEM('NDR_FRSAPI',
source='gen_ndr/ndr_frsapi.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_FRSTRANS',
source='gen_ndr/ndr_frstrans.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_DFSBLOBS',
source='gen_ndr/ndr_dfsblobs.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_BKUPBLOBS',
source='ndr/ndr_bkupblobs.c gen_ndr/ndr_bkupblobs.c',
public_deps='ndr NDR_SECURITY NDR_FSCC'
)
bld.SAMBA_SUBSYSTEM('NDR_FSCC',
source='gen_ndr/ndr_fscc.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_POLICYAGENT',
source='gen_ndr/ndr_policyagent.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_UNIXINFO',
source='gen_ndr/ndr_unixinfo.c',
public_deps='ndr NDR_SECURITY'
)
bld.SAMBA_SUBSYSTEM('NDR_SPOOLSS',
source='gen_ndr/ndr_spoolss.c',
public_deps='ndr NDR_SPOOLSS_BUF NDR_SECURITY'
)
bld.SAMBA_SUBSYSTEM('NDR_SPOOLSS_BUF',
source='ndr/ndr_spoolss_buf.c',
deps='talloc'
)
bld.SAMBA_SUBSYSTEM('NDR_WINSPOOL',
source='gen_ndr/ndr_winspool.c',
public_deps='ndr NDR_SPOOLSS'
)
bld.SAMBA_SUBSYSTEM('NDR_PRINTCAP',
source='gen_ndr/ndr_printcap.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_EPMAPPER',
source='gen_ndr/ndr_epmapper.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_DBGIDL',
source='gen_ndr/ndr_dbgidl.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_DSSETUP',
source='gen_ndr/ndr_dssetup.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_MSGSVC',
source='gen_ndr/ndr_msgsvc.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_MGMT',
source='gen_ndr/ndr_mgmt.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_ORPC',
source='ndr/ndr_orpc.c gen_ndr/ndr_orpc.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_WZCSVC',
source='gen_ndr/ndr_wzcsvc.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_BROWSER',
source='gen_ndr/ndr_browser.c',
public_deps='ndr NDR_SRVSVC'
)
bld.SAMBA_SUBSYSTEM('NDR_W32TIME',
source='gen_ndr/ndr_w32time.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_SCERPC',
source='gen_ndr/ndr_scerpc.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_SERVER_ID',
source='gen_ndr/ndr_server_id.c',
deps='ndr',
public_headers='gen_ndr/server_id.h',
header_path='gen_ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_TRKWKS',
source='gen_ndr/ndr_trkwks.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_KEYSVC',
source='gen_ndr/ndr_keysvc.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_RAP',
source='gen_ndr/ndr_rap.c ndr/ndr_rap.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_IDMAP',
source='gen_ndr/ndr_idmap.c',
public_deps='ndr ndr-standard'
)
bld.SAMBA_SUBSYSTEM('NDR_NOTIFY',
source='gen_ndr/ndr_notify.c',
public_deps='ndr ndr-standard NDR_SERVER_ID NDR_FILE_ID'
)
bld.SAMBA_SUBSYSTEM('NDR_NTLMSSP',
source='ndr/ndr_ntlmssp.c gen_ndr/ndr_ntlmssp.c',
public_deps='ndr ndr-standard'
)
bld.SAMBA_SUBSYSTEM('NDR_NEGOEX',
source='ndr/ndr_negoex.c gen_ndr/ndr_negoex.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_DNSP',
source='gen_ndr/ndr_dnsp.c ndr/ndr_dnsp.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_NFS4ACL',
source='gen_ndr/ndr_nfs4acl.c',
public_deps='ndr NDR_SECURITY'
)
bld.SAMBA_SUBSYSTEM('NDR_NTPRINTING',
source='gen_ndr/ndr_ntprinting.c ndr/ndr_ntprinting.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_SAMR',
source='gen_ndr/ndr_samr.c',
public_deps='ndr NDR_SECURITY NDR_LSA'
)
bld.SAMBA_SUBSYSTEM('NDR_LSA',
source='gen_ndr/ndr_lsa.c',
public_deps='ndr NDR_SECURITY'
)
bld.SAMBA_SUBSYSTEM('NDR_SECURITY',
source='gen_ndr/ndr_security.c ndr/ndr_sec_helper.c',
deps='ndr samba-security',
public_headers='gen_ndr/security.h',
header_path='gen_ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_SMB_ACL',
source='gen_ndr/ndr_smb_acl.c',
deps='ndr',
)
bld.SAMBA_SUBSYSTEM('NDR_SVCCTL',
source='gen_ndr/ndr_svcctl.c ndr/ndr_svcctl.c',
public_deps='ndr NDR_SECURITY'
)
bld.SAMBA_SUBSYSTEM('NDR_SRVSVC',
source='gen_ndr/ndr_srvsvc.c',
public_deps='ndr NDR_SECURITY NDR_SVCCTL'
)
bld.SAMBA_SUBSYSTEM('NDR_NETLOGON',
source='gen_ndr/ndr_netlogon.c ndr/ndr_netlogon.c',
public_deps='ndr NDR_SECURITY NDR_LSA NDR_SAMR ndr_nbt'
)
bld.SAMBA_SUBSYSTEM('NDR_EVENTLOG',
source='gen_ndr/ndr_eventlog.c',
public_deps='ndr NDR_SECURITY NDR_LSA'
)
bld.SAMBA_SUBSYSTEM('NDR_EVENTLOG6',
source='gen_ndr/ndr_eventlog6.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_NTSVCS',
source='gen_ndr/ndr_ntsvcs.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_WKSSVC',
source='gen_ndr/ndr_wkssvc.c',
public_deps='ndr NDR_SECURITY NDR_SRVSVC NDR_LSA'
)
bld.SAMBA_SUBSYSTEM('NDR_ECHO',
source='gen_ndr/ndr_echo.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_INITSHUTDOWN',
source='gen_ndr/ndr_initshutdown.c',
public_deps='ndr NDR_LSA'
)
bld.SAMBA_SUBSYSTEM('NDR_COMPRESSION',
source='ndr/ndr_compression.c',
public_deps='samba-errors ndr',
deps='z LZXPRESS'
)
bld.SAMBA_SUBSYSTEM('NDR_FSRVP',
source='gen_ndr/ndr_fsrvp.c',
public_deps='ndr'
)
bld.SAMBA_GENERATOR('gen_wsp_props',
source='../source4/scripting/bin/gen_wsp_props.py wsp/allprops-from-ms-wsp-spec.csv wsp/extra-props.csv',
target='wsp/wsp_props_gen.c',
group='build_source',
rule='${PYTHON} ${SRC[0].abspath(env)} ${SRC[1].abspath(env)} ${TGT[0].abspath(env)} ${SRC[2].abspath(env)}'
)
bld.SAMBA_SUBSYSTEM('NDR_WSP',
source='gen_ndr/ndr_wsp.c wsp/wsp_helper.c wsp/wsp_props_gen.c',
public_deps='ndr gen_wsp_props'
)
bld.SAMBA_SUBSYSTEM('NDR_WSP_DATA',
source='gen_ndr/ndr_wsp_data.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('WSP_UTIL',
source='wsp/wsp_util.c wsp/wsp_props_gen.c',
public_deps='ndr gen_wsp_props'
)
bld.SAMBA_SUBSYSTEM('NDR_WITNESS',
source='gen_ndr/ndr_witness.c ndr/ndr_witness.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_CLUSAPI',
source='gen_ndr/ndr_clusapi.c',
public_deps='ndr NDR_WINREG'
)
bld.SAMBA_SUBSYSTEM('NDR_MDSSVC',
source='gen_ndr/ndr_mdssvc.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_DCERPC',
source='gen_ndr/ndr_dcerpc.c ndr/ndr_dcerpc.c',
public_deps='ndr',
public_headers='gen_ndr/ndr_dcerpc.h gen_ndr/dcerpc.h ndr/ndr_dcerpc.h',
header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')]
)
bld.SAMBA_SUBSYSTEM('NDR_DRSUAPI',
source='ndr/ndr_drsuapi.c gen_ndr/ndr_drsuapi.c',
public_deps='ndr NDR_COMPRESSION NDR_SECURITY ndr-standard asn1util',
public_headers='gen_ndr/ndr_drsuapi.h gen_ndr/drsuapi.h ndr/ndr_drsuapi.h',
header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')]
)
bld.SAMBA_SUBSYSTEM('NDR_DRSBLOBS',
source='ndr/ndr_drsblobs.c gen_ndr/ndr_drsblobs.c',
public_deps='ndr NDR_DRSUAPI',
public_headers='gen_ndr/ndr_drsblobs.h gen_ndr/drsblobs.h ndr/ndr_drsblobs.h',
header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')]
)
bld.SAMBA_SUBSYSTEM('NDR_ODJ',
source='gen_ndr/ndr_ODJ.c ndr/ndr_ODJ.c',
public_deps='NDR_LSA NDR_NETLOGON NDR_SECURITY',
deps='ndr')
bld.SAMBA_SUBSYSTEM('NDR_KRB5PAC',
source='',
deps='ndr-krb5pac')
bld.SAMBA_LIBRARY('ndr-krb5pac',
source='ndr/ndr_krb5pac.c gen_ndr/ndr_krb5pac.c',
public_deps='ndr ndr-standard NDR_SECURITY NDR_CLAIMS',
public_headers='gen_ndr/krb5pac.h gen_ndr/ndr_krb5pac.h ndr/ndr_krb5pac.h',
header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')],
pc_files='ndr_krb5pac.pc',
vnum='0.0.1'
)
bld.SAMBA_SUBSYSTEM('NDR_KRB5CCACHE',
source='gen_ndr/ndr_krb5ccache.c',
deps='ndr NDR_SECURITY ndr-standard asn1util'
)
bld.SAMBA_SUBSYSTEM('NDR_CLAIMS',
source='gen_ndr/ndr_claims.c ndr/ndr_claims.c',
deps='ndr NDR_COMPRESSION LZXPRESS')
bld.SAMBA_LIBRARY('ndr-standard',
source='',
vnum='0.0.1',
pc_files='ndr_standard.pc',
deps='''NDR_SECURITY NDR_LSA NDR_SAMR NDR_NETLOGON
NDR_EVENTLOG NDR_EVENTLOG6 NDR_DFS
NDR_NTSVCS NDR_SVCCTL NDR_INITSHUTDOWN NDR_WKSSVC NDR_SRVSVC NDR_WINREG
NDR_ECHO security NDR_DNS NDR_DNSP NDR_ATSVC NDR_SPOOLSS NDR_DSSETUP
NDR_SERVER_ID NDR_NOTIFY''',
public_deps='ndr',
public_headers='gen_ndr/samr.h gen_ndr/ndr_samr.h gen_ndr/lsa.h gen_ndr/netlogon.h gen_ndr/atsvc.h gen_ndr/ndr_atsvc.h gen_ndr/ndr_svcctl.h gen_ndr/svcctl.h gen_ndr/claims.h',
header_path='gen_ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_XATTR',
source='ndr/ndr_xattr.c gen_ndr/ndr_xattr.c',
public_deps='ndr NDR_SECURITY'
)
bld.SAMBA_SUBSYSTEM('NDR_SMB3POSIX',
source='gen_ndr/ndr_smb3posix.c',
public_deps='ndr',
public_headers='gen_ndr/smb3posix.h')
bld.SAMBA_SUBSYSTEM('NDR_SMB2_LEASE_STRUCT',
source='gen_ndr/ndr_smb2_lease_struct.c',
public_deps='ndr',
public_headers='gen_ndr/smb2_lease_struct.h'
)
bld.SAMBA_SUBSYSTEM('NDR_QUOTA',
source='gen_ndr/ndr_quota.c',
public_deps='ndr',
)
bld.SAMBA_SUBSYSTEM('NDR_SCHANNEL',
source='ndr/ndr_schannel.c gen_ndr/ndr_schannel.c',
public_deps='ndr ndr_nbt'
)
bld.SAMBA_SUBSYSTEM('NDR_NBT',
source='',
deps='ndr_nbt')
bld.SAMBA_LIBRARY('ndr_nbt',
source='gen_ndr/ndr_nbt.c ndr/ndr_nbt.c',
public_deps='ndr NDR_NBT_BUF NDR_SECURITY NDR_DNS',
public_headers='gen_ndr/nbt.h gen_ndr/ndr_nbt.h ndr/ndr_nbt.h',
header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')],
pc_files='ndr_nbt.pc',
vnum='0.0.1'
)
bld.SAMBA_SUBSYSTEM('NDR_BACKUPKEY',
source='ndr/ndr_backupkey.c gen_ndr/ndr_backupkey.c',
public_deps='ndr NDR_SECURITY'
)
bld.SAMBA_SUBSYSTEM('NDR_PREG',
source='gen_ndr/ndr_preg.c ndr/ndr_preg.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_CAB',
source='''
gen_ndr/ndr_cab.c
ndr/ndr_cab.c
''',
public_deps='ndr NDR_COMPRESSION')
bld.SAMBA_SUBSYSTEM('NDR_FILE_ID',
source='gen_ndr/ndr_file_id.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_MESSAGING',
source='gen_ndr/ndr_messaging.c',
public_deps='ndr NDR_SERVER_ID'
)
bld.SAMBA_SUBSYSTEM('NDR_WINSTATION',
source='gen_ndr/ndr_winstation.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('NDR_CONDITIONAL_ACE',
source='gen_ndr/ndr_conditional_ace.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_ATSVC',
source='gen_ndr/ndr_atsvc_c.c',
public_deps='dcerpc-binding NDR_ATSVC'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_ECHO',
source='gen_ndr/ndr_echo_c.c',
public_deps='dcerpc-binding NDR_ECHO'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_LSA',
source='gen_ndr/ndr_lsa_c.c',
public_deps='dcerpc-binding ndr-standard'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_SAMR',
source='gen_ndr/ndr_samr_c.c',
public_deps='dcerpc-binding NDR_SAMR'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_DFS',
source='gen_ndr/ndr_dfs_c.c',
public_deps='dcerpc-binding ndr-standard'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_FRSAPI',
source='gen_ndr/ndr_frsapi_c.c',
public_deps='dcerpc-binding NDR_FRSAPI'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_DRSUAPI',
source='gen_ndr/ndr_drsuapi_c.c',
public_deps='dcerpc-binding NDR_DRSUAPI'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_UNIXINFO',
source='gen_ndr/ndr_unixinfo_c.c',
public_deps='dcerpc-binding NDR_UNIXINFO'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_BROWSER',
source='gen_ndr/ndr_browser_c.c',
public_deps='dcerpc-binding NDR_BROWSER'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_SPOOLSS',
source='gen_ndr/ndr_spoolss_c.c',
public_deps='dcerpc-binding NDR_SPOOLSS'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_WINSPOOL',
source='gen_ndr/ndr_winspool_c.c',
public_deps='dcerpc-binding NDR_WINSPOOL'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_WKSSVC',
source='gen_ndr/ndr_wkssvc_c.c',
public_deps='dcerpc-binding ndr-standard'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_SRVSVC',
source='gen_ndr/ndr_srvsvc_c.c',
public_deps='dcerpc-binding NDR_SRVSVC'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_SVCCTL',
source='gen_ndr/ndr_svcctl_c.c',
public_deps='dcerpc-binding ndr-standard',
public_headers='gen_ndr/ndr_svcctl_c.h ndr/ndr_svcctl.h',
header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')]
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_EVENTLOG',
source='gen_ndr/ndr_eventlog_c.c',
public_deps='dcerpc-binding ndr-standard'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_EPMAPPER',
source='gen_ndr/ndr_epmapper_c.c',
public_deps='tevent NDR_EPMAPPER'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_DSSETUP',
source='gen_ndr/ndr_dssetup_c.c',
public_deps='dcerpc-binding NDR_DSSETUP'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_WINREG',
source='gen_ndr/ndr_winreg_c.c',
public_deps='dcerpc-binding ndr-standard'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_INITSHUTDOWN',
source='gen_ndr/ndr_initshutdown_c.c',
public_deps='dcerpc-binding ndr-standard'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_MGMT',
source='gen_ndr/ndr_mgmt_c.c',
deps='tevent NDR_MGMT'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_NTSVCS',
source='gen_ndr/ndr_ntsvcs_c.c',
public_deps='dcerpc-binding ndr-standard'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_NETLOGON',
source='gen_ndr/ndr_netlogon_c.c',
public_deps='ndr-standard tevent'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_BACKUPKEY',
source='gen_ndr/ndr_backupkey_c.c',
public_deps='dcerpc-binding NDR_BACKUPKEY'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_DNSSERVER',
source='gen_ndr/ndr_dnsserver_c.c',
public_deps='dcerpc-binding ndr-standard'
)
bld.SAMBA_SUBSYSTEM('NDR_IOCTL',
source='gen_ndr/ndr_ioctl.c ndr/ndr_ioctl.c',
public_deps='ndr'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_FSRVP',
source='gen_ndr/ndr_fsrvp_c.c',
public_deps='dcerpc-binding NDR_FSRVP'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_WITNESS',
source='gen_ndr/ndr_witness_c.c',
public_deps='dcerpc-binding NDR_WITNESS'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_CLUSAPI',
source='gen_ndr/ndr_clusapi_c.c',
public_deps='dcerpc-binding NDR_CLUSAPI'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_MDSSVC',
source='gen_ndr/ndr_mdssvc_c.c',
public_deps='dcerpc-binding NDR_MDSSVC'
)
# a grouping library for NDR subsystems that may be used by more than one target
bld.SAMBA_LIBRARY('ndr-samba',
source=[],
deps='''NDR_DRSBLOBS NDR_DRSUAPI NDR_IDMAP NDR_NTLMSSP NDR_NEGOEX NDR_SCHANNEL NDR_MGMT
NDR_DNSSERVER NDR_EPMAPPER NDR_XATTR NDR_UNIXINFO NDR_NAMED_PIPE_AUTH
NDR_NTPRINTING NDR_FSRVP NDR_WITNESS NDR_MDSSVC NDR_OPEN_FILES NDR_SMBXSRV
NDR_SMB3POSIX
NDR_KRB5CCACHE NDR_WSP''',
private_library=True,
grouping_library=True
)
# a grouping library for RPC_NDR subsystems that may be used by more than one target
bld.SAMBA_LIBRARY('dcerpc-samba',
source='',
deps='''RPC_NDR_LSA RPC_NDR_SAMR RPC_NDR_NETLOGON RPC_NDR_EVENTLOG
RPC_NDR_DFS RPC_NDR_NTSVCS RPC_NDR_SVCCTL RPC_NDR_INITSHUTDOWN
RPC_NDR_WKSSVC RPC_NDR_SRVSVC RPC_NDR_WINREG RPC_NDR_ECHO RPC_NDR_EPMAPPER
RPC_NDR_ATSVC RPC_NDR_SPOOLSS RPC_NDR_DNSSERVER''',
public_deps='ndr-standard',
private_library=True,
grouping_library=True
)
bld.SAMBA_SUBSYSTEM('NDR_MISC',
source='',
deps='ndr')
bld.SAMBA_LIBRARY('ndr',
source='ndr/ndr_string.c ndr/ndr_basic.c ndr/uuid.c ndr/ndr.c ndr/ndr_misc.c gen_ndr/ndr_misc.c ndr/util.c',
pc_files='ndr.pc',
public_deps='samba-errors talloc samba-util util_str_hex',
public_headers='gen_ndr/misc.h gen_ndr/ndr_misc.h ndr/libndr.h:ndr.h',
header_path= [('*gen_ndr*', 'gen_ndr')],
vnum='4.0.0',
abi_directory='ABI',
abi_match='!ndr_table_* ndr_* GUID_* _ndr_pull_error* _ndr_push_error*',
)
bld.SAMBA_LIBRARY('dcerpc-binding',
source='''
rpc/dcerpc_error.c
rpc/binding.c
rpc/dcerpc_util.c
rpc/binding_handle.c
''',
deps='ndr tevent NDR_DCERPC LIBTSOCKET tevent-util',
pc_files=[],
public_headers='rpc/rpc_common.h',
vnum='0.0.1')
bld.SAMBA_LIBRARY('dcerpc-pkt-auth',
private_library=True,
source='''
rpc/dcerpc_pkt_auth.c
''',
deps='dcerpc-binding gensec')
bld.SAMBA_SUBSYSTEM('DCERPC_SERVER_NETLOGON',
source='''
rpc/server/netlogon/schannel_util.c
''',
deps='''
talloc
util_str_escape
samba-hostconfig
NDR_NETLOGON
dcerpc-server-core
''')
bld.SAMBA_LIBRARY('dcerpc-server-core',
source='''
rpc/dcesrv_core.c
rpc/dcesrv_auth.c
rpc/dcesrv_mgmt.c
rpc/dcesrv_reply.c
rpc/dcesrv_handles.c
''',
deps='''
ndr
dcerpc-binding
samba-util-core
gnutls
GNUTLS_HELPERS
dcerpc-pkt-auth
''',
pc_files=[],
public_headers='rpc/dcesrv_core.h',
autoproto='rpc/dcesrv_core_proto.h',
vnum='0.0.1')
bld.SAMBA_SUBSYSTEM('DCERPC_HELPER',
source='rpc/dcerpc_helper.c',
public_deps='''
samba-hostconfig
samba-security
gnutls
GNUTLS_HELPERS
''')
bld.SAMBA_SUBSYSTEM('NDR_WINBIND',
source='gen_ndr/ndr_winbind.c',
public_deps='ndr NDR_LSA'
)
bld.SAMBA_SUBSYSTEM('RPC_NDR_WINBIND',
source='gen_ndr/ndr_winbind_c.c',
public_deps='dcerpc NDR_WINBIND'
)
bld.SAMBA_SUBSYSTEM('NDR_FSRVP_STATE',
source='gen_ndr/ndr_fsrvp_state.c',
public_deps='ndr'
)
#
# Cmocka tests
#
bld.SAMBA_BINARY('test_ndr_macros',
source='tests/test_ndr_macros.c',
deps='''
cmocka
ndr
''',
for_selftest=True)
bld.SAMBA_BINARY('test_ndr_string',
source='tests/test_ndr_string.c',
deps='''
cmocka
talloc
ndr
''',
for_selftest=True)
bld.SAMBA_BINARY('test_ndr',
source='tests/test_ndr.c',
deps='''
cmocka
ndr
''',
for_selftest=True)
bld.SAMBA_BINARY('test_ndr_dns_nbt',
source='tests/test_ndr_dns_nbt.c',
deps='''
cmocka
ndr
ndr_nbt
''',
for_selftest=True)