Thomas Heijligen has uploaded this change for review. ( https://review.coreboot.org/c/flashrom/+/58269 )
Change subject: Makefile: move architecture test into the Makefile ......................................................................
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