provision: BIND 9.15.x is not supported
[samba.git] / source4 / librpc / wscript_build
blob009b2e13d2e5f31a3bbe08703ba015354f02929b
1 #!/usr/bin/env python
3 bld.RECURSE('../../librpc/idl')
4 bld.RECURSE('../../librpc/tools')
5 bld.RECURSE('idl')
8 bld.SAMBA_SUBSYSTEM('NDR_IRPC',
9 source='gen_ndr/ndr_irpc.c',
10 public_deps='ndr NDR_SECURITY ndr_nbt'
14 bld.SAMBA_SUBSYSTEM('NDR_SASL_HELPERS',
15 source='gen_ndr/ndr_sasl_helpers.c',
16 public_deps='ndr'
21 bld.SAMBA_SUBSYSTEM('NDR_WINSIF',
22 source='gen_ndr/ndr_winsif.c',
23 public_deps='ndr NDR_WINSREPL'
27 bld.SAMBA_SUBSYSTEM('NDR_OPENDB',
28 source='gen_ndr/ndr_opendb.c',
29 public_deps='ndr'
33 bld.SAMBA_SUBSYSTEM('NDR_NTP_SIGND',
34 source='gen_ndr/ndr_ntp_signd.c',
35 public_deps='ndr'
39 bld.SAMBA_SUBSYSTEM('NDR_WINSREPL',
40 source='gen_ndr/ndr_winsrepl.c',
41 public_deps='ndr ndr_nbt'
45 # create a grouping library to consolidate our samba4 specific NDR code
46 bld.SAMBA_LIBRARY('ndr-samba4',
47 source=[],
48 deps='NDR_WINBIND NDR_IRPC NDR_NFS4ACL NDR_OPENDB ndr-table',
49 private_library=True,
50 grouping_library=True
53 # a grouping library for RPC_NDR subsystems that may be used by more than one target
54 bld.SAMBA_LIBRARY('dcerpc-samba4',
55 source=[],
56 deps='RPC_NDR_WINBIND',
57 private_library=True,
58 grouping_library=True
62 bld.SAMBA_PIDL_TABLES('GEN_NDR_TABLES', 'gen_ndr/tables.c')
64 bld.SAMBA_SUBSYSTEM('ndr-table',
65 source='../../librpc/ndr/ndr_table.c gen_ndr/tables.c',
66 public_deps='''
67 ndr-standard
68 NDR_AUDIOSRV
69 NDR_DSBACKUP
70 NDR_EFS
71 NDR_DRSUAPI
72 NDR_POLICYAGENT
73 NDR_UNIXINFO
74 NDR_SPOOLSS
75 NDR_EPMAPPER
76 NDR_DBGIDL
77 NDR_DSSETUP
78 NDR_MSGSVC
79 NDR_WINSIF
80 NDR_MGMT
81 NDR_OXIDRESOLVER
82 NDR_REMACT
83 NDR_WZCSVC
84 NDR_BROWSER
85 NDR_W32TIME
86 NDR_SCERPC
87 NDR_TRKWKS
88 NDR_KEYSVC
89 ndr-krb5pac
90 NDR_SCHANNEL
91 NDR_ROT
92 NDR_DRSBLOBS
93 ndr_nbt
94 NDR_WINSREPL
95 NDR_SECURITY
96 NDR_DNSSERVER
97 NDR_WINSTATION
98 NDR_IRPC
99 NDR_OPENDB
100 NDR_SASL_HELPERS
101 NDR_NOTIFY
102 NDR_WINBIND
103 NDR_FRSRPC
104 NDR_FRSAPI
105 NDR_FRSTRANS
106 NDR_NTP_SIGND
107 NDR_DCOM
108 NDR_WMI
109 NDR_NAMED_PIPE_AUTH
110 NDR_NTLMSSP
111 NDR_DFSBLOBS
112 NDR_DNSP
113 NDR_NTPRINTING
114 NDR_DNS
115 NDR_BACKUPKEY
116 NDR_PREG
117 NDR_BKUPBLOBS
118 NDR_FSCC
119 NDR_CLUSAPI
120 NDR_WINSPOOL
121 NDR_CAB
122 NDR_FSRVP_STATE
123 NDR_IOCTL
124 NDR_COMPRESSION
125 NDR_PRINTCAP
126 NDR_QUOTA
127 NDR_RAP
128 NDR_DCERPC
129 NDR_MESSAGING
130 NDR_SMB_ACL
131 NDR_PERFCOUNT
132 NDR_SECRETS
133 NDR_LEASES_DB
134 ''',
135 depends_on='GEN_NDR_TABLES'
139 bld.SAMBA_SUBSYSTEM('RPC_NDR_IRPC',
140 source='gen_ndr/ndr_irpc_c.c',
141 public_deps='dcerpc NDR_IRPC'
144 bld.SAMBA_LIBRARY('dcerpc-samr',
145 source='',
146 pc_files='dcerpc_samr.pc',
147 vnum='0.0.1',
148 public_deps='dcerpc ndr-standard RPC_NDR_SAMR',
149 public_headers='../../librpc/gen_ndr/ndr_samr_c.h',
150 header_path='gen_ndr'
154 bld.SAMBA_LIBRARY('dcerpc',
155 source='''rpc/dcerpc.c rpc/dcerpc_auth.c rpc/dcerpc_schannel.c
156 rpc/dcerpc_util.c rpc/dcerpc_smb.c rpc/dcerpc_sock.c
157 rpc/dcerpc_roh_channel_in.c rpc/dcerpc_roh_channel_out.c rpc/dcerpc_roh.c
158 rpc/dcerpc_connect.c rpc/dcerpc_secondary.c''',
159 pc_files='dcerpc.pc',
160 deps='samba_socket LIBCLI_RESOLVE LIBCLI_SMB LIBCLI_SMB2 ndr NDR_DCERPC RPC_NDR_EPMAPPER NDR_SCHANNEL RPC_NDR_NETLOGON RPC_NDR_MGMT gensec LIBCLI_AUTH smbclient-raw LP_RESOLVE tevent-util dcerpc-binding param_options http',
161 autoproto='rpc/dcerpc_proto.h',
162 public_deps='samba-credentials tevent talloc',
163 public_headers='''rpc/dcerpc.h''',
164 # It's very important to keep this form of construction
165 # it force the sambawaf extension to put everything that match the first element
166 # (*gen_ndr*) into the dir named by the second element (gen_ndr).
167 # If we just put header_path = 'gen_ndr' then all the public_headers will go
168 # in 'gen_ndr' and for dcerpc.h (at least) it will cause a problem as
169 # we have already a dcerpc.h installed by librpc/wscript_build
170 # and one will overright the other which is not what we expect.
171 header_path=[ ('*gen_ndr*', 'gen_ndr') ],
172 vnum='0.0.1'
175 gen_cflags = ''
176 if bld.CONFIG_SET('HAVE_WNO_UNUSED_FUNCTION'):
177 gen_cflags = '-Wno-unused-function'
179 pyrpc_util = bld.pyembed_libname('pyrpc_util')
180 pytalloc_util = bld.pyembed_libname('pytalloc-util')
181 pyparam_util = bld.pyembed_libname('pyparam_util')
183 bld.SAMBA_SUBSYSTEM(pyrpc_util,
184 source='rpc/pyrpc_util.c',
185 public_deps='%s %s dcerpc MESSAGING' % (pytalloc_util, pyparam_util),
186 pyext=True,
187 enabled=bld.PYTHON_BUILD_IS_ENABLED(),
190 bld.SAMBA_PYTHON('python_dcerpc',
191 source='rpc/pyrpc.c',
192 public_deps='LIBCLI_SMB samba-util samba-hostconfig dcerpc-samr RPC_NDR_LSA DYNCONFIG %s gensec' % pyrpc_util,
193 realname='samba/dcerpc/base.so',
194 cflags_end=gen_cflags
197 bld.SAMBA_PYTHON('python_dcerpc_misc',
198 source='../../librpc/gen_ndr/py_misc.c',
199 deps='%s %s ndr-krb5pac' % (pytalloc_util, pyrpc_util),
200 realname='samba/dcerpc/misc.so',
201 cflags_end=gen_cflags
204 bld.SAMBA_PYTHON('python_auth',
205 source='../../librpc/gen_ndr/py_auth.c',
206 deps='NDR_AUTH %s %s' % (pytalloc_util, pyrpc_util),
207 realname='samba/dcerpc/auth.so',
208 cflags_end=gen_cflags
211 bld.SAMBA_PYTHON('python_dcerpc_security',
212 source='../../librpc/gen_ndr/py_security.c',
213 deps='%s %s NDR_SECURITY' % (pytalloc_util, pyrpc_util),
214 realname='samba/dcerpc/security.so',
215 cflags_end=gen_cflags
218 bld.SAMBA_PYTHON('python_lsa',
219 source='../../librpc/gen_ndr/py_lsa.c',
220 deps='RPC_NDR_LSA %s %s' % (pytalloc_util, pyrpc_util),
221 realname='samba/dcerpc/lsa.so',
222 cflags_end=gen_cflags
225 bld.SAMBA_PYTHON('python_krb5pac',
226 source='../../librpc/gen_ndr/py_krb5pac.c',
227 deps='ndr-krb5pac %s %s' % (pytalloc_util, pyrpc_util),
228 realname='samba/dcerpc/krb5pac.so',
229 cflags_end=gen_cflags
232 bld.SAMBA_PYTHON('python_netlogon',
233 source='../../librpc/gen_ndr/py_netlogon.c',
234 deps='RPC_NDR_NETLOGON %s %s' % (pytalloc_util, pyrpc_util),
235 realname='samba/dcerpc/netlogon.so',
236 cflags_end=gen_cflags
239 bld.SAMBA_PYTHON('python_samr',
240 source='../../librpc/gen_ndr/py_samr.c',
241 deps='dcerpc-samr %s %s' % (pytalloc_util, pyrpc_util),
242 realname='samba/dcerpc/samr.so',
243 cflags_end=gen_cflags
246 bld.SAMBA_PYTHON('python_spoolss',
247 source='../../librpc/gen_ndr/py_spoolss.c',
248 deps='RPC_NDR_SPOOLSS %s %s' % (pytalloc_util, pyrpc_util),
249 realname='samba/dcerpc/spoolss.so'
252 bld.SAMBA_PYTHON('python_winspool',
253 source='../../librpc/gen_ndr/py_winspool.c',
254 deps='RPC_NDR_WINSPOOL %s %s' % (pytalloc_util, pyrpc_util),
255 realname='samba/dcerpc/winspool.so'
258 bld.SAMBA_PYTHON('python_witness',
259 source='../../librpc/gen_ndr/py_witness.c',
260 deps='RPC_NDR_WITNESS %s %s' % (pytalloc_util, pyrpc_util),
261 realname='samba/dcerpc/witness.so'
264 bld.SAMBA_PYTHON('python_dcerpc_nbt',
265 source='../../librpc/gen_ndr/py_nbt.c',
266 deps='ndr_nbt %s %s' % (pytalloc_util, pyrpc_util),
267 realname='samba/dcerpc/nbt.so',
268 cflags_end=gen_cflags
271 bld.SAMBA_PYTHON('python_dcerpc_drsblobs',
272 source='../../librpc/gen_ndr/py_drsblobs.c',
273 deps='%s %s NDR_SECURITY NDR_DRSBLOBS' % (pytalloc_util, pyrpc_util),
274 realname='samba/dcerpc/drsblobs.so',
275 cflags_end=gen_cflags
278 bld.SAMBA_PYTHON('python_dcerpc_ntlmssp',
279 source='../../librpc/gen_ndr/py_ntlmssp.c',
280 deps='%s %s NDR_NTLMSSP' % (pytalloc_util, pyrpc_util),
281 realname='samba/dcerpc/ntlmssp.so',
282 cflags_end=gen_cflags
285 bld.SAMBA_PYTHON('python_srvsvc',
286 source='../../librpc/gen_ndr/py_srvsvc.c',
287 deps='RPC_NDR_SRVSVC %s %s' % (pytalloc_util, pyrpc_util),
288 realname='samba/dcerpc/srvsvc.so',
289 cflags_end=gen_cflags
292 bld.SAMBA_PYTHON('python_echo',
293 source='../../librpc/gen_ndr/py_echo.c',
294 deps='RPC_NDR_ECHO %s %s' % (pytalloc_util, pyrpc_util),
295 realname='samba/dcerpc/echo.so',
296 cflags_end=gen_cflags
299 bld.SAMBA_PYTHON('python_dns',
300 source='../../librpc/gen_ndr/py_dns.c',
301 deps='NDR_DNS %s %s' % (pytalloc_util, pyrpc_util),
302 realname='samba/dcerpc/dns.so',
303 cflags_end=gen_cflags
306 bld.SAMBA_PYTHON('python_winreg',
307 source='../../librpc/gen_ndr/py_winreg.c',
308 deps='RPC_NDR_WINREG %s %s' % (pytalloc_util, pyrpc_util),
309 realname='samba/dcerpc/winreg.so',
310 cflags_end=gen_cflags
313 bld.SAMBA_PYTHON('python_preg',
314 source='../../librpc/gen_ndr/py_preg.c',
315 deps='NDR_PREG %s %s' % (pytalloc_util, pyrpc_util),
316 realname='samba/dcerpc/preg.so',
317 cflags_end=gen_cflags
320 bld.SAMBA_PYTHON('python_initshutdown',
321 source='../../librpc/gen_ndr/py_initshutdown.c',
322 deps='RPC_NDR_INITSHUTDOWN %s %s' % (pytalloc_util, pyrpc_util),
323 realname='samba/dcerpc/initshutdown.so',
324 cflags_end=gen_cflags
328 bld.SAMBA_PYTHON('python_epmapper',
329 source='../../librpc/gen_ndr/py_epmapper.c',
330 deps='dcerpc %s %s' % (pytalloc_util, pyrpc_util),
331 realname='samba/dcerpc/epmapper.so',
332 cflags_end=gen_cflags
336 bld.SAMBA_PYTHON('python_mgmt',
337 source='../../librpc/gen_ndr/py_mgmt.c',
338 deps='dcerpc %s %s' % (pytalloc_util, pyrpc_util),
339 realname='samba/dcerpc/mgmt.so',
340 cflags_end=gen_cflags
344 bld.SAMBA_PYTHON('python_atsvc',
345 source='../../librpc/gen_ndr/py_atsvc.c',
346 deps='RPC_NDR_ATSVC %s %s' % (pytalloc_util, pyrpc_util),
347 realname='samba/dcerpc/atsvc.so',
348 cflags_end=gen_cflags
352 bld.SAMBA_PYTHON('python_svcctl',
353 source='../../librpc/gen_ndr/py_svcctl.c',
354 deps='RPC_NDR_SVCCTL %s %s' % (pytalloc_util, pyrpc_util),
355 realname='samba/dcerpc/svcctl.so',
356 cflags_end=gen_cflags
360 bld.SAMBA_PYTHON('python_wkssvc',
361 source='../../librpc/gen_ndr/py_wkssvc.c',
362 deps='RPC_NDR_WKSSVC %s %s' % (pytalloc_util, pyrpc_util),
363 realname='samba/dcerpc/wkssvc.so',
364 cflags_end=gen_cflags
368 bld.SAMBA_PYTHON('python_dfs',
369 source='../../librpc/gen_ndr/py_dfs.c',
370 deps='RPC_NDR_DFS %s %s' % (pytalloc_util, pyrpc_util),
371 realname='samba/dcerpc/dfs.so',
372 cflags_end=gen_cflags
375 bld.SAMBA_PYTHON('python_dcerpc_dcerpc',
376 source='../../librpc/gen_ndr/py_dcerpc.c',
377 deps='NDR_DCERPC %s %s' % (pytalloc_util, pyrpc_util),
378 realname='samba/dcerpc/dcerpc.so',
379 cflags_end=gen_cflags
382 bld.SAMBA_PYTHON('python_unixinfo',
383 source='../../librpc/gen_ndr/py_unixinfo.c',
384 deps='RPC_NDR_UNIXINFO %s %s' % (pytalloc_util, pyrpc_util),
385 realname='samba/dcerpc/unixinfo.so',
386 cflags_end=gen_cflags
390 bld.SAMBA_PYTHON('python_irpc',
391 source='gen_ndr/py_irpc.c',
392 deps='RPC_NDR_IRPC %s %s' % (pytalloc_util, pyrpc_util),
393 realname='samba/dcerpc/irpc.so',
394 cflags_end=gen_cflags
397 bld.SAMBA_PYTHON('python_server_id',
398 source='../../librpc/gen_ndr/py_server_id.c',
399 deps='NDR_SERVER_ID %s %s' % (pytalloc_util, pyrpc_util),
400 realname='samba/dcerpc/server_id.so',
401 cflags_end=gen_cflags
404 python_netlogon = 'python_netlogon'
405 bld.SAMBA_PYTHON('python_winbind',
406 source='../../librpc/gen_ndr/py_winbind.c',
407 deps='RPC_NDR_WINBIND %s %s %s' % (pytalloc_util, pyrpc_util, python_netlogon),
408 realname='samba/dcerpc/winbind.so',
409 cflags_end=gen_cflags
412 bld.SAMBA_PYTHON('python_drsuapi',
413 source='../../librpc/gen_ndr/py_drsuapi.c',
414 deps='RPC_NDR_DRSUAPI %s %s' % (pytalloc_util, pyrpc_util),
415 realname='samba/dcerpc/drsuapi.so',
416 cflags_end=gen_cflags
419 bld.SAMBA_PYTHON('python_dcerpc_dnsp',
420 source='../../librpc/gen_ndr/py_dnsp.c',
421 deps='%s %s NDR_SECURITY NDR_DNSP' % (pytalloc_util, pyrpc_util),
422 realname='samba/dcerpc/dnsp.so',
423 cflags_end=gen_cflags
427 bld.SAMBA_PYTHON('python_dcerpc_xattr',
428 source='../../librpc/gen_ndr/py_xattr.c',
429 deps='%s %s NDR_XATTR' % (pytalloc_util, pyrpc_util),
430 realname='samba/dcerpc/xattr.so',
431 cflags_end=gen_cflags
434 bld.SAMBA_PYTHON('python_dcerpc_idmap',
435 source='../../librpc/gen_ndr/py_idmap.c',
436 deps='%s %s NDR_IDMAP' % (pytalloc_util, pyrpc_util),
437 realname='samba/dcerpc/idmap.so',
438 cflags_end=gen_cflags
441 bld.SAMBA_PYTHON('python_dnsserver',
442 source='../../librpc/gen_ndr/py_dnsserver.c',
443 deps='RPC_NDR_DNSSERVER %s %s' % (pytalloc_util, pyrpc_util),
444 realname='samba/dcerpc/dnsserver.so',
445 cflags_end=gen_cflags
448 bld.SAMBA_PYTHON('python_dcerpc_smb_acl',
449 source='../../librpc/gen_ndr/py_smb_acl.c',
450 deps='%s %s' % (pytalloc_util, pyrpc_util),
451 realname='samba/dcerpc/smb_acl.so',
452 cflags_end=gen_cflags
455 bld.SAMBA_PYTHON('dcerpc_python_messaging',
456 source='../../librpc/gen_ndr/py_messaging.c',
457 deps='%s %s' % (pytalloc_util, pyrpc_util),
458 realname='samba/dcerpc/messaging.so',
459 cflags_end=gen_cflags
462 bld.SAMBA_PYTHON('dcerpc_windows_event_ids',
463 source='../../librpc/gen_ndr/py_windows_event_ids.c',
464 deps='%s %s' % (pytalloc_util, pyrpc_util),
465 realname='samba/dcerpc/windows_event_ids.so',
466 cflags_end=gen_cflags
469 bld.SAMBA_PYTHON('python_mdssvc',
470 source='../../librpc/gen_ndr/py_mdssvc.c',
471 deps='RPC_NDR_MDSSVC %s %s' % (pytalloc_util, pyrpc_util),
472 realname='samba/dcerpc/mdssvc.so',
473 cflags_end=gen_cflags
476 if bld.PYTHON_BUILD_IS_ENABLED():
477 bld.SAMBA_SCRIPT('python_dcerpc_init',
478 pattern='rpc/dcerpc.py',
479 installdir='python/samba/dcerpc',
480 installname='__init__.py')
482 bld.INSTALL_FILES('${PYTHONARCHDIR}/samba/dcerpc', 'rpc/dcerpc.py', destname='__init__.py')