summaryrefslogtreecommitdiffstats
path: root/recipes-core/openjdk/openjdk-8-common.inc
Commit message (Collapse)AuthorAgeFilesLines
* openjdk-8: strip leading non digit chars from GCCVERSIONrockoMax Krummenacher2018-02-261-0/+6
| | | | | | | | | | | | 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>
* Revert "openjdk-8-common: Fix the issue of building failed adlc on host with ↵Maxin B. John2017-10-091-24/+12
| | | | | | gcc < 6" This reverts commit 6801f6d4e19c88dabd5a02dfbbf69a2dcc8e079c.
* openjdk-8-common: Fix the issue of building failed adlc on host with gcc < 6Fupan Li2017-10-021-12/+24
| | | | | | | | | | | | | | 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>
* openjdk-8-common: Fix warning evaluating CFLAGSRicardo Ribalda Delgado2017-09-261-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* openjdk-8-native: Fix sigsegv with gcc7Ricardo Ribalda Delgado2017-09-261-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* move from bb.data.getVar(x, d, 1) to d.getVar(x, True)Cody P Schafer2016-12-061-5/+5
| | | | | | | 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>
* Reimplement helper method for parallelizing JDK buildsKyle Russell2016-08-301-21/+0
| | | | | | | | | | | | | 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>
* openjdk-8: ignore wrong GCCVERSION-flagSven Ebenfeld2016-08-091-2/+4
| | | | | | | | | 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>
* openjdk-8: fix compiler detectionPatrick Ohly2016-07-221-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* openjdk-8: Detect compiler versionDaniel McGregor2016-07-181-2/+39
| | | | | | | | | | | | 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>
* openjdk-7, openjdk-8: use vardeps to fix shared stateDaniel McGregor2016-07-181-0/+2
| | | | | | | | | 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>
* openjdk-8: make GCC6 happyDaniel McGregor2016-06-301-0/+4
| | | | | | | | | | | | | | 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>
* openjdk-8: Add update version and build number to the java binariesBernhard Dick2016-06-301-0/+7
| | | | | | | | | | 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>
* replace base_contains by bb.utils.containsMaxin B. John2016-06-201-1/+1
| | | | | | | Replace all instances of base_contains with bb.utils.contains to avoid warnings. Signed-off-by: Maxin B. John <maxin.john@intel.com>
* openjdk-8: add recipes for openjdk-8 and openjre-8Jens Rehsack2015-12-081-0/+231
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>