xref: /OK3568_Linux_fs/buildroot/package/openjdk/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1config BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
2	bool
3	default y if BR2_HOSTARCH = "x86_64"
4
5# Taken from make/autoconf/platform.m4
6config BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS
7	bool
8	default y if BR2_aarch64
9	default y if BR2_arm
10	default y if BR2_i386 || BR2_x86_64
11	default y if BR2_m68k
12	default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
13	default y if BR2_sh
14
15config BR2_PACKAGE_OPENJDK
16	bool "openjdk"
17	depends on BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
18	depends on BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS
19	depends on !BR2_SOFT_FLOAT
20	depends on !BR2_STATIC_LIBS # glibc
21	depends on BR2_INSTALL_LIBSTDCPP # cups
22	depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib, cups, libusb
23	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libusb, C++14 for OpenJDK17
24	depends on BR2_TOOLCHAIN_USES_GLIBC
25	depends on BR2_USE_MMU # cups
26	depends on BR2_PACKAGE_XORG7
27	select BR2_PACKAGE_ALSA_LIB
28	select BR2_PACKAGE_ALSA_LIB_MIXER
29	select BR2_PACKAGE_ALSA_LIB_PCM
30	select BR2_PACKAGE_ALSA_LIB_RAWMIDI
31	select BR2_PACKAGE_ALSA_LIB_SEQ
32	select BR2_PACKAGE_CUPS
33	select BR2_PACKAGE_FONTCONFIG
34	select BR2_PACKAGE_GIFLIB
35	select BR2_PACKAGE_JPEG
36	select BR2_PACKAGE_LCMS2
37	select BR2_PACKAGE_LIBPNG
38	select BR2_PACKAGE_LIBUSB
39	select BR2_PACKAGE_XLIB_LIBXRANDR
40	select BR2_PACKAGE_XLIB_LIBXRENDER
41	select BR2_PACKAGE_XLIB_LIBXT
42	select BR2_PACKAGE_XLIB_LIBXTST
43	select BR2_PACKAGE_ZLIB
44	help
45	  OpenJDK is a free and open-source implementation of the
46	  Java Platform.
47
48	  http://openjdk.java.net/
49
50if BR2_PACKAGE_OPENJDK
51
52choice
53	prompt "openjdk version"
54	default BR2_PACKAGE_OPENJDK_VERSION_17
55	help
56	  Select the version of OpenJDK you wish to use.
57
58config BR2_PACKAGE_OPENJDK_VERSION_11
59	bool "OpenJDK 11"
60
61config BR2_PACKAGE_OPENJDK_VERSION_17
62	bool "OpenJDK 17"
63	depends on BR2_HOST_GCC_AT_LEAST_4_9 # C++14
64
65comment "OpenJDK 17 needs a host gcc >= 4.9"
66	depends on !BR2_HOST_GCC_AT_LEAST_4_9 # C++14
67
68endchoice
69
70config BR2_PACKAGE_OPENJDK_FULL_JDK
71	bool "Build the full JDK"
72	help
73	  Install the full JDK instead of just the run time.
74	  The full JDK includes several packages used for debugging and
75	  development. Some useful tools included with the JDK are:
76	    - javaws
77	      Command line tool for launching Java Web Start and setting
78	      various options.
79
80	    - jcmd:
81	      JVM Diagnostic Commands tool: Sends diagnostic command
82	      requests to a running Java Virtual Machine.
83
84	    - jinfo
85	      Configuration Info for Java: Prints configuration
86	      information for a given process or core file or a remote
87	      debug server.
88
89	    - jmap
90	      Memory Map for Java: Prints shared object memory maps or
91	      heap memory details of a given process or core file or a
92	      remote debug server.
93
94	    - jsadebugd
95	      Serviceability Agent Debug Daemon for Java: Attaches to a
96	      process or core file and acts as a debug server.
97
98	    - jstack
99	      Stack Trace for Java - Prints a stack trace of threads for
100	      a given process or core file or remote debug server.
101
102	    - jstat
103	      JVM Statistics Monitoring Tool: Attaches to an
104	      instrumented HotSpot Java virtual machine and collects and
105	      logs performance statistics as specified by the command
106	      line options.
107
108	    - jstatd
109	      JVM jstat Daemon - Launches an RMI server application that
110	      monitors for the creation and termination of instrumented
111	      HotSpot Java virtual machines and provides an interface to
112	      allow remote monitoring tools to attach to Java virtual
113	      machines running on the local system.
114
115	  Note:
116	  While the JDK also comes with several tools which can be used
117	  for developing java applications on a target, Buildroot does
118	  not support development on a target. Building the full JDK is
119	  supported for debugging purposes only.
120
121	  Selecting this option increases the file system by
122	  approximately 110M.
123
124choice
125	prompt "openjdk variant"
126	default BR2_PACKAGE_OPENJDK_JVM_VARIANT_SERVER if !BR2_powerpc
127	default BR2_PACKAGE_OPENJDK_JVM_VARIANT_ZERO if BR2_powerpc
128
129config BR2_PACKAGE_OPENJDK_JVM_VARIANT_CLIENT
130	bool "client"
131	depends on !BR2_powerpc
132	help
133	  Quick loading, but slower run-time performance.
134
135config BR2_PACKAGE_OPENJDK_JVM_VARIANT_SERVER
136	bool "server"
137	depends on !BR2_powerpc
138	help
139	  Slower loading, but faster run-time performance.
140
141config BR2_PACKAGE_OPENJDK_JVM_VARIANT_ZERO
142	bool "zero"
143	select BR2_PACKAGE_LIBFFI
144	help
145	  A non-assembler variant with wide arch support, however
146	  performance is less then client/server.
147
148	  http://openjdk.java.net/projects/zero
149
150endchoice
151endif
152
153comment "openjdk needs X.Org"
154	depends on BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS
155	depends on BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
156	depends on BR2_USE_MMU
157	depends on !BR2_PACKAGE_XORG7
158
159comment "openjdk needs glibc, and a toolchain w/ wchar, dynamic library, threads, C++, gcc >= 4.9"
160	depends on BR2_USE_MMU
161	depends on BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS
162	depends on BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
163	depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \
164		!BR2_TOOLCHAIN_HAS_THREADS || \
165		!BR2_TOOLCHAIN_USES_GLIBC || \
166		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
167
168comment "openjdk does not support soft float configurations"
169	depends on BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS
170	depends on BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
171	depends on BR2_USE_MMU
172	depends on BR2_SOFT_FLOAT
173