kumquat-buildroot/package/openjdk-bin/openjdk-bin.mk
Adam Duskett 555aff43a5 package/{openjdk, openjdk-bin}: add support for building either lts or latest
As Java is used quite a bit in the enterprise world, having the option to
build the LTS version of OpenJDK is quite convenient and also a requirement
for many companies wanting to use Java.

As such, there are three options:
  1) Continue only to support the latest version of OpenJDK.
  2) Downgrade our existing OpenJDK package from 14 to 11.
  3) Add an option to support either OpenJDK 11 or 14.

OpenJDK 11 and 14 currently have:
  - The same configure options.
  - The same license files and hashes for those license files.
  - The same dependencies.
  - The same method to build and install.

As such, supporting both 11 and 14 is not only an easy option to add to
Buildroot, but also a nice feature for users who wish to use Java in an
embedded environment with a company that mandates the use of the LTS version.

To make it explicit that this choice really is about LTS vs. latest, and
not about 11 vs. 14, the options are really named with LTS and LATEST,
so that future defconfigs will not have to migrate when the versions
changes (e.g. we update from 14->15, or from 11 to the next LTS).

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
[yann.morin.1998@free.fr:
  - keep latest as the default, for existing defconfigs
  - rename options: drop numbers, use LTS and LATEST
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-04-23 21:54:46 +02:00

37 lines
1.7 KiB
Makefile

################################################################################
#
# host-openjdk-bin
#
################################################################################
ifeq ($(BR2_OPENJDK_VERSION_LATEST),y)
HOST_OPENJDK_BIN_VERSION_MAJOR = 14.0.1
HOST_OPENJDK_BIN_VERSION_MINOR = 7
HOST_OPENJDK_BIN_VERSION = $(HOST_OPENJDK_BIN_VERSION_MAJOR)_$(HOST_OPENJDK_BIN_VERSION_MINOR)
HOST_OPENJDK_BIN_SOURCE = OpenJDK14U-jdk_x64_linux_hotspot_$(HOST_OPENJDK_BIN_VERSION).tar.gz
HOST_OPENJDK_BIN_SITE = https://github.com/AdoptOpenJDK/openjdk14-binaries/releases/download/jdk-$(HOST_OPENJDK_BIN_VERSION_MAJOR)%2B$(HOST_OPENJDK_BIN_VERSION_MINOR)
else
HOST_OPENJDK_BIN_VERSION_MAJOR = 11.0.7
HOST_OPENJDK_BIN_VERSION_MINOR = 10
HOST_OPENJDK_BIN_VERSION = $(HOST_OPENJDK_BIN_VERSION_MAJOR)_$(HOST_OPENJDK_BIN_VERSION_MINOR)
HOST_OPENJDK_BIN_SOURCE = OpenJDK11U-jdk_x64_linux_hotspot_$(HOST_OPENJDK_BIN_VERSION).tar.gz
HOST_OPENJDK_BIN_SITE = https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-$(HOST_OPENJDK_BIN_VERSION_MAJOR)%2B$(HOST_OPENJDK_BIN_VERSION_MINOR)
endif
HOST_OPENJDK_BIN_LICENSE = GPL-2.0+ with exception
HOST_OPENJDK_BIN_LICENSE_FILES = legal/java.prefs/LICENSE legal/java.prefs/ASSEMBLY_EXCEPTION
# unpack200 has an invalid RPATH and relies on libzlib. When
# host-libzlib is installed on the system, the error "ERROR: package
# host-libzlib installs executables without proper RPATH: will occur.
# Because unpack200 is a deprecated tool, removing it to fix this
# issue is safe.
define HOST_OPENJDK_BIN_INSTALL_CMDS
mkdir -p $(HOST_DIR)/bin
cp -dpfr $(@D)/bin/* $(HOST_DIR)/bin/
mkdir -p $(HOST_DIR)/lib
cp -dpfr $(@D)/lib/* $(HOST_DIR)/lib/
$(RM) -f $(HOST_DIR)/bin/unpack200
endef
$(eval $(host-generic-package))