Skip to content

Commit 923806a

Browse files
committed
rmpkg(main/binutils-is-llvm): make LLVM binutils default in Termux
- My idea of a different solution to: - #8191 - #9715 - #16588 - Reverts: - #10012 - #13045 - Make Termux behave more similarly to the LLVM-based desktop Linux distro, Chimera Linux - Preserve `as` name for GNU `as`, since `llvm-as` is not compatible with software expecting GNU `as`, and Chimera Linux also gives that name to GNU `as`: #11218 - Source code and runtime behavior of Chimera Linux observed to design this PR https://chimera-linux.org/ | Binutil | GNU/Linux | Chimera Linux | FreeBSD | MacOS | Vanilla Android | Termux Current | Termux This PR | |:----------- |:------------- |:------------- |:------------ |:--------------- |:----------------- |:-------------- |:-------------- | | `as` | GNU | GNU | GNU | `clang -cc1as` | `llvm-` name only | GNU | GNU | | `elfedit` | GNU | GNU | GNU | Not Available | Not Available | GNU | GNU | | `gprof` | GNU | GNU | BSD | Not Available | Not Available | GNU | GNU | | `addr2line` | GNU | LLVM | elftoolchain | Not Available | `llvm-` name only | Variable | LLVM | | `ar` | GNU | LLVM | BSD | BSD | `llvm-` name only | Variable | LLVM | | `c++filt` | GNU | LLVM | LLVM | LLVM | `llvm-` name only | Variable | LLVM | | `ld` | GNU | LLVM | LLVM | Apple | LLVM | Variable | LLVM | | `nm` | GNU | LLVM | elftoolchain | LLVM | `llvm-` name only | Variable | LLVM | | `objcopy` | GNU | LLVM | elftoolchain | Not Available | `llvm-` name only | Variable | LLVM | | `objdump` | GNU | LLVM | LLVM | LLVM | `llvm-` name only | Variable | LLVM | | `ranlib` | GNU | LLVM | BSD | Apple | `llvm-` name only | Variable | LLVM | | `readelf` | GNU | LLVM | elftoolchain | Not Available | `llvm-` name only | Variable | LLVM | | `size` | GNU | LLVM | elftoolchain | Apple | `llvm-` name only | Variable | LLVM | | `strings` | GNU | LLVM | elftoolchain | Apple | `llvm-` name only | Variable | LLVM | | `strip` | GNU | LLVM | elftoolchain | Apple | `llvm-` name only | Variable | LLVM | - This is **not** a project to move Termux away from GNU in general. It is a project to make Termux have a consistent default implementation of a component that is among the group of components for which most distros pick a default and stick to it: | Component | GNU/Linux | Alpine Linux | Chimera Linux | FreeBSD | MacOS | Vanilla Android | Termux Current | Termux This PR | |:----------- |:--------- |:------------ |:------------- |:------- |:----- |:--------------- |:-------------- |:-------------- | | C stdlib | GNU | musl | musl | BSD | BSD | bionic | bionic | bionic | | C++ stdlib | GNU | GNU | LLVM | LLVM | LLVM | LLVM | LLVM | LLVM | | Compiler | GNU | GNU | LLVM | LLVM | LLVM | LLVM | LLVM | LLVM | | Binutils | GNU | GNU | LLVM | LLVM | LLVM | LLVM | **Variable** | LLVM | | Make | GNU | GNU | GNU | BSD | BSD | GNU | GNU | GNU | | Coreutils | GNU | busybox | BSD | BSD | BSD | toybox | GNU | GNU | most LLVM-based distros and operating systems choose the LLVM binutils, so choosing the LLVM binutils for Termux is reasonable and will contribute to the consistency of the wider LLVM-based distro ecosystem. - After #28438 , it is now impossible to have `binutils-is-llvm` and `ldd`, `binutils-bin` or `lua-language-server` installed simultaneously. - This disturbance to the prior status quo might inconvenience users of `ldd`, `lua-language-server`, `binutils-bin` or similar packages who are trying to build Termux packages on-device. - This is considered to have occurred due to the difficulty of maintaining multiple packages that provide binutils simultaneously, so the goal is now to reevaluate the default binutils executables provided in Termux, and make changes that solve the problem without reverting #28438 while aligning Termux more closely with the current choices used by an LLVM-based desktop Linux distro that also provides a GNU binutils package, Chimera Linux. After this, it will unfortunately be more difficult to compile certain software in Termux. Here is one example that I know of: ```bash git clone https://github.com/paullouisageneau/libjuice.git cd libjuice make ``` It would work before this PR if `binutils` was installed, but after this PR, it will show this error: ``` ar: error: unknown option f ``` (yes, this error also happens when building libjuice in Chimera Linux) Before this PR, it could be worked around by using `pkg install binutils`, but after this PR, it will only be possible to work around by either changing the invocation of `ar` to `gar` or removing the argument `f` from the instance of call to `ar` in `Makefile`. However: - it is already more difficult to compile software in Termux that has problems with Clang but not GCC, or problems with libc++ but not libstdc++, or problems with alternative libc but not glibc, and the additional limitation imposed by defaulting to LLVM binutils is expected to be relatively minimal - libjuice is not an official Termux package, and if it were, it would have already had to be patched to avoid this error anyway, because Termux currently has `ar` set to `llvm-ar` for building in multiple places: https://github.com/termux/termux-packages/blob/eaad7e0549ccf2fc3aa4919dc15b8306ce61dffc/scripts/build/toolchain/termux_setup_toolchain_29.sh#L11 https://github.com/termux/termux-packages/blob/eaad7e0549ccf2fc3aa4919dc15b8306ce61dffc/scripts/setup-termux.sh#L14 - This will make the default behavior of building software in Termux more consistently similar not only to the behavior of the vanilla Android NDK, and not only to behavior of the `termux_setup_toolchain_29()` and `setup-termux.sh` of termux-packages, but also to the behavior of the LLVM-based desktop Linux distro, Chimera Linux. - Any time `clang` is installed, all of the LLVM binutils in the `llvm` package are also already installed, just with `llvm-` prepended to their names, so for most situations, the `binutils` package is implementing duplicate functionality while taking up additional space
1 parent 88fb9d9 commit 923806a

