6c1eac69054c8ecd3279aff46bcdeaff7244b933
[samba.git] / source4 / wscript_build
1 #!/usr/bin/env python
2
3 # top level waf build script for samba4
4
5 import os
6 srcdir = ".."
7
8 # create separate build groups for building the asn1 and et compiler, then
9 # building the C from ASN1 and IDL, and finally the main build process
10 bld.SETUP_BUILD_GROUPS()
11
12 bld.SAMBA_MKVERSION('version.h')
13
14 # bld.ENABLE_MAGIC_ORDERING()
15
16 # we don't always use consistent names for our subsystems.
17 # this sets up some aliases
18 bld.TARGET_ALIAS('attr', 'XATTR')
19 bld.TARGET_ALIAS('sasl2', 'SASL')
20 bld.TARGET_ALIAS('RPC_NDR_SRVSVC', 'NDR_SRVSVC')
21 bld.TARGET_ALIAS('RPC_NDR_MGMT', 'dcerpc_mgmt')
22
23 # missing subsystems - need looking at
24 bld.SAMBA_SUBSYSTEM('NETAPI', '')       # for external libnet
25 bld.SAMBA_SUBSYSTEM('OPENPTY', '')      # external openpty library
26 bld.SAMBA_SUBSYSTEM('SMBCLIENT', '')    # for external libsmbclient
27 bld.SAMBA_SUBSYSTEM('BLKID', '')        # blkid library from e2fsprogs
28 bld.SAMBA_SUBSYSTEM('SETPROCTITLE', '') # external setproctitle library
29
30 # subsystems that are confirmed to be missing. These should
31 # be removed from the build completely when we only have
32 # one build system
33 bld.SAMBA_SUBSYSTEM('DCOM_PROXY_DCOM', '')
34 bld.SAMBA_SUBSYSTEM('smbcalls', '')
35 bld.SAMBA_SUBSYSTEM('HDB_LDB', '')
36 bld.SAMBA_SUBSYSTEM('NDR_MISC', '')
37 bld.SAMBA_SUBSYSTEM('NDR_SAMR', '')
38 bld.SAMBA_SUBSYSTEM('SCHANNELDB', '')
39 bld.SAMBA_SUBSYSTEM('pyldb_util', '')
40 bld.SAMBA_SUBSYSTEM('TORTURE_LDB_MODULE', '')
41
42
43 bld.RECURSE('../lib/replace')
44 bld.RECURSE('../lib/talloc')
45 bld.RECURSE('../lib/tdb')
46 bld.RECURSE('../lib/tevent')
47 bld.RECURSE('lib/ldb')
48 bld.RECURSE('dynconfig')
49 bld.RECURSE('../lib/util/charset')
50 bld.RECURSE('scripting/python')
51 bld.RECURSE('param')
52 bld.RECURSE('librpc')
53 bld.RECURSE('dsdb')
54 bld.RECURSE('smbd')
55 bld.RECURSE('cluster')
56 bld.RECURSE('smbd')
57 bld.RECURSE('libnet')
58 bld.RECURSE('auth')
59 bld.RECURSE('../nsswitch')
60 bld.RECURSE('../nsswitch/libwbclient')
61 bld.RECURSE('lib/samba3')
62 bld.RECURSE('lib/socket')
63 bld.RECURSE('lib/ldb-samba')
64 bld.RECURSE('lib/tls')
65 bld.RECURSE('lib/registry')
66 bld.RECURSE('lib/messaging')
67 bld.RECURSE('lib/events')
68 bld.RECURSE('lib/cmdline')
69 bld.RECURSE('../lib/socket_wrapper')
70 bld.RECURSE('../lib/nss_wrapper')
71 bld.RECURSE('../lib/uid_wrapper')
72 bld.RECURSE('../lib/popt')
73 bld.RECURSE('lib/stream')
74 bld.RECURSE('../lib/util')
75 bld.RECURSE('../lib/tdr')
76 bld.RECURSE('../lib/tsocket')
77 bld.RECURSE('../lib/crypto')
78 bld.RECURSE('../lib/torture')
79 bld.RECURSE('../lib/zlib')
80 bld.RECURSE('lib')
81 bld.RECURSE('lib/com')
82 bld.RECURSE('smb_server')
83 bld.RECURSE('rpc_server')
84 bld.RECURSE('ldap_server')
85 bld.RECURSE('web_server')
86 bld.RECURSE('winbind')
87 bld.RECURSE('nbt_server')
88 bld.RECURSE('wrepl_server')
89 bld.RECURSE('cldap_server')
90 bld.RECURSE('ntp_signd')
91 bld.RECURSE('utils/net')
92 bld.RECURSE('utils')
93 bld.RECURSE('ntvfs')
94 bld.RECURSE('ntptr')
95 bld.RECURSE('torture')
96 bld.RECURSE('../librpc')
97 bld.RECURSE('client')
98 bld.RECURSE('libcli')
99 bld.RECURSE('../libcli/smb')
100 bld.RECURSE('../libcli/cldap')
101 bld.RECURSE('kdc')
102 bld.RECURSE('../lib/smbconf')
103 bld.RECURSE('../lib/async_req')
104 bld.RECURSE('../libcli/security')
105 bld.RECURSE('../libcli/ldap')
106 bld.RECURSE('../libcli/nbt')
107 bld.RECURSE('../libcli/auth')
108 bld.RECURSE('../libcli/drsuapi')
109 bld.RECURSE('../libcli/samsync')
110 bld.RECURSE('lib/policy')
111 bld.RECURSE('../libcli/named_pipe_auth')
112 bld.RECURSE('heimdal_build')
113 bld.RECURSE('lib/smbreadline')
114 bld.RECURSE('../codepages')
115 bld.RECURSE('setup')
116 bld.RECURSE('scripting')
117 bld.RECURSE('../pidl')
118 bld.RECURSE('../lib')
119
120 # install some extra empty directories
121 bld.INSTALL_DIRS("", "${LOCKDIR} ${SYSCONFDIR} ${LOCKDIR} ${PIDDIR} ${LOCALSTATEDIR}/lib ${PRIVATEDIR}/smbd.tmp/messaging")