mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 18:37:34 +00:00
Ports: Add OpenJDK port
Port of OpenJDK 17.0.2, zero VM only. More work needed to get the full hotspot VM up and running :^) Co-Authored-By: Andrew Kaster <akaster@serenityos.org>
This commit is contained in:
parent
6eb9ebec5f
commit
1f886f94bd
11 changed files with 4308 additions and 0 deletions
57
Ports/OpenJDK/package.sh
Executable file
57
Ports/OpenJDK/package.sh
Executable file
|
@ -0,0 +1,57 @@
|
|||
#!/usr/bin/env -S USE_CCACHE=false bash ../.port_include.sh
|
||||
|
||||
port='OpenJDK'
|
||||
version='17.0.2'
|
||||
workdir="jdk17u-dev-jdk-${version}-ga"
|
||||
useconfigure='true'
|
||||
use_fresh_config_guess='true'
|
||||
config_guess_paths=("make/autoconf/build-aux/autoconf-config.guess")
|
||||
use_fresh_config_sub='true'
|
||||
config_sub_paths=("make/autoconf/build-aux/autoconf-config.sub")
|
||||
auth_type='sha256'
|
||||
files="https://github.com/openjdk/jdk17u-dev/archive/refs/tags/jdk-${version}-ga.tar.gz jdk-${version}-ga.tar.gz cb5b2a5d0916723d340f2c5bacd4607f8b8dc3a18dc8019fcfabf5306e2a4112"
|
||||
depends=("fontconfig" "libffi")
|
||||
|
||||
configure() {
|
||||
TOOLCHAIN_ARGS=()
|
||||
WARNING_IGNORE_FLAGS='-Wno-error=switch -Wno-maybe-uninitialized'
|
||||
if [ $SERENITY_TOOLCHAIN = 'Clang' ]; then
|
||||
# We need the build CC and CXX to actually be clang when using clang to cross-compile
|
||||
# ... for some reason.
|
||||
TOOLCHAIN_ARGS=("--with-toolchain-type=clang"
|
||||
"BUILD_CC=clang"
|
||||
"BUILD_CXX=clang++")
|
||||
WARNING_IGNORE_FLAGS="${WARNING_IGNORE_FLAGS} -Wno-error=bitwise-instead-of-logical"
|
||||
fi
|
||||
|
||||
# Note: To use ccache with OpenJDK, pass --enable-ccache
|
||||
# It rejects the ccache symlinks.
|
||||
|
||||
run bash configure \
|
||||
AR=${AR} \
|
||||
READELF=${READELF} \
|
||||
STRIP=${STRIP} \
|
||||
CXXFILT=${CXXFILT} \
|
||||
BUILD_AR=${HOST_AR} \
|
||||
BUILD_OBJCOPY=${HOST_OBJCOPY} \
|
||||
BUILD_STRIP=${HOST_STRIP} \
|
||||
--openjdk-target=${SERENITY_ARCH}-pc-serenity \
|
||||
--with-sysroot=${SERENITY_INSTALL_ROOT} \
|
||||
--with-jvm-variants=zero \
|
||||
--enable-headless-only \
|
||||
--with-debug-level=fastdebug \
|
||||
--with-native-debug-symbols=internal \
|
||||
--with-tools-dir=${SERENITY_TOOLCHAIN_BINDIR} \
|
||||
--with-extra-cflags="${WARNING_IGNORE_FLAGS}" \
|
||||
--with-extra-cxxflags="${WARNING_IGNORE_FLAGS}" \
|
||||
"${TOOLCHAIN_ARGS[@]}"
|
||||
}
|
||||
|
||||
build() {
|
||||
run make java.base jdk.compiler java.logging
|
||||
}
|
||||
|
||||
install() {
|
||||
run mkdir -p ${SERENITY_INSTALL_ROOT}/usr/local/lib/jvm/
|
||||
run sh -c "cp ./build/serenity-* ${SERENITY_INSTALL_ROOT}/usr/local/lib/jvm/ -rf"
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue