Mercurial > projects > ldc
diff premake.lua @ 758:f04dde6e882c
Added initial D2 support, D2 frontend and changes to codegen to make things compile.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Tue, 11 Nov 2008 01:38:48 +0100 |
parents | 1ae94fb1dbbd |
children |
line wrap: on
line diff
--- a/premake.lua Mon Nov 10 20:55:24 2008 +0100 +++ b/premake.lua Tue Nov 11 01:38:48 2008 +0100 @@ -41,37 +41,45 @@ X86_REVERSE_PARAMS = 1 X86_PASS_IN_EAX = 1 --- D version - don't change these !!! -DMDV1 = "1" +-- D version +DMDV2 = true + +if DMDV2 then + DMD_V_DEF = "DMDV2=1" + DMD_DIR = "dmd2" +else + DMD_V_DEF = "DMDV1=1" + DMD_DIR = "dmd" +end -- idgen package = newpackage() package.name = "idgen" package.kind = "exe" package.language = "c++" -package.files = { "dmd/idgen.c" } +package.files = { DMD_DIR.."/idgen.c" } package.buildoptions = { "-x c++" } -package.postbuildcommands = { "./idgen", "mv -f id.c id.h dmd" } -package.defines = { "DMDV1="..DMDV1 } +package.postbuildcommands = { "./idgen", "mv -f id.c id.h "..DMD_DIR } +package.defines = { DMD_V_DEF } -- impcnvgen package = newpackage() package.name = "impcnvgen" package.kind = "exe" package.language = "c++" -package.files = { "dmd/impcnvgen.c" } +package.files = { DMD_DIR.."/impcnvgen.c" } package.buildoptions = { "-x c++" } -package.postbuildcommands = { "./impcnvgen", "mv -f impcnvtab.c dmd" } -package.defines = { "DMDV1="..DMDV1 } +package.postbuildcommands = { "./impcnvgen", "mv -f impcnvtab.c "..DMD_DIR } +package.defines = { DMD_V_DEF } -- ldc package = newpackage() package.bindir = "bin" -package.name = "ldc" +package.name = DMDV2 and "ldc2" or "ldc" package.kind = "exe" package.language = "c++" -package.files = { matchfiles("dmd/*.c"), matchfiles("gen/*.cpp"), matchfiles("ir/*.cpp") } -package.excludes = { "dmd/idgen.c", "dmd/impcnvgen.c" } +package.files = { matchfiles(DMD_DIR.."/*.c"), matchfiles("gen/*.cpp"), matchfiles("ir/*.cpp") } +package.excludes = { DMD_DIR.."/idgen.c", DMD_DIR.."/impcnvgen.c" } package.buildoptions = { "-x c++", "`llvm-config --cxxflags`" } package.linkoptions = { -- long but it's faster than just 'all' @@ -81,19 +89,23 @@ package.defines = { "IN_LLVM", "_DH", + DMD_V_DEF, "OPAQUE_VTBLS="..OPAQUE_VTBLS, "USE_BOEHM_GC="..USE_BOEHM_GC, - "DMDV1="..DMDV1, "POSIX="..POSIX, "DEFAULT_TARGET_TRIPLE=\\\""..TRIPLE.."\\\"", "X86_REVERSE_PARAMS="..X86_REVERSE_PARAMS, "X86_PASS_IN_EAX="..X86_PASS_IN_EAX, } + package.config.Release.defines = { "LLVMD_NO_LOGGER" } package.config.Debug.buildoptions = { "-g -O0" } + --package.targetprefix = "llvm" -package.includepaths = { ".", "dmd" } +package.includepaths = { ".", DMD_DIR } + --package.postbuildcommands = { "cd runtime; ./build.sh; cd .." } + if USE_BOEHM_GC == 1 then package.links = { "gc" } end