| Index: third_party/protobuf/BUILD.gn
|
| diff --git a/third_party/protobuf/BUILD.gn b/third_party/protobuf/BUILD.gn
|
| index e4520ec1473d5eb090d1ac311fa489f7938a2154..8211662957579b073146ca338822f42b2946dc75 100644
|
| --- a/third_party/protobuf/BUILD.gn
|
| +++ b/third_party/protobuf/BUILD.gn
|
| @@ -306,6 +306,10 @@ source_set("protobuf_full") {
|
| "src/google/protobuf/wrappers.pb.h",
|
| ]
|
|
|
| + deps = [
|
| + "//build/config/sanitizers:deps",
|
| + ]
|
| +
|
| configs -= [ "//build/config/compiler:chromium_code" ]
|
| configs += [
|
| "//build/config/compiler:no_chromium_code",
|
| @@ -329,7 +333,10 @@ source_set("protobuf_full") {
|
|
|
| # Only compile the compiler for the host architecture.
|
| if (current_toolchain == host_toolchain) {
|
| - executable("protoc") {
|
| + # protoc compiler is separated into protoc library and executable targets to
|
| + # support protoc plugins that need to link libprotoc, but not the main()
|
| + # itself. See src/google/protobuf/compiler/plugin.h
|
| + source_set("protoc_lib") {
|
| sources = [
|
| "src/google/protobuf/compiler/code_generator.cc",
|
| "src/google/protobuf/compiler/code_generator.h",
|
| @@ -476,7 +483,6 @@ if (current_toolchain == host_toolchain) {
|
| "src/google/protobuf/compiler/javanano/javanano_primitive_field.h",
|
| "src/google/protobuf/compiler/js/js_generator.cc",
|
| "src/google/protobuf/compiler/js/js_generator.h",
|
| - "src/google/protobuf/compiler/main.cc",
|
| "src/google/protobuf/compiler/objectivec/objectivec_enum.cc",
|
| "src/google/protobuf/compiler/objectivec/objectivec_enum.h",
|
| "src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc",
|
| @@ -528,16 +534,31 @@ if (current_toolchain == host_toolchain) {
|
| configs -= [ "//build/config/win:lean_and_mean" ]
|
| }
|
|
|
| + public_configs = [ ":protobuf_config" ]
|
| +
|
| cflags = protobuf_lite_cflags
|
|
|
| - deps = [
|
| + public_deps = [
|
| ":protobuf_full",
|
| - "//build/config/sanitizers:deps",
|
| + ]
|
| + }
|
| +
|
| + executable("protoc") {
|
| + sources = [
|
| + "src/google/protobuf/compiler/main.cc",
|
| + ]
|
| +
|
| + configs -= [ "//build/config/compiler:chromium_code" ]
|
| + configs += [ "//build/config/compiler:no_chromium_code" ]
|
| +
|
| + cflags = protobuf_lite_cflags
|
| +
|
| + deps = [
|
| + ":protoc_lib",
|
|
|
| # Default manifest on Windows (a no-op elsewhere).
|
| "//build/win:default_exe_manifest",
|
| ]
|
| - deps += [ "//build/config/sanitizers:deps" ]
|
| }
|
| }
|
|
|
|
|