diff options
-rw-r--r-- | buildtools/wafsamba/samba_utils.py | 3 | ||||
-rw-r--r-- | source3/wscript | 21 | ||||
-rw-r--r-- | wscript | 19 |
3 files changed, 43 insertions, 0 deletions
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') @@ -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) |