diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2011-12-31 12:09:33 +0100 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2012-03-01 20:26:37 +0100 |
commit | b95e436ee0c9e4638dc79766da0d17927c6641ce (patch) | |
tree | 0ad278d70c3d9b1d7c0c6eab6cab749dbf78080c /toolchain/toolchain-external/ext-tool.mk | |
parent | 50ac5f9a573d3918cc5257a30a7c85db7841ac42 (diff) | |
download | buildroot-novena-b95e436ee0c9e4638dc79766da0d17927c6641ce.tar.gz buildroot-novena-b95e436ee0c9e4638dc79766da0d17927c6641ce.zip |
Expand external toolchain wrapper to custom flags
The BR2_TARGET_OPTIMIZATION flags were not used by the external
toolchain wrapper, which broke the multilib selection logic of
multilib external toolchains. It also simplifies the compilation of
external programs since all flags are properly passed automatically by
the toolchain wrapper.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'toolchain/toolchain-external/ext-tool.mk')
-rw-r--r-- | toolchain/toolchain-external/ext-tool.mk | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/toolchain/toolchain-external/ext-tool.mk b/toolchain/toolchain-external/ext-tool.mk index eb8ed4f6b..dde6f2283 100644 --- a/toolchain/toolchain-external/ext-tool.mk +++ b/toolchain/toolchain-external/ext-tool.mk @@ -150,6 +150,14 @@ TOOLCHAIN_EXTERNAL_CFLAGS += -mabi=$(CC_TARGET_ABI_) TOOLCHAIN_EXTERNAL_WRAPPER_ARGS += -DBR_ABI='"$(CC_TARGET_ABI_)"' endif +ifneq ($(BR2_TARGET_OPTIMIZATION),) +TOOLCHAIN_EXTERNAL_CFLAGS += $(call qstrip,$(BR2_TARGET_OPTIMIZATION)) +# We create a list like '"-mfoo", "-mbar", "-mbarfoo"' so that each +# flag is a separate argument when used in execv() by the external +# toolchain wrapper. +TOOLCHAIN_EXTERNAL_WRAPPER_ARGS += -DBR_ADDITIONAL_CFLAGS='$(foreach f,$(call qstrip,$(BR2_TARGET_OPTIMIZATION)),"$(f)",)' +endif + ifeq ($(BR2_SOFT_FLOAT),y) TOOLCHAIN_EXTERNAL_CFLAGS += -msoft-float TOOLCHAIN_EXTERNAL_WRAPPER_ARGS += -DBR_SOFTFLOAT=1 |