Poszło zaskakująco łatwo, w zasadzie gdyby nie moje niedouczenie w zakresie crosskompilacji, proces nie różniłby się prawie niczym od budowania na x86. Zarówno biblioteka toxcore jak i mój tuntox nie sprawiały problemów po podstawieniu kompilatora na riscv64, największy "problem" był z libsodium która wymagała przełącznika do wyłaczenia optymalizacji w assemblerze:
./configure CC=riscv64-linux-gnu-gcc-8 LD=riscv64-linux-gnu-ld --target=riscv64-linux-gnu --host=x86_64-linux-gnu --disable-asm
Oprócz tego - sprawa była banalnie prosta: odpaliłem Debiana sid w dockerze, zainstalowałem niezbędne narzędzia:
apt install cmake make g++-8-riscv64-linux-gnu
Zbudowałem toxcore:
cmake .. -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-8 -DCMAKE_SYSTEM_NAME=Linux -DBUILD_TOXAV=off -DBOOTSTRAP_DAEMON=off -DCMAKE_LINKER=riscv64-linux-gnu-ld -DBUILD_AV_TEST=off -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-8
I samego tuntoxa, podmieniając CC w Makefile. Powstały plik wykonywalny załadowałem do przeglądarkowego emulatora JSLinux, odpaliłem, i bez problemu udało się połączyć z domowej maszyny!
Tylko po co?