]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Improve architecture detection error messages.
authorMike Pall <mike>
Sat, 9 Sep 2023 21:01:26 +0000 (23:01 +0200)
committerMike Pall <mike>
Sat, 9 Sep 2023 21:01:26 +0000 (23:01 +0200)
src/Makefile
src/lj_arch.h

index dad90138e5440e41d8ad7c979a0de49843649c43..a83b862941abe99dfee43a79fdb1c6d3e11f1b09 100644 (file)
@@ -232,7 +232,7 @@ TARGET_ALDFLAGS= $(LDOPTIONS) $(TARGET_XLDFLAGS) $(TARGET_FLAGS) $(TARGET_LDFLAG
 TARGET_ASHLDFLAGS= $(LDOPTIONS) $(TARGET_XSHLDFLAGS) $(TARGET_FLAGS) $(TARGET_SHLDFLAGS)
 TARGET_ALIBS= $(TARGET_XLIBS) $(LIBS) $(TARGET_LIBS)
 
-TARGET_TESTARCH=$(shell $(TARGET_CC) $(TARGET_TCFLAGS) -E lj_arch.h -dM)
+TARGET_TESTARCH:=$(shell $(TARGET_CC) $(TARGET_TCFLAGS) -E lj_arch.h -dM)
 ifneq (,$(findstring LJ_TARGET_X64 ,$(TARGET_TESTARCH)))
   TARGET_LJARCH= x64
 else
index da53b1626be1c8c5df05d494452744ef7bece418..e77865d9e4157e0940a4a6cb60b85300dde85556 100644 (file)
@@ -52,7 +52,7 @@
 #elif defined(__mips__) || defined(__mips) || defined(__MIPS__) || defined(__MIPS)
 #define LUAJIT_TARGET  LUAJIT_ARCH_MIPS
 #else
-#error "No support for this architecture (yet)"
+#error "Architecture not supported (in this version), see: https://luajit.org/status.html#architectures"
 #endif
 
 #endif
 #define LJ_TARGET_UNIFYROT     2       /* Want only IR_BROR. */
 #define LJ_ARCH_NUMMODE                LJ_NUMMODE_DUAL
 
-#if __ARM_ARCH____ARM_ARCH_8__ || __ARM_ARCH_8A__
+#if __ARM_ARCH >= 8 || __ARM_ARCH_8__ || __ARM_ARCH_8A__
 #define LJ_ARCH_VERSION                80
-#elif __ARM_ARCH_7__ || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH_7S__ || __ARM_ARCH_7VE__
+#elif __ARM_ARCH == 7 || __ARM_ARCH_7__ || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH_7S__ || __ARM_ARCH_7VE__
 #define LJ_ARCH_VERSION                70
 #elif __ARM_ARCH_6T2__
 #define LJ_ARCH_VERSION                61
-#elif __ARM_ARCH_6__ || __ARM_ARCH_6J__ || __ARM_ARCH_6K__ || __ARM_ARCH_6Z__ || __ARM_ARCH_6ZK__
+#elif __ARM_ARCH == 6 || __ARM_ARCH_6__ || __ARM_ARCH_6J__ || __ARM_ARCH_6K__ || __ARM_ARCH_6Z__ || __ARM_ARCH_6ZK__
 #define LJ_ARCH_VERSION                60
 #else
 #define LJ_ARCH_VERSION                50
 #elif LJ_TARGET_ARM
 #if defined(__ARMEB__)
 #error "No support for big-endian ARM"
+#undef LJ_TARGET_ARM
 #endif
 #if __ARM_ARCH_6M__ || __ARM_ARCH_7M__ || __ARM_ARCH_7EM__
 #error "No support for Cortex-M CPUs"
+#undef LJ_TARGET_ARM
 #endif
 #if !(__ARM_EABI__ || LJ_TARGET_IOS)
 #error "Only ARM EABI or iOS 3.0+ ABI is supported"
+#undef LJ_TARGET_ARM
 #endif
 #elif LJ_TARGET_PPC || LJ_TARGET_PPCSPE
 #if defined(_SOFT_FLOAT) || defined(_SOFT_DOUBLE)
-#error "No support for PowerPC CPUs without double-precision FPU"
+#error "No support for PowerPC CPUs without double-precision FPU, use LuaJIT v2.1"
+#undef LJ_TARGET_PPC
 #endif
 #if defined(_LITTLE_ENDIAN) && (!defined(_BYTE_ORDER) || (_BYTE_ORDER == _LITTLE_ENDIAN))
 #error "No support for little-endian PowerPC"
+#undef LJ_TARGET_PPC
 #endif
 #if defined(_LP64)
 #error "No support for PowerPC 64 bit mode"
+#undef LJ_TARGET_PPC
 #endif
 #elif LJ_TARGET_MIPS
 #if defined(__mips_soft_float)
-#error "No support for MIPS CPUs without FPU"
+#error "No support for MIPS CPUs without FPU, use LuaJIT v2.1+"
+#undef LJ_TARGET_MIPS
 #endif
 #if defined(_LP64)
-#error "No support for MIPS64"
+#error "No support for MIPS64, use LuaJIT v2.1+"
+#undef LJ_TARGET_MIPS
 #endif
 #endif
 #endif