这是indexloc提供的服务,不要输入任何密码
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion packages/libllvm/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,15 @@ termux_step_post_extract_package () {

tar -xf $TERMUX_PKG_CACHEDIR/$CLANG_SRC_TAR -C tools
mv tools/cfe-${TERMUX_PKG_VERSION}.src tools/clang

local LLD_SRC_TAR=lld-${TERMUX_PKG_VERSION}.src.tar.xz
termux_download \
http://llvm.org/releases/${TERMUX_PKG_VERSION}/$LLD_SRC_TAR \
$TERMUX_PKG_CACHEDIR/$LLD_SRC_TAR \
399a7920a5278d42c46a7bf7e4191820ec2301457a7d0d4fcc9a4ac05dd53897

tar -xf $TERMUX_PKG_CACHEDIR/$LLD_SRC_TAR -C tools
mv tools/lld-${TERMUX_PKG_VERSION}.src tools/lld
}

termux_step_host_build () {
Expand Down Expand Up @@ -86,7 +95,7 @@ termux_step_pre_configure () {
fi
# see CMakeLists.txt and tools/clang/CMakeLists.txt
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DLLVM_DEFAULT_TARGET_TRIPLE=$LLVM_DEFAULT_TARGET_TRIPLE"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DLLVM_TARGET_ARCH=$LLVM_TARGET_ARCH -DLLVM_TARGETS_TO_BUILD=$LLVM_TARGET_ARCH"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DLLVM_TARGET_ARCH=$LLVM_TARGET_ARCH -DLLVM_TARGETS_TO_BUILD=all"
}

termux_step_post_make_install () {
Expand Down
16 changes: 16 additions & 0 deletions packages/libllvm/lld.subpackage.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
TERMUX_SUBPKG_INCLUDE="
include/lld/
lib/liblldConfig.a
lib/liblldCore.a
lib/liblldDriver.a
lib/liblldReaderWriter.a
lib/liblldMachO.a
lib/liblldYAML.a
bin/lld
bin/lld-link
bin/ld.lld
lib/liblldCOFF.a
lib/liblldELF.a
"
TERMUX_SUBPKG_DESCRIPTION="LD replace based on LLVM"
TERMUX_SUBPKG_DEPENDS="libllvm"
34 changes: 34 additions & 0 deletions packages/ndk-multilib/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
TERMUX_PKG_HOMEPAGE=https://developer.android.com/tools/sdk/ndk/index.html
TERMUX_SUBPKG_DESCRIPTION="multilib binaries for cross-compilation"
TERMUX_PKG_VERSION=$TERMUX_NDK_VERSION
TERMUX_PKG_NO_DEVELSPLIT=yes
TERMUX_PKG_KEEP_STATIC_LIBRARIES="true"
TERMUX_PKG_PLATFORM_INDEPENDENT=true

prepare_libs () {
local ARCH="$1"
local SUFFIX="$2"
local NDK_SUFFIX=$SUFFIX

if [ $ARCH = x86 ] || [ $ARCH = x86_64 ]; then
NDK_SUFFIX=$ARCH
fi

mkdir -p $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/$SUFFIX/lib
local BASEDIR=$NDK/platforms/android-${TERMUX_PKG_API_LEVEL}/arch-$ARCH/usr/lib
if [ $ARCH = x86_64 ] || [ $ARCH = mips64 ]; then BASEDIR+="64"; fi
cp $BASEDIR/*.o $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/$SUFFIX/lib

LIBATOMIC=$NDK/toolchains/${NDK_SUFFIX}-*/prebuilt/linux-*/${SUFFIX}/lib
if [ $ARCH = arm64 ]; then LIBATOMIC+="64"; fi
cp $LIBATOMIC/libatomic.a $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/$SUFFIX/lib/libatomic.a
}

termux_step_extract_into_massagedir () {
prepare_libs "arm" "arm-linux-androideabi"
prepare_libs "arm64" "aarch64-linux-android"
prepare_libs "x86" "i686-linux-android"
prepare_libs "x86_64" "x86_64-linux-android"
prepare_libs "mips" "mipsel-linux-android"
prepare_libs "mips64" "mips64el-linux-android"
}