21 files changed

Lines changed: 205 additions & 113 deletions

File tree

File renamed without changes.
File renamed without changes.

packages/atool/build.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ TERMUX_PKG_LICENSE="GPL-3.0"
44
TERMUX_PKG_LICENSE_FILE="COPYING"
55
TERMUX_PKG_MAINTAINER="@termux"
66
TERMUX_PKG_VERSION="0.39.0"
7-
TERMUX_PKG_REVISION=1
7+
TERMUX_PKG_REVISION=2
88
TERMUX_PKG_SRCURL="https://download.savannah.gnu.org/releases/atool/atool-$TERMUX_PKG_VERSION.tar.gz"
99
TERMUX_PKG_SHA256="aaf60095884abb872e25f8e919a8a63d0dabaeca46faeba87d12812d6efc703b"
1010
TERMUX_PKG_DEPENDS="perl"
1111
TERMUX_PKG_BUILD_IN_SRC=true
1212
TERMUX_PKG_AUTO_UPDATE=true
13-
TERMUX_PKG_RECOMMENDS="arj, binutils-is-llvm | binutils, bzip2, cpio, file, gzip, lhasa, lzip, lzop, p7zip, tar, unrar, unzip, xz-utils, zip"
13+
TERMUX_PKG_RECOMMENDS="arj, llvm, bzip2, cpio, file, gzip, lhasa, lzip, lzop, p7zip, tar, unrar, unzip, xz-utils, zip"
1414
TERMUX_PKG_SUGGESTS="bash-completion"
1515
TERMUX_PKG_PLATFORM_INDEPENDENT=true
1616

packages/binutils/binutils-bin.subpackage.sh

Lines changed: 0 additions & 19 deletions
This file was deleted.

