Commit Graph

71 Commits

Author SHA1 Message Date
Ș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
Ștefan Talpalaru d4aff04cbd
NAT port mapping 2019-04-17 03:56:28 +02:00
Ștefan Talpalaru b212d2ee21
Windows: copy all DLLs to vendor/nim-beacon-chain/build/ 2019-04-12 23:59:20 +02:00
Ștefan Talpalaru 7b1e031f89
we no longer need to rebuild Nimble 2019-04-12 15:33:12 +02:00
Ștefan Talpalaru b6f6795a17
rebuild the Nim compiler after the corresponding submodule is updated 2019-04-12 14:39:37 +02:00
Ștefan Talpalaru 8150199581
Makefile: low verbosity by default 2019-03-29 18:08:39 +01:00
Ștefan Talpalaru 3908c0e570
Makefile: rebuild Nimble in release mode 2019-03-29 16:29:04 +01:00
Ștefan Talpalaru 12a9904710
Makefile: echo "Building the Nim compiler." 2019-03-29 15:27:19 +01:00
Ștefan Talpalaru bb61c08fc2
Makefile: remove the "eth2_network_simulation" target
from the Nimbus Makefile, since it's now in teh nim-beacon-chain one.

Also bump vendor/nim-beacon-chain and vendor/nim-chronos
2019-03-28 16:32:03 +01:00
Ștefan Talpalaru 535cf1772c
Makefile: moved some reusable vars in common.mk for nim-beacon-chain
- also introduced TOOLS_DIRS for readability and ease  of maintenance
2019-03-26 19:23:07 +01:00
Ștefan Talpalaru 9f0c945336 CI: use a release build for the test suite (#278)
* CI: use a release build for the test suite

Makefile: the "testsuite" target is no longer needed

* rename EXTRA_NIM_PARAMS to NIMFLAGS
2019-03-16 18:54:30 -06:00
Jacek Sieka 9bd5b02f93
ci: make everything (#270)
* ci: make everything
* remove tools from test target, do avoid duplicate work in CI
2019-03-14 14:11:31 -06:00
Ștefan Talpalaru de3cf9ad2f
Makefile: don't override the test suite's loglevel by default 2019-03-12 23:50:49 +01:00
Ștefan Talpalaru 83d811ca1c Makefile: allow arbitrary nim params through EXTRA_NIM_PARAMS 2019-03-12 13:29:10 +02:00
Ștefan Talpalaru fba31263d4 Makefile: specify the Chronicles log level 2019-03-12 13:29:10 +02:00
Ștefan Talpalaru e1e56211ba
update libp2p-related submodules and its build process 2019-03-07 01:11:48 +01:00
Ștefan Talpalaru 4326d98434
testsuite: build the tools in parallel 2019-02-28 00:07:23 +01:00
Ștefan Talpalaru 36575d9451
Makefile: make "test-libp2p-daemon" a phony target 2019-02-27 13:58:55 +01:00
andri lim 14d1c28982 new member of premix tool set 2019-02-27 13:44:01 +02:00
Ștefan Talpalaru 12d18a1fd6 build p2pd and run some client tests
(with `make V=0 test-libp2p-daemon`)
2019-02-27 13:33:18 +02:00
Ștefan Talpalaru 2abf779668 fix rebase 2019-02-24 10:41:05 +02:00
Ștefan Talpalaru 9806110979 Makefile: better "github-ssh" target 2019-02-24 10:41:05 +02:00
Ștefan Talpalaru 5fcfa70be4 test-reproducibility: coloured messages 2019-02-24 10:41:05 +02:00
Ștefan Talpalaru e9565258a6 Windows: disable timestamps in PE headers 2019-02-24 10:41:05 +02:00
Ștefan Talpalaru a96976cd0a custom nimcache dir 2019-02-24 10:41:05 +02:00
Ștefan Talpalaru 05535591f1 quiet compiler building 2019-02-24 10:41:05 +02:00
Ștefan Talpalaru 0f656125ac macOS doesn't have "md5sum" 2019-02-24 10:41:05 +02:00
Ștefan Talpalaru 90dcb20d35 let the Makefile manage the symlink 2019-02-24 10:41:05 +02:00
Ștefan Talpalaru da79a7e996 very simple reproducibility test
Additional changes:
- Makefile verbosity control
- nimble.sh can now run in parallel on the same *.nimble file
- nimble.sh no longer used in the Makefile, in favour of a nimbus.nims
  symlink that eliminates race risks in parallel jobs
- nimbus.nimble takes extra params in the command line, with the caveat
  that they also apply to nim
- setCommand() replaced with exec(), to avoid splitting param strings
2019-02-24 10:41:05 +02:00
Ștefan Talpalaru e8d654ed0f Windows: allow architecture override 2019-02-24 10:41:05 +02:00
Ștefan Talpalaru 50860e3817 Makefile: delete tool binaries in the "clean" target 2019-02-24 10:41:05 +02:00
Ștefan Talpalaru 63b8ce8c00 Windows: take into account the .exe suffix 2019-02-24 10:41:05 +02:00