opt.RECURSE('packaging')
opt.RECURSE('lib/ldb')
opt.RECURSE('selftest')
- opt.RECURSE('source4/lib/tls')
opt.RECURSE('source4/dsdb/samdb/ldb_modules')
opt.RECURSE('pidl')
opt.RECURSE('source3')
opt.RECURSE('lib/crypto')
opt.RECURSE('ctdb')
+# Optional Libraries
+# ------------------
+#
+# Most of the calls to opt.add_option() use default=True for the --with case
+#
+# To assist users and distributors to build Samba with the full feature
+# set, the build system will abort if our dependent libraries and their
+# header files are not found on the target system. This will mean for
+# example, that xattr, acl and ldap headers must be installed for the
+# default build to complete. The configure system will check for these
+# headers, and the error message will indicate the option (such as
+# --without-acl-support) that can be specified to skip this requirement.
+#
+# This will assist users and in particular distributors in building fully
+# functional packages, while allowing those on systems truly without these
+# facilities to continue to build Samba after careful consideration.
+#
+# It also ensures our container image generation in bootstrap/ is correct
+# as otherwise a missing package there would just silently work
opt.samba_add_onoff_option('pthreadpool', with_name="enable", without_name="disable", default=True)
conf.RECURSE('dynconfig')
conf.RECURSE('selftest')
+ conf.CHECK_CFG(package='zlib', minversion='1.2.3',
+ args='--cflags --libs',
+ mandatory=True)
+ conf.CHECK_FUNCS_IN('inflateInit2', 'z')
+
if conf.CHECK_FOR_THIRD_PARTY():
conf.RECURSE('third_party')
else:
- if not conf.CHECK_ZLIB():
- raise Errors.WafError('zlib development packages have not been found.\nIf third_party is installed, check that it is in the proper place.')
- else:
- conf.define('USING_SYSTEM_ZLIB',1)
if not conf.CHECK_POPT():
raise Errors.WafError('popt development packages have not been found.\nIf third_party is installed, check that it is in the proper place.')
conf.PROCESS_SEPARATE_RULE('system_gnutls')
- conf.RECURSE('source4/lib/tls')
conf.RECURSE('source4/dsdb/samdb/ldb_modules')
conf.RECURSE('source4/ntvfs/sysdep')
conf.RECURSE('lib/util')
# allows us to find problems on our development hosts faster.
# It also results in faster load time.
- conf.env.asneeded_ldflags = conf.ADD_LDFLAGS('-Wl,--as-needed', testflags=True)
+ conf.add_as_needed()
if not conf.CHECK_NEED_LC("-lc not needed"):
conf.ADD_LDFLAGS('-lc', testflags=False)
msg="Checking compiler for full RELRO support"):
conf.env['ENABLE_RELRO'] = True
+ # #line statements in these generated files cause issues for lcov
+ conf.env.FLEXFLAGS += ["--noline"]
+
conf.SAMBA_CONFIG_H('include/config.h')
def etags(ctx):
os.system('pwd')
list = recursive_dirlist('../buildtools/wafsamba', '.', pattern='*.py')
- cmd='PYTHONPATH=bin/python pydoctor --project-name=wafsamba --project-url=http://www.samba.org --make-html --docformat=restructuredtext'
print(list)
- for f in list:
- cmd += ' --add-module %s' % f
+ cmd='PYTHONPATH=bin/python pydoctor --project-name=wafsamba --project-url=http://www.samba.org --make-html --docformat=restructuredtext' +\
+ "".join(' --add-module %s' % f for f in list)
print("Running: %s" % cmd)
status = os.system(cmd)
if os.WEXITSTATUS(status):