diff options
author | Boris Nagaev <bnagaev@gmail.com> | 2016-01-09 11:54:12 (GMT) |
---|---|---|
committer | Boris Nagaev <bnagaev@gmail.com> | 2016-01-17 21:30:18 (GMT) |
commit | 36086a980a508f2496b4f2efe0d25a4d6149ad78 (patch) | |
tree | 8f4e5c5dae1210fcbdd988001f379fe9f9c125d7 | |
parent | d08e5078b9352f1bf2c1333c0b38d7de38b267a6 (diff) | |
download | mxe-36086a980a508f2496b4f2efe0d25a4d6149ad78.zip mxe-36086a980a508f2496b4f2efe0d25a4d6149ad78.tar.gz mxe-36086a980a508f2496b4f2efe0d25a4d6149ad78.tar.bz2 |
build-pkg: refactor function makeItem2Index()
-rwxr-xr-x | tools/build-pkg.lua | 17 |
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 |