mirror of
https://github.com/samba-team/samba.git
synced 2025-08-03 04:22:09 +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:
committed by
Andrew Bartlett
parent
0940f8560f
commit
5c58ccba71
@ -85,6 +85,8 @@ def minimum_library_version(conf, libname, default):
|
|||||||
|
|
||||||
@conf
|
@conf
|
||||||
def LIB_MAY_BE_BUNDLED(conf, libname):
|
def LIB_MAY_BE_BUNDLED(conf, libname):
|
||||||
|
if libname in conf.env.SYSTEM_LIBS:
|
||||||
|
return False
|
||||||
if libname in conf.env.BUNDLED_LIBS:
|
if libname in conf.env.BUNDLED_LIBS:
|
||||||
return True
|
return True
|
||||||
if '!%s' % libname in conf.env.BUNDLED_LIBS:
|
if '!%s' % libname in conf.env.BUNDLED_LIBS:
|
||||||
|
@ -269,6 +269,7 @@ def configure(conf):
|
|||||||
conf.env.MODULESDIR = Options.options.MODULESDIR
|
conf.env.MODULESDIR = Options.options.MODULESDIR
|
||||||
conf.env.PRIVATELIBDIR = Options.options.PRIVATELIBDIR
|
conf.env.PRIVATELIBDIR = Options.options.PRIVATELIBDIR
|
||||||
conf.env.BUNDLED_LIBS = Options.options.BUNDLED_LIBS.split(',')
|
conf.env.BUNDLED_LIBS = Options.options.BUNDLED_LIBS.split(',')
|
||||||
|
conf.env.SYSTEM_LIBS = ()
|
||||||
conf.env.PRIVATE_LIBS = Options.options.PRIVATE_LIBS.split(',')
|
conf.env.PRIVATE_LIBS = Options.options.PRIVATE_LIBS.split(',')
|
||||||
conf.env.BUILTIN_LIBRARIES = Options.options.BUILTIN_LIBRARIES.split(',')
|
conf.env.BUILTIN_LIBRARIES = Options.options.BUILTIN_LIBRARIES.split(',')
|
||||||
conf.env.NONSHARED_BINARIES = Options.options.NONSHARED_BINARIES.split(',')
|
conf.env.NONSHARED_BINARIES = Options.options.NONSHARED_BINARIES.split(',')
|
||||||
|
20
wscript
20
wscript
@ -62,6 +62,14 @@ def set_options(opt):
|
|||||||
dest='with_system_mitkdc',
|
dest='with_system_mitkdc',
|
||||||
default=None)
|
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',
|
opt.add_option('--without-ad-dc',
|
||||||
help='disable AD DC functionality (enables only Samba FS (File Server, Winbind, NMBD) and client utilities.',
|
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)
|
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):
|
if not (Options.options.without_ad_dc or Options.options.with_system_mitkrb5):
|
||||||
conf.DEFINE('AD_DC_BUILD_IS_ENABLED', 1)
|
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
|
# Only process heimdal_build for non-MIT KRB5 builds
|
||||||
# When MIT KRB5 checks are done as above, conf.env.KRB5_VENDOR will be set
|
# When MIT KRB5 checks are done as above, conf.env.KRB5_VENDOR will be set
|
||||||
# to the lowcased output of 'krb5-config --vendor'.
|
# to the lowcased output of 'krb5-config --vendor'.
|
||||||
|
Reference in New Issue
Block a user