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