diff options
Diffstat (limited to 'waftools/generators')
-rw-r--r-- | waftools/generators/__init__.py | 0 | ||||
-rw-r--r-- | waftools/generators/headers.py | 45 | ||||
-rw-r--r-- | waftools/generators/sources.py | 95 |
3 files changed, 0 insertions, 140 deletions
diff --git a/waftools/generators/__init__.py b/waftools/generators/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 --- a/waftools/generators/__init__.py +++ /dev/null diff --git a/waftools/generators/headers.py b/waftools/generators/headers.py deleted file mode 100644 index 55db354aab..0000000000 --- a/waftools/generators/headers.py +++ /dev/null @@ -1,45 +0,0 @@ -def __cp_to_variant__(ctx, variant, basename): - src = ctx.bldnode.search_node(basename).read() - node = ctx.bldnode.make_node("{0}/{1}".format(variant, basename)) - node.parent.mkdir() - node.write(src) - -def __write_config_h__(ctx): - ctx.start_msg("Writing configuration header:") - ctx.write_config_header('config.h') - __cp_to_variant__(ctx, ctx.options.variant, 'config.h') - ctx.end_msg("config.h", "PINK") - -def __add_swift_defines__(ctx): - if ctx.dependency_satisfied("swift"): - ctx.start_msg("Adding conditional Swift flags:") - from waflib.Tools.c_config import DEFKEYS, INCKEYS - for define in ctx.env[DEFKEYS]: - if ctx.is_defined(define) and ctx.get_define(define) == "1": - ctx.env.SWIFT_FLAGS.extend(["-D", define]) - ctx.end_msg("yes") - -# Approximately escape the string as C string literal -def __escape_c_string(s): - return s.replace("\"", "\\\"").replace("\n", "\\n") - -def __get_features_string__(ctx): - import inflector - stuff = [] - for dependency_identifier in ctx.satisfied_deps: - defkey = inflector.define_key(dependency_identifier) - if ctx.is_defined(defkey) and ctx.get_define(defkey) == "1": - stuff.append(dependency_identifier) - stuff.sort() - return " ".join(stuff) - -def __add_mpv_defines__(ctx): - from sys import argv - ctx.define("CONFIGURATION", " ".join(argv)) - ctx.define("MPV_CONFDIR", ctx.env.CONFLOADDIR) - ctx.define("FULLCONFIG", __escape_c_string(__get_features_string__(ctx))) - -def configure(ctx): - __add_mpv_defines__(ctx) - __add_swift_defines__(ctx) - __write_config_h__(ctx) 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__ |