Skip to content
This repository was archived by the owner on May 19, 2025. It is now read-only.

Commit f82a61c

Browse files
build(perf): use newer ndk paths
1 parent 7706022 commit f82a61c

File tree

4 files changed

+26
-16
lines changed

4 files changed

+26
-16
lines changed

maketoolchain.sh

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
set -e
33

44
. setdevkitpath.sh
5-
6-
$NDK/build/tools/make_standalone_toolchain.py \
7-
--arch=${TARGET_SHORT} \
8-
--api=21 \
9-
--install-dir=$NDK/generated-toolchains/android-${TARGET_SHORT}-toolchain
10-
cp devkit.info.${TARGET_SHORT} $NDK/generated-toolchains/android-${TARGET_SHORT}-toolchain/
5+
6+
# No need since all toolchains are standalone
7+
# $NDK/build/tools/make_standalone_toolchain.py \
8+
# --arch=${TARGET_SHORT} \
9+
# --api=21 \
10+
# --install-dir=$NDK/generated-toolchains/android-${TARGET_SHORT}-toolchain
11+
12+
cp devkit.info.${TARGET_SHORT} ${TOOLCHAIN}

removejdkdebuginfo.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ rm -rf dizout jreout jdkout dSYM-temp
99
mkdir -p dizout dSYM-temp/{lib,bin}
1010

1111
if [[ "$BUILD_IOS" != "1" ]]; then
12-
cp freetype-$BUILD_FREETYPE_VERSION/build_android-$TARGET_SHORT/lib/libfreetype.so $imagespath/jdk/lib/
12+
cp freetype-$BUILD_FREETYPE_VERSION/build_android-$TARGET_SHORT/lib/libfreetype.so $imagespath/jdk/lib/
1313
fi
1414

1515
cp -r $imagespath/jdk jdkout
@@ -32,11 +32,11 @@ jlink \
3232
--module-path=jdkout/jmods \
3333
--add-modules java.base,java.compiler,java.datatransfer,java.desktop,java.instrument,java.logging,java.management,java.management.rmi,java.naming,java.net.http,java.prefs,java.rmi,java.scripting,java.se,java.security.jgss,java.security.sasl,java.sql,java.sql.rowset,java.transaction.xa,java.xml,java.xml.crypto,jdk.accessibility,jdk.charsets,jdk.crypto.cryptoki,jdk.crypto.ec,jdk.dynalink,jdk.httpserver,jdk.jdwp.agent,jdk.jfr,jdk.jsobject,jdk.localedata,jdk.management,jdk.management.agent,jdk.management.jfr,jdk.naming.dns,jdk.naming.rmi,jdk.net,jdk.nio.mapmode,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.xml.dom,jdk.zipfs$EXTRA_JLINK_OPTION \
3434
--output jreout \
35-
--strip-debug \
35+
--strip-native-debug-symbols=exclude-debuginfo-files:objcopy=${OBJCOPY} \
3636
--no-man-pages \
3737
--no-header-files \
3838
--release-info=jdkout/release \
39-
--compress=0
39+
--compress=0
4040

4141
if [[ "$BUILD_IOS" != "1" ]]; then
4242
cp freetype-$BUILD_FREETYPE_VERSION/build_android-$TARGET_SHORT/lib/libfreetype.so jreout/lib/

setdevkitpath.sh

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,16 +48,23 @@ export JVM_PLATFORM=linux
4848
export API=21
4949
export NDK=$PWD/android-ndk-$NDK_VERSION
5050
export ANDROID_NDK_ROOT=$NDK
51-
export TOOLCHAIN=$NDK/generated-toolchains/android-${TARGET_SHORT}-toolchain
52-
# export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
51+
#export TOOLCHAIN=$NDK/generated-toolchains/android-${TARGET_SHORT}-toolchain
52+
export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
5353

5454
export ANDROID_INCLUDE=$TOOLCHAIN/sysroot/usr/include
5555

56+
57+
# If I'm right it should only need the dummy libs
5658
export CPPFLAGS="-I$ANDROID_INCLUDE -I$ANDROID_INCLUDE/$TARGET" # -I/usr/include -I/usr/lib
57-
export LDFLAGS="-L$NDK/platforms/android-$API/arch-$TARGET_SHORT/usr/lib"
59+
#export LDFLAGS="-L$NDK/platforms/android-$API/arch-$TARGET_SHORT/usr/lib"
60+
export CPPFLAGS=""
61+
export LDFLAGS=""
5862

59-
export thecc=$TOOLCHAIN/bin/$TARGET-gcc
60-
export thecxx=$TOOLCHAIN/bin/$TARGET-g++
63+
# Underlying compiler called by the wrappers
64+
# export thecc=$TOOLCHAIN/bin/$TARGET-gcc
65+
# export thecxx=$TOOLCHAIN/bin/$TARGET-g++
66+
export thecc=$TOOLCHAIN/bin/${NDK_PREBUILT_ARCH}-linux-android${API}-clang
67+
export thecxx=$TOOLCHAIN/bin/${NDK_PREBUILT_ARCH}-linux-android${API}-clang++
6168

6269
# Configure and build.
6370
export AR=$TOOLCHAIN/bin/llvm-ar

tarjdk.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@ if [[ "$BUILD_IOS" != "1" ]]; then
77
unset AR AS CC CXX LD OBJCOPY RANLIB STRIP CPPFLAGS LDFLAGS
88
git clone https://github.com/termux/termux-elf-cleaner || true
99
cd termux-elf-cleaner
10+
git checkout eab198c72a020e883b79f99b70a5aa0243dbf0a8
1011
autoreconf --install
1112
bash configure
12-
make CFLAGS=-D__ANDROID_API__=24
13+
make CFLAGS=-D__ANDROID_API__=${API}
1314
cd ..
1415

1516
findexec() { find $1 -type f -name "*" -not -name "*.o" -exec sh -c '
@@ -32,7 +33,7 @@ cp -rv jre_override/lib/* jreout/lib/ || true
3233
cd jreout
3334

3435
# Strip in place all .so files thanks to the ndk
35-
find ./ -name '*.so' -execdir $NDK/toolchains/llvm/prebuilt/linux-x86_64/${NDK_PREBUILT_ARCH}-linux-android/bin/strip {} \;
36+
find ./ -name '*.so' -execdir ${TOOLCHAIN}/bin/llvm-strip {} \;
3637

3738
tar cJf ../jre17-${TARGET_SHORT}-`date +%Y%m%d`-${JDK_DEBUG_LEVEL}.tar.xz .
3839

0 commit comments

Comments
 (0)