annotate premake.lua @ 544:1c7220171d41

Disable boehm gc by default. Use --enable-boehm-gc on premake to enable.
author Christian Kamm <kamm incasoftware de>
date Sun, 24 Aug 2008 18:25:34 +0200
parents 1d3026702f65
children cbd6c8073a32
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
1 project.name = llvmdc
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
2
268
23d0d9855cad [svn r289] Fixed: right shift >> was broken for unsigned types.
lindquist
parents: 237
diff changeset
3 -- options
295
895e1b50cf2a [svn r316] Fixed array slice assignments like: int[] arr = ...; arr[] = 42;
lindquist
parents: 285
diff changeset
4
895e1b50cf2a [svn r316] Fixed array slice assignments like: int[] arr = ...; arr[] = 42;
lindquist
parents: 285
diff changeset
5 -- we always make vtables opaque, it simply kills performance...
268
23d0d9855cad [svn r289] Fixed: right shift >> was broken for unsigned types.
lindquist
parents: 237
diff changeset
6 OPAQUE_VTBLS = 1
295
895e1b50cf2a [svn r316] Fixed array slice assignments like: int[] arr = ...; arr[] = 42;
lindquist
parents: 285
diff changeset
7
895e1b50cf2a [svn r316] Fixed array slice assignments like: int[] arr = ...; arr[] = 42;
lindquist
parents: 285
diff changeset
8 -- use of boehm gc
544
1c7220171d41 Disable boehm gc by default. Use --enable-boehm-gc on premake to enable.
Christian Kamm <kamm incasoftware de>
parents: 366
diff changeset
9 USE_BOEHM_GC = 0
1c7220171d41 Disable boehm gc by default. Use --enable-boehm-gc on premake to enable.
Christian Kamm <kamm incasoftware de>
parents: 366
diff changeset
10 if OS ~= "windows" then
1c7220171d41 Disable boehm gc by default. Use --enable-boehm-gc on premake to enable.
Christian Kamm <kamm incasoftware de>
parents: 366
diff changeset
11 addoption("enable-boehm-gc", "Enable use of the Boehm GC (broken!)")
295
895e1b50cf2a [svn r316] Fixed array slice assignments like: int[] arr = ...; arr[] = 42;
lindquist
parents: 285
diff changeset
12
544
1c7220171d41 Disable boehm gc by default. Use --enable-boehm-gc on premake to enable.
Christian Kamm <kamm incasoftware de>
parents: 366
diff changeset
13 if options["enable-boehm-gc"] then
295
895e1b50cf2a [svn r316] Fixed array slice assignments like: int[] arr = ...; arr[] = 42;
lindquist
parents: 285
diff changeset
14 USE_BOEHM_GC = 1
895e1b50cf2a [svn r316] Fixed array slice assignments like: int[] arr = ...; arr[] = 42;
lindquist
parents: 285
diff changeset
15 end
285
297690b5d4a5 [svn r306] Fixed: it's now possible to compile and link llvmdc with MinGW32 and msys on Win32 :D I tried it myself ;) Building the runtime still needs some work, but it's a step in the right direction.
lindquist
parents: 268
diff changeset
16 end
268
23d0d9855cad [svn r289] Fixed: right shift >> was broken for unsigned types.
lindquist
parents: 237
diff changeset
17
336
aaade6ded589 [svn r357] Merged DMD 1.033
lindquist
parents: 295
diff changeset
18 -- D version - don't change these !!!
aaade6ded589 [svn r357] Merged DMD 1.033
lindquist
parents: 295
diff changeset
19 DMDV1 = "1"
aaade6ded589 [svn r357] Merged DMD 1.033
lindquist
parents: 295
diff changeset
20
268
23d0d9855cad [svn r289] Fixed: right shift >> was broken for unsigned types.
lindquist
parents: 237
diff changeset
21 -- idgen
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
22 package = newpackage()
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
23 package.name = "idgen"
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
24 package.kind = "exe"
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
25 package.language = "c++"
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
26 package.files = { "dmd/idgen.c" }
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
27 package.buildoptions = { "-x c++" }
35
3cfcb944304e [svn r39] * Updated to DMD 1.022 with the exception of:
lindquist
parents: 4
diff changeset
28 package.postbuildcommands = { "./idgen", "mv -f id.c id.h dmd" }
336
aaade6ded589 [svn r357] Merged DMD 1.033
lindquist
parents: 295
diff changeset
29 package.defines = { "DMDV1="..DMDV1 }
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
30
268
23d0d9855cad [svn r289] Fixed: right shift >> was broken for unsigned types.
lindquist
parents: 237
diff changeset
31 -- impcnvgen
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
32 package = newpackage()
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
33 package.name = "impcnvgen"
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
34 package.kind = "exe"
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
35 package.language = "c++"
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
36 package.files = { "dmd/impcnvgen.c" }
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
37 package.buildoptions = { "-x c++" }
35
3cfcb944304e [svn r39] * Updated to DMD 1.022 with the exception of:
lindquist
parents: 4
diff changeset
38 package.postbuildcommands = { "./impcnvgen", "mv -f impcnvtab.c dmd" }
336
aaade6ded589 [svn r357] Merged DMD 1.033
lindquist
parents: 295
diff changeset
39 package.defines = { "DMDV1="..DMDV1 }
aaade6ded589 [svn r357] Merged DMD 1.033
lindquist
parents: 295
diff changeset
40
268
23d0d9855cad [svn r289] Fixed: right shift >> was broken for unsigned types.
lindquist
parents: 237
diff changeset
41 -- llvmdc
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
42 package = newpackage()
35
3cfcb944304e [svn r39] * Updated to DMD 1.022 with the exception of:
lindquist
parents: 4
diff changeset
43 package.bindir = "bin"
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
44 package.name = "llvmdc"
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
45 package.kind = "exe"
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
46 package.language = "c++"
136
0e28624814e8 [svn r140] did a lot of the work towards being able to pass multiple modules on the command line. not complete yet though
lindquist
parents: 131
diff changeset
47 package.files = { matchfiles("dmd/*.c"), matchfiles("gen/*.cpp"), matchfiles("ir/*.cpp") }
366
1d3026702f65 [svn r387] Removed unused MD5 stuff.
lindquist
parents: 336
diff changeset
48 package.excludes = { "dmd/idgen.c", "dmd/impcnvgen.c" }
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
49 package.buildoptions = { "-x c++", "`llvm-config --cxxflags`" }
131
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents: 125
diff changeset
50 package.linkoptions = {
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents: 125
diff changeset
51 -- long but it's faster than just 'all'
237
a168a2c3ea48 [svn r253] Removed -inlineasm option. inline asm is now enabled by default unless the new -noasm option is passed.
lindquist
parents: 193
diff changeset
52 "`llvm-config --libs core asmparser bitreader bitwriter linker support target transformutils scalaropts ipo instrumentation x86 powerpc`",
193
aca17e55b7a5 [svn r209] Fixed: exotic array to pointer casts were broken.
lindquist
parents: 136
diff changeset
53 "`llvm-config --ldflags`",
131
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents: 125
diff changeset
54 }
193
aca17e55b7a5 [svn r209] Fixed: exotic array to pointer casts were broken.
lindquist
parents: 136
diff changeset
55 package.defines = {
aca17e55b7a5 [svn r209] Fixed: exotic array to pointer casts were broken.
lindquist
parents: 136
diff changeset
56 "IN_LLVM",
aca17e55b7a5 [svn r209] Fixed: exotic array to pointer casts were broken.
lindquist
parents: 136
diff changeset
57 "_DH",
268
23d0d9855cad [svn r289] Fixed: right shift >> was broken for unsigned types.
lindquist
parents: 237
diff changeset
58 "OPAQUE_VTBLS="..OPAQUE_VTBLS,
23d0d9855cad [svn r289] Fixed: right shift >> was broken for unsigned types.
lindquist
parents: 237
diff changeset
59 "USE_BOEHM_GC="..USE_BOEHM_GC,
336
aaade6ded589 [svn r357] Merged DMD 1.033
lindquist
parents: 295
diff changeset
60 "DMDV1="..DMDV1,
193
aca17e55b7a5 [svn r209] Fixed: exotic array to pointer casts were broken.
lindquist
parents: 136
diff changeset
61 }
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
62 package.config.Release.defines = { "LLVMD_NO_LOGGER" }
86
fd32135dca3e [svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents: 35
diff changeset
63 package.config.Debug.buildoptions = { "-g -O0" }
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
64 --package.targetprefix = "llvm"
4
e116aa1488e6 [svn r8] changed backend includes to always use the gen/<foo>.h prefix
lindquist
parents: 1
diff changeset
65 package.includepaths = { ".", "dmd" }
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
66 --package.postbuildcommands = { "cd runtime; ./build.sh; cd .." }
268
23d0d9855cad [svn r289] Fixed: right shift >> was broken for unsigned types.
lindquist
parents: 237
diff changeset
67 if USE_BOEHM_GC == 1 then
23d0d9855cad [svn r289] Fixed: right shift >> was broken for unsigned types.
lindquist
parents: 237
diff changeset
68 package.links = { "gc" }
23d0d9855cad [svn r289] Fixed: right shift >> was broken for unsigned types.
lindquist
parents: 237
diff changeset
69 end