summaryrefslogtreecommitdiff
path: root/BUILD
diff options
context:
space:
mode:
authorJosh Haberman <jhaberman@gmail.com>2018-11-14 16:46:19 -0800
committerJosh Haberman <jhaberman@gmail.com>2018-11-14 16:46:19 -0800
commit9ce4a77f61c134bbed28bfd5be5cd7dc0e80f5e3 (patch)
tree2275cab3e510d488354e341346b30928d142896b /BUILD
parent5f575995b56f2ae97d3b9f5dc1efef233def7419 (diff)
Updates to build system for upb C++ compiler.
Diffstat (limited to 'BUILD')
-rw-r--r--BUILD42
1 files changed, 33 insertions, 9 deletions
diff --git a/BUILD b/BUILD
index 458463e..6503ed0 100644
--- a/BUILD
+++ b/BUILD
@@ -249,7 +249,7 @@ cc_test(
upb_proto_library(
name = "conformance_proto_upb",
- upbc = ":upbc",
+ upbc = ":protoc-gen-upb",
deps = [
"@com_google_protobuf//:conformance_proto",
"@com_google_protobuf//:test_messages_proto3_proto",
@@ -373,13 +373,33 @@ lua_test(
# upb compiler #################################################################
lua_binary(
- name = "upbc",
+ name = "lua_upbc",
luadeps = [
"lua/upbc_lib",
],
luamain = "tools/upbc.lua",
)
+cc_library(
+ name = "upbc_generator",
+ hdrs = ["upbc/generator.h"],
+ srcs = ["upbc/generator.cc", "upbc/message_layout.h", "upbc/message_layout.cc"],
+ deps = [
+ "@com_google_protobuf//:protobuf",
+ "@com_google_protobuf//:protoc_lib",
+ "@absl//absl/strings",
+ ],
+)
+
+cc_binary(
+ name = "protoc-gen-upb",
+ srcs = ["upbc/main.cc"],
+ deps = [
+ ":upbc_generator",
+ "@com_google_protobuf//:protoc_lib",
+ ],
+)
+
# Test the CMake build #########################################################
make_shell_script(
@@ -394,6 +414,7 @@ sh_test(
data = glob([
"CMakeLists.txt",
"google/**/*",
+ "upbc/**/*",
"upb/**/*",
"tests/**/*",
]) + [
@@ -458,8 +479,8 @@ genrule(
"generated/upb/descriptor/descriptor.upbdefs.h",
"generated/upb/descriptor/descriptor.upbdefs.c",
],
- cmd = "UPBC=$$PWD/$(location :upbc); INFILE=$$PWD/$<; cd $(GENDIR)/generated && $$UPBC --generate-upbdefs $$INFILE",
- tools = [":upbc"],
+ cmd = "UPBC=$$PWD/$(location :lua_upbc); INFILE=$$PWD/$<; cd $(GENDIR)/generated && $$UPBC --generate-upbdefs $$INFILE",
+ tools = [":lua_upbc"],
)
proto_library(
@@ -478,13 +499,16 @@ genrule(
genrule(
name = "generate_descriptor_c",
- srcs = ["generated/google/protobuf/descriptor.pb"],
+ srcs = ["google/protobuf/descriptor.proto"],
outs = [
"generated/google/protobuf/descriptor.upb.h",
"generated/google/protobuf/descriptor.upb.c",
],
- cmd = "UPBC=$$PWD/$(location :upbc); INFILE=$$PWD/$<; cd $(GENDIR)/generated && $$UPBC $$INFILE",
- tools = [":upbc"],
+ cmd = "$(location @com_google_protobuf//:protoc) $< --upb_out=$(GENDIR)/generated --plugin=protoc-gen-upb=$(location :protoc-gen-upb)",
+ tools = [
+ "@com_google_protobuf//:protoc",
+ ":protoc-gen-upb"
+ ],
)
proto_library(
@@ -506,8 +530,8 @@ genrule(
"generated/tests/json/test.upbdefs.h",
"generated/tests/json/test.upbdefs.c",
],
- cmd = "UPBC=$$PWD/$(location :upbc); INFILE=$$PWD/$<; cd $(GENDIR)/generated && $$UPBC --generate-upbdefs $$INFILE",
- tools = [":upbc"],
+ cmd = "UPBC=$$PWD/$(location :lua_upbc); INFILE=$$PWD/$<; cd $(GENDIR)/generated && $$UPBC --generate-upbdefs $$INFILE",
+ tools = [":lua_upbc"],
)
genrule(
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback