# Configuration file for the Nimrod Compiler. # (c) 2013 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" path="$lib/core" path="$lib/pure" path="$lib/pure/collections" 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/js" path="$lib/pure/unidecode" @if nimbabel: babelpath="$home/.babel/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" gpp.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" gpp.options.always = "-w -fasm-blocks -fpermissive" @else: gcc.options.always = "-w" gpp.options.always = "-w -fpermissive" @end gcc.options.speed = "-O3 -fno-strict-aliasing" gcc.options.size = "-Os" gcc.options.debug = "-g3 -O0" gpp.options.speed = "-O3 -fno-strict-aliasing" gpp.options.size = "-Os" gpp.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"