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

Side by Side Diff: third_party/cld_2/BUILD.gn

Issue 2034413003: Delete the non-static CLD data source logic. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase to latest master Created 4 years, 6 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 unified diff | Download patch
« no previous file with comments | « ipc/ipc_message_start.h ('k') | third_party/cld_2/cld_2.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import("//build/config/features.gni") 5 import("//build/config/features.gni")
6 6
7 declare_args() { 7 declare_args() {
8 if (is_android || is_ios) { 8 if (is_android || is_ios) {
9 cld2_table_size = 0 # Small, accurate tables 9 cld2_table_size = 0 # Small, accurate tables
10 } else { 10 } else {
11 cld2_table_size = 2 # Larger, more accurate tables 11 cld2_table_size = 2 # Larger, more accurate tables
12 } 12 }
13 } 13 }
14 14
15 gypi_values = exec_script("//build/gypi_to_gn.py", 15 gypi_values = exec_script("//build/gypi_to_gn.py",
16 [ rebase_path("cld_2.gyp") ], 16 [ rebase_path("cld_2.gyp") ],
17 "scope", 17 "scope",
18 [ "cld_2.gyp" ]) 18 [ "cld_2.gyp" ])
19 19
20 # This variable controls which dependency is resolved by the pass-through
21 # target 'cld2_platform_impl', and allows the embedder to choose which
22 # kind of CLD2 support is required at build time:
23 #
24 # - If the value is 'static', then the cld2_platform_impl target will depend
25 # upon the cld2_static target
26 # - If the value is 'dynamic', then the cld2_platform_impl target will
27 # depend upon the cld2_dynamic target.
28 #
29 # High-level targets for Chromium unit tests hard-code a dependency upon
30 # cld2_static because doing so makes sense for use cases that aren't
31 # affected by the loading of language detection data; however, most other
32 # targets (e.g. the final executables and interactive UI tests) should be
33 # linked against whatever the embedder needs.
34 #
35 # Maintainers:
36 # This value may be reasonably tweaked on a per-platform basis.
37 # Don't forget to update this file as well to match:
38 # components/translate/content/browser/browser_cld_utils.cc
39 # components/translate/content/renderer/renderer_cld_utils.cc
40 cld2_platform_support = "static"
41
42 config("cld2_data_warnings") { 20 config("cld2_data_warnings") {
43 visibility = [ ":*" ] 21 visibility = [ ":*" ]
44 if (is_clang) { 22 if (is_clang) {
45 # The generated files don't have braces around subobject initializers. 23 # The generated files don't have braces around subobject initializers.
46 cflags = [ "-Wno-missing-braces" ] 24 cflags = [ "-Wno-missing-braces" ]
47 } 25 }
48 } 26 }
49 27
50 source_set("cld2_data") { 28 source_set("cld2_data") {
51 sources = gypi_values.cld2_data_sources 29 sources = gypi_values.cld2_data_sources
(...skipping 10 matching lines...) Expand all
62 40
63 configs -= [ "//build/config/compiler:chromium_code" ] 41 configs -= [ "//build/config/compiler:chromium_code" ]
64 configs += [ 42 configs += [
65 "//build/config/compiler:no_chromium_code", 43 "//build/config/compiler:no_chromium_code",
66 44
67 # Must be after no_chromium_code for warning flags to be ordered correctly. 45 # Must be after no_chromium_code for warning flags to be ordered correctly.
68 ":cld2_data_warnings", 46 ":cld2_data_warnings",
69 ] 47 ]
70 } 48 }
71 49
72 # As in the corresponding gyp file, this just builds the core interfaces for
73 # CLD2. You must still declare a dependency on a specific data set, either
74 # cld2_dynamic or cld2_static.
75 source_set("cld_2") {
76 sources = gypi_values.cld2_core_sources
77 include_dirs = [
78 "src/internal",
79 "src/public",
80 ]
81
82 configs -= [ "//build/config/compiler:chromium_code" ]
83 configs += [ "//build/config/compiler:no_chromium_code" ]
84 }
85
86 source_set("cld2_platform_impl") {
87 public_deps = []
88 if (cld2_platform_support == "static") {
89 public_deps += [ ":cld2_static" ]
90 } else if (cld2_platform_support == "dynamic") {
91 public_deps += [ ":cld2_dynamic" ]
92 }
93 }
94
95 config("cld2_warnings") { 50 config("cld2_warnings") {
96 if (is_clang) { 51 if (is_clang) {
97 cflags = [ 52 cflags = [
98 # cld_2 contains unused private fields. 53 # cld_2 contains unused private fields.
99 # https://code.google.com/p/cld2/issues/detail?id=37 54 # https://code.google.com/p/cld2/issues/detail?id=37
100 "-Wno-unused-private-field", 55 "-Wno-unused-private-field",
101 56
102 # offsetmap.cc uses a char as a subscript. 57 # offsetmap.cc uses a char as a subscript.
103 "-Wno-char-subscripts", 58 "-Wno-char-subscripts",
104 ] 59 ]
105 } 60 }
106 } 61 }
107 62
108 static_library("cld2_static") { 63 static_library("cld_2") {
109 sources = gypi_values.cld2_core_impl_sources 64 sources = gypi_values.cld2_core_sources + gypi_values.cld2_core_impl_sources
110 include_dirs = [ 65 include_dirs = [
111 "src/internal", 66 "src/internal",
112 "src/public", 67 "src/public",
113 ] 68 ]
114 69
115 public_deps = [ 70 public_deps = [
116 ":cld2_data", 71 ":cld2_data",
117 ":cld_2",
118 ] 72 ]
119 configs -= [ "//build/config/compiler:chromium_code" ] 73 configs -= [ "//build/config/compiler:chromium_code" ]
120 configs += [ 74 configs += [
121 "//build/config/compiler:no_chromium_code", 75 "//build/config/compiler:no_chromium_code",
122 ":cld2_warnings", 76 ":cld2_warnings",
123 ] 77 ]
124 } 78 }
125
126 config("cld2_dynamic_mode_config") {
127 defines = [ "CLD2_DYNAMIC_MODE" ]
128 }
129
130 static_library("cld2_dynamic") {
131 sources = gypi_values.cld2_core_sources + gypi_values.cld2_core_impl_sources +
132 gypi_values.cld2_dynamic_data_loader_sources
133 include_dirs = [
134 "src/internal",
135 "src/public",
136 ]
137
138 configs -= [ "//build/config/compiler:chromium_code" ]
139 configs += [
140 ":cld2_dynamic_mode_config",
141 "//build/config/compiler:no_chromium_code",
142 ":cld2_warnings",
143 ]
144 }
145
146 # Does not build on Windows, Android or iOS.
147 if (!is_win && !is_android && !is_ios) {
148 executable("cld_2_dynamic_data_tool") {
149 sources = [
150 "src/internal/cld2_dynamic_data_extractor.cc",
151 "src/internal/cld2_dynamic_data_extractor.h",
152 "src/internal/cld2_dynamic_data_tool.cc",
153 ]
154
155 include_dirs = [
156 "src/internal",
157 "src/public",
158 ]
159
160 deps = [
161 ":cld2_data",
162 ":cld2_dynamic",
163 "//build/config/sanitizers:deps",
164 ]
165
166 configs -= [ "//build/config/compiler:chromium_code" ]
167 configs += [
168 ":cld2_dynamic_mode_config",
169 "//build/config/compiler:no_chromium_code",
170 ]
171 }
172 }
OLDNEW
« no previous file with comments | « ipc/ipc_message_start.h ('k') | third_party/cld_2/cld_2.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698