lindquist@1: project.name = llvmdc lindquist@1: lindquist@268: -- options lindquist@268: OPAQUE_VTBLS = 1 lindquist@268: USE_BOEHM_GC = 1 lindquist@268: lindquist@268: -- idgen lindquist@1: package = newpackage() lindquist@1: package.name = "idgen" lindquist@1: package.kind = "exe" lindquist@1: package.language = "c++" lindquist@1: package.files = { "dmd/idgen.c" } lindquist@1: package.buildoptions = { "-x c++" } lindquist@35: package.postbuildcommands = { "./idgen", "mv -f id.c id.h dmd" } lindquist@1: lindquist@268: -- impcnvgen lindquist@1: package = newpackage() lindquist@1: package.name = "impcnvgen" lindquist@1: package.kind = "exe" lindquist@1: package.language = "c++" lindquist@1: package.files = { "dmd/impcnvgen.c" } lindquist@1: package.buildoptions = { "-x c++" } lindquist@35: package.postbuildcommands = { "./impcnvgen", "mv -f impcnvtab.c dmd" } lindquist@1: lindquist@268: -- llvmdc lindquist@1: package = newpackage() lindquist@35: package.bindir = "bin" lindquist@1: package.name = "llvmdc" lindquist@1: package.kind = "exe" lindquist@1: package.language = "c++" lindquist@136: package.files = { matchfiles("dmd/*.c"), matchfiles("gen/*.cpp"), matchfiles("ir/*.cpp") } lindquist@1: package.excludes = { "dmd/idgen.c", "dmd/impcnvgen.c" } lindquist@1: package.buildoptions = { "-x c++", "`llvm-config --cxxflags`" } lindquist@131: package.linkoptions = { lindquist@131: -- long but it's faster than just 'all' lindquist@237: "`llvm-config --libs core asmparser bitreader bitwriter linker support target transformutils scalaropts ipo instrumentation x86 powerpc`", lindquist@193: "`llvm-config --ldflags`", lindquist@131: } lindquist@193: package.defines = { lindquist@193: "IN_LLVM", lindquist@193: "_DH", lindquist@268: "OPAQUE_VTBLS="..OPAQUE_VTBLS, lindquist@268: "USE_BOEHM_GC="..USE_BOEHM_GC, lindquist@193: } lindquist@1: package.config.Release.defines = { "LLVMD_NO_LOGGER" } lindquist@86: package.config.Debug.buildoptions = { "-g -O0" } lindquist@1: --package.targetprefix = "llvm" lindquist@4: package.includepaths = { ".", "dmd" } lindquist@1: --package.postbuildcommands = { "cd runtime; ./build.sh; cd .." } lindquist@268: if USE_BOEHM_GC == 1 then lindquist@268: package.links = { "gc" } lindquist@268: end