From eea89fea6a5f97880811ba35ecc0ade6504f40d8 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Mon, 13 May 2013 15:04:58 +0000
Subject: [PATCH] build: add config symbols for different ARM arch levels

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36620
---
 include/target.mk   |  1 +
 scripts/metadata.pl |  1 +
 target/Config.in    | 12 ++++++++++++
 3 files changed, 14 insertions(+)

diff --git a/include/target.mk b/include/target.mk
index 107558218e..6774076f91 100644
--- a/include/target.mk
+++ b/include/target.mk
@@ -186,6 +186,7 @@ ifeq ($(DUMP),1)
     ifneq ($(CONFIG_RTC_CLASS),)
       FEATURES += rtc
     endif
+    FEATURES += $(foreach v,v4 v5 v6 v7,$(if $(findstring -march=arm$(v),$(CFLAGS)),arm_$(v)))
 
     # remove duplicates
     FEATURES:=$(sort $(FEATURES))
diff --git a/scripts/metadata.pl b/scripts/metadata.pl
index b0abd78a0c..13abcb2937 100755
--- a/scripts/metadata.pl
+++ b/scripts/metadata.pl
@@ -153,6 +153,7 @@ sub target_config_features(@) {
 	my $ret;
 
 	while ($_ = shift @_) {
+		/arm_v(\w+)/ and $ret .= "\tselect arm_v$1\n";
 		/broken/ and $ret .= "\tdepends on BROKEN\n";
 		/audio/ and $ret .= "\tselect AUDIO_SUPPORT\n";
 		/display/ and $ret .= "\tselect DISPLAY_SUPPORT\n";
diff --git a/target/Config.in b/target/Config.in
index 967149d435..947e80ca4a 100644
--- a/target/Config.in
+++ b/target/Config.in
@@ -82,6 +82,18 @@ config armeb
 	select BIG_ENDIAN
 	bool
 
+config arm_v4
+	bool
+
+config arm_v5
+	bool
+
+config arm_v6
+	bool
+
+config arm_v7
+	bool
+
 config avr32
 	select BIG_ENDIAN
 	bool
-- 
2.34.1