![]() |
||
|
Hey everyone and happy new Year,
I contact you to talk about an issue that has been discussed several times already: When compiling for iOS, Apple decided to make the `system(…)` function unavailable. The only way to compile Lua for this platform at the moment is by removing this call for the iOS build, e.g. maintaining a fork of Lua.
Allow me to quickly list past discussions on this topic: http://lua-users.org/lists/lua-l/2019-11/msg00095.html http://lua-users.org/lists/lua-l/2017-09/msg00217.html http://lua-users.org/lists/lua-l/2017-09/msg00235.html http://lua-users.org/lists/lua-l/2015-07/msg00493.html
All of these threads contain suggestions on how to change the code, but no code change ever made it into the repository. As I understood, the reason for this is that Lua targets standard compliant C and should not contain many edge case workarounds for individual operating systems using #ifdefs.
I respect these intentions. If this happens to be the reason no changes have been made, I do believe there would be ways to help us developers who target iOS without introducing special behaviour that is just useful for iOS. For example, one could introduce generalized setting to luaconf that decides whether the Lua „execute“ function should be available / work at all. This seems like something very useful anyway for a scripting language, since the Lua standard operating system library contains several functions one might want to use without allowing access to calling other programs.
Thank you for your time and for maintaining Lua!
Kind Regards, Julian Müller-Huschke |