mirror of
https://git.yoctoproject.org/poky
synced 2026-04-21 03:32:12 +02:00
icecc.bbclass: Disable caret workaround by default
Icecream has a behavior that causes it to recompile files locally if gcc generates any warnings or errors. The reason for this is that GCC tries to re-read the input file in order to display the offending line with a caret below it, which doesn't work in the remote chroot. Default to disabling this this workaround and add -fno-diagnostics-show-caret to the GCC flags so that errors and warnings generated by GCC do not show erroneous results. (From OE-Core rev: a1488291c5733a113c28475352eded61bf52bfe8) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
502ee8e863
commit
02c4f3a484
@@ -28,10 +28,23 @@
|
||||
#Error checking is kept to minimum so double check any parameters you pass to the class
|
||||
###########################################################################################
|
||||
|
||||
BB_HASHBASE_WHITELIST += "ICECC_PARALLEL_MAKE ICECC_DISABLED ICECC_USER_PACKAGE_BL ICECC_USER_CLASS_BL ICECC_USER_PACKAGE_WL ICECC_PATH ICECC_ENV_EXEC"
|
||||
BB_HASHBASE_WHITELIST += "ICECC_PARALLEL_MAKE ICECC_DISABLED ICECC_USER_PACKAGE_BL \
|
||||
ICECC_USER_CLASS_BL ICECC_USER_PACKAGE_WL ICECC_PATH ICECC_ENV_EXEC \
|
||||
ICECC_CARET_WORKAROUND ICECC_CFLAGS"
|
||||
|
||||
ICECC_ENV_EXEC ?= "${STAGING_BINDIR_NATIVE}/icecc-create-env"
|
||||
|
||||
# Default to disabling the caret workaround, If set to "1" in local.conf, icecc
|
||||
# will locally recompile any files that have warnings, which can adversely
|
||||
# affect performance.
|
||||
#
|
||||
# See: https://github.com/icecc/icecream/issues/190
|
||||
export ICECC_CARET_WORKAROUND ??= "0"
|
||||
|
||||
ICECC_CFLAGS = ""
|
||||
CFLAGS += "${ICECC_CFLAGS}"
|
||||
CXXFLAGS += "${ICECC_CFLAGS}"
|
||||
|
||||
def icecc_dep_prepend(d):
|
||||
# INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not
|
||||
# we need that built is the responsibility of the patch function / class, not
|
||||
@@ -170,6 +183,11 @@ def icecc_version(bb, d):
|
||||
if not d.getVar('PARALLEL_MAKE', False) == "" and parallel:
|
||||
d.setVar("PARALLEL_MAKE", parallel)
|
||||
|
||||
# Disable showing the caret in the GCC compiler output if the workaround is
|
||||
# disabled
|
||||
if d.getVar('ICECC_CARET_WORKAROUND', True) == '0':
|
||||
d.setVar('ICECC_CFLAGS', '-fno-diagnostics-show-caret')
|
||||
|
||||
if icecc_is_native(bb, d):
|
||||
archive_name = "local-host-env"
|
||||
elif d.expand('${HOST_PREFIX}') == "":
|
||||
|
||||
Reference in New Issue
Block a user