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.py95
1 files changed, 0 insertions, 95 deletions
diff --git a/waftools/generators/sources.py b/waftools/generators/sources.py
deleted file mode 100644
index dae1985e2d..0000000000
--- a/waftools/generators/sources.py
+++ /dev/null
@@ -1,95 +0,0 @@
-from waflib.Build import BuildContext
-from waflib import TaskGen, Utils
-from io import StringIO
-from TOOLS.matroska import generate_C_header, generate_C_definitions
-from TOOLS.file2string import file2string
-import os
-
-def __wayland_scanner_cmd__(ctx, mode, dir, src, vendored_file):
- return "${{WAYSCAN}} {0} < {1} > ${{TGT}}".format(
- mode,
- "${SRC}" if vendored_file else "{}/{}".format(dir, src)
- )
-
-def __file2string__(ctx, **kwargs):
- ctx(
- rule = __file2string_cmd__(ctx),
- before = ("c",),
- name = os.path.basename(kwargs['target']),
- **kwargs
- )
-
-def execf(self, fn):
- setattr(self, 'before', ['c'])
- setattr(self, 'rule', ' ') # waf doesn't print the task with no rule
- target = getattr(self, 'target', None)
- out = self.path.find_or_declare(target)
- tmp = StringIO()
- fn(tmp)
- out.write(tmp.getvalue())
- tmp.close()
-
-@TaskGen.feature('file2string')
-def f2s(self):
- def fn(out):
- source = getattr(self, 'source', None)
- src = self.path.find_resource(source)
- file2string(source, iter(src.read('rb').splitlines(True)), out)
- execf(self, fn)
-
-@TaskGen.feature('ebml_header')
-def ebml_header(self):
- execf(self, generate_C_header)
-
-@TaskGen.feature('ebml_definitions')
-def ebml_definitions(self):
- execf(self, generate_C_definitions)
-
-def __wayland_protocol_code__(ctx, **kwargs):
- protocol_is_vendored = kwargs.get("vendored_protocol", False)
- file_name = kwargs['protocol'] + '.xml'
-
- if protocol_is_vendored:
- del kwargs['vendored_protocol']
- kwargs['source'] = '{}/{}'.format(kwargs['proto_dir'], file_name)
-
- ctx(
- rule = __wayland_scanner_cmd__(ctx, 'private-code', kwargs['proto_dir'],
- file_name,
- protocol_is_vendored),
- name = os.path.basename(kwargs['target']),
- **kwargs
- )
-
-def __wayland_protocol_header__(ctx, **kwargs):
- protocol_is_vendored = kwargs.get("vendored_protocol", False)
- file_name = kwargs['protocol'] + '.xml'
-
- if protocol_is_vendored:
- del kwargs['vendored_protocol']
- kwargs['source'] = '{}/{}'.format(kwargs['proto_dir'], file_name)
-
- ctx(
- rule = __wayland_scanner_cmd__(ctx, 'client-header', kwargs['proto_dir'],
- file_name,
- protocol_is_vendored),
- before = ('c',),
- name = os.path.basename(kwargs['target']),
- **kwargs
- )
-
-@TaskGen.feature('cprogram')
-@TaskGen.feature('cshlib')
-@TaskGen.feature('cstlib')
-@TaskGen.feature('apply_link')
-@TaskGen.after_method('process_source', 'process_use', 'apply_link', 'process_uselib_local', 'propagate_uselib_vars', 'do_the_symbol_stuff')
-def handle_add_object(tgen):
- if getattr(tgen, 'add_objects', None):
- for input in tgen.add_objects:
- input_node = tgen.path.find_resource(input)
- if input_node is not None:
- tgen.link_task.inputs.append(input_node)
-
-BuildContext.file2string = __file2string__
-BuildContext.wayland_protocol_code = __wayland_protocol_code__
-BuildContext.wayland_protocol_header = __wayland_protocol_header__