]> git.ipfire.org Git - thirdparty/samba.git/blame - wscript_build
ldb-samba: ldif_read_objectSid() short-circuits without 'S'
[thirdparty/samba.git] / wscript_build
CommitLineData
72e1a39e
AT
1#!/usr/bin/env python
2
3# top level waf build script for samba4
4
72e1a39e
AT
5srcdir = "."
6
7import samba_version
8
ff8762e7 9bld.env.suffix3 = "3"
0659a708 10bld.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
14bld.SETUP_BUILD_GROUPS()
15bld.AUTOCLEANUP_STALE_FILES()
16
4f52bece
AT
17# enable building of public headers in the build tree
18bld.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 22bld.env.public_headers_skip = ['lib/param/param_proto.h', 'lib/param/param_functions.h']
c3f04a9f 23
2abb55b7 24version=samba_version.load_version(bld.env, is_install=bld.is_install)
72e1a39e
AT
25bld.SAMBA_MKVERSION('version.h')
26
27# bld.ENABLE_MAGIC_ORDERING()
28
2c86758b 29bld.env.ABS_TOP_SRCDIR = bld.srcnode.abspath() + '/docs-xml'
74cf2a1b 30bld.env.ABS_TOP_BUILDDIR = bld.bldnode.abspath() + '/docs-xml'
2c86758b
AB
31bld.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
34bld.env.DOC_VERSION=version.STRING
35bld.CONFIGURE_FILE('docs-xml/build/DTD/samba.build.version',
36 DOC_VERSION=bld.env.DOC_VERSION)
2c86758b
AB
37bld.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
42bld.RECURSE('lib/fuzzing')
43
72e1a39e 44bld.RECURSE('lib/replace')
f346a737 45bld.RECURSE('lib/socket')
72e1a39e 46bld.RECURSE('lib/talloc')
72e1a39e 47bld.RECURSE('lib/tevent')
3ba74c83 48bld.RECURSE('lib/texpect')
055f017b 49bld.RECURSE('lib/addns')
d163518e 50bld.RECURSE('lib/tdb')
8420a36d 51bld.RECURSE('lib/ldb')
cda86869 52bld.RECURSE('lib/param')
b6712ab9 53bld.RECURSE('lib/printer_driver')
74cf8f5e 54bld.RECURSE('lib/audit_logging')
93408f60 55bld.RECURSE('lib/messaging')
35a9c23a 56bld.RECURSE('dynconfig')
72e1a39e 57bld.RECURSE('lib/util/charset')
87afc3ae 58bld.RECURSE('python')
72e1a39e
AT
59bld.RECURSE('source4/param')
60bld.RECURSE('source4/librpc')
61bld.RECURSE('source4/dsdb')
4142bde7 62bld.RECURSE('source4/samba')
72e1a39e 63bld.RECURSE('source4/cluster')
72e1a39e
AT
64bld.RECURSE('source4/libnet')
65bld.RECURSE('source4/auth')
4cfee6f8 66bld.RECURSE('auth')
6ec4306f 67bld.RECURSE('auth/kerberos')
72e1a39e
AT
68bld.RECURSE('nsswitch')
69bld.RECURSE('nsswitch/libwbclient')
70bld.RECURSE('source4/lib/samba3')
71bld.RECURSE('source4/lib/socket')
8420a36d 72bld.RECURSE('lib/ldb-samba')
72e1a39e
AT
73bld.RECURSE('source4/lib/tls')
74bld.RECURSE('source4/lib/registry')
75bld.RECURSE('source4/lib/messaging')
76bld.RECURSE('source4/lib/events')
f46b79bd 77if bld.CHECK_FOR_THIRD_PARTY():
776424e9 78 bld.RECURSE('third_party')
72e1a39e 79bld.RECURSE('source4/lib/stream')
89961ca2 80bld.RECURSE('lib/afs')
72e1a39e 81bld.RECURSE('lib/util')
ce4531ee 82bld.RECURSE('lib/tdb_wrap')
72e1a39e
AT
83bld.RECURSE('lib/tdr')
84bld.RECURSE('lib/tsocket')
85bld.RECURSE('lib/crypto')
86bld.RECURSE('lib/torture')
50a64b7c 87bld.RECURSE('libgpo')
72e1a39e
AT
88bld.RECURSE('source4/dns_server')
89bld.RECURSE('source4/echo_server')
90bld.RECURSE('source4/smb_server')
91bld.RECURSE('source4/rpc_server')
92bld.RECURSE('source4/ldap_server')
72e1a39e
AT
93bld.RECURSE('source4/winbind')
94bld.RECURSE('source4/nbt_server')
95bld.RECURSE('source4/wrepl_server')
96bld.RECURSE('source4/cldap_server')
97bld.RECURSE('source4/ntp_signd')
0c7c44a2 98bld.RECURSE('source4/utils/oLschema2ldif')
72e1a39e 99bld.RECURSE('source4/ntvfs')
72e1a39e
AT
100bld.RECURSE('source4/torture')
101bld.RECURSE('librpc')
bd5445ee 102bld.RECURSE('source4')
72e1a39e
AT
103bld.RECURSE('source4/libcli')
104bld.RECURSE('libcli/smb')
f9679314 105bld.RECURSE('libcli/util')
72e1a39e 106bld.RECURSE('libcli/cldap')
b28fb85a 107bld.RECURSE('libcli/wsp')
72e1a39e
AT
108bld.RECURSE('lib/smbconf')
109bld.RECURSE('lib/async_req')
e945511a 110bld.RECURSE('lib/dbwrap')
72e1a39e
AT
111bld.RECURSE('libcli/security')
112bld.RECURSE('libcli/ldap')
113bld.RECURSE('libcli/nbt')
114bld.RECURSE('libcli/netlogon')
115bld.RECURSE('libcli/auth')
c9d929af 116bld.RECURSE('libcli/lsarpc')
72e1a39e
AT
117bld.RECURSE('libcli/drsuapi')
118bld.RECURSE('libcli/echo')
7566e6a5 119bld.RECURSE('libcli/dns')
72e1a39e 120bld.RECURSE('libcli/samsync')
11a97d60 121bld.RECURSE('libcli/registry')
fc0371b9 122bld.RECURSE('libcli/http')
8479401b 123bld.RECURSE('lib/mscat')
5470da07 124bld.RECURSE('lib/cmdline')
72e1a39e
AT
125bld.RECURSE('source4/lib/policy')
126bld.RECURSE('libcli/named_pipe_auth')
25ef27b2
AS
127if bld.CONFIG_GET('ENABLE_SELFTEST'):
128 bld.RECURSE('testsuite/unittests')
a16f3f7e 129bld.RECURSE('libcli/tstream_binding_handle')
1a8405c3 130
4291fdcf
AB
131if 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 139else:
4291fdcf 140 bld.PROCESS_SEPARATE_RULE('system_mitkrb5')
1a8405c3 141
72e1a39e 142bld.RECURSE('libcli/smbreadline')
2ddf89a2
AB
143if bld.AD_DC_BUILD_IS_ENABLED():
144 bld.RECURSE('source4/setup')
7feb650a 145 bld.RECURSE('source4/kdc')
e94422a8
MS
146if bld.env.with_ctdb:
147 bld.RECURSE('ctdb')
72e1a39e
AT
148bld.RECURSE('source4/scripting')
149bld.RECURSE('pidl')
150bld.RECURSE('lib')
94c04b10 151bld.RECURSE('libds/common')
dd25d75b 152bld.RECURSE('lib/pthreadpool')
14f99167 153bld.RECURSE('source3')
f697956d 154bld.RECURSE('dfs_server')
8db121be 155bld.RECURSE('file_server')
08c733d7 156bld.RECURSE('lib/krb5_wrap')
080d590d 157bld.RECURSE('packaging')
72e1a39e 158
ba9ae79e
AT
159bld.RECURSE('testsuite/headers')
160
72e1a39e 161bld.SYMBOL_CHECK()
30e11d55 162bld.DUP_SYMBOL_CHECK()
f0da7c50 163