50 lines
1.6 KiB
Nim
50 lines
1.6 KiB
Nim
@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"
|
|
@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
|