2024-10-14 14:25:07 +04:00
|
|
|
# nim-e2e-reliability
|
|
|
|
|
Nim implementation of the e2e reliability protocol
|
2025-09-17 10:33:47 +02:00
|
|
|
|
2025-09-17 16:24:34 +02:00
|
|
|
## Building
|
2025-09-17 10:33:47 +02:00
|
|
|
|
2025-10-15 11:17:02 +02:00
|
|
|
### Nix
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
nix build --print-out-paths '.?submodules=1#libsds'
|
|
|
|
|
nix build --print-out-paths '.?submodules=1#libsds-android-arm64'
|
|
|
|
|
```
|
|
|
|
|
|
2025-09-17 16:24:34 +02:00
|
|
|
### Windows, Linux or MacOS
|
2025-09-17 10:33:47 +02:00
|
|
|
|
2025-09-17 16:24:34 +02:00
|
|
|
```code
|
|
|
|
|
make libsds
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Android
|
|
|
|
|
|
|
|
|
|
Download the latest Android NDK. For example, on Ubuntu with Intel:
|
2025-09-17 10:33:47 +02:00
|
|
|
|
|
|
|
|
```code
|
|
|
|
|
cd ~
|
|
|
|
|
wget https://dl.google.com/android/repository/android-ndk-r27c-linux.zip
|
|
|
|
|
```
|
|
|
|
|
```code
|
|
|
|
|
unzip android-ndk-r27c-linux.zip
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Then, add the following to your ~/.bashrc file:
|
|
|
|
|
```code
|
|
|
|
|
export ANDROID_NDK_HOME=$HOME/android-ndk-r27c
|
|
|
|
|
export PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Then, use one of the following commands, according to the current architecture:
|
|
|
|
|
|
|
|
|
|
| Architecture | command |
|
2025-09-17 16:24:34 +02:00
|
|
|
| ------------ | ------- |
|
|
|
|
|
| arm64 | `make libsds-android ARCH=arm64` |
|
|
|
|
|
| amd64 | `make libsds-android ARCH=amd64` |
|
|
|
|
|
| x86 | `make libsds-android ARCH=x86` |
|
2025-09-17 10:33:47 +02:00
|
|
|
|
2025-09-17 16:20:00 +02:00
|
|
|
At the end of the process, the library will be created in build/libsds.so
|
2025-09-17 10:33:47 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|