diff options
| author | ruki <[email protected]> | 2018-12-20 23:55:49 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2018-12-20 17:34:56 +0800 |
| commit | d95758dc85e1e34e6ce507ffee78f7634a0661c5 (patch) | |
| tree | f740966dedf5eea54bf54c4f7d379fcfa012034a /xmake/core/tool/builder.lua | |
| parent | cbce3651b8baff9d4cad89b3056e629c9ace4a41 (diff) | |
add flagkind to has_flags
Diffstat (limited to 'xmake/core/tool/builder.lua')
| -rw-r--r-- | xmake/core/tool/builder.lua | 24 |
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 |
