1d7e14dc1b
- 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. |
||
---|---|---|
.. | ||
README.md | ||
wrapper.c | ||
wrapper.go | ||
wrapper.h | ||
wrapper.nim |
README.md
This folder contains an experimental C wrapper for using parts of the Nimbus code from C/Go in the Status console client:
https://github.com/status-im/status-console-client/
It serves mainly as a proof-of-concept for now - there are several unresolved issues surrounding threading, inter-language communication, callbacks etc.
To build the wrappers and the test programs, run from the top level directory:
make wrappers
Now you can run the test programs:
build/C_wrapper_test
build/go_wrapper_test