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