hc
2023-11-20 2e7bd41e4e8ab3d1efdabd9e263a2f7fe79bff8c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
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_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_OPENJDK_VERSION_LATEST
   help
     Select the version of OpenJDK you wish to use.
 
config BR2_OPENJDK_VERSION_LTS
   bool "LTS (OpenJDK 11)"
 
config BR2_OPENJDK_VERSION_LATEST
   bool "latest (OpenJDK 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++"
   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
 
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