diff options
author | Jerome Forissier <jerome.forissier@linaro.org> | 2018-06-02 15:59:24 +0200 |
---|---|---|
committer | Jérôme Forissier <jerome.forissier@linaro.org> | 2018-06-04 11:25:14 +0200 |
commit | c8f568354b16896704e9f8e5f73b28df5f4c8eac (patch) | |
tree | 5c11a06d2f4c017ed153c0a5f9c5edb5844ec04b /core/arch/arm/arm.mk | |
parent | 4538c4f98ae5c6519c483e89dacd9bfa8df290bb (diff) |
core: introduce configuration flags for debug info and optimization
Introduces CFG_CC_OPTIMIZE_FOR_SIZE (default y) which selects the C
compiler flag -Os and -O0 otherwise, and CFG_DEBUG_INFO (default y)
which selects the C compiler flag -g3 and assembler flag -g.
DEBUG=1 is kept for compatibility.
Being able to compile without -g is useful to get much better performance
from ccache thanks to its 'unify' option [1].
Link: https://github.com/ccache/ccache/blob/v3.4.2/doc/MANUAL.adoc#configuration-settings
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'core/arch/arm/arm.mk')
-rw-r--r-- | core/arch/arm/arm.mk | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/core/arch/arm/arm.mk b/core/arch/arm/arm.mk index ba858b41..aa101be8 100644 --- a/core/arch/arm/arm.mk +++ b/core/arch/arm/arm.mk @@ -77,8 +77,8 @@ endif arm64-platform-cppflags += -DARM64=1 -D__LP64__=1 arm32-platform-cppflags += -DARM32=1 -D__ILP32__=1 -platform-cflags-generic ?= -g -ffunction-sections -fdata-sections -pipe -platform-aflags-generic ?= -g -pipe +platform-cflags-generic ?= -ffunction-sections -fdata-sections -pipe +platform-aflags-generic ?= -pipe arm32-platform-cflags-no-hard-float ?= -mfloat-abi=soft arm32-platform-cflags-hard-float ?= -mfloat-abi=hard -funsafe-math-optimizations @@ -91,13 +91,23 @@ arm64-platform-cflags-hard-float ?= arm64-platform-cflags-generic ?= -mstrict-align ifeq ($(DEBUG),1) -platform-cflags-optimization ?= -O0 +# For backwards compatibility +$(call force,CFG_CC_OPTIMIZE_FOR_SIZE,n) +$(call force,CFG_DEBUG_INFO,y) +endif + +CFG_CC_OPTIMIZE_FOR_SIZE ?= y +ifeq ($(CFG_CC_OPTIMIZE_FOR_SIZE),y) +platform-cflags-optimization ?= -Os else -platform-cflags-optimization ?= -Os +platform-cflags-optimization ?= -O0 endif +CFG_DEBUG_INFO ?= y +ifeq ($(CFG_DEBUG_INFO),y) platform-cflags-debug-info ?= -g3 -platform-aflags-debug-info ?= +platform-aflags-debug-info ?= -g +endif core-platform-cflags += $(platform-cflags-optimization) core-platform-cflags += $(platform-cflags-generic) |