+
+################################################################
+# build a C prototype file automatically
+def AUTOPROTO(bld, header, source_list):
+ if header is not None:
+ bld(
+ source = source_list,
+ target = header,
+ rule = '../script/mkproto.pl --srcdir=.. --builddir=. --public=/dev/null --private=${TGT} ${SRC}'
+ )
+Build.BuildContext.AUTOPROTO = AUTOPROTO
+
+
+#################################################################
+# define a Samba module.
+def SAMBA_MODULE(bld, modname, source_list,
+ deps='', include_list='.',
+ subsystem=None,
+ init_function=None,
+ autoproto=None):
+ bld.ADD_INIT_FUNCTION(subsystem, init_function)
+ bld.AUTOPROTO(autoproto, source_list)
+ bld.SAMBA_LIBRARY(modname, source_list,
+ deps=deps, include_list=include_list)
+Build.BuildContext.SAMBA_MODULE = SAMBA_MODULE
+
+#################################################################
+# define a Samba subsystem
+def SAMBA_SUBSYSTEM(bld, modname, source_list,
+ deps='', include_list='.',
+ autoproto=None):
+ bld.SAMBA_LIBRARY(modname, source_list,
+ deps=deps, include_list=include_list)
+Build.BuildContext.SAMBA_SUBSYSTEM = SAMBA_SUBSYSTEM
+
+