diff options
author | Joshua Haberman <jhaberman@gmail.com> | 2018-11-05 16:19:32 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-05 16:19:32 -0800 |
commit | d4e78f9fdff9ad14a0e8e3ad5d7d8379ee2124ef (patch) | |
tree | 03762304cb7341f312d56099b3ce38127d1d6bc5 /tools/upbc.lua | |
parent | 9bb0814c48cb4d4df87ca64c9fabba5d15183cc1 (diff) | |
parent | 23fa64f10c27bdd4b8261c70a81a7721fd71f69f (diff) |
Merge pull request #132 from haberman/bazel
Added Bazel build, and auto-generate CMake build from it.
Diffstat (limited to 'tools/upbc.lua')
-rw-r--r-- | tools/upbc.lua | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/tools/upbc.lua b/tools/upbc.lua index 8ac4f73..adea373 100644 --- a/tools/upbc.lua +++ b/tools/upbc.lua @@ -13,11 +13,17 @@ local make_c_api = require "make_c_api" local upb = require "upb" local generate_upbdefs = false +local outdir = "." -for _, argument in ipairs(arg) do +i = 1 +while i <= #arg do + argument = arg[i] if argument.sub(argument, 1, 2) == "--" then if argument == "--generate-upbdefs" then generate_upbdefs = true + elseif argument == "--outdir" then + i = i + 1 + outdir = arg[i] else print("Unknown flag: " .. argument) return 1 @@ -29,6 +35,7 @@ for _, argument in ipairs(arg) do end src = argument end + i = i + 1 end if not src then @@ -40,6 +47,11 @@ function strip_proto(filename) return string.gsub(filename, '%.proto$','') end +local function open(filename) + local full_name = outdir .. "/" .. filename + return assert(io.open(full_name, "w"), "couldn't open " .. full_name) +end + -- Open input/output files. local f = assert(io.open(src, "r"), "couldn't open input file " .. src) local descriptor = f:read("*all") @@ -67,8 +79,8 @@ for _, file in ipairs(files) do if generate_upbdefs then -- Legacy generated defs. - local hfile = assert(io.open(hfilename, "w"), "couldn't open " .. hfilename) - local cfile = assert(io.open(cfilename, "w"), "couldn't open " .. cfilename) + local hfile = open(hfilename) + local cfile = open(cfilename) local happend = dump_cinit.file_appender(hfile) local cappend = dump_cinit.file_appender(cfile) @@ -90,8 +102,8 @@ for _, file in ipairs(files) do print(string.format(" cfilename=%s", cfilename)) end - local hfile = assert(io.open(hfilename, "w"), "couldn't open " .. hfilename) - local cfile = assert(io.open(cfilename, "w"), "couldn't open " .. cfilename) + local hfile = open(hfilename) + local cfile = open(cfilename) local happend = dump_cinit.file_appender(hfile) local cappend = dump_cinit.file_appender(cfile) |