From 6c8aaef2bbb005a2176e35c08f85957a9bc428d0 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Sat, 9 Jun 2012 14:41:44 +0200 Subject: [PATCH] DynASM: Compatibility with minilua. --- dynasm/dynasm.lua | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/dynasm/dynasm.lua b/dynasm/dynasm.lua index 2ef81647..aa6e3395 100644 --- a/dynasm/dynasm.lua +++ b/dynasm/dynasm.lua @@ -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.