packages/binutils/build.sh

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,13 @@ TERMUX_PKG_MAINTAINER="@termux"
55
# `lua-language-server` links against libbfd,
66
# remember to rebuild it when updating `binutils`.
77
TERMUX_PKG_VERSION="2.46.0"
8-
TERMUX_PKG_REVISION=2
9-
TERMUX_PKG_SRCURL=https://mirrors.kernel.org/gnu/binutils/binutils-${TERMUX_PKG_VERSION}.tar.xz
8+
TERMUX_PKG_REVISION=3
9+
TERMUX_PKG_SRCURL="https://mirrors.kernel.org/gnu/binutils/binutils-${TERMUX_PKG_VERSION}.tar.xz"
1010
TERMUX_PKG_SHA256=d75a94f4d73e7a4086f7513e67e439e8fcdcbb726ffe63f4661744e6256b2cf2
11-
TERMUX_PKG_DEPENDS="binutils-bin, zlib, zstd"
12-
TERMUX_PKG_BREAKS="binutils (<< 2.46), binutils-libs, binutils-dev"
13-
TERMUX_PKG_REPLACES="binutils (<< 2.46), binutils-libs, binutils-dev"
11+
TERMUX_PKG_DEPENDS="libc++, zlib, zstd"
12+
TERMUX_PKG_BREAKS="binutils (<< 2.46), binutils-bin, binutils-libs, binutils-dev"
13+
TERMUX_PKG_REPLACES="binutils (<< 2.46), binutils-bin, binutils-libs, binutils-dev"
1414
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
15-
--bindir=$TERMUX_PREFIX/libexec/binutils
1615
--disable-gprofng
1716
--enable-plugins
1817
--disable-werror
@@ -22,6 +21,8 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
2221
TERMUX_PKG_EXTRA_MAKE_ARGS="tooldir=$TERMUX_PREFIX"
2322
TERMUX_PKG_RM_AFTER_INSTALL="share/man/man1/windmc.1 share/man/man1/windres.1"
2423
TERMUX_PKG_NO_STATICSPLIT=true
24+
# will overwrite llvm binutils and llvm ld
25+
TERMUX_PKG_ON_DEVICE_BUILD_NOT_SUPPORTED=true
2526
TERMUX_PKG_GROUPS="base-devel"
2627

2728
# For binutils-cross:
@@ -73,28 +74,27 @@ termux_step_pre_configure() {
7374
}
7475

