@if release: nimcache = "nimcache/release/$projectName" @else: nimcache = "nimcache/debug/$projectName" @end @if windows: # disable timestamps in Windows PE headers - https://wiki.debian.org/ReproducibleBuilds/TimestampsInPEBinaries --passL:"-Wl,--no-insert-timestamp" # increase stack size --passL:"-Wl,--stack,8388608" # https://github.com/nim-lang/Nim/issues/4057 --tlsEmulation:off @if i386: # set the IMAGE_FILE_LARGE_ADDRESS_AWARE flag so we can use PAE, if enabled, and access more than 2 GiB of RAM --passL:"-Wl,--large-address-aware" @end # The dynamic Chronicles output currently prevents us from using colors on Windows # because these require direct manipulations of the stdout File object. -d:"chronicles_colors=off" @end # This helps especially for 32-bit x86, which sans SSE2 and newer instructions # requires quite roundabout code generation for cryptography, and other 64-bit # and larger arithmetic use cases, along with register starvation issues. When # engineering a more portable binary release, this should be tweaked but still # use at least -msse2 or -msse3. @if disableMarchNative: --passC:"-msse3" @else: --passC:"-march=native" @if windows: # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65782 --passC:"-fno-asynchronous-unwind-tables" @end @end --threads:on --opt:speed --excessiveStackTrace:on # enable metric collection -d:metrics # the default open files limit is too low on macOS (512), breaking the # "--debugger:native" build. It can be increased with `ulimit -n 1024`. @if not macosx: # add debugging symbols and original files and line numbers --debugger:native @end -d:nimOldCaseObjects # https://github.com/status-im/nim-confutils/issues/9 --warning[CaseTransition]:off