kumquat-buildroot/package/openjdk/Config.in

173 lines
5.2 KiB
Plaintext
Raw Normal View History

package/openjdk: new package OpenJDK is a free and open-source implementation of the Java Platform. This package provides the option to build a client or a server JVM interpreter. The default option is the server option, as that is what the majority of users use. This JVM interpreter loads more slowly, putting more effort into JIT compilations to yield higher performance. Unlike most autotools packages, OpenJDK is exceptionally different and has many quirks, some of which are below: - X11, alsa, and cups are required to build Java, even if it's a headless build. See http://hg.openjdk.java.net/jdk10/jdk10/raw-file/tip/common/doc/building.html#external-library-requirements for more information. - host-zip is needed for the zip executable. - There is no autogen.sh file, instead, a user must call "./configure autogen." - OpenJDK ignores some variables unless passed via the environment. These variables are: PATH, LD, CC, CXX, and CPP. - OpenJDK defaults ld to the ld binary but passes -Xlinker and -z as arguments during the linking process, which causes linking failures. To fix this issue, ld is set to gcc. - Make -jn is unsupported. Instead, one must use the "--with-jobs=" configure option, and use $(MAKE1). Signed-off-by: Adam Duskett <Aduskett@gmail.com> [Thomas: - drop explanations about CC, LD, CXX, etc. be set to their "actual binaries" instead of ccache: TARGET_CC/TARGET_LD/TARGET_CXX point to the compiler wrapper, so the usage of ccache is hidden - make sure at least one of the variants is enabled in Config.in - drop the submenu for variant selection - use system zlib instead of the bundled one. This works fine when BUILD_SYSROOT_CFLAGS and BUILD_SYSROOT_LDFLAGS are passed - fix minor nits in the Config.in comments] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-15 21:52:31 +01:00
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
package/openjdk: new package OpenJDK is a free and open-source implementation of the Java Platform. This package provides the option to build a client or a server JVM interpreter. The default option is the server option, as that is what the majority of users use. This JVM interpreter loads more slowly, putting more effort into JIT compilations to yield higher performance. Unlike most autotools packages, OpenJDK is exceptionally different and has many quirks, some of which are below: - X11, alsa, and cups are required to build Java, even if it's a headless build. See http://hg.openjdk.java.net/jdk10/jdk10/raw-file/tip/common/doc/building.html#external-library-requirements for more information. - host-zip is needed for the zip executable. - There is no autogen.sh file, instead, a user must call "./configure autogen." - OpenJDK ignores some variables unless passed via the environment. These variables are: PATH, LD, CC, CXX, and CPP. - OpenJDK defaults ld to the ld binary but passes -Xlinker and -z as arguments during the linking process, which causes linking failures. To fix this issue, ld is set to gcc. - Make -jn is unsupported. Instead, one must use the "--with-jobs=" configure option, and use $(MAKE1). Signed-off-by: Adam Duskett <Aduskett@gmail.com> [Thomas: - drop explanations about CC, LD, CXX, etc. be set to their "actual binaries" instead of ccache: TARGET_CC/TARGET_LD/TARGET_CXX point to the compiler wrapper, so the usage of ccache is hidden - make sure at least one of the variants is enabled in Config.in - drop the submenu for variant selection - use system zlib instead of the bundled one. This works fine when BUILD_SYSROOT_CFLAGS and BUILD_SYSROOT_LDFLAGS are passed - fix minor nits in the Config.in comments] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-15 21:52:31 +01:00
config BR2_PACKAGE_OPENJDK
bool "openjdk"
depends on BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
depends on BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS
package/openjdk: new package OpenJDK is a free and open-source implementation of the Java Platform. This package provides the option to build a client or a server JVM interpreter. The default option is the server option, as that is what the majority of users use. This JVM interpreter loads more slowly, putting more effort into JIT compilations to yield higher performance. Unlike most autotools packages, OpenJDK is exceptionally different and has many quirks, some of which are below: - X11, alsa, and cups are required to build Java, even if it's a headless build. See http://hg.openjdk.java.net/jdk10/jdk10/raw-file/tip/common/doc/building.html#external-library-requirements for more information. - host-zip is needed for the zip executable. - There is no autogen.sh file, instead, a user must call "./configure autogen." - OpenJDK ignores some variables unless passed via the environment. These variables are: PATH, LD, CC, CXX, and CPP. - OpenJDK defaults ld to the ld binary but passes -Xlinker and -z as arguments during the linking process, which causes linking failures. To fix this issue, ld is set to gcc. - Make -jn is unsupported. Instead, one must use the "--with-jobs=" configure option, and use $(MAKE1). Signed-off-by: Adam Duskett <Aduskett@gmail.com> [Thomas: - drop explanations about CC, LD, CXX, etc. be set to their "actual binaries" instead of ccache: TARGET_CC/TARGET_LD/TARGET_CXX point to the compiler wrapper, so the usage of ccache is hidden - make sure at least one of the variants is enabled in Config.in - drop the submenu for variant selection - use system zlib instead of the bundled one. This works fine when BUILD_SYSROOT_CFLAGS and BUILD_SYSROOT_LDFLAGS are passed - fix minor nits in the Config.in comments] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-15 21:52:31 +01:00
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_GCC_AT_LEAST_4_9 # libusb, C++14 for OpenJDK16
package/openjdk: new package OpenJDK is a free and open-source implementation of the Java Platform. This package provides the option to build a client or a server JVM interpreter. The default option is the server option, as that is what the majority of users use. This JVM interpreter loads more slowly, putting more effort into JIT compilations to yield higher performance. Unlike most autotools packages, OpenJDK is exceptionally different and has many quirks, some of which are below: - X11, alsa, and cups are required to build Java, even if it's a headless build. See http://hg.openjdk.java.net/jdk10/jdk10/raw-file/tip/common/doc/building.html#external-library-requirements for more information. - host-zip is needed for the zip executable. - There is no autogen.sh file, instead, a user must call "./configure autogen." - OpenJDK ignores some variables unless passed via the environment. These variables are: PATH, LD, CC, CXX, and CPP. - OpenJDK defaults ld to the ld binary but passes -Xlinker and -z as arguments during the linking process, which causes linking failures. To fix this issue, ld is set to gcc. - Make -jn is unsupported. Instead, one must use the "--with-jobs=" configure option, and use $(MAKE1). Signed-off-by: Adam Duskett <Aduskett@gmail.com> [Thomas: - drop explanations about CC, LD, CXX, etc. be set to their "actual binaries" instead of ccache: TARGET_CC/TARGET_LD/TARGET_CXX point to the compiler wrapper, so the usage of ccache is hidden - make sure at least one of the variants is enabled in Config.in - drop the submenu for variant selection - use system zlib instead of the bundled one. This works fine when BUILD_SYSROOT_CFLAGS and BUILD_SYSROOT_LDFLAGS are passed - fix minor nits in the Config.in comments] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-15 21:52:31 +01:00
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
package/openjdk: new package OpenJDK is a free and open-source implementation of the Java Platform. This package provides the option to build a client or a server JVM interpreter. The default option is the server option, as that is what the majority of users use. This JVM interpreter loads more slowly, putting more effort into JIT compilations to yield higher performance. Unlike most autotools packages, OpenJDK is exceptionally different and has many quirks, some of which are below: - X11, alsa, and cups are required to build Java, even if it's a headless build. See http://hg.openjdk.java.net/jdk10/jdk10/raw-file/tip/common/doc/building.html#external-library-requirements for more information. - host-zip is needed for the zip executable. - There is no autogen.sh file, instead, a user must call "./configure autogen." - OpenJDK ignores some variables unless passed via the environment. These variables are: PATH, LD, CC, CXX, and CPP. - OpenJDK defaults ld to the ld binary but passes -Xlinker and -z as arguments during the linking process, which causes linking failures. To fix this issue, ld is set to gcc. - Make -jn is unsupported. Instead, one must use the "--with-jobs=" configure option, and use $(MAKE1). Signed-off-by: Adam Duskett <Aduskett@gmail.com> [Thomas: - drop explanations about CC, LD, CXX, etc. be set to their "actual binaries" instead of ccache: TARGET_CC/TARGET_LD/TARGET_CXX point to the compiler wrapper, so the usage of ccache is hidden - make sure at least one of the variants is enabled in Config.in - drop the submenu for variant selection - use system zlib instead of the bundled one. This works fine when BUILD_SYSROOT_CFLAGS and BUILD_SYSROOT_LDFLAGS are passed - fix minor nits in the Config.in comments] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-15 21:52:31 +01:00
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
package/openjdk: new package OpenJDK is a free and open-source implementation of the Java Platform. This package provides the option to build a client or a server JVM interpreter. The default option is the server option, as that is what the majority of users use. This JVM interpreter loads more slowly, putting more effort into JIT compilations to yield higher performance. Unlike most autotools packages, OpenJDK is exceptionally different and has many quirks, some of which are below: - X11, alsa, and cups are required to build Java, even if it's a headless build. See http://hg.openjdk.java.net/jdk10/jdk10/raw-file/tip/common/doc/building.html#external-library-requirements for more information. - host-zip is needed for the zip executable. - There is no autogen.sh file, instead, a user must call "./configure autogen." - OpenJDK ignores some variables unless passed via the environment. These variables are: PATH, LD, CC, CXX, and CPP. - OpenJDK defaults ld to the ld binary but passes -Xlinker and -z as arguments during the linking process, which causes linking failures. To fix this issue, ld is set to gcc. - Make -jn is unsupported. Instead, one must use the "--with-jobs=" configure option, and use $(MAKE1). Signed-off-by: Adam Duskett <Aduskett@gmail.com> [Thomas: - drop explanations about CC, LD, CXX, etc. be set to their "actual binaries" instead of ccache: TARGET_CC/TARGET_LD/TARGET_CXX point to the compiler wrapper, so the usage of ccache is hidden - make sure at least one of the variants is enabled in Config.in - drop the submenu for variant selection - use system zlib instead of the bundled one. This works fine when BUILD_SYSROOT_CFLAGS and BUILD_SYSROOT_LDFLAGS are passed - fix minor nits in the Config.in comments] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-15 21:52:31 +01:00
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
package/openjdk{, -bin}: bump latest to version 16.0.1+9 When introducing OpenJDK to buildroot, the OpenJDK project did not put releases on their GitHub page. Since then, the OpenJDK developers have not only added OpenJDK releases to Github, they are starting to phase out adding releases to their public-facing mercurial repository. Compare the following URLs: https://wiki.openjdk.java.net/display/JDKUpdates/JDK+14u https://wiki.openjdk.java.net/display/JDKUpdates/JDK+15u https://wiki.openjdk.java.net/display/JDKUpdates/JDK+16u With JDK14, only the mercurial repository is listed. With OpenJDK15, both the GitHub and mercurial repository are listed. Finally, with OpenJDK16, only the GitHub repository is listed. For consistency's sake, and for the version bump of JDK latest from 14 to 16 do the following: - Change the repository for OpenJDK14 to point to the official GitHub repository, - In order to simplify and reuse the GitHub URL, modify the OPENJDK_VERSION_MAJOR and OPENJDK_VERSION_MINOR definitions to only include a single number for the MAJOR definition. - Change openjdk-bin.mk to also use the same format as the openjdk.mk file Unfortunately, we can't yet do the switch for OpenJDK11: the Github repository is missing a Mercurial-related file, so that the archive for OpenJDK11 11.0.11+9 would change from the one we already have on s.b.o and that people would alreay have locally, and we'd have a hash mismatch, either on master, or on all pur previous relases. OpenJDK11 just got a new release mere hours ago (as of this writing), but it hasn't yet trickled down to AdoptOpenJDK/openjdk11-binaries, so we can't do the bump just yet... Add a note to the OpenJDK11 case, to prepare the migration to Github with the next version bump. Finally, remove upstreamed patch 0001-fix-gcc-10-support.patch as it's no longer needed. Signed-off-by: Adam Duskett <aduskett@gmail.com> [yann.morin.1998@free.fr: - meld the github switch and 14->16 bump together - drop the github switch for 11 9because hash mismatch) - expand commit log accordingly ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-05-04 23:00:25 +02:00
bool "latest (OpenJDK 16)"
depends on BR2_HOST_GCC_AT_LEAST_4_9 # C++14
comment "OpenJDK 16 needs a host gcc >= 4.9"
depends on !BR2_HOST_GCC_AT_LEAST_4_9 # C++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
package/openjdk: new package OpenJDK is a free and open-source implementation of the Java Platform. This package provides the option to build a client or a server JVM interpreter. The default option is the server option, as that is what the majority of users use. This JVM interpreter loads more slowly, putting more effort into JIT compilations to yield higher performance. Unlike most autotools packages, OpenJDK is exceptionally different and has many quirks, some of which are below: - X11, alsa, and cups are required to build Java, even if it's a headless build. See http://hg.openjdk.java.net/jdk10/jdk10/raw-file/tip/common/doc/building.html#external-library-requirements for more information. - host-zip is needed for the zip executable. - There is no autogen.sh file, instead, a user must call "./configure autogen." - OpenJDK ignores some variables unless passed via the environment. These variables are: PATH, LD, CC, CXX, and CPP. - OpenJDK defaults ld to the ld binary but passes -Xlinker and -z as arguments during the linking process, which causes linking failures. To fix this issue, ld is set to gcc. - Make -jn is unsupported. Instead, one must use the "--with-jobs=" configure option, and use $(MAKE1). Signed-off-by: Adam Duskett <Aduskett@gmail.com> [Thomas: - drop explanations about CC, LD, CXX, etc. be set to their "actual binaries" instead of ccache: TARGET_CC/TARGET_LD/TARGET_CXX point to the compiler wrapper, so the usage of ccache is hidden - make sure at least one of the variants is enabled in Config.in - drop the submenu for variant selection - use system zlib instead of the bundled one. This works fine when BUILD_SYSROOT_CFLAGS and BUILD_SYSROOT_LDFLAGS are passed - fix minor nits in the Config.in comments] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-15 21:52:31 +01:00
config BR2_PACKAGE_OPENJDK_JVM_VARIANT_CLIENT
bool "client"
depends on !BR2_powerpc
package/openjdk: new package OpenJDK is a free and open-source implementation of the Java Platform. This package provides the option to build a client or a server JVM interpreter. The default option is the server option, as that is what the majority of users use. This JVM interpreter loads more slowly, putting more effort into JIT compilations to yield higher performance. Unlike most autotools packages, OpenJDK is exceptionally different and has many quirks, some of which are below: - X11, alsa, and cups are required to build Java, even if it's a headless build. See http://hg.openjdk.java.net/jdk10/jdk10/raw-file/tip/common/doc/building.html#external-library-requirements for more information. - host-zip is needed for the zip executable. - There is no autogen.sh file, instead, a user must call "./configure autogen." - OpenJDK ignores some variables unless passed via the environment. These variables are: PATH, LD, CC, CXX, and CPP. - OpenJDK defaults ld to the ld binary but passes -Xlinker and -z as arguments during the linking process, which causes linking failures. To fix this issue, ld is set to gcc. - Make -jn is unsupported. Instead, one must use the "--with-jobs=" configure option, and use $(MAKE1). Signed-off-by: Adam Duskett <Aduskett@gmail.com> [Thomas: - drop explanations about CC, LD, CXX, etc. be set to their "actual binaries" instead of ccache: TARGET_CC/TARGET_LD/TARGET_CXX point to the compiler wrapper, so the usage of ccache is hidden - make sure at least one of the variants is enabled in Config.in - drop the submenu for variant selection - use system zlib instead of the bundled one. This works fine when BUILD_SYSROOT_CFLAGS and BUILD_SYSROOT_LDFLAGS are passed - fix minor nits in the Config.in comments] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-15 21:52:31 +01:00
help
Quick loading, but slower run-time performance.
config BR2_PACKAGE_OPENJDK_JVM_VARIANT_SERVER
bool "server"
depends on !BR2_powerpc
package/openjdk: new package OpenJDK is a free and open-source implementation of the Java Platform. This package provides the option to build a client or a server JVM interpreter. The default option is the server option, as that is what the majority of users use. This JVM interpreter loads more slowly, putting more effort into JIT compilations to yield higher performance. Unlike most autotools packages, OpenJDK is exceptionally different and has many quirks, some of which are below: - X11, alsa, and cups are required to build Java, even if it's a headless build. See http://hg.openjdk.java.net/jdk10/jdk10/raw-file/tip/common/doc/building.html#external-library-requirements for more information. - host-zip is needed for the zip executable. - There is no autogen.sh file, instead, a user must call "./configure autogen." - OpenJDK ignores some variables unless passed via the environment. These variables are: PATH, LD, CC, CXX, and CPP. - OpenJDK defaults ld to the ld binary but passes -Xlinker and -z as arguments during the linking process, which causes linking failures. To fix this issue, ld is set to gcc. - Make -jn is unsupported. Instead, one must use the "--with-jobs=" configure option, and use $(MAKE1). Signed-off-by: Adam Duskett <Aduskett@gmail.com> [Thomas: - drop explanations about CC, LD, CXX, etc. be set to their "actual binaries" instead of ccache: TARGET_CC/TARGET_LD/TARGET_CXX point to the compiler wrapper, so the usage of ccache is hidden - make sure at least one of the variants is enabled in Config.in - drop the submenu for variant selection - use system zlib instead of the bundled one. This works fine when BUILD_SYSROOT_CFLAGS and BUILD_SYSROOT_LDFLAGS are passed - fix minor nits in the Config.in comments] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-15 21:52:31 +01:00
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
package/openjdk: new package OpenJDK is a free and open-source implementation of the Java Platform. This package provides the option to build a client or a server JVM interpreter. The default option is the server option, as that is what the majority of users use. This JVM interpreter loads more slowly, putting more effort into JIT compilations to yield higher performance. Unlike most autotools packages, OpenJDK is exceptionally different and has many quirks, some of which are below: - X11, alsa, and cups are required to build Java, even if it's a headless build. See http://hg.openjdk.java.net/jdk10/jdk10/raw-file/tip/common/doc/building.html#external-library-requirements for more information. - host-zip is needed for the zip executable. - There is no autogen.sh file, instead, a user must call "./configure autogen." - OpenJDK ignores some variables unless passed via the environment. These variables are: PATH, LD, CC, CXX, and CPP. - OpenJDK defaults ld to the ld binary but passes -Xlinker and -z as arguments during the linking process, which causes linking failures. To fix this issue, ld is set to gcc. - Make -jn is unsupported. Instead, one must use the "--with-jobs=" configure option, and use $(MAKE1). Signed-off-by: Adam Duskett <Aduskett@gmail.com> [Thomas: - drop explanations about CC, LD, CXX, etc. be set to their "actual binaries" instead of ccache: TARGET_CC/TARGET_LD/TARGET_CXX point to the compiler wrapper, so the usage of ccache is hidden - make sure at least one of the variants is enabled in Config.in - drop the submenu for variant selection - use system zlib instead of the bundled one. This works fine when BUILD_SYSROOT_CFLAGS and BUILD_SYSROOT_LDFLAGS are passed - fix minor nits in the Config.in comments] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-15 21:52:31 +01:00
endif
comment "openjdk needs X.Org"
depends on BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
package/openjdk: new package OpenJDK is a free and open-source implementation of the Java Platform. This package provides the option to build a client or a server JVM interpreter. The default option is the server option, as that is what the majority of users use. This JVM interpreter loads more slowly, putting more effort into JIT compilations to yield higher performance. Unlike most autotools packages, OpenJDK is exceptionally different and has many quirks, some of which are below: - X11, alsa, and cups are required to build Java, even if it's a headless build. See http://hg.openjdk.java.net/jdk10/jdk10/raw-file/tip/common/doc/building.html#external-library-requirements for more information. - host-zip is needed for the zip executable. - There is no autogen.sh file, instead, a user must call "./configure autogen." - OpenJDK ignores some variables unless passed via the environment. These variables are: PATH, LD, CC, CXX, and CPP. - OpenJDK defaults ld to the ld binary but passes -Xlinker and -z as arguments during the linking process, which causes linking failures. To fix this issue, ld is set to gcc. - Make -jn is unsupported. Instead, one must use the "--with-jobs=" configure option, and use $(MAKE1). Signed-off-by: Adam Duskett <Aduskett@gmail.com> [Thomas: - drop explanations about CC, LD, CXX, etc. be set to their "actual binaries" instead of ccache: TARGET_CC/TARGET_LD/TARGET_CXX point to the compiler wrapper, so the usage of ccache is hidden - make sure at least one of the variants is enabled in Config.in - drop the submenu for variant selection - use system zlib instead of the bundled one. This works fine when BUILD_SYSROOT_CFLAGS and BUILD_SYSROOT_LDFLAGS are passed - fix minor nits in the Config.in comments] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-15 21:52:31 +01:00
depends on BR2_USE_MMU
depends on !BR2_PACKAGE_XORG7
comment "openjdk needs glibc, and a toolchain w/ wchar, dynamic library, threads, C++, gcc >= 4.9"
package/openjdk: new package OpenJDK is a free and open-source implementation of the Java Platform. This package provides the option to build a client or a server JVM interpreter. The default option is the server option, as that is what the majority of users use. This JVM interpreter loads more slowly, putting more effort into JIT compilations to yield higher performance. Unlike most autotools packages, OpenJDK is exceptionally different and has many quirks, some of which are below: - X11, alsa, and cups are required to build Java, even if it's a headless build. See http://hg.openjdk.java.net/jdk10/jdk10/raw-file/tip/common/doc/building.html#external-library-requirements for more information. - host-zip is needed for the zip executable. - There is no autogen.sh file, instead, a user must call "./configure autogen." - OpenJDK ignores some variables unless passed via the environment. These variables are: PATH, LD, CC, CXX, and CPP. - OpenJDK defaults ld to the ld binary but passes -Xlinker and -z as arguments during the linking process, which causes linking failures. To fix this issue, ld is set to gcc. - Make -jn is unsupported. Instead, one must use the "--with-jobs=" configure option, and use $(MAKE1). Signed-off-by: Adam Duskett <Aduskett@gmail.com> [Thomas: - drop explanations about CC, LD, CXX, etc. be set to their "actual binaries" instead of ccache: TARGET_CC/TARGET_LD/TARGET_CXX point to the compiler wrapper, so the usage of ccache is hidden - make sure at least one of the variants is enabled in Config.in - drop the submenu for variant selection - use system zlib instead of the bundled one. This works fine when BUILD_SYSROOT_CFLAGS and BUILD_SYSROOT_LDFLAGS are passed - fix minor nits in the Config.in comments] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-15 21:52:31 +01:00
depends on BR2_USE_MMU
depends on BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
package/openjdk: new package OpenJDK is a free and open-source implementation of the Java Platform. This package provides the option to build a client or a server JVM interpreter. The default option is the server option, as that is what the majority of users use. This JVM interpreter loads more slowly, putting more effort into JIT compilations to yield higher performance. Unlike most autotools packages, OpenJDK is exceptionally different and has many quirks, some of which are below: - X11, alsa, and cups are required to build Java, even if it's a headless build. See http://hg.openjdk.java.net/jdk10/jdk10/raw-file/tip/common/doc/building.html#external-library-requirements for more information. - host-zip is needed for the zip executable. - There is no autogen.sh file, instead, a user must call "./configure autogen." - OpenJDK ignores some variables unless passed via the environment. These variables are: PATH, LD, CC, CXX, and CPP. - OpenJDK defaults ld to the ld binary but passes -Xlinker and -z as arguments during the linking process, which causes linking failures. To fix this issue, ld is set to gcc. - Make -jn is unsupported. Instead, one must use the "--with-jobs=" configure option, and use $(MAKE1). Signed-off-by: Adam Duskett <Aduskett@gmail.com> [Thomas: - drop explanations about CC, LD, CXX, etc. be set to their "actual binaries" instead of ccache: TARGET_CC/TARGET_LD/TARGET_CXX point to the compiler wrapper, so the usage of ccache is hidden - make sure at least one of the variants is enabled in Config.in - drop the submenu for variant selection - use system zlib instead of the bundled one. This works fine when BUILD_SYSROOT_CFLAGS and BUILD_SYSROOT_LDFLAGS are passed - fix minor nits in the Config.in comments] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-15 21:52:31 +01:00
depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_TOOLCHAIN_USES_GLIBC || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
package/openjdk: new package OpenJDK is a free and open-source implementation of the Java Platform. This package provides the option to build a client or a server JVM interpreter. The default option is the server option, as that is what the majority of users use. This JVM interpreter loads more slowly, putting more effort into JIT compilations to yield higher performance. Unlike most autotools packages, OpenJDK is exceptionally different and has many quirks, some of which are below: - X11, alsa, and cups are required to build Java, even if it's a headless build. See http://hg.openjdk.java.net/jdk10/jdk10/raw-file/tip/common/doc/building.html#external-library-requirements for more information. - host-zip is needed for the zip executable. - There is no autogen.sh file, instead, a user must call "./configure autogen." - OpenJDK ignores some variables unless passed via the environment. These variables are: PATH, LD, CC, CXX, and CPP. - OpenJDK defaults ld to the ld binary but passes -Xlinker and -z as arguments during the linking process, which causes linking failures. To fix this issue, ld is set to gcc. - Make -jn is unsupported. Instead, one must use the "--with-jobs=" configure option, and use $(MAKE1). Signed-off-by: Adam Duskett <Aduskett@gmail.com> [Thomas: - drop explanations about CC, LD, CXX, etc. be set to their "actual binaries" instead of ccache: TARGET_CC/TARGET_LD/TARGET_CXX point to the compiler wrapper, so the usage of ccache is hidden - make sure at least one of the variants is enabled in Config.in - drop the submenu for variant selection - use system zlib instead of the bundled one. This works fine when BUILD_SYSROOT_CFLAGS and BUILD_SYSROOT_LDFLAGS are passed - fix minor nits in the Config.in comments] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-15 21:52:31 +01:00
comment "openjdk does not support soft float configurations"
depends on BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS
depends on BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
package/openjdk: new package OpenJDK is a free and open-source implementation of the Java Platform. This package provides the option to build a client or a server JVM interpreter. The default option is the server option, as that is what the majority of users use. This JVM interpreter loads more slowly, putting more effort into JIT compilations to yield higher performance. Unlike most autotools packages, OpenJDK is exceptionally different and has many quirks, some of which are below: - X11, alsa, and cups are required to build Java, even if it's a headless build. See http://hg.openjdk.java.net/jdk10/jdk10/raw-file/tip/common/doc/building.html#external-library-requirements for more information. - host-zip is needed for the zip executable. - There is no autogen.sh file, instead, a user must call "./configure autogen." - OpenJDK ignores some variables unless passed via the environment. These variables are: PATH, LD, CC, CXX, and CPP. - OpenJDK defaults ld to the ld binary but passes -Xlinker and -z as arguments during the linking process, which causes linking failures. To fix this issue, ld is set to gcc. - Make -jn is unsupported. Instead, one must use the "--with-jobs=" configure option, and use $(MAKE1). Signed-off-by: Adam Duskett <Aduskett@gmail.com> [Thomas: - drop explanations about CC, LD, CXX, etc. be set to their "actual binaries" instead of ccache: TARGET_CC/TARGET_LD/TARGET_CXX point to the compiler wrapper, so the usage of ccache is hidden - make sure at least one of the variants is enabled in Config.in - drop the submenu for variant selection - use system zlib instead of the bundled one. This works fine when BUILD_SYSROOT_CFLAGS and BUILD_SYSROOT_LDFLAGS are passed - fix minor nits in the Config.in comments] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-15 21:52:31 +01:00
depends on BR2_USE_MMU
depends on BR2_SOFT_FLOAT