7576
termux_step_post_make_install() {
76-
local dir="$TERMUX_PREFIX/share/binutils"
77-
mkdir -p "$dir"
78-
touch "$dir/.placeholder"
79-
80-
mkdir -p "$TERMUX_PREFIX/bin"
81-
cd "$TERMUX_PREFIX/libexec/binutils" || termux_error_exit "failed to change into 'libexec/binutils' directory"
82-
83-
mv ld.bfd ld
84-
ln -sf ld ld.bfd
85-
ln -sfr "$TERMUX_PREFIX/libexec/binutils/ld" "$TERMUX_PREFIX/bin/ld.bfd"
86-
87-
local bin
88-
for bin in ./*; do
89-
ln -sfr "$TERMUX_PREFIX/libexec/binutils/$bin" \
90-
"$TERMUX_PREFIX/bin/$bin"
91-
done
92-
93-
# Setup symlinks as these are used when building, so used by
94-
# system setup in e.g. python, perl and libtool:
95-
local -a _TOOLS_WITH_HOST_PREFIX=("ar" "ld" "nm" "objdump" "ranlib" "readelf" "strip")
96-
for bin in "${_TOOLS_WITH_HOST_PREFIX[@]}"; do
97-
ln -sfr "$TERMUX_PREFIX/libexec/binutils/$bin" \
98-
"$TERMUX_PREFIX/bin/$TERMUX_HOST_PLATFORM-$bin"
77+
rm "${TERMUX_PREFIX}/bin/ld"
78+
mv "${TERMUX_PREFIX}/share/man/man1/ld.1" \
79+
"${TERMUX_PREFIX}/share/man/man1/ld.bfd.1"
80+
local -a _BINUTILS_CONFLICTING_WITH_LLVM=(
81+
"ar"
82+
"addr2line"
83+
"c++filt"
84+
"nm"
85+
"objcopy"
86+
"objdump"
87+
"ranlib"
88+
"readelf"
89+
"size"
90+
"strings"
91+
"strip"
92+
)
93+
local binutil
94+
for binutil in "${_BINUTILS_CONFLICTING_WITH_LLVM[@]}"; do
95+
mv "${TERMUX_PREFIX}/bin/${binutil}" \
96+
"${TERMUX_PREFIX}/bin/g${binutil}"
97+
mv "${TERMUX_PREFIX}/share/man/man1/${binutil}.1" \
98+
"${TERMUX_PREFIX}/share/man/man1/g${binutil}.1"
9999
done
100100
}

packages/debootstrap/build.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ TERMUX_PKG_LICENSE="MIT"
44
TERMUX_PKG_LICENSE_FILE="debian/copyright"
55
TERMUX_PKG_MAINTAINER="@termux"
66
TERMUX_PKG_VERSION="1.0.142"
7-
TERMUX_PKG_SRCURL=https://deb.debian.org/debian/pool/main/d/debootstrap/debootstrap_${TERMUX_PKG_VERSION}.tar.gz
7+
TERMUX_PKG_REVISION=1
8+
TERMUX_PKG_SRCURL="https://deb.debian.org/debian/pool/main/d/debootstrap/debootstrap_${TERMUX_PKG_VERSION}.tar.gz"
89
TERMUX_PKG_SHA256=334b188c2bab5c1aa6f858a044274631d342f07f5ddec1bad870d728f02fd652
910
TERMUX_PKG_AUTO_UPDATE=true
10-
TERMUX_PKG_DEPENDS="binutils | binutils-is-llvm, perl, proot, sed, wget"
11+
TERMUX_PKG_DEPENDS="llvm, perl, proot, sed, wget"
1112
TERMUX_PKG_BUILD_IN_SRC=true
1213
TERMUX_PKG_PLATFORM_INDEPENDENT=true
1314

packages/flang/build.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ TERMUX_PKG_DESCRIPTION="LLVM's Fortran frontend"
33
TERMUX_PKG_LICENSE="Apache-2.0"
44
TERMUX_PKG_LICENSE_FILE="flang/LICENSE.TXT"
55
TERMUX_PKG_MAINTAINER="@termux"
6-
TERMUX_PKG_VERSION=21.1.8
7-
TERMUX_PKG_REVISION=1
6+
TERMUX_PKG_VERSION="21.1.8"
7+
TERMUX_PKG_REVISION=2
88
TERMUX_PKG_SRCURL=(
99
"https://github.com/llvm/llvm-project/releases/download/llvmorg-${TERMUX_PKG_VERSION}/llvm-project-${TERMUX_PKG_VERSION}.src.tar.xz"
1010
"https://github.com/llvm/llvm-project/releases/download/llvmorg-${TERMUX_PKG_VERSION}/LLVM-${TERMUX_PKG_VERSION}-Linux-X64.tar.xz"

packages/gauche/build.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ TERMUX_PKG_DESCRIPTION="An R7RS Scheme implementation developed to be a handy sc
33
TERMUX_PKG_LICENSE="BSD 3-Clause"
44
TERMUX_PKG_MAINTAINER="@termux"
55
TERMUX_PKG_VERSION="0.9.15"
6-
TERMUX_PKG_REVISION=2
7-
TERMUX_PKG_SRCURL=https://github.com/shirok/Gauche/releases/download/release${TERMUX_PKG_VERSION//./_}/Gauche-${TERMUX_PKG_VERSION}.tgz
6+
TERMUX_PKG_REVISION=3
7+
TERMUX_PKG_SRCURL="https://github.com/shirok/Gauche/releases/download/release${TERMUX_PKG_VERSION//./_}/Gauche-${TERMUX_PKG_VERSION}.tgz"
88
TERMUX_PKG_SHA256=3643e27bc7c8822cfd6fb2892db185f658e8e364938bc2ccfcedb239e35af783
99
TERMUX_PKG_AUTO_UPDATE=false
1010
TERMUX_PKG_DEPENDS="gdbm, libcrypt, libiconv, mbedtls, zlib"
1111
TERMUX_PKG_BUILD_DEPENDS="libatomic-ops"
12-
TERMUX_PKG_RECOMMENDS="binutils-is-llvm | binutils, ca-certificates"
12+
TERMUX_PKG_RECOMMENDS="llvm, ca-certificates"
1313
TERMUX_PKG_HOSTBUILD=true
1414
TERMUX_PKG_BUILD_IN_SRC=true
1515

packages/ldc/build.sh

Lines changed: 51 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,25 @@ TERMUX_PKG_VERSION=(1.30.0)
66
TERMUX_PKG_VERSION+=(14.0.3) # LLVM version
77
TERMUX_PKG_VERSION+=(2.100.1) # TOOLS version
88
TERMUX_PKG_VERSION+=(1.30.0) # DUB version
9-
TERMUX_PKG_REVISION=2
9+
TERMUX_PKG_VERSION+=(14.0.21) # SPIRV-LLVM-Translator version
10+
TERMUX_PKG_REVISION=3
1011
TERMUX_PKG_SRCURL=(https://github.com/ldc-developers/ldc/releases/download/v${TERMUX_PKG_VERSION}/ldc-${TERMUX_PKG_VERSION}-src.tar.gz
1112
https://github.com/ldc-developers/llvm-project/releases/download/ldc-v${TERMUX_PKG_VERSION[1]}/llvm-${TERMUX_PKG_VERSION[1]}.src.tar.xz
1213
https://github.com/llvm/llvm-project/releases/download/llvmorg-${TERMUX_PKG_VERSION[1]}/libunwind-${TERMUX_PKG_VERSION[1]}.src.tar.xz
1314
https://github.com/dlang/tools/archive/refs/tags/v${TERMUX_PKG_VERSION[2]}.tar.gz
1415
https://github.com/dlang/dub/archive/refs/tags/v${TERMUX_PKG_VERSION[3]}.tar.gz
15-
https://github.com/ldc-developers/ldc/releases/download/v${TERMUX_PKG_VERSION}/ldc2-${TERMUX_PKG_VERSION}-linux-x86_64.tar.xz)
16+
https://github.com/ldc-developers/ldc/releases/download/v${TERMUX_PKG_VERSION}/ldc2-${TERMUX_PKG_VERSION}-linux-x86_64.tar.xz
17+
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/refs/tags/v${TERMUX_PKG_VERSION[4]}.tar.gz)
1618
TERMUX_PKG_SHA256=(fdbb376f08242d917922a6a22a773980217fafa310046fc5d6459490af23dacd
1719
9638d8d0b6a43d9cdc53699bec19e6bc9bef98f5950b99e6b8c1ec373aee4fa7
1820
301137841d1e3401f59b3828d2a9ac86a1b826b89265d55541a2fd6ca2a595eb
1921
54bde9a979d70952690a517f90de8d76631fa9a2f7252af7278dafbcaaa42d54
2022
840cd65bf5f0dd06ca688f63b94d71fccd92b526bbf1d3892fe5535b1e85c10e
21-
5784d4cc47d0845af0897d3b7473a08dd0281a4cdabac0a486740840d014fde1)
23+
5784d4cc47d0845af0897d3b7473a08dd0281a4cdabac0a486740840d014fde1
24+
47951817c2fcc1bb8911d288d42d7ddda1771fe58c29ffd6cf6671056145be22)
2225
TERMUX_PKG_AUTO_UPDATE=false
2326
# dub dlopen()s libcurl.so:
24-
TERMUX_PKG_DEPENDS="binutils-bin, binutils-is-llvm | binutils, clang, libc++, libcurl, zlib"
27+
TERMUX_PKG_DEPENDS="binutils, clang, libc++, libcurl, zlib"
2528
TERMUX_PKG_BUILD_DEPENDS="binutils-cross"
2629
TERMUX_PKG_NO_STATICSPLIT=true
2730
TERMUX_PKG_HOSTBUILD=true
@@ -55,15 +58,48 @@ termux_step_post_get_source() {
5558
mv tools-${TERMUX_PKG_VERSION[2]} dlang-tools
5659
mv dub-${TERMUX_PKG_VERSION[3]} dub
5760

61+
# replace SPIRV-LLVM-Translator with more updated version to prevent:
62+
# spirv_internal.hpp:185:28: error: constexpr variable
63+
# 'MemoryAccessAliasScopeINTELMask' must be initialized by a constant expression
64+
rm -rf llvm/projects/SPIRV-LLVM-Translator
65+
mv "SPIRV-LLVM-Translator-${TERMUX_PKG_VERSION[4]}" llvm/projects/SPIRV-LLVM-Translator
66+
5867
# Exclude MLIR
5968
rm -Rf llvm/projects/mlir
6069

6170
LLVM_TRIPLE=${TERMUX_HOST_PLATFORM/-/--}
6271
if [ $TERMUX_ARCH = arm ]; then LLVM_TRIPLE=${LLVM_TRIPLE/arm-/armv7a-}; fi
6372
}
6473

74+
_setup_cmake_3() {
75+
local TERMUX_CMAKE_VERSION=3.31.10
76+
local TERMUX_CMAKE_SHA256=3cb3dd247b6a1de2d0f4b20c6fd4326c9024e894cebc9dc8699758887e566ca7
77+
local TERMUX_CMAKE_MAJORVERSION="${TERMUX_CMAKE_VERSION%.*}"
78+
local TERMUX_CMAKE_TARNAME="cmake-${TERMUX_CMAKE_VERSION}-linux-x86_64.tar.gz"
79+
local TERMUX_CMAKE_URL="https://github.com/Kitware/CMake/releases/download/v${TERMUX_CMAKE_VERSION}/${TERMUX_CMAKE_TARNAME}"
80+
local TERMUX_CMAKE_TARFILE="${TERMUX_PKG_TMPDIR}/${TERMUX_CMAKE_TARNAME}"
81+
local TERMUX_CMAKE_FOLDER="${TERMUX_PKG_TMPDIR}/cmake-${TERMUX_CMAKE_VERSION}"
82+
83+
local TERMUX_CMAKE_NAME="cmake"
84+
85+
if [[ ! -d "${TERMUX_CMAKE_FOLDER}" ]]; then
86+
termux_download "${TERMUX_CMAKE_URL}" \
87+
"${TERMUX_CMAKE_TARFILE}" \
88+
"${TERMUX_CMAKE_SHA256}"
89+
rm -Rf "${TERMUX_PKG_TMPDIR}/cmake-${TERMUX_CMAKE_VERSION}-linux-x86_64"
90+
tar xf "${TERMUX_CMAKE_TARFILE}" -C "${TERMUX_PKG_TMPDIR}"
91+
mv "${TERMUX_PKG_TMPDIR}/cmake-${TERMUX_CMAKE_VERSION}-linux-x86_64" \
92+
"${TERMUX_CMAKE_FOLDER}"
93+
fi
94+
95+
export CMAKE_INSTALL_ALWAYS=1
96+
97+
export PATH="${TERMUX_CMAKE_FOLDER}/bin:${PATH}"
98+
}
99+
65100
termux_step_host_build() {
66-
termux_setup_cmake
101+
# LDC for Android is stuck at version 1.30.0, which is hardcoded to require CMake 3
102+
_setup_cmake_3
67103
termux_setup_ninja
68104

69105
# Build native llvm-tblgen, a prerequisite for cross-compiling LLVM
@@ -79,10 +115,15 @@ termux_step_host_build() {
79115

80116
# Just before CMake invokation for LLVM:
81117
termux_step_pre_configure() {
118+
# LDC for Android is stuck at version 1.30.0, which is hardcoded to require CMake 3
119+
_setup_cmake_3
120+
termux_setup_ninja
82121
export PATH="$TERMUX_PREFIX/opt/binutils/cross/$TERMUX_HOST_PLATFORM/bin:$PATH"
83122

84123
LLVM_INSTALL_DIR=$TERMUX_PKG_BUILDDIR/llvm-install
85124
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DCMAKE_INSTALL_PREFIX=$LLVM_INSTALL_DIR"
125+
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DCMAKE_INSTALL_INCLUDEDIR=$LLVM_INSTALL_DIR/include"
126+
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DCMAKE_INSTALL_LIBDIR=$LLVM_INSTALL_DIR/lib"
86127

87128
if [ "$TERMUX_ARCH" == "arm" ]; then
88129
# [...]/ldc/src/llvm/projects/compiler-rt/lib/builtins/clear_cache.c:85:20:
@@ -125,6 +166,11 @@ termux_step_pre_configure() {
125166
mkdir "$TERMUX_PKG_BUILDDIR"
126167
}
127168

169+
termux_step_configure() {
170+
# skip termux_setup_cmake which would install cmake 4 into $PATH
171+
termux_step_configure_cmake
172+
}
173+
128174
# CMake for LLVM has been run:
129175
termux_step_post_configure() {
130176
# Cross-compile & install LLVM

packages/ldc/no-enum-constexpr-conversion.patch

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
 (0)