Commit Graph

15 Commits

Author SHA1 Message Date
Ș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
Jacek Sieka 3c2daa8b80
Expose simple whisper api to C / go (#331)
* dummy c lib

* go stuffz

* Compile secp

* Compile as shared library

* Build with debug info

* Prelude exposed fns with setupForeignThreadGc() (naive)

To avoid GC/thread issues causing segmentation fault when running from Go.

* Add logging, fix lib path and gomaxprocs to make debuggable

* lock to os thread

* Address basic feedback and mark TODOs

* Use normal secp (shared lib flow now)

* api: cleanup, move to api folder
2019-07-31 10:05:22 +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 90dcb20d35 let the Makefile manage the symlink 2019-02-24 10:41:05 +02:00
Ștefan Talpalaru 16296cbe72 add submodules 2019-02-24 10:41:05 +02:00
Ștefan Talpalaru ede45648e7 Premix-related changes
- build all tools using the Makefile and place them in ./build
- add copyright header to Makefile
- premix/readme.md edited to fix some errors, improve descriptions and
  document Makefile usage
- link the Premix documentation in the main README.md
- also build `hunter` in the nimble tests
- refactored the file and directory search so all debugging tools can be run
  from the top-level dir like this: `./build/<tool> ...`
- write all JSON debugging data in the current directory
- add JSON files generated in the top-level dir to .gitignore
- Nimbus now exits with an exception after dumping debug data and
  running `premix` on it
2019-01-28 12:38:23 +02:00
Ștefan Talpalaru bd9d15d947 new build system
- isolate dependencies (both Git repos and ".nimble" dir) in "vendor"
- ensure that everything is compiled using our version of Nim with
  something as simple as "make"
- pull the latest changes with "make update"
- re-create Nimble's package dir and re-build the Nim compiler automatically when needed
- "env.sh" script that can be used to prefix any command that needs to use
  "nim" or "nimble" from our Nim repo
- move the top level nim.cfg to nimbus/nim.cfg so it doesn't apply to
  deps
- "fetch-dlls" `make` target for Windows to get precompiled Snappy, RocksDB and SQLite DLLs
2019-01-09 14:25:00 +02:00
zah 277301701c
Remove some obsolete lines from .gitignore 2018-11-26 18:52:00 +02:00
Ștefan Talpalaru e9cc399775 enable global gitignore rules 2018-11-26 18:50:51 +02:00
Jacek Sieka 592f8bf061
vscode: add default build task 2018-08-22 21:43:22 -06:00
Yuriy Glukhov 8bdf09683b Hash256/EthAddrres refactoring 2018-05-30 19:11:15 +03:00
mratsim f0d74a4758 update .gitignore 2018-04-03 18:23:24 +02:00
Alexander Ivanov 211d46e39e Finish the first memory impl and tests, stack tests, fixes validation 2018-02-06 21:20:06 +02:00
Alexander Ivanov e6e3f09ebd Start using the new rlpFields macro 2018-01-30 12:51:13 +02:00
Jarrad 4aa2a479dd
Initial commit 2018-01-04 06:08:24 +00:00