]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
DynASM: Compatibility with minilua.
authorMike Pall <mike>
Sat, 9 Jun 2012 12:41:44 +0000 (14:41 +0200)
committerMike Pall <mike>
Sat, 9 Jun 2012 12:42:03 +0000 (14:42 +0200)
dynasm/dynasm.lua

index 2ef816477adfa91b4139bb9d16de52d62b69100a..aa6e3395e11b698b1e0737895e6a839085f5d58f 100644 (file)
@@ -352,7 +352,7 @@ end
 
 -- Search for a file in the given path and open it for reading.
 local function pathopen(path, name)
-  local dirsep = match(package.path, "\\") and "\\" or "/"
+  local dirsep = package and match(package.path, "\\") and "\\" or "/"
   for _,p in ipairs(path) do
     local fullname = p == "" and name or p..dirsep..name
     local fin = io.open(fullname, "r")
@@ -616,6 +616,17 @@ end
 
 ------------------------------------------------------------------------------
 
+-- Replacement for customized Lua, which lacks the package library.
+local prefix = ""
+if not require then
+  function require(name)
+    local fp = assert(io.open(prefix..name..".lua"))
+    local s = fp:read("*a")
+    assert(fp:close())
+    return assert(loadstring(s, "@"..name..".lua"))()
+  end
+end
+
 -- Load architecture-specific module.
 local function loadarch(arch)
   if not match(arch, "^[%w_]+$") then return "bad arch name" end
@@ -1073,8 +1084,8 @@ end
 -- Add the directory dynasm.lua resides in to the Lua module search path.
 local arg = arg
 if arg and arg[0] then
-  local prefix = match(arg[0], "^(.*[/\\])")
-  if prefix then package.path = prefix.."?.lua;"..package.path end
+  prefix = match(arg[0], "^(.*[/\\])")
+  if package and prefix then package.path = prefix.."?.lua;"..package.path end
 end
 
 -- Start DynASM.