summary refs log tree commit diff stats
path: root/config/nimrod.cfg
blob: 7e8d4b777a6241cd9b8e0827c09c95cb28d04563 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# Configuration file for the Nimrod Compiler.
# (c) 2011 Andreas Rumpf

# Feel free to edit the default values as you need.

# You may set environment variables with
# @putenv "key" "val"
# Environment variables cannot be used in the options, however!

cc = gcc

@if nim: 
  # use the old fixed library for bootstrapping with Nim:
  lib = "nimlib"
@end

path="$lib/core"
path="$lib/pure"
path="$lib/impure"
path="$lib/wrappers"
path="$lib/wrappers/cairo"
path="$lib/wrappers/gtk"
path="$lib/wrappers/lua"
path="$lib/wrappers/opengl"
path="$lib/wrappers/pcre"
path="$lib/wrappers/readline"
path="$lib/wrappers/sdl"
path="$lib/wrappers/x11"
path="$lib/wrappers/zip"
path="$lib/windows"
path="$lib/posix"
path="$lib/ecmas"
path="$lib/pure/unidecode"
#recursivePath:"$home/.babel/lib"

@if release or quick:
  obj_checks:off
  field_checks:off
  range_checks:off
  bound_checks:off
  overflow_checks:off
  assertions:off
  stacktrace:off
  debugger:off
  line_dir:off
  dead_code_elim:on
@end

@if release:
  opt:speed
@end

# additional options always passed to the compiler:
--verbosity: "1"
--parallel_build: "0" # 0 to auto-detect number of processors

hint[LineTooLong]=off
#hint[XDeclaredButNotUsed]=off

@if unix:
  @if not bsd:
    gcc.options.linker = "-ldl"
    clang.options.linker = "-ldl"
    tcc.options.linker = "-ldl"
  @end
@end

# Configuration for the Intel C/C++ compiler:
icc.options.always = "-cxxlib"
icc.options.linker = "-cxxlib"

# Configuration for the GNU C/C++ compiler:
@if windows:
  gcc.path = r"$nimrod\dist\mingw\bin"
@end
gcc.options.debug = "-g"
@if macosx:
  @if not release:
    gcc.options.always = "-w -fasm-blocks -O1"
  @else:
    gcc.options.always = "-w -fasm-blocks"
  @end
@else:
  @if not release:
    gcc.options.always = "-w"
  @else:
    gcc.options.always = "-w"
  @end
@end
gcc.options.speed = "-O3 -fno-strict-aliasing"
gcc.options.size = "-Os"
#passl = "-pg"

# Configuration for the LLVM GCC compiler:
llvm_gcc.options.debug = "-g"
llvm_gcc.options.always = "-w"
llvm_gcc.options.speed = "-O2"
llvm_gcc.options.size = "-Os"

# Configuration for the LLVM CLang compiler:
clang.options.debug = "-g"
clang.options.always = "-w"
clang.options.speed = "-O3"
clang.options.size = "-Os"

# Configuration for the Visual C/C++ compiler:
vcc.options.linker = r"/F33554432" # set the stack size to 8 MB
vcc.options.debug = "/RTC1 /ZI"
vcc.options.always = "/nologo"
vcc.options.speed = "/Ox /arch:SSE2"
vcc.options.size = "/O1"

# Configuration for the Digital Mars C/C++ compiler:
@if windows:
  dmc.path = r"$nimrod\dist\dm\bin"
@end

# Configuration for the Tiny C Compiler:
tcc.options.always = "-w"