a610bf9967
OpenJDK 17 is a new LTS release, which leaves the Buildroot Config option of "LTS" and "LATEST" as a misnomer because both 11 and 17 are LTS releases. There are two options in this case: 1) Remove "LATEST" and update OpenJDK 11 to 17, and only support 17. 2) Change "LTS" to "11" and "LATEST" to "17" and only support the latest 2 LTS OpenJDK releases. After some discussion with Thomas Petazzoni and Peter Korsgaard, and testing, option 2 is the best course of action for a few reasons: - OpenJDK 11 and 17 have very long support cycles: - OpenJDK 11 has two years of Active and five years of security support left. - OpenJDK 17 has five years of Active and ten years of security support left. - Both OpenJDK versions build with the same parameters. - The maintenance cost of both versions is meager. - Both versions pass tests.package.test_openjdk without issue. Changes: - Change BR2_OPENJDK_VERSION_LATEST -> BR2_OPENJDK_VERSION_17 - Change BR2_OPENJDK_VERSION_LTS -> BR2_OPENJDK_VERSION_11 Signed-off-by: Adam Duskett <aduskett@gmail.com> [Peter: add Config.in.legacy, use BR2_PACKAGE_OPENJDK_ prefix] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
173 lines
5.2 KiB
Plaintext
173 lines
5.2 KiB
Plaintext
config BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
|
|
bool
|
|
default y if BR2_HOSTARCH = "x86_64"
|
|
|
|
# Taken from make/autoconf/platform.m4
|
|
config BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS
|
|
bool
|
|
default y if BR2_aarch64
|
|
default y if BR2_arm
|
|
default y if BR2_i386 || BR2_x86_64
|
|
default y if BR2_m68k
|
|
default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
|
|
default y if BR2_sh
|
|
|
|
config BR2_PACKAGE_OPENJDK
|
|
bool "openjdk"
|
|
depends on BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
|
|
depends on BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS
|
|
depends on !BR2_SOFT_FLOAT
|
|
depends on !BR2_STATIC_LIBS # glibc
|
|
depends on BR2_INSTALL_LIBSTDCPP # cups
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib, cups, libusb
|
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb, C++14 for OpenJDK17
|
|
depends on BR2_TOOLCHAIN_USES_GLIBC
|
|
depends on BR2_USE_MMU # cups
|
|
depends on BR2_PACKAGE_XORG7
|
|
select BR2_PACKAGE_ALSA_LIB
|
|
select BR2_PACKAGE_ALSA_LIB_MIXER
|
|
select BR2_PACKAGE_ALSA_LIB_PCM
|
|
select BR2_PACKAGE_ALSA_LIB_RAWMIDI
|
|
select BR2_PACKAGE_ALSA_LIB_SEQ
|
|
select BR2_PACKAGE_CUPS
|
|
select BR2_PACKAGE_FONTCONFIG
|
|
select BR2_PACKAGE_GIFLIB
|
|
select BR2_PACKAGE_JPEG
|
|
select BR2_PACKAGE_LCMS2
|
|
select BR2_PACKAGE_LIBPNG
|
|
select BR2_PACKAGE_LIBUSB
|
|
select BR2_PACKAGE_XLIB_LIBXRANDR
|
|
select BR2_PACKAGE_XLIB_LIBXRENDER
|
|
select BR2_PACKAGE_XLIB_LIBXT
|
|
select BR2_PACKAGE_XLIB_LIBXTST
|
|
select BR2_PACKAGE_ZLIB
|
|
help
|
|
OpenJDK is a free and open-source implementation of the
|
|
Java Platform.
|
|
|
|
http://openjdk.java.net/
|
|
|
|
if BR2_PACKAGE_OPENJDK
|
|
|
|
choice
|
|
prompt "openjdk version"
|
|
default BR2_PACKAGE_OPENJDK_VERSION_17
|
|
help
|
|
Select the version of OpenJDK you wish to use.
|
|
|
|
config BR2_PACKAGE_OPENJDK_VERSION_11
|
|
bool "OpenJDK 11"
|
|
|
|
config BR2_PACKAGE_OPENJDK_VERSION_17
|
|
bool "OpenJDK 17"
|
|
depends on BR2_HOST_GCC_AT_LEAST_4_9 # C++14
|
|
|
|
comment "OpenJDK 17 needs a host gcc >= 4.9"
|
|
depends on !BR2_HOST_GCC_AT_LEAST_4_9 # C++14
|
|
|
|
endchoice
|
|
|
|
config BR2_PACKAGE_OPENJDK_FULL_JDK
|
|
bool "Build the full JDK"
|
|
help
|
|
Install the full JDK instead of just the run time.
|
|
The full JDK includes several packages used for debugging and
|
|
development. Some useful tools included with the JDK are:
|
|
- javaws
|
|
Command line tool for launching Java Web Start and setting
|
|
various options.
|
|
|
|
- jcmd:
|
|
JVM Diagnostic Commands tool: Sends diagnostic command
|
|
requests to a running Java Virtual Machine.
|
|
|
|
- jinfo
|
|
Configuration Info for Java: Prints configuration
|
|
information for a given process or core file or a remote
|
|
debug server.
|
|
|
|
- jmap
|
|
Memory Map for Java: Prints shared object memory maps or
|
|
heap memory details of a given process or core file or a
|
|
remote debug server.
|
|
|
|
- jsadebugd
|
|
Serviceability Agent Debug Daemon for Java: Attaches to a
|
|
process or core file and acts as a debug server.
|
|
|
|
- jstack
|
|
Stack Trace for Java - Prints a stack trace of threads for
|
|
a given process or core file or remote debug server.
|
|
|
|
- jstat
|
|
JVM Statistics Monitoring Tool: Attaches to an
|
|
instrumented HotSpot Java virtual machine and collects and
|
|
logs performance statistics as specified by the command
|
|
line options.
|
|
|
|
- jstatd
|
|
JVM jstat Daemon - Launches an RMI server application that
|
|
monitors for the creation and termination of instrumented
|
|
HotSpot Java virtual machines and provides an interface to
|
|
allow remote monitoring tools to attach to Java virtual
|
|
machines running on the local system.
|
|
|
|
Note:
|
|
While the JDK also comes with several tools which can be used
|
|
for developing java applications on a target, Buildroot does
|
|
not support development on a target. Building the full JDK is
|
|
supported for debugging purposes only.
|
|
|
|
Selecting this option increases the file system by
|
|
approximately 110M.
|
|
|
|
choice
|
|
prompt "openjdk variant"
|
|
default BR2_PACKAGE_OPENJDK_JVM_VARIANT_SERVER if !BR2_powerpc
|
|
default BR2_PACKAGE_OPENJDK_JVM_VARIANT_ZERO if BR2_powerpc
|
|
|
|
config BR2_PACKAGE_OPENJDK_JVM_VARIANT_CLIENT
|
|
bool "client"
|
|
depends on !BR2_powerpc
|
|
help
|
|
Quick loading, but slower run-time performance.
|
|
|
|
config BR2_PACKAGE_OPENJDK_JVM_VARIANT_SERVER
|
|
bool "server"
|
|
depends on !BR2_powerpc
|
|
help
|
|
Slower loading, but faster run-time performance.
|
|
|
|
config BR2_PACKAGE_OPENJDK_JVM_VARIANT_ZERO
|
|
bool "zero"
|
|
select BR2_PACKAGE_LIBFFI
|
|
help
|
|
A non-assembler variant with wide arch support, however
|
|
performance is less then client/server.
|
|
|
|
http://openjdk.java.net/projects/zero
|
|
|
|
endchoice
|
|
endif
|
|
|
|
comment "openjdk needs X.Org"
|
|
depends on BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS
|
|
depends on BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
|
|
depends on BR2_USE_MMU
|
|
depends on !BR2_PACKAGE_XORG7
|
|
|
|
comment "openjdk needs glibc, and a toolchain w/ wchar, dynamic library, threads, C++, gcc >= 4.9"
|
|
depends on BR2_USE_MMU
|
|
depends on BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS
|
|
depends on BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
|
|
depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \
|
|
!BR2_TOOLCHAIN_HAS_THREADS || \
|
|
!BR2_TOOLCHAIN_USES_GLIBC || \
|
|
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
|
|
|
comment "openjdk does not support soft float configurations"
|
|
depends on BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS
|
|
depends on BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
|
|
depends on BR2_USE_MMU
|
|
depends on BR2_SOFT_FLOAT
|