diff options
Diffstat (limited to 'third_party/waf/wafadmin/Tools/glib2.py')
-rw-r--r-- | third_party/waf/wafadmin/Tools/glib2.py | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/third_party/waf/wafadmin/Tools/glib2.py b/third_party/waf/wafadmin/Tools/glib2.py deleted file mode 100644 index d3fc7769740..00000000000 --- a/third_party/waf/wafadmin/Tools/glib2.py +++ /dev/null @@ -1,163 +0,0 @@ -#! /usr/bin/env python -# encoding: utf-8 -# Thomas Nagy, 2006-2008 (ita) - -"GLib2 support" - -import Task, Utils -from TaskGen import taskgen, before, after, feature - -# -# glib-genmarshal -# - -@taskgen -def add_marshal_file(self, filename, prefix): - if not hasattr(self, 'marshal_list'): - self.marshal_list = [] - self.meths.append('process_marshal') - self.marshal_list.append((filename, prefix)) - -@before('apply_core') -def process_marshal(self): - for f, prefix in getattr(self, 'marshal_list', []): - node = self.path.find_resource(f) - - if not node: - raise Utils.WafError('file not found %r' % f) - - h_node = node.change_ext('.h') - c_node = node.change_ext('.c') - - task = self.create_task('glib_genmarshal', node, [h_node, c_node]) - task.env.GLIB_GENMARSHAL_PREFIX = prefix - self.allnodes.append(c_node) - -def genmarshal_func(self): - - bld = self.inputs[0].__class__.bld - - get = self.env.get_flat - cmd1 = "%s %s --prefix=%s --header > %s" % ( - get('GLIB_GENMARSHAL'), - self.inputs[0].srcpath(self.env), - get('GLIB_GENMARSHAL_PREFIX'), - self.outputs[0].abspath(self.env) - ) - - ret = bld.exec_command(cmd1) - if ret: return ret - - #print self.outputs[1].abspath(self.env) - f = open(self.outputs[1].abspath(self.env), 'wb') - c = '''#include "%s"\n''' % self.outputs[0].name - f.write(c) - f.close() - - cmd2 = "%s %s --prefix=%s --body >> %s" % ( - get('GLIB_GENMARSHAL'), - self.inputs[0].srcpath(self.env), - get('GLIB_GENMARSHAL_PREFIX'), - self.outputs[1].abspath(self.env) - ) - ret = Utils.exec_command(cmd2) - if ret: return ret - -# -# glib-mkenums -# - -@taskgen -def add_enums_from_template(self, source='', target='', template='', comments=''): - if not hasattr(self, 'enums_list'): - self.enums_list = [] - self.meths.append('process_enums') - self.enums_list.append({'source': source, - 'target': target, - 'template': template, - 'file-head': '', - 'file-prod': '', - 'file-tail': '', - 'enum-prod': '', - 'value-head': '', - 'value-prod': '', - 'value-tail': '', - 'comments': comments}) - -@taskgen -def add_enums(self, source='', target='', - file_head='', file_prod='', file_tail='', enum_prod='', - value_head='', value_prod='', value_tail='', comments=''): - if not hasattr(self, 'enums_list'): - self.enums_list = [] - self.meths.append('process_enums') - self.enums_list.append({'source': source, - 'template': '', - 'target': target, - 'file-head': file_head, - 'file-prod': file_prod, - 'file-tail': file_tail, - 'enum-prod': enum_prod, - 'value-head': value_head, - 'value-prod': value_prod, - 'value-tail': value_tail, - 'comments': comments}) - -@before('apply_core') -def process_enums(self): - for enum in getattr(self, 'enums_list', []): - task = self.create_task('glib_mkenums') - env = task.env - - inputs = [] - - # process the source - source_list = self.to_list(enum['source']) - if not source_list: - raise Utils.WafError('missing source ' + str(enum)) - source_list = [self.path.find_resource(k) for k in source_list] - inputs += source_list - env['GLIB_MKENUMS_SOURCE'] = [k.srcpath(env) for k in source_list] - - # find the target - if not enum['target']: - raise Utils.WafError('missing target ' + str(enum)) - tgt_node = self.path.find_or_declare(enum['target']) - if tgt_node.name.endswith('.c'): - self.allnodes.append(tgt_node) - env['GLIB_MKENUMS_TARGET'] = tgt_node.abspath(env) - - - options = [] - - if enum['template']: # template, if provided - template_node = self.path.find_resource(enum['template']) - options.append('--template %s' % (template_node.abspath(env))) - inputs.append(template_node) - params = {'file-head' : '--fhead', - 'file-prod' : '--fprod', - 'file-tail' : '--ftail', - 'enum-prod' : '--eprod', - 'value-head' : '--vhead', - 'value-prod' : '--vprod', - 'value-tail' : '--vtail', - 'comments': '--comments'} - for param, option in params.iteritems(): - if enum[param]: - options.append('%s %r' % (option, enum[param])) - - env['GLIB_MKENUMS_OPTIONS'] = ' '.join(options) - - # update the task instance - task.set_inputs(inputs) - task.set_outputs(tgt_node) - -Task.task_type_from_func('glib_genmarshal', func=genmarshal_func, vars=['GLIB_GENMARSHAL_PREFIX', 'GLIB_GENMARSHAL'], - color='BLUE', before='cc cxx') -Task.simple_task_type('glib_mkenums', - '${GLIB_MKENUMS} ${GLIB_MKENUMS_OPTIONS} ${GLIB_MKENUMS_SOURCE} > ${GLIB_MKENUMS_TARGET}', - color='PINK', before='cc cxx') - -def detect(conf): - glib_genmarshal = conf.find_program('glib-genmarshal', var='GLIB_GENMARSHAL') - mk_enums_tool = conf.find_program('glib-mkenums', var='GLIB_MKENUMS') |