aboutsummaryrefslogtreecommitdiffstats
path: root/waflib/extras/midl.py
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2019-04-21 22:56:13 +0200
committerDavid Robillard <d@drobilla.net>2019-04-21 22:56:13 +0200
commitbc596356af71d95eb2a341d0324a76e6b7e59a73 (patch)
treeb98fff0fffd6503acd8cb1cd452e055749ac94c0 /waflib/extras/midl.py
parent683d47cb7fddf5447de76cdf80041b6b230de93c (diff)
downloadserd-bc596356af71d95eb2a341d0324a76e6b7e59a73.tar.gz
serd-bc596356af71d95eb2a341d0324a76e6b7e59a73.tar.bz2
serd-bc596356af71d95eb2a341d0324a76e6b7e59a73.zip
Switch to using a submodule for autowaf
Diffstat (limited to 'waflib/extras/midl.py')
m---------waflib0
-rw-r--r--waflib/extras/midl.py69
2 files changed, 0 insertions, 69 deletions
diff --git a/waflib b/waflib
new file mode 160000
+Subproject 2314e236ca6e7d94a26c3c17091da0f25f5867f
diff --git a/waflib/extras/midl.py b/waflib/extras/midl.py
deleted file mode 100644
index 43e6cf91..00000000
--- a/waflib/extras/midl.py
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env python
-# Issue 1185 ultrix gmail com
-
-"""
-Microsoft Interface Definition Language support. Given ComObject.idl, this tool
-will generate ComObject.tlb ComObject_i.h ComObject_i.c ComObject_p.c and dlldata.c
-
-To declare targets using midl::
-
- def configure(conf):
- conf.load('msvc')
- conf.load('midl')
-
- def build(bld):
- bld(
- features='c cshlib',
- # Note: ComObject_i.c is generated from ComObject.idl
- source = 'main.c ComObject.idl ComObject_i.c',
- target = 'ComObject.dll')
-"""
-
-from waflib import Task, Utils
-from waflib.TaskGen import feature, before_method
-import os
-
-def configure(conf):
- conf.find_program(['midl'], var='MIDL')
-
- conf.env.MIDLFLAGS = [
- '/nologo',
- '/D',
- '_DEBUG',
- '/W1',
- '/char',
- 'signed',
- '/Oicf',
- ]
-
-@feature('c', 'cxx')
-@before_method('process_source')
-def idl_file(self):
- # Do this before process_source so that the generated header can be resolved
- # when scanning source dependencies.
- idl_nodes = []
- src_nodes = []
- for node in Utils.to_list(self.source):
- if str(node).endswith('.idl'):
- idl_nodes.append(node)
- else:
- src_nodes.append(node)
-
- for node in self.to_nodes(idl_nodes):
- t = node.change_ext('.tlb')
- h = node.change_ext('_i.h')
- c = node.change_ext('_i.c')
- p = node.change_ext('_p.c')
- d = node.parent.find_or_declare('dlldata.c')
- self.create_task('midl', node, [t, h, c, p, d])
-
- self.source = src_nodes
-
-class midl(Task.Task):
- """
- Compile idl files
- """
- color = 'YELLOW'
- run_str = '${MIDL} ${MIDLFLAGS} ${CPPPATH_ST:INCLUDES} /tlb ${TGT[0].bldpath()} /header ${TGT[1].bldpath()} /iid ${TGT[2].bldpath()} /proxy ${TGT[3].bldpath()} /dlldata ${TGT[4].bldpath()} ${SRC}'
- before = ['winrc']
-