3 # top level waf build script for samba4
10 # mark this as a top level build, for source3 rules
11 bld
.env
.toplevel_build
= True
12 bld
.env
.use_intree_heimdal
= True
15 # create separate build groups for building the asn1 and et compiler, then
16 # building the C from ASN1 and IDL, and finally the main build process
17 bld
.SETUP_BUILD_GROUPS()
18 bld
.AUTOCLEANUP_STALE_FILES()
20 # enable building of public headers in the build tree
21 bld
.env
.build_public_headers
= 'include/public'
23 # these are includes which appear in public headers, but with #ifdef conditional
24 # compilation, so they are safe
25 bld
.env
.public_headers_skip
= ['param/param_proto.h', 'lib/ldb_compat.h']
27 # force headers to use SAMBA4 rules
28 bld
.env
.public_headers_replace
= { '#if _SAMBA_BUILD_ == 4' : '#if 1 /* _SAMBA_BUILD_ == 4 */' }
30 samba_version
.load_version(bld
.env
)
31 bld
.SAMBA_MKVERSION('version.h')
33 # bld.ENABLE_MAGIC_ORDERING()
35 bld
.RECURSE('lib/replace')
36 bld
.RECURSE('lib/talloc')
37 bld
.RECURSE('lib/tdb')
38 bld
.RECURSE('lib/tevent')
39 bld
.RECURSE('source4/lib/ldb')
40 bld
.RECURSE('source4/dynconfig')
41 bld
.RECURSE('lib/util/charset')
42 bld
.RECURSE('source4/scripting/python')
43 bld
.RECURSE('source4/param')
44 bld
.RECURSE('source4/librpc')
45 bld
.RECURSE('source4/dsdb')
46 bld
.RECURSE('source4/smbd')
47 bld
.RECURSE('source4/cluster')
48 bld
.RECURSE('source4/smbd')
49 bld
.RECURSE('source4/libnet')
50 bld
.RECURSE('source4/auth')
52 bld
.RECURSE('lib/iniparser/src')
53 bld
.RECURSE('nsswitch')
54 bld
.RECURSE('nsswitch/libwbclient')
55 bld
.RECURSE('source4/lib/samba3')
56 bld
.RECURSE('source4/lib/socket')
57 bld
.RECURSE('source4/lib/ldb-samba')
58 bld
.RECURSE('source4/lib/tls')
59 bld
.RECURSE('source4/lib/registry')
60 bld
.RECURSE('source4/lib/messaging')
61 bld
.RECURSE('source4/lib/events')
62 bld
.RECURSE('source4/lib/cmdline')
63 bld
.RECURSE('lib/socket_wrapper')
64 bld
.RECURSE('lib/nss_wrapper')
65 bld
.RECURSE('lib/uid_wrapper')
66 bld
.RECURSE('lib/popt')
67 bld
.RECURSE('source4/lib/stream')
68 bld
.RECURSE('lib/util')
69 bld
.RECURSE('lib/tdr')
70 bld
.RECURSE('lib/tsocket')
71 bld
.RECURSE('lib/crypto')
72 bld
.RECURSE('lib/torture')
73 bld
.RECURSE('lib/zlib')
74 bld
.RECURSE('source4/lib')
75 bld
.RECURSE('source4/lib/com')
76 bld
.RECURSE('source4/dns_server')
77 bld
.RECURSE('source4/echo_server')
78 bld
.RECURSE('source4/smb_server')
79 bld
.RECURSE('source4/rpc_server')
80 bld
.RECURSE('source4/ldap_server')
81 bld
.RECURSE('source4/web_server')
82 bld
.RECURSE('source4/winbind')
83 bld
.RECURSE('source4/nbt_server')
84 bld
.RECURSE('source4/wrepl_server')
85 bld
.RECURSE('source4/cldap_server')
86 bld
.RECURSE('source4/ntp_signd')
87 bld
.RECURSE('source4/samba_tool')
88 bld
.RECURSE('source4/utils')
89 bld
.RECURSE('source4/ntvfs')
90 bld
.RECURSE('source4/ntptr')
91 bld
.RECURSE('source4/torture')
93 bld
.RECURSE('source4/client')
94 bld
.RECURSE('source4/libcli')
95 bld
.RECURSE('libcli/smb')
96 bld
.RECURSE('libcli/cldap')
97 bld
.RECURSE('lib/subunit/c')
98 bld
.RECURSE('source4/kdc')
99 bld
.RECURSE('lib/smbconf')
100 bld
.RECURSE('lib/async_req')
101 bld
.RECURSE('libcli/security')
102 bld
.RECURSE('libcli/ldap')
103 bld
.RECURSE('libcli/nbt')
104 bld
.RECURSE('libcli/netlogon')
105 bld
.RECURSE('libcli/auth')
106 bld
.RECURSE('libcli/drsuapi')
107 bld
.RECURSE('libcli/echo')
108 bld
.RECURSE('libcli/samsync')
109 bld
.RECURSE('libcli/registry')
110 bld
.RECURSE('source4/lib/policy')
111 bld
.RECURSE('libcli/named_pipe_auth')
112 bld
.RECURSE('source4/heimdal_build')
113 bld
.RECURSE('libcli/smbreadline')
114 bld
.RECURSE('codepages')
115 bld
.RECURSE('source4/setup')
116 bld
.RECURSE('source4/scripting')
119 bld
.RECURSE('libds/common')
120 if bld
.env
.enable_s3build
:
121 bld
.RECURSE('source3')
123 bld
.RECURSE('testsuite/headers')
125 # install some extra empty directories
126 bld
.INSTALL_DIRS("", "${LOCKDIR} ${SYSCONFDIR} ${LOCKDIR} ${PIDDIR} ${LOCALSTATEDIR}/lib ${PRIVATEDIR}/smbd.tmp/messaging")