From: Felix Fietkau Date: Wed, 14 Aug 2013 13:02:29 +0000 (+0000) Subject: build: decouple the mips16 support flag from the toolchain X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;h=c9bd251aa099425ea7eeba9376ac6a9ec4c3c912 build: decouple the mips16 support flag from the toolchain Add the flags from package.mk instead, and leave libc and gcc unaffected. Signed-off-by: Felix Fietkau SVN-Revision: 37770 --- diff --git a/include/package.mk b/include/package.mk index a4f353be95..02893b8f66 100644 --- a/include/package.mk +++ b/include/package.mk @@ -13,6 +13,7 @@ PKG_BUILD_DIR ?= $(BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) PKG_INSTALL_DIR ?= $(PKG_BUILD_DIR)/ipkg-install PKG_MD5SUM ?= unknown PKG_BUILD_PARALLEL ?= +PKG_USE_MIPS16 ?= 1 ifneq ($(CONFIG_PKG_BUILD_USE_JOBSERVER),) MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) -j) @@ -26,6 +27,12 @@ else PKG_JOBS?=$(if $(PKG_BUILD_PARALLEL)$(CONFIG_PKG_DEFAULT_PARALLEL),\ $(if $(CONFIG_PKG_BUILD_PARALLEL),$(MAKE_J),-j1),-j1) endif +ifdef CONFIG_HAS_MIPS16 + ifeq ($(strip $(PKG_USE_MIPS16)),1) + TARGET_ASFLAGS_DEFAULT = $(filter-out -mips16 -minterlink-mips16,$(TARGET_CFLAGS)) + TARGET_CFLAGS += -mips16 -minterlink-mips16 + endif +endif include $(INCLUDE_DIR)/prereq.mk include $(INCLUDE_DIR)/host.mk diff --git a/rules.mk b/rules.mk index 48be224858..14171a0d30 100644 --- a/rules.mk +++ b/rules.mk @@ -70,13 +70,6 @@ endif ifneq ($(filter -mdspr2,$(TARGET_OPTIMIZATION)),) ARCH_SUFFIX:=$(ARCH_SUFFIX)_dspr2 endif -ifdef CONFIG_USE_MIPS16 - TARGET_OPTIMIZATION+= -minterlink-mips16 -mips16 -endif -ifneq ($(findstring -mips16,$(TARGET_OPTIMIZATION)),) - TARGET_ASFLAGS_OVERRIDE:=-mno-mips16 - ARCH_SUFFIX:= $(ARCH_SUFFIX)_m16 -endif ifdef CONFIG_HAS_SPE_FPU TARGET_SUFFIX:=$(TARGET_SUFFIX)spe endif @@ -130,7 +123,8 @@ PKG_INFO_DIR := $(STAGING_DIR)/pkginfo TARGET_PATH:=$(STAGING_DIR_HOST)/bin:$(subst $(space),:,$(filter-out .,$(filter-out ./,$(subst :,$(space),$(PATH))))) TARGET_CFLAGS:=$(TARGET_OPTIMIZATION)$(if $(CONFIG_DEBUG), -g3) $(EXTRA_OPTIMIZATION) TARGET_CXXFLAGS = $(TARGET_CFLAGS) -TARGET_ASFLAGS = $(TARGET_CFLAGS) $(TARGET_ASFLAGS_OVERRIDE) +TARGET_ASFLAGS_DEFAULT = $(TARGET_CFLAGS) +TARGET_ASFLAGS = $(TARGET_ASFLAGS_DEFAULT) TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include TARGET_LDFLAGS:=-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib ifneq ($(CONFIG_EXTERNAL_TOOLCHAIN),) diff --git a/toolchain/uClibc/common.mk b/toolchain/uClibc/common.mk index f0a5b3d84f..69ac470b02 100644 --- a/toolchain/uClibc/common.mk +++ b/toolchain/uClibc/common.mk @@ -45,8 +45,6 @@ GEN_CONFIG=$(SCRIPT_DIR)/kconfig.pl -n \ $(if $(CONFIG_MIPS64_ABI),.$(subst ",,$(CONFIG_MIPS64_ABI)), \ $(if $(CONFIG_HAS_SPE_FPU),$(if $(wildcard $(CONFIG_DIR)/$(ARCH).e500),.e500))))) -TARGET_CFLAGS := $(filter-out -mips16,$(TARGET_CFLAGS)) - CPU_CFLAGS = \ -funsigned-char -fno-builtin -fno-asm \ --std=gnu99 -ffunction-sections -fdata-sections \