summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBoris Nagaev <bnagaev@gmail.com>2016-01-09 11:54:12 (GMT)
committerBoris Nagaev <bnagaev@gmail.com>2016-01-17 21:30:18 (GMT)
commit36086a980a508f2496b4f2efe0d25a4d6149ad78 (patch)
tree8f4e5c5dae1210fcbdd988001f379fe9f9c125d7
parentd08e5078b9352f1bf2c1333c0b38d7de38b267a6 (diff)
downloadmxe-36086a980a508f2496b4f2efe0d25a4d6149ad78.zip
mxe-36086a980a508f2496b4f2efe0d25a4d6149ad78.tar.gz
mxe-36086a980a508f2496b4f2efe0d25a4d6149ad78.tar.bz2
build-pkg: refactor function makeItem2Index()
-rwxr-xr-xtools/build-pkg.lua17
1 files changed, 10 insertions, 7 deletions
diff --git a/tools/build-pkg.lua b/tools/build-pkg.lua
index 102c74f..8db71e4 100755
--- a/tools/build-pkg.lua
+++ b/tools/build-pkg.lua
@@ -299,18 +299,21 @@ local function sortForBuild(items, item2deps)
return build_list
end
+local function makeItem2Index(build_list)
+ local item2index = {}
+ for index, item in ipairs(build_list) do
+ assert(not item2index[item], 'Duplicate item')
+ item2index[item] = index
+ end
+ return item2index
+end
+
-- return if build_list is ordered topologically
local function isTopoOrdered(build_list, items, item2deps)
if #build_list ~= #items then
return false, 'Length of build_list is wrong'
end
- local item2index = {}
- for index, item in ipairs(build_list) do
- if item2index[item] then
- return false, 'Duplicate item: ' .. item
- end
- item2index[item] = index
- end
+ local item2index = makeItem2Index(build_list)
for item, deps in pairs(item2deps) do
for _, dep in ipairs(deps) do
if item2index[item] < item2index[dep] then