fukiame a753e0e862
buildjre8: improvements (#19)
* .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>
2024-01-16 19:33:23 +03:00
2020-11-23 05:34:45 +07:00
2021-05-24 16:04:36 +07:00
2024-01-16 19:33:23 +03:00
2024-01-16 19:33:23 +03:00
2024-01-16 19:33:23 +03:00
2020-07-20 18:13:39 +07:00
2020-06-29 15:49:04 -07:00
2018-03-10 00:24:36 -05:00
Fix
2020-10-19 12:57:01 +07:00
2021-06-30 13:48:14 +07:00
2020-11-01 06:44:51 +07:00
2021-08-01 07:58:45 +07:00
2024-01-16 19:33:23 +03:00
2024-01-16 19:33:23 +03:00
2024-01-16 19:33:23 +03:00

mobile-openjdk8-build-multiarch

Based on http://openjdk.java.net/projects/mobile/android.html

Building

Setup

Android

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
Build and packaging script for building OpenJDK, used for Amethyst
Readme 3.1 MiB
Languages
C 94%
Shell 6%