import samba_version
-# mark this as a top level build, for source3 rules
-bld.env.toplevel_build = True
-bld.env.use_intree_heimdal = True
bld.env.suffix3 = "3"
# create separate build groups for building the asn1 and et compiler, then
# these are includes which appear in public headers, but with #ifdef conditional
# compilation, so they are safe
-bld.env.public_headers_skip = ['param/param_proto.h', 'lib/ldb_compat.h']
+bld.env.public_headers_skip = ['param/param_proto.h']
-# force headers to use SAMBA4 rules
-bld.env.public_headers_replace = { '#if _SAMBA_BUILD_ == 4' : '#if 1 /* _SAMBA_BUILD_ == 4 */' }
-
-samba_version.load_version(bld.env)
+samba_version.load_version(bld.env, is_install=bld.is_install)
bld.SAMBA_MKVERSION('version.h')
# bld.ENABLE_MAGIC_ORDERING()
bld.RECURSE('lib/replace')
bld.RECURSE('lib/socket')
bld.RECURSE('lib/talloc')
-bld.RECURSE('lib/tdb')
bld.RECURSE('lib/tevent')
-bld.RECURSE('source4/lib/ldb')
-bld.RECURSE('source4/dynconfig')
+bld.RECURSE('lib/addns')
+bld.RECURSE('lib/ccan')
+bld.RECURSE('lib/tdb_compat')
+bld.RECURSE('lib/ldb')
+bld.RECURSE('lib/param')
+bld.RECURSE('dynconfig')
bld.RECURSE('lib/util/charset')
bld.RECURSE('source4/scripting/python')
bld.RECURSE('source4/param')
bld.RECURSE('nsswitch/libwbclient')
bld.RECURSE('source4/lib/samba3')
bld.RECURSE('source4/lib/socket')
-bld.RECURSE('source4/lib/ldb-samba')
+bld.RECURSE('lib/ldb-samba')
bld.RECURSE('source4/lib/tls')
bld.RECURSE('source4/lib/registry')
bld.RECURSE('source4/lib/messaging')
bld.RECURSE('lib/popt')
bld.RECURSE('source4/lib/stream')
bld.RECURSE('lib/util')
+bld.RECURSE('lib/tdb_wrap')
bld.RECURSE('lib/tdr')
bld.RECURSE('lib/tsocket')
bld.RECURSE('lib/crypto')
bld.RECURSE('source4/wrepl_server')
bld.RECURSE('source4/cldap_server')
bld.RECURSE('source4/ntp_signd')
-bld.RECURSE('source4/samba_tool')
bld.RECURSE('source4/utils')
bld.RECURSE('source4/ntvfs')
bld.RECURSE('source4/ntptr')
bld.RECURSE('source4/torture')
bld.RECURSE('librpc')
-bld.RECURSE('source4/client')
+bld.RECURSE('source4')
bld.RECURSE('source4/libcli')
bld.RECURSE('libcli/smb')
bld.RECURSE('libcli/util')
bld.RECURSE('libcli/nbt')
bld.RECURSE('libcli/netlogon')
bld.RECURSE('libcli/auth')
+bld.RECURSE('libcli/lsarpc')
bld.RECURSE('libcli/drsuapi')
bld.RECURSE('libcli/echo')
+bld.RECURSE('libcli/dns')
bld.RECURSE('libcli/samsync')
bld.RECURSE('libcli/registry')
bld.RECURSE('source4/lib/policy')
bld.RECURSE('libcli/named_pipe_auth')
-bld.RECURSE('source4/heimdal_build')
+
+if bld.CONFIG_SET("USING_SYSTEM_KRB5"):
+ if bld.CONFIG_SET("HEIMDAL_KRB5_CONFIG") and bld.CONFIG_SET("KRB5_CONFIG"):
+ if bld.CONFIG_GET("HEIMDAL_KRB5_CONFIG") != bld.CONFIG_GET("KRB5_CONFIG"):
+ # When both HEIMDAL_KRB5_CONFIG and KRB5_CONFIG are set and not equal,
+ # it means one is Heimdal-specific (krb5-config.heimdal, for example)
+ # and there is system heimdal
+ bld.PROCESS_SEPARATE_RULE('system_heimdal')
+ else:
+ bld.PROCESS_SEPARATE_RULE('system_krb5')
+else:
+ bld.PROCESS_SEPARATE_RULE('embedded_heimdal')
+
bld.RECURSE('libcli/smbreadline')
bld.RECURSE('codepages')
bld.RECURSE('source4/setup')
bld.RECURSE('pidl')
bld.RECURSE('lib')
bld.RECURSE('libds/common')
-if bld.env.enable_s3build:
- bld.RECURSE('source3')
+bld.RECURSE('source3')
+bld.RECURSE('dfs_server')
+bld.RECURSE('file_server')
+bld.RECURSE('utils')
bld.RECURSE('testsuite/headers')
-
-# install some extra empty directories
-bld.INSTALL_DIRS("", "${LOCKDIR} ${SYSCONFDIR} ${LOCKDIR} ${PIDDIR} ${LOCALSTATEDIR}/lib ${PRIVATEDIR}/smbd.tmp/messaging")
+bld.RECURSE('testsuite/libsmbclient/src')
bld.SYMBOL_CHECK()
+bld.DUP_SYMBOL_CHECK()