build: list source of subsystem AVAHI directly in its definition.
[samba.git] / source3 / wscript_build
1 #!/usr/bin/env python
2
3 from samba_utils import *
4 import samba_version, samba3
5
6 SERVER_MUTEX_SRC = 'lib/server_mutex.c'
7
8 PASSCHANGE_SRC = '''libsmb/passchange.c'''
9
10 LIBCLI_SPOOLSS_SRC = '''rpc_client/cli_spoolss.c
11                      rpc_client/init_spoolss.c'''
12
13 LIBCLI_LSA_SRC = '''rpc_client/cli_lsarpc.c'''
14
15 LIBCLI_SAMR_SRC = 'rpc_client/cli_samr.c'
16
17 LIBCLI_NETLOGON_SRC = 'rpc_client/cli_netlogon.c rpc_client/util_netlogon.c'
18
19 # this includes only the low level parse code, not stuff
20 # that requires knowledge of security contexts
21 REG_PARSE_PRS_SRC = '''registry/reg_parse_prs.c'''
22
23 LIB_UTIL_SRC = '''
24                lib/system.c
25                lib/sendfile.c
26                lib/recvfile.c
27                lib/time.c
28                lib/util_sid.c
29                lib/util_file.c
30                lib/util.c
31                lib/util_sock.c
32                lib/util_transfer_file.c
33                lib/sock_exec.c'''
34
35 POPT_LIB_SRC = '''lib/popt_common.c'''
36
37 PARAM_UTIL_SRC = '''param/util.c'''
38
39 PARAM_WITHOUT_REG_SRC = '''param/loadparm.c
40                            lib/sharesec.c lib/ldap_debug_handler.c lib/util_names.c'''
41
42 KRBCLIENT_SRC = '''libads/kerberos.c libads/ads_status.c'''
43
44 LIBGPO_SRC0 = '''../libgpo/gpo_ldap.c ../libgpo/gpo_ini.c ../libgpo/gpo_util.c
45               ../libgpo/gpo_fetch.c libgpo/gpo_filesync.c ../libgpo/gpo_sec.c
46               libgpo/gpo_reg.c'''
47 LIBGPO_SRC = '''${LIBGPO_SRC0}'''
48
49 LIBADS_SRC = '''libads/ldap.c
50              libads/sasl.c libads/sasl_wrapping.c
51              libads/krb5_setpw.c
52              libads/kerberos_util.c
53              libads/ldap_user.c
54              libads/ads_struct.c libads/kerberos_keytab.c
55              libads/disp_sec.c libads/ldap_utils.c
56              libads/ldap_schema.c libads/util.c libads/ndr.c'''
57
58 LIBADS_SERVER_SRC = '''libads/authdata.c'''
59
60 LIBADS_PRINTER_SRC = '''libads/ldap_printer.c'''
61
62 SECRETS_SRC = '''passdb/secrets.c passdb/machine_account_secrets.c
63                  passdb/machine_sid.c passdb/secrets_lsa.c'''
64
65 LIBNMB_SRC = '''libsmb/unexpected.c libsmb/namecache.c libsmb/nmblib.c
66              libsmb/namequery.c libsmb/conncache.c
67
68              libads/sitename_cache.c'''
69
70 LIBNTLMSSP_SRC = '''
71                libsmb/ntlmssp.c
72                libsmb/ntlmssp_wrap.c'''
73
74 TLDAP_SRC = '''lib/tldap.c lib/tldap_util.c lib/util_tsock.c'''
75
76 LIBSMB_SRC = '''libsmb/clientgen.c libsmb/cliconnect.c libsmb/clifile.c
77              libsmb/clispnego.c
78              libsmb/clirap.c libsmb/clierror.c libsmb/climessage.c
79              libsmb/clireadwrite.c libsmb/clilist.c libsmb/cliprint.c
80              libsmb/clitrans.c libsmb/clisecdesc.c libsmb/clidgram.c
81              libsmb/clistr.c libsmb/cliquota.c libsmb/clifsinfo.c libsmb/clidfs.c
82              libsmb/clioplock.c libsmb/clirap2.c
83              libsmb/async_smb.c
84              libsmb/smb2cli_tcon.c
85              libsmb/cli_np_tstream.c
86              libsmb/reparse_symlink.c
87              libsmb/clisymlink.c
88              libsmb/smbsock_connect.c
89              libsmb/cli_smb2_fnum.c'''
90
91 LIBMSRPC_SRC = '''
92                rpc_client/cli_pipe.c
93                rpc_client/rpc_transport_np.c
94                rpc_client/rpc_transport_sock.c
95                rpc_client/rpc_transport_tstream.c
96                librpc/rpc/dcerpc_helpers.c
97                '''
98
99 #
100 # registry-related objects
101 #
102
103 REG_INIT_SMBCONF_SRC = '''registry/reg_init_smbconf.c'''
104 REG_INIT_FULL_SRC = '''registry/reg_init_full.c'''
105
106 REGFIO_SRC = '''registry/regfio.c ${REG_PARSE_PRS_SRC}'''
107
108 REG_API_REGF_SRC = '''registry/reg_api_regf.c'''
109
110 REG_BACKENDS_SMBCONF_SRC = '''registry/reg_backend_smbconf.c'''
111
112 REG_BACKENDS_EXTRA_SRC = '''registry/reg_backend_printing.c
113                          registry/reg_backend_shares.c
114                          registry/reg_backend_netlogon_params.c
115                          registry/reg_backend_prod_options.c
116                          registry/reg_backend_tcpip_params.c
117                          registry/reg_backend_hkpt_params.c
118                          registry/reg_backend_current_version.c
119                          registry/reg_backend_perflib.c'''
120
121 REG_BASE_SRC = '''registry/reg_api.c
122                registry/reg_dispatcher.c
123                registry/reg_cachehook.c
124                registry/reg_objects.c
125                registry/reg_util_internal.c
126                lib/util_nttoken.c
127                registry/reg_backend_db.c
128                registry/reg_parse_internal.c
129                lib/cbuf.c
130                lib/srprs.c
131                registry/reg_init_basic.c'''
132
133 REG_SMBCONF_SRC = '''
134                   ${REG_BACKENDS_SMBCONF_SRC}
135                   ${REG_INIT_SMBCONF_SRC}
136                   registry/reg_util_token.c
137                   registry/reg_api_util.c'''
138
139 REG_FULL_SRC = '''
140                ${REG_BACKENDS_EXTRA_SRC}
141                ${REG_INIT_FULL_SRC}
142                registry/reg_perfcount.c'''
143
144 SERVICES_SRC = '''services/svc_spoolss.c
145                   services/svc_rcinit.c
146                   services/svc_winreg_glue.c
147                   services/svc_netlogon.c
148                   services/svc_winreg.c
149                   services/svc_wins.c'''
150
151 LIB_EVENTLOG_SRC = '''lib/eventlog/eventlog.c'''
152
153 RPC_CLIENT_SCHANNEL_SRC = '''rpc_client/cli_pipe_schannel.c'''
154
155 LOCKING_SRC = '''locking/locking.c locking/brlock.c locking/posix.c locking/share_mode_lock.c'''
156
157 PRIVILEGES_SRC = '''lib/privileges.c'''
158
159 PASSDB_GET_SET_SRC = '''passdb/pdb_get_set.c'''
160
161 PASSDB_SRC = '''${PASSDB_GET_SET_SRC} passdb/passdb.c
162                 lib/util_wellknown.c lib/util_builtin.c passdb/pdb_compat.c
163                 lib/util_sid_passdb.c
164                 lib/util_unixsids.c passdb/lookup_sid.c
165                 passdb/login_cache.c
166                 passdb/account_pol.c ${PRIVILEGES_SRC}
167                 lib/util_nscd.c lib/winbind_util.c
168                 passdb/pdb_util.c passdb/pdb_interface.c
169                 passdb/pdb_secrets.c
170                 passdb/pdb_unixid.c'''
171 #FIXME: lib/winbind_util.c probably is not part of PASSDB_SRC
172
173 GROUPDB_SRC = '''groupdb/mapping.c groupdb/mapping_tdb.c'''
174
175 PROFILE_SRC = '''profile/profile.c'''
176 PROFILES_SRC = '''utils/profiles.c'''
177
178 OPLOCK_SRC = '''smbd/oplock.c smbd/oplock_irix.c smbd/oplock_linux.c'''
179
180 NOTIFY_SRC = '''smbd/notify.c smbd/notify_inotify.c smbd/notify_internal.c'''
181
182 FNAME_UTIL_SRC = '''lib/filename_util.c'''
183
184
185 PLAINTEXT_AUTH_SRC = '''auth/pampass.c auth/pass_check.c'''
186
187 SLCACHE_SRC = '''libsmb/samlogon_cache.c'''
188
189 DCUTIL_SRC  = '''libsmb/namequery_dc.c libsmb/trustdom_cache.c libsmb/dsgetdcname.c'''
190
191 MANGLE_SRC = '''smbd/mangle.c smbd/mangle_hash.c smbd/mangle_hash2.c'''
192
193 SMBD_SRC_MAIN = '''smbd/server.c'''
194
195 BUILDOPT_SRC = '''smbd/build_options.c'''
196
197 SMBD_SRC_SRV = '''smbd/server_reload.c smbd/files.c smbd/connection.c
198                smbd/utmp.c smbd/session.c
199                smbd/dfree.c smbd/dir.c smbd/password.c smbd/conn_msg.c
200                smbd/conn_idle.c
201                smbd/share_access.c smbd/fileio.c
202                smbd/ipc.c smbd/lanman.c smbd/negprot.c
203                smbd/message.c smbd/nttrans.c smbd/pipes.c
204                smbd/reply.c smbd/sesssetup.c smbd/trans2.c smbd/uid.c
205                smbd/dosmode.c smbd/filename.c smbd/open.c smbd/close.c
206                smbd/blocking.c smbd/sec_ctx.c smbd/srvstr.c
207                smbd/vfs.c smbd/perfcount.c smbd/statcache.c smbd/seal.c
208                smbd/posix_acls.c lib/sysacls.c
209                smbd/process.c smbd/service.c smbd/error.c
210                printing/printspoolss.c printing/spoolssd.c
211                lib/sysquotas.c lib/sysquotas_linux.c
212                lib/sysquotas_xfs.c lib/sysquotas_4A.c lib/sysquotas_4B.c
213                lib/sysquotas_nfs.c
214                lib/background.c
215                lib/sessionid_tdb.c
216                lib/conn_tdb.c
217                smbd/fake_file.c
218                smbd/quotas.c smbd/ntquotas.c smbd/msdfs.c
219                smbd/aio.c smbd/statvfs.c
220                smbd/dmapi.c smbd/signing.c
221                smbd/file_access.c
222                smbd/dnsregister.c smbd/globals.c
223                smbd/smb2_server.c
224                smbd/smb2_glue.c
225                smbd/smb2_negprot.c
226                smbd/smb2_sesssetup.c
227                smbd/smb2_tcon.c
228                smbd/smb2_create.c
229                smbd/smb2_close.c
230                smbd/smb2_flush.c
231                smbd/smb2_read.c
232                smbd/smb2_write.c
233                smbd/smb2_lock.c
234                smbd/smb2_ioctl.c
235                smbd/smb2_ioctl_dfs.c
236                smbd/smb2_ioctl_filesys.c
237                smbd/smb2_ioctl_named_pipe.c
238                smbd/smb2_ioctl_network_fs.c
239                smbd/smb2_keepalive.c
240                smbd/smb2_find.c
241                smbd/smb2_notify.c
242                smbd/smb2_getinfo.c
243                smbd/smb2_setinfo.c
244                smbd/smb2_break.c
245                smbd/smbXsrv_version.c
246                smbd/smbXsrv_session.c
247                smbd/smbXsrv_tcon.c
248                smbd/smbXsrv_open.c
249                smbd/server_exit.c
250                smbd/durable.c
251                smbd/scavenger.c
252                ${MANGLE_SRC}'''
253
254 SMBD_SRC_BASE = '''${SMBD_SRC_SRV}
255                 ${OPLOCK_SRC} ${NOTIFY_SRC}
256                 ${BUILDOPT_SRC}'''
257
258 PRINTING_SRC = '''printing/pcap.c printing/print_svid.c printing/print_aix.c
259                printing/print_cups.c printing/print_generic.c
260                printing/lpq_parse.c printing/load.c printing/print_standard.c
261                printing/print_iprint.c printing/printer_list.c'''
262
263 PRINTBASE_SRC = '''printing/notify.c printing/printing_db.c'''
264 PRINTBACKEND_SRC = '''printing/printing.c
265                       printing/nt_printing.c
266                       printing/nt_printing_tdb.c
267                       printing/nt_printing_migrate_internal.c
268                       printing/nt_printing_ads.c
269                       printing/queue_process.c'''
270
271 STATUS_SRC = '''utils/status.c utils/status_profile.c smbd/notify_internal.c'''
272
273 SMBCONTROL_SRC = '''utils/smbcontrol.c'''
274
275 SMBTREE_SRC = '''utils/smbtree.c'''
276
277 TESTPARM_SRC = 'utils/testparm.c'
278
279 SMBTA_UTIL_SRC = '''utils/smbta-util.c'''
280
281 TEST_LP_LOAD_SRC = '''param/test_lp_load.c'''
282
283 PASSWD_UTIL_SRC = 'utils/passwd_util.c'
284
285 SMBPASSWD_SRC = '''utils/smbpasswd.c'''
286
287 PDBEDIT_SRC = '''utils/pdbedit.c'''
288
289 SMBGET_SRC = '''utils/smbget.c'''
290
291 RPCCLIENT_SRC1 = '''rpcclient/rpcclient.c rpcclient/cmd_lsarpc.c
292                     rpcclient/cmd_samr.c rpcclient/cmd_spoolss.c
293                     rpcclient/cmd_netlogon.c rpcclient/cmd_srvsvc.c
294                     rpcclient/cmd_dfs.c rpcclient/cmd_epmapper.c
295                     rpcclient/cmd_dssetup.c rpcclient/cmd_echo.c
296                     rpcclient/cmd_shutdown.c rpcclient/cmd_test.c
297                     rpcclient/cmd_wkssvc.c rpcclient/cmd_ntsvcs.c
298                     rpcclient/cmd_drsuapi.c rpcclient/cmd_eventlog.c
299                     rpcclient/cmd_winreg.c rpcclient/cmd_fss.c'''
300
301 RPCCLIENT_SRC = '''${RPCCLIENT_SRC1}'''
302
303 LIBSMBCLIENT_THREAD_SRC = '''libsmb/libsmb_thread_impl.c
304                         libsmb/libsmb_thread_posix.c'''
305
306 LIBSMBSHAREMODES_SRC0 = 'libsmb/smb_share_modes.c'
307
308 LIBSMBSHAREMODES_SRC = '${LIBSMBSHAREMODES_SRC0}'
309
310 LIB_SMBCONF_SRC = 'lib/smbconf/smbconf_init.c lib/smbconf/smbconf_reg.c'
311
312 SMBCONFTORT_SRC0 = 'lib/smbconf/testsuite.c'
313
314 SMBCONFTORT_SRC = '''${SMBCONFTORT_SRC0}'''
315
316 LIBNET_SRC = 'libnet/libnet_join.c'
317
318
319 LIBNET_DSSYNC_SRC = '''libnet/libnet_dssync.c
320                        libnet/libnet_dssync_passdb.c
321                        libnet/libnet_dssync_keytab.c'''
322
323 LIBNET_SAMSYNC_SRC = '''libnet/libnet_samsync.c
324                         libnet/libnet_samsync_ldif.c
325                         libnet/libnet_samsync_passdb.c
326                         libnet/libnet_samsync_display.c
327                         libnet/libnet_samsync_keytab.c'''
328
329 NET_SRC1 = '''utils/net.c utils/net_ads.c utils/net_help.c
330               utils/net_rap.c utils/net_rpc.c utils/net_rpc_samsync.c
331               utils/net_time.c utils/net_lookup.c
332               utils/net_cache.c utils/net_groupmap.c
333               utils/net_idmap.c utils/net_idmap_check.c
334               utils/interact.c
335               utils/net_status.c utils/net_rpc_printer.c utils/net_rpc_rights.c
336               utils/net_rpc_service.c utils/net_rpc_registry.c utils/net_usershare.c
337               utils/netlookup.c utils/net_sam.c utils/net_rpc_shell.c
338               utils/net_util.c utils/net_rpc_sh_acct.c utils/net_rpc_audit.c
339               utils/net_dns.c utils/net_ads_gpo.c
340               utils/net_conf.c utils/net_join.c utils/net_user.c
341               utils/net_group.c utils/net_file.c utils/net_registry.c
342               utils/net_registry_check.c
343               utils/net_dom.c utils/net_share.c
344               utils/net_g_lock.c
345               utils/net_serverid.c
346               utils/net_eventlog.c
347               utils/net_printing.c
348               utils/net_rpc_trust.c
349               utils/net_rpc_conf.c
350               registry/reg_parse.c registry/reg_format.c
351               registry/reg_import.c
352               '''
353
354 NET_SRC2 = 'utils/net_registry_util.c utils/net_help_common.c'
355
356 NET_SRC = '''${NET_SRC1}
357              ${NET_SRC2}'''
358
359 CUPS_SRC = '''client/smbspool.c'''
360
361 NMBLOOKUP_SRC = '''utils/nmblookup.c'''
362
363 SMBTORTURE_SRC1 = '''torture/torture.c torture/nbio.c torture/scanner.c torture/utable.c
364                 torture/denytest.c torture/mangle_test.c
365                 torture/nbench.c
366                 torture/test_async_echo.c
367                 torture/test_addrchange.c
368                 torture/test_posix_append.c
369                 torture/test_nttrans_create.c
370                 torture/test_nttrans_fsctl.c
371                 torture/test_case_insensitive.c
372                 torture/test_notify_online.c
373                 torture/test_chain3.c
374                 torture/test_smb2.c
375                 torture/test_authinfo_structs.c
376                 torture/test_smbsock_any_connect.c
377                 torture/test_cleanup.c
378                 torture/test_ctdbconn.c
379                 torture/test_msg.c
380                 torture/test_notify.c
381                 lib/tevent_barrier.c
382                 torture/test_dbwrap_watch.c
383                 torture/test_idmap_tdb_common.c
384                 torture/test_dbwrap_ctdb.c
385                 torture/test_buffersize.c
386                 torture/t_strappend.c'''
387
388 SMBTORTURE_SRC = '''${SMBTORTURE_SRC1}
389         torture/wbc_async.c'''
390
391 MSGTEST_SRC = '''torture/msgtest.c'''
392
393 PDBTEST_SRC = '''torture/pdbtest.c'''
394
395 VFSTEST_SRC = '''torture/cmd_vfs.c torture/vfstest.c
396                 torture/vfstest_chain.c'''
397
398 LOG2PCAP_SRC = '''utils/log2pcaphex.c'''
399
400 LOCKTEST2_SRC = '''torture/locktest2.c'''
401
402 SMBCACLS_SRC = '''utils/smbcacls.c'''
403
404 SMBCQUOTAS_SRC = '''utils/smbcquotas.c'''
405
406 EVTLOGADM_SRC0 = 'utils/eventlogadm.c'
407
408 EVTLOGADM_SRC = '''${EVTLOGADM_SRC0}'''
409
410 SHARESEC_SRC0 = 'utils/sharesec.c'
411 SHARESEC_SRC  = '''${SHARESEC_SRC0}'''
412
413 DEBUG2HTML_SRC = '''utils/debug2html.c utils/debugparse.c'''
414
415 SMBFILTER_SRC = '''utils/smbfilter.c'''
416
417 WINBIND_WINS_NSS_SRC = '''../nsswitch/wins.c'''
418
419 NTLM_AUTH_SRC1 = '''utils/ntlm_auth.c utils/ntlm_auth_diagnostics.c'''
420
421 NTLM_AUTH_SRC = '''${NTLM_AUTH_SRC1}'''
422
423 VLP_SRC = '''printing/tests/vlp.c'''
424
425 RPC_OPEN_TCP_SRC = 'torture/rpc_open_tcp.c'
426
427 DBWRAP_TOOL_SRC = 'utils/dbwrap_tool.c'
428
429 DBWRAP_TORTURE_SRC = 'utils/dbwrap_torture.c'
430
431 SPLIT_TOKENS_SRC = 'utils/split_tokens.c'
432
433 LIBS='ICONV'
434
435 config_h = "../include/config.h"
436
437 bld.SAMBA_BLDOPTIONS('smbd/build_options.c')
438
439 t = bld.SAMBA_GENERATOR('build_env.h',
440                         source='script/build_env.sh',
441                         target='include/build_env.h',
442                         rule='${SRC} ${SRCDIR} ${BUILDDIR} ${CC} > ${TGT}')
443 # todo: work out what is really wanted here
444 t.env.SRCDIR = bld.path.abspath()
445 t.env.BUILDDIR = bld.path.abspath()
446
447 bld.SETUP_BUILD_GROUPS()
448
449 ######################## SUBSYSTEMS #################################
450
451 bld.SAMBA3_LIBRARY('netapi',
452                     source='''lib/netapi/netapi.c
453                     lib/netapi/cm.c
454                     lib/netapi/libnetapi.c
455                     lib/netapi/joindomain.c
456                     lib/netapi/serverinfo.c
457                     lib/netapi/getdc.c
458                     lib/netapi/user.c
459                     lib/netapi/group.c
460                     lib/netapi/localgroup.c
461                     lib/netapi/samr.c
462                     lib/netapi/sid.c
463                     lib/netapi/share.c
464                     lib/netapi/file.c
465                     lib/netapi/shutdown.c
466                     lib/netapi/netlogon.c''',
467                     public_deps='''
468                     talloc
469                     util_cmdline
470                     msrpc3
471                     ads
472                     NDR_LIBNETAPI
473                     LIBNET
474                     RPC_CLIENT_SCHANNEL
475                     libcli_netlogon3
476                     LIBCLI_SAMR
477                     INIT_SAMR
478                     auth
479                     ''',
480                     public_headers='../source3/lib/netapi/netapi.h',
481                     pc_files='libnet/netapi.pc',
482                     vnum='0')
483
484 bld.SAMBA3_LIBRARY('smbsharemodes',
485                     source=LIBSMBSHAREMODES_SRC,
486                     public_deps='''talloc tdb_compat''',
487                     deps='''ccan-hash''',
488                     public_headers='include/smb_share_modes.h',
489                     pc_files='libsmb/smbsharemodes.pc',
490                     vnum='0',
491                     vars=locals())
492
493 bld.SAMBA3_LIBRARY('nss_wins',
494                   source=WINBIND_WINS_NSS_SRC,
495                   deps='''param libsmb LIBTSOCKET''',
496                   realname='libnss_wins.so.2',
497                   soname='libnss_wins.so',
498                   vnum='2')
499
500 bld.SAMBA3_LIBRARY('gse',
501                    source='librpc/crypto/gse_krb5.c librpc/crypto/gse.c',
502                    deps='krb5samba gensec param KRBCLIENT secrets3',
503                    private_library=True)
504
505 bld.SAMBA3_LIBRARY('msrpc3',
506                    source='${LIBMSRPC_SRC}',
507                    deps='''ndr ndr-standard
508                     RPC_NDR_EPMAPPER NTLMSSP_COMMON COMMON_SCHANNEL LIBCLI_AUTH
509                     LIBTSOCKET gse dcerpc-binding
510                     libsmb
511                     ndr-table''',
512                    vars=locals(),
513                    private_library=True)
514
515 bld.SAMBA3_LIBRARY('gpo',
516                    source='${LIBGPO_SRC}',
517                    deps='talloc ads TOKEN_UTIL gpext auth',
518                    vars=locals(),
519                    private_library=True)
520
521 bld.SAMBA3_SUBSYSTEM('AVAHI',
522                     source='lib/avahi.c smbd/avahi_register.c',
523                     deps='avahi-common avahi-client',
524                     enabled=bld.env.with_avahi)
525
526 bld.SAMBA3_SUBSYSTEM('GROUPDB',
527                     source=GROUPDB_SRC,
528                     deps='tdb_compat')
529
530 bld.SAMBA3_SUBSYSTEM('TLDAP',
531                     source=TLDAP_SRC,
532                     deps='asn1util LIBTSOCKET')
533
534 # libpdb.so should not expose internal symbols that are only usable
535 # to the statically linked modules that are merged into libpdb.
536 # Note that we always filter these symbols out in libpdb, even
537 # when modules are not linked statically. In the latter case
538 # symbols will not be present in the libpdb anyway so no hurt is
539 # done to the version script.
540 static_pdb_match = ['tdbsam', 'smbpasswd', 'wbc_sam']
541 private_pdb_match = []
542
543 # AD DC module when linked statically will pull in few source4/winbind
544 # dependencies which are not used outside AD DC module
545 static_pdb_match.append('samba_dsdb')
546 private_pdb_match.append('!idmap_init')
547 private_pdb_match.append('!idmap_sids_to_xids')
548 private_pdb_match.append('!idmap_xids_to_sids')
549
550 # ldap module is actually three modules merged together: ldapsam, ipa, and nds
551 static_pdb_match = static_pdb_match + ['ldap', 'ipa', 'nds']
552 ldapsam_pdb_match = ['!priv2ld', '!smbldap_search_domain_info',
553                      '!ldapsam_*', '!groupmap_attr_list*', '!get_userattr_list',
554                      '!dominfo_attr_list', '!get_attr_key2string',
555                      '!sidmap_attr_list', '!attrib_map_*', '!idpool_attr_list',
556                      '!get_attr_list']
557 private_pdb_match.append('!pdb_nds_*')
558 private_pdb_match.append('!pdb_init_ldapsam')
559 private_pdb_match.append('!pdb_ldapsam_init*')
560 private_pdb_match = private_pdb_match + ldapsam_pdb_match
561
562 private_pdb_match = private_pdb_match + map(lambda x: '!pdb_%s_init' % x, static_pdb_match)
563
564 bld.SAMBA3_LIBRARY('pdb',
565                    source=PASSDB_SRC,
566                    deps='secrets3 GROUPDB SERVER_MUTEX wbclient LIBCLI_AUTH flag_mapping',
567                    private_library=False,
568                    pc_files=[],
569                    public_headers_install=True,
570                    public_headers='''
571                                 include/passdb.h
572                                 passdb/machine_sid.h
573                                 passdb/lookup_sid.h''',
574                    abi_match=private_pdb_match,
575                    abi_directory='passdb/ABI',
576                    vnum='0',
577                    vars=locals())
578
579 bld.SAMBA3_LIBRARY('smbldaphelper',
580                    source='passdb/pdb_ldap_schema.c passdb/pdb_ldap_util.c',
581                    deps='smbldap secrets3',
582                    allow_undefined_symbols=True,
583                    enabled=bld.CONFIG_SET('HAVE_LDAP'),
584                    private_library=True)
585
586 bld.SAMBA3_SUBSYSTEM('SERVER_MUTEX',
587                      source=SERVER_MUTEX_SRC,
588                      deps='talloc')
589
590 bld.SAMBA3_SUBSYSTEM('PARAM_UTIL',
591                     source=PARAM_UTIL_SRC,
592                     deps='talloc')
593
594 bld.SAMBA3_SUBSYSTEM('LOADPARM_CTX',
595                      source='param/loadparm_ctx.c',
596                      deps='''talloc s3_param_h param''',
597                      vars=locals())
598
599 bld.SAMBA_GENERATOR('param/param_global_h',
600                     source= '../script/mkparamdefs.pl param/loadparm.c ../lib/param/param_functions.c',
601                     target='param/param_global.h',
602                     rule='${PERL} ${SRC[0].abspath(env)} ${SRC[1].abspath(env)} ${SRC[2].abspath(env)} --file ${TGT} --generate-scope=GLOBAL')
603
604 bld.SAMBA3_SUBSYSTEM('param',
605                    source=PARAM_WITHOUT_REG_SRC,
606                    deps='samba-util PARAM_UTIL ldap lber LOADPARM_CTX samba3core smbconf param_local_h param/param_global_h cups''')
607
608 bld.SAMBA3_PYTHON('pys3param',
609                   source='param/pyparam.c',
610                   deps='param',
611                   public_deps='samba-hostconfig pytalloc-util talloc',
612                   realname='samba/samba3/param.so')
613     
614 bld.SAMBA3_SUBSYSTEM('param_service',
615                      source='param/service.c',
616                      deps = 'USER_UTIL param PRINTING')
617
618 bld.SAMBA3_SUBSYSTEM('REGFIO',
619                     source=REGFIO_SRC,
620                     deps='samba-util',
621                     vars=locals())
622
623 bld.SAMBA3_SUBSYSTEM('REG_API_REGF',
624                     source=REG_API_REGF_SRC,
625                     deps='samba-util',
626                     vars=locals())
627
628 bld.SAMBA3_LIBRARY('smbregistry',
629                    source=REG_BASE_SRC,
630                    deps='''smbd_shim tdb-wrap3 NDR_SECURITY util_tdb talloc
631                    replace util_reg samba-util samba-security
632                    errors3 dbwrap samba3-util''',
633                    allow_undefined_symbols=True,
634                    private_library=True)
635
636 bld.SAMBA3_SUBSYSTEM('REG_SMBCONF',
637                     source=REG_SMBCONF_SRC,
638                     deps='smbregistry',
639                     vars=locals())
640
641 bld.SAMBA3_SUBSYSTEM('REG_FULL',
642                     source=REG_FULL_SRC,
643                     deps='REG_SMBCONF tdb-wrap3',
644                     vars=locals())
645
646 bld.SAMBA3_LIBRARY('popt_samba3',
647                    source=POPT_LIB_SRC,
648                    deps='popt samba-util util_cmdline',
649                    vars=locals(),
650                    private_library=True)
651
652 bld.SAMBA3_LIBRARY('util_cmdline',
653                    source='lib/util_cmdline.c',
654                    deps='secrets3',
655                    private_library=True)
656
657 bld.SAMBA3_SUBSYSTEM('KRBCLIENT',
658                     source=KRBCLIENT_SRC,
659                     public_deps='krb5samba k5crypto gssapi LIBTSOCKET CLDAP LIBNMB',
660                     vars=locals())
661
662 bld.SAMBA3_SUBSYSTEM('samba3util',
663                    source=LIB_UTIL_SRC,
664                    deps='ndr samba-security NDR_SECURITY samba-util util_tdb ccan-hash',
665                    vars=locals())
666
667
668 bld.SAMBA3_SUBSYSTEM('TDB_LIB',
669                      source='''lib/dbwrap/dbwrap_open.c
670                      lib/dbwrap/dbwrap_ctdb.c
671                      lib/dbwrap/dbwrap_watch.c
672                      lib/g_lock.c''',
673                      deps='dbwrap')
674
675 bld.SAMBA3_SUBSYSTEM('samba3core',
676                    source='''lib/messages.c
677                    lib/messages_local.c
678                    lib/messages_ctdbd.c
679                    lib/ctdb_packet.c
680                    lib/ctdbd_conn.c
681                    lib/ctdb_conn.c
682                    lib/msg_channel.c
683                    lib/id_cache.c
684                    lib/talloc_dict.c
685                    lib/serverid.c
686                    lib/addrchange.c
687                    ../lib/util/debug_s3.c
688                    lib/dumpcore.c
689                    lib/interface.c
690                    lib/username.c
691                    lib/access.c lib/smbrun.c
692                    lib/wins_srv.c
693                    lib/substitute.c
694                    lib/substitute_generic.c
695                    lib/ms_fnmatch.c
696                    lib/tallocmsg.c
697                    lib/dmallocmsg.c
698                    intl/lang_tdb.c
699                    lib/gencache.c
700                    lib/events.c
701                    lib/server_contexts.c
702                    lib/server_prefork.c
703                    lib/server_prefork_util.c
704                    lib/ldap_escape.c
705                    lib/fncall.c
706                    libads/krb5_errs.c
707                    lib/system_smbd.c
708                    lib/audit.c
709                    lib/tevent_wait.c
710                    lib/idmap_cache.c
711                    lib/util_ea.c''',
712                    deps='''
713                         samba3util
714                         LIBTSOCKET
715                         NDR_MESSAGING
716                         LIBASYNC_REQ
717                         UTIL_PW
718                         SAMBA_VERSION
719                         PTHREADPOOL
720                         interfaces
721                         param
722                         dbwrap
723                         samba3-util
724                         errors3
725                         TDB_LIB''')
726
727 bld.SAMBA3_LIBRARY('smbd_shim',
728                    source='''lib/smbd_shim.c''',
729                    deps='talloc',
730                    private_library=True)
731
732 bld.SAMBA3_SUBSYSTEM('LIBNTLMSSP',
733                     source=LIBNTLMSSP_SRC,
734                     deps='NDR_NTLMSSP NTLMSSP_COMMON wbclient',
735                     vars=locals())
736
737 bld.SAMBA3_SUBSYSTEM('auth_generic',
738                     source='libsmb/auth_generic.c',
739                     deps='LIBNTLMSSP gse gensec',
740                     vars=locals())
741
742 bld.SAMBA3_LIBRARY('libsmb',
743                    source=LIBSMB_SRC,
744                    deps='''
745                    LIBNTLMSSP
746                    auth_generic
747                    CLDAP
748                    LIBNMB
749                    SPNEGO_PARSE
750                    LIBTSOCKET
751                    KRBCLIENT
752                    cli_smb_common
753                    util_cmdline
754                    tevent''',
755                    vars=locals(),
756                    private_library=True)
757
758 bld.SAMBA3_SUBSYSTEM('CLDAP',
759                     source='libads/cldap.c',
760                     deps='cli-ldap-common cli_cldap LIBTSOCKET',
761                     vars=locals())
762
763 # NOTE: The secrets3 library is a low level library used by several subsystems.
764 # PLEASE DO NOT make it depend on high level libraries like PDB, if you are
765 # doing that your design is wrong and needs changing. -SSS
766 bld.SAMBA3_LIBRARY('secrets3',
767                    source=SECRETS_SRC,
768                    deps='NDR_SECRETS param samba3util dbwrap',
769                    private_library=True,
770                    vars=locals())
771
772 bld.SAMBA3_LIBRARY('smbldap',
773                     source='lib/smbldap.c',
774                     deps='ldap lber samba-util param',
775                     enabled=bld.CONFIG_SET("HAVE_LDAP"),
776                     private_library=False,
777                     abi_directory='lib/ABI',
778                     abi_match='smbldap_*',
779                     pc_files=[],
780                     vnum='0',
781                     public_headers='include/smbldap.h include/smb_ldap.h')
782
783 bld.SAMBA3_LIBRARY('ads',
784                    source=LIBADS_SRC,
785                    deps='cli-ldap-common krb5samba ldap lber KRBCLIENT param LIBNMB libsmb DCUTIL smbldap',
786                    private_library=True,
787                    vars=locals())
788
789 bld.SAMBA3_SUBSYSTEM('LIBADS_SERVER',
790                     source=LIBADS_SERVER_SRC,
791                     deps='SERVER_MUTEX ndr-krb5pac krb5samba gssapi',
792                     vars=locals())
793
794 bld.SAMBA3_SUBSYSTEM('LIBADS_PRINTER',
795                     source=LIBADS_PRINTER_SRC,
796                     deps='samba-util krb5samba',
797                     vars=locals())
798
799 bld.SAMBA3_SUBSYSTEM('LIBAFS_SETTOKEN',
800                     source='lib/afs_settoken.c',
801                     deps='samba-util')
802
803 bld.SAMBA3_SUBSYSTEM('LIBAFS',
804                     source='lib/afs.c',
805                     deps='samba-util LIBAFS_SETTOKEN')
806
807 bld.SAMBA3_LIBRARY('smbconf',
808                    source=LIB_SMBCONF_SRC,
809                    deps='''
810                    CHARSET3
811                    LIBSMBCONF
812                    REG_SMBCONF
813                    SAMBA_VERSION
814                    cap
815                    charset
816                    cli_smb_common
817                    errors3
818                    param
819                    samba-util
820                    smbregistry
821                    talloc
822                    util_reg''',
823                    public_headers='../lib/smbconf/smbconf.h',
824                    pc_files=[],
825                    vnum='0')
826
827 bld.SAMBA3_LIBRARY('smbd_conn',
828                    source='smbd/conn.c',
829                    deps='samba3-util samba-util',
830                    private_library=True)
831
832 bld.SAMBA3_LIBRARY('smbd_base',
833                     source=SMBD_SRC_BASE,
834                     deps='''
835                     talloc
836                     tevent
837                     pdb
838                     libsmb
839                     msrpc3
840                     vfs
841                     vfs_default
842                     vfs_posixacl
843                     popt_samba3
844                     samba3core
845                     smbd_conn
846                     param_service
847                     AVAHI
848                     PRINTBASE
849                     PROFILE
850                     LOCKING
851                     LIBADS_SERVER
852                     LIBAFS
853                     RPC_SERVER
854                     NDR_SMBXSRV
855                     LIBASYS
856                     ccan-hash
857                     NDR_SMB_ACL
858                     netapi
859                     NDR_IOCTL
860                     ''' + bld.env['dmapi_lib'],
861                     private_library=True,
862                     vars=locals())
863
864 bld.SAMBA3_SUBSYSTEM('LOCKING',
865                     source='${LOCKING_SRC}',
866                     deps='''
867                     tdb_compat
868                     talloc
869                     NDR_OPEN_FILES
870                     FNAME_UTIL''',
871                     vars=locals())
872
873 bld.SAMBA3_SUBSYSTEM('PROFILE',
874                     source='${PROFILE_SRC}',
875                     deps='samba-util',
876                     vars=locals())
877
878 bld.SAMBA3_SUBSYSTEM('PRINTBASE',
879                     source=PRINTBASE_SRC,
880                     deps='samba-util tdb_compat',
881                     vars=locals())
882
883 bld.SAMBA3_SUBSYSTEM('PRINTBACKEND',
884                     source=PRINTBACKEND_SRC,
885                     deps='PRINTBASE LIBADS_PRINTER tdb_compat printing_migrate',
886                     vars=locals())
887
888 bld.SAMBA3_LIBRARY('printing_migrate',
889                     source='printing/nt_printing_migrate.c rpc_client/cli_winreg_spoolss.c printing/nt_printing_os2.c',
890                     deps='NDR_NTPRINTING cli_spoolss RPC_NDR_WINREG LIBCLI_WINREG param',
891                     vars=locals(),
892                     private_library=True)
893
894 bld.SAMBA3_SUBSYSTEM('PRINTING',
895                     source=PRINTING_SRC,
896                     deps='NDR_PRINTCAP tdb_compat cups',
897                     vars=locals())
898
899 bld.SAMBA3_SUBSYSTEM('PASSWD_UTIL',
900                     source=PASSWD_UTIL_SRC,
901                     deps='samba-util',
902                     vars=locals())
903
904 bld.SAMBA3_SUBSYSTEM('FNAME_UTIL',
905                     source=FNAME_UTIL_SRC,
906                     deps='samba-util',
907                     vars=locals())
908
909 bld.SAMBA3_SUBSYSTEM('LIBNET',
910                     source=LIBNET_SRC,
911                     deps='NDR_LIBNET_JOIN INIT_SAMR net_keytab pdb',
912                     vars=locals())
913
914 bld.SAMBA3_LIBRARY('net_keytab',
915                    source='libnet/libnet_keytab.c',
916                    deps='krb5samba ads',
917                    vars=locals(),
918                    private_library=True)
919
920
921 bld.SAMBA3_SUBSYSTEM('LIBNET_DSSYNC',
922                     source=LIBNET_DSSYNC_SRC,
923                     deps='LIBNET RPC_NDR_DRSUAPI',
924                     vars=locals())
925
926 bld.SAMBA3_SUBSYSTEM('LIBNET_SAMSYNC',
927                     source=LIBNET_SAMSYNC_SRC,
928                     deps='LIBNET LIBCLI_SAMSYNC',
929                     vars=locals())
930
931 bld.SAMBA3_SUBSYSTEM('LIBEVENTLOG',
932                     source=LIB_EVENTLOG_SRC,
933                     deps='NDR_EVENTLOG tdb_compat',
934                     vars=locals())
935
936 bld.SAMBA3_SUBSYSTEM('LIBNMB',
937                      source=LIBNMB_SRC,
938                      deps='addns lmhosts resolv',
939                      vars=locals())
940
941 bld.SAMBA3_SUBSYSTEM('SERVICES',
942                     source=SERVICES_SRC,
943                     deps='samba-util',
944                     vars=locals())
945
946 bld.SAMBA3_SUBSYSTEM('PLAINTEXT_AUTH',
947                     source=PLAINTEXT_AUTH_SRC,
948                     deps='pam PAM_ERRORS',
949                     vars=locals())
950
951 bld.SAMBA3_SUBSYSTEM('PASSCHANGE',
952                     source=PASSCHANGE_SRC,
953                     deps='''LIBCLI_SAMR
954                     INIT_LSA
955                     msrpc3
956                     krb5samba''',
957                     vars=locals())
958
959 bld.SAMBA3_SUBSYSTEM('SAMBA_VERSION',
960                     source='lib/version.c',
961                     deps='samba-util')
962
963 bld.SAMBA3_SUBSYSTEM('SLCACHE',
964                     source=SLCACHE_SRC,
965                     deps='samba-util tdb_compat',
966                     vars=locals())
967
968 bld.SAMBA3_SUBSYSTEM('DCUTIL',
969                     source=DCUTIL_SRC,
970                     deps='ads msrpc3 libcli_lsa3',
971                     vars=locals())
972
973 bld.SAMBA3_LIBRARY('trusts_util',
974                    source='libsmb/trusts_util.c',
975                    deps='libcli_netlogon3 msrpc3 pdb',
976                    vars=locals(),
977                    private_library=True)
978
979 bld.SAMBA3_SUBSYSTEM('tdb-wrap3',
980                     source='lib/util_tdb.c',
981                     deps='talloc samba3-util',
982                     vars=locals())
983
984 bld.SAMBA3_LIBRARY('samba3-util',
985                    source='''lib/util_sec.c lib/util_str.c lib/adt_tree.c lib/util_malloc.c lib/memcache.c lib/namearray.c lib/file_id.c''',
986                    deps='samba-util charset',
987                    private_library=True)
988
989 bld.SAMBA_LIBRARY('xattr_tdb',
990                   source='lib/xattr_tdb.c',
991                   deps='NDR_XATTR dbwrap samba3-util',
992                   private_library=True)
993
994 bld.SAMBA3_LIBRARY('CHARSET3',
995                     source='''lib/charcnv.c lib/fstring.c''',
996                     public_deps='ICONV_WRAPPER charset',
997                     deps='samba-util samba3-util',
998                    private_library=True)
999
1000 bld.SAMBA3_SUBSYSTEM('errors3',
1001                      source='libsmb/errormap.c libsmb/smberr.c lib/errmap_unix.c',
1002                      deps='errors')
1003
1004 bld.SAMBA3_SUBSYSTEM('LIBCLI_SAMR',
1005                     source=LIBCLI_SAMR_SRC,
1006                     deps='RPC_NDR_SAMR')
1007
1008 bld.SAMBA3_LIBRARY('libcli_lsa3',
1009                    source=LIBCLI_LSA_SRC,
1010                    deps='RPC_NDR_LSA INIT_LSA',
1011                    private_library=True)
1012
1013 bld.SAMBA3_LIBRARY('libcli_netlogon3',
1014                    source=LIBCLI_NETLOGON_SRC,
1015                    deps='RPC_NDR_NETLOGON INIT_NETLOGON cliauth param',
1016                    private_library=True)
1017
1018 bld.SAMBA3_LIBRARY('cli_spoolss',
1019                    source=LIBCLI_SPOOLSS_SRC,
1020                    deps='RPC_NDR_SPOOLSS param secrets3',
1021                    private_library=True)
1022
1023 bld.SAMBA3_SUBSYSTEM('LIBCLI_WINREG',
1024                     source='rpc_client/cli_winreg.c',
1025                     deps='RPC_NDR_WINREG')
1026
1027 bld.SAMBA3_SUBSYSTEM('LIBCLI_WINREG_INTERNAL',
1028                     source='rpc_client/cli_winreg_int.c',
1029                     deps='LIBCLI_WINREG RPC_NCACN_NP')
1030
1031 bld.SAMBA3_SUBSYSTEM('RPC_CLIENT_SCHANNEL',
1032                     source=RPC_CLIENT_SCHANNEL_SRC,
1033                     deps='samba-util krb5samba',
1034                     vars=locals())
1035
1036 bld.SAMBA3_SUBSYSTEM('INIT_LSA',
1037                     source='rpc_client/init_lsa.c',
1038                     deps='samba-util')
1039
1040 bld.SAMBA3_SUBSYSTEM('INIT_NETLOGON',
1041                     source='rpc_client/init_netlogon.c',
1042                     deps='samba-util')
1043
1044 bld.SAMBA3_SUBSYSTEM('INIT_SAMR',
1045                     source='rpc_client/init_samr.c',
1046                     deps='samba-util')
1047
1048 ########################## BINARIES #################################
1049
1050 bld.SAMBA3_BINARY('smbd/smbd',
1051                  source='${SMBD_SRC_MAIN}',
1052                  deps='smbd_base EPMD LSASD',
1053                  install_path='${SBINDIR}',
1054                  vars=locals())
1055
1056 bld.SAMBA3_BINARY('nmbd/nmbd',
1057                  source='''nmbd/asyncdns.c nmbd/nmbd.c nmbd/nmbd_become_dmb.c
1058                  nmbd/nmbd_become_lmb.c nmbd/nmbd_browserdb.c
1059                  nmbd/nmbd_browsesync.c nmbd/nmbd_elections.c
1060                  nmbd/nmbd_incomingdgrams.c nmbd/nmbd_incomingrequests.c
1061                  nmbd/nmbd_lmhosts.c nmbd/nmbd_logonnames.c nmbd/nmbd_mynames.c
1062                  nmbd/nmbd_namelistdb.c nmbd/nmbd_namequery.c
1063                  nmbd/nmbd_nameregister.c nmbd/nmbd_namerelease.c
1064                  nmbd/nmbd_nodestatus.c nmbd/nmbd_packets.c
1065                  nmbd/nmbd_processlogon.c nmbd/nmbd_responserecordsdb.c
1066                  nmbd/nmbd_sendannounce.c nmbd/nmbd_serverlistdb.c
1067                  nmbd/nmbd_subnetdb.c nmbd/nmbd_winsproxy.c nmbd/nmbd_winsserver.c
1068                  nmbd/nmbd_workgroupdb.c nmbd/nmbd_synclists.c''',
1069                  deps='''
1070                  talloc
1071                  tevent
1072                  param
1073                  libsmb
1074                  popt_samba3
1075                  PROFILE''',
1076                  install_path='${SBINDIR}')
1077
1078
1079 bld.SAMBA3_SUBSYSTEM('TDB_VALIDATE',
1080                      source='lib/tdb_validate.c',
1081                      deps='samba-util')
1082
1083
1084 bld.SAMBA3_BINARY('winbindd/winbindd',
1085                  source='''winbindd/winbindd.c
1086                  winbindd/winbindd_group.c
1087                  winbindd/winbindd_util.c
1088                  winbindd/winbindd_cache.c
1089                  winbindd/winbindd_pam.c
1090                  winbindd/winbindd_misc.c
1091                  winbindd/winbindd_cm.c
1092                  winbindd/winbindd_wins_byip.c
1093                  winbindd/winbindd_wins_byname.c
1094                  winbindd/winbindd_msrpc.c
1095                  winbindd/winbindd_rpc.c
1096                  winbindd/winbindd_reconnect.c
1097                  winbindd/winbindd_ads.c
1098                  winbindd/winbindd_samr.c
1099                  winbindd/winbindd_dual.c
1100                  winbindd/winbindd_dual_ndr.c
1101                  winbindd/winbindd_dual_srv.c
1102                  winbindd/winbindd_async.c
1103                  winbindd/winbindd_creds.c
1104                  winbindd/winbindd_cred_cache.c
1105                  winbindd/winbindd_ccache_access.c
1106                  winbindd/winbindd_domain.c
1107                  winbindd/winbindd_idmap.c
1108                  winbindd/winbindd_locator.c
1109                  winbindd/winbindd_ndr.c
1110                  winbindd/wb_ping.c
1111                  winbindd/wb_lookupsid.c
1112                  winbindd/wb_lookupsids.c
1113                  winbindd/wb_lookupname.c
1114                  winbindd/wb_uid2sid.c
1115                  winbindd/wb_gid2sid.c
1116                  winbindd/wb_sids2xids.c
1117                  winbindd/wb_queryuser.c
1118                  winbindd/wb_lookupuseraliases.c
1119                  winbindd/wb_lookupusergroups.c
1120                  winbindd/wb_getpwsid.c
1121                  winbindd/wb_gettoken.c
1122                  winbindd/wb_seqnum.c
1123                  winbindd/wb_seqnums.c
1124                  winbindd/wb_group_members.c
1125                  winbindd/wb_getgrsid.c
1126                  winbindd/wb_query_user_list.c
1127                  winbindd/wb_fill_pwent.c
1128                  winbindd/wb_next_pwent.c
1129                  winbindd/wb_next_grent.c
1130                  winbindd/wb_dsgetdcname.c
1131                  winbindd/winbindd_lookupsid.c
1132                  winbindd/winbindd_lookupsids.c
1133                  winbindd/winbindd_lookupname.c
1134                  winbindd/winbindd_sid_to_uid.c
1135                  winbindd/winbindd_sid_to_gid.c
1136                  winbindd/winbindd_uid_to_sid.c
1137                  winbindd/winbindd_gid_to_sid.c
1138                  winbindd/winbindd_sids_to_xids.c
1139                  winbindd/winbindd_allocate_uid.c
1140                  winbindd/winbindd_allocate_gid.c
1141                  winbindd/winbindd_getpwsid.c
1142                  winbindd/winbindd_getpwnam.c
1143                  winbindd/winbindd_getpwuid.c
1144                  winbindd/winbindd_getsidaliases.c
1145                  winbindd/winbindd_getuserdomgroups.c
1146                  winbindd/winbindd_getgroups.c
1147                  winbindd/winbindd_show_sequence.c
1148                  winbindd/winbindd_getgrgid.c
1149                  winbindd/winbindd_getgrnam.c
1150                  winbindd/winbindd_getusersids.c
1151                  winbindd/winbindd_lookuprids.c
1152                  winbindd/winbindd_setpwent.c
1153                  winbindd/winbindd_getpwent.c
1154                  winbindd/winbindd_endpwent.c
1155                  winbindd/winbindd_setgrent.c
1156                  winbindd/winbindd_getgrent.c
1157                  winbindd/winbindd_endgrent.c
1158                  winbindd/winbindd_dsgetdcname.c
1159                  winbindd/winbindd_getdcname.c
1160                  winbindd/winbindd_list_users.c
1161                  winbindd/winbindd_list_groups.c
1162                  winbindd/winbindd_check_machine_acct.c
1163                  winbindd/winbindd_change_machine_acct.c
1164                  winbindd/winbindd_ping_dc.c
1165                  winbindd/winbindd_pam_auth.c
1166                  winbindd/winbindd_pam_logoff.c
1167                  winbindd/winbindd_pam_chauthtok.c
1168                  winbindd/winbindd_pam_auth_crap.c
1169                  winbindd/winbindd_pam_chng_pswd_auth_crap.c''',
1170                  deps='''
1171                  talloc
1172                  tevent
1173                  pdb
1174                  popt_samba3
1175                  idmap
1176                  ads
1177                  msrpc3
1178                  nss_info
1179                  LIBAFS
1180                  LIBADS_SERVER
1181                  LIBCLI_SAMR
1182                  SLCACHE
1183                  RPC_NDR_DSSETUP
1184                  RPC_NDR_WBINT
1185                  SRV_NDR_WBINT
1186                  RPC_SAMR
1187                  RPC_LSARPC
1188                  RPC_NCACN_NP
1189                  RPC_PIPE_REGISTER
1190                  WB_REQTRANS
1191                  TDB_VALIDATE
1192                  ''',
1193                  enabled=bld.env.build_winbind,
1194                  install_path='${SBINDIR}')
1195
1196 bld.SAMBA3_BINARY('rpcclient/rpcclient',
1197                  source=RPCCLIENT_SRC,
1198                  deps='''
1199                  talloc
1200                  popt_samba3
1201                  pdb
1202                  libsmb
1203                  param
1204                  ndr-standard
1205                  msrpc3
1206                  SMBREADLINE
1207                  trusts_util
1208                  RPC_NDR_WINREG
1209                  RPC_NDR_ECHO
1210                  RPC_CLIENT_SCHANNEL
1211                  DCUTIL
1212                  LIBCLI_SAMR
1213                  libcli_lsa3
1214                  libcli_netlogon3
1215                  cli_spoolss
1216                  RPC_NDR_SRVSVC
1217                  RPC_NDR_WKSSVC
1218                  RPC_NDR_DSSETUP
1219                  RPC_NDR_DFS
1220                  RPC_NDR_DRSUAPI
1221                  RPC_NDR_NTSVCS
1222                  RPC_NDR_EVENTLOG
1223                  INIT_SAMR
1224                  RPC_NDR_FSRVP
1225                  ''',
1226                  vars=locals())
1227
1228 bld.SAMBA3_BINARY('client/smbclient',
1229                  source='''client/client.c
1230                  client/clitar.c
1231                  client/dnsbrowse.c''',
1232                  deps='''
1233                  talloc
1234                  popt_samba3
1235                  param
1236                  ndr-standard
1237                  SMBREADLINE
1238                  libsmb
1239                  msrpc3
1240                  RPC_NDR_SRVSVC
1241                  cli_smb_common''')
1242
1243 bld.SAMBA3_BINARY('net',
1244                  source=NET_SRC,
1245                  deps='''
1246                  talloc
1247                  netapi
1248                  addns
1249                  samba_intl
1250                  popt_samba3
1251                  pdb
1252                  libsmb
1253                  param
1254                  KRBCLIENT
1255                  ndr-standard
1256                  msrpc3
1257                  gpo
1258                  ads
1259                  smbd_base
1260                  LIBADS_SERVER
1261                  LIBADS_PRINTER
1262                  SMBREADLINE
1263                  PASSWD_UTIL
1264                  LIBNET
1265                  LIBNET_DSSYNC
1266                  LIBNET_SAMSYNC
1267                  LIBEVENTLOG
1268                  REGFIO
1269                  NDR_NTPRINTING
1270                  RPC_NDR_WINREG
1271                  RPC_CLIENT_SCHANNEL
1272                  LIBCLI_SAMR
1273                  libcli_lsa3
1274                  libcli_netlogon3
1275                  cli_spoolss
1276                  RPC_NDR_SRVSVC
1277                  RPC_NDR_SVCCTL
1278                  RPC_NDR_DSSETUP
1279                  RPC_NDR_INITSHUTDOWN
1280                  printing_migrate
1281                  trusts_util''',
1282                  vars=locals())
1283
1284 bld.SAMBA3_BINARY('profiles',
1285                  source=PROFILES_SRC,
1286                  deps='''
1287                  talloc
1288                  popt_samba3
1289                  param
1290                  REGFIO''',
1291                  vars=locals())
1292
1293 bld.SAMBA3_BINARY('smbspool',
1294                  source=CUPS_SRC,
1295                  deps='''
1296                  talloc
1297                  popt_samba3
1298                  param
1299                  libsmb
1300                  samba3core''',
1301                  vars=locals())
1302
1303 bld.SAMBA3_BINARY('testparm',
1304                  source=TESTPARM_SRC,
1305                  deps='''
1306                  talloc
1307                  param
1308                  popt_samba3''',
1309                  vars=locals())
1310
1311 bld.SAMBA3_BINARY('smbta-util',
1312                  source=SMBTA_UTIL_SRC,
1313                  deps='''
1314                  talloc
1315                  secrets3
1316                  param''',
1317                  vars=locals())
1318
1319 bld.SAMBA3_BINARY('smbstatus',
1320                  source=STATUS_SRC,
1321                  deps='''
1322                  talloc
1323                  param
1324                  popt_samba3
1325                  smbd_base
1326                  LOCKING
1327                  PROFILE''',
1328                  vars=locals())
1329
1330 bld.SAMBA3_BINARY('smbcontrol',
1331                  source=SMBCONTROL_SRC,
1332                  deps='''
1333                  talloc
1334                  param
1335                  popt_samba3
1336                  PRINTBASE''',
1337                  vars=locals())
1338
1339 bld.SAMBA3_BINARY('smbtree',
1340                  source=SMBTREE_SRC,
1341                  deps='''
1342                  talloc
1343                  param
1344                  libsmb
1345                  msrpc3
1346                  popt_samba3
1347                  PROFILE
1348                  RPC_NDR_SRVSVC''',
1349                  vars=locals())
1350
1351 bld.SAMBA3_BINARY('smbpasswd',
1352                  source=SMBPASSWD_SRC,
1353                  deps='''
1354                  talloc
1355                  param
1356                  pdb
1357                  PASSWD_UTIL
1358                  PASSCHANGE''',
1359                  vars=locals())
1360
1361 bld.SAMBA3_BINARY('pdbedit',
1362                  source=PDBEDIT_SRC,
1363                  deps='''
1364                  talloc
1365                  param
1366                  popt_samba3
1367                  pdb
1368                  PASSWD_UTIL''',
1369                  vars=locals())
1370
1371 bld.SAMBA3_BINARY('smbget',
1372                  source=SMBGET_SRC,
1373                  deps='''
1374                  talloc
1375                  popt_samba3
1376                  smbclient''',
1377                  vars=locals())
1378
1379 bld.SAMBA3_BINARY('nmblookup',
1380                  source=NMBLOOKUP_SRC,
1381                  deps='''
1382                  talloc
1383                  param
1384                  popt_samba3
1385                  LIBNMB''',
1386                  vars=locals())
1387
1388 bld.SAMBA3_BINARY('smbtorture' + bld.env.suffix3,
1389                  source=SMBTORTURE_SRC,
1390                  deps='''
1391                  talloc
1392                  param
1393                  libsmb
1394                  msrpc3
1395                  TLDAP
1396                  RPC_NDR_ECHO
1397                  WB_REQTRANS
1398                  LOCKING
1399                  NDR_OPEN_FILES
1400                  idmap
1401                  ''',
1402                  install=False,
1403                  vars=locals())
1404
1405 bld.SAMBA3_BINARY('smbconftort',
1406                  source=SMBCONFTORT_SRC,
1407                  deps='''
1408                  talloc
1409                  param
1410                  popt_samba3''',
1411                  install=False,
1412                  vars=locals())
1413
1414 bld.SAMBA3_BINARY('replacetort',
1415                  source='../lib/replace/test/main.c',
1416                  deps='replace replace-test',
1417                  install=False)
1418
1419 bld.SAMBA3_BINARY('msgtest',
1420                  source=MSGTEST_SRC,
1421                  deps='''
1422                  talloc
1423                  param''',
1424                  install=False,
1425                  vars=locals())
1426
1427 bld.SAMBA3_BINARY('smbcacls',
1428                  source=SMBCACLS_SRC,
1429                  deps='''
1430                  talloc
1431                  popt_samba3
1432                  msrpc3
1433                  libcli_lsa3
1434                  krb5samba''',
1435                  vars=locals())
1436
1437 bld.SAMBA3_BINARY('smbcquotas',
1438                  source=SMBCQUOTAS_SRC,
1439                  deps='''
1440                  talloc
1441                  popt_samba3
1442                  libsmb
1443                  msrpc3
1444                  libcli_lsa3''',
1445                  vars=locals())
1446
1447 bld.SAMBA3_BINARY('eventlogadm',
1448                  source=EVTLOGADM_SRC,
1449                  deps='''
1450                  talloc
1451                  param
1452                  LIBEVENTLOG''',
1453                  vars=locals())
1454
1455 bld.SAMBA3_BINARY('sharesec',
1456                  source=SHARESEC_SRC,
1457                  deps='''
1458                  talloc
1459                  popt_samba3''',
1460                  vars=locals())
1461
1462 bld.SAMBA3_BINARY('pdbtest',
1463                  source=PDBTEST_SRC,
1464                  deps='''
1465                  talloc
1466                  pdb
1467                  popt_samba3
1468                  AUTH_COMMON
1469                  auth''',
1470                  install=False,
1471                  vars=locals())
1472
1473 bld.SAMBA3_BINARY('vfstest',
1474                  source=VFSTEST_SRC,
1475                  deps='''
1476                  vfs
1477                  popt_samba3
1478                  SMBREADLINE''',
1479                  install=False,
1480                  vars=locals())
1481
1482 bld.SAMBA3_BINARY('log2pcap',
1483                  source=LOG2PCAP_SRC,
1484                  deps='''talloc popt''',
1485                  install=False,
1486                  vars=locals())
1487
1488 bld.SAMBA3_BINARY('locktest2',
1489                  source=LOCKTEST2_SRC,
1490                  deps='''
1491                  talloc
1492                  param
1493                  libsmb
1494                  LOCKING''',
1495                  install=False,
1496                  vars=locals())
1497
1498 bld.SAMBA3_BINARY('debug2html',
1499                  source=DEBUG2HTML_SRC,
1500                  deps='''talloc popt''',
1501                  install=False,
1502                  vars=locals())
1503
1504 bld.SAMBA3_BINARY('smbfilter',
1505                  source=SMBFILTER_SRC,
1506                  deps='''
1507                  talloc
1508                  param
1509                  LIBNMB''',
1510                  install=False,
1511                  vars=locals())
1512
1513 bld.SAMBA3_BINARY('versiontest',
1514                  source='lib/version_test.c',
1515                  deps='''
1516                  SAMBA_VERSION
1517                  param''',
1518                  install=False,
1519                  vars=locals())
1520
1521 bld.SAMBA3_BINARY('ntlm_auth',
1522                  source=NTLM_AUTH_SRC,
1523                  deps='''
1524                  talloc
1525                  krb5samba
1526                  iniparser
1527                  libsmb
1528                  popt_samba3
1529                  LIBNTLMSSP gse gensec''',
1530                  vars=locals())
1531
1532 bld.SAMBA3_BINARY('timelimit',
1533                  source='script/tests/timelimit.c',
1534                  install=False,
1535                  vars=locals())
1536
1537 bld.SAMBA3_BINARY('rpc_open_tcp',
1538                  source=RPC_OPEN_TCP_SRC,
1539                  deps='''
1540                  talloc
1541                  msrpc3''',
1542                  install=False,
1543                  vars=locals())
1544
1545 bld.SAMBA3_BINARY('test_lp_load',
1546                  source=TEST_LP_LOAD_SRC,
1547                  deps='''
1548                  talloc
1549                  param
1550                  popt_samba3''',
1551                  install=False,
1552                  vars=locals())
1553
1554 bld.SAMBA3_BINARY('dbwrap_tool',
1555                  source=DBWRAP_TOOL_SRC,
1556                  deps='''
1557                  talloc
1558                  popt_samba3''',
1559                  vars=locals())
1560
1561 bld.SAMBA3_BINARY('dbwrap_torture',
1562                  source=DBWRAP_TORTURE_SRC,
1563                  deps='''
1564                  talloc
1565                  popt_samba3''',
1566                  install=False,
1567                  vars=locals())
1568
1569 bld.SAMBA3_BINARY('split_tokens',
1570                  source=SPLIT_TOKENS_SRC,
1571                  deps='''
1572                  talloc
1573                  popt_samba3''',
1574                  install=False,
1575                  vars=locals())
1576
1577 bld.SAMBA3_BINARY('vlp',
1578                  source=VLP_SRC,
1579                  deps='''
1580                  talloc
1581                  param''',
1582                  install=False,
1583                  vars=locals())
1584
1585 bld.SAMBA3_PYTHON('pysmbd',
1586                   source='smbd/pysmbd.c',
1587                   deps='smbd_base pyrpc_util',
1588                   realname='samba/samba3/smbd.so'
1589                   )
1590
1591 bld.SAMBA3_PYTHON('pylibsmb',
1592                   source='libsmb/pylibsmb.c',
1593                   deps='smbclient samba-credentials',
1594                   realname='samba/samba3/libsmb_samba_internal.so'
1595                   )
1596
1597 bld.SAMBA3_BINARY('samba-regedit',
1598                   source="""utils/regedit.c utils/regedit_samba3.c
1599                             utils/regedit_wrap.c utils/regedit_treeview.c
1600                             utils/regedit_valuelist.c utils/regedit_dialog.c
1601                             utils/regedit_hexedit.c""",
1602                   deps='ncurses menu panel form registry param popt_samba3 smbregistry',
1603                   enabled=bld.env.build_regedit,
1604                   vars=locals())
1605
1606 ########################## INCLUDES #################################
1607
1608 bld.RECURSE('auth')
1609 bld.RECURSE('libgpo/gpext')
1610 bld.RECURSE('lib/pthreadpool')
1611 bld.RECURSE('lib/asys')
1612 bld.RECURSE('librpc')
1613 bld.RECURSE('librpc/idl')
1614 bld.RECURSE('libsmb')
1615 bld.RECURSE('modules')
1616 bld.RECURSE('pam_smbpass')
1617 bld.RECURSE('passdb')
1618 bld.RECURSE('rpc_server')
1619 bld.RECURSE('script')
1620 bld.RECURSE('winbindd')
1621 bld.RECURSE('../examples/auth')
1622 bld.RECURSE('../examples/libsmbclient')
1623 bld.RECURSE('../examples/pdb')
1624 bld.RECURSE('../examples/VFS')
1625 bld.RECURSE('lib/netapi/tests')
1626 bld.RECURSE('lib/netapi/examples')
1627
1628 bld.ENFORCE_GROUP_ORDERING()
1629 bld.CHECK_PROJECT_RULES()
1630