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