Skip to content
Snippets Groups Projects
Name Last commit Last update
..
res
src
Cargo.toml
README.md

Boytacean Libretro

Build

cargo build

Cross Compilation

Arm64 Linux

Download the linux toolchain from Arm GNU Toolchain Downloads.

Set the env variable ARM64_TOOLCHAIN to the path of the toolchain directory.

Create a toolchain symbolic link using the following command in Unix:

ln -s $ARM64_TOOLCHAIN aarch64-linux-gnu

... and the following command in Windows (cmd vs powershell):

mklink /D aarch64-linux-gnu %ARM64_TOOLCHAIN%
New-Item -ItemType SymbolicLink -Path aarch64-linux-gnu -Target $env:ARM64_TOOLCHAIN

To install the Rust targets for Arm64 Linux using rustup run:

rustup target add aarch64-unknown-linux-gnu

Then you're ready to build Boytacean's libretro core:

cargo build --target=aarch64-unknown-linux-gnu --release

Android

Configure NDK_HOME environment variable to point to your Android NDK directory and then create local toolchain replicas in the root project directory using:

mkdir -p ndk
${NDK_HOME}/build/tools/make_standalone_toolchain.py --api 26 --arch arm64 --install-dir ndk/arm64
${NDK_HOME}/build/tools/make_standalone_toolchain.py --api 26 --arch arm --install-dir ndk/arm
${NDK_HOME}/build/tools/make_standalone_toolchain.py --api 26 --arch x86 --install-dir ndk/x86

To install the Rust targets for Android using rustup run:

rustup target add aarch64-linux-android
rustup target add armv7-linux-androideabi
rustup target add i686-linux-android

Then you're ready to build Boytacean's libretro core using the following commands (for release builds):

cargo build --target=aarch64-linux-android --release
cargo build --target=armv7-linux-androideabi --release
cargo build --target=i686-linux-android --release

Run

Mac OS

cargo build --release
cp -p ../../target/release/libboytacean_libretro.dylib ~/Library/Application\ Support/RetroArch/cores/boytacean_libretro.dylib
cp -p res/boytacean_libretro.info ~/Library/Application\ Support/RetroArch/info/boytacean_libretro.info

Then you should be able to see the Core available in RetroArch.

If there's a new for debugging information to be display in RetroArch console then use:

export RUST_BACKTRACE=1
cargo build --features debug
cp -p ../../target/debug/libboytacean_libretro.dylib ~/Library/Application\ Support/RetroArch/cores/boytacean_libretro.dylib