mirror of
https://github.com/samba-team/samba.git
synced 2025-01-13 13:18:06 +03:00
heimdal_build: Allow using system wind.
Please note that to use the system wind library the user explicitly has to specify --bundled-library=!wind . Without that option we will always use the included wind library.
This commit is contained in:
parent
5339bad942
commit
613e03f908
@ -323,44 +323,6 @@ def HEIMDAL_BINARY(binname, source,
|
||||
)
|
||||
|
||||
|
||||
HEIMDAL_GENERATOR(
|
||||
name="HEIMDAL_ERRORLIST",
|
||||
rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[1].parent.abspath(env)}",
|
||||
source = '../heimdal/lib/wind/gen-errorlist.py ../heimdal/lib/wind/rfc3454.txt ../heimdal/lib/wind/stringprep.py',
|
||||
target = '../heimdal/lib/wind/errorlist_table.c ../heimdal/lib/wind/errorlist_table.h'
|
||||
)
|
||||
|
||||
|
||||
HEIMDAL_GENERATOR(
|
||||
name = 'HEIMDAL_NORMALIZE_TABLE',
|
||||
rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[2].abspath()} ${SRC[1].parent.abspath(env)}",
|
||||
source = '../heimdal/lib/wind/gen-normalize.py ../heimdal/lib/wind/UnicodeData.txt ../heimdal/lib/wind/CompositionExclusions-3.2.0.txt',
|
||||
target = '../heimdal/lib/wind/normalize_table.h ../heimdal/lib/wind/normalize_table.c'
|
||||
)
|
||||
|
||||
HEIMDAL_GENERATOR(
|
||||
name = 'HEIMDAL_COMBINING_TABLE',
|
||||
rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[1].parent.abspath(env)}",
|
||||
source = '../heimdal/lib/wind/gen-combining.py ../heimdal/lib/wind/UnicodeData.txt',
|
||||
target = '../heimdal/lib/wind/combining_table.h ../heimdal/lib/wind/combining_table.c'
|
||||
)
|
||||
|
||||
HEIMDAL_GENERATOR(
|
||||
name = 'HEIMDAL_BIDI_TABLE',
|
||||
rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[1].parent.abspath(env)}",
|
||||
source = '../heimdal/lib/wind/gen-bidi.py ../heimdal/lib/wind/rfc3454.txt',
|
||||
target = '../heimdal/lib/wind/bidi_table.h ../heimdal/lib/wind/bidi_table.c'
|
||||
)
|
||||
|
||||
|
||||
HEIMDAL_GENERATOR(
|
||||
name = 'HEIMDAL_MAP_TABLE',
|
||||
rule="${PYTHON} ${SRC[0].abspath()} ${SRC[2].abspath()} ${SRC[2].parent.abspath(env)}",
|
||||
source = '../heimdal/lib/wind/gen-map.py ../heimdal/lib/wind/stringprep.py ../heimdal/lib/wind/rfc3454.txt',
|
||||
target = '../heimdal/lib/wind/map_table.h ../heimdal/lib/wind/map_table.c'
|
||||
)
|
||||
|
||||
|
||||
HEIMDAL_ASN1('HEIMDAL_SPNEGO_ASN1',
|
||||
source='../heimdal/lib/gssapi/spnego/spnego.asn1',
|
||||
options='--sequence=MechTypeList',
|
||||
@ -485,9 +447,6 @@ HEIMDAL_ERRTABLE('HEIMDAL_HX509_ERR_ET',
|
||||
'../heimdal/lib/hx509/hx509_err.et')
|
||||
|
||||
|
||||
HEIMDAL_ERRTABLE('WIND_ERR_ET',
|
||||
'../heimdal/lib/wind/wind_err.et')
|
||||
|
||||
ROKEN_HOSTCC_SOURCE = '''
|
||||
../heimdal/lib/roken/base64.c
|
||||
../heimdal/lib/roken/ct.c
|
||||
@ -628,7 +587,7 @@ HEIMDAL_LIBRARY('gssapi',
|
||||
../heimdal/lib/gssapi/mech/gss_export_sec_context.c ../heimdal/lib/gssapi/mech/gss_inquire_context.c ../heimdal/lib/gssapi/mech/gss_release_name.c
|
||||
../heimdal/lib/gssapi/mech/gss_set_cred_option.c ../heimdal/lib/gssapi/mech/gss_pseudo_random.c gssapi-glue.c''',
|
||||
includes='../heimdal/lib/gssapi ../heimdal/lib/gssapi/gssapi ../heimdal/lib/gssapi/spnego ../heimdal/lib/gssapi/krb5 ../heimdal/lib/gssapi/mech',
|
||||
deps='HEIMDAL_HCRYPTO HEIMDAL_HEIM_ASN1 HEIMDAL_SPNEGO_ASN1 HEIMDAL_GSSAPI_ASN1 roken krb5 com_err',
|
||||
deps='HEIMDAL_HCRYPTO HEIMDAL_HEIM_ASN1 HEIMDAL_SPNEGO_ASN1 HEIMDAL_GSSAPI_ASN1 roken krb5 com_err wind',
|
||||
vnum='2.0.0',
|
||||
)
|
||||
|
||||
@ -733,13 +692,54 @@ HEIMDAL_LIBRARY('hx509',
|
||||
)
|
||||
|
||||
|
||||
HEIMDAL_LIBRARY('wind',
|
||||
'../heimdal/lib/wind/wind_err.c ../heimdal/lib/wind/stringprep.c ../heimdal/lib/wind/errorlist.c ../heimdal/lib/wind/errorlist_table.c ../heimdal/lib/wind/normalize.c ../heimdal/lib/wind/normalize_table.c ../heimdal/lib/wind/combining.c ../heimdal/lib/wind/combining_table.c ../heimdal/lib/wind/utf8.c ../heimdal/lib/wind/bidi.c ../heimdal/lib/wind/bidi_table.c ../heimdal/lib/wind/ldap.c ../heimdal/lib/wind/map.c ../heimdal/lib/wind/map_table.c',
|
||||
includes='../heimdal/lib/wind',
|
||||
deps='roken com_err',
|
||||
vnum='0.0.0',
|
||||
if not bld.CONFIG_SET('USING_SYSTEM_WIND'):
|
||||
HEIMDAL_ERRTABLE('WIND_ERR_ET',
|
||||
'../heimdal/lib/wind/wind_err.et')
|
||||
|
||||
HEIMDAL_GENERATOR(
|
||||
name="HEIMDAL_ERRORLIST",
|
||||
rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[1].parent.abspath(env)}",
|
||||
source = '../heimdal/lib/wind/gen-errorlist.py ../heimdal/lib/wind/rfc3454.txt ../heimdal/lib/wind/stringprep.py',
|
||||
target = '../heimdal/lib/wind/errorlist_table.c ../heimdal/lib/wind/errorlist_table.h'
|
||||
)
|
||||
|
||||
|
||||
HEIMDAL_GENERATOR(
|
||||
name = 'HEIMDAL_NORMALIZE_TABLE',
|
||||
rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[2].abspath()} ${SRC[1].parent.abspath(env)}",
|
||||
source = '../heimdal/lib/wind/gen-normalize.py ../heimdal/lib/wind/UnicodeData.txt ../heimdal/lib/wind/CompositionExclusions-3.2.0.txt',
|
||||
target = '../heimdal/lib/wind/normalize_table.h ../heimdal/lib/wind/normalize_table.c'
|
||||
)
|
||||
|
||||
HEIMDAL_GENERATOR(
|
||||
name = 'HEIMDAL_COMBINING_TABLE',
|
||||
rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[1].parent.abspath(env)}",
|
||||
source = '../heimdal/lib/wind/gen-combining.py ../heimdal/lib/wind/UnicodeData.txt',
|
||||
target = '../heimdal/lib/wind/combining_table.h ../heimdal/lib/wind/combining_table.c'
|
||||
)
|
||||
|
||||
HEIMDAL_GENERATOR(
|
||||
name = 'HEIMDAL_BIDI_TABLE',
|
||||
rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[1].parent.abspath(env)}",
|
||||
source = '../heimdal/lib/wind/gen-bidi.py ../heimdal/lib/wind/rfc3454.txt',
|
||||
target = '../heimdal/lib/wind/bidi_table.h ../heimdal/lib/wind/bidi_table.c'
|
||||
)
|
||||
|
||||
|
||||
HEIMDAL_GENERATOR(
|
||||
name = 'HEIMDAL_MAP_TABLE',
|
||||
rule="${PYTHON} ${SRC[0].abspath()} ${SRC[2].abspath()} ${SRC[2].parent.abspath(env)}",
|
||||
source = '../heimdal/lib/wind/gen-map.py ../heimdal/lib/wind/stringprep.py ../heimdal/lib/wind/rfc3454.txt',
|
||||
target = '../heimdal/lib/wind/map_table.h ../heimdal/lib/wind/map_table.c'
|
||||
)
|
||||
|
||||
HEIMDAL_LIBRARY('wind',
|
||||
'../heimdal/lib/wind/wind_err.c ../heimdal/lib/wind/stringprep.c ../heimdal/lib/wind/errorlist.c ../heimdal/lib/wind/errorlist_table.c ../heimdal/lib/wind/normalize.c ../heimdal/lib/wind/normalize_table.c ../heimdal/lib/wind/combining.c ../heimdal/lib/wind/combining_table.c ../heimdal/lib/wind/utf8.c ../heimdal/lib/wind/bidi.c ../heimdal/lib/wind/bidi_table.c ../heimdal/lib/wind/ldap.c ../heimdal/lib/wind/map.c ../heimdal/lib/wind/map_table.c',
|
||||
includes='../heimdal/lib/wind',
|
||||
deps='roken com_err',
|
||||
vnum='0.0.0',
|
||||
)
|
||||
|
||||
HEIMDAL_SUBSYSTEM('ROKEN_HOSTCC',
|
||||
ROKEN_HOSTCC_SOURCE,
|
||||
use_hostcc=True,
|
||||
|
@ -1,5 +1,7 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import Logs, sys
|
||||
|
||||
conf.CHECK_TYPE('u_char', 'uint8_t')
|
||||
conf.CHECK_TYPE('u_int32_t', 'uint32_t')
|
||||
|
||||
@ -63,6 +65,24 @@ conf.DEFINE('SAMBA4_INTERNAL_HEIMDAL', 1)
|
||||
if conf.CHECK_BUNDLED_SYSTEM('com_err', checkfunctions='com_right_r com_err', headers='com_err.h'):
|
||||
conf.define('USING_SYSTEM_COM_ERR', 1)
|
||||
|
||||
def check_bundled_heimdal_lib(name, functions, headers):
|
||||
# Only use system library if the user requested the bundled one not be used.
|
||||
if conf.LIB_MAY_BE_BUNDLED(name):
|
||||
return
|
||||
lib = name
|
||||
setattr(conf.env, "CPPPATH_%s" % name.upper(), ["/usr/include/heimdal"])
|
||||
setattr(conf.env, "LIBPATH_%s" % name.upper(), ["/usr/lib/heimdal"])
|
||||
if not conf.CHECK_HEADERS(headers, lib=lib):
|
||||
Logs.error('ERROR: Unable to find missing header %s' % headers)
|
||||
sys.exit(1)
|
||||
if not conf.CHECK_LIB([lib], mandatory=True, set_target=True):
|
||||
Logs.error('ERROR: Unable to find missing library %s' % lib)
|
||||
sys.exit(1)
|
||||
conf.define('USING_SYSTEM_%s' % name.upper(), 1)
|
||||
|
||||
|
||||
check_bundled_heimdal_lib("wind", "wind_stringprep", "wind.h")
|
||||
|
||||
# disable trying to use an external compile_et until we have a configure
|
||||
# test that checks that the system one actually works. On some systems it
|
||||
# results in missing symbols (eg. OpenSUSE 10.2 'opi' in the build farm)
|
||||
|
Loading…
Reference in New Issue
Block a user