summaryrefslogtreecommitdiff
path: root/tools/upbc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tools/upbc.lua')
-rw-r--r--tools/upbc.lua91
1 files changed, 0 insertions, 91 deletions
diff --git a/tools/upbc.lua b/tools/upbc.lua
deleted file mode 100644
index 80d2886..0000000
--- a/tools/upbc.lua
+++ /dev/null
@@ -1,91 +0,0 @@
---[[
-
- The upb compiler. It can write two different kinds of output
- files:
-
- - generated code for a C API (foo.upb.h, foo.upb.c)
- - (obsolete): definitions of upb defs. (foo.upbdefs.h, foo.upbdefs.c)
-
---]]
-
-local dump_cinit = require "dump_cinit"
-local upb = require "upb"
-
-local generate_upbdefs = false
-local outdir = "."
-
-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
- end
- else
- if src then
- print("upbc can only handle one input file at a time.")
- return 1
- end
- src = argument
- end
- i = i + 1
-end
-
-if not src then
- print("Usage: upbc [--generate-upbdefs] <binary descriptor>")
- return 1
-end
-
-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")
-local files = upb.load_descriptor(descriptor)
-local symtab = upb.SymbolTable()
-
-for _, file in ipairs(files) do
- symtab:add_file(file)
- local outbase = strip_proto(file:name())
-
- -- Write upbdefs.
-
- local hfilename = outbase .. ".upbdefs.h"
- local cfilename = outbase .. ".upbdefs.c"
-
- if os.getenv("UPBC_VERBOSE") then
- print("upbc:")
- print(string.format(" source file=%s", src))
- print(string.format(" output file base=%s", outbase))
- print(string.format(" hfilename=%s", hfilename))
- print(string.format(" cfilename=%s", cfilename))
- end
-
- os.execute(string.format("mkdir -p `dirname %s`", outbase))
-
- assert(generate_upbdefs)
- -- Legacy generated defs.
- local hfile = open(hfilename)
- local cfile = open(cfilename)
-
- local happend = dump_cinit.file_appender(hfile)
- local cappend = dump_cinit.file_appender(cfile)
-
- dump_cinit.dump_defs(file, happend, cappend)
-
- hfile:close()
- cfile:close()
-end
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback