Browse Source

New macro LUA_USE_IOS

Do not try to detect automatically whether system is iOS; it is
simpler and more reliable to let the programmer inform that.
Roberto Ierusalimschy 2 years ago
parent
commit
cf08915d62
2 changed files with 11 additions and 12 deletions
  1. 5 12
      loslib.c
  2. 6 0
      luaconf.h

+ 5 - 12
loslib.c

@@ -138,21 +138,14 @@
 /* }================================================================== */
 
 
-/*
-** Despite claiming to be ISO, the C library in some Apple platforms
-** does not implement 'system'.
-*/
-#if !defined(l_system) && defined(__APPLE__)	/* { */
-#include "TargetConditionals.h"
-#if TARGET_OS_IOS || TARGET_OS_WATCH || TARGET_OS_TV
-#define l_system(cmd) ((cmd) == NULL ? 0 : -1)
-#endif
-#endif						/* } */
-
 #if !defined(l_system)
+#if defined(LUA_USE_IOS)
+/* Despite claiming to be ISO C, iOS does not implement 'system'. */
+#define l_system(cmd) ((cmd) == NULL ? 0 : -1)
+#else
 #define l_system(cmd)	system(cmd)  /* default definition */
 #endif
-
+#endif
 
 
 static int os_execute (lua_State *L) {

+ 6 - 0
luaconf.h

@@ -70,6 +70,12 @@
 #endif
 
 
+#if defined(LUA_USE_IOS)
+#define LUA_USE_POSIX
+#define LUA_USE_DLOPEN
+#endif
+
+
 /*
 @@ LUAI_IS32INT is true iff 'int' has (at least) 32 bits.
 */