From de112530c498b83c02b36ec8d4fc71e8a926fb80 Mon Sep 17 00:00:00 2001 From: Jia Yuan Lo Date: Thu, 16 Nov 2023 07:12:54 +0800 Subject: [PATCH] scripts: add directory symlink for standalone toolchain Needed by rust 1.75.0+ --- scripts/build/termux_step_setup_toolchain.sh | 4 ++-- scripts/build/toolchain/termux_setup_toolchain_23c.sh | 7 ++++++- scripts/build/toolchain/termux_setup_toolchain_26b.sh | 5 +++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/scripts/build/termux_step_setup_toolchain.sh b/scripts/build/termux_step_setup_toolchain.sh index ca3b4c9573..1a3f23ca46 100644 --- a/scripts/build/termux_step_setup_toolchain.sh +++ b/scripts/build/termux_step_setup_toolchain.sh @@ -7,10 +7,10 @@ termux_step_setup_toolchain() { # toolchain setup to ensure that everyone gets an updated # toolchain if [ "${TERMUX_NDK_VERSION}" = "26b" ]; then - TERMUX_STANDALONE_TOOLCHAIN+="-v0" + TERMUX_STANDALONE_TOOLCHAIN+="-v1" termux_setup_toolchain_26b elif [ "${TERMUX_NDK_VERSION}" = 23c ]; then - TERMUX_STANDALONE_TOOLCHAIN+="-v5" + TERMUX_STANDALONE_TOOLCHAIN+="-v6" termux_setup_toolchain_23c else termux_error_exit "We do not have a setup_toolchain function for NDK version $TERMUX_NDK_VERSION" diff --git a/scripts/build/toolchain/termux_setup_toolchain_23c.sh b/scripts/build/toolchain/termux_setup_toolchain_23c.sh index b750829523..cadabbb14b 100644 --- a/scripts/build/toolchain/termux_setup_toolchain_23c.sh +++ b/scripts/build/toolchain/termux_setup_toolchain_23c.sh @@ -181,6 +181,11 @@ termux_setup_toolchain_23c() { fi done + # rust 1.75.0+ expects this directory to be present + rm -fr "${_TERMUX_TOOLCHAIN_TMPDIR}"/toolchains + mkdir -p "${_TERMUX_TOOLCHAIN_TMPDIR}"/toolchains/llvm/prebuilt + ln -fs ../../.. "${_TERMUX_TOOLCHAIN_TMPDIR}"/toolchains/llvm/prebuilt/linux-x86_64 + # Create a pkg-config wrapper. We use path to host pkg-config to # avoid picking up a cross-compiled pkg-config later on. local _HOST_PKGCONFIG @@ -213,7 +218,7 @@ termux_setup_toolchain_23c() { # Remove as it's only for future (later than android-27). # Remove and as we build our own zlib. # Remove unicode headers provided by libicu. - # Remove KRH/khrplatform.h provided by mesa. + # Remove KHR/khrplatform.h provided by mesa. # Remove NDK vulkan headers. rm usr/include/{sys/{capability,shm,sem},{glob,iconv,spawn,zlib,zconf},KHR/khrplatform}.h rm usr/include/unicode/{char16ptr,platform,ptypes,putil,stringoptions,ubidi,ubrk,uchar,uconfig,ucpmap,udisplaycontext,uenum,uldnames,ulocdata,uloc,umachine,unorm2,urename,uscript,ustring,utext,utf16,utf8,utf,utf_old,utypes,uvernum,uversion}.h diff --git a/scripts/build/toolchain/termux_setup_toolchain_26b.sh b/scripts/build/toolchain/termux_setup_toolchain_26b.sh index 3e775cabde..4eb4524b26 100644 --- a/scripts/build/toolchain/termux_setup_toolchain_26b.sh +++ b/scripts/build/toolchain/termux_setup_toolchain_26b.sh @@ -182,6 +182,11 @@ termux_setup_toolchain_26b() { fi done + # rust 1.75.0+ expects this directory to be present + rm -fr "${_TERMUX_TOOLCHAIN_TMPDIR}"/toolchains + mkdir -p "${_TERMUX_TOOLCHAIN_TMPDIR}"/toolchains/llvm/prebuilt + ln -fs ../../.. "${_TERMUX_TOOLCHAIN_TMPDIR}"/toolchains/llvm/prebuilt/linux-x86_64 + # Create a pkg-config wrapper. We use path to host pkg-config to # avoid picking up a cross-compiled pkg-config later on. local _HOST_PKGCONFIG