diff options
Diffstat (limited to 'src/lj_arch.h')
-rw-r--r-- | src/lj_arch.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/lj_arch.h b/src/lj_arch.h index 1f8e1026..ce169b33 100644 --- a/src/lj_arch.h +++ b/src/lj_arch.h | |||
@@ -96,6 +96,7 @@ | |||
96 | #define LJ_TARGET_WINDOWS (LUAJIT_OS == LUAJIT_OS_WINDOWS) | 96 | #define LJ_TARGET_WINDOWS (LUAJIT_OS == LUAJIT_OS_WINDOWS) |
97 | #define LJ_TARGET_LINUX (LUAJIT_OS == LUAJIT_OS_LINUX) | 97 | #define LJ_TARGET_LINUX (LUAJIT_OS == LUAJIT_OS_LINUX) |
98 | #define LJ_TARGET_OSX (LUAJIT_OS == LUAJIT_OS_OSX) | 98 | #define LJ_TARGET_OSX (LUAJIT_OS == LUAJIT_OS_OSX) |
99 | #define LJ_TARGET_IOS (LJ_TARGET_OSX && LUAJIT_TARGET == LUAJIT_ARCH_ARM) | ||
99 | #define LJ_TARGET_POSIX (LUAJIT_OS > LUAJIT_OS_WINDOWS) | 100 | #define LJ_TARGET_POSIX (LUAJIT_OS > LUAJIT_OS_WINDOWS) |
100 | #define LJ_TARGET_DLOPEN LJ_TARGET_POSIX | 101 | #define LJ_TARGET_DLOPEN LJ_TARGET_POSIX |
101 | 102 | ||
@@ -149,10 +150,6 @@ | |||
149 | #define LJ_TARGET_MASKROT 1 | 150 | #define LJ_TARGET_MASKROT 1 |
150 | #define LJ_TARGET_UNIFYROT 2 /* Want only IR_BROR. */ | 151 | #define LJ_TARGET_UNIFYROT 2 /* Want only IR_BROR. */ |
151 | #define LJ_ARCH_NUMMODE LJ_NUMMODE_DUAL | 152 | #define LJ_ARCH_NUMMODE LJ_NUMMODE_DUAL |
152 | #if LJ_TARGET_OSX | ||
153 | /* Runtime code generation is restricted on iOS. Complain to Apple, not me. */ | ||
154 | #define LJ_ARCH_NOJIT 1 | ||
155 | #endif | ||
156 | 153 | ||
157 | #elif LUAJIT_TARGET == LUAJIT_ARCH_PPC | 154 | #elif LUAJIT_TARGET == LUAJIT_ARCH_PPC |
158 | 155 | ||
@@ -243,7 +240,7 @@ | |||
243 | #if defined(__ARM_PCS_VFP) | 240 | #if defined(__ARM_PCS_VFP) |
244 | #error "No support for ARM hard-float ABI (yet)" | 241 | #error "No support for ARM hard-float ABI (yet)" |
245 | #endif | 242 | #endif |
246 | #if !(__ARM_EABI__ || LJ_TARGET_OSX) | 243 | #if !(__ARM_EABI__ || LJ_TARGET_IOS) |
247 | #error "Only ARM EABI or iOS 3.0+ ABI is supported" | 244 | #error "Only ARM EABI or iOS 3.0+ ABI is supported" |
248 | #endif | 245 | #endif |
249 | #elif LJ_TARGET_PPC || LJ_TARGET_PPCSPE | 246 | #elif LJ_TARGET_PPC || LJ_TARGET_PPCSPE |
@@ -272,8 +269,15 @@ | |||
272 | #define LJ_DUALNUM 0 | 269 | #define LJ_DUALNUM 0 |
273 | #endif | 270 | #endif |
274 | 271 | ||
272 | #if LJ_TARGET_IOS | ||
273 | /* Runtime code generation is restricted on iOS. Complain to Apple, not me. */ | ||
274 | #ifndef LUAJIT_ENABLE_JIT | ||
275 | #define LJ_OS_NOJIT 1 | ||
276 | #endif | ||
277 | #endif | ||
278 | |||
275 | /* Disable or enable the JIT compiler. */ | 279 | /* Disable or enable the JIT compiler. */ |
276 | #if defined(LUAJIT_DISABLE_JIT) || defined(LJ_ARCH_NOJIT) | 280 | #if defined(LUAJIT_DISABLE_JIT) || defined(LJ_ARCH_NOJIT) || defined(LJ_OS_NOJIT) |
277 | #define LJ_HASJIT 0 | 281 | #define LJ_HASJIT 0 |
278 | #else | 282 | #else |
279 | #define LJ_HASJIT 1 | 283 | #define LJ_HASJIT 1 |
@@ -316,7 +320,7 @@ | |||
316 | #define LUAJIT_NO_EXP2 | 320 | #define LUAJIT_NO_EXP2 |
317 | #endif | 321 | #endif |
318 | 322 | ||
319 | #if defined(__symbian__) || (LJ_TARGET_ARM && LJ_TARGET_OSX) | 323 | #if defined(__symbian__) || LJ_TARGET_IOS |
320 | #define LUAJIT_NO_UNWIND | 324 | #define LUAJIT_NO_UNWIND |
321 | #endif | 325 | #endif |
322 | 326 | ||