48 lines
1.1 KiB
Markdown
Raw Normal View History

# logos-delivery Go Bindings
2024-11-27 12:08:50 +02:00
Go bindings for the Waku library.
2024-11-27 12:08:50 +02:00
## Install
2024-11-27 12:08:50 +02:00
```
2026-02-27 19:36:50 +05:30
go get -u github.com/logos-messaging/logos-delivery-go-bindings
```
2024-11-27 12:08:50 +02:00
2025-12-19 14:43:52 +05:30
## Building & Dependencies
2024-11-27 12:08:50 +02:00
2026-02-27 19:36:50 +05:30
`libwaku` (from `logos-delivery`) is required at compile-time.
2025-12-22 14:29:52 +05:30
### Building with Makefile
2026-02-27 19:36:50 +05:30
If you have `logos-delivery` checked out, point the build to it:
2025-12-22 14:29:52 +05:30
```bash
2026-02-27 19:36:50 +05:30
# path to your existing logos-delivery clone
export LMN_DIR=/absolute/path/to/logos-delivery
2025-12-22 14:29:52 +05:30
export CGO_CFLAGS="-I${LMN_DIR}/library"
export CGO_LDFLAGS="-L${LMN_DIR}/build -lwaku -Wl,-rpath,${LMN_DIR}/build"
# compile all packages
make -C waku build
# run all tests
make -C waku test
# run a specific test
make -C waku test TEST=TestConnectedPeersInfo
```
2025-03-13 15:22:58 +02:00
## Development
2026-02-27 19:36:50 +05:30
When working on this repository itself, `logos-delivery` is included as a git submodule for convenience.
- Initialize and update the submodule, then build `libwaku`
```sh
git submodule update --init --recursive
make -C waku build-libwaku
```
- Build the project. Submodule paths are used by default to find `libwaku`.
```shell
make -C waku build
```