summaryrefslogtreecommitdiffstats
path: root/waftools/generators/sources.py
diff options
context:
space:
mode:
Diffstat (limited to 'waftools/generators/sources.py')
-rw-r--r--waftools/generators/sources.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/waftools/generators/sources.py b/waftools/generators/sources.py
new file mode 100644
index 0000000000..1248ad90b4
--- /dev/null
+++ b/waftools/generators/sources.py
@@ -0,0 +1,37 @@
+from waflib.Build import BuildContext
+import os
+
+def __file2string_cmd__(ctx):
+ return "${{BIN_PERL}} {0}/TOOLS/file2string.pl ${{SRC}} > ${{TGT}}" \
+ .format(ctx.srcnode.abspath())
+
+def __matroska_cmd__(ctx, argument):
+ return "${{BIN_PERL}} {0}/TOOLS/matroska.pl {1} ${{SRC}} > ${{TGT}}" \
+ .format(ctx.srcnode.abspath(), argument)
+
+def __file2string__(ctx, **kwargs):
+ ctx(
+ rule = __file2string_cmd__(ctx),
+ before = ("c",),
+ name = os.path.basename(kwargs['target']),
+ **kwargs
+ )
+
+def __matroska_header__(ctx, **kwargs):
+ ctx(
+ rule = __matroska_cmd__(ctx, '--generate-header'),
+ before = ("c",),
+ name = os.path.basename(kwargs['target']),
+ **kwargs
+ )
+
+def __matroska_definitions__(ctx, **kwargs):
+ ctx(
+ rule = __matroska_cmd__(ctx, '--generate-definitions'),
+ before = ("c",),
+ **kwargs
+ )
+
+BuildContext.file2string = __file2string__
+BuildContext.matroska_header = __matroska_header__
+BuildContext.matroska_definitions = __matroska_definitions__