From ad564cb0197865bb6caecd6a0ea628249c08afb2 Mon Sep 17 00:00:00 2001 From: Andre Heider Date: Tue, 31 Jan 2023 09:30:18 +0100 Subject: [PATCH] toolchain/gcc: clean up CFLAGS Instead of having two different ways to pass flags to the gcc build process, add them as configure args, which is a reliable way to let gcc pass them around to its various pieces. Also add CXXFLAGS, since gcc started to use c++ for itself recently (~10 years ago now). Signed-off-by: Andre Heider --- toolchain/gcc/common.mk | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk index 5f314c7fc0..e885141538 100644 --- a/toolchain/gcc/common.mk +++ b/toolchain/gcc/common.mk @@ -79,10 +79,6 @@ endif GCC_CONFIGURE:= \ SHELL="$(BASH)" \ - $(if $(shell gcc --version 2>&1 | grep -E "Apple.(LLVM|clang)"), \ - CFLAGS="-O2 -fbracket-depth=512 -pipe" \ - CXXFLAGS="-O2 -fbracket-depth=512 -pipe" \ - ) \ $(HOST_SOURCE_DIR)/configure \ --with-bugurl=$(BUGURL) \ --with-pkgversion="$(PKGVERSION)" \ @@ -166,13 +162,21 @@ ifeq ($(CONFIG_TARGET_x86)$(CONFIG_USE_GLIBC)$(CONFIG_INSTALL_GCCGO),yyy) TARGET_CFLAGS+=-fno-split-stack endif +CFLAGS:=$(HOST_CFLAGS) -pipe +ifneq ($(shell gcc --version 2>&1 | grep -E "Apple.(LLVM|clang)"),) + CFLAGS+= -fbracket-depth=512 +endif + +GCC_CONFIGURE+= \ + CFLAGS="$(CFLAGS)" \ + CXXFLAGS="$(CFLAGS)" \ + CFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" \ + CXXFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" \ + GOCFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" + GCC_MAKE:= \ export SHELL="$(BASH)"; \ - $(MAKE) \ - CFLAGS="$(HOST_CFLAGS)" \ - CFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" \ - CXXFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" \ - GOCFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" + $(MAKE) define Host/SetToolchainInfo $(SED) 's,TARGET_CROSS=.*,TARGET_CROSS=$(REAL_GNU_TARGET_NAME)-,' $(TOOLCHAIN_DIR)/info.mk -- 2.30.2