Commit Graph

102 Commits

Author SHA1 Message Date
Jordan Hrycaj b4f8450968 provide identical copy of vm folder => vm2, activated by make flag ENABLE_VM2=1
why:
  vm2 enabled by ENABLE_VM2=1 behaves as vm without ENABLE_EVMC=1 until
  it doesn't in some future fatch set. this leaves some wiggle room
  to work on a vm copy without degrading the original implementation.

details:
  + additional make flag ENABLE_VM2=1 (or ENABLE_VM2=0 to explicitely disable)
  + when both flags ENABLE_EVMC=1 and ENABLE_VM2=1 are present, the former
    flag ENABLE_EVMC=1 takes precedence, this is implemented at the NIM
    compiler level for -d:evmc_enabled and -d:vm2_enabled
2021-04-23 14:04:06 +03:00
Jacek Sieka 3147df0dcd
switch to chronos metrics, remove insecure (#580)
* switch to chronos metrics, remove insecure

See https://github.com/status-im/nimbus-eth2/pull/2468

also fixes pcre linking for real, and adds some random build flags that
help nimbus-eth2 stay afloat

* fix help

* don't omit frame pointers on windows
2021-04-09 09:26:06 +02:00
Jacek Sieka ebb65e9c20
Compile without pcre (#574) 2021-04-01 09:36:13 +02:00
jangko b6ad47f3a4 fixes evmc bug and add github action job to test evmc 2021-01-20 11:50:07 +07:00
jangko 8c5c967715 bump submodules 2021-01-20 11:50:07 +07:00
jangko 91eb5db346
save some CI time by combining tools build 2020-07-21 11:28:03 +07:00
Ștefan Talpalaru 75b5d4effe
Makefile: move "nat-libs" to "deps" 2020-06-22 17:12:12 +02:00
kdeme 769228418e Remove wakunode and waku rpc code from repository 2020-05-07 20:49:14 +03:00
Ștefan Talpalaru 73e9199ebf
new initial submodule update strategy (#494)
* new initial submodule update strategy

* Azure: increase timeout

* Makefile: change comment [skip ci]
2020-04-18 14:56:40 +02:00
Ștefan Talpalaru a783b096fe
bump vendor/nimbus-build-system (#491)
* bump vendor/nimbus-build-system

- add the Nim compiler header to the Nimbus header
- also support the USE_LIBBACKTRACE env var

* "go-checks" target no longer available
2020-04-16 00:21:58 +02:00
Ștefan Talpalaru 71129cc2ab
nim-libbacktrace: don't build the C++ wrapper 2020-02-15 13:00:39 +01:00
Ștefan Talpalaru 8568ec35ea
enable -march=native by default
plus some drive-by fixes and cosmetic changes
2020-02-13 20:18:27 +01:00
Ștefan Talpalaru 06e0eb80e6
lightweight stack traces
Also converted the top-level nim.cfg into a config.nims, in the process.
2020-02-11 04:33:21 +01:00
kdeme 776f924e39 Small fixes/improvements 2020-01-23 12:39:36 +02:00
kdeme a03d0be31f Add start_network.nim to start different types of networks 2020-01-23 12:39:36 +02:00
kdeme 48391744ff Add metrics config files generation for wakusim 2020-01-23 12:39:36 +02:00
kdeme 574c5ec0af Add lightNode and logMetrics options 2020-01-23 12:39:36 +02:00
kdeme 7b80b313e4 Start implementation of waku node 2020-01-23 12:39:36 +02:00
kdeme 9472cf31a9
Remove -linkshared & update Nix file to be consistent 2019-11-27 11:06:58 +01:00
kdeme 2705826cc2
Seperate nimcache for libnimbus.so and libnimbus.a targets + keep output
arg
2019-11-26 22:48:35 +01:00
kdeme c2105d0ed7
Workaround for nim file output issue + add compilation of static whisper example 2019-11-26 16:10:37 +01:00
kdeme 23baeaa15d Trying out some Whisper RPC alike API 2019-11-19 11:02:00 +00:00
kdeme ef540fdb14 Make go wrapper_example subscribe work with c gateway function 2019-11-19 11:02:00 +00:00
Ștefan Talpalaru 35bdfbc159
Makefile: define SHELL for when submodules haven't been fetched yet [skip ci] 2019-09-10 02:48:34 +02:00
Ștefan Talpalaru d96f36c51d
fix "wrappers-static" [skip ci] 2019-09-05 14:31:20 +02:00
Ștefan Talpalaru b4007b941e
Makefile: "nat-libs" is now included in "deps" 2019-09-04 19:14:54 +02:00
Ștefan Talpalaru 2314b4d593
use nimbus-build-system
Also remove the nim-beacon-chain submodule and its specific
dependencies.
2019-08-22 02:02:32 +02:00
Ștefan Talpalaru 33494634aa
CI: LFS support for the beacon-chain tests
- Travis: switch language
- AppVeyor: disable `mingw32-make go-checks` for now
- `make update`: export GIT_LFS_SKIP_SMUDGE=1
- CI: disable the LFS script inside Makefile,
  since we run it separately (and git-lfs is not installed in the Travis
  macOS image if we found a valid cache).
2019-08-15 01:35:07 +02:00
Ștefan Talpalaru c22c1d303f
fix the `go-checks` target on macOS and add it to CI 2019-08-07 18:08:48 +02:00
Ștefan Talpalaru b3969b9531
add `git submodule sync` to `make update` 2019-08-03 22:52:08 +02:00
Ștefan Talpalaru c861539501
add "Building: vendor/go/bin/p2pd" message 2019-08-03 14:51:16 +02:00
Ștefan Talpalaru f6121c10f0
various changes:
- re-enable Nim's cache globally
- add a new "nimcache" subdir for the libraries
- make sure Go doesn't try to link libnimbus.a in the dynamically linked
  wrapper example
- always delete the static archive before recreating it
- rename wrapper.nim/.h to libnimbus.nim/.h
- better hygiene in libnimbus.h (include guards and C++ support)
- remove MainnetBootnodes copy, since we do include "config.nim" after all
2019-08-02 18:59:47 +02:00
Ștefan Talpalaru f63014bddb
libnimbus.a and statically linked wrapper examples 2019-08-02 18:13:50 +02:00
Ștefan Talpalaru c75e491d76
more renaming 2019-08-02 18:13:50 +02:00
Ștefan Talpalaru 1d7e14dc1b
refactor the C and Go wrapper build system
- moved "nimbus/api" to "wrappers"
- renamed files
- replaced the build scripts with Makefile targets
- set the rpath relative to the test binary's location so it can look
  for libnimbus.so there at runtime
- libnimbus.so.0 required on Linux, apparently
- compiled all the Nimbus code with `--app:lib`, not just one file (this
  required skipping a proc in "nimbus/config.nim" because it uses an API
  that's unavailable in libraries)
- removed static linking from the Go wrapper. It doesn't make sense at a
  global level, when using a shared Nimbus library. To selectively link
  static libraries, we should probably be specifying them as *.a. I did
  build a static libnimbus.a, as a test, but it insisted on dlopen-ing a
  shared version of itself which looked too ugly to continue.
2019-08-02 18:13:47 +02:00
Ștefan Talpalaru 6bcf4effbb
Makefile: check the Go compiler version 2019-07-11 15:34:22 +02:00
Zahary Karadjov d5fe4488de
Merge branch 'libp2p-testnet' into devel 2019-06-24 05:45:37 +03:00
Zahary Karadjov 7785b31431 For some reason, git's env variables are not defined inside the docker build env 2019-06-20 19:23:46 +03:00
Zahary Karadjov eb825051fd [Makefile] support Nimble packages with an inner src directory 2019-06-20 18:52:28 +03:00
Ștefan Talpalaru 9d8aa105ef
build_nim.sh: refactoring and CI caching 2019-06-12 13:53:34 +02:00
Ștefan Talpalaru 688fbd2145 nim_needs_rebuilding.sh and build_nim.sh 2019-06-12 11:42:31 +03:00
Ștefan Talpalaru a0066abf95
CI: cache the Nim compiler binaries between builds 2019-06-10 02:05:32 +02:00
Ștefan Talpalaru dd29d66b8c
ctags: add "func" symbols 2019-05-01 11:06:10 +02:00
Ștefan Talpalaru da5900b706
Makefile: fix the fetch-dlls target 2019-04-24 20:59:16 +02:00
Ștefan Talpalaru 39a2c5d3c7
bump submodules 2019-04-19 22:27:21 +02:00
Ștefan Talpalaru d2f0a3827d
Makefile: check if the C compiler exists 2019-04-19 13:38:37 +02:00
Ștefan Talpalaru 859968cdf2
Makefile fix 2019-04-19 12:49:14 +02:00
Ștefan Talpalaru 20d18e3af3
Windows: delete nimbus.nims on `mingw32-make update` 2019-04-17 18:37:30 +02:00
Ștefan Talpalaru 0412ecfc4f
libminiupnpc.a and libnatpmp.a: fix Windows compilation 2019-04-17 14:42:56 +02:00
Ștefan Talpalaru 8a3ef31ec4
tools and tests end up linking to the NAT libraries too 2019-04-17 04:19:56 +02:00