diff options
author | Josh Haberman <jhaberman@gmail.com> | 2018-11-14 16:46:19 -0800 |
---|---|---|
committer | Josh Haberman <jhaberman@gmail.com> | 2018-11-14 16:46:19 -0800 |
commit | 9ce4a77f61c134bbed28bfd5be5cd7dc0e80f5e3 (patch) | |
tree | 2275cab3e510d488354e341346b30928d142896b /BUILD | |
parent | 5f575995b56f2ae97d3b9f5dc1efef233def7419 (diff) |
Updates to build system for upb C++ compiler.
Diffstat (limited to 'BUILD')
-rw-r--r-- | BUILD | 42 |
1 files changed, 33 insertions, 9 deletions
@@ -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( |