aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2018-06-26 10:16:37 -0300
committerHisham Muhammad <hisham@gobolinux.org>2018-07-01 21:32:39 -0300
commitb7680a66385dde34c8e8dbdeafc22156425cb38c (patch)
treed153ea55464ffae0dc6f5d3447c22ed58e0ccb57 /src
parent5d34b03293d7bbdc3376fc04c02634eaca7f6df7 (diff)
downloadluarocks-b7680a66385dde34c8e8dbdeafc22156425cb38c.tar.gz
luarocks-b7680a66385dde34c8e8dbdeafc22156425cb38c.tar.bz2
luarocks-b7680a66385dde34c8e8dbdeafc22156425cb38c.zip
mingw32: do not link Lua statically
Diffstat (limited to 'src')
-rw-r--r--src/luarocks/deps.lua6
-rw-r--r--src/luarocks/fun.lua11
2 files changed, 17 insertions, 0 deletions
diff --git a/src/luarocks/deps.lua b/src/luarocks/deps.lua
index 8abde2c2..90c7b3d9 100644
--- a/src/luarocks/deps.lua
+++ b/src/luarocks/deps.lua
@@ -6,6 +6,7 @@ local cfg = require("luarocks.core.cfg")
6local manif = require("luarocks.manif") 6local manif = require("luarocks.manif")
7local path = require("luarocks.path") 7local path = require("luarocks.path")
8local dir = require("luarocks.dir") 8local dir = require("luarocks.dir")
9local fun = require("luarocks.fun")
9local util = require("luarocks.util") 10local util = require("luarocks.util")
10local vers = require("luarocks.core.vers") 11local vers = require("luarocks.core.vers")
11local queries = require("luarocks.queries") 12local queries = require("luarocks.queries")
@@ -370,6 +371,11 @@ local function check_external_dependency(name, ext_files, vars, mode)
370 local err_testfile 371 local err_testfile
371 for _, extdir in ipairs(cfg.external_deps_dirs) do 372 for _, extdir in ipairs(cfg.external_deps_dirs) do
372 local dirs = get_external_deps_dirs(mode) 373 local dirs = get_external_deps_dirs(mode)
374 if cfg.is_platform("mingw32") and name == "LUA" then
375 dirs.LIBDIR.pattern = fun.filter(util.deep_copy(dirs.LIBDIR.pattern), function(s)
376 return not s:match("%.a$")
377 end)
378 end
373 local ok 379 local ok
374 ok, err_dirname, err_testfile = check_external_dependency_at(extdir, name, ext_files, vars, dirs, err_files) 380 ok, err_dirname, err_testfile = check_external_dependency_at(extdir, name, ext_files, vars, dirs, err_files)
375 if ok then 381 if ok then
diff --git a/src/luarocks/fun.lua b/src/luarocks/fun.lua
index a4dc6840..9ba02bf5 100644
--- a/src/luarocks/fun.lua
+++ b/src/luarocks/fun.lua
@@ -31,6 +31,17 @@ function fun.map(xs, f)
31 return rs 31 return rs
32end 32end
33 33
34function fun.filter(xs, f)
35 local rs = {}
36 for i = 1, #xs do
37 local v = xs[i]
38 if f(v) then
39 rs[#rs+1] = v
40 end
41 end
42 return rs
43end
44
34function fun.traverse(t, f) 45function fun.traverse(t, f)
35 return fun.map(t, function(x) 46 return fun.map(t, function(x)
36 return type(x) == "table" and fun.traverse(x, f) or f(x) 47 return type(x) == "table" and fun.traverse(x, f) or f(x)