blob: a354e3e799668d8873237cf010c235165821c18a [file] [log] [blame]
#! /usr/bin/env python
# encoding: utf-8
# WARNING! Do not edit! http://waf.googlecode.com/git/docs/wafbook/single.html#_obtaining_the_waf_file
from waflib import Task
from waflib.TaskGen import extension
class bison(Task.Task):
color='BLUE'
run_str='${BISON} ${BISONFLAGS} ${SRC[0].abspath()} -o ${TGT[0].name}'
ext_out=['.h']
def big_bison(self,node):
has_h='-d'in self.env['BISONFLAGS']
outs=[]
if node.name.endswith('.yc'):
outs.append(node.change_ext('.tab.cc'))
if has_h:
outs.append(node.change_ext('.tab.hh'))
else:
outs.append(node.change_ext('.tab.c'))
if has_h:
outs.append(node.change_ext('.tab.h'))
tsk=self.create_task('bison',node,outs)
tsk.cwd=node.parent.get_bld().abspath()
self.source.append(outs[0])
def configure(conf):
conf.find_program('bison',var='BISON')
conf.env.BISONFLAGS=['-d']
extension('.y','.yc','.yy')(big_bison)