s3:libsmb: move domain\\username magic to cli_session_creds_init()
[Samba.git] / source3 / wscript_build
blob22e1a6297c10b40e45bd97d860dc6bc9f120b885
1 #!/usr/bin/env python
3 from samba_utils import *
4 import samba_version, samba3
6 LIBS='ICONV'
8 config_h = "../include/config.h"
10 bld.SAMBA_BLDOPTIONS('smbd/build_options.c')
12 t = bld.SAMBA_GENERATOR('build_env.h',
13 source='script/build_env.sh',
14 target='include/build_env.h',
15 rule='${SRC} ${SRCDIR} ${BUILDDIR} ${CC} > ${TGT}')
16 # todo: work out what is really wanted here
17 t.env.SRCDIR = bld.path.abspath()
18 t.env.BUILDDIR = bld.path.abspath()
20 bld.SETUP_BUILD_GROUPS()
22 ######################## SUBSYSTEMS #################################
24 bld.SAMBA3_LIBRARY('netapi',
25 source='''lib/netapi/netapi.c
26 lib/netapi/cm.c
27 lib/netapi/libnetapi.c
28 lib/netapi/joindomain.c
29 lib/netapi/serverinfo.c
30 lib/netapi/wkstainfo.c
31 lib/netapi/getdc.c
32 lib/netapi/user.c
33 lib/netapi/group.c
34 lib/netapi/localgroup.c
35 lib/netapi/samr.c
36 lib/netapi/sid.c
37 lib/netapi/share.c
38 lib/netapi/file.c
39 lib/netapi/shutdown.c
40 lib/netapi/netlogon.c''',
41 public_deps='''
42 talloc
43 util_cmdline
44 msrpc3
45 ads
46 NDR_LIBNETAPI
47 LIBNET
48 RPC_CLIENT_SCHANNEL
49 libcli_netlogon3
50 LIBCLI_SAMR
51 INIT_SAMR
52 auth
53 ''',
54 public_headers='../source3/lib/netapi/netapi.h',
55 pc_files='libnet/netapi.pc',
56 vnum='0')
58 bld.SAMBA3_LIBRARY('gse',
59 source='librpc/crypto/gse_krb5.c librpc/crypto/gse.c',
60 deps='krb5samba gensec param KRBCLIENT secrets3',
61 private_library=True)
63 bld.SAMBA3_LIBRARY('msrpc3',
64 source='''rpc_client/cli_pipe.c
65 rpc_client/rpc_transport_np.c
66 rpc_client/rpc_transport_sock.c
67 rpc_client/rpc_transport_tstream.c
68 librpc/rpc/dcerpc_helpers.c''',
69 deps='''ndr ndr-standard
70 RPC_NDR_EPMAPPER NTLMSSP_COMMON COMMON_SCHANNEL LIBCLI_AUTH
71 LIBTSOCKET gse dcerpc-binding
72 libsmb ndr-table NETLOGON_CREDS_CLI
73 ''',
74 private_library=True)
76 bld.SAMBA3_LIBRARY('gpo',
77 source='''../libgpo/gpo_ldap.c
78 ../libgpo/gpo_ini.c
79 ../libgpo/gpo_util.c
80 ../libgpo/gpo_fetch.c
81 libgpo/gpo_filesync.c
82 ../libgpo/gpo_sec.c
83 libgpo/gpo_reg.c''',
84 deps='talloc ads TOKEN_UTIL gpext auth',
85 private_library=True)
87 bld.SAMBA3_SUBSYSTEM('AVAHI',
88 source='lib/avahi.c smbd/avahi_register.c',
89 deps='avahi-common avahi-client',
90 enabled=bld.env.with_avahi)
92 bld.SAMBA3_SUBSYSTEM('GROUPDB',
93 source='groupdb/mapping.c groupdb/mapping_tdb.c',
94 deps='tdb')
96 bld.SAMBA3_SUBSYSTEM('TLDAP',
97 source='''lib/tldap.c
98 lib/tldap_util.c
99 lib/tldap_gensec_bind.c
100 ''',
101 deps='asn1util LIBTSOCKET samba3util')
103 # libpdb.so should not expose internal symbols that are only usable
104 # to the statically linked modules that are merged into libpdb.
105 # Note that we always filter these symbols out in libpdb, even
106 # when modules are not linked statically. In the latter case
107 # symbols will not be present in the libpdb anyway so no hurt is
108 # done to the version script.
109 private_pdb_match = []
110 private_pdb_match.append('!idmap_init')
111 private_pdb_match.append('!idmap_sids_to_xids')
112 private_pdb_match.append('!idmap_xids_to_sids')
114 ldapsam_pdb_match = ['!priv2ld', '!smbldap_search_domain_info',
115 '!ldapsam_*', '!groupmap_attr_list*', '!get_userattr_list',
116 '!dominfo_attr_list', '!get_attr_key2string',
117 '!sidmap_attr_list', '!attrib_map_*', '!idpool_attr_list',
118 '!get_attr_list']
119 private_pdb_match.append('!pdb_nds_*')
120 private_pdb_match.append('!pdb_ldapsam_init*')
121 private_pdb_match.append('!pdb_*_init')
122 private_pdb_match = private_pdb_match + ldapsam_pdb_match
124 bld.SAMBA3_LIBRARY('samba-passdb',
125 source='',
126 deps='pdb',
127 private_library=False,
128 grouping_library=True,
129 pc_files=[],
130 public_headers_install=True,
131 public_headers='''
132 include/passdb.h
133 passdb/machine_sid.h
134 passdb/lookup_sid.h''',
135 abi_match=private_pdb_match,
136 abi_directory='passdb/ABI',
137 vnum='0.25.0')
139 bld.SAMBA3_SUBSYSTEM('pdb',
140 source='''passdb/pdb_get_set.c
141 passdb/passdb.c
142 lib/util_wellknown.c
143 lib/util_builtin.c
144 passdb/pdb_compat.c
145 lib/util_sid_passdb.c
146 lib/util_unixsids.c
147 passdb/lookup_sid.c
148 passdb/login_cache.c
149 passdb/account_pol.c
150 lib/privileges.c
151 lib/util_nscd.c
152 lib/winbind_util.c
153 passdb/pdb_util.c
154 passdb/pdb_interface.c
155 passdb/pdb_secrets.c
156 passdb/pdb_unixid.c''',
157 deps='secrets3 GROUPDB SERVER_MUTEX wbclient LIBCLI_AUTH flag_mapping samba-credentials')
159 bld.SAMBA3_LIBRARY('smbldaphelper',
160 source='passdb/pdb_ldap_schema.c passdb/pdb_ldap_util.c',
161 deps='smbldap secrets3',
162 allow_undefined_symbols=True,
163 enabled=bld.CONFIG_SET('HAVE_LDAP'),
164 private_library=True)
166 bld.SAMBA3_SUBSYSTEM('SERVER_MUTEX',
167 source='lib/server_mutex.c',
168 deps='talloc')
170 bld.SAMBA3_SUBSYSTEM('param',
171 source='''param/loadparm.c
172 lib/sharesec.c
173 lib/ldap_debug_handler.c
174 lib/util_names.c''',
175 deps='''samba-util
176 PARAM_UTIL
177 ldap
178 lber
179 LOADPARM_CTX
180 samba3core
181 smbconf
182 param_local.h
183 param_global.h
184 cups''')
186 # this includes only the low level parse code, not stuff
187 # that requires knowledge of security contexts
188 bld.SAMBA3_SUBSYSTEM('REG_PARSE_PRS',
189 source='registry/reg_parse_prs.c')
191 bld.SAMBA3_SUBSYSTEM('REGFIO',
192 source='registry/regfio.c',
193 deps='samba-util REG_PARSE_PRS')
195 bld.SAMBA3_SUBSYSTEM('REG_API_REGF',
196 source='registry/reg_api_regf.c',
197 deps='samba-util')
199 bld.SAMBA3_LIBRARY('smbregistry',
200 source='''registry/reg_api.c
201 registry/reg_dispatcher.c
202 registry/reg_cachehook.c
203 registry/reg_objects.c
204 registry/reg_util_internal.c
205 lib/util_nttoken.c
206 registry/reg_backend_db.c
207 registry/reg_parse_internal.c
208 lib/cbuf.c
209 lib/srprs.c
210 registry/reg_init_basic.c''',
211 deps='''
212 smbd_shim
213 tdb-wrap3
214 NDR_SECURITY
215 util_tdb
216 talloc
217 replace
218 util_reg
219 samba-util
220 samba-security
221 errors3
222 dbwrap
223 samba3-util
224 ''',
225 allow_undefined_symbols=True,
226 private_library=True)
228 bld.SAMBA3_SUBSYSTEM('REG_SMBCONF',
229 source='''registry/reg_backend_smbconf.c
230 registry/reg_init_smbconf.c
231 registry/reg_util_token.c
232 registry/reg_api_util.c''',
233 deps='smbregistry')
235 bld.SAMBA3_SUBSYSTEM('REG_FULL',
236 source='''registry/reg_backend_printing.c
237 registry/reg_backend_shares.c
238 registry/reg_backend_netlogon_params.c
239 registry/reg_backend_prod_options.c
240 registry/reg_backend_tcpip_params.c
241 registry/reg_backend_hkpt_params.c
242 registry/reg_backend_current_version.c
243 registry/reg_backend_perflib.c
244 registry/reg_init_full.c
245 registry/reg_perfcount.c''',
246 deps='REG_SMBCONF tdb-wrap3')
248 bld.SAMBA3_LIBRARY('popt_samba3',
249 source='lib/popt_common.c',
250 deps='popt samba-util util_cmdline',
251 private_library=True)
253 bld.SAMBA3_LIBRARY('util_cmdline',
254 source='lib/util_cmdline.c',
255 deps='secrets3',
256 private_library=True)
258 bld.SAMBA3_SUBSYSTEM('KRBCLIENT',
259 source='libads/kerberos.c libads/ads_status.c',
260 public_deps='krb5samba asn1util k5crypto gssapi LIBTSOCKET CLDAP LIBNMB')
262 bld.SAMBA3_SUBSYSTEM('samba3util',
263 source='''lib/system.c
264 lib/sendfile.c
265 lib/recvfile.c
266 lib/time.c
267 lib/util_sid.c
268 lib/util_specialsids.c
269 lib/util_file.c
270 lib/util.c
271 lib/util_path.c
272 lib/util_procid.c
273 lib/util_sock.c
274 lib/util_tsock.c
275 lib/util_transfer_file.c
276 lib/sys_popen.c
277 lib/sock_exec.c''',
278 deps='ndr LIBTSOCKET samba-security NDR_SECURITY samba-util util_tdb sys_rw iov_buf')
280 if bld.env.with_ctdb:
281 SAMBA_CLUSTER_SUPPORT_SOURCES='''
282 lib/cluster_support.c
283 lib/dbwrap/dbwrap_ctdb.c
284 lib/messages_ctdbd.c
285 lib/ctdbd_conn.c
287 SAMBA_CLUSTER_SUPPORT_DEPS='''
288 talloc
289 tevent
292 else:
293 SAMBA_CLUSTER_SUPPORT_SOURCES='''
294 lib/cluster_support.c
295 lib/ctdb_dummy.c
297 SAMBA_CLUSTER_SUPPORT_DEPS='''
298 talloc
299 tevent
302 bld.SAMBA3_LIBRARY('samba-cluster-support',
303 source=SAMBA_CLUSTER_SUPPORT_SOURCES,
304 deps=SAMBA_CLUSTER_SUPPORT_DEPS,
305 allow_undefined_symbols=True,
306 private_library=True)
308 bld.SAMBA3_SUBSYSTEM('TDB_LIB',
309 source='''lib/dbwrap/dbwrap_open.c
310 lib/dbwrap/dbwrap_watch.c
311 lib/g_lock.c''',
312 deps='dbwrap samba-cluster-support')
314 bld.SAMBA3_LIBRARY('messages_dgm',
315 source='''lib/messages_dgm.c lib/messages_dgm_ref.c''',
316 deps='''talloc samba-debug PTHREADPOOL msghdr genrand''',
317 private_library=True)
319 bld.SAMBA3_LIBRARY('messages_util',
320 source='''lib/messages_util.c''',
321 deps='samba-util',
322 private_library=True)
324 bld.SAMBA3_SUBSYSTEM('samba3core',
325 source='''lib/messages.c
326 lib/util_cluster.c
327 lib/id_cache.c
328 lib/talloc_dict.c
329 lib/serverid.c
330 lib/server_id_watch.c
331 lib/server_id_db_util.c
332 lib/addrchange.c
333 ../lib/util/debug_s3.c
334 lib/dumpcore.c
335 lib/interface.c
336 lib/username.c
337 lib/access.c lib/smbrun.c
338 lib/wins_srv.c
339 lib/substitute.c
340 lib/substitute_generic.c
341 lib/ms_fnmatch.c
342 lib/tallocmsg.c
343 lib/dmallocmsg.c
344 intl/lang_tdb.c
345 lib/gencache.c
346 lib/util_event.c
347 lib/server_contexts.c
348 lib/server_prefork.c
349 lib/server_prefork_util.c
350 lib/ldap_escape.c
351 lib/fncall.c
352 libads/krb5_errs.c
353 lib/system_smbd.c
354 lib/audit.c
355 lib/tevent_wait.c
356 lib/idmap_cache.c
357 lib/util_ea.c
358 lib/background.c
359 lib/cleanupdb.c''',
360 deps='''
361 samba3util
362 LIBTSOCKET
363 NDR_MESSAGING
364 LIBASYNC_REQ
365 UTIL_PW
366 SAMBA_VERSION
367 PTHREADPOOL
368 interfaces
369 param
370 dbwrap
371 samba3-util
372 errors3
373 server_id_db
374 messages_util
375 messages_dgm
376 talloc_report
377 TDB_LIB''')
379 bld.SAMBA3_LIBRARY('smbd_shim',
380 source='''lib/smbd_shim.c''',
381 deps='talloc',
382 private_library=True)
384 bld.SAMBA3_SUBSYSTEM('auth_generic',
385 source='libsmb/auth_generic.c',
386 deps='gse gensec')
388 bld.SAMBA3_LIBRARY('libsmb',
389 source='''libsmb/clientgen.c
390 libsmb/cliconnect.c
391 libsmb/clifile.c
392 libsmb/clispnego.c
393 libsmb/clirap.c
394 libsmb/clierror.c
395 libsmb/climessage.c
396 libsmb/clireadwrite.c
397 libsmb/clilist.c
398 libsmb/cliprint.c
399 libsmb/clitrans.c
400 libsmb/clisecdesc.c
401 libsmb/clidgram.c
402 libsmb/clistr.c
403 libsmb/cliquota.c
404 libsmb/clifsinfo.c
405 libsmb/clidfs.c
406 libsmb/clioplock.c
407 libsmb/clirap2.c
408 libsmb/async_smb.c
409 libsmb/reparse_symlink.c
410 libsmb/clisymlink.c
411 libsmb/smbsock_connect.c
412 libsmb/cli_smb2_fnum.c''',
413 deps='''
414 auth_generic
415 CLDAP
416 LIBNMB
417 SPNEGO_PARSE
418 LIBTSOCKET
419 KRBCLIENT
420 NDR_IOCTL
421 cli_smb_common
422 util_cmdline
423 tevent''',
424 private_library=True)
426 bld.SAMBA3_SUBSYSTEM('CLDAP',
427 source='libads/cldap.c',
428 deps='cli-ldap-common cli_cldap LIBTSOCKET')
430 # NOTE: The secrets3 library is a low level library used by several subsystems.
431 # PLEASE DO NOT make it depend on high level libraries like PDB, if you are
432 # doing that your design is wrong and needs changing. -SSS
433 bld.SAMBA3_LIBRARY('secrets3',
434 source='''passdb/secrets.c
435 passdb/machine_account_secrets.c
436 passdb/machine_sid.c
437 passdb/secrets_lsa.c''',
438 deps='NDR_SECRETS param samba3util dbwrap',
439 private_library=True)
441 bld.SAMBA3_LIBRARY('smbldap',
442 source='lib/smbldap.c',
443 deps='ldap lber samba-util param',
444 enabled=bld.CONFIG_SET("HAVE_LDAP"),
445 private_library=False,
446 abi_directory='lib/ABI',
447 abi_match='smbldap_*',
448 pc_files=[],
449 vnum='0',
450 public_headers='include/smbldap.h include/smb_ldap.h')
452 bld.SAMBA3_LIBRARY('ads',
453 source='''libads/ldap.c
454 libads/sasl.c
455 libads/sasl_wrapping.c
456 libads/krb5_setpw.c
457 libads/kerberos_util.c
458 libads/ldap_user.c
459 libads/ads_struct.c
460 libads/kerberos_keytab.c
461 libads/disp_sec.c
462 libads/ldap_utils.c
463 libads/ldap_schema.c
464 libads/util.c
465 libads/ndr.c''',
466 deps='cli-ldap-common krb5samba ldap lber KRBCLIENT param LIBNMB libsmb DCUTIL smbldap',
467 private_library=True)
469 bld.SAMBA3_SUBSYSTEM('LIBADS_SERVER',
470 source='libads/authdata.c',
471 deps='SERVER_MUTEX ndr-krb5pac krb5samba gssapi')
473 bld.SAMBA3_SUBSYSTEM('LIBADS_PRINTER',
474 source='libads/ldap_printer.c',
475 deps='samba-util krb5samba')
477 bld.SAMBA3_LIBRARY('smbconf',
478 source='''lib/smbconf/smbconf_init.c
479 lib/smbconf/smbconf_reg.c''',
480 deps='''
481 CHARSET3
482 LIBSMBCONF
483 REG_SMBCONF
484 SAMBA_VERSION
486 charset
487 cli_smb_common
488 errors3
489 param
490 samba-util
491 smbregistry
492 talloc
493 util_reg''',
494 public_headers='../lib/smbconf/smbconf.h',
495 pc_files=[],
496 vnum='0')
498 bld.SAMBA3_LIBRARY('smbd_conn',
499 source='smbd/conn.c',
500 deps='samba3-util samba-util',
501 private_library=True)
503 bld.SAMBA3_SUBSYSTEM('sysquotas',
504 source='''
505 lib/sysquotas.c
506 lib/sysquotas_linux.c
507 lib/sysquotas_xfs.c
508 lib/sysquotas_4A.c
509 lib/sysquotas_4B.c
510 lib/sysquotas_nfs.c
511 ''',
512 allow_warnings=True,
513 deps='samba3-util samba-util')
515 NOTIFY_SOURCES=''
516 NOTIFY_DEPS=''
518 if bld.CONFIG_SET("HAVE_INOTIFY"):
519 NOTIFY_SOURCES += ' smbd/notify_inotify.c'
521 if bld.CONFIG_SET('SAMBA_FAM_LIBS'):
522 NOTIFY_SOURCES += ' smbd/notify_fam.c'
523 NOTIFY_DEPS += ' ' + bld.CONFIG_GET('SAMBA_FAM_LIBS')
525 bld.SAMBA3_LIBRARY('smbd_base',
526 source='''
527 smbd/server_reload.c
528 smbd/files.c
529 smbd/connection.c
530 smbd/utmp.c
531 smbd/session.c
532 smbd/dfree.c
533 smbd/dir.c
534 smbd/password.c
535 smbd/conn_msg.c
536 smbd/conn_idle.c
537 smbd/share_access.c
538 smbd/fileio.c
539 smbd/ipc.c
540 smbd/lanman.c
541 smbd/negprot.c
542 smbd/message.c
543 smbd/nttrans.c
544 smbd/pipes.c
545 smbd/reply.c
546 smbd/sesssetup.c
547 smbd/trans2.c
548 smbd/uid.c
549 smbd/dosmode.c
550 smbd/filename.c
551 smbd/open.c
552 smbd/close.c
553 smbd/blocking.c
554 smbd/sec_ctx.c
555 smbd/srvstr.c
556 smbd/vfs.c
557 smbd/perfcount.c
558 smbd/statcache.c
559 smbd/seal.c
560 smbd/posix_acls.c
561 lib/sysacls.c
562 smbd/process.c
563 smbd/service.c
564 smbd/error.c
565 printing/printspoolss.c
566 lib/sessionid_tdb.c
567 lib/conn_tdb.c
568 smbd/fake_file.c
569 smbd/quotas.c
570 smbd/ntquotas.c
571 smbd/msdfs.c
572 smbd/aio.c smbd/statvfs.c
573 smbd/dmapi.c
574 smbd/signing.c
575 smbd/file_access.c
576 smbd/dnsregister.c smbd/globals.c
577 smbd/smb2_server.c
578 smbd/smb2_glue.c
579 smbd/smb2_negprot.c
580 smbd/smb2_sesssetup.c
581 smbd/smb2_tcon.c
582 smbd/smb2_create.c
583 smbd/smb2_close.c
584 smbd/smb2_flush.c
585 smbd/smb2_read.c
586 smbd/smb2_write.c
587 smbd/smb2_lock.c
588 smbd/smb2_ioctl.c
589 smbd/smb2_ioctl_dfs.c
590 smbd/smb2_ioctl_filesys.c
591 smbd/smb2_ioctl_named_pipe.c
592 smbd/smb2_ioctl_network_fs.c
593 smbd/smb2_keepalive.c
594 smbd/smb2_query_directory.c
595 smbd/smb2_notify.c
596 smbd/smb2_getinfo.c
597 smbd/smb2_setinfo.c
598 smbd/smb2_break.c
599 smbd/smbXsrv_version.c
600 smbd/smbXsrv_client.c
601 smbd/smbXsrv_session.c
602 smbd/smbXsrv_tcon.c
603 smbd/smbXsrv_open.c
604 smbd/server_exit.c
605 smbd/durable.c
606 smbd/scavenger.c
607 smbd/mangle.c
608 smbd/mangle_hash.c
609 smbd/mangle_hash2.c
610 smbd/oplock.c
611 smbd/oplock_irix.c
612 smbd/oplock_linux.c
613 smbd/notify.c
614 smbd/notify_msg.c
615 smbd/build_options.c''' + NOTIFY_SOURCES,
616 deps='''
617 talloc
618 tevent
620 libsmb
621 msrpc3
623 vfs_default
624 vfs_posixacl
625 inotify
626 popt_samba3
627 samba3core
628 smbd_conn
629 param_service
630 AVAHI
631 PRINTBASE
632 PROFILE
633 LOCKING
634 LIBADS_SERVER
635 LIBAFS
636 RPC_SERVICE
637 NDR_SMBXSRV
638 LEASES_DB
639 sysquotas
640 NDR_SMB_ACL
641 netapi
642 NDR_IOCTL
643 notifyd
644 ''' +
645 bld.env['dmapi_lib'] +
646 bld.env['legacy_quota_libs'] +
647 NOTIFY_DEPS,
648 private_library=True)
650 bld.SAMBA3_SUBSYSTEM('LOCKING',
651 source='''locking/locking.c
652 locking/brlock.c
653 locking/posix.c
654 locking/share_mode_lock.c''',
655 deps='''
657 talloc
658 LEASES_DB
659 NDR_OPEN_FILES
660 FNAME_UTIL''')
662 bld.SAMBA3_SUBSYSTEM('LEASES_DB',
663 source='locking/leases_db.c',
664 deps='NDR_LEASES_DB')
666 if bld.CONFIG_GET("WITH_PROFILE"):
667 bld.SAMBA3_SUBSYSTEM('PROFILE',
668 source='profile/profile.c',
669 deps='samba-util')
670 else:
671 bld.SAMBA3_SUBSYSTEM('PROFILE',
672 source='profile/profile_dummy.c',
673 deps='')
675 bld.SAMBA3_SUBSYSTEM('PRINTBASE',
676 source='''printing/notify.c printing/printing_db.c''',
677 deps='samba-util tdb')
679 bld.SAMBA3_SUBSYSTEM('PRINTBACKEND',
680 source='''printing/printing.c
681 printing/nt_printing.c
682 printing/nt_printing_tdb.c
683 printing/nt_printing_migrate_internal.c
684 printing/nt_printing_ads.c
685 printing/queue_process.c''',
686 deps='PRINTBASE LIBADS_PRINTER tdb printing_migrate SPOOLSSD')
688 bld.SAMBA3_LIBRARY('printing_migrate',
689 source='printing/nt_printing_migrate.c rpc_client/cli_winreg_spoolss.c printing/nt_printing_os2.c',
690 deps='NDR_NTPRINTING cli_spoolss RPC_NDR_WINREG LIBCLI_WINREG param',
691 private_library=True)
693 bld.SAMBA3_SUBSYSTEM('PRINTING',
694 source='''printing/pcap.c
695 printing/print_svid.c
696 printing/print_aix.c
697 printing/print_cups.c
698 printing/print_generic.c
699 printing/lpq_parse.c
700 printing/load.c
701 printing/print_standard.c
702 printing/print_iprint.c
703 printing/printer_list.c''',
704 deps='NDR_PRINTCAP tdb cups')
706 bld.SAMBA3_SUBSYSTEM('FNAME_UTIL',
707 source='lib/filename_util.c',
708 deps='samba-util')
710 bld.SAMBA3_SUBSYSTEM('LIBNET',
711 source='libnet/libnet_join.c',
712 deps='NDR_LIBNET_JOIN INIT_SAMR net_keytab pdb')
714 bld.SAMBA3_LIBRARY('net_keytab',
715 source='libnet/libnet_keytab.c',
716 deps='krb5samba ads',
717 private_library=True)
720 bld.SAMBA3_SUBSYSTEM('LIBNET_DSSYNC',
721 source='''libnet/libnet_dssync.c
722 libnet/libnet_dssync_passdb.c
723 libnet/libnet_dssync_keytab.c''',
724 deps='LIBNET RPC_NDR_DRSUAPI')
726 bld.SAMBA3_SUBSYSTEM('LIBNET_SAMSYNC',
727 source='''libnet/libnet_samsync.c
728 libnet/libnet_samsync_ldif.c
729 libnet/libnet_samsync_passdb.c
730 libnet/libnet_samsync_display.c
731 libnet/libnet_samsync_keytab.c''',
732 deps='LIBNET LIBCLI_SAMSYNC')
734 bld.SAMBA3_SUBSYSTEM('LIBEVENTLOG',
735 source='lib/eventlog/eventlog.c',
736 deps='NDR_EVENTLOG tdb')
738 bld.SAMBA3_SUBSYSTEM('LIBNMB',
739 source='''libsmb/unexpected.c
740 libsmb/namecache.c
741 libsmb/nmblib.c
742 libsmb/namequery.c
743 libsmb/conncache.c
744 libads/sitename_cache.c''',
745 deps='LIBTSOCKET samba3util addns lmhosts resolv')
747 bld.SAMBA3_SUBSYSTEM('SERVICES',
748 source='''services/svc_spoolss.c
749 services/svc_rcinit.c
750 services/svc_winreg_glue.c
751 services/svc_netlogon.c
752 services/svc_winreg.c
753 services/svc_wins.c''',
754 deps='samba-util')
756 bld.SAMBA3_SUBSYSTEM('PLAINTEXT_AUTH',
757 source='''auth/pampass.c auth/pass_check.c''',
758 deps='pam PAM_ERRORS')
760 bld.SAMBA3_SUBSYSTEM('PASSCHANGE',
761 source='libsmb/passchange.c',
762 deps='''LIBCLI_SAMR
763 INIT_LSA
764 msrpc3
765 krb5samba''')
767 bld.SAMBA3_SUBSYSTEM('SAMBA_VERSION',
768 source='lib/version.c',
769 deps='samba-util')
771 bld.SAMBA3_SUBSYSTEM('SLCACHE',
772 source='libsmb/samlogon_cache.c',
773 deps='samba-util tdb')
775 bld.SAMBA3_SUBSYSTEM('DCUTIL',
776 source='''libsmb/namequery_dc.c
777 libsmb/trustdom_cache.c
778 libsmb/dsgetdcname.c''',
779 deps='ads msrpc3 libcli_lsa3')
781 bld.SAMBA3_LIBRARY('trusts_util',
782 source='libsmb/trusts_util.c',
783 deps='libcli_netlogon3 msrpc3 samba-passdb',
784 private_library=True)
786 bld.SAMBA3_SUBSYSTEM('tdb-wrap3',
787 source='lib/util_tdb.c',
788 deps='talloc samba3-util')
790 bld.SAMBA3_LIBRARY('samba3-util',
791 source='''lib/util_sec.c lib/util_str.c lib/adt_tree.c lib/util_malloc.c lib/namearray.c lib/file_id.c''',
792 deps='samba-util charset',
793 private_library=True)
795 bld.SAMBA_LIBRARY('xattr_tdb',
796 source='lib/xattr_tdb.c',
797 deps='NDR_XATTR dbwrap samba3-util',
798 private_library=True)
800 bld.SAMBA3_LIBRARY('CHARSET3',
801 source='''lib/charcnv.c lib/fstring.c''',
802 public_deps='ICONV_WRAPPER charset',
803 deps='samba-util samba3-util',
804 private_library=True)
806 bld.SAMBA3_SUBSYSTEM('errors3',
807 source='libsmb/errormap.c libsmb/smberr.c lib/errmap_unix.c',
808 deps='samba-errors')
810 bld.SAMBA3_SUBSYSTEM('LIBCLI_SAMR',
811 source='rpc_client/cli_samr.c',
812 deps='RPC_NDR_SAMR')
814 bld.SAMBA3_LIBRARY('libcli_lsa3',
815 source='rpc_client/cli_lsarpc.c',
816 deps='RPC_NDR_LSA INIT_LSA',
817 private_library=True)
819 bld.SAMBA3_LIBRARY('libcli_netlogon3',
820 source='rpc_client/cli_netlogon.c rpc_client/util_netlogon.c',
821 deps='msrpc3 RPC_NDR_NETLOGON INIT_NETLOGON cliauth param NETLOGON_CREDS_CLI',
822 private_library=True)
824 bld.SAMBA3_LIBRARY('cli_spoolss',
825 source='''rpc_client/cli_spoolss.c
826 rpc_client/init_spoolss.c''',
827 deps='RPC_NDR_SPOOLSS param secrets3',
828 private_library=True)
830 bld.SAMBA3_SUBSYSTEM('LIBCLI_WINREG',
831 source='rpc_client/cli_winreg.c',
832 deps='RPC_NDR_WINREG')
834 bld.SAMBA3_SUBSYSTEM('LIBCLI_WINREG_INTERNAL',
835 source='rpc_client/cli_winreg_int.c',
836 deps='LIBCLI_WINREG RPC_SERVER')
838 bld.SAMBA3_SUBSYSTEM('RPC_CLIENT_SCHANNEL',
839 source='rpc_client/cli_pipe_schannel.c',
840 deps='samba-util krb5samba')
842 bld.SAMBA3_SUBSYSTEM('INIT_LSA',
843 source='rpc_client/init_lsa.c',
844 deps='samba-util')
846 bld.SAMBA3_SUBSYSTEM('INIT_NETLOGON',
847 source='rpc_client/init_netlogon.c',
848 deps='samba-util')
850 bld.SAMBA3_SUBSYSTEM('INIT_SAMR',
851 source='rpc_client/init_samr.c',
852 deps='samba-util')
854 bld.SAMBA3_SUBSYSTEM('LIBLSA',
855 source='lib/lsa.c')
857 bld.SAMBA3_SUBSYSTEM('SPOOLSSD',
858 source='printing/spoolssd.c',
859 deps='''
860 samba-util
861 RPC_SOCK_HELPER
862 ''')
864 ########################## BINARIES #################################
866 bld.SAMBA3_BINARY('smbd/smbd',
867 source='smbd/server.c smbd/smbd_cleanupd.c',
868 deps='''
869 smbd_base
870 EPMD
871 LSASD
872 FSSD
873 MDSSD
874 SPOOLSSD
875 ''',
876 install_path='${SBINDIR}')
879 bld.SAMBA3_SUBSYSTEM('TDB_VALIDATE',
880 source='lib/tdb_validate.c',
881 deps='samba-util')
884 bld.SAMBA3_BINARY('client/smbclient',
885 source='''client/client.c
886 client/clitar.c
887 client/dnsbrowse.c''',
888 deps='''
889 talloc
890 popt_samba3
891 param
892 ndr-standard
893 SMBREADLINE
894 libsmb
895 msrpc3
896 RPC_NDR_SRVSVC
897 cli_smb_common
898 archive
899 ''')
901 bld.SAMBA3_BINARY('smbspool',
902 source='client/smbspool.c',
903 deps='''
904 talloc
905 popt_samba3
906 param
907 libsmb
908 samba3core''')
910 bld.SAMBA3_BINARY('smbspool_krb5_wrapper',
911 source='client/smbspool_krb5_wrapper.c',
912 deps='''
913 DYNCONFIG
914 cups
915 ''',
916 install_path='${LIBEXECDIR}/samba',
917 enabled=bld.CONFIG_SET('HAVE_CUPS'))
919 bld.SAMBA3_BINARY('locktest2',
920 source='torture/locktest2.c',
921 deps='''
922 talloc
923 param
924 libsmb
925 LOCKING''',
926 install=False)
928 smbstatus_source = 'utils/status.c smbd/notify_msg.c'
930 if bld.CONFIG_GET("WITH_PROFILE"):
931 smbstatus_source += ' utils/status_profile.c'
932 else:
933 smbstatus_source += ' utils/status_profile_dummy.c'
935 bld.SAMBA3_BINARY('smbstatus',
936 source=smbstatus_source,
937 deps='''
938 talloc
939 param
940 popt_samba3
941 smbd_base
942 LOCKING
943 PROFILE''')
945 bld.SAMBA3_BINARY('smbtorture' + bld.env.suffix3,
946 source='''torture/torture.c
947 torture/nbio.c
948 torture/scanner.c
949 torture/utable.c
950 torture/denytest.c
951 torture/mangle_test.c
952 torture/nbench.c
953 torture/test_async_echo.c
954 torture/test_addrchange.c
955 torture/test_posix_append.c
956 torture/test_nttrans_create.c
957 torture/test_nttrans_fsctl.c
958 torture/test_case_insensitive.c
959 torture/test_notify_online.c
960 torture/test_chain3.c
961 torture/test_smb2.c
962 torture/test_authinfo_structs.c
963 torture/test_smbsock_any_connect.c
964 torture/test_cleanup.c
965 torture/test_notify.c
966 lib/tevent_barrier.c
967 torture/test_dbwrap_watch.c
968 torture/test_idmap_tdb_common.c
969 torture/test_dbwrap_ctdb.c
970 torture/test_buffersize.c
971 torture/test_messaging_read.c
972 torture/test_messaging_fd_passing.c
973 torture/test_oplock_cancel.c
974 torture/test_pthreadpool_tevent.c
975 torture/bench_pthreadpool.c
976 torture/wbc_async.c''',
977 deps='''
978 talloc
979 param
980 libsmb
981 msrpc3
982 TLDAP
983 RPC_NDR_ECHO
984 WB_REQTRANS
985 LOCKING
986 NDR_OPEN_FILES
987 idmap
988 IDMAP_TDB_COMMON
989 samba-cluster-support
990 ''',
991 cflags='-DWINBINDD_SOCKET_DIR=\"%s\"' % bld.env.WINBINDD_SOCKET_DIR,
992 install=False)
994 bld.SAMBA3_BINARY('smbconftort',
995 source='lib/smbconf/testsuite.c',
996 deps='''
997 talloc
998 param
999 popt_samba3''',
1000 install=False)
1002 bld.SAMBA3_BINARY('replacetort',
1003 source='../lib/replace/test/main.c',
1004 deps='replace replace-test',
1005 install=False)
1007 bld.SAMBA3_BINARY('msgtest',
1008 source='torture/msgtest.c',
1009 deps='''
1010 talloc
1011 param''',
1012 install=False)
1014 bld.SAMBA3_BINARY('msg_sink',
1015 source='torture/msg_sink.c',
1016 deps='''
1017 talloc
1018 param''',
1019 install=False)
1021 bld.SAMBA3_BINARY('msg_source',
1022 source='torture/msg_source.c',
1023 deps='''
1024 talloc
1025 param''',
1026 install=False)
1028 bld.SAMBA3_BINARY('pdbtest',
1029 source='torture/pdbtest.c',
1030 deps='''
1031 talloc
1033 popt_samba3
1034 AUTH_COMMON
1035 auth''',
1036 install=False)
1038 bld.SAMBA3_BINARY('vfstest',
1039 source='''torture/cmd_vfs.c
1040 torture/vfstest.c
1041 torture/vfstest_chain.c''',
1042 deps='''
1044 popt_samba3
1045 SMBREADLINE''',
1046 install=False)
1048 bld.SAMBA3_BINARY('versiontest',
1049 source='lib/version_test.c',
1050 deps='''
1051 SAMBA_VERSION
1052 param''',
1053 install=False)
1055 bld.SAMBA3_BINARY('timelimit',
1056 source='script/tests/timelimit.c',
1057 install=False)
1059 bld.SAMBA3_BINARY('rpc_open_tcp',
1060 source='torture/rpc_open_tcp.c',
1061 deps='''
1062 talloc
1063 msrpc3''',
1064 install=False)
1066 bld.SAMBA3_BINARY('vlp',
1067 source='printing/tests/vlp.c',
1068 deps='''
1069 talloc
1070 param''',
1071 install=False)
1073 bld.SAMBA3_PYTHON('pysmbd',
1074 source='smbd/pysmbd.c',
1075 deps='smbd_base pyrpc_util pytalloc-util',
1076 realname='samba/samba3/smbd.so'
1079 bld.SAMBA3_PYTHON('pylibsmb',
1080 source='libsmb/pylibsmb.c',
1081 deps='smbclient samba-credentials pycredentials',
1082 realname='samba/samba3/libsmb_samba_internal.so'
1085 bld.SAMBA3_BINARY('spotlight2sparql',
1086 source='''
1087 rpc_server/mdssvc/sparql_parser_test.c
1088 rpc_server/mdssvc/sparql_parser.c
1089 rpc_server/mdssvc/sparql_lexer.c
1090 rpc_server/mdssvc/sparql_mapping.c''',
1091 deps='samba3-util talloc ' + bld.env['libtracker'],
1092 enabled=bld.env.with_spotlight,
1093 install=False)
1095 ########################## INCLUDES #################################
1097 bld.RECURSE('auth')
1098 bld.RECURSE('libgpo/gpext')
1099 bld.RECURSE('lib/pthreadpool')
1100 bld.RECURSE('librpc')
1101 bld.RECURSE('librpc/idl')
1102 bld.RECURSE('libsmb')
1103 bld.RECURSE('modules')
1104 bld.RECURSE('param')
1105 bld.RECURSE('passdb')
1106 bld.RECURSE('rpc_server')
1107 bld.RECURSE('script')
1108 bld.RECURSE('winbindd')
1109 bld.RECURSE('../examples/auth')
1110 bld.RECURSE('../examples/libsmbclient')
1111 bld.RECURSE('../examples/pdb')
1112 bld.RECURSE('../examples/VFS')
1113 bld.RECURSE('../examples/fuse')
1114 bld.RECURSE('lib/netapi/tests')
1115 bld.RECURSE('lib/netapi/examples')
1116 bld.RECURSE('smbd/notifyd')
1117 bld.RECURSE('rpcclient')
1118 bld.RECURSE('utils')
1119 bld.RECURSE('nmbd')
1121 bld.ENFORCE_GROUP_ORDERING()
1122 bld.CHECK_PROJECT_RULES()