From: Andrew Bartlett Date: Wed, 3 Jun 2020 04:06:34 +0000 (+1200) Subject: build: Put the note from the bottom of the old BUILD_SYSTEMS.txt somewhere useful X-Git-Tag: ldb-2.2.0~131 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6446e86b54ccdc6da397487b850832727cbb69c1;p=thirdparty%2Fsamba.git build: Put the note from the bottom of the old BUILD_SYSTEMS.txt somewhere useful This statement on how we handle --with options is best placed near where the options are set, so developers see it when trying to choose the correct thing to do. Signed-off-by: Andrew Bartlett Reviewed-by: Jeremy Allison --- diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py index f9eae73ae44..4afee249d33 100644 --- a/buildtools/wafsamba/samba_utils.py +++ b/buildtools/wafsamba/samba_utils.py @@ -719,6 +719,9 @@ def samba_before_apply_obj_vars(self): if is_standard_libpath(v, i): v['LIBPATH'].remove(i) +# Samba options are mostly on by default (administrators and packagers +# specify features to remove, not add), which is why default=True + def samba_add_onoff_option(opt, option, help=(), dest=None, default=True, with_name="with", without_name="without"): if default is None: diff --git a/source3/wscript b/source3/wscript index 24ade3b0a2b..2a341df7c3e 100644 --- a/source3/wscript +++ b/source3/wscript @@ -40,6 +40,27 @@ def options(opt): "--with-shared-modules"), action="store", dest='shared_modules', default=None) +# Optional Libraries +# ------------------ +# +# Most of the calls to opt.samba_add_onoff_option() implicitly +# or explicity use default=True +# +# 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('winbind') opt.samba_add_onoff_option('ads') opt.samba_add_onoff_option('ldap') diff --git a/wscript b/wscript index a195ac33c98..e50aba255a7 100644 --- a/wscript +++ b/wscript @@ -47,6 +47,25 @@ def options(opt): 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)