.gitlab-ci.yml: run the samba-o3 job on each working container image
[gd/samba-autobuild/.git] / wscript_build
1 #!/usr/bin/env python
2
3 # top level waf build script for samba4
4
5 from waflib import Options
6 import os
7 srcdir = "."
8
9 import samba_version
10
11 bld.env.suffix3 = "3"
12 bld.env.suffix4 = "4"
13
14 # create separate build groups for building the asn1 and et compiler, then
15 # building the C from ASN1 and IDL, and finally the main build process
16 bld.SETUP_BUILD_GROUPS()
17 bld.AUTOCLEANUP_STALE_FILES()
18
19 # enable building of public headers in the build tree
20 bld.env.build_public_headers = 'include/public'
21
22 # these are includes which appear in public headers, but with #ifdef conditional
23 # compilation, so they are safe
24 bld.env.public_headers_skip = ['lib/param/param_proto.h', 'lib/param/param_functions.h']
25
26 version=samba_version.load_version(bld.env, is_install=bld.is_install)
27 bld.SAMBA_MKVERSION('version.h')
28
29 # bld.ENABLE_MAGIC_ORDERING()
30
31 bld.env.ABS_TOP_SRCDIR = bld.srcnode.abspath() + '/docs-xml'
32 bld.env.ABS_TOP_BUILDDIR = bld.bldnode.abspath() + '/docs-xml'
33 bld.CONFIGURE_FILE('docs-xml/build/catalog.xml',
34                    ABS_TOP_BUILDDIR = bld.env.ABS_TOP_BUILDDIR,
35                    ABS_TOP_SRCDIR=bld.env.ABS_TOP_SRCDIR)
36 bld.env.DOC_VERSION=version.STRING
37 bld.CONFIGURE_FILE('docs-xml/build/DTD/samba.build.version',
38                    DOC_VERSION=bld.env.DOC_VERSION)
39 bld.RECURSE('docs-xml')
40
41 bld.RECURSE('lib/replace')
42 bld.RECURSE('lib/socket')
43 bld.RECURSE('lib/talloc')
44 bld.RECURSE('lib/tevent')
45 bld.RECURSE('lib/texpect')
46 bld.RECURSE('lib/addns')
47 bld.RECURSE('lib/ldb')
48 bld.RECURSE('lib/param')
49 bld.RECURSE('lib/printer_driver')
50 bld.RECURSE('lib/audit_logging')
51 bld.RECURSE('dynconfig')
52 bld.RECURSE('lib/util/charset')
53 bld.RECURSE('python')
54 bld.RECURSE('source4/param')
55 bld.RECURSE('source4/librpc')
56 bld.RECURSE('source4/dsdb')
57 bld.RECURSE('source4/smbd')
58 bld.RECURSE('source4/cluster')
59 bld.RECURSE('source4/smbd')
60 bld.RECURSE('source4/libnet')
61 bld.RECURSE('source4/auth')
62 bld.RECURSE('auth')
63 bld.RECURSE('auth/kerberos')
64 bld.RECURSE('nsswitch')
65 bld.RECURSE('nsswitch/libwbclient')
66 bld.RECURSE('source4/lib/samba3')
67 bld.RECURSE('source4/lib/socket')
68 bld.RECURSE('lib/ldb-samba')
69 bld.RECURSE('source4/lib/tls')
70 bld.RECURSE('source4/lib/registry')
71 bld.RECURSE('source4/lib/messaging')
72 bld.RECURSE('source4/lib/events')
73 bld.RECURSE('source4/lib/cmdline')
74 bld.RECURSE('source4/lib/http')
75 if bld.CHECK_FOR_THIRD_PARTY():
76     bld.RECURSE('third_party')
77 bld.RECURSE('source4/lib/stream')
78 bld.RECURSE('lib/afs')
79 bld.RECURSE('lib/util')
80 bld.RECURSE('lib/tdb_wrap')
81 bld.RECURSE('lib/tdr')
82 bld.RECURSE('lib/tsocket')
83 bld.RECURSE('lib/crypto')
84 bld.RECURSE('lib/torture')
85 bld.RECURSE('libgpo')
86 bld.RECURSE('source4/lib/com')
87 bld.RECURSE('source4/dns_server')
88 bld.RECURSE('source4/echo_server')
89 bld.RECURSE('source4/smb_server')
90 bld.RECURSE('source4/rpc_server')
91 bld.RECURSE('source4/ldap_server')
92 bld.RECURSE('source4/winbind')
93 bld.RECURSE('source4/nbt_server')
94 bld.RECURSE('source4/wrepl_server')
95 bld.RECURSE('source4/cldap_server')
96 bld.RECURSE('source4/ntp_signd')
97 bld.RECURSE('source4/utils/oLschema2ldif')
98 bld.RECURSE('source4/ntvfs')
99 bld.RECURSE('source4/torture')
100 bld.RECURSE('librpc')
101 bld.RECURSE('source4')
102 bld.RECURSE('source4/libcli')
103 bld.RECURSE('libcli/smb')
104 bld.RECURSE('libcli/util')
105 bld.RECURSE('libcli/cldap')
106 bld.RECURSE('lib/smbconf')
107 bld.RECURSE('lib/async_req')
108 bld.RECURSE('lib/dbwrap')
109 bld.RECURSE('libcli/security')
110 bld.RECURSE('libcli/ldap')
111 bld.RECURSE('libcli/nbt')
112 bld.RECURSE('libcli/netlogon')
113 bld.RECURSE('libcli/auth')
114 bld.RECURSE('libcli/lsarpc')
115 bld.RECURSE('libcli/drsuapi')
116 bld.RECURSE('libcli/echo')
117 bld.RECURSE('libcli/dns')
118 bld.RECURSE('libcli/samsync')
119 bld.RECURSE('libcli/registry')
120 bld.RECURSE('lib/mscat')
121 bld.RECURSE('source4/lib/policy')
122 bld.RECURSE('libcli/named_pipe_auth')
123 if bld.CONFIG_GET('ENABLE_SELFTEST'):
124     bld.RECURSE('testsuite/unittests')
125
126 if bld.CONFIG_GET('KRB5_VENDOR') in (None, 'heimdal'):
127     if bld.CONFIG_GET("HEIMDAL_KRB5_CONFIG") and bld.CONFIG_GET("USING_SYSTEM_KRB5"):
128         # When both HEIMDAL_KRB5_CONFIG and KRB5_CONFIG are set and not equal,
129         # it means one is Heimdal-specific (krb5-config.heimdal, for example)
130         # and there is system heimdal
131         bld.PROCESS_SEPARATE_RULE('system_heimdal')
132     else:
133         bld.PROCESS_SEPARATE_RULE('embedded_heimdal')
134 else:
135     bld.PROCESS_SEPARATE_RULE('system_mitkrb5')
136
137 bld.RECURSE('libcli/smbreadline')
138 if bld.AD_DC_BUILD_IS_ENABLED():
139     bld.RECURSE('source4/setup')
140     bld.RECURSE('source4/kdc')
141 if bld.env.with_ctdb:
142     bld.RECURSE('ctdb')
143 bld.RECURSE('source4/scripting')
144 bld.RECURSE('pidl')
145 bld.RECURSE('lib')
146 bld.RECURSE('libds/common')
147 bld.RECURSE('lib/pthreadpool')
148 bld.RECURSE('source3')
149 bld.RECURSE('dfs_server')
150 bld.RECURSE('file_server')
151 bld.RECURSE('lib/krb5_wrap')
152 bld.RECURSE('packaging')
153
154 bld.RECURSE('testsuite/headers')
155
156 bld.SYMBOL_CHECK()
157 bld.DUP_SYMBOL_CHECK()
158