os.findlib(): add new argument to specify additional library search paths
This commit is contained in:
parent
c922f3a199
commit
4323ed7a2f
@ -63,7 +63,10 @@
|
|||||||
return dirs
|
return dirs
|
||||||
end
|
end
|
||||||
|
|
||||||
function os.findlib(libname)
|
function os.findlib(libname, libdirs)
|
||||||
|
-- libname: library name with or without prefix and suffix
|
||||||
|
-- libdirs: (array or string): A set of additional search paths
|
||||||
|
|
||||||
local path, formats
|
local path, formats
|
||||||
|
|
||||||
-- assemble a search path, depending on the platform
|
-- assemble a search path, depending on the platform
|
||||||
@ -99,6 +102,18 @@
|
|||||||
path = path .. ":/lib:/usr/lib:/usr/local/lib"
|
path = path .. ":/lib:/usr/lib:/usr/local/lib"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local userpath = ""
|
||||||
|
|
||||||
|
if type(libdirs) == "string" then
|
||||||
|
userpath = libdirs
|
||||||
|
elseif type(libdirs) == "table" then
|
||||||
|
userpath = table.implode(libdirs, "", "", ":")
|
||||||
|
end
|
||||||
|
|
||||||
|
if (#userpath > 0) then
|
||||||
|
path = ":" .. userpath .. path
|
||||||
|
end
|
||||||
|
|
||||||
for _, fmt in ipairs(formats) do
|
for _, fmt in ipairs(formats) do
|
||||||
local name = string.format(fmt, libname)
|
local name = string.format(fmt, libname)
|
||||||
local result = os.pathsearch(name, path)
|
local result = os.pathsearch(name, path)
|
||||||
|
Loading…
Reference in New Issue
Block a user