diff options
| -rw-r--r-- | recipes-core/openjdk/openjdk-8-common.inc | 55 | ||||
| -rw-r--r-- | recipes-core/openjdk/openjdk-8-release-16xbyy.inc | 3 |
2 files changed, 33 insertions, 25 deletions
diff --git a/recipes-core/openjdk/openjdk-8-common.inc b/recipes-core/openjdk/openjdk-8-common.inc index ad39dee..744c062 100644 --- a/recipes-core/openjdk/openjdk-8-common.inc +++ b/recipes-core/openjdk/openjdk-8-common.inc | |||
| @@ -224,32 +224,39 @@ FLAGS_GCC7 = "-fno-lifetime-dse -fno-delete-null-pointer-checks" | |||
| 224 | # version is and only add the flags that are appropriate for that GCC | 224 | # version is and only add the flags that are appropriate for that GCC |
| 225 | # version. | 225 | # version. |
| 226 | 226 | ||
| 227 | def version_specific_cflags(d): | 227 | def get_cflags_by_cc_version(d, version): |
| 228 | import re | 228 | if version.isdigit(): |
| 229 | 229 | return d.getVar('FLAGS_GCC%d' % int(version)) or '' | |
| 230 | extraflags = None | 230 | return '' |
| 231 | version = None | ||
| 232 | 231 | ||
| 233 | if bb.data.inherits_class('native', d): | 232 | def get_build_cflags(d): |
| 233 | def get_build_cc_version(build_cc): | ||
| 234 | from subprocess import Popen, PIPE | 234 | from subprocess import Popen, PIPE |
| 235 | 235 | cmd = d.expand('%s -dumpversion' % build_cc).split() | |
| 236 | cmd = d.expand('${CC} -dumpversion').split() | ||
| 237 | cc = Popen(cmd, stdout=PIPE, stderr=PIPE) | 236 | cc = Popen(cmd, stdout=PIPE, stderr=PIPE) |
| 238 | version = cc.communicate()[0].decode('utf-8')[0] | 237 | return cc.communicate()[0].decode('utf-8')[0] |
| 239 | else: | ||
| 240 | # in the cross case, trust that GCCVERSION is correct. This won't | ||
| 241 | # work if the native toolchain is Clang, but as of this writing that | ||
| 242 | # doesn't work anyway. | ||
| 243 | version = d.getVar('GCCVERSION', expand=True)[0] | ||
| 244 | # skip non digit characters at the beginning, e.g. from "linaro-6.2%" | ||
| 245 | match = re.search("\d", version) | ||
| 246 | if match: | ||
| 247 | version = version[match.start():] | ||
| 248 | 238 | ||
| 249 | if version.isdigit(): | 239 | build_cc = d.getVar('BUILD_CC') |
| 250 | extraflags = d.getVar('FLAGS_GCC%d' % int(version), True) or '' | 240 | version = get_build_cc_version(build_cc) |
| 251 | return extraflags | 241 | return get_cflags_by_cc_version(d, version) |
| 252 | return '' | 242 | |
| 243 | def get_target_cflags(d): | ||
| 244 | import re | ||
| 253 | 245 | ||
| 254 | CFLAGS_append = " ${@version_specific_cflags(d)}" | 246 | # in the cross case, trust that GCCVERSION is correct. This won't |
| 255 | CXXFLAGS_append = " ${@version_specific_cflags(d)}" | 247 | # work if the native toolchain is Clang, but as of this writing that |
| 248 | # doesn't work anyway. | ||
| 249 | version = d.getVar('GCCVERSION')[0] | ||
| 250 | # skip non digit characters at the beginning, e.g. from "linaro-6.2%" | ||
| 251 | match = re.search("\d", version) | ||
| 252 | if match: | ||
| 253 | version = version[match.start():] | ||
| 254 | return get_cflags_by_cc_version(d, version) | ||
| 255 | |||
| 256 | |||
| 257 | # flags for -native, and for bits that need a host-tool during -cross | ||
| 258 | BUILD_CFLAGS_append = " ${@get_build_cflags(d)}" | ||
| 259 | BUILD_CXXFLAGS_append = " ${@get_build_cflags(d)}" | ||
| 260 | # flags for -cross | ||
| 261 | TARGET_CFLAGS_append = " ${@get_target_cflags(d)}" | ||
| 262 | TARGET_CXXFLAGS_append = " ${@get_target_cflags(d)}" | ||
diff --git a/recipes-core/openjdk/openjdk-8-release-16xbyy.inc b/recipes-core/openjdk/openjdk-8-release-16xbyy.inc index fd95e95..36ce073 100644 --- a/recipes-core/openjdk/openjdk-8-release-16xbyy.inc +++ b/recipes-core/openjdk/openjdk-8-release-16xbyy.inc | |||
| @@ -54,7 +54,8 @@ ARM_INSTRUCTION_SET_armv4t = "ARM" | |||
| 54 | 54 | ||
| 55 | # readdir_r was deprecated in glibc-2.24. Ignore the error for now | 55 | # readdir_r was deprecated in glibc-2.24. Ignore the error for now |
| 56 | # NOTE: When updating the recipe, please check if this is still needed | 56 | # NOTE: When updating the recipe, please check if this is still needed |
| 57 | CFLAGS_append = " -Wno-error=deprecated-declarations" | 57 | BUILD_CFLAGS_append = " -Wno-error=deprecated-declarations" |
| 58 | TARGET_CFLAGS_append = " -Wno-error=deprecated-declarations" | ||
| 58 | 59 | ||
| 59 | # Enable zero mode for arm based builds, as normal hotspot fails to build | 60 | # Enable zero mode for arm based builds, as normal hotspot fails to build |
| 60 | PACKAGECONFIG_append_arm = " zero" | 61 | PACKAGECONFIG_append_arm = " zero" |
