+def HEIMDAL_SUBSYSTEM(bld, modname, source,
+ deps='',
+ includes='',
+ cflags='',
+ group='main',
+ depends_on='',
+ local_include=True,
+ local_include_first=True,
+ enabled=True,
+ use_hostcc=False,
+ use_global_deps=True,
+ vars=None):
+ '''define a Heimdal subsystem'''
+
+ if not enabled:
+ SET_TARGET_TYPE(bld, modname, 'DISABLED')
+ return
+
+ if not SET_TARGET_TYPE(bld, modname, 'SUBSYSTEM'):
+ return
+
+ source = bld.EXPAND_VARIABLES(source, vars=vars)
+ source = TO_LIST(source)
+
+ bld.SET_BUILD_GROUP(group)
+
+ t = bld(
+ features = 'cc',
+ source = source,
+ target = modname,
+ samba_cflags = CURRENT_CFLAGS(bld, modname, cflags),
+ depends_on = depends_on,
+ samba_deps = TO_LIST(deps),
+ samba_includes = includes,
+ local_include = local_include,
+ local_include_first = local_include_first,
+ samba_use_hostcc = use_hostcc,
+ samba_use_global_deps = use_global_deps
+ )
+
+ return t
+
+Build.BuildContext.HEIMDAL_SUBSYSTEM = HEIMDAL_SUBSYSTEM
+