Mercurial > projects > ldc
view premake.lua @ 984:4c0df37d0421
Removing ldc.conf. (IMPORTANT: run 'cmake .' after pull)
Added it to .hgignore.
This gets rid of spurious differences caused by CMake regenerating it differently.
Just run 'cmake .' to get it back in your local checkout.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Thu, 19 Feb 2009 13:50:05 +0100 |
parents | f04dde6e882c |
children |
line wrap: on
line source
project.name = ldc -- options -- we always make vtables opaque, it simply kills performance... OPAQUE_VTBLS = 1 -- use of boehm gc USE_BOEHM_GC = 0 if OS ~= "windows" then addoption("enable-boehm-gc", "Enable use of the Boehm GC (broken!)") if options["enable-boehm-gc"] then USE_BOEHM_GC = 1 end end -- are we on a Posix system? POSIX = 1 if OS == "windows" then POSIX = 0 end -- guess the host machine description -- also allow overriding it addoption("target-override", "Override the default target machine"); TRIPLE = ""; if options["target-override"] then TRIPLE = options["target-override"] else os.execute("sh config.guess > default-target-triple.tmp") TRIPLE = io.open("default-target-triple.tmp"):read() end io.write("Default target: '"..TRIPLE.."'\n"); -- x86 ABI support X86_REVERSE_PARAMS = 1 X86_PASS_IN_EAX = 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_DIR.."/idgen.c" } package.buildoptions = { "-x c++" } 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_DIR.."/impcnvgen.c" } package.buildoptions = { "-x c++" } package.postbuildcommands = { "./impcnvgen", "mv -f impcnvtab.c "..DMD_DIR } package.defines = { DMD_V_DEF } -- ldc package = newpackage() package.bindir = "bin" package.name = DMDV2 and "ldc2" or "ldc" package.kind = "exe" package.language = "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' "`llvm-config --libs bitwriter linker ipo instrumentation backend`", "`llvm-config --ldflags`", } package.defines = { "IN_LLVM", "_DH", DMD_V_DEF, "OPAQUE_VTBLS="..OPAQUE_VTBLS, "USE_BOEHM_GC="..USE_BOEHM_GC, "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_DIR } --package.postbuildcommands = { "cd runtime; ./build.sh; cd .." } if USE_BOEHM_GC == 1 then package.links = { "gc" } end