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"
|
|
|
|
|
|
|
|
config BR2_PACKAGE_OPENJDK
|
|
|
|
bool "openjdk"
|
|
|
|
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_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_LIBXRENDER
|
|
|
|
select BR2_PACKAGE_XLIB_LIBXT
|
|
|
|
select BR2_PACKAGE_XLIB_LIBXTST
|
|
|
|
select BR2_PACKAGE_ZLIB
|
|
|
|
# make sure at least one variant is enabled
|
|
|
|
select BR2_PACKAGE_OPENJDK_JVM_VARIANT_SERVER \
|
2019-02-26 18:36:45 +01:00
|
|
|
if !BR2_PACKAGE_OPENJDK_JVM_VARIANT_CLIENT && !BR2_PACKAGE_OPENJDK_JVM_VARIANT_ZERO && !BR2_powerpc
|
|
|
|
select 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
|
|
|
help
|
|
|
|
OpenJDK is a free and open-source implementation of the
|
|
|
|
Java Platform.
|
|
|
|
|
|
|
|
http://openjdk.java.net/
|
|
|
|
|
|
|
|
if BR2_PACKAGE_OPENJDK
|
|
|
|
|
|
|
|
config BR2_PACKAGE_OPENJDK_JVM_VARIANT_CLIENT
|
|
|
|
bool "build client variant"
|
2019-02-26 18:36:45 +01:00
|
|
|
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 "build server variant"
|
2019-02-26 18:36:45 +01:00
|
|
|
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.
|
|
|
|
|
2019-02-26 18:36:45 +01:00
|
|
|
config BR2_PACKAGE_OPENJDK_JVM_VARIANT_ZERO
|
|
|
|
bool "build zero variant"
|
|
|
|
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
|
|
|
|
|
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_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_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \
|
|
|
|
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_USES_GLIBC
|
|
|
|
|
|
|
|
comment "openjdk does not support soft float configurations"
|
|
|
|
depends on BR2_USE_MMU
|
|
|
|
depends on BR2_SOFT_FLOAT
|