]>
Commit | Line | Data |
---|---|---|
72e1a39e AT |
1 | #!/usr/bin/env python |
2 | ||
3 | # top level waf build script for samba4 | |
4 | ||
72e1a39e AT |
5 | srcdir = "." |
6 | ||
7 | import samba_version | |
8 | ||
ff8762e7 | 9 | bld.env.suffix3 = "3" |
0659a708 | 10 | bld.env.suffix4 = "4" |
ff8762e7 | 11 | |
72e1a39e AT |
12 | # create separate build groups for building the asn1 and et compiler, then |
13 | # building the C from ASN1 and IDL, and finally the main build process | |
14 | bld.SETUP_BUILD_GROUPS() | |
15 | bld.AUTOCLEANUP_STALE_FILES() | |
16 | ||
4f52bece AT |
17 | # enable building of public headers in the build tree |
18 | bld.env.build_public_headers = 'include/public' | |
19 | ||
c3f04a9f AT |
20 | # these are includes which appear in public headers, but with #ifdef conditional |
21 | # compilation, so they are safe | |
cc6a7783 | 22 | bld.env.public_headers_skip = ['lib/param/param_proto.h', 'lib/param/param_functions.h'] |
c3f04a9f | 23 | |
2abb55b7 | 24 | version=samba_version.load_version(bld.env, is_install=bld.is_install) |
72e1a39e AT |
25 | bld.SAMBA_MKVERSION('version.h') |
26 | ||
27 | # bld.ENABLE_MAGIC_ORDERING() | |
28 | ||
2c86758b | 29 | bld.env.ABS_TOP_SRCDIR = bld.srcnode.abspath() + '/docs-xml' |
74cf2a1b | 30 | bld.env.ABS_TOP_BUILDDIR = bld.bldnode.abspath() + '/docs-xml' |
2c86758b AB |
31 | bld.CONFIGURE_FILE('docs-xml/build/catalog.xml', |
32 | ABS_TOP_BUILDDIR = bld.env.ABS_TOP_BUILDDIR, | |
33 | ABS_TOP_SRCDIR=bld.env.ABS_TOP_SRCDIR) | |
2abb55b7 SM |
34 | bld.env.DOC_VERSION=version.STRING |
35 | bld.CONFIGURE_FILE('docs-xml/build/DTD/samba.build.version', | |
36 | DOC_VERSION=bld.env.DOC_VERSION) | |
2c86758b AB |
37 | bld.RECURSE('docs-xml') |
38 | ||
7b265830 DB |
39 | # This needs to be earlier than anything containing IDL |
40 | # That in turn allows the build rules for fuzz_ndr_X to be | |
41 | # near the code | |
42 | bld.RECURSE('lib/fuzzing') | |
43 | ||
72e1a39e | 44 | bld.RECURSE('lib/replace') |
f346a737 | 45 | bld.RECURSE('lib/socket') |
72e1a39e | 46 | bld.RECURSE('lib/talloc') |
72e1a39e | 47 | bld.RECURSE('lib/tevent') |
3ba74c83 | 48 | bld.RECURSE('lib/texpect') |
055f017b | 49 | bld.RECURSE('lib/addns') |
d163518e | 50 | bld.RECURSE('lib/tdb') |
8420a36d | 51 | bld.RECURSE('lib/ldb') |
cda86869 | 52 | bld.RECURSE('lib/param') |
b6712ab9 | 53 | bld.RECURSE('lib/printer_driver') |
74cf8f5e | 54 | bld.RECURSE('lib/audit_logging') |
93408f60 | 55 | bld.RECURSE('lib/messaging') |
35a9c23a | 56 | bld.RECURSE('dynconfig') |
72e1a39e | 57 | bld.RECURSE('lib/util/charset') |
87afc3ae | 58 | bld.RECURSE('python') |
72e1a39e AT |
59 | bld.RECURSE('source4/param') |
60 | bld.RECURSE('source4/librpc') | |
61 | bld.RECURSE('source4/dsdb') | |
4142bde7 | 62 | bld.RECURSE('source4/samba') |
72e1a39e | 63 | bld.RECURSE('source4/cluster') |
72e1a39e AT |
64 | bld.RECURSE('source4/libnet') |
65 | bld.RECURSE('source4/auth') | |
4cfee6f8 | 66 | bld.RECURSE('auth') |
6ec4306f | 67 | bld.RECURSE('auth/kerberos') |
72e1a39e AT |
68 | bld.RECURSE('nsswitch') |
69 | bld.RECURSE('nsswitch/libwbclient') | |
70 | bld.RECURSE('source4/lib/samba3') | |
71 | bld.RECURSE('source4/lib/socket') | |
8420a36d | 72 | bld.RECURSE('lib/ldb-samba') |
72e1a39e AT |
73 | bld.RECURSE('source4/lib/tls') |
74 | bld.RECURSE('source4/lib/registry') | |
75 | bld.RECURSE('source4/lib/messaging') | |
76 | bld.RECURSE('source4/lib/events') | |
f46b79bd | 77 | if bld.CHECK_FOR_THIRD_PARTY(): |
776424e9 | 78 | bld.RECURSE('third_party') |
72e1a39e | 79 | bld.RECURSE('source4/lib/stream') |
89961ca2 | 80 | bld.RECURSE('lib/afs') |
72e1a39e | 81 | bld.RECURSE('lib/util') |
ce4531ee | 82 | bld.RECURSE('lib/tdb_wrap') |
72e1a39e AT |
83 | bld.RECURSE('lib/tdr') |
84 | bld.RECURSE('lib/tsocket') | |
85 | bld.RECURSE('lib/crypto') | |
86 | bld.RECURSE('lib/torture') | |
50a64b7c | 87 | bld.RECURSE('libgpo') |
72e1a39e AT |
88 | bld.RECURSE('source4/dns_server') |
89 | bld.RECURSE('source4/echo_server') | |
90 | bld.RECURSE('source4/smb_server') | |
91 | bld.RECURSE('source4/rpc_server') | |
92 | bld.RECURSE('source4/ldap_server') | |
72e1a39e AT |
93 | bld.RECURSE('source4/winbind') |
94 | bld.RECURSE('source4/nbt_server') | |
95 | bld.RECURSE('source4/wrepl_server') | |
96 | bld.RECURSE('source4/cldap_server') | |
97 | bld.RECURSE('source4/ntp_signd') | |
0c7c44a2 | 98 | bld.RECURSE('source4/utils/oLschema2ldif') |
72e1a39e | 99 | bld.RECURSE('source4/ntvfs') |
72e1a39e AT |
100 | bld.RECURSE('source4/torture') |
101 | bld.RECURSE('librpc') | |
bd5445ee | 102 | bld.RECURSE('source4') |
72e1a39e AT |
103 | bld.RECURSE('source4/libcli') |
104 | bld.RECURSE('libcli/smb') | |
f9679314 | 105 | bld.RECURSE('libcli/util') |
72e1a39e | 106 | bld.RECURSE('libcli/cldap') |
b28fb85a | 107 | bld.RECURSE('libcli/wsp') |
72e1a39e AT |
108 | bld.RECURSE('lib/smbconf') |
109 | bld.RECURSE('lib/async_req') | |
e945511a | 110 | bld.RECURSE('lib/dbwrap') |
72e1a39e AT |
111 | bld.RECURSE('libcli/security') |
112 | bld.RECURSE('libcli/ldap') | |
113 | bld.RECURSE('libcli/nbt') | |
114 | bld.RECURSE('libcli/netlogon') | |
115 | bld.RECURSE('libcli/auth') | |
c9d929af | 116 | bld.RECURSE('libcli/lsarpc') |
72e1a39e AT |
117 | bld.RECURSE('libcli/drsuapi') |
118 | bld.RECURSE('libcli/echo') | |
7566e6a5 | 119 | bld.RECURSE('libcli/dns') |
72e1a39e | 120 | bld.RECURSE('libcli/samsync') |
11a97d60 | 121 | bld.RECURSE('libcli/registry') |
fc0371b9 | 122 | bld.RECURSE('libcli/http') |
8479401b | 123 | bld.RECURSE('lib/mscat') |
5470da07 | 124 | bld.RECURSE('lib/cmdline') |
72e1a39e AT |
125 | bld.RECURSE('source4/lib/policy') |
126 | bld.RECURSE('libcli/named_pipe_auth') | |
25ef27b2 AS |
127 | if bld.CONFIG_GET('ENABLE_SELFTEST'): |
128 | bld.RECURSE('testsuite/unittests') | |
a16f3f7e | 129 | bld.RECURSE('libcli/tstream_binding_handle') |
1a8405c3 | 130 | |
4291fdcf AB |
131 | if bld.CONFIG_GET('KRB5_VENDOR') in (None, 'heimdal'): |
132 | if bld.CONFIG_GET("HEIMDAL_KRB5_CONFIG") and bld.CONFIG_GET("USING_SYSTEM_KRB5"): | |
133 | # When both HEIMDAL_KRB5_CONFIG and KRB5_CONFIG are set and not equal, | |
134 | # it means one is Heimdal-specific (krb5-config.heimdal, for example) | |
135 | # and there is system heimdal | |
136 | bld.PROCESS_SEPARATE_RULE('system_heimdal') | |
1a8405c3 | 137 | else: |
4291fdcf | 138 | bld.PROCESS_SEPARATE_RULE('embedded_heimdal') |
1a8405c3 | 139 | else: |
4291fdcf | 140 | bld.PROCESS_SEPARATE_RULE('system_mitkrb5') |
1a8405c3 | 141 | |
72e1a39e | 142 | bld.RECURSE('libcli/smbreadline') |
2ddf89a2 AB |
143 | if bld.AD_DC_BUILD_IS_ENABLED(): |
144 | bld.RECURSE('source4/setup') | |
7feb650a | 145 | bld.RECURSE('source4/kdc') |
e94422a8 MS |
146 | if bld.env.with_ctdb: |
147 | bld.RECURSE('ctdb') | |
72e1a39e AT |
148 | bld.RECURSE('source4/scripting') |
149 | bld.RECURSE('pidl') | |
150 | bld.RECURSE('lib') | |
94c04b10 | 151 | bld.RECURSE('libds/common') |
dd25d75b | 152 | bld.RECURSE('lib/pthreadpool') |
14f99167 | 153 | bld.RECURSE('source3') |
f697956d | 154 | bld.RECURSE('dfs_server') |
8db121be | 155 | bld.RECURSE('file_server') |
08c733d7 | 156 | bld.RECURSE('lib/krb5_wrap') |
080d590d | 157 | bld.RECURSE('packaging') |
72e1a39e | 158 | |
ba9ae79e AT |
159 | bld.RECURSE('testsuite/headers') |
160 | ||
72e1a39e | 161 | bld.SYMBOL_CHECK() |
30e11d55 | 162 | bld.DUP_SYMBOL_CHECK() |
f0da7c50 | 163 |