mirror of
https://github.com/logos-messaging/logos-delivery.git
synced 2026-04-14 12:13:11 +00:00
* Add -flto (lto_incremental, link-time optimization) for release builds * Add -s (strip symbols) for release builds * Switch library builds from --opt:size to --opt:speed * Change -d:marchOptimized to x86-64-v2 target from broadwell * Remove obsolete chronicles_colors=off for Windows * Remove obsolete withoutPCRE define
This commit is contained in:
parent
dc026bbff1
commit
b0c0e0b637
2
Makefile
2
Makefile
@ -144,7 +144,7 @@ deps: | deps-common nat-libs waku.nims
|
||||
|
||||
# "-d:release" implies "--stacktrace:off" and it cannot be added to config.nims
|
||||
ifeq ($(DEBUG), 0)
|
||||
NIM_PARAMS := $(NIM_PARAMS) -d:release
|
||||
NIM_PARAMS := $(NIM_PARAMS) -d:release -d:lto_incremental -d:strip
|
||||
else
|
||||
NIM_PARAMS := $(NIM_PARAMS) -d:debug
|
||||
endif
|
||||
|
||||
14
config.nims
14
config.nims
@ -26,10 +26,6 @@ if defined(windows):
|
||||
# set the IMAGE_FILE_LARGE_ADDRESS_AWARE flag so we can use PAE, if enabled, and access more than 2 GiB of RAM
|
||||
switch("passL", "-Wl,--large-address-aware")
|
||||
|
||||
# The dynamic Chronicles output currently prevents us from using colors on Windows
|
||||
# because these require direct manipulations of the stdout File object.
|
||||
switch("define", "chronicles_colors=off")
|
||||
|
||||
# https://github.com/status-im/nimbus-eth2/blob/stable/docs/cpu_features.md#ssse3-supplemental-sse3
|
||||
# suggests that SHA256 hashing with SSSE3 is 20% faster than without SSSE3, so
|
||||
# given its near-ubiquity in the x86 installed base, it renders a distribution
|
||||
@ -52,9 +48,10 @@ if defined(disableMarchNative):
|
||||
switch("passL", "-march=haswell -mtune=generic")
|
||||
else:
|
||||
if defined(marchOptimized):
|
||||
# https://github.com/status-im/nimbus-eth2/blob/stable/docs/cpu_features.md#bmi2--adx
|
||||
switch("passC", "-march=broadwell -mtune=generic")
|
||||
switch("passL", "-march=broadwell -mtune=generic")
|
||||
# -march=broadwell: https://github.com/status-im/nimbus-eth2/blob/stable/docs/cpu_features.md#bmi2--adx
|
||||
# Changed to x86-64-v2 for broader support
|
||||
switch("passC", "-march=x86-64-v2 -mtune=generic")
|
||||
switch("passL", "-march=x86-64-v2 -mtune=generic")
|
||||
else:
|
||||
switch("passC", "-mssse3")
|
||||
switch("passL", "-mssse3")
|
||||
@ -76,6 +73,7 @@ else:
|
||||
on
|
||||
--opt:
|
||||
speed
|
||||
|
||||
--excessiveStackTrace:
|
||||
on
|
||||
# enable metric collection
|
||||
@ -85,8 +83,6 @@ else:
|
||||
--define:
|
||||
nimTypeNames
|
||||
|
||||
switch("define", "withoutPCRE")
|
||||
|
||||
# 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 defined(macosx) and not defined(android):
|
||||
|
||||
@ -73,11 +73,11 @@ proc buildLibrary(lib_name: string, srcDir = "./", params = "", `type` = "static
|
||||
extra_params &= " " & paramStr(i)
|
||||
if `type` == "static":
|
||||
exec "nim c" & " --out:build/" & lib_name &
|
||||
" --threads:on --app:staticlib --opt:size --noMain --mm:refc --header -d:metrics --nimMainPrefix:" & mainPrefix & " --skipParentCfg:on -d:discv5_protocol_id=d5waku " &
|
||||
" --threads:on --app:staticlib --opt:speed --noMain --mm:refc --header -d:metrics --nimMainPrefix:" & mainPrefix & " --skipParentCfg:on -d:discv5_protocol_id=d5waku " &
|
||||
extra_params & " " & srcDir & srcFile
|
||||
else:
|
||||
exec "nim c" & " --out:build/" & lib_name &
|
||||
" --threads:on --app:lib --opt:size --noMain --mm:refc --header -d:metrics --nimMainPrefix:" & mainPrefix & " --skipParentCfg:off -d:discv5_protocol_id=d5waku " &
|
||||
" --threads:on --app:lib --opt:speed --noMain --mm:refc --header -d:metrics --nimMainPrefix:" & mainPrefix & " --skipParentCfg:off -d:discv5_protocol_id=d5waku " &
|
||||
extra_params & " " & srcDir & srcFile
|
||||
|
||||
proc buildMobileAndroid(srcDir = ".", params = "") =
|
||||
@ -93,7 +93,7 @@ proc buildMobileAndroid(srcDir = ".", params = "") =
|
||||
extra_params &= " " & paramStr(i)
|
||||
|
||||
exec "nim c" & " --out:" & outDir &
|
||||
"/libwaku.so --threads:on --app:lib --opt:size --noMain --mm:refc -d:chronicles_sinks=textlines[dynamic] --header -d:chronosEventEngine=epoll --passL:-L" &
|
||||
"/libwaku.so --threads:on --app:lib --opt:speed --noMain --mm:refc -d:chronicles_sinks=textlines[dynamic] --header -d:chronosEventEngine=epoll --passL:-L" &
|
||||
outdir & " --passL:-lrln --passL:-llog --cpu:" & cpu & " --os:android -d:androidNDK " &
|
||||
extra_params & " " & srcDir & "/libwaku.nim"
|
||||
|
||||
@ -266,7 +266,7 @@ proc buildMobileIOS(srcDir = ".", params = "") =
|
||||
" --os:ios --cpu:" & cpu &
|
||||
" --compileOnly:on" &
|
||||
" --noMain --mm:refc" &
|
||||
" --threads:on --opt:size --header" &
|
||||
" --threads:on --opt:speed --header" &
|
||||
" -d:metrics -d:discv5_protocol_id=d5waku" &
|
||||
" --nimMainPrefix:libwaku --skipParentCfg:on" &
|
||||
" --cc:clang" &
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user