30 lines
878 B
Python
30 lines
878 B
Python
import sys
|
|
|
|
APP_NAME = "cxlc"
|
|
|
|
def options(opt):
|
|
opt.load("compiler_c compiler_cxx flex bison");
|
|
|
|
def configure(conf):
|
|
conf.load("compiler_c compiler_cxx flex bison");
|
|
conf.check(header_name = "getopt.h", global_define = False)
|
|
|
|
def build(bld):
|
|
bld.load("compiler_c compiler_cxx flex bison");
|
|
sources = bld.path.ant_glob("src/**/*.c")
|
|
sources += bld.path.ant_glob("src/**/*.cc")
|
|
lexer_source = "src/parser/parser.l"
|
|
parser_source = "src/parser/parser.yc"
|
|
sources += [lexer_source, parser_source]
|
|
includes = ["src", "src/parser"]
|
|
cflags = ["-Wall", "-O2"]
|
|
cxxflags = cflags
|
|
bld.env.BISONFLAGS += ["-v"]
|
|
bld.program(
|
|
features = ['c', 'cxx', 'cxxprogram'],
|
|
source = sources,
|
|
cflags = cflags,
|
|
cxxflags = cxxflags,
|
|
target = APP_NAME,
|
|
includes = includes)
|