Considering that alternatives to the Apple compiler versions of xcode like GCC 4.9 (as installed by Homebrew) error out because it is an unknown parameter. Modern Xcode's clang + gcc do not seem to need this anymore. I think it is ok to remove because developer with old xcode are rare and can easily add this to their systems if needed.
163 lines
4.1 KiB
Nim
163 lines
4.1 KiB
Nim
# Configuration file for the Nim Compiler.
|
|
# (c) 2015 Andreas Rumpf
|
|
|
|
# Feel free to edit the default values as you need.
|
|
|
|
# You may set environment variables with
|
|
# @putenv "key" "val"
|
|
# Environment variables can be accessed like so:
|
|
# gcc.path %= "$CC_PATH"
|
|
|
|
cc = gcc
|
|
|
|
# additional options always passed to the compiler:
|
|
--parallel_build: "0" # 0 to auto-detect number of processors
|
|
|
|
hint[LineTooLong]=off
|
|
#hint[XDeclaredButNotUsed]=off
|
|
|
|
# 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
|
|
|
|
@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 or freebsd:
|
|
cc = clang
|
|
tlsEmulation:on
|
|
gcc.options.always = "-w"
|
|
gcc.cpp.options.always = "-w -fpermissive"
|
|
@else:
|
|
gcc.options.always = "-w"
|
|
gcc.cpp.options.always = "-w -fpermissive"
|
|
@end
|
|
|
|
# Configuration for the VxWorks
|
|
# This has been tested with VxWorks 6.9 only
|
|
@if vxworks:
|
|
# For now we only support compiling RTPs applications (i.e. no DKMs)
|
|
gcc.options.always = "-mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -std=c99 -fasm -Wall -Wno-write-strings"
|
|
# The linker config must add the VxWorks common library for the selected
|
|
# processor which is usually found in:
|
|
# "$WIND_BASE/target/lib/usr/lib/PROCESSOR_FAMILY/PROCESSOR_TYPE/common",
|
|
# where PROCESSOR_FAMILY and PROCESSOR_TYPE are those supported by the VxWorks
|
|
# compiler (e.g. ppc/PPC32 or mips/MIPSI64, etc)
|
|
# For now we only support the PowerPC CPU
|
|
gcc.options.linker %= "-L $WIND_BASE/target/lib/usr/lib/ppc/PPC32/common -mrtp -fno-strict-aliasing -D_C99 -D_HAS_C9X -std=c99 -fasm -Wall -Wno-write-strings"
|
|
@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"
|