[PATCH] kconfig: allow ARCH set to 'the machine hardware name', like 's390x' but not 's390'

From: Adam Lee
Date: Fri Aug 17 2012 - 03:40:06 EST


This patch add support for setting ARCH to 'the machine hardware
name'(`uname -m).

UTS_MACHINE is not always the same as SRCARCH, for example, s390x, we
should set UTS_MACHINE=s390x, and SRCARCH=s390. This patch makes that
working when "make ARCH=s390x".

And it avoid some error during invocation of make when ARCH set to
s390x, ppc64 or some machine hardware name else. Lots of scripts will
have no need to hack(like what we did in Red Hat), just use `uname -m`.

Signed-off-by: Adam Lee <adam8157@xxxxxxxxx>
---
Makefile | 37 ++++++++-----------------------------
1 file changed, 8 insertions(+), 29 deletions(-)

diff --git a/Makefile b/Makefile
index 9cc77ac..4f06c64 100644
--- a/Makefile
+++ b/Makefile
@@ -197,36 +197,15 @@ CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)

# Architecture as present in compile.h
UTS_MACHINE := $(ARCH)
-SRCARCH := $(ARCH)

-# Additional ARCH settings for x86
-ifeq ($(ARCH),i386)
- SRCARCH := x86
-endif
-ifeq ($(ARCH),x86_64)
- SRCARCH := x86
-endif
-
-# Additional ARCH settings for sparc
-ifeq ($(ARCH),sparc32)
- SRCARCH := sparc
-endif
-ifeq ($(ARCH),sparc64)
- SRCARCH := sparc
-endif
-
-# Additional ARCH settings for sh
-ifeq ($(ARCH),sh64)
- SRCARCH := sh
-endif
-
-# Additional ARCH settings for tile
-ifeq ($(ARCH),tilepro)
- SRCARCH := tile
-endif
-ifeq ($(ARCH),tilegx)
- SRCARCH := tile
-endif
+# Where arch specific source located
+SRCARCH := $(shell echo $(ARCH) | \
+ sed -e s/i.86/x86/ -e s/x86_64/x86/ \
+ -e s/arm.*/arm/ -e s/sa110/arm/ \
+ -e s/m68k.*/m68k/ -e s/mips.*/mips/ \
+ -e s/parisc64/parisc/ -e s/ppc.*/powerpc/ \
+ -e s/s390x/s390/ -e s/sh.*/sh/ -e s/sun4u/sparc/ \
+ -e s/sparc.*/sparc/ -e s/tile.*/tile/ )

# Where to locate arch specific headers
hdr-arch := $(SRCARCH)
--
1.7.11.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/