From 065ee5a0160d7ad95861417a845c9e208499061e Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Wed, 20 Jul 2016 11:48:08 +0200 Subject: openjdk-8: fix compiler detection 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 ${ version_specific_cflags(d)} -Wno-error=deprecated-declarations which triggered exception TypeError: can only join an iterable That's because FLAGS_GCC 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 Signed-off-by: Otavio Salvador --- recipes-core/openjdk/openjdk-8-common.inc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/recipes-core/openjdk/openjdk-8-common.inc b/recipes-core/openjdk/openjdk-8-common.inc index 089f907..7ad802a 100644 --- a/recipes-core/openjdk/openjdk-8-common.inc +++ b/recipes-core/openjdk/openjdk-8-common.inc @@ -271,10 +271,8 @@ def version_specific_cflags(d): # doesn't work anyway. version = d.getVar('GCCVERSION', expand=True)[0] - if int(version) >= 4: - extraflags = d.getVar('FLAGS_GCC%d' % int(version), True) - - return ''.join(extraflags) + extraflags = d.getVar('FLAGS_GCC%d' % int(version), True) or '' + return extraflags CFLAGS_append = " ${@version_specific_cflags(d)}" CXXFLAGS_append = " ${@version_specific_cflags(d)}" -- cgit v1.2.3-54-g00ecf