3 bld
.RECURSE('../../librpc/idl')
4 bld
.RECURSE('../../librpc/tools')
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',
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',
33 bld
.SAMBA_SUBSYSTEM('NDR_NTP_SIGND',
34 source
='gen_ndr/ndr_ntp_signd.c',
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',
48 deps
='NDR_WINBIND NDR_IRPC NDR_NFS4ACL NDR_OPENDB ndr-table',
53 # a grouping library for RPC_NDR subsystems that may be used by more than one target
54 bld
.SAMBA_LIBRARY('dcerpc-samba4',
56 deps
='RPC_NDR_WINBIND',
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',
133 depends_on
='GEN_NDR_TABLES'
137 bld
.SAMBA_SUBSYSTEM('RPC_NDR_IRPC',
138 source
='gen_ndr/ndr_irpc_c.c',
139 public_deps
='dcerpc NDR_IRPC'
142 bld
.SAMBA_LIBRARY('dcerpc-samr',
144 pc_files
='dcerpc_samr.pc',
146 public_deps
='dcerpc ndr-standard RPC_NDR_SAMR',
147 public_headers
='../../librpc/gen_ndr/ndr_samr_c.h',
148 header_path
='gen_ndr'
152 bld
.SAMBA_LIBRARY('dcerpc',
153 source
='''rpc/dcerpc.c rpc/dcerpc_auth.c rpc/dcerpc_schannel.c
154 rpc/dcerpc_util.c rpc/dcerpc_smb.c rpc/dcerpc_sock.c
155 rpc/dcerpc_roh_channel_in.c rpc/dcerpc_roh_channel_out.c rpc/dcerpc_roh.c
156 rpc/dcerpc_connect.c rpc/dcerpc_secondary.c''',
157 pc_files
='dcerpc.pc',
178 autoproto
='rpc/dcerpc_proto.h',
179 public_deps
='samba-credentials tevent talloc',
180 public_headers
='''rpc/dcerpc.h''',
181 # It's very important to keep this form of construction
182 # it force the sambawaf extension to put everything that match the first element
183 # (*gen_ndr*) into the dir named by the second element (gen_ndr).
184 # If we just put header_path = 'gen_ndr' then all the public_headers will go
185 # in 'gen_ndr' and for dcerpc.h (at least) it will cause a problem as
186 # we have already a dcerpc.h installed by librpc/wscript_build
187 # and one will overwrite the other which is not what we expect.
188 header_path
=[ ('*gen_ndr*', 'gen_ndr') ],
193 if bld
.CONFIG_SET('HAVE_WNO_UNUSED_FUNCTION'):
194 gen_cflags
= '-Wno-unused-function'
196 pyrpc_util
= bld
.pyembed_libname('pyrpc_util')
197 pytalloc_util
= bld
.pyembed_libname('pytalloc-util')
198 pyparam_util
= bld
.pyembed_libname('pyparam_util')
200 bld
.SAMBA_SUBSYSTEM(pyrpc_util
,
201 source
='rpc/pyrpc_util.c',
202 public_deps
='%s %s dcerpc MESSAGING' % (pytalloc_util
, pyparam_util
),
204 enabled
=bld
.PYTHON_BUILD_IS_ENABLED(),
207 bld
.SAMBA_PYTHON('python_dcerpc',
208 source
='rpc/pyrpc.c',
209 public_deps
='LIBCLI_SMB samba-util samba-hostconfig dcerpc-samr RPC_NDR_LSA DYNCONFIG %s gensec' % pyrpc_util
,
210 realname
='samba/dcerpc/base.so',
211 cflags_end
=gen_cflags
214 bld
.SAMBA_PYTHON('python_dcerpc_misc',
215 source
='../../librpc/gen_ndr/py_misc.c',
216 deps
='%s %s ndr-krb5pac' % (pytalloc_util
, pyrpc_util
),
217 realname
='samba/dcerpc/misc.so',
218 cflags_end
=gen_cflags
221 bld
.SAMBA_PYTHON('python_auth',
222 source
='../../librpc/gen_ndr/py_auth.c',
223 deps
='NDR_AUTH %s %s' % (pytalloc_util
, pyrpc_util
),
224 realname
='samba/dcerpc/auth.so',
225 cflags_end
=gen_cflags
228 bld
.SAMBA_PYTHON('python_dcerpc_security',
229 source
='../../librpc/gen_ndr/py_security.c',
230 deps
='%s %s NDR_SECURITY' % (pytalloc_util
, pyrpc_util
),
231 realname
='samba/dcerpc/security.so',
232 cflags_end
=gen_cflags
235 bld
.SAMBA_PYTHON('python_conditional_ace',
236 source
=('../../librpc/gen_ndr/py_conditional_ace.c '
237 '../../librpc/gen_ndr/ndr_conditional_ace.c'),
238 deps
='%s %s' % (pytalloc_util
, pyrpc_util
),
239 realname
='samba/dcerpc/conditional_ace.so',
240 cflags_end
=gen_cflags
243 bld
.SAMBA_PYTHON('python_lsa',
244 source
='../../librpc/gen_ndr/py_lsa.c',
245 deps
='RPC_NDR_LSA %s %s' % (pytalloc_util
, pyrpc_util
),
246 realname
='samba/dcerpc/lsa.so',
247 cflags_end
=gen_cflags
250 bld
.SAMBA_PYTHON('python_krb5pac',
251 source
='../../librpc/gen_ndr/py_krb5pac.c',
252 deps
='ndr-krb5pac %s %s' % (pytalloc_util
, pyrpc_util
),
253 realname
='samba/dcerpc/krb5pac.so',
254 cflags_end
=gen_cflags
257 bld
.SAMBA_PYTHON('python_krb5ccache',
258 source
='../../librpc/gen_ndr/py_krb5ccache.c',
259 deps
='NDR_KRB5CCACHE %s %s' % (pytalloc_util
, pyrpc_util
),
260 realname
='samba/dcerpc/krb5ccache.so',
261 cflags_end
=gen_cflags
264 bld
.SAMBA_PYTHON('python_claims',
265 source
='../../librpc/gen_ndr/py_claims.c',
266 deps
='NDR_CLAIMS %s %s' % (pytalloc_util
, pyrpc_util
),
267 realname
='samba/dcerpc/claims.so',
268 cflags_end
=gen_cflags
271 bld
.SAMBA_PYTHON('python_gkdi',
272 source
='../../librpc/gen_ndr/py_gkdi.c',
273 deps
='RPC_NDR_GKDI %s %s' % (pytalloc_util
, pyrpc_util
),
274 realname
='samba/dcerpc/gkdi.so',
275 cflags_end
=gen_cflags
278 bld
.SAMBA_PYTHON('python_gmsa',
279 source
='../../librpc/gen_ndr/py_gmsa.c',
280 deps
='NDR_GMSA %s %s' % (pytalloc_util
, pyrpc_util
),
281 realname
='samba/dcerpc/gmsa.so',
282 cflags_end
=gen_cflags
285 bld
.SAMBA_PYTHON('python_schannel',
286 source
='../../librpc/gen_ndr/py_schannel.c',
287 deps
='NDR_SCHANNEL %s %s' % (pytalloc_util
, pyrpc_util
),
288 realname
='samba/dcerpc/schannel.so',
289 cflags_end
=gen_cflags
292 bld
.SAMBA_PYTHON('python_netlogon',
293 source
='../../librpc/gen_ndr/py_netlogon.c',
294 deps
='RPC_NDR_NETLOGON %s %s' % (pytalloc_util
, pyrpc_util
),
295 realname
='samba/dcerpc/netlogon.so',
296 cflags_end
=gen_cflags
299 bld
.SAMBA_PYTHON('python_samr',
300 source
='../../librpc/gen_ndr/py_samr.c',
301 deps
='dcerpc-samr %s %s' % (pytalloc_util
, pyrpc_util
),
302 realname
='samba/dcerpc/samr.so',
303 cflags_end
=gen_cflags
306 bld
.SAMBA_PYTHON('python_spoolss',
307 source
='../../librpc/gen_ndr/py_spoolss.c',
308 deps
='RPC_NDR_SPOOLSS %s %s' % (pytalloc_util
, pyrpc_util
),
309 realname
='samba/dcerpc/spoolss.so'
312 bld
.SAMBA_PYTHON('python_winspool',
313 source
='../../librpc/gen_ndr/py_winspool.c',
314 deps
='RPC_NDR_WINSPOOL %s %s' % (pytalloc_util
, pyrpc_util
),
315 realname
='samba/dcerpc/winspool.so'
318 bld
.SAMBA_PYTHON('python_witness',
319 source
='../../librpc/gen_ndr/py_witness.c',
320 deps
='RPC_NDR_WITNESS %s %s' % (pytalloc_util
, pyrpc_util
),
321 realname
='samba/dcerpc/witness.so'
324 bld
.SAMBA_PYTHON('python_dcerpc_nbt',
325 source
='../../librpc/gen_ndr/py_nbt.c',
326 deps
='ndr_nbt %s %s' % (pytalloc_util
, pyrpc_util
),
327 realname
='samba/dcerpc/nbt.so',
328 cflags_end
=gen_cflags
331 bld
.SAMBA_PYTHON('python_dcerpc_drsblobs',
332 source
='../../librpc/gen_ndr/py_drsblobs.c',
333 deps
='%s %s NDR_SECURITY NDR_DRSBLOBS' % (pytalloc_util
, pyrpc_util
),
334 realname
='samba/dcerpc/drsblobs.so',
335 cflags_end
=gen_cflags
338 bld
.SAMBA_PYTHON('python_dcerpc_ntlmssp',
339 source
='../../librpc/gen_ndr/py_ntlmssp.c',
340 deps
='%s %s NDR_NTLMSSP' % (pytalloc_util
, pyrpc_util
),
341 realname
='samba/dcerpc/ntlmssp.so',
342 cflags_end
=gen_cflags
345 bld
.SAMBA_PYTHON('python_srvsvc',
346 source
='../../librpc/gen_ndr/py_srvsvc.c',
347 deps
='RPC_NDR_SRVSVC %s %s' % (pytalloc_util
, pyrpc_util
),
348 realname
='samba/dcerpc/srvsvc.so',
349 cflags_end
=gen_cflags
352 bld
.SAMBA_PYTHON('python_echo',
353 source
='../../librpc/gen_ndr/py_echo.c',
354 deps
='RPC_NDR_ECHO %s %s' % (pytalloc_util
, pyrpc_util
),
355 realname
='samba/dcerpc/echo.so',
356 cflags_end
=gen_cflags
359 bld
.SAMBA_PYTHON('python_dns',
360 source
='../../librpc/gen_ndr/py_dns.c',
361 deps
='NDR_DNS %s %s' % (pytalloc_util
, pyrpc_util
),
362 realname
='samba/dcerpc/dns.so',
363 cflags_end
=gen_cflags
366 bld
.SAMBA_PYTHON('python_winreg',
367 source
='../../librpc/gen_ndr/py_winreg.c',
368 deps
='RPC_NDR_WINREG %s %s' % (pytalloc_util
, pyrpc_util
),
369 realname
='samba/dcerpc/winreg.so',
370 cflags_end
=gen_cflags
373 bld
.SAMBA_PYTHON('python_preg',
374 source
='../../librpc/gen_ndr/py_preg.c',
375 deps
='NDR_PREG %s %s' % (pytalloc_util
, pyrpc_util
),
376 realname
='samba/dcerpc/preg.so',
377 cflags_end
=gen_cflags
380 bld
.SAMBA_PYTHON('python_initshutdown',
381 source
='../../librpc/gen_ndr/py_initshutdown.c',
382 deps
='RPC_NDR_INITSHUTDOWN %s %s' % (pytalloc_util
, pyrpc_util
),
383 realname
='samba/dcerpc/initshutdown.so',
384 cflags_end
=gen_cflags
388 bld
.SAMBA_PYTHON('python_epmapper',
389 source
='../../librpc/gen_ndr/py_epmapper.c',
390 deps
='dcerpc %s %s' % (pytalloc_util
, pyrpc_util
),
391 realname
='samba/dcerpc/epmapper.so',
392 cflags_end
=gen_cflags
396 bld
.SAMBA_PYTHON('python_mgmt',
397 source
='../../librpc/gen_ndr/py_mgmt.c',
398 deps
='dcerpc %s %s' % (pytalloc_util
, pyrpc_util
),
399 realname
='samba/dcerpc/mgmt.so',
400 cflags_end
=gen_cflags
404 bld
.SAMBA_PYTHON('python_atsvc',
405 source
='../../librpc/gen_ndr/py_atsvc.c',
406 deps
='RPC_NDR_ATSVC %s %s' % (pytalloc_util
, pyrpc_util
),
407 realname
='samba/dcerpc/atsvc.so',
408 cflags_end
=gen_cflags
412 bld
.SAMBA_PYTHON('python_svcctl',
413 source
='../../librpc/gen_ndr/py_svcctl.c',
414 deps
='RPC_NDR_SVCCTL %s %s' % (pytalloc_util
, pyrpc_util
),
415 realname
='samba/dcerpc/svcctl.so',
416 cflags_end
=gen_cflags
420 bld
.SAMBA_PYTHON('python_wkssvc',
421 source
='../../librpc/gen_ndr/py_wkssvc.c',
422 deps
='RPC_NDR_WKSSVC %s %s' % (pytalloc_util
, pyrpc_util
),
423 realname
='samba/dcerpc/wkssvc.so',
424 cflags_end
=gen_cflags
428 bld
.SAMBA_PYTHON('python_dfs',
429 source
='../../librpc/gen_ndr/py_dfs.c',
430 deps
='RPC_NDR_DFS %s %s' % (pytalloc_util
, pyrpc_util
),
431 realname
='samba/dcerpc/dfs.so',
432 cflags_end
=gen_cflags
435 bld
.SAMBA_PYTHON('python_dcerpc_dcerpc',
436 source
='../../librpc/gen_ndr/py_dcerpc.c',
437 deps
='NDR_DCERPC %s %s' % (pytalloc_util
, pyrpc_util
),
438 realname
='samba/dcerpc/dcerpc.so',
439 cflags_end
=gen_cflags
442 bld
.SAMBA_PYTHON('python_unixinfo',
443 source
='../../librpc/gen_ndr/py_unixinfo.c',
444 deps
='RPC_NDR_UNIXINFO %s %s' % (pytalloc_util
, pyrpc_util
),
445 realname
='samba/dcerpc/unixinfo.so',
446 cflags_end
=gen_cflags
450 bld
.SAMBA_PYTHON('python_irpc',
451 source
='gen_ndr/py_irpc.c',
452 deps
='RPC_NDR_IRPC %s %s' % (pytalloc_util
, pyrpc_util
),
453 realname
='samba/dcerpc/irpc.so',
454 cflags_end
=gen_cflags
457 bld
.SAMBA_PYTHON('python_server_id',
458 source
='../../librpc/gen_ndr/py_server_id.c',
459 deps
='NDR_SERVER_ID %s %s' % (pytalloc_util
, pyrpc_util
),
460 realname
='samba/dcerpc/server_id.so',
461 cflags_end
=gen_cflags
464 python_netlogon
= 'python_netlogon'
465 bld
.SAMBA_PYTHON('python_winbind',
466 source
='../../librpc/gen_ndr/py_winbind.c',
467 deps
='RPC_NDR_WINBIND %s %s %s' % (pytalloc_util
, pyrpc_util
, python_netlogon
),
468 realname
='samba/dcerpc/winbind.so',
469 cflags_end
=gen_cflags
472 bld
.SAMBA_PYTHON('python_drsuapi',
473 source
='../../librpc/gen_ndr/py_drsuapi.c',
474 deps
='RPC_NDR_DRSUAPI %s %s' % (pytalloc_util
, pyrpc_util
),
475 realname
='samba/dcerpc/drsuapi.so',
476 cflags_end
=gen_cflags
479 bld
.SAMBA_PYTHON('python_dcerpc_dnsp',
480 source
='../../librpc/gen_ndr/py_dnsp.c',
481 deps
='%s %s NDR_SECURITY NDR_DNSP' % (pytalloc_util
, pyrpc_util
),
482 realname
='samba/dcerpc/dnsp.so',
483 cflags_end
=gen_cflags
487 bld
.SAMBA_PYTHON('python_dcerpc_xattr',
488 source
='../../librpc/gen_ndr/py_xattr.c',
489 deps
='%s %s NDR_XATTR' % (pytalloc_util
, pyrpc_util
),
490 realname
='samba/dcerpc/xattr.so',
491 cflags_end
=gen_cflags
494 bld
.SAMBA_PYTHON('python_dcerpc_smb3posix',
495 source
='../../librpc/gen_ndr/py_smb3posix.c',
496 deps
='%s %s NDR_SMB3POSIX' % (pytalloc_util
, pyrpc_util
),
497 realname
='samba/dcerpc/smb3posix.so',
498 cflags_end
=gen_cflags
501 bld
.SAMBA_PYTHON('python_dcerpc_idmap',
502 source
='../../librpc/gen_ndr/py_idmap.c',
503 deps
='%s %s NDR_IDMAP' % (pytalloc_util
, pyrpc_util
),
504 realname
='samba/dcerpc/idmap.so',
505 cflags_end
=gen_cflags
508 bld
.SAMBA_PYTHON('python_dnsserver',
509 source
='../../librpc/gen_ndr/py_dnsserver.c',
510 deps
='RPC_NDR_DNSSERVER %s %s' % (pytalloc_util
, pyrpc_util
),
511 realname
='samba/dcerpc/dnsserver.so',
512 cflags_end
=gen_cflags
515 bld
.SAMBA_PYTHON('python_dcerpc_smb_acl',
516 source
='../../librpc/gen_ndr/py_smb_acl.c',
517 deps
='%s %s' % (pytalloc_util
, pyrpc_util
),
518 realname
='samba/dcerpc/smb_acl.so',
519 cflags_end
=gen_cflags
522 bld
.SAMBA_PYTHON('dcerpc_python_messaging',
523 source
='../../librpc/gen_ndr/py_messaging.c',
524 deps
='%s %s' % (pytalloc_util
, pyrpc_util
),
525 realname
='samba/dcerpc/messaging.so',
526 cflags_end
=gen_cflags
529 bld
.SAMBA_PYTHON('dcerpc_windows_event_ids',
530 source
='../../librpc/gen_ndr/py_windows_event_ids.c',
531 deps
='%s %s' % (pytalloc_util
, pyrpc_util
),
532 realname
='samba/dcerpc/windows_event_ids.so',
533 cflags_end
=gen_cflags
536 bld
.SAMBA_PYTHON('python_mdssvc',
537 source
='../../librpc/gen_ndr/py_mdssvc.c',
538 deps
='RPC_NDR_MDSSVC %s %s' % (pytalloc_util
, pyrpc_util
),
539 realname
='samba/dcerpc/mdssvc.so',
540 cflags_end
=gen_cflags
543 bld
.SAMBA_SUBSYSTEM('RPC_NDR_SMBXSRV',
544 source
='../../source3/librpc/gen_ndr/ndr_smbXsrv_c.c',
545 public_deps
='dcerpc-binding NDR_SMBXSRV'
548 bld
.SAMBA_PYTHON('python_smbXsrv',
549 source
='../../source3/librpc/gen_ndr/py_smbXsrv.c',
550 deps
='RPC_NDR_SMBXSRV %s %s' % (pytalloc_util
, pyrpc_util
),
551 realname
='samba/dcerpc/smbXsrv.so',
552 cflags_end
=gen_cflags
555 if bld
.PYTHON_BUILD_IS_ENABLED():
556 bld
.SAMBA_SCRIPT('python_dcerpc_init',
557 pattern
='rpc/dcerpc.py',
558 installdir
='python/samba/dcerpc',
559 installname
='__init__.py')
561 bld
.INSTALL_FILES('${PYTHONARCHDIR}/samba/dcerpc', 'rpc/dcerpc.py', destname
='__init__.py')