source: waflib/Tools/flex.py @ f36ecea

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5pitchshiftsamplertimestretchyinfft+
Last change on this file since f36ecea was 0fa325b, checked in by Paul Brossier <piem@piem.org>, 11 years ago

waf: unpack

  • Property mode set to 100644
File size: 1.0 KB
Line 
1#! /usr/bin/env python
2# encoding: utf-8
3# WARNING! Do not edit! http://waf.googlecode.com/git/docs/wafbook/single.html#_obtaining_the_waf_file
4
5import waflib.TaskGen,os,re
6def decide_ext(self,node):
7        if'cxx'in self.features:
8                return['.lex.cc']
9        return['.lex.c']
10def flexfun(tsk):
11        env=tsk.env
12        bld=tsk.generator.bld
13        wd=bld.variant_dir
14        def to_list(xx):
15                if isinstance(xx,str):return[xx]
16                return xx
17        tsk.last_cmd=lst=[]
18        lst.extend(to_list(env['FLEX']))
19        lst.extend(to_list(env['FLEXFLAGS']))
20        inputs=[a.path_from(bld.bldnode)for a in tsk.inputs]
21        if env.FLEX_MSYS:
22                inputs=[x.replace(os.sep,'/')for x in inputs]
23        lst.extend(inputs)
24        lst=[x for x in lst if x]
25        txt=bld.cmd_and_log(lst,cwd=wd,env=env.env or None,quiet=0)
26        tsk.outputs[0].write(txt.replace('\r\n','\n').replace('\r','\n'))
27waflib.TaskGen.declare_chain(name='flex',rule=flexfun,ext_in='.l',decider=decide_ext,)
28def configure(conf):
29        conf.find_program('flex',var='FLEX')
30        conf.env.FLEXFLAGS=['-t']
31        if re.search(r"\\msys\\[0-9.]+\\bin\\flex.exe$",conf.env.FLEX):
32                conf.env.FLEX_MSYS=True
Note: See TracBrowser for help on using the repository browser.