conditional_aces: Avoid manual parsing for ace_condition_sid
[samba.git] / librpc / wscript_build
1 #!/usr/bin/env python
2
3 bld.RECURSE('idl')
4 bld.RECURSE('../lib/compression')
5
6 bld.SAMBA_SUBSYSTEM('NDR_AUDIOSRV',
7     source='gen_ndr/ndr_audiosrv.c',
8     public_deps='ndr'
9     )
10
11 bld.SAMBA_SUBSYSTEM('NDR_AUTH',
12     source='gen_ndr/ndr_auth.c ndr/ndr_auth.c',
13     public_headers='gen_ndr/auth.h',
14     header_path='gen_ndr',
15     public_deps='ndr NDR_SECURITY ndr-krb5pac'
16     )
17
18 bld.SAMBA_SUBSYSTEM('NDR_ATSVC',
19     source='gen_ndr/ndr_atsvc.c',
20     public_deps='ndr'
21     )
22
23 bld.SAMBA_SUBSYSTEM('NDR_NAMED_PIPE_AUTH',
24     source='gen_ndr/ndr_named_pipe_auth.c',
25     public_deps='ndr NDR_AUTH'
26     )
27
28 bld.SAMBA_SUBSYSTEM('NDR_DNSSERVER',
29     source='gen_ndr/ndr_dnsserver.c ndr/ndr_dnsserver.c',
30     public_deps='ndr NDR_DNSP'
31     )
32
33 bld.SAMBA_SUBSYSTEM('NDR_DNS',
34     source='gen_ndr/ndr_dns.c ndr/ndr_dns.c ndr/ndr_dns_utils.c',
35     public_deps='ndr NDR_DNSP'
36     )
37
38 bld.SAMBA_SUBSYSTEM('NDR_DSBACKUP',
39     source='gen_ndr/ndr_dsbackup.c',
40     public_deps='ndr'
41     )
42
43 bld.SAMBA_SUBSYSTEM('NDR_DFS',
44     source='gen_ndr/ndr_dfs.c',
45     public_deps='ndr'
46     )
47
48 bld.SAMBA_SUBSYSTEM('NDR_WINREG',
49     source='gen_ndr/ndr_winreg.c',
50     public_deps='ndr NDR_SECURITY NDR_LSA'
51     )
52
53 bld.SAMBA_SUBSYSTEM('NDR_EFS',
54     source='gen_ndr/ndr_efs.c',
55     public_deps='ndr NDR_SECURITY'
56     )
57
58 bld.SAMBA_SUBSYSTEM('NDR_ROT',
59     source='gen_ndr/ndr_rot.c',
60     public_deps='ndr NDR_ORPC'
61     )
62
63 bld.SAMBA_SUBSYSTEM('NDR_FRSRPC',
64     source='ndr/ndr_frsrpc.c gen_ndr/ndr_frsrpc.c',
65     public_deps='ndr NDR_FSCC'
66     )
67
68 bld.SAMBA_SUBSYSTEM('NDR_FRSAPI',
69     source='gen_ndr/ndr_frsapi.c',
70     public_deps='ndr'
71     )
72
73 bld.SAMBA_SUBSYSTEM('NDR_FRSTRANS',
74     source='gen_ndr/ndr_frstrans.c',
75     public_deps='ndr'
76     )
77
78 bld.SAMBA_SUBSYSTEM('NDR_DFSBLOBS',
79     source='gen_ndr/ndr_dfsblobs.c',
80     public_deps='ndr'
81     )
82
83 bld.SAMBA_SUBSYSTEM('NDR_BKUPBLOBS',
84         source='ndr/ndr_bkupblobs.c gen_ndr/ndr_bkupblobs.c',
85         public_deps='ndr NDR_SECURITY NDR_FSCC'
86         )
87
88 bld.SAMBA_SUBSYSTEM('NDR_FSCC',
89         source='gen_ndr/ndr_fscc.c',
90         public_deps='ndr'
91         )
92
93 bld.SAMBA_SUBSYSTEM('NDR_POLICYAGENT',
94     source='gen_ndr/ndr_policyagent.c',
95     public_deps='ndr'
96     )
97
98 bld.SAMBA_SUBSYSTEM('NDR_UNIXINFO',
99     source='gen_ndr/ndr_unixinfo.c',
100     public_deps='ndr NDR_SECURITY'
101     )
102
103 bld.SAMBA_SUBSYSTEM('NDR_SPOOLSS',
104     source='gen_ndr/ndr_spoolss.c',
105     public_deps='ndr NDR_SPOOLSS_BUF NDR_SECURITY'
106     )
107
108 bld.SAMBA_SUBSYSTEM('NDR_SPOOLSS_BUF',
109     source='ndr/ndr_spoolss_buf.c',
110     deps='talloc'
111     )
112
113 bld.SAMBA_SUBSYSTEM('NDR_WINSPOOL',
114     source='gen_ndr/ndr_winspool.c',
115     public_deps='ndr NDR_SPOOLSS'
116     )
117
118 bld.SAMBA_SUBSYSTEM('NDR_PRINTCAP',
119     source='gen_ndr/ndr_printcap.c',
120     public_deps='ndr'
121     )
122
123 bld.SAMBA_SUBSYSTEM('NDR_EPMAPPER',
124     source='gen_ndr/ndr_epmapper.c',
125     public_deps='ndr'
126     )
127
128 bld.SAMBA_SUBSYSTEM('NDR_DBGIDL',
129     source='gen_ndr/ndr_dbgidl.c',
130     public_deps='ndr'
131     )
132
133 bld.SAMBA_SUBSYSTEM('NDR_DSSETUP',
134     source='gen_ndr/ndr_dssetup.c',
135     public_deps='ndr'
136     )
137
138 bld.SAMBA_SUBSYSTEM('NDR_MSGSVC',
139     source='gen_ndr/ndr_msgsvc.c',
140     public_deps='ndr'
141     )
142
143 bld.SAMBA_SUBSYSTEM('NDR_MGMT',
144     source='gen_ndr/ndr_mgmt.c',
145     public_deps='ndr'
146     )
147
148 bld.SAMBA_SUBSYSTEM('NDR_ORPC',
149     source='ndr/ndr_orpc.c gen_ndr/ndr_orpc.c',
150     public_deps='ndr'
151     )
152
153 bld.SAMBA_SUBSYSTEM('NDR_WZCSVC',
154     source='gen_ndr/ndr_wzcsvc.c',
155     public_deps='ndr'
156     )
157
158 bld.SAMBA_SUBSYSTEM('NDR_BROWSER',
159     source='gen_ndr/ndr_browser.c',
160     public_deps='ndr NDR_SRVSVC'
161     )
162
163 bld.SAMBA_SUBSYSTEM('NDR_W32TIME',
164     source='gen_ndr/ndr_w32time.c',
165     public_deps='ndr'
166     )
167
168 bld.SAMBA_SUBSYSTEM('NDR_SCERPC',
169     source='gen_ndr/ndr_scerpc.c',
170     public_deps='ndr'
171     )
172
173 bld.SAMBA_SUBSYSTEM('NDR_SERVER_ID',
174     source='gen_ndr/ndr_server_id.c',
175     deps='ndr',
176     public_headers='gen_ndr/server_id.h',
177     header_path='gen_ndr'
178     )
179
180 bld.SAMBA_SUBSYSTEM('NDR_TRKWKS',
181     source='gen_ndr/ndr_trkwks.c',
182     public_deps='ndr'
183     )
184
185 bld.SAMBA_SUBSYSTEM('NDR_KEYSVC',
186     source='gen_ndr/ndr_keysvc.c',
187     public_deps='ndr'
188     )
189
190 bld.SAMBA_SUBSYSTEM('NDR_RAP',
191     source='gen_ndr/ndr_rap.c ndr/ndr_rap.c',
192     public_deps='ndr'
193     )
194
195 bld.SAMBA_SUBSYSTEM('NDR_IDMAP',
196     source='gen_ndr/ndr_idmap.c',
197     public_deps='ndr ndr-standard'
198     )
199
200 bld.SAMBA_SUBSYSTEM('NDR_NOTIFY',
201     source='gen_ndr/ndr_notify.c',
202     public_deps='ndr ndr-standard NDR_SERVER_ID NDR_FILE_ID'
203     )
204
205 bld.SAMBA_SUBSYSTEM('NDR_NTLMSSP',
206     source='ndr/ndr_ntlmssp.c gen_ndr/ndr_ntlmssp.c',
207     public_deps='ndr ndr-standard'
208     )
209
210 bld.SAMBA_SUBSYSTEM('NDR_NEGOEX',
211     source='ndr/ndr_negoex.c gen_ndr/ndr_negoex.c',
212     public_deps='ndr'
213     )
214
215 bld.SAMBA_SUBSYSTEM('NDR_DNSP',
216     source='gen_ndr/ndr_dnsp.c ndr/ndr_dnsp.c',
217     public_deps='ndr'
218     )
219
220 bld.SAMBA_SUBSYSTEM('NDR_NFS4ACL',
221     source='gen_ndr/ndr_nfs4acl.c',
222     public_deps='ndr NDR_SECURITY'
223     )
224
225 bld.SAMBA_SUBSYSTEM('NDR_NTPRINTING',
226     source='gen_ndr/ndr_ntprinting.c ndr/ndr_ntprinting.c',
227     public_deps='ndr'
228     )
229
230 bld.SAMBA_SUBSYSTEM('NDR_SAMR',
231     source='gen_ndr/ndr_samr.c',
232     public_deps='ndr NDR_SECURITY NDR_LSA'
233     )
234
235 bld.SAMBA_SUBSYSTEM('NDR_LSA',
236     source='gen_ndr/ndr_lsa.c',
237     public_deps='ndr NDR_SECURITY'
238     )
239
240 bld.SAMBA_SUBSYSTEM('NDR_SECURITY',
241     source='gen_ndr/ndr_security.c ndr/ndr_sec_helper.c',
242     deps='ndr samba-security',
243     public_headers='gen_ndr/security.h',
244     header_path='gen_ndr'
245     )
246
247 bld.SAMBA_SUBSYSTEM('NDR_SMB_ACL',
248     source='gen_ndr/ndr_smb_acl.c',
249     deps='ndr',
250     )
251
252 bld.SAMBA_SUBSYSTEM('NDR_SVCCTL',
253     source='gen_ndr/ndr_svcctl.c ndr/ndr_svcctl.c',
254     public_deps='ndr NDR_SECURITY'
255     )
256
257 bld.SAMBA_SUBSYSTEM('NDR_SRVSVC',
258     source='gen_ndr/ndr_srvsvc.c',
259     public_deps='ndr NDR_SECURITY NDR_SVCCTL'
260     )
261
262 bld.SAMBA_SUBSYSTEM('NDR_NETLOGON',
263     source='gen_ndr/ndr_netlogon.c ndr/ndr_netlogon.c',
264     public_deps='ndr NDR_SECURITY NDR_LSA NDR_SAMR ndr_nbt'
265     )
266
267 bld.SAMBA_SUBSYSTEM('NDR_EVENTLOG',
268     source='gen_ndr/ndr_eventlog.c',
269     public_deps='ndr NDR_SECURITY NDR_LSA'
270     )
271
272 bld.SAMBA_SUBSYSTEM('NDR_EVENTLOG6',
273     source='gen_ndr/ndr_eventlog6.c',
274     public_deps='ndr'
275     )
276
277 bld.SAMBA_SUBSYSTEM('NDR_NTSVCS',
278     source='gen_ndr/ndr_ntsvcs.c',
279     public_deps='ndr'
280     )
281
282 bld.SAMBA_SUBSYSTEM('NDR_WKSSVC',
283     source='gen_ndr/ndr_wkssvc.c',
284     public_deps='ndr NDR_SECURITY NDR_SRVSVC NDR_LSA'
285     )
286
287 bld.SAMBA_SUBSYSTEM('NDR_ECHO',
288     source='gen_ndr/ndr_echo.c',
289     public_deps='ndr'
290     )
291
292 bld.SAMBA_SUBSYSTEM('NDR_INITSHUTDOWN',
293     source='gen_ndr/ndr_initshutdown.c',
294     public_deps='ndr NDR_LSA'
295     )
296
297 bld.SAMBA_SUBSYSTEM('NDR_COMPRESSION',
298     source='ndr/ndr_compression.c',
299     public_deps='samba-errors ndr',
300     deps='z LZXPRESS'
301     )
302
303 bld.SAMBA_SUBSYSTEM('NDR_FSRVP',
304         source='gen_ndr/ndr_fsrvp.c',
305         public_deps='ndr'
306         )
307
308 bld.SAMBA_SUBSYSTEM('NDR_WITNESS',
309     source='gen_ndr/ndr_witness.c ndr/ndr_witness.c',
310     public_deps='ndr'
311     )
312
313 bld.SAMBA_SUBSYSTEM('NDR_CLUSAPI',
314     source='gen_ndr/ndr_clusapi.c',
315     public_deps='ndr NDR_WINREG'
316     )
317
318 bld.SAMBA_SUBSYSTEM('NDR_MDSSVC',
319     source='gen_ndr/ndr_mdssvc.c',
320     public_deps='ndr'
321     )
322
323 bld.SAMBA_SUBSYSTEM('NDR_DCERPC',
324     source='gen_ndr/ndr_dcerpc.c ndr/ndr_dcerpc.c',
325     public_deps='ndr',
326     public_headers='gen_ndr/ndr_dcerpc.h gen_ndr/dcerpc.h ndr/ndr_dcerpc.h',
327     header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')]
328     )
329
330 bld.SAMBA_SUBSYSTEM('NDR_DRSUAPI',
331     source='ndr/ndr_drsuapi.c gen_ndr/ndr_drsuapi.c',
332     public_deps='ndr NDR_COMPRESSION NDR_SECURITY ndr-standard asn1util',
333     public_headers='gen_ndr/ndr_drsuapi.h gen_ndr/drsuapi.h ndr/ndr_drsuapi.h',
334     header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')]
335     )
336
337 bld.SAMBA_SUBSYSTEM('NDR_DRSBLOBS',
338     source='ndr/ndr_drsblobs.c gen_ndr/ndr_drsblobs.c',
339     public_deps='ndr NDR_DRSUAPI',
340     public_headers='gen_ndr/ndr_drsblobs.h gen_ndr/drsblobs.h ndr/ndr_drsblobs.h',
341     header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')]
342     )
343
344 bld.SAMBA_SUBSYSTEM('NDR_ODJ',
345     source='gen_ndr/ndr_ODJ.c ndr/ndr_ODJ.c',
346     public_deps='NDR_LSA NDR_NETLOGON NDR_SECURITY',
347     deps='ndr')
348
349 bld.SAMBA_SUBSYSTEM('NDR_KRB5PAC',
350                     source='',
351                     deps='ndr-krb5pac')
352
353 bld.SAMBA_LIBRARY('ndr-krb5pac',
354     source='ndr/ndr_krb5pac.c gen_ndr/ndr_krb5pac.c',
355     public_deps='ndr ndr-standard NDR_SECURITY NDR_CLAIMS',
356     public_headers='gen_ndr/krb5pac.h gen_ndr/ndr_krb5pac.h ndr/ndr_krb5pac.h',
357     header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')],
358     pc_files='ndr_krb5pac.pc',
359     vnum='0.0.1'
360     )
361
362 bld.SAMBA_SUBSYSTEM('NDR_KRB5CCACHE',
363     source='gen_ndr/ndr_krb5ccache.c',
364     deps='ndr NDR_SECURITY ndr-standard asn1util'
365     )
366
367 bld.SAMBA_SUBSYSTEM('NDR_CLAIMS',
368     source='gen_ndr/ndr_claims.c ndr/ndr_claims.c',
369     deps='ndr NDR_COMPRESSION LZXPRESS')
370
371 bld.SAMBA_LIBRARY('ndr-standard',
372     source='',
373     vnum='0.0.1',
374     pc_files='ndr_standard.pc',
375     deps='''NDR_SECURITY NDR_LSA NDR_SAMR NDR_NETLOGON
376     NDR_EVENTLOG NDR_EVENTLOG6 NDR_DFS
377     NDR_NTSVCS NDR_SVCCTL NDR_INITSHUTDOWN NDR_WKSSVC NDR_SRVSVC NDR_WINREG
378     NDR_ECHO security NDR_DNS NDR_DNSP NDR_ATSVC NDR_SPOOLSS NDR_DSSETUP
379     NDR_SERVER_ID NDR_NOTIFY''',
380     public_deps='ndr',
381     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',
382     header_path='gen_ndr'
383     )
384
385 bld.SAMBA_SUBSYSTEM('NDR_XATTR',
386     source='ndr/ndr_xattr.c gen_ndr/ndr_xattr.c',
387     public_deps='ndr NDR_SECURITY'
388     )
389
390 bld.SAMBA_SUBSYSTEM('NDR_SMB2_LEASE_STRUCT',
391     source='gen_ndr/ndr_smb2_lease_struct.c',
392     public_deps='ndr',
393     public_headers='gen_ndr/smb2_lease_struct.h'
394     )
395
396 bld.SAMBA_SUBSYSTEM('NDR_QUOTA',
397     source='gen_ndr/ndr_quota.c',
398     public_deps='ndr',
399     )
400
401 bld.SAMBA_SUBSYSTEM('NDR_SCHANNEL',
402     source='ndr/ndr_schannel.c gen_ndr/ndr_schannel.c',
403     public_deps='ndr ndr_nbt'
404     )
405
406 bld.SAMBA_SUBSYSTEM('NDR_NBT',
407                     source='',
408                     deps='ndr_nbt')
409
410 bld.SAMBA_LIBRARY('ndr_nbt',
411     source='gen_ndr/ndr_nbt.c ndr/ndr_nbt.c',
412     public_deps='ndr NDR_NBT_BUF NDR_SECURITY NDR_DNS',
413     public_headers='gen_ndr/nbt.h gen_ndr/ndr_nbt.h ndr/ndr_nbt.h',
414     header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')],
415     pc_files='ndr_nbt.pc',
416     vnum='0.0.1'
417 )
418
419 bld.SAMBA_SUBSYSTEM('NDR_BACKUPKEY',
420     source='ndr/ndr_backupkey.c gen_ndr/ndr_backupkey.c',
421     public_deps='ndr NDR_SECURITY'
422     )
423
424 bld.SAMBA_SUBSYSTEM('NDR_PREG',
425     source='gen_ndr/ndr_preg.c ndr/ndr_preg.c',
426     public_deps='ndr'
427     )
428
429 bld.SAMBA_SUBSYSTEM('NDR_CAB',
430     source='''
431            gen_ndr/ndr_cab.c
432            ndr/ndr_cab.c
433            ''',
434     public_deps='ndr NDR_COMPRESSION')
435
436 bld.SAMBA_SUBSYSTEM('NDR_FILE_ID',
437     source='gen_ndr/ndr_file_id.c',
438     public_deps='ndr'
439     )
440
441 bld.SAMBA_SUBSYSTEM('NDR_MESSAGING',
442     source='gen_ndr/ndr_messaging.c',
443     public_deps='ndr NDR_SERVER_ID'
444     )
445
446 bld.SAMBA_SUBSYSTEM('NDR_WINSTATION',
447         source='gen_ndr/ndr_winstation.c',
448         public_deps='ndr'
449         )
450
451 bld.SAMBA_SUBSYSTEM('NDR_CONDITIONAL_ACE',
452         source='gen_ndr/ndr_conditional_ace.c',
453         public_deps='ndr'
454         )
455
456 bld.SAMBA_SUBSYSTEM('RPC_NDR_ATSVC',
457     source='gen_ndr/ndr_atsvc_c.c',
458     public_deps='dcerpc-binding NDR_ATSVC'
459     )
460
461 bld.SAMBA_SUBSYSTEM('RPC_NDR_ECHO',
462     source='gen_ndr/ndr_echo_c.c',
463     public_deps='dcerpc-binding NDR_ECHO'
464     )
465
466 bld.SAMBA_SUBSYSTEM('RPC_NDR_LSA',
467     source='gen_ndr/ndr_lsa_c.c',
468     public_deps='dcerpc-binding ndr-standard'
469     )
470
471 bld.SAMBA_SUBSYSTEM('RPC_NDR_SAMR',
472     source='gen_ndr/ndr_samr_c.c',
473     public_deps='dcerpc-binding NDR_SAMR'
474     )
475
476 bld.SAMBA_SUBSYSTEM('RPC_NDR_DFS',
477     source='gen_ndr/ndr_dfs_c.c',
478     public_deps='dcerpc-binding ndr-standard'
479     )
480
481 bld.SAMBA_SUBSYSTEM('RPC_NDR_FRSAPI',
482     source='gen_ndr/ndr_frsapi_c.c',
483     public_deps='dcerpc-binding NDR_FRSAPI'
484     )
485
486 bld.SAMBA_SUBSYSTEM('RPC_NDR_DRSUAPI',
487     source='gen_ndr/ndr_drsuapi_c.c',
488     public_deps='dcerpc-binding NDR_DRSUAPI'
489     )
490
491 bld.SAMBA_SUBSYSTEM('RPC_NDR_UNIXINFO',
492     source='gen_ndr/ndr_unixinfo_c.c',
493     public_deps='dcerpc-binding NDR_UNIXINFO'
494     )
495
496 bld.SAMBA_SUBSYSTEM('RPC_NDR_BROWSER',
497     source='gen_ndr/ndr_browser_c.c',
498     public_deps='dcerpc-binding NDR_BROWSER'
499     )
500
501 bld.SAMBA_SUBSYSTEM('RPC_NDR_SPOOLSS',
502     source='gen_ndr/ndr_spoolss_c.c',
503     public_deps='dcerpc-binding NDR_SPOOLSS'
504     )
505
506 bld.SAMBA_SUBSYSTEM('RPC_NDR_WINSPOOL',
507     source='gen_ndr/ndr_winspool_c.c',
508     public_deps='dcerpc-binding NDR_WINSPOOL'
509     )
510
511 bld.SAMBA_SUBSYSTEM('RPC_NDR_WKSSVC',
512     source='gen_ndr/ndr_wkssvc_c.c',
513     public_deps='dcerpc-binding ndr-standard'
514     )
515
516 bld.SAMBA_SUBSYSTEM('RPC_NDR_SRVSVC',
517     source='gen_ndr/ndr_srvsvc_c.c',
518     public_deps='dcerpc-binding NDR_SRVSVC'
519     )
520
521 bld.SAMBA_SUBSYSTEM('RPC_NDR_SVCCTL',
522     source='gen_ndr/ndr_svcctl_c.c',
523     public_deps='dcerpc-binding ndr-standard',
524     public_headers='gen_ndr/ndr_svcctl_c.h ndr/ndr_svcctl.h',
525     header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')]
526     )
527
528 bld.SAMBA_SUBSYSTEM('RPC_NDR_EVENTLOG',
529     source='gen_ndr/ndr_eventlog_c.c',
530     public_deps='dcerpc-binding ndr-standard'
531     )
532
533 bld.SAMBA_SUBSYSTEM('RPC_NDR_EPMAPPER',
534     source='gen_ndr/ndr_epmapper_c.c',
535     public_deps='tevent NDR_EPMAPPER'
536     )
537
538 bld.SAMBA_SUBSYSTEM('RPC_NDR_DSSETUP',
539     source='gen_ndr/ndr_dssetup_c.c',
540     public_deps='dcerpc-binding NDR_DSSETUP'
541     )
542
543 bld.SAMBA_SUBSYSTEM('RPC_NDR_WINREG',
544     source='gen_ndr/ndr_winreg_c.c',
545     public_deps='dcerpc-binding ndr-standard'
546     )
547
548 bld.SAMBA_SUBSYSTEM('RPC_NDR_INITSHUTDOWN',
549     source='gen_ndr/ndr_initshutdown_c.c',
550     public_deps='dcerpc-binding ndr-standard'
551     )
552
553 bld.SAMBA_SUBSYSTEM('RPC_NDR_MGMT',
554     source='gen_ndr/ndr_mgmt_c.c',
555     deps='tevent NDR_MGMT'
556     )
557
558 bld.SAMBA_SUBSYSTEM('RPC_NDR_NTSVCS',
559     source='gen_ndr/ndr_ntsvcs_c.c',
560     public_deps='dcerpc-binding ndr-standard'
561     )
562
563 bld.SAMBA_SUBSYSTEM('RPC_NDR_NETLOGON',
564     source='gen_ndr/ndr_netlogon_c.c',
565     public_deps='ndr-standard tevent'
566     )
567
568 bld.SAMBA_SUBSYSTEM('RPC_NDR_BACKUPKEY',
569     source='gen_ndr/ndr_backupkey_c.c',
570     public_deps='dcerpc-binding NDR_BACKUPKEY'
571     )
572
573 bld.SAMBA_SUBSYSTEM('RPC_NDR_DNSSERVER',
574     source='gen_ndr/ndr_dnsserver_c.c',
575     public_deps='dcerpc-binding ndr-standard'
576     )
577
578 bld.SAMBA_SUBSYSTEM('NDR_IOCTL',
579     source='gen_ndr/ndr_ioctl.c ndr/ndr_ioctl.c',
580     public_deps='ndr'
581     )
582
583 bld.SAMBA_SUBSYSTEM('RPC_NDR_FSRVP',
584         source='gen_ndr/ndr_fsrvp_c.c',
585         public_deps='dcerpc-binding NDR_FSRVP'
586         )
587
588 bld.SAMBA_SUBSYSTEM('RPC_NDR_WITNESS',
589     source='gen_ndr/ndr_witness_c.c',
590     public_deps='dcerpc-binding NDR_WITNESS'
591     )
592
593 bld.SAMBA_SUBSYSTEM('RPC_NDR_CLUSAPI',
594     source='gen_ndr/ndr_clusapi_c.c',
595     public_deps='dcerpc-binding NDR_CLUSAPI'
596     )
597
598 bld.SAMBA_SUBSYSTEM('RPC_NDR_MDSSVC',
599     source='gen_ndr/ndr_mdssvc_c.c',
600     public_deps='dcerpc-binding NDR_MDSSVC'
601     )
602
603 # a grouping library for NDR subsystems that may be used by more than one target
604 bld.SAMBA_LIBRARY('ndr-samba',
605     source=[],
606     deps='''NDR_DRSBLOBS NDR_DRSUAPI NDR_IDMAP NDR_NTLMSSP NDR_NEGOEX NDR_SCHANNEL NDR_MGMT
607     NDR_DNSSERVER NDR_EPMAPPER NDR_XATTR NDR_UNIXINFO NDR_NAMED_PIPE_AUTH
608     NDR_NTPRINTING NDR_FSRVP NDR_WITNESS NDR_MDSSVC NDR_OPEN_FILES NDR_SMBXSRV
609     NDR_KRB5CCACHE''',
610     private_library=True,
611     grouping_library=True
612     )
613
614 # a grouping library for RPC_NDR subsystems that may be used by more than one target
615 bld.SAMBA_LIBRARY('dcerpc-samba',
616     source='',
617     deps='''RPC_NDR_LSA RPC_NDR_SAMR RPC_NDR_NETLOGON RPC_NDR_EVENTLOG
618     RPC_NDR_DFS RPC_NDR_NTSVCS RPC_NDR_SVCCTL RPC_NDR_INITSHUTDOWN
619     RPC_NDR_WKSSVC RPC_NDR_SRVSVC RPC_NDR_WINREG RPC_NDR_ECHO RPC_NDR_EPMAPPER
620     RPC_NDR_ATSVC RPC_NDR_SPOOLSS RPC_NDR_DNSSERVER''',
621     public_deps='ndr-standard',
622     private_library=True,
623     grouping_library=True
624     )
625
626 bld.SAMBA_SUBSYSTEM('NDR_MISC',
627                     source='',
628                     deps='ndr')
629
630 bld.SAMBA_LIBRARY('ndr',
631     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',
632     pc_files='ndr.pc',
633     public_deps='samba-errors talloc samba-util util_str_hex',
634     public_headers='gen_ndr/misc.h gen_ndr/ndr_misc.h ndr/libndr.h:ndr.h',
635     header_path= [('*gen_ndr*', 'gen_ndr')],
636     vnum='3.0.1',
637     abi_directory='ABI',
638     abi_match='!ndr_table_* ndr_* GUID_* _ndr_pull_error* _ndr_push_error*',
639     )
640
641 bld.SAMBA_LIBRARY('dcerpc-binding',
642     source='''
643     rpc/dcerpc_error.c
644     rpc/binding.c
645     rpc/dcerpc_util.c
646     rpc/binding_handle.c
647     ''',
648     deps='ndr tevent NDR_DCERPC LIBTSOCKET tevent-util',
649     pc_files=[],
650     public_headers='rpc/rpc_common.h',
651     vnum='0.0.1')
652
653 bld.SAMBA_LIBRARY('dcerpc-pkt-auth',
654                   private_library=True,
655                   source='''
656                    rpc/dcerpc_pkt_auth.c
657                    ''',
658                   deps='dcerpc-binding gensec')
659
660 bld.SAMBA_SUBSYSTEM('DCERPC_SERVER_NETLOGON',
661                     source='''
662                            rpc/server/netlogon/schannel_util.c
663                            ''',
664                     deps='''
665                          talloc
666                          util_str_escape
667                          samba-hostconfig
668                          NDR_NETLOGON
669                          dcerpc-server-core
670                          ''')
671
672 bld.SAMBA_LIBRARY('dcerpc-server-core',
673     source='''
674            rpc/dcesrv_core.c
675            rpc/dcesrv_auth.c
676            rpc/dcesrv_mgmt.c
677            rpc/dcesrv_reply.c
678            rpc/dcesrv_handles.c
679            ''',
680     deps='''
681     ndr
682     dcerpc-binding
683     samba-util-core
684     gnutls
685     GNUTLS_HELPERS
686     dcerpc-pkt-auth
687     ''',
688     pc_files=[],
689     public_headers='rpc/dcesrv_core.h',
690     autoproto='rpc/dcesrv_core_proto.h',
691     vnum='0.0.1')
692
693 bld.SAMBA_SUBSYSTEM('DCERPC_HELPER',
694                     source='rpc/dcerpc_helper.c',
695                     public_deps='''
696                                 samba-hostconfig
697                                 samba-security
698                                 gnutls
699                                 GNUTLS_HELPERS
700                                 ''')
701
702 bld.SAMBA_SUBSYSTEM('NDR_WINBIND',
703         source='gen_ndr/ndr_winbind.c',
704         public_deps='ndr NDR_LSA'
705         )
706
707 bld.SAMBA_SUBSYSTEM('RPC_NDR_WINBIND',
708         source='gen_ndr/ndr_winbind_c.c',
709         public_deps='dcerpc NDR_WINBIND'
710         )
711
712 bld.SAMBA_SUBSYSTEM('NDR_FSRVP_STATE',
713     source='gen_ndr/ndr_fsrvp_state.c',
714     public_deps='ndr'
715     )
716 #
717 # Cmocka tests
718 #
719
720 bld.SAMBA_BINARY('test_ndr_macros',
721                  source='tests/test_ndr_macros.c',
722                  deps='''
723                       cmocka
724                       ndr
725                       ''',
726                  for_selftest=True)
727
728 bld.SAMBA_BINARY('test_ndr_string',
729                  source='tests/test_ndr_string.c',
730                  deps='''
731                       cmocka
732                       talloc
733                       ndr
734                       ''',
735                  for_selftest=True)
736
737 bld.SAMBA_BINARY('test_ndr',
738                  source='tests/test_ndr.c',
739                  deps='''
740                       cmocka
741                       ndr
742                       ''',
743                  for_selftest=True)
744
745 bld.SAMBA_BINARY('test_ndr_dns_nbt',
746                  source='tests/test_ndr_dns_nbt.c',
747                  deps='''
748                       cmocka
749                       ndr
750                       ndr_nbt
751                       ''',
752                  for_selftest=True)