Merge pull request #1668 from starkos/v6-bootstrapping
Fix v6 bootstrapping from v5
This commit is contained in:
commit
64f1b3494a
@ -68,6 +68,12 @@
|
|||||||
name .. ".lua"
|
name .. ".lua"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- If this module is being requested by an embedded script, favor embedded modules.
|
||||||
|
-- This helps prevent local scripts from interfering with release build bootstrapping.
|
||||||
|
if string.startswith(_SCRIPT_DIR, '$/') then
|
||||||
|
table.insert(paths, 1, '$/' .. full)
|
||||||
|
end
|
||||||
|
|
||||||
-- try to locate the module
|
-- try to locate the module
|
||||||
for _, p in ipairs(paths) do
|
for _, p in ipairs(paths) do
|
||||||
local file = os.locate(p)
|
local file = os.locate(p)
|
||||||
@ -118,8 +124,9 @@
|
|||||||
local preloader = name .. "/_preload.lua"
|
local preloader = name .. "/_preload.lua"
|
||||||
preloader = os.locate("modules/" .. preloader) or os.locate(preloader)
|
preloader = os.locate("modules/" .. preloader) or os.locate(preloader)
|
||||||
if preloader then
|
if preloader then
|
||||||
m._preloaded[name] = include(preloader)
|
local modulePath = path.getdirectory(preloader)
|
||||||
if not m._preloaded[name] then
|
m._preloaded[modulePath] = include(preloader)
|
||||||
|
if not m._preloaded[modulePath] then
|
||||||
p.warn("module '%s' should return function from _preload.lua", name)
|
p.warn("module '%s' should return function from _preload.lua", name)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@ -306,9 +313,11 @@
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- any modules need to load to support this project?
|
-- any modules need to load to support this project?
|
||||||
for module, func in pairs(m._preloaded) do
|
for modulePath, func in pairs(m._preloaded) do
|
||||||
if not package.loaded[module] and shouldLoad(func) then
|
local moduleName = path.getbasename(modulePath)
|
||||||
require(module)
|
if not package.loaded[moduleName] and shouldLoad(func) then
|
||||||
|
_SCRIPT_DIR = modulePath
|
||||||
|
require(moduleName)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -36,6 +36,12 @@ int os_locate(lua_State* L)
|
|||||||
for (i = 1; i <= nArgs; ++i) {
|
for (i = 1; i <= nArgs; ++i) {
|
||||||
const char* name = lua_tostring(L, i);
|
const char* name = lua_tostring(L, i);
|
||||||
|
|
||||||
|
/* Direct path to an embedded file? */
|
||||||
|
if (name[0] == '$' && name[1] == '/' && premake_find_embedded_script(name + 2)) {
|
||||||
|
lua_pushvalue(L, i);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* Direct path to file? Return as absolute path */
|
/* Direct path to file? Return as absolute path */
|
||||||
if (do_isfile(L, name)) {
|
if (do_isfile(L, name)) {
|
||||||
lua_pushcfunction(L, path_getabsolute);
|
lua_pushcfunction(L, path_getabsolute);
|
||||||
|
Loading…
Reference in New Issue
Block a user