diff options
author | Mike Pall <mike> | 2023-09-09 23:01:26 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2023-09-09 23:01:26 +0200 |
commit | 4fe200229289c43868442ba344a71f4ff847bfe1 (patch) | |
tree | c051ae7540674a5aa1cc3b4cca9f445fc1838a7f | |
parent | 44da356e97a159f5962f32a526525d14bcd13179 (diff) | |
download | luajit-4fe200229289c43868442ba344a71f4ff847bfe1.tar.gz luajit-4fe200229289c43868442ba344a71f4ff847bfe1.tar.bz2 luajit-4fe200229289c43868442ba344a71f4ff847bfe1.zip |
Improve architecture detection error messages.
-rw-r--r-- | src/Makefile | 2 | ||||
-rw-r--r-- | src/lj_arch.h | 22 |
2 files changed, 16 insertions, 8 deletions
diff --git a/src/Makefile b/src/Makefile index dad90138..a83b8629 100644 --- a/src/Makefile +++ b/src/Makefile | |||
@@ -232,7 +232,7 @@ TARGET_ALDFLAGS= $(LDOPTIONS) $(TARGET_XLDFLAGS) $(TARGET_FLAGS) $(TARGET_LDFLAG | |||
232 | TARGET_ASHLDFLAGS= $(LDOPTIONS) $(TARGET_XSHLDFLAGS) $(TARGET_FLAGS) $(TARGET_SHLDFLAGS) | 232 | TARGET_ASHLDFLAGS= $(LDOPTIONS) $(TARGET_XSHLDFLAGS) $(TARGET_FLAGS) $(TARGET_SHLDFLAGS) |
233 | TARGET_ALIBS= $(TARGET_XLIBS) $(LIBS) $(TARGET_LIBS) | 233 | TARGET_ALIBS= $(TARGET_XLIBS) $(LIBS) $(TARGET_LIBS) |
234 | 234 | ||
235 | TARGET_TESTARCH=$(shell $(TARGET_CC) $(TARGET_TCFLAGS) -E lj_arch.h -dM) | 235 | TARGET_TESTARCH:=$(shell $(TARGET_CC) $(TARGET_TCFLAGS) -E lj_arch.h -dM) |
236 | ifneq (,$(findstring LJ_TARGET_X64 ,$(TARGET_TESTARCH))) | 236 | ifneq (,$(findstring LJ_TARGET_X64 ,$(TARGET_TESTARCH))) |
237 | TARGET_LJARCH= x64 | 237 | TARGET_LJARCH= x64 |
238 | else | 238 | else |
diff --git a/src/lj_arch.h b/src/lj_arch.h index da53b162..e77865d9 100644 --- a/src/lj_arch.h +++ b/src/lj_arch.h | |||
@@ -52,7 +52,7 @@ | |||
52 | #elif defined(__mips__) || defined(__mips) || defined(__MIPS__) || defined(__MIPS) | 52 | #elif defined(__mips__) || defined(__mips) || defined(__MIPS__) || defined(__MIPS) |
53 | #define LUAJIT_TARGET LUAJIT_ARCH_MIPS | 53 | #define LUAJIT_TARGET LUAJIT_ARCH_MIPS |
54 | #else | 54 | #else |
55 | #error "No support for this architecture (yet)" | 55 | #error "Architecture not supported (in this version), see: https://luajit.org/status.html#architectures" |
56 | #endif | 56 | #endif |
57 | 57 | ||
58 | #endif | 58 | #endif |
@@ -188,13 +188,13 @@ | |||
188 | #define LJ_TARGET_UNIFYROT 2 /* Want only IR_BROR. */ | 188 | #define LJ_TARGET_UNIFYROT 2 /* Want only IR_BROR. */ |
189 | #define LJ_ARCH_NUMMODE LJ_NUMMODE_DUAL | 189 | #define LJ_ARCH_NUMMODE LJ_NUMMODE_DUAL |
190 | 190 | ||
191 | #if __ARM_ARCH____ARM_ARCH_8__ || __ARM_ARCH_8A__ | 191 | #if __ARM_ARCH >= 8 || __ARM_ARCH_8__ || __ARM_ARCH_8A__ |
192 | #define LJ_ARCH_VERSION 80 | 192 | #define LJ_ARCH_VERSION 80 |
193 | #elif __ARM_ARCH_7__ || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH_7S__ || __ARM_ARCH_7VE__ | 193 | #elif __ARM_ARCH == 7 || __ARM_ARCH_7__ || __ARM_ARCH_7A__ || __ARM_ARCH_7R__ || __ARM_ARCH_7S__ || __ARM_ARCH_7VE__ |
194 | #define LJ_ARCH_VERSION 70 | 194 | #define LJ_ARCH_VERSION 70 |
195 | #elif __ARM_ARCH_6T2__ | 195 | #elif __ARM_ARCH_6T2__ |
196 | #define LJ_ARCH_VERSION 61 | 196 | #define LJ_ARCH_VERSION 61 |
197 | #elif __ARM_ARCH_6__ || __ARM_ARCH_6J__ || __ARM_ARCH_6K__ || __ARM_ARCH_6Z__ || __ARM_ARCH_6ZK__ | 197 | #elif __ARM_ARCH == 6 || __ARM_ARCH_6__ || __ARM_ARCH_6J__ || __ARM_ARCH_6K__ || __ARM_ARCH_6Z__ || __ARM_ARCH_6ZK__ |
198 | #define LJ_ARCH_VERSION 60 | 198 | #define LJ_ARCH_VERSION 60 |
199 | #else | 199 | #else |
200 | #define LJ_ARCH_VERSION 50 | 200 | #define LJ_ARCH_VERSION 50 |
@@ -328,29 +328,37 @@ | |||
328 | #elif LJ_TARGET_ARM | 328 | #elif LJ_TARGET_ARM |
329 | #if defined(__ARMEB__) | 329 | #if defined(__ARMEB__) |
330 | #error "No support for big-endian ARM" | 330 | #error "No support for big-endian ARM" |
331 | #undef LJ_TARGET_ARM | ||
331 | #endif | 332 | #endif |
332 | #if __ARM_ARCH_6M__ || __ARM_ARCH_7M__ || __ARM_ARCH_7EM__ | 333 | #if __ARM_ARCH_6M__ || __ARM_ARCH_7M__ || __ARM_ARCH_7EM__ |
333 | #error "No support for Cortex-M CPUs" | 334 | #error "No support for Cortex-M CPUs" |
335 | #undef LJ_TARGET_ARM | ||
334 | #endif | 336 | #endif |
335 | #if !(__ARM_EABI__ || LJ_TARGET_IOS) | 337 | #if !(__ARM_EABI__ || LJ_TARGET_IOS) |
336 | #error "Only ARM EABI or iOS 3.0+ ABI is supported" | 338 | #error "Only ARM EABI or iOS 3.0+ ABI is supported" |
339 | #undef LJ_TARGET_ARM | ||
337 | #endif | 340 | #endif |
338 | #elif LJ_TARGET_PPC || LJ_TARGET_PPCSPE | 341 | #elif LJ_TARGET_PPC || LJ_TARGET_PPCSPE |
339 | #if defined(_SOFT_FLOAT) || defined(_SOFT_DOUBLE) | 342 | #if defined(_SOFT_FLOAT) || defined(_SOFT_DOUBLE) |
340 | #error "No support for PowerPC CPUs without double-precision FPU" | 343 | #error "No support for PowerPC CPUs without double-precision FPU, use LuaJIT v2.1" |
344 | #undef LJ_TARGET_PPC | ||
341 | #endif | 345 | #endif |
342 | #if defined(_LITTLE_ENDIAN) && (!defined(_BYTE_ORDER) || (_BYTE_ORDER == _LITTLE_ENDIAN)) | 346 | #if defined(_LITTLE_ENDIAN) && (!defined(_BYTE_ORDER) || (_BYTE_ORDER == _LITTLE_ENDIAN)) |
343 | #error "No support for little-endian PowerPC" | 347 | #error "No support for little-endian PowerPC" |
348 | #undef LJ_TARGET_PPC | ||
344 | #endif | 349 | #endif |
345 | #if defined(_LP64) | 350 | #if defined(_LP64) |
346 | #error "No support for PowerPC 64 bit mode" | 351 | #error "No support for PowerPC 64 bit mode" |
352 | #undef LJ_TARGET_PPC | ||
347 | #endif | 353 | #endif |
348 | #elif LJ_TARGET_MIPS | 354 | #elif LJ_TARGET_MIPS |
349 | #if defined(__mips_soft_float) | 355 | #if defined(__mips_soft_float) |
350 | #error "No support for MIPS CPUs without FPU" | 356 | #error "No support for MIPS CPUs without FPU, use LuaJIT v2.1+" |
357 | #undef LJ_TARGET_MIPS | ||
351 | #endif | 358 | #endif |
352 | #if defined(_LP64) | 359 | #if defined(_LP64) |
353 | #error "No support for MIPS64" | 360 | #error "No support for MIPS64, use LuaJIT v2.1+" |
361 | #undef LJ_TARGET_MIPS | ||
354 | #endif | 362 | #endif |
355 | #endif | 363 | #endif |
356 | #endif | 364 | #endif |