aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-core/openjdk/openjdk-8-common.inc
AgeCommit message (Collapse)Author
2018-03-06openjdk-8: add aarch64 supportAndré Draszik
This is using the aarch64 port to make it work, which is at version u161b15. We also add one patch to make this work with musl, too. Because the aarch64 port is fetched from a different repository, the version specific include has been split so as to have all common parts (URIs, patches, configuration bits) in one single file, and version specific bits (checksum, mercurial commit ID), in another file, to ease maintenance, and make distinguishing easier. Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Maxin B. John <maxin.john@intel.com>
2018-03-05openjdk-8: rework do_patch (pt 2 - use bitbake variable overrides)André Draszik
This currently uses a hand-crafted solution to distinguish between common, native-only and and target-only patches. That is a bit hard to follow as patches are being applied in strange order, and is also non-standard. Instead, we can just use bitbake variable overrides. This makes it much easier to work with this recipe, as: * it is clear in which order patches are going to be applied by looking at the recipe * it is clear which patches are meant to be common, for build, or target * old patches that are still lying around in WORKDIR (e.g. because rm_work is not enabled), but that have been removed from SRC_URI are no longer incorrectly applied * if patches fail to apply, we know exactly which patch has failed * we can use PATCHTOOL = without any ill effects Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Maxin B. John <maxin.john@intel.com>
2018-03-05openjdk-8: rework do_patch (pt 1 - X11 wrappers)André Draszik
X11 wrappers are currently being deleted using a custom do_patch[postfuncs]. This is confusing to say the least, as e.g. naming implies this is done after ./configure has run. At the moment, this also happens halfway through patches have been applied, i.e. some patches are being applied, then the X11 wrappers are deleted, then more patches are being applied. Streamline this so that the unneeded wrappers are removed as part of do_unpack[postfuncs]. Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Maxin B. John <maxin.john@intel.com>
2018-03-05openjdk-8: Upgrade to u162b12André Draszik
- openjdk8-fix-zero-mode-crash.patch was a backport -> dropped - remaining patches -> refreshed - license checksum change due to address change in license file (see patch) Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Maxin B. John <maxin.john@intel.com>
2018-03-05openjdk-8: doesn't compile on aarch64André Draszik
OpenJDK's build system just doesn't support it (it somehow picks compiler flags for am64 builds, which are invalid for aarch64). Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Maxin B. John <maxin.john@intel.com>
2018-03-05openjdk-8: clarify a bitbake warningAndré Draszik
We get a bitbake warning during recipe building complaining about unsupported architectures unconditionally. That check is relevant only for shark builds, so it is quite confusing for non-shark builds. Make the warning conditional on whether shark builds are enabled or not. Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Maxin B. John <maxin.john@intel.com>
2018-02-26openjdk-8: strip leading non digit chars from GCCVERSIONrockoMax Krummenacher
When using the linaro cross toolchain GCCVERSION is set to "linaro-6.2%", i.e. the first char is not GCC's major version. Thus needed compiler options for GCC 6 are not set. Fix at least this case by stripping GCCVERSION up to the first numeric char. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 1fbdc60eaccaa29c2942d479f8068b722e7b5bf3) Signed-off-by: Maxin B. John <maxin.john@intel.com>
2017-10-09Revert "openjdk-8-common: Fix the issue of building failed adlc on host with ↵Maxin B. John
gcc < 6" This reverts commit 6801f6d4e19c88dabd5a02dfbbf69a2dcc8e079c.
2017-10-02openjdk-8-common: Fix the issue of building failed adlc on host with gcc < 6Fupan Li
The patch recipes-core/openjdk/patches-openjdk-8/openjdk8-fix-adlc-flags.patch had tried to fix this issue, and it tried to filter out the TARGET_FLAGS/TARGET_ CXXFLGAS, but for the flags such as "-fno-lifetime-dse" was added to CFLAGS/CXXFLAGS, directly, thus that patch failed to filter it out. To fix this issue, it's better to add those GCC version specific flags to BUILD_CFLAGS/ BUILD_CXXFLAGS and TARGET_CFLAGS/TARGET_CXXFLAGS separatedly, thus that patch can work as expected. Signed-off-by: Fupan Li <fupan.li@windriver.com> Signed-off-by: Maxin B. John <maxin.john@intel.com>
2017-09-26openjdk-8-common: Fix warning evaluating CFLAGSRicardo Ribalda Delgado
Code is (on my opinion) simpler, making use of the dumpversion flag, instead of calling the pre-processor via a pipe. Flag has been tested on both clang gcc: ricardo@neopili:~/curro/qt5022/build-qt5022-pyro/repo/java$ gcc-4.8 -dumpversion 4.8 ricardo@neopili:~/curro/qt5022/build-qt5022-pyro/repo/java$ gcc-4.9 -dumpversion 4.9.3 ricardo@neopili:~/curro/qt5022/build-qt5022-pyro/repo/java$ gcc-5 -dumpversion 5.4.1 ricardo@neopili:~/curro/qt5022/build-qt5022-pyro/repo/java$ gcc-6 -dumpversion 6.4.0 ricardo@neopili:~/curro/qt5022/build-qt5022-pyro/repo/java$ gcc-7 -dumpversion 7 ricardo@neopili:~/curro/qt5022/build-qt5022-pyro/repo/java$ clang-4.0 -dumpversion 4.2.1 Without this patch: WARNING: /home/ricardo/curro/qt5022/build-qt5022-pyro/repo/yocto/../java/recipes-core/openjdk/openjdk-8-native_102b14.bb: Unable to export ${CXXFLAGS}: Failure expanding variable CXXFLAGS, expression was -isystem/home/ricardo/curro/qt5022/build-qt5022-pyro/build/tmp/work/x86_64-linux/openjdk-8-native/102b14-r0/recipe-sysroot-native/usr/include -O2 -pipe -D_GLIBCXX_USE_CXX11_ABI=0 ${@version_specific_cflags(d)} ${@jdk_cpp_options(d)} which triggered exception IndexError: string index out of range WARNING: /home/ricardo/curro/qt5022/build-qt5022-pyro/repo/yocto/../java/recipes-core/openjdk/openjdk-8-native_102b14.bb: Unable to export ${CFLAGS}: Failure expanding variable CFLAGS, expression was -isystem/home/ricardo/curro/qt5022/build-qt5022-pyro/build/tmp/work/x86_64-linux/openjdk-8-native/102b14-r0/recipe-sysroot-native/usr/include -O2 -pipe -Wno-error=deprecated-declarations ${@version_specific_cflags(d)} ${@jdk_cpp_options(d)} which triggered exception IndexError: string index out of range Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> Signed-off-by: Maxin B. John <maxin.john@intel.com>
2017-09-26openjdk-8-native: Fix sigsegv with gcc7Ricardo Ribalda Delgado
OpenJDK does not build properly with GCC7. Add the same workaround that we have for GCC6. Without this patch: | # | # A fatal error has been detected by the Java Runtime Environment: | # | # SIGSEGV (0xb) at pc=0x00007fcad0efcd5b, pid=17206, tid=0x00007fcab264c700 | # | # JRE version: OpenJDK Runtime Environment (8.0_102-b14) (build 1.8.0_102-internal-b14) | # Java VM: OpenJDK 64-Bit Server VM (25.102-b14 mixed mode linux-amd64 compressed oops) | # Problematic frame: | # V [libjvm.so+0x78bd5b] Node::Node(unsigned int)+0x2b | # | # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again | # | # An error report file with more information is saved as: | # /home/ricardo/curro/qt5022/build-qt5022-pyro/build/tmp/work/x86_64-linux/openjdk-8-native/102b14-r0/build/hs_err_pid17206.log | [thread 140508549912320 also had an error] | | [error occurred during error reporting , id 0xb] | | # | # If you would like to submit a bug report, please visit: | # http://bugreport.java.com/bugreport/crash.jsp | # Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> Signed-off-by: Maxin B. John <maxin.john@intel.com>
2016-12-06move from bb.data.getVar(x, d, 1) to d.getVar(x, True)Cody P Schafer
bb.data.getVar was removed, need to use the modern mechanism. Signed-off-by: Cody P Schafer <dev@codyps.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-08-30Reimplement helper method for parallelizing JDK buildsKyle Russell
Simplifies duplicated implementation across multiple recipes that all inherited from java.bbclass. Previously implementation was not flexible in supporting other make job-limiting flags (like -l for load) that are typically passed in through PARALLEL_MAKE. (OpenJDK doesn't know about these other flags that might have gotten tagged on after the value for -j.) Signed-off-by: Kyle Russell <bkylerussell@gmail.com> Signed-off-by: Maxin B. John <maxin.john@intel.com>
2016-08-09openjdk-8: ignore wrong GCCVERSION-flagSven Ebenfeld
During my recipe parsing, GCCVERSION in the cross case seems to be 'l' this leads to a ValueError during recipe parsing. Therefore check type before trying to parse the version flag. Signed-off-by: Sven Ebenfeld <sven.ebenfeld@vaillant-group.com> Signed-off-by: Maxin B. John <maxin.john@intel.com>
2016-07-22openjdk-8: fix compiler detectionPatrick Ohly
When GCC is at version 4 or 5, parsing the recipe fails with: ERROR: ExpansionError during parsing .../ostro-os/meta-java/recipes-core/openjdk/openjdk-8_72b05.bb ... bb.data_smart.ExpansionError: Failure expanding variable CFLAGS, expression was -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=.../ostro-os/build/tmp-glibc/work/corei7-64-ostro- linux/openjdk-8/72b05-r0=/usr/src/debug/openjdk-8/72b05-r0 -fdebug-prefix-map=.../ostro-os/build/tmp-glibc/sysroots/x86_64-linux= -fdebug-prefix-map=.../ostro-os/build/tmp-glibc/sysroots/intel-corei7-64= -fstack-protector-strong -D_FORTIFY_SOURCE=2 ${ <at> version_specific_cflags(d)} -Wno-error=deprecated-declarations which triggered exception TypeError: can only join an iterable That's because FLAGS_GCC<version> may be unset, thus leading to d.getVar() returning None and ''.join(extraflags) failing. The join() is also redundant: extraflags already is a string. It happened to work because Python treats a string as sequence of single-character strings, and thus ''.join() re-created the original string. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-07-18openjdk-8: Detect compiler versionDaniel McGregor
Some supported hosts still use GCC 4.X. These don't support the flags needed to make GCC 6 work, so check the GCC version and add appropriate compiler flags. This implementation will append flags for any gcc version, but it's only used for GCC 6 right now. Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-07-18openjdk-7, openjdk-8: use vardeps to fix shared stateDaniel McGregor
Previously if PARALLEL_MAKE changed, so did the task signature for do_configure. Use vardepsvalue so that the signature remains constant. Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com> Signed-off-by: Maxin B. John <maxin.john@intel.com>
2016-06-30openjdk-8: make GCC6 happyDaniel McGregor
GCC 6 sets the default C++ standard to C++14 and introduces dead store elimination by default. OpenJDK 8 is not ready for either of these changes, so set the C++ standard back to gnu++98 and disable dead store elimination. Switched to using --with-extra-cflags, cxxflags, and ldflags. The added patch fixes building when using those flags, and are needed to get CFLAGS into the JDK build in the native case. Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-06-30openjdk-8: Add update version and build number to the java binariesBernhard Dick
The OpenJDK builds did not include the update version and build number leading to problems when applications check for the minimum needed version. This commit fixes it by adding the update version and build number to the configure parameters. Signed-off-by: Bernhard Dick <bernhard@bdick.de> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-06-20replace base_contains by bb.utils.containsMaxin B. John
Replace all instances of base_contains with bb.utils.contains to avoid warnings. Signed-off-by: Maxin B. John <maxin.john@intel.com>
2015-12-08openjdk-8: add recipes for openjdk-8 and openjre-8Jens Rehsack
This adds openjdk-8 for native and target builds and allows a stripped openjre-8 being built as well instead of trying to cherry-pick jre components from jdk-image. The recipes allow building openjdk-8 with or without: * x11 * cups * alsa/pulseaudio and let packager enable unlimited-crypto, if desired. To support certificate based java libraries, cacerts is created based on ca-certificates from OE-core. Since there can be only one PROVIDES for virtual/java-native and virtual/javac-native, move the provides to openjdk-8-native (I think everyone agrees it's a better choice than ecj-bootstrap-native). Plus: Applying a fix from openjdk-9 repository which fixes build issues using gcc5 Signed-off-by: Jens Rehsack <sno@netbsd.org> Signed-off-by: Maxin B. John <maxin.john@intel.com>