Thomas Heijligen has uploaded this change for review.
Makefile: move architecture test into the Makefile
Change-Id: I29ce73be9c5cbe259a2471f8eea2f8745b68cdfa
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de>
---
M Makefile
M Makefile.include
D archtest.c
M platform.h
4 files changed, 38 insertions(+), 21 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/69/58269/1
diff --git a/Makefile b/Makefile
index 50fd56c..3acef60 100644
--- a/Makefile
+++ b/Makefile
@@ -163,8 +163,7 @@
# is ever used (of course), but should come after any lines setting CC because
# the line below uses CC itself.
override TARGET_OS := $(call c_macro_test, $(TARGET_OS_TEST))
-override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null \
- | tail -1 | cut -f 2 -d'"'))
+override ARCH := $(call c_macro_test, $(ARCH_TEST))
override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null \
| tail -1))
@@ -866,11 +865,8 @@
echo "found." || { echo "not found."; \
rm -f .test.c .test$(EXEC_SUFFIX); exit 1; }; } 2>>$(BUILD_DETAILS_FILE); echo $? >&3 ; } | tee -a $(BUILD_DETAILS_FILE) >&4; } 3>&1;} | { read rc ; exit ${rc}; } } 4>&1
@rm -f .test.c .test$(EXEC_SUFFIX)
- @printf "Target arch is "
- @# FreeBSD wc will output extraneous whitespace.
- @echo $(ARCH)|wc -w|grep -q '^[[:blank:]]*1[[:blank:]]*$$' || \
- ( echo "unknown (\"$(ARCH)\"). Aborting."; exit 1)
- @printf "%s\n" '$(ARCH)'
+ @echo Target arch is $(ARCH)
+ @if [ $(ARCH) = unknown ]; then echo Aborting.; exit 1; fi
@echo Target OS os $(TARGET_OS)
@if [ $(TARGET_OS) = unknown ]; then echo Aborting.; exit 1; fi
ifeq ($(TARGET_OS), libpayload)
diff --git a/Makefile.include b/Makefile.include
index a6e19be..eb54acf 100644
--- a/Makefile.include
+++ b/Makefile.include
@@ -74,6 +74,41 @@
#endif \n
endef
+define ARCH_TEST
+#if defined (__i386__) || defined (__x86_64__) || defined(__amd64__) \n
+ 'x86' \n
+#elif defined (__mips) || defined (__mips__) || defined (__MIPS__) || \
+ defined (mips) \n
+ 'mips' \n
+#elif defined(__powerpc) || defined(__powerpc__) || defined(__powerpc64__) || \
+ defined(__POWERPC__) || defined(__ppc__) || defined(__ppc64__) || \
+ defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \
+ defined(__ppc) \n
+ 'ppc' \n
+#elif defined(__arm__) || defined(__TARGET_ARCH_ARM) || defined(_ARM) || \
+ defined(_M_ARM) || defined(__arm) || defined(__aarch64__) \n
+ 'arm' \n
+#elif defined (__sparc__) || defined (__sparc) \n
+ 'sparc' \n
+#elif defined (__alpha__) \n
+ 'alpha' \n
+#elif defined (__hppa__) || defined (__hppa) \n
+ 'hppa' \n
+#elif defined (__m68k__) \n
+ 'm68k' \n
+#elif defined (__riscv) \n
+ 'riscv' \n
+#elif defined (__sh__) \n
+ 'sh' \n
+#elif defined(__s390__) || defined(__s390x__) || defined(__zarch__) \n
+ 's390' \n
+#elif defined(__arc__) \n
+ 'arc' \n
+#else \n
+ 'unknown' \n
+#endif \n
+endef
+
define COMPILER_TEST
int main(int argc, char **argv)
{
diff --git a/archtest.c b/archtest.c
deleted file mode 100644
index 791f1a3..0000000
--- a/archtest.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "platform.h"
-__FLASHROM_ARCH__
diff --git a/platform.h b/platform.h
index 04f1ab1..cd8e54b 100644
--- a/platform.h
+++ b/platform.h
@@ -39,43 +39,31 @@
// Likewise for target architectures
#if defined (__i386__) || defined (__x86_64__) || defined(__amd64__)
- #define __FLASHROM_ARCH__ "x86"
#define IS_X86 1
#elif defined (__mips) || defined (__mips__) || defined (__MIPS__) || defined (mips)
- #define __FLASHROM_ARCH__ "mips"
#define IS_MIPS 1
#elif defined(__powerpc) || defined(__powerpc__) || defined(__powerpc64__) || defined(__POWERPC__) || \
defined(__ppc__) || defined(__ppc64__) || defined(_M_PPC) || defined(_ARCH_PPC) || \
defined(_ARCH_PPC64) || defined(__ppc)
- #define __FLASHROM_ARCH__ "ppc"
#define IS_PPC 1
#elif defined(__arm__) || defined(__TARGET_ARCH_ARM) || defined(_ARM) || defined(_M_ARM) || defined(__arm) || \
defined(__aarch64__)
- #define __FLASHROM_ARCH__ "arm"
#define IS_ARM 1
#elif defined (__sparc__) || defined (__sparc)
- #define __FLASHROM_ARCH__ "sparc"
#define IS_SPARC 1
#elif defined (__alpha__)
- #define __FLASHROM_ARCH__ "alpha"
#define IS_ALPHA 1
#elif defined (__hppa__) || defined (__hppa)
- #define __FLASHROM_ARCH__ "hppa"
#define IS_HPPA 1
#elif defined (__m68k__)
- #define __FLASHROM_ARCH__ "m68k"
#define IS_M68K 1
#elif defined (__riscv)
- #define __FLASHROM_ARCH__ "riscv"
#define IS_RISCV 1
#elif defined (__sh__)
- #define __FLASHROM_ARCH__ "sh"
#define IS_SH 1
#elif defined(__s390__) || defined(__s390x__) || defined(__zarch__)
- #define __FLASHROM_ARCH__ "s390"
#define IS_S390 1
#elif defined(__arc__)
- #define __FLASHROM_ARCH__ "arc"
#define IS_ARC 1
#endif
To view, visit change 58269. To unsubscribe, or for help writing mail filters, visit settings.