1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-02 00:22:11 +03:00

wscript: Add --with-system-heimdalkrb5

Add the configure option --with-system-heimdalkrb5 to build Samba
explicitly with a system Heimdal kerberos library. This does the same as
the more complicated syntax

--bundled-libraries='!heimdal,!asn1,!com_err,!roken,!hx509,!wind,!gssapi,!hcrypto,!krb5,!heimbase,!asn1_compile,!compile_et,!kdc,!hdb,!heimntlm'

and it also enforces the conflicts with MIT Kerbros and the AD DC
build.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Wed Jul 11 05:18:59 CEST 2018 on sn-devel-144
This commit is contained in:
Christof Schmitt
2018-07-10 14:51:02 -07:00
committed by Andrew Bartlett
parent 0940f8560f
commit 5c58ccba71
3 changed files with 23 additions and 0 deletions

View File

@ -85,6 +85,8 @@ def minimum_library_version(conf, libname, default):
@conf
def LIB_MAY_BE_BUNDLED(conf, libname):
if libname in conf.env.SYSTEM_LIBS:
return False
if libname in conf.env.BUNDLED_LIBS:
return True
if '!%s' % libname in conf.env.BUNDLED_LIBS:

View File

@ -269,6 +269,7 @@ def configure(conf):
conf.env.MODULESDIR = Options.options.MODULESDIR
conf.env.PRIVATELIBDIR = Options.options.PRIVATELIBDIR
conf.env.BUNDLED_LIBS = Options.options.BUNDLED_LIBS.split(',')
conf.env.SYSTEM_LIBS = ()
conf.env.PRIVATE_LIBS = Options.options.PRIVATE_LIBS.split(',')
conf.env.BUILTIN_LIBRARIES = Options.options.BUILTIN_LIBRARIES.split(',')
conf.env.NONSHARED_BINARIES = Options.options.NONSHARED_BINARIES.split(',')

20
wscript
View File

@ -62,6 +62,14 @@ def set_options(opt):
dest='with_system_mitkdc',
default=None)
opt.add_option('--with-system-heimdalkrb5',
help=('build Samba with system Heimdal Kerberos. ' +
'Requires --without-ad-dc' and
'conflicts with --with-system-mitkrb5'),
action='store_true',
dest='with_system_heimdalkrb5',
default=False)
opt.add_option('--without-ad-dc',
help='disable AD DC functionality (enables only Samba FS (File Server, Winbind, NMBD) and client utilities.',
action='store_true', dest='without_ad_dc', default=False)
@ -206,6 +214,18 @@ def configure(conf):
if not (Options.options.without_ad_dc or Options.options.with_system_mitkrb5):
conf.DEFINE('AD_DC_BUILD_IS_ENABLED', 1)
if Options.options.with_system_heimdalkrb5:
if Options.options.with_system_mitkrb5:
raise Utils.WafError('--with-system-heimdalkrb5 conflicts with ' +
'--with-system-mitkrb5')
if not Options.options.without_ad_dc:
raise Utils.WafError('--with-system-heimdalkrb5 requires ' +
'--without-ad-dc')
conf.env.SYSTEM_LIBS += ('heimdal', 'asn1', 'com_err', 'roken',
'hx509', 'wind', 'gssapi', 'hcrypto',
'krb5', 'heimbase', 'asn1_compile',
'compile_et', 'kdc', 'hdb', 'heimntlm')
# Only process heimdal_build for non-MIT KRB5 builds
# When MIT KRB5 checks are done as above, conf.env.KRB5_VENDOR will be set
# to the lowcased output of 'krb5-config --vendor'.