From ba7f72ab8cd0b2baf4f5a752bb1e7333e81df84b Mon Sep 17 00:00:00 2001 From: techflashYT Date: Sat, 7 Feb 2026 14:46:28 -0700 Subject: [PATCH 1/2] Minor cleanups for aarch64 hosts * Only install gcc-multilib on x86_64 * Make dependency installation failure fatal * Bump libpng to latest release of 1.5.x branch * Bugfixes, and aarch64 host support, but should not break API * Bumping to 1.6.x (which'll have breaking API changes) is someone else's job :) --- toolchain/build-xenon-toolchain | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/toolchain/build-xenon-toolchain b/toolchain/build-xenon-toolchain index 50274100..c8d87cad 100755 --- a/toolchain/build-xenon-toolchain +++ b/toolchain/build-xenon-toolchain @@ -12,7 +12,7 @@ GCC_DL="https://ftp.gnu.org/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz" NEWLIB_DL="https://sourceware.org/pub/newlib/newlib-3.1.0.tar.gz" ZLIB_DL="https://zlib.net/fossils/zlib-1.2.11.tar.gz" -LIBPNG_DL="https://download.sourceforge.net/libpng/libpng-1.5.10.tar.xz" +LIBPNG_DL="https://download.sourceforge.net/libpng/libpng-1.5.30.tar.xz" BZIP2_DL="https://sourceware.org/pub/bzip2/bzip2-1.0.6.tar.gz" FREETYPE_DL="https://download.savannah.gnu.org/releases/freetype/freetype-2.10.4.tar.gz" @@ -435,9 +435,19 @@ if [ "$1" == "toolchain" ]; then fi if command -v apt-get &> /dev/null; then - sudo apt install -y build-essential flex bison gcc-multilib libgmp-dev libmpfr-dev libmpc-dev texinfo git wget + pkgs="build-essential flex bison libgmp-dev libmpfr-dev libmpc-dev texinfo git wget" + if [ "$(uname -m)" = "x86_64" ]; then + pkgs="$pkgs gcc-multilib" + fi + sudo apt install -y $pkgs || { + echo "Failed to install required packages!" + exit 1 + } elif command -v dnf &> /dev/null; then - sudo dnf -y install gcc g++ flex bison glibc-devel.i686 libstdc++-devel.i686 gmp-devel mpfr-devel libmpc-devel texinfo git wget + sudo dnf -y install gcc g++ flex bison glibc-devel.i686 libstdc++-devel.i686 gmp-devel mpfr-devel libmpc-devel texinfo git wget || { + echo "Failed to install required packages!" + exit 1 + } else echo "Info: a package manager was not detected. Ensure that the required dependencies have been installed." fi From 44fd611fc3482fdc8d6271a3c891b65ea4b0e528 Mon Sep 17 00:00:00 2001 From: techflashYT Date: Sat, 7 Feb 2026 14:50:21 -0700 Subject: [PATCH 2/2] Note that gcc-multilib is only required on x86_64 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index dfb96a23..c3ed9816 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Dependencies for Linux distributions using the `dnf` or `apt` package managers w - flex - bison -- gcc-multilib +- gcc-multilib (if on x86\_64) - libgmp3-dev - libmpfr-dev - libmpc-dev @@ -71,4 +71,4 @@ PATH="${PATH:+${PATH}:}"$DEVKITXENON"/bin:"$DEVKITXENON"/usr/bin" ``` `DEVKITXENON` depends on your chosen installation prefix location. The default value is `/usr/local/xenon` unless you changed it. -You may edit your ~/.bashrc to set these in every shell automatically. Alternatively, you may execute `./build-xenon-toolchain env-cmd` to install a command named `xenon-env`. When you run that command, it will set those variables in a new shell. \ No newline at end of file +You may edit your ~/.bashrc to set these in every shell automatically. Alternatively, you may execute `./build-xenon-toolchain env-cmd` to install a command named `xenon-env`. When you run that command, it will set those variables in a new shell.