summaryrefslogtreecommitdiffstats
path: root/toolchain/gcc
diff options
context:
space:
mode:
authorAndre Heider <a.heider@gmail.com>2023-01-31 09:30:18 +0100
committerChristian Marangi <ansuelsmth@gmail.com>2023-02-09 02:53:35 +0100
commitad564cb0197865bb6caecd6a0ea628249c08afb2 (patch)
tree5303f6f6bc062848aac1afbecc9a4e0969b5aa3e /toolchain/gcc
parent4b8b89da506d1272ccbf944b1ece6c8ddaeff2ed (diff)
downloadopenwrt-ad564cb0197865bb6caecd6a0ea628249c08afb2.tar.gz
openwrt-ad564cb0197865bb6caecd6a0ea628249c08afb2.tar.bz2
openwrt-ad564cb0197865bb6caecd6a0ea628249c08afb2.zip
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>
Diffstat (limited to 'toolchain/gcc')
-rw-r--r--toolchain/gcc/common.mk22
1 files 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