Dragging in some modules when X86Compiler is used, so scripts can use them.
[trylon.git] / library / build-settings
blob7000e49c84fc38598069f606c2f4382cd20ed39d
1 # This is the global boilerplate.  It is loaded first, so later build-settings
2 # files can replace the values here.
4 # Default options.
6 # 'nil-object' means 'nil' is treated as an object which can be sent messages.
7 # It turns nil dereferences into message-not-understood errors, rather than
8 # crashing the program.  This can make it easier to find bugs.  The downside is
9 # slightly slower message dispatch, so you can turn it off if you want maximum
10 # speed.
11 nil-object = true
13 # 'tagged-ints' stores small integers as tagged values, rather than allocating
14 # space for them on the heap.  If your program uses integers much, this will
15 # speed it up.  But it does make message dispatch slightly slower, so if you're
16 # sure you're not using ints much, turning it off may speed up your program
17 # (but not by much).
18 tagged-ints = true
20 # 'class-objects' means that the structures describing a class are objects
21 # themselves, accessible by sending '.class' to any object.  Only turn this off
22 # if you need your program to use the absolute minimum amount of space.
23 class-objects = true
25 # 'symbol-dispatch' controls how the generated code does message dispatch.  If
26 # on, the symbol object is passed.  This is required for
27 # 'message-not-understood:arguments:' to work; otherwise, only
28 # 'message-not-understood' can be sent, and it will not know what message was
29 # sent.  If it is off, an integer message selector is passed instead.  That
30 # *may* be slightly faster, but probably not.
31 # If 'symbol-dispatch' is on, 'support-perform' will automatically be turned on
32 # as well.
33 symbol-dispatch = true
35 # 'shared-ints' causes the compiler to use a pool of Int constants.  If off,
36 # any literal integer objects will be created for each use, even when they are
37 # for the same value.  This setting will not have much effect if 'tagged-ints'
38 # is on.  There is probably no reason to turn it off.
39 shared-ints = true
41 # 'shared-field-accessors' uses a pool of accessor methods for field access,
42 # rather than generating getters and setters for each field in each class.
43 # When on, it make programs smaller and likely a little faster due to cache
44 # effects.  Turn this off if you want to set debugger breakpoints in specific
45 # getters or setters.
46 shared-field-accessors = true
50 # C compilation.
52 c-flags += "-g"
53 link-flags += "-lgc" "-ldl" "-lm"
55 if Darwin
56         c-flags += "-DMAC_OSX"
57         # Prefer the Homebrew version of the Boehm GC, if available.
58         c-flags += "-I/usr/local/include"
59         link-flags += "-L/usr/local/lib"
60         # Otherwise, try the MacPorts version of the Boehm GC, if available.
61         c-flags += "-I/opt/local/include"
62         link-flags += "-L/opt/local/lib"
63         # Otherwise, try the Fink version.
64         # Uncomment the next line if you use the Boehm GC from Fink:
65         # fink = true
66         if fink
67                 c-flags += "-DOSX_FINK"
68                 c-flags += "-I/sw/include"
69                 link-flags += "-L/sw/lib"