summaryrefslogtreecommitdiff
path: root/xmake/core/tool/builder.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2018-12-20 23:55:49 +0800
committerruki <[email protected]>2018-12-20 17:34:56 +0800
commitd95758dc85e1e34e6ce507ffee78f7634a0661c5 (patch)
treef740966dedf5eea54bf54c4f7d379fcfa012034a /xmake/core/tool/builder.lua
parentcbce3651b8baff9d4cad89b3056e629c9ace4a41 (diff)
add flagkind to has_flags
Diffstat (limited to 'xmake/core/tool/builder.lua')
-rw-r--r--xmake/core/tool/builder.lua24
1 files changed, 12 insertions, 12 deletions
diff --git a/xmake/core/tool/builder.lua b/xmake/core/tool/builder.lua
index 653f7cbe1..5966c0c2f 100644
--- a/xmake/core/tool/builder.lua
+++ b/xmake/core/tool/builder.lua
@@ -54,7 +54,7 @@ function builder:_targetkind()
end
-- map gcc flag to the given builder flag
-function builder:_mapflag(flag, mapflags)
+function builder:_mapflag(flag, flagkind, mapflags)
-- attempt to map it directly
local flag_mapped = mapflags[flag]
@@ -71,13 +71,13 @@ function builder:_mapflag(flag, mapflags)
end
-- has this flag?
- if self:has_flags(flag) then
+ if self:has_flags(flag, flagkind) then
return flag
end
end
-- map gcc flags to the given builder flags
-function builder:_mapflags(flags)
+function builder:_mapflags(flags, flagkind)
-- wrap flags first
flags = table.wrap(flags)
@@ -89,7 +89,7 @@ function builder:_mapflags(flags)
-- map flags
for _, flag in pairs(flags) do
- local flag_mapped = self:_mapflag(flag, mapflags)
+ local flag_mapped = self:_mapflag(flag, flagkind, mapflags)
if flag_mapped then
table.insert(results, flag_mapped)
end
@@ -99,7 +99,7 @@ function builder:_mapflags(flags)
-- has flags?
for _, flag in pairs(flags) do
- if self:has_flags(flag) then
+ if self:has_flags(flag, flagkind) then
table.insert(results, flag)
end
end
@@ -216,14 +216,14 @@ end
-- add flags from the option
function builder:_addflags_from_option(flags, opt)
for _, flagkind in ipairs(self:_flagkinds()) do
- table.join2(flags, self:_mapflags(opt:get(flagkind)))
+ table.join2(flags, self:_mapflags(opt:get(flagkind), flagkind))
end
end
-- add flags from the package
function builder:_addflags_from_package(flags, pkg)
for _, flagkind in ipairs(self:_flagkinds()) do
- table.join2(flags, self:_mapflags(pkg:get(flagkind)))
+ table.join2(flags, self:_mapflags(pkg:get(flagkind), flagkind))
end
end
@@ -273,11 +273,11 @@ function builder:_addflags_from_target(flags, target)
if (flagextra[flag] or {}).force then
table.join2(targetflags, flag)
else
- table.join2(targetflags, self:_mapflags(flag))
+ table.join2(targetflags, self:_mapflags(flag, flagkind))
end
end
else
- table.join2(targetflags, self:_mapflags(flags))
+ table.join2(targetflags, self:_mapflags(flags, flagkind))
end
end
@@ -296,7 +296,7 @@ function builder:_addflags_from_argument(flags, target, args)
for _, flagkind in ipairs(self:_flagkinds()) do
-- add auto mapping flags
- table.join2(flags, self:_mapflags(args[flagkind]))
+ table.join2(flags, self:_mapflags(args[flagkind], flagkind))
-- add original flags
local original_flags = (args.force or {})[flagkind]
@@ -445,8 +445,8 @@ function builder:get(name)
end
-- has flags?
-function builder:has_flags(flags)
- return self:_tool():has_flags(flags)
+function builder:has_flags(flags, flagkind)
+ return self:_tool():has_flags(flags, flagkind)
end
-- get the format of the given target kind