[Buildroot] [PATCH v2 1/1] package/openjdk: only support a single variant at a time

aduskett at gmail.com aduskett at gmail.com
Wed Apr 17 14:33:25 UTC 2019


From: Adam Duskett <Aduskett at gmail.com>

The Zero variant won't build with the server or client also selected at the same
time, and expressing this in the Config.in would be too complicated to do.
Even so, selecting multiple variants doesn't seem to be that important in the
context of Buildroot.

This patch removes the ability to select multiple variants in favor
of just selecting one. The default is server as that is what all of the major
distributions currently use as the default as well.

Fixes:
http://autobuild.buildroot.net/results/a45cfa9b3602fd05f6adbf070a1bad6510975c36

Signed-off-by: Adam Duskett <Aduskett at gmail.com>
---
V1 -> V2:
 - More explination about the Config.in logic and combining Zero with server
   and client. (Thomas)

 package/openjdk/Config.in  | 16 +++++++++-------
 package/openjdk/openjdk.mk |  9 ++++-----
 2 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/package/openjdk/Config.in b/package/openjdk/Config.in
index de0efcc86b..61294ec49f 100644
--- a/package/openjdk/Config.in
+++ b/package/openjdk/Config.in
@@ -41,10 +41,6 @@ config BR2_PACKAGE_OPENJDK
 	select BR2_PACKAGE_XLIB_LIBXT
 	select BR2_PACKAGE_XLIB_LIBXTST
 	select BR2_PACKAGE_ZLIB
-	# make sure at least one variant is enabled
-	select BR2_PACKAGE_OPENJDK_JVM_VARIANT_SERVER \
-	       if !BR2_PACKAGE_OPENJDK_JVM_VARIANT_CLIENT && !BR2_PACKAGE_OPENJDK_JVM_VARIANT_ZERO && !BR2_powerpc
-	select BR2_PACKAGE_OPENJDK_JVM_VARIANT_ZERO if BR2_powerpc
 	help
 	  OpenJDK is a free and open-source implementation of the
 	  Java Platform.
@@ -53,20 +49,25 @@ config BR2_PACKAGE_OPENJDK
 
 if BR2_PACKAGE_OPENJDK
 
+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 "build client variant"
+	bool "client"
 	depends on !BR2_powerpc
 	help
 	  Quick loading, but slower run-time performance.
 
 config BR2_PACKAGE_OPENJDK_JVM_VARIANT_SERVER
-	bool "build server variant"
+	bool "server"
 	depends on !BR2_powerpc
 	help
 	  Slower loading, but faster run-time performance.
 
 config BR2_PACKAGE_OPENJDK_JVM_VARIANT_ZERO
-	bool "build zero variant"
+	bool "zero"
 	select BR2_PACKAGE_LIBFFI
 	help
 	  A non-assembler variant with wide arch support, however
@@ -74,6 +75,7 @@ config BR2_PACKAGE_OPENJDK_JVM_VARIANT_ZERO
 
 	  http://openjdk.java.net/projects/zero
 
+endchoice
 endif
 
 comment "openjdk needs X.Org"
diff --git a/package/openjdk/openjdk.mk b/package/openjdk/openjdk.mk
index 3f7b87ca96..b59e26778f 100644
--- a/package/openjdk/openjdk.mk
+++ b/package/openjdk/openjdk.mk
@@ -34,16 +34,15 @@ OPENJDK_DEPENDENCIES = \
 
 # JVM variants
 ifeq ($(BR2_PACKAGE_OPENJDK_JVM_VARIANT_CLIENT),y)
-OPENJDK_JVM_VARIANTS += client
+OPENJDK_JVM_VARIANT = client
 endif
 ifeq ($(BR2_PACKAGE_OPENJDK_JVM_VARIANT_SERVER),y)
-OPENJDK_JVM_VARIANTS += server
+OPENJDK_JVM_VARIANT = server
 endif
 ifeq ($(BR2_PACKAGE_OPENJDK_JVM_VARIANT_ZERO),y)
-OPENJDK_JVM_VARIANTS += zero
+OPENJDK_JVM_VARIANT = zero
 OPENJDK_DEPENDENCIES += libffi
 endif
-OPENJDK_JVM_VARIANT_LIST = $(subst $(space),$(comma),$(OPENJDK_JVM_VARIANTS))
 
 # OpenJDK ignores some variables unless passed via the environment.
 # These variables are PATH, LD, CC, CXX, and CPP.
@@ -75,7 +74,7 @@ OPENJDK_CONF_OPTS = \
 	--with-extra-cxxflags="$(TARGET_CXXFLAGS)" \
 	--with-giflib=system \
 	--with-jobs=$(PARALLEL_JOBS) \
-	--with-jvm-variants=$(OPENJDK_JVM_VARIANT_LIST) \
+	--with-jvm-variants=$(OPENJDK_JVM_VARIANT) \
 	--with-lcms=system \
 	--with-libjpeg=system \
 	--with-libpng=system \
-- 
2.20.1



More information about the buildroot mailing list