Make: add USE_LIBBACKTRACE flag
This commit is contained in:
parent
571818495f
commit
ad36808b7d
11
Makefile
11
Makefile
|
@ -60,7 +60,11 @@ endif
|
||||||
|
|
||||||
# "--import" can't be added to config.nims, for some reason
|
# "--import" can't be added to config.nims, for some reason
|
||||||
# "--define:release" implies "--stacktrace:off" and it cannot be added to config.nims either
|
# "--define:release" implies "--stacktrace:off" and it cannot be added to config.nims either
|
||||||
|
ifeq ($(USE_LIBBACKTRACE), 0)
|
||||||
|
NIM_PARAMS := $(NIM_PARAMS) -d:debug -d:disable_libbacktrace
|
||||||
|
else
|
||||||
NIM_PARAMS := $(NIM_PARAMS) -d:release --import:libbacktrace
|
NIM_PARAMS := $(NIM_PARAMS) -d:release --import:libbacktrace
|
||||||
|
endif
|
||||||
|
|
||||||
#- the Windows build fails on Azure Pipelines if we have Unicode symbols copy/pasted here,
|
#- the Windows build fails on Azure Pipelines if we have Unicode symbols copy/pasted here,
|
||||||
# so we encode them in ASCII
|
# so we encode them in ASCII
|
||||||
|
@ -75,7 +79,10 @@ build-system-checks:
|
||||||
}; \
|
}; \
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
deps: | deps-common beacon_chain.nims p2pd libbacktrace
|
deps: | deps-common beacon_chain.nims p2pd
|
||||||
|
ifneq ($(USE_LIBBACKTRACE), 0)
|
||||||
|
deps: | libbacktrace
|
||||||
|
endif
|
||||||
|
|
||||||
#- deletes and recreates "beacon_chain.nims" which on Windows is a copy instead of a proper symlink
|
#- deletes and recreates "beacon_chain.nims" which on Windows is a copy instead of a proper symlink
|
||||||
update: | update-common
|
update: | update-common
|
||||||
|
@ -130,7 +137,9 @@ testnet1: | build deps
|
||||||
|
|
||||||
clean: | clean-common
|
clean: | clean-common
|
||||||
rm -rf build/{$(TOOLS_CSV),all_tests,*_node,*ssz*,beacon_node_testnet*,state_sim,transition*}
|
rm -rf build/{$(TOOLS_CSV),all_tests,*_node,*ssz*,beacon_node_testnet*,state_sim,transition*}
|
||||||
|
ifneq ($(USE_LIBBACKTRACE), 0)
|
||||||
+ $(MAKE) -C vendor/nim-libbacktrace clean $(HANDLE_OUTPUT)
|
+ $(MAKE) -C vendor/nim-libbacktrace clean $(HANDLE_OUTPUT)
|
||||||
|
endif
|
||||||
|
|
||||||
libnfuzz.so: | build deps-common beacon_chain.nims
|
libnfuzz.so: | build deps-common beacon_chain.nims
|
||||||
echo -e $(BUILD_MSG) "build/$@" && \
|
echo -e $(BUILD_MSG) "build/$@" && \
|
||||||
|
|
|
@ -343,6 +343,12 @@ make NIMFLAGS="-d:release"
|
||||||
make -j$(nproc) NIMFLAGS="-d:release" USE_MULTITAIL=yes eth2_network_simulation
|
make -j$(nproc) NIMFLAGS="-d:release" USE_MULTITAIL=yes eth2_network_simulation
|
||||||
```
|
```
|
||||||
|
|
||||||
|
- don't use the [lightweight stack tracing implementation from nim-libbacktrace](https://github.com/status-im/nim-beacon-chain/pull/745):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make USE_LIBBACKTRACE=0 # expect the resulting binaries to be 2-3 times slower
|
||||||
|
```
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Licensed and distributed under either of
|
Licensed and distributed under either of
|
||||||
|
|
|
@ -42,7 +42,7 @@ proc buildBinary(name: string, srcDir = "./", params = "", cmdParams = "", lang
|
||||||
var extra_params = params
|
var extra_params = params
|
||||||
for i in 2..<paramCount():
|
for i in 2..<paramCount():
|
||||||
extra_params &= " " & paramStr(i)
|
extra_params &= " " & paramStr(i)
|
||||||
exec "nim " & lang & " --out:./build/" & name & " -r -d:release --import:libbacktrace " & extra_params & " " & srcDir & name & ".nim" & " " & cmdParams
|
exec "nim " & lang & " --out:./build/" & name & " -r " & extra_params & " " & srcDir & name & ".nim" & " " & cmdParams
|
||||||
|
|
||||||
### tasks
|
### tasks
|
||||||
task test, "Run all tests":
|
task test, "Run all tests":
|
||||||
|
|
|
@ -43,7 +43,7 @@ else:
|
||||||
if not defined(macosx):
|
if not defined(macosx):
|
||||||
# add debugging symbols and original files and line numbers
|
# add debugging symbols and original files and line numbers
|
||||||
--debugger:native
|
--debugger:native
|
||||||
if not (defined(windows) and defined(i386)):
|
if not (defined(windows) and defined(i386)) and not defined(disable_libbacktrace):
|
||||||
# light-weight stack traces using libbacktrace and libunwind
|
# light-weight stack traces using libbacktrace and libunwind
|
||||||
--define:nimStackTraceOverride
|
--define:nimStackTraceOverride
|
||||||
# "--import:libbacktrace" is added to NIM_PARAMS inside the Makefile,
|
# "--import:libbacktrace" is added to NIM_PARAMS inside the Makefile,
|
||||||
|
|
Loading…
Reference in New Issue