1 # This is the global boilerplate. It is loaded first, so later build-settings
2 # files can replace the values here.
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
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
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.
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
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.
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
46 shared-field-accessors = true
53 link-flags += "-lgc" "-ldl" "-lm"
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:
67 c-flags += "-DOSX_FINK"
68 c-flags += "-I/sw/include"
69 link-flags += "-L/sw/lib"