tal/mod/core/env.lua
2025-02-06 02:30:52 +02:00

45 lines
860 B
Lua

local env = {};
local has_jit, jit = pcall(require, "jit");
if has_jit then
env.jit = true;
env.os = jit.os;
env.runtime = jit.version;
env.arch = jit.arch;
else
env.jit = false;
print "NOT RUNNING IN LUAJIT!!";
print "Some libraries might depend on ffi. Continue at your own risk!";
env.jit = false;
env.os = "unknown";
env.arch = "unknown";
local function extract_os()
if not io.popen then return end
local uname_f = io.popen("uname -ms");
if uname_f ~= nil then
local os, arch = uname_f:read "*a":sub(1, -2):match "([^%s]+) ([^%s]+)";
env.os = os;
env.arch = arch;
return;
end
local os_name = os.getenv "OS";
if os_name == "Windows_NT" then
env.os = "windows";
env.arch = os.getenv "PROCESSOR_ARCHITECTURE";
end
end
extract_os();
env.runtime = _VERSION;
end
return function (glob)
glob.env = env;
end