# Nim eth compilation flag config #### From default nim.cfg, somehow it's not taken into account with a custom nim.cfg @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 # Configuration for GCC compiler: gcc.options.speed = "-O3 -fno-strict-aliasing" gcc.options.size = "-Os" @if windows: gcc.options.debug = "-g3 -O0 -gdwarf-3" @else: gcc.options.debug = "-g3 -O0" @end gcc.cpp.options.speed = "-O3 -fno-strict-aliasing" gcc.cpp.options.size = "-Os" gcc.cpp.options.debug = "-g3 -O0" # Configuration for the LLVM Clang compiler: clang.options.debug = "-g" clang.options.always = "-w" clang.options.speed = "-O3" clang.options.size = "-Os" ####### @if openmp: # stackTrace:off # Stack traces are already removed selectively in the code # Otherwise heap alloc from string will crash the program @if macosx: # Default compiler on Mac is clang without OpenMP and gcc is an alias to clang. # Use Homebrew GCC instead for OpenMP support. GCC (v7), must be properly linked via `brew link gcc` cc:"gcc" gcc.exe:"/usr/local/bin/gcc-7" gcc.linkerexe:"/usr/local/bin/gcc-7" @end @end