4 from samba_utils import SET_TARGET_TYPE, TO_LIST
5 from samba_autoconf import CURRENT_CFLAGS
7 # waf build tool for building .et files with compile_et
9 def HEIMDAL_ASN1(name, source,
14 '''Build a ASN1 file using the asn1 compiler.
15 This will produce 2 output files'''
16 bname = os.path.basename(source)[0:-5];
17 dname = os.path.dirname(source)
18 asn1name = "%s_asn1" % bname
20 if not SET_TARGET_TYPE(bld, name, 'ASN1'):
23 # for ASN1 compilation, I always put it in build_source, as it doesn't make
25 bld.set_group('build_source')
28 out_files.append("../heimdal/%s/asn1_%s_asn1.x" % (directory, bname))
29 out_files.append("../heimdal/%s/%s_asn1.hx" % (directory, bname))
30 out_files.append("../heimdal/%s/%s_asn1-priv.hx" % (directory, bname))
32 # the ${TGT[0].parent.abspath(env)} expression gives us the parent directory of
33 # the first target in the build directory
34 # SRC[0].abspath(env) gives the absolute path to the source directory for the first
35 # source file. Note that in the case of a option_file, we have more than
37 cd_rule = 'cd ${TGT[0].parent.abspath(env)}'
38 asn1_rule = cd_rule + ' && ${BLDBIN}/asn1_compile ${OPTION_FILE} ${ASN1OPTIONS} --one-code-file ${SRC[0].abspath(env)} ${ASN1NAME}'
40 source = TO_LIST(source)
41 source.append('asn1_compile')
43 if option_file is not None:
44 source.append(option_file)
46 t = bld(rule=asn1_rule,
55 t.env.ASN1NAME = asn1name
56 t.env.ASN1OPTIONS = options
57 t.env.BLDBIN = os.path.normpath(os.path.join(bld.srcnode.abspath(bld.env), '..'))
58 if option_file is not None:
59 t.env.OPTION_FILE = "--option-file=%s" % os.path.normpath(os.path.join(bld.curdir, option_file))
61 cfile = out_files[0][0:-2] + '.c'
62 hfile = out_files[1][0:-3] + '.h'
63 hpriv = out_files[2][0:-3] + '.h'
65 # now generate a .c file from the .x file
66 t = bld(rule='''( echo '#include "config.h"' && cat ${SRC} ) > ${TGT}''',
67 source = out_files[0],
73 depends_on = name + '_ASN1',
76 # and generate a .h file from the .hx file
77 t = bld(rule='cp ${SRC} ${TGT}',
78 source = out_files[1],
83 depends_on = name + '_ASN1',
86 # and generate a .h file from the .hx file
87 t = bld(rule='cp ${SRC} ${TGT}',
88 source = out_files[2],
93 depends_on = name + '_ASN1',
94 name = name + '_PRIV_H')
98 includes = TO_LIST(includes)
99 includes.append(os.path.dirname(out_files[0]))
101 t = bld(features = 'cc',
104 samba_cflags = CURRENT_CFLAGS(bld, name, ''),
106 samba_deps = TO_LIST('roken'),
107 samba_includes = includes,
108 local_include = True)
111 def HEIMDAL_ERRTABLE(name, source):
112 '''Build a heimdal errtable from a .et file'''
114 bname = source[0:-3]; # strip off the .et suffix
116 if not SET_TARGET_TYPE(bld, name, 'ET'):
119 bld.set_group('build_source')
122 out_files.append('%s.c' % bname)
123 out_files.append('%s.h' % bname)
125 sources = [source, 'et_compile_wrapper.sh']
127 if not bld.CONFIG_SET('USING_SYSTEM_COMPILE_ET'):
128 sources.append('compile_et')
130 t = bld(rule='${SRC[1].abspath(env)} ${TGT[0].parent.abspath(env)} ${COMPILE_ET} ${SRC[0].abspath(env)} ${TGT[0].bldpath(env)}',
139 def HEIMDAL_AUTOPROTO(header, source, options=None, group='prototypes'):
140 '''rule for heimdal prototype generation'''
143 options='-q -P comment -o'
144 SET_TARGET_TYPE(bld, header, 'PROTOTYPE')
145 t = bld(rule='${PERL} ${HEIMDAL}/cf/make-proto.pl ${OPTIONS} ${TGT[0].abspath(env)} ${SRC}',
151 t.env.HEIMDAL = os.path.join(bld.srcnode.abspath(), 'source4/heimdal')
152 t.env.OPTIONS = options
155 def HEIMDAL_AUTOPROTO_PRIVATE(header, source):
156 '''rule for private heimdal prototype generation'''
157 HEIMDAL_AUTOPROTO(header, source, options='-q -P comment -p')
160 def HEIMDAL_LIBRARY(libname, source, deps, vnum,
164 autoproto_options=None,
166 autoproto_private=None,
168 '''define a Heimdal library'''
170 obj_target = libname + '.objlist'
172 # first create a target for building the object files for this library
173 # by separating in this way, we avoid recompiling the C files
174 # separately for the install library and the build library
175 HEIMDAL_SUBSYSTEM(obj_target,
182 if not SET_TARGET_TYPE(bld, libname, "LIBRARY"):
185 # the library itself will depend on that object target
187 deps.append(obj_target)
190 # Sanitize the library name
191 bundled_name = libname.lower().replace('_', '-')
192 while bundled_name.startswith("lib"):
193 bundled_name = bundled_name[3:]
195 bundled_name = libname + '-samba4'
197 features = 'cc cshlib symlink_lib install_lib'
199 bld.set_group('main')
203 target = bundled_name,
204 samba_cflags = CURRENT_CFLAGS(bld, libname, cflags),
206 samba_includes = includes,
210 is_bundled = is_bundled,
213 if autoproto is not None:
214 HEIMDAL_AUTOPROTO(autoproto, source + ' ' + autoproto_extra,
215 options=autoproto_options)
216 if autoproto_private is not None:
217 HEIMDAL_AUTOPROTO_PRIVATE(autoproto_private, source + ' ' + autoproto_extra)
220 def HEIMDAL_GENERATOR(name, rule, source='', target='',
222 '''A generic source generator target'''
224 if not SET_TARGET_TYPE(bld, name, 'GENERATOR'):
232 shell=isinstance(rule, str),
239 def HEIMDAL_SUBSYSTEM(modname, source,
245 local_include_first=True,
247 use_global_deps=True):
248 '''define a Heimdal subsystem'''
250 if not SET_TARGET_TYPE(bld, modname, 'SUBSYSTEM'):
253 source = TO_LIST(source)
261 samba_cflags = CURRENT_CFLAGS(bld, modname, cflags),
263 samba_deps = TO_LIST(deps),
264 samba_includes = includes,
265 local_include = local_include,
266 local_include_first = local_include_first,
267 samba_use_hostcc = use_hostcc,
268 samba_use_global_deps = use_global_deps
272 def HEIMDAL_BINARY(binname, source,
278 use_global_deps=True,
284 '''define a Samba binary'''
286 if not SET_TARGET_TYPE(bld, binname, 'BINARY'):
289 features = 'cc cprogram symlink_bin install_bin'
291 obj_target = binname + '.objlist'
293 # first create a target for building the object files for this binary
294 # by separating in this way, we avoid recompiling the C files
295 # separately for the install binary and the build binary
296 HEIMDAL_SUBSYSTEM(obj_target,
302 local_include = local_include,
303 use_hostcc = use_hostcc,
304 use_global_deps= use_global_deps)
308 # the binary itself will depend on that object target
310 deps.append(obj_target)
316 samba_cflags = CURRENT_CFLAGS(bld, binname, cflags),
318 samba_includes = includes,
319 local_include = local_include,
322 samba_install = install
326 HEIMDAL_ASN1('HEIMDAL_SPNEGO_ASN1',
327 source='../heimdal/lib/gssapi/spnego/spnego.asn1',
328 options='--sequence=MechTypeList',
329 includes='../heimdal/lib/asn1',
330 directory='lib/gssapi'
334 HEIMDAL_ASN1('HEIMDAL_GSSAPI_ASN1',
335 '../heimdal/lib/gssapi/mech/gssapi.asn1',
336 includes='../heimdal/lib/asn1',
337 directory='lib/gssapi'
341 HEIMDAL_ASN1('HEIMDAL_KRB5_ASN1',
342 '../heimdal/lib/asn1/krb5.asn1',
343 option_file='../heimdal/lib/asn1/krb5.opt',
348 HEIMDAL_ASN1('HEIMDAL_DIGEST_ASN1',
349 '../heimdal/lib/asn1/digest.asn1',
354 HEIMDAL_ASN1('HEIMDAL_PKCS8_ASN1',
355 '../heimdal/lib/asn1/pkcs8.asn1',
360 HEIMDAL_ASN1('HEIMDAL_PKCS9_ASN1',
361 '../heimdal/lib/asn1/pkcs9.asn1',
366 HEIMDAL_ASN1('HEIMDAL_PKCS12_ASN1',
367 '../heimdal/lib/asn1/pkcs12.asn1',
372 HEIMDAL_ASN1('HEIMDAL_RFC2459_ASN1',
373 '../heimdal/lib/asn1/rfc2459.asn1',
374 options='--preserve-binary=TBSCertificate --preserve-binary=TBSCRLCertList --preserve-binary=Name --sequence=GeneralNames --sequence=Extensions --sequence=CRLDistributionPoints',
379 HEIMDAL_ASN1('HEIMDAL_PKINIT_ASN1',
380 '../heimdal/lib/asn1/pkinit.asn1',
385 HEIMDAL_ASN1('HEIMDAL_CMS_ASN1',
386 '../heimdal/lib/asn1/cms.asn1',
387 option_file='../heimdal/lib/asn1/cms.opt',
392 HEIMDAL_ASN1('HEIMDAL_OCSP_ASN1',
393 '../heimdal/lib/hx509/ocsp.asn1',
394 options='--preserve-binary=OCSPTBSRequest --preserve-binary=OCSPResponseData',
395 includes='../heimdal/lib/asn1',
396 directory='lib/hx509'
400 HEIMDAL_ASN1('HEIMDAL_KX509_ASN1',
401 '../heimdal/lib/asn1/kx509.asn1',
406 HEIMDAL_ASN1('HEIMDAL_PKCS10_ASN1',
407 '../heimdal/lib/hx509/pkcs10.asn1',
408 options='--preserve-binary=CertificationRequestInfo',
409 includes='../heimdal/lib/asn1',
410 directory='lib/hx509'
414 HEIMDAL_ASN1('HEIMDAL_HDB_ASN1',
415 '../heimdal/lib/hdb/hdb.asn1',
416 includes='../heimdal/lib/asn1')
418 HEIMDAL_ERRTABLE('HEIMDAL_ASN1_ERR_ET',
419 '../heimdal/lib/asn1/asn1_err.et')
422 HEIMDAL_ERRTABLE('HEIMDAL_HDB_ERR_ET',
423 '../heimdal/lib/hdb/hdb_err.et')
426 HEIMDAL_ERRTABLE('HEIMDAL_HEIM_ERR_ET',
427 '../heimdal/lib/krb5/heim_err.et')
430 HEIMDAL_ERRTABLE('HEIMDAL_K524_ERR_ET',
431 '../heimdal/lib/krb5/k524_err.et')
434 HEIMDAL_ERRTABLE('HEIMDAL_KRB_ERR_ET',
435 '../heimdal/lib/krb5/krb_err.et')
438 HEIMDAL_ERRTABLE('HEIMDAL_KRB5_ERR_ET',
439 '../heimdal/lib/krb5/krb5_err.et')
442 HEIMDAL_ERRTABLE('HEIMDAL_GKRB5_ERR_ET',
443 '../heimdal/lib/gssapi/krb5/gkrb5_err.et')
446 HEIMDAL_ERRTABLE('HEIMDAL_HX509_ERR_ET',
447 '../heimdal/lib/hx509/hx509_err.et')
450 if not bld.CONFIG_SET('USING_SYSTEM_ROKEN'):
452 if not bld.CONFIG_SET('HAVE_IFADDRS_H'):
454 name="HEIMDAL_IFADDRS_H",
455 rule="rm -f ${TGT} && ln ${SRC} ${TGT}",
456 source = 'ifaddrs.hin',
457 target = 'ifaddrs.h',
460 if not bld.CONFIG_SET('HAVE_ERR_H'):
462 group='build_compiler_source',
463 name="HEIMDAL_ERR_H",
464 rule="rm -f ${TGT} && ln ${SRC} ${TGT}",
465 source = '../heimdal/lib/roken/err.hin',
466 target = '../heimdal/lib/roken/err.h',
469 ROKEN_HOSTCC_SOURCE = '''
470 ../heimdal/lib/roken/base64.c
471 ../heimdal/lib/roken/ct.c
472 ../heimdal/lib/roken/hex.c
473 ../heimdal/lib/roken/bswap.c
474 ../heimdal/lib/roken/dumpdata.c
475 ../heimdal/lib/roken/emalloc.c
476 ../heimdal/lib/roken/ecalloc.c
477 ../heimdal/lib/roken/getarg.c
478 ../heimdal/lib/roken/get_window_size.c
479 ../heimdal/lib/roken/getdtablesize.c
480 ../heimdal/lib/roken/h_errno.c
481 ../heimdal/lib/roken/issuid.c
482 ../heimdal/lib/roken/net_read.c
483 ../heimdal/lib/roken/net_write.c
484 ../heimdal/lib/roken/parse_time.c
485 ../heimdal/lib/roken/parse_units.c
486 ../heimdal/lib/roken/signal.c
487 ../heimdal/lib/roken/vis.c
488 ../heimdal/lib/roken/strlwr.c
489 ../heimdal/lib/roken/strsep_copy.c
490 ../heimdal/lib/roken/strsep.c
491 ../heimdal/lib/roken/strupr.c
492 ../heimdal/lib/roken/strpool.c
493 ../heimdal/lib/roken/estrdup.c
494 ../heimdal/lib/roken/erealloc.c
495 ../heimdal/lib/roken/simple_exec.c
496 ../heimdal/lib/roken/strcollect.c
497 ../heimdal/lib/roken/rtbl.c
498 ../heimdal/lib/roken/cloexec.c
499 ../heimdal/lib/roken/xfree.c
503 if not bld.CONFIG_SET('HAVE_GETPROGNAME'):
504 ROKEN_HOSTCC_SOURCE += '''
505 ../heimdal/lib/roken/getprogname.c
506 ../heimdal/lib/roken/setprogname.c
509 if not bld.CONFIG_SET('HAVE_CLOSEFROM'):
510 ROKEN_HOSTCC_SOURCE += '''
511 ../heimdal/lib/roken/closefrom.c
514 ROKEN_SOURCE = ROKEN_HOSTCC_SOURCE + '''
515 ../heimdal/lib/roken/resolve.c
516 ../heimdal/lib/roken/socket.c
517 ../heimdal/lib/roken/roken_gethostby.c
520 HEIMDAL_LIBRARY('roken',
522 includes='../heimdal/lib/roken ../heimdal/include ../../lib/socket_wrapper',
523 deps='resolv UID_WRAPPER util',
527 HEIMDAL_SUBSYSTEM('ROKEN_HOSTCC',
530 use_global_deps=False,
531 includes='../heimdal/lib/roken',
532 cflags='-DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_',
533 group='compiler_libraries',
534 deps='LIBREPLACE_HOSTCC',
537 HEIMDAL_BINARY('rkpty',
538 '../heimdal/lib/roken/rkpty.c',
539 deps='roken OPENPTY',
540 cflags='-DPACKAGE="Samba"',
544 HEIMDAL_LIBRARY('kdc',
545 source='../heimdal/kdc/default_config.c ../heimdal/kdc/kerberos5.c ../heimdal/kdc/krb5tgs.c ../heimdal/kdc/pkinit.c ../heimdal/kdc/log.c ../heimdal/kdc/misc.c ../heimdal/kdc/kaserver.c ../heimdal/kdc/digest.c ../heimdal/kdc/process.c ../heimdal/kdc/windc.c ../heimdal/kdc/kx509.c',
546 includes='../heimdal/kdc',
547 autoproto='../heimdal/kdc/kdc-protos.h',
548 autoproto_private='../heimdal/kdc/kdc-private.h',
549 deps='roken krb5 hdb HEIMDAL_HEIM_ASN1 HEIMDAL_DIGEST_ASN1 HEIMDAL_KX509_ASN1 heimntlm HEIMDAL_HCRYPTO com_err wind',
554 HEIMDAL_LIBRARY('heimntlm',
555 source='../heimdal/lib/ntlm/ntlm.c',
556 includes='../heimdal/lib/ntlm',
557 autoproto='../heimdal/lib/ntlm/heimntlm-protos.h',
558 deps='roken HEIMDAL_HCRYPTO krb5',
563 HEIMDAL_SUBSYSTEM('HEIMDAL_HDB_KEYS',
564 '../heimdal/lib/hdb/keys.c',
565 includes='../heimdal/lib/hdb',
566 deps='roken HEIMDAL_HCRYPTO krb5 HEIMDAL_HDB_ASN1'
570 HEIMDAL_LIBRARY('hdb',
571 source='''../heimdal/lib/hdb/db.c ../heimdal/lib/hdb/dbinfo.c ../heimdal/lib/hdb/hdb.c
572 ../heimdal/lib/hdb/ext.c ../heimdal/lib/hdb/keytab.c ../heimdal/lib/hdb/hdb-keytab.c
573 ../heimdal/lib/hdb/mkey.c ../heimdal/lib/hdb/ndbm.c ../heimdal/lib/hdb/hdb_err.c
575 includes='../heimdal/lib/hdb',
576 autoproto='../heimdal/lib/hdb/hdb-protos.h',
577 autoproto_private='../heimdal/lib/hdb/hdb-private.h',
578 deps='HDB_LDB krb5 HEIMDAL_HDB_KEYS roken HEIMDAL_HCRYPTO com_err HEIMDAL_HDB_ASN1 wind',
583 HEIMDAL_LIBRARY('gssapi',
585 ../heimdal/lib/gssapi/spnego/init_sec_context.c ../heimdal/lib/gssapi/spnego/external.c ../heimdal/lib/gssapi/spnego/compat.c
586 ../heimdal/lib/gssapi/spnego/context_stubs.c ../heimdal/lib/gssapi/spnego/cred_stubs.c ../heimdal/lib/gssapi/spnego/accept_sec_context.c
587 ../heimdal/lib/gssapi/krb5/copy_ccache.c ../heimdal/lib/gssapi/krb5/delete_sec_context.c ../heimdal/lib/gssapi/krb5/init_sec_context.c
588 ../heimdal/lib/gssapi/krb5/context_time.c ../heimdal/lib/gssapi/krb5/init.c ../heimdal/lib/gssapi/krb5/address_to_krb5addr.c
589 ../heimdal/lib/gssapi/krb5/get_mic.c ../heimdal/lib/gssapi/krb5/inquire_context.c ../heimdal/lib/gssapi/krb5/add_cred.c
590 ../heimdal/lib/gssapi/krb5/inquire_cred.c ../heimdal/lib/gssapi/krb5/inquire_cred_by_oid.c ../heimdal/lib/gssapi/krb5/inquire_cred_by_mech.c
591 ../heimdal/lib/gssapi/krb5/inquire_mechs_for_name.c ../heimdal/lib/gssapi/krb5/inquire_names_for_mech.c ../heimdal/lib/gssapi/krb5/indicate_mechs.c
592 ../heimdal/lib/gssapi/krb5/inquire_sec_context_by_oid.c ../heimdal/lib/gssapi/krb5/export_sec_context.c ../heimdal/lib/gssapi/krb5/import_sec_context.c
593 ../heimdal/lib/gssapi/krb5/duplicate_name.c ../heimdal/lib/gssapi/krb5/import_name.c ../heimdal/lib/gssapi/krb5/compare_name.c
594 ../heimdal/lib/gssapi/krb5/export_name.c ../heimdal/lib/gssapi/krb5/canonicalize_name.c ../heimdal/lib/gssapi/krb5/unwrap.c
595 ../heimdal/lib/gssapi/krb5/wrap.c ../heimdal/lib/gssapi/krb5/release_name.c ../heimdal/lib/gssapi/krb5/cfx.c
596 ../heimdal/lib/gssapi/krb5/8003.c ../heimdal/lib/gssapi/krb5/arcfour.c ../heimdal/lib/gssapi/krb5/encapsulate.c
597 ../heimdal/lib/gssapi/krb5/display_name.c ../heimdal/lib/gssapi/krb5/sequence.c ../heimdal/lib/gssapi/krb5/display_status.c
598 ../heimdal/lib/gssapi/krb5/release_buffer.c ../heimdal/lib/gssapi/krb5/external.c ../heimdal/lib/gssapi/krb5/compat.c
599 ../heimdal/lib/gssapi/krb5/creds.c ../heimdal/lib/gssapi/krb5/acquire_cred.c ../heimdal/lib/gssapi/krb5/release_cred.c
600 ../heimdal/lib/gssapi/krb5/store_cred.c ../heimdal/lib/gssapi/krb5/set_cred_option.c ../heimdal/lib/gssapi/krb5/decapsulate.c
601 ../heimdal/lib/gssapi/krb5/verify_mic.c ../heimdal/lib/gssapi/krb5/accept_sec_context.c ../heimdal/lib/gssapi/krb5/set_sec_context_option.c
602 ../heimdal/lib/gssapi/krb5/process_context_token.c ../heimdal/lib/gssapi/krb5/prf.c ../heimdal/lib/gssapi/krb5/aeap.c
603 ../heimdal/lib/gssapi/mech/context.c ../heimdal/lib/gssapi/mech/gss_krb5.c ../heimdal/lib/gssapi/mech/gss_mech_switch.c
604 ../heimdal/lib/gssapi/mech/gss_process_context_token.c ../heimdal/lib/gssapi/mech/gss_buffer_set.c
605 ../heimdal/lib/gssapi/mech/gss_aeap.c ../heimdal/lib/gssapi/mech/gss_add_cred.c ../heimdal/lib/gssapi/mech/gss_cred.c
606 ../heimdal/lib/gssapi/mech/gss_add_oid_set_member.c ../heimdal/lib/gssapi/mech/gss_compare_name.c ../heimdal/lib/gssapi/mech/gss_release_oid_set.c
607 ../heimdal/lib/gssapi/mech/gss_create_empty_oid_set.c ../heimdal/lib/gssapi/mech/gss_decapsulate_token.c ../heimdal/lib/gssapi/mech/gss_inquire_cred_by_oid.c
608 ../heimdal/lib/gssapi/mech/gss_canonicalize_name.c ../heimdal/lib/gssapi/mech/gss_inquire_sec_context_by_oid.c ../heimdal/lib/gssapi/mech/gss_inquire_names_for_mech.c
609 ../heimdal/lib/gssapi/mech/gss_inquire_mechs_for_name.c ../heimdal/lib/gssapi/mech/gss_wrap_size_limit.c ../heimdal/lib/gssapi/mech/gss_names.c
610 ../heimdal/lib/gssapi/mech/gss_verify.c ../heimdal/lib/gssapi/mech/gss_display_name.c
611 ../heimdal/lib/gssapi/mech/gss_duplicate_oid.c ../heimdal/lib/gssapi/mech/gss_display_status.c ../heimdal/lib/gssapi/mech/gss_release_buffer.c
612 ../heimdal/lib/gssapi/mech/gss_release_oid.c ../heimdal/lib/gssapi/mech/gss_test_oid_set_member.c
613 ../heimdal/lib/gssapi/mech/gss_release_cred.c
614 ../heimdal/lib/gssapi/mech/gss_set_sec_context_option.c ../heimdal/lib/gssapi/mech/gss_export_name.c ../heimdal/lib/gssapi/mech/gss_seal.c
615 ../heimdal/lib/gssapi/mech/gss_acquire_cred.c ../heimdal/lib/gssapi/mech/gss_unseal.c ../heimdal/lib/gssapi/mech/gss_verify_mic.c
616 ../heimdal/lib/gssapi/mech/gss_accept_sec_context.c ../heimdal/lib/gssapi/mech/gss_inquire_cred_by_mech.c ../heimdal/lib/gssapi/mech/gss_indicate_mechs.c
617 ../heimdal/lib/gssapi/mech/gss_delete_sec_context.c ../heimdal/lib/gssapi/mech/gss_sign.c ../heimdal/lib/gssapi/mech/gss_utils.c
618 ../heimdal/lib/gssapi/mech/gss_init_sec_context.c ../heimdal/lib/gssapi/mech/gss_oid_equal.c ../heimdal/lib/gssapi/mech/gss_oid_to_str.c
619 ../heimdal/lib/gssapi/mech/gss_context_time.c ../heimdal/lib/gssapi/mech/gss_encapsulate_token.c ../heimdal/lib/gssapi/mech/gss_get_mic.c
620 ../heimdal/lib/gssapi/mech/gss_import_sec_context.c ../heimdal/lib/gssapi/mech/gss_inquire_cred.c ../heimdal/lib/gssapi/mech/gss_wrap.c
621 ../heimdal/lib/gssapi/mech/gss_import_name.c ../heimdal/lib/gssapi/mech/gss_duplicate_name.c ../heimdal/lib/gssapi/mech/gss_unwrap.c
622 ../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
623 ../heimdal/lib/gssapi/mech/gss_set_cred_option.c ../heimdal/lib/gssapi/mech/gss_pseudo_random.c gssapi-glue.c''',
624 includes='../heimdal/lib/gssapi ../heimdal/lib/gssapi/gssapi ../heimdal/lib/gssapi/spnego ../heimdal/lib/gssapi/krb5 ../heimdal/lib/gssapi/mech',
625 deps='HEIMDAL_HCRYPTO HEIMDAL_HEIM_ASN1 HEIMDAL_SPNEGO_ASN1 HEIMDAL_GSSAPI_ASN1 roken krb5 com_err wind',
629 # expand_path.c needs some of the install paths
630 HEIMDAL_SUBSYSTEM('HEIMDAL_CONFIG',
631 '../heimdal/lib/krb5/expand_path.c ../heimdal/lib/krb5/plugin.c',
632 includes='../heimdal/lib/krb5 ../heimdal/lib/asn1',
633 cflags = bld.dynconfig_cflags('LIBDIR BINDIR LIBEXECDIR SBINDIR'),
634 deps='HEIMDAL_HCRYPTO wind hx509'
638 HEIMDAL_LIBRARY('krb5',
639 bld.SUBDIR('../heimdal/lib/krb5/',
640 '''acache.c add_et_list.c
641 addr_families.c appdefault.c
642 asn1_glue.c auth_context.c
643 build_ap_req.c build_auth.c cache.c
644 changepw.c codec.c config_file.c
645 constants.c context.c convert_creds.c
646 copy_host_realm.c crc.c creds.c
647 crypto.c data.c eai_to_heim_errno.c
648 error_string.c expand_hostname.c
649 fcache.c free.c free_host_realm.c
650 generate_seq_number.c generate_subkey.c
651 get_addrs.c get_cred.c
652 get_default_principal.c
653 get_default_realm.c get_for_creds.c
654 get_host_realm.c get_in_tkt.c
655 get_port.c init_creds.c init_creds_pw.c
656 kcm.c keyblock.c keytab.c keytab_any.c
657 keytab_file.c keytab_memory.c
658 keytab_keyfile.c krbhst.c log.c
659 mcache.c misc.c mk_error.c mk_priv.c
660 mk_rep.c mk_req.c mk_req_ext.c
661 mit_glue.c n-fold.c padata.c pkinit.c
662 principal.c prog_setup.c pac.c
663 pcache.c prompter_posix.c rd_cred.c rd_error.c
664 rd_priv.c rd_rep.c rd_req.c replay.c
665 send_to_kdc.c set_default_realm.c
666 store.c store_emem.c store_fd.c
667 store_mem.c ticket.c time.c transited.c
668 v4_glue.c version.c warn.c krb5_err.c
669 heim_err.c k524_err.c krb_err.c''') + ' krb5-glue.c',
670 includes='../heimdal/lib/krb5 ../heimdal/lib/asn1',
671 autoproto='../heimdal/lib/krb5/krb5-protos.h',
672 autoproto_options='-E KRB5_LIB -q -P comment -o',
673 autoproto_extra='../heimdal/lib/krb5/expand_path.c ../heimdal/lib/krb5/plugin.c',
674 autoproto_private='../heimdal/lib/krb5/krb5-private.h',
675 deps='roken HEIMDAL_PKINIT_ASN1 wind HEIMDAL_KRB5_ASN1 hx509 HEIMDAL_HCRYPTO LIBSAMBA-HOSTCONFIG intl com_err HEIMDAL_CONFIG',
680 HEIMDAL_SUBSYSTEM('HEIMDAL_HEIM_ASN1',
681 '../heimdal/lib/asn1/der_get.c ../heimdal/lib/asn1/der_put.c ../heimdal/lib/asn1/der_free.c ../heimdal/lib/asn1/der_format.c ../heimdal/lib/asn1/der_length.c ../heimdal/lib/asn1/der_copy.c ../heimdal/lib/asn1/der_cmp.c ../heimdal/lib/asn1/extra.c ../heimdal/lib/asn1/timegm.c ../heimdal/lib/asn1/asn1_err.c',
682 includes='../heimdal/lib/asn1',
687 HEIMDAL_SUBSYSTEM('HEIMDAL_HCRYPTO_IMATH',
688 '../heimdal/lib/hcrypto/imath/imath.c ../heimdal/lib/hcrypto/imath/iprime.c',
689 includes='../heimdal/lib/hcrypto/imath',
692 HEIMDAL_SUBSYSTEM('HEIMDAL_HCRYPTO_LTM',
693 '../heimdal/lib/hcrypto/libtommath/bncore.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init.c ../heimdal/lib/hcrypto/libtommath/bn_mp_clear.c ../heimdal/lib/hcrypto/libtommath/bn_mp_exch.c ../heimdal/lib/hcrypto/libtommath/bn_mp_grow.c ../heimdal/lib/hcrypto/libtommath/bn_mp_shrink.c ../heimdal/lib/hcrypto/libtommath/bn_mp_clamp.c ../heimdal/lib/hcrypto/libtommath/bn_mp_zero.c ../heimdal/lib/hcrypto/libtommath/bn_mp_zero_multi.c ../heimdal/lib/hcrypto/libtommath/bn_mp_set.c ../heimdal/lib/hcrypto/libtommath/bn_mp_set_int.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init_size.c ../heimdal/lib/hcrypto/libtommath/bn_mp_copy.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init_copy.c ../heimdal/lib/hcrypto/libtommath/bn_mp_abs.c ../heimdal/lib/hcrypto/libtommath/bn_mp_neg.c ../heimdal/lib/hcrypto/libtommath/bn_mp_cmp_mag.c ../heimdal/lib/hcrypto/libtommath/bn_mp_cmp.c ../heimdal/lib/hcrypto/libtommath/bn_mp_cmp_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_rshd.c ../heimdal/lib/hcrypto/libtommath/bn_mp_lshd.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mod_2d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_div_2d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mul_2d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_div_2.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mul_2.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_add.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_sub.c ../heimdal/lib/hcrypto/libtommath/bn_fast_s_mp_mul_digs.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_mul_digs.c ../heimdal/lib/hcrypto/libtommath/bn_fast_s_mp_mul_high_digs.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_mul_high_digs.c ../heimdal/lib/hcrypto/libtommath/bn_fast_s_mp_sqr.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_sqr.c ../heimdal/lib/hcrypto/libtommath/bn_mp_add.c ../heimdal/lib/hcrypto/libtommath/bn_mp_sub.c ../heimdal/lib/hcrypto/libtommath/bn_mp_karatsuba_mul.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mul.c ../heimdal/lib/hcrypto/libtommath/bn_mp_karatsuba_sqr.c ../heimdal/lib/hcrypto/libtommath/bn_mp_sqr.c ../heimdal/lib/hcrypto/libtommath/bn_mp_div.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_add_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_sub_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mul_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_div_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mod_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_expt_d.c ../heimdal/lib/hcrypto/libtommath/bn_mp_addmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_submod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_mulmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_sqrmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_gcd.c ../heimdal/lib/hcrypto/libtommath/bn_mp_lcm.c ../heimdal/lib/hcrypto/libtommath/bn_fast_mp_invmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_invmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce.c ../heimdal/lib/hcrypto/libtommath/bn_mp_montgomery_setup.c ../heimdal/lib/hcrypto/libtommath/bn_fast_mp_montgomery_reduce.c ../heimdal/lib/hcrypto/libtommath/bn_mp_montgomery_reduce.c ../heimdal/lib/hcrypto/libtommath/bn_mp_exptmod_fast.c ../heimdal/lib/hcrypto/libtommath/bn_mp_exptmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_2expt.c ../heimdal/lib/hcrypto/libtommath/bn_mp_n_root.c ../heimdal/lib/hcrypto/libtommath/bn_mp_jacobi.c ../heimdal/lib/hcrypto/libtommath/bn_reverse.c ../heimdal/lib/hcrypto/libtommath/bn_mp_count_bits.c ../heimdal/lib/hcrypto/libtommath/bn_mp_read_unsigned_bin.c ../heimdal/lib/hcrypto/libtommath/bn_mp_read_signed_bin.c ../heimdal/lib/hcrypto/libtommath/bn_mp_to_unsigned_bin.c ../heimdal/lib/hcrypto/libtommath/bn_mp_to_signed_bin.c ../heimdal/lib/hcrypto/libtommath/bn_mp_unsigned_bin_size.c ../heimdal/lib/hcrypto/libtommath/bn_mp_signed_bin_size.c ../heimdal/lib/hcrypto/libtommath/bn_mp_xor.c ../heimdal/lib/hcrypto/libtommath/bn_mp_and.c ../heimdal/lib/hcrypto/libtommath/bn_mp_or.c ../heimdal/lib/hcrypto/libtommath/bn_mp_rand.c ../heimdal/lib/hcrypto/libtommath/bn_mp_montgomery_calc_normalization.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_is_divisible.c ../heimdal/lib/hcrypto/libtommath/bn_prime_tab.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_fermat.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_miller_rabin.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_is_prime.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_next_prime.c ../heimdal/lib/hcrypto/libtommath/bn_mp_find_prime.c ../heimdal/lib/hcrypto/libtommath/bn_mp_isprime.c ../heimdal/lib/hcrypto/libtommath/bn_mp_dr_reduce.c ../heimdal/lib/hcrypto/libtommath/bn_mp_dr_is_modulus.c ../heimdal/lib/hcrypto/libtommath/bn_mp_dr_setup.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_setup.c ../heimdal/lib/hcrypto/libtommath/bn_mp_toom_mul.c ../heimdal/lib/hcrypto/libtommath/bn_mp_toom_sqr.c ../heimdal/lib/hcrypto/libtommath/bn_mp_div_3.c ../heimdal/lib/hcrypto/libtommath/bn_s_mp_exptmod.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_2k.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_is_2k.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_2k_setup.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_2k_l.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_is_2k_l.c ../heimdal/lib/hcrypto/libtommath/bn_mp_reduce_2k_setup_l.c ../heimdal/lib/hcrypto/libtommath/bn_mp_radix_smap.c ../heimdal/lib/hcrypto/libtommath/bn_mp_read_radix.c ../heimdal/lib/hcrypto/libtommath/bn_mp_toradix.c ../heimdal/lib/hcrypto/libtommath/bn_mp_radix_size.c ../heimdal/lib/hcrypto/libtommath/bn_mp_fread.c ../heimdal/lib/hcrypto/libtommath/bn_mp_fwrite.c ../heimdal/lib/hcrypto/libtommath/bn_mp_cnt_lsb.c ../heimdal/lib/hcrypto/libtommath/bn_error.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init_multi.c ../heimdal/lib/hcrypto/libtommath/bn_mp_clear_multi.c ../heimdal/lib/hcrypto/libtommath/bn_mp_exteuclid.c ../heimdal/lib/hcrypto/libtommath/bn_mp_toradix_n.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_random_ex.c ../heimdal/lib/hcrypto/libtommath/bn_mp_get_int.c ../heimdal/lib/hcrypto/libtommath/bn_mp_sqrt.c ../heimdal/lib/hcrypto/libtommath/bn_mp_is_square.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init_set.c ../heimdal/lib/hcrypto/libtommath/bn_mp_init_set_int.c ../heimdal/lib/hcrypto/libtommath/bn_mp_invmod_slow.c ../heimdal/lib/hcrypto/libtommath/bn_mp_prime_rabin_miller_trials.c ../heimdal/lib/hcrypto/libtommath/bn_mp_to_signed_bin_n.c ../heimdal/lib/hcrypto/libtommath/bn_mp_to_unsigned_bin_n.c',
694 includes='../heimdal/lib/hcrypto/libtommath'
697 HEIMDAL_SUBSYSTEM('HEIMDAL_HCRYPTO',
698 '../heimdal/lib/hcrypto/aes.c ../heimdal/lib/hcrypto/bn.c ../heimdal/lib/hcrypto/dh.c ../heimdal/lib/hcrypto/dh-ltm.c ../heimdal/lib/hcrypto/dh-imath.c ../heimdal/lib/hcrypto/des.c ../heimdal/lib/hcrypto/dsa.c ../heimdal/lib/hcrypto/engine.c ../heimdal/lib/hcrypto/md2.c ../heimdal/lib/hcrypto/md4.c ../heimdal/lib/hcrypto/md5.c ../heimdal/lib/hcrypto/rsa.c ../heimdal/lib/hcrypto/rsa-ltm.c ../heimdal/lib/hcrypto/rsa-imath.c ../heimdal/lib/hcrypto/rc2.c ../heimdal/lib/hcrypto/rc4.c ../heimdal/lib/hcrypto/rijndael-alg-fst.c ../heimdal/lib/hcrypto/rnd_keys.c ../heimdal/lib/hcrypto/sha.c ../heimdal/lib/hcrypto/sha256.c ../heimdal/lib/hcrypto/sha512.c ../heimdal/lib/hcrypto/ui.c ../heimdal/lib/hcrypto/evp.c ../heimdal/lib/hcrypto/evp-hcrypto.c ../heimdal/lib/hcrypto/pkcs5.c ../heimdal/lib/hcrypto/pkcs12.c ../heimdal/lib/hcrypto/rand.c ../heimdal/lib/hcrypto/rand-egd.c ../heimdal/lib/hcrypto/rand-unix.c ../heimdal/lib/hcrypto/rand-fortuna.c ../heimdal/lib/hcrypto/rand-timer.c ../heimdal/lib/hcrypto/hmac.c ../heimdal/lib/hcrypto/camellia.c ../heimdal/lib/hcrypto/camellia-ntt.c ../heimdal/lib/hcrypto/common.c ../heimdal/lib/hcrypto/validate.c',
699 includes='../heimdal/lib/hcrypto ../heimdal/lib',
700 deps='roken HEIMDAL_HEIM_ASN1 HEIMDAL_HCRYPTO_IMATH HEIMDAL_RFC2459_ASN1 HEIMDAL_HCRYPTO_LTM'
704 HEIMDAL_LIBRARY('hx509',
705 '../heimdal/lib/hx509/ca.c ../heimdal/lib/hx509/cert.c ../heimdal/lib/hx509/cms.c ../heimdal/lib/hx509/collector.c ../heimdal/lib/hx509/crypto.c ../heimdal/lib/hx509/error.c ../heimdal/lib/hx509/env.c ../heimdal/lib/hx509/file.c ../heimdal/lib/hx509/keyset.c ../heimdal/lib/hx509/ks_dir.c ../heimdal/lib/hx509/ks_file.c ../heimdal/lib/hx509/ks_keychain.c ../heimdal/lib/hx509/ks_mem.c ../heimdal/lib/hx509/ks_null.c ../heimdal/lib/hx509/ks_p11.c ../heimdal/lib/hx509/ks_p12.c ../heimdal/lib/hx509/lock.c ../heimdal/lib/hx509/name.c ../heimdal/lib/hx509/peer.c ../heimdal/lib/hx509/print.c ../heimdal/lib/hx509/req.c ../heimdal/lib/hx509/revoke.c ../heimdal/lib/hx509/sel.c ../heimdal/lib/hx509/hx509_err.c ../heimdal/lib/hx509/sel-lex.c ../heimdal/lib/hx509/sel-gram.c',
706 includes='../heimdal/lib/hx509',
707 deps='roken com_err HEIMDAL_HEIM_ASN1 HEIMDAL_HCRYPTO HEIMDAL_CMS_ASN1 HEIMDAL_RFC2459_ASN1 HEIMDAL_OCSP_ASN1 HEIMDAL_PKCS8_ASN1 HEIMDAL_PKCS9_ASN1 HEIMDAL_PKCS12_ASN1 HEIMDAL_PKINIT_ASN1 HEIMDAL_PKCS10_ASN1 wind HEIMDAL_KRB5_ASN1',
712 if not bld.CONFIG_SET('USING_SYSTEM_WIND'):
713 HEIMDAL_ERRTABLE('WIND_ERR_ET',
714 '../heimdal/lib/wind/wind_err.et')
717 name="HEIMDAL_ERRORLIST",
718 rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[1].parent.abspath(env)}",
719 source = '../heimdal/lib/wind/gen-errorlist.py ../heimdal/lib/wind/rfc3454.txt ../heimdal/lib/wind/stringprep.py',
720 target = '../heimdal/lib/wind/errorlist_table.c ../heimdal/lib/wind/errorlist_table.h'
725 name = 'HEIMDAL_NORMALIZE_TABLE',
726 rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[2].abspath()} ${SRC[1].parent.abspath(env)}",
727 source = '../heimdal/lib/wind/gen-normalize.py ../heimdal/lib/wind/UnicodeData.txt ../heimdal/lib/wind/CompositionExclusions-3.2.0.txt',
728 target = '../heimdal/lib/wind/normalize_table.h ../heimdal/lib/wind/normalize_table.c'
732 name = 'HEIMDAL_COMBINING_TABLE',
733 rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[1].parent.abspath(env)}",
734 source = '../heimdal/lib/wind/gen-combining.py ../heimdal/lib/wind/UnicodeData.txt',
735 target = '../heimdal/lib/wind/combining_table.h ../heimdal/lib/wind/combining_table.c'
739 name = 'HEIMDAL_BIDI_TABLE',
740 rule="${PYTHON} ${SRC[0].abspath()} ${SRC[1].abspath()} ${SRC[1].parent.abspath(env)}",
741 source = '../heimdal/lib/wind/gen-bidi.py ../heimdal/lib/wind/rfc3454.txt',
742 target = '../heimdal/lib/wind/bidi_table.h ../heimdal/lib/wind/bidi_table.c'
747 name = 'HEIMDAL_MAP_TABLE',
748 rule="${PYTHON} ${SRC[0].abspath()} ${SRC[2].abspath()} ${SRC[2].parent.abspath(env)}",
749 source = '../heimdal/lib/wind/gen-map.py ../heimdal/lib/wind/stringprep.py ../heimdal/lib/wind/rfc3454.txt',
750 target = '../heimdal/lib/wind/map_table.h ../heimdal/lib/wind/map_table.c'
753 HEIMDAL_LIBRARY('wind',
754 '../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',
755 includes='../heimdal/lib/wind',
756 deps='roken com_err',
760 if not bld.CONFIG_SET('USING_SYSTEM_COM_ERR'):
761 HEIMDAL_LIBRARY('com_err',
762 '../heimdal/lib/com_err/com_err.c ../heimdal/lib/com_err/error.c',
763 includes='../heimdal/lib/com_err',
768 HEIMDAL_SUBSYSTEM('HEIMDAL_VERS_HOSTCC',
769 '../heimdal/lib/vers/print_version.c ../heimdal_build/version.c',
770 group='build_compilers',
771 deps='LIBREPLACE_HOSTCC ROKEN_HOSTCC',
772 use_global_deps=False,
775 HEIMDAL_SUBSYSTEM('HEIMDAL_VERS',
776 '../heimdal/lib/vers/print_version.c ../heimdal_build/version.c',
777 group='build_compilers',
780 # here is the asn1 compiler build rule
781 HEIMDAL_BINARY('asn1_compile',
782 '../heimdal/lib/asn1/main.c ../heimdal/lib/asn1/gen.c ../heimdal/lib/asn1/gen_copy.c ../heimdal/lib/asn1/gen_decode.c ../heimdal/lib/asn1/gen_encode.c ../heimdal/lib/asn1/gen_free.c ../heimdal/lib/asn1/gen_glue.c ../heimdal/lib/asn1/gen_length.c ../heimdal/lib/asn1/gen_seq.c ../heimdal/lib/asn1/gen_template.c ../heimdal/lib/asn1/hash.c ../heimdal/lib/asn1/symbol.c ../heimdal/lib/asn1/asn1parse.c ../heimdal/lib/asn1/lex.c',
784 use_global_deps=False,
785 cflags='-DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_',
786 includes='../heimdal/lib/asn1',
787 group='build_compilers',
788 deps='ROKEN_HOSTCC LIBREPLACE_HOSTCC HEIMDAL_VERS_HOSTCC',
793 if not bld.CONFIG_SET('USING_SYSTEM_COMPILE_ET'):
794 HEIMDAL_BINARY('compile_et',
795 '../heimdal/lib/com_err/parse.c ../heimdal/lib/com_err/lex.c ../heimdal/lib/com_err/compile_et.c',
797 use_global_deps=False,
798 includes='../heimdal/lib/com_err',
799 group='build_compilers',
800 cflags='-DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1 -D_SAMBA_HOSTCC_',
801 deps='ROKEN_HOSTCC LIBREPLACE_HOSTCC HEIMDAL_VERS_HOSTCC',
804 bld.env['COMPILE_ET'] = os.path.join(bld.env['BUILD_DIRECTORY'], 'compile_et')
806 HEIMDAL_BINARY('samba4kinit',
807 '../heimdal/kuser/kinit.c',
808 deps='krb5 heimntlm roken HEIMDAL_VERS',
813 HEIMDAL_BINARY('samba4kpasswd',
814 '../heimdal/kpasswd/kpasswd.c',
815 deps='krb5 heimntlm roken HEIMDAL_VERS',
820 HEIMDAL_GSSAPI_SPNEGO_SOURCE = '''
821 ../heimdal/lib/gssapi/spnego/init_sec_context.c
822 ../heimdal/lib/gssapi/spnego/external.c
823 ../heimdal/lib/gssapi/spnego/compat.c
824 ../heimdal/lib/gssapi/spnego/context_stubs.c
825 ../heimdal/lib/gssapi/spnego/cred_stubs.c
826 ../heimdal/lib/gssapi/spnego/accept_sec_context.c
829 HEIMDAL_AUTOPROTO_PRIVATE('../heimdal/lib/gssapi/spnego/spnego-private.h',
830 HEIMDAL_GSSAPI_SPNEGO_SOURCE)
833 HEIMDAL_GSSAPI_KRB5_SOURCE = '''
834 ../heimdal/lib/gssapi/krb5/copy_ccache.c
835 ../heimdal/lib/gssapi/krb5/delete_sec_context.c
836 ../heimdal/lib/gssapi/krb5/init_sec_context.c
837 ../heimdal/lib/gssapi/krb5/context_time.c
838 ../heimdal/lib/gssapi/krb5/init.c
839 ../heimdal/lib/gssapi/krb5/address_to_krb5addr.c
840 ../heimdal/lib/gssapi/krb5/get_mic.c
841 ../heimdal/lib/gssapi/krb5/inquire_context.c
842 ../heimdal/lib/gssapi/krb5/add_cred.c
843 ../heimdal/lib/gssapi/krb5/inquire_cred.c
844 ../heimdal/lib/gssapi/krb5/inquire_cred_by_oid.c
845 ../heimdal/lib/gssapi/krb5/inquire_cred_by_mech.c
846 ../heimdal/lib/gssapi/krb5/inquire_mechs_for_name.c
847 ../heimdal/lib/gssapi/krb5/inquire_names_for_mech.c
848 ../heimdal/lib/gssapi/krb5/indicate_mechs.c
849 ../heimdal/lib/gssapi/krb5/inquire_sec_context_by_oid.c
850 ../heimdal/lib/gssapi/krb5/export_sec_context.c
851 ../heimdal/lib/gssapi/krb5/import_sec_context.c
852 ../heimdal/lib/gssapi/krb5/duplicate_name.c
853 ../heimdal/lib/gssapi/krb5/import_name.c
854 ../heimdal/lib/gssapi/krb5/compare_name.c
855 ../heimdal/lib/gssapi/krb5/export_name.c
856 ../heimdal/lib/gssapi/krb5/canonicalize_name.c
857 ../heimdal/lib/gssapi/krb5/unwrap.c
858 ../heimdal/lib/gssapi/krb5/wrap.c
859 ../heimdal/lib/gssapi/krb5/release_name.c
860 ../heimdal/lib/gssapi/krb5/cfx.c
861 ../heimdal/lib/gssapi/krb5/8003.c
862 ../heimdal/lib/gssapi/krb5/arcfour.c
863 ../heimdal/lib/gssapi/krb5/encapsulate.c
864 ../heimdal/lib/gssapi/krb5/display_name.c
865 ../heimdal/lib/gssapi/krb5/sequence.c
866 ../heimdal/lib/gssapi/krb5/display_status.c
867 ../heimdal/lib/gssapi/krb5/release_buffer.c
868 ../heimdal/lib/gssapi/krb5/external.c
869 ../heimdal/lib/gssapi/krb5/compat.c
870 ../heimdal/lib/gssapi/krb5/creds.c
871 ../heimdal/lib/gssapi/krb5/acquire_cred.c
872 ../heimdal/lib/gssapi/krb5/release_cred.c
873 ../heimdal/lib/gssapi/krb5/store_cred.c
874 ../heimdal/lib/gssapi/krb5/set_cred_option.c
875 ../heimdal/lib/gssapi/krb5/decapsulate.c
876 ../heimdal/lib/gssapi/krb5/verify_mic.c
877 ../heimdal/lib/gssapi/krb5/accept_sec_context.c
878 ../heimdal/lib/gssapi/krb5/set_sec_context_option.c
879 ../heimdal/lib/gssapi/krb5/process_context_token.c
880 ../heimdal/lib/gssapi/krb5/prf.c
881 ../heimdal/lib/gssapi/krb5/aeap.c
884 HEIMDAL_AUTOPROTO_PRIVATE('../heimdal/lib/gssapi/krb5/gsskrb5-private.h',
885 HEIMDAL_GSSAPI_KRB5_SOURCE)
888 HEIMDAL_HX509_OBJH_SOURCE = '''
889 ../heimdal/lib/hx509/ca.c
890 ../heimdal/lib/hx509/cert.c
891 ../heimdal/lib/hx509/cms.c
892 ../heimdal/lib/hx509/collector.c
893 ../heimdal/lib/hx509/crypto.c
894 ../heimdal/lib/hx509/error.c
895 ../heimdal/lib/hx509/env.c
896 ../heimdal/lib/hx509/file.c
897 ../heimdal/lib/hx509/keyset.c
898 ../heimdal/lib/hx509/ks_dir.c
899 ../heimdal/lib/hx509/ks_file.c
900 ../heimdal/lib/hx509/ks_keychain.c
901 ../heimdal/lib/hx509/ks_mem.c
902 ../heimdal/lib/hx509/ks_null.c
903 ../heimdal/lib/hx509/ks_p11.c
904 ../heimdal/lib/hx509/ks_p12.c
905 ../heimdal/lib/hx509/lock.c
906 ../heimdal/lib/hx509/name.c
907 ../heimdal/lib/hx509/peer.c
908 ../heimdal/lib/hx509/print.c
909 ../heimdal/lib/hx509/req.c
910 ../heimdal/lib/hx509/revoke.c
911 ../heimdal/lib/hx509/sel.c
912 ../heimdal/lib/hx509/hx509_err.c
915 HEIMDAL_AUTOPROTO('../heimdal/lib/hx509/hx509-protos.h',
916 HEIMDAL_HX509_OBJH_SOURCE,
917 options="-R '^(_|^C)' -E HX509_LIB -q -P comment -o")
919 HEIMDAL_AUTOPROTO('../heimdal/lib/hx509/hx509-private.h',
920 HEIMDAL_HX509_OBJH_SOURCE,
921 options="-q -P comment -p")
923 HEIMDAL_HEIM_ASN1_DER_SOURCE = '''
924 ../heimdal/lib/asn1/der_get.c
925 ../heimdal/lib/asn1/der_put.c
926 ../heimdal/lib/asn1/der_free.c
927 ../heimdal/lib/asn1/der_format.c
928 ../heimdal/lib/asn1/der_length.c
929 ../heimdal/lib/asn1/der_copy.c
930 ../heimdal/lib/asn1/der_cmp.c
933 HEIMDAL_AUTOPROTO('../heimdal/lib/asn1/der-protos.h',
934 HEIMDAL_HEIM_ASN1_DER_SOURCE,
935 group = 'compiler_prototypes',
936 options="-q -P comment -o")
939 HEIMDAL_AUTOPROTO('../heimdal/lib/asn1/der-private.h',
940 HEIMDAL_HEIM_ASN1_DER_SOURCE,
941 group = 'compiler_prototypes',
942 options="-q -P comment -p")