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 <a.heider@gmail.com>
This commit is contained in:
Andre Heider 2023-01-31 09:30:18 +01:00 committed by Christian Marangi
parent 4b8b89da50
commit ad564cb019
No known key found for this signature in database
GPG Key ID: AC001D09ADBFEAD7
1 changed files with 13 additions and 9 deletions

View File

@ -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