mirror of
https://github.com/AngelAuraMC/angelauramc-openjdk-build.git
synced 2025-08-03 15:46:08 -04:00

* .github: move apt commands to workflow
the scripts are capable of running on other distros, so "let the host cook"
also explicitly use Python 3 here as the build env do not use Python 2
* treewide: use bash [[
./buildlibs.sh: line 18: [: : integer expression expected
...
./buildjdk.sh: line 53: [: : integer expression expected
...
all scripts has bash shebang anyways,
replace all single brackets [ with bash's double brackets [[
* [hack] tarjdk: force termux-elf-cleaner v2.2.0
g++: error: unrecognized command line option ‘-std=c++20’; did you mean ‘-std=c++2a’?
caused by a mix of our outdated toolchains and an upstream commit [1]
downgrade the version of termux-elf-cleaner we use to the latest stable tag to workaround the issue
[1]: 9578f2c4bc
Test: presubmit
Signed-off-by: fukiame <fukiame@proton.me>
* .github: update actions
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions/setup-java@v1, actions/upload-artifact@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
* .github: actions runner: update to ubuntu-22.04
a bit of future-proofing wont hurt... right?
* fixup! .github: java setup: its 7 not 1.7
i retartded
---------
Signed-off-by: fukiame <fukiame@proton.me>
mobile-openjdk8-build-multiarch
Based on http://openjdk.java.net/projects/mobile/android.html
Building
Setup
Android
- Download Android NDK r10e from https://developer.android.com/ndk/downloads/older_releases.html and place it in this directory (Can't automatically download because of EULA)
- Warning: Do not attempt to build use newer or older NDK, it will lead to compilation errors.
iOS
- You should get latest Xcode (tested with Xcode 12).
Platform and architecture specific environment variables
Environment variables | |||||||
---|---|---|---|---|---|---|---|
Platform - Architecture | TARGET | TARGET_JDK | |||||
Android - armv8/aarch64 | aarch64-linux-android | aarch64 | |||||
Android - armv7/aarch32 | arm-linux-androideabi | arm | |||||
Android - x86/i686 | i686-linux-android | x86 | |||||
Android - x86_64/amd64 | x86_64-linux-android | x86_64 | |||||
iOS/iPadOS - armv8/aarch64 | aarch64-macos-ios | aarch64 |
Run in this directory:
export BUILD_IOS=1 # only when targeting iOS, default is 0 (target Android)
export BUILD_FREETYPE_VERSION=[2.6.2/.../2.10.4] # default: 2.10.4
export JDK_DEBUG_LEVEL=[release/fastdebug/debug] # default: release
export JVM_VARIANTS=[client/server] # default: client (aarch32), server (other architectures)
# Setup NDK, run once (Android only)
./extractndk.sh
./maketoolchain.sh
# Get CUPS, Freetype and build Freetype
./getlibs.sh
./buildlibs.sh
# Clone JDK, run once
./clonejdk.sh
# Configure JDK and build, if no configuration is changed, run makejdkwithoutconfigure.sh instead
./buildjdk.sh
# Pack the built JDK
./removejdkdebuginfo.sh
./tarjdk.sh
Description
Languages
C
94%
Shell
6%