Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(66)

Unified Diff: third_party/protobuf/BUILD.gn

Issue 2885223002: Protobuf: Remove protobuf globals patch (Closed)
Patch Set: typo Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | third_party/protobuf/README.chromium » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/protobuf/BUILD.gn
diff --git a/third_party/protobuf/BUILD.gn b/third_party/protobuf/BUILD.gn
index 30c840874df57618f6ddb7b7809b5114b96035e3..5b986b5e5a62b8a9bff383929c5e9c56b72cbe66 100644
--- a/third_party/protobuf/BUILD.gn
+++ b/third_party/protobuf/BUILD.gn
@@ -36,11 +36,6 @@ config("using_proto") {
]
}
-protobuf_globals_sources = [
- "src/google/protobuf/globals.cc",
- "src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc",
-]
-
protobuf_lite_sources = [
"src/google/protobuf/arena.cc",
"src/google/protobuf/arena.h",
@@ -78,6 +73,7 @@ protobuf_lite_sources = [
"src/google/protobuf/stubs/atomicops_internals_ppc_gcc.h",
"src/google/protobuf/stubs/atomicops_internals_solaris.h",
"src/google/protobuf/stubs/atomicops_internals_tsan.h",
+ "src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc",
"src/google/protobuf/stubs/atomicops_internals_x86_gcc.h",
"src/google/protobuf/stubs/atomicops_internals_x86_msvc.cc",
"src/google/protobuf/stubs/atomicops_internals_x86_msvc.h",
@@ -146,29 +142,21 @@ if (is_win) {
# libmirclient -> libmirprotobuf -> libprotobuf-lite. Trying to load
# the system libprotobuf-lite after already having loaded the libprotobuf_lite
# component will result in an immediate crash. (crbug.com/700120)
-if (is_linux && !is_chromeos) {
- link_target_type = "static_library"
-} else {
- link_target_type = "component"
-}
-
-if (is_component_build && is_linux && !is_chromeos) {
- # Even though protobuf is statically linked on Linux, global data must
- # be shared across different copies of the library in each component.
- # protobuf_globals is a shared library that provides this state, but is
- # careful to prefix all exported symbols with 'cr_' so they don't conflict
- # with other versions of protobuf.
- component("protobuf_globals") {
- configs += [
- ":protobuf_config",
- ":protobuf_use_dlls",
+if (is_component_build && is_desktop_linux) {
+ shared_library("mirclient") {
+ inputs = [
+ "mirclient.map",
]
- defines = [ "LIBPROTOBUF_EXPORTS" ]
- sources = protobuf_globals_sources
+ sources = [
+ "mirclient.cc",
+ ]
+ ldflags = [ "-Wl,--version-script=" +
+ rebase_path("//third_party/protobuf/mirclient.map") ]
+ output_extension = "so.9"
}
}
-target(link_target_type, "protobuf_lite") {
+component("protobuf_lite") {
sources = protobuf_lite_sources
configs -= [ "//build/config/compiler:chromium_code" ]
@@ -197,18 +185,14 @@ target(link_target_type, "protobuf_lite") {
cflags = protobuf_lite_cflags
- if (is_component_build && is_linux && !is_chromeos) {
- deps += [ ":protobuf_globals" ]
- } else {
- sources += protobuf_globals_sources
+ if (is_component_build && is_desktop_linux) {
+ deps += [ ":mirclient" ]
}
# Required for component builds. See http://crbug.com/172800.
if (is_component_build) {
public_configs += [ ":protobuf_use_dlls" ]
- if (!is_linux || is_chromeos) {
- defines = [ "LIBPROTOBUF_EXPORTS" ]
- }
+ defines = [ "LIBPROTOBUF_EXPORTS" ]
}
}
@@ -228,7 +212,7 @@ static_library("protobuf_full") {
"//tools/traffic_annotation/*",
]
- sources = protobuf_lite_sources + protobuf_globals_sources + [
+ sources = protobuf_lite_sources + [
"src/google/protobuf/any.cc",
"src/google/protobuf/any.h",
"src/google/protobuf/any.pb.cc",
« no previous file with comments | « no previous file | third_party/protobuf/README.chromium » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698