mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-03 03:32:32 +00:00
148 lines
3.3 KiB
Nim
148 lines
3.3 KiB
Nim
# Configuration file for the Nim Compiler.
|
|
# (c) 2014 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
|
|
|
|
# example of how to setup a cross-compiler:
|
|
arm.linux.gcc.exe = "arm-linux-gcc"
|
|
arm.linux.gcc.linkerexe = "arm-linux-gcc"
|
|
|
|
mips.linux.gcc.exe = "mips-openwrt-linux-gcc"
|
|
mips.linux.gcc.linkerexe = "mips-openwrt-linux-gcc"
|
|
|
|
@if not nimfix:
|
|
cs:partial
|
|
@end
|
|
|
|
path="$lib/core"
|
|
path="$lib/pure"
|
|
path="$lib/pure/collections"
|
|
path="$lib/pure/concurrency"
|
|
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/wrappers/libffi"
|
|
path="$lib/windows"
|
|
path="$lib/posix"
|
|
path="$lib/js"
|
|
path="$lib/pure/unidecode"
|
|
|
|
@if nimbabel:
|
|
babelpath="$home/.babel/pkgs/"
|
|
nimblepath="$home/.nimble/pkgs/"
|
|
@end
|
|
|
|
@if release or quick:
|
|
obj_checks:off
|
|
field_checks:off
|
|
range_checks:off
|
|
bound_checks:off
|
|
overflow_checks:off
|
|
assertions:off
|
|
stacktrace:off
|
|
linetrace:off
|
|
debugger:off
|
|
line_dir:off
|
|
dead_code_elim:on
|
|
@end
|
|
|
|
@if release:
|
|
opt:speed
|
|
@end
|
|
|
|
# additional options always passed to the compiler:
|
|
--parallel_build: "0" # 0 to auto-detect number of processors
|
|
|
|
hint[LineTooLong]=off
|
|
#hint[XDeclaredButNotUsed]=off
|
|
|
|
@if unix:
|
|
@if not bsd:
|
|
# -fopenmp
|
|
gcc.options.linker = "-ldl"
|
|
gcc.cpp.options.linker = "-ldl"
|
|
clang.options.linker = "-ldl"
|
|
tcc.options.linker = "-ldl"
|
|
@end
|
|
@if bsd or haiku:
|
|
# BSD got posix_spawn only recently, so we deactivate it for osproc:
|
|
define:useFork
|
|
# at least NetBSD has problems with thread local storage:
|
|
tlsEmulation:on
|
|
@end
|
|
@end
|
|
|
|
# Configuration for the Intel C/C++ compiler:
|
|
@if windows:
|
|
icl.options.speed = "/Ox /arch:SSE2"
|
|
icl.options.always = "/nologo"
|
|
@end
|
|
|
|
# Configuration for the GNU C/C++ compiler:
|
|
@if windows:
|
|
#gcc.path = r"$nimrod\dist\mingw\bin"
|
|
@if gcc:
|
|
tlsEmulation:on
|
|
@end
|
|
@end
|
|
|
|
@if macosx:
|
|
cc = clang
|
|
tlsEmulation:on
|
|
gcc.options.always = "-w -fasm-blocks"
|
|
gcc.cpp.options.always = "-w -fasm-blocks -fpermissive"
|
|
@else:
|
|
gcc.options.always = "-w"
|
|
gcc.cpp.options.always = "-w -fpermissive"
|
|
@end
|
|
|
|
gcc.options.speed = "-O3 -fno-strict-aliasing"
|
|
gcc.options.size = "-Os"
|
|
gcc.options.debug = "-g3 -O0"
|
|
|
|
gcc.cpp.options.speed = "-O3 -fno-strict-aliasing"
|
|
gcc.cpp.options.size = "-Os"
|
|
gcc.cpp.options.debug = "-g3 -O0"
|
|
#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 = "/DEBUG /Zi /Fd\"$projectName.pdb\" /F33554432" # set the stack size to 8 MB
|
|
vcc.options.debug = "/Zi /Fd\"$projectName.pdb\""
|
|
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"
|