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

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

Issue 416863002: Make it possible to generate static and dynamic CLD2 libraries in one build. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add all_dependent_settings for CLD2_DYNAMIC_MODE Created 6 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « build/common.gypi ('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 # May need to make this a build arg. 7 # May need to make this a build arg, keep the name for now to match gyp
8 cld2_table_size = 2 8 cld2_table_size = 2
9 9
10 static_library("cld_2") { 10 core_files = [
11 sources = [ 11 "src/internal/cld2tablesummary.h",
12 "src/internal/cld2tablesummary.h", 12 "src/internal/cldutil.cc",
13 "src/internal/cldutil.cc", 13 "src/internal/cldutil.h",
14 "src/internal/cldutil.h", 14 "src/internal/cldutil_shared.cc",
15 "src/internal/cldutil_shared.cc", 15 "src/internal/cldutil_shared.h",
16 "src/internal/cldutil_shared.h", 16 "src/internal/compact_lang_det.cc",
17 "src/internal/compact_lang_det.cc", 17 "src/internal/compact_lang_det_hint_code.cc",
18 "src/internal/compact_lang_det_hint_code.cc", 18 "src/internal/compact_lang_det_hint_code.h",
19 "src/internal/compact_lang_det_hint_code.h", 19 "src/internal/compact_lang_det_impl.cc",
20 "src/internal/compact_lang_det_impl.cc", 20 "src/internal/compact_lang_det_impl.h",
21 "src/internal/compact_lang_det_impl.h", 21 "src/internal/debug.h",
22 "src/internal/debug.h", 22 "src/internal/debug_empty.cc",
23 "src/internal/debug_empty.cc", 23 "src/internal/fixunicodevalue.cc",
24 "src/internal/fixunicodevalue.cc", 24 "src/internal/fixunicodevalue.h",
25 "src/internal/fixunicodevalue.h", 25 "src/internal/generated_distinct_bi_0.cc",
26 "src/internal/generated_distinct_bi_0.cc", 26 "src/internal/generated_entities.cc",
27 "src/internal/generated_entities.cc", 27 "src/internal/generated_language.cc",
28 "src/internal/generated_language.cc", 28 "src/internal/generated_language.h",
29 "src/internal/generated_language.h", 29 "src/internal/generated_ulscript.cc",
30 "src/internal/generated_ulscript.cc", 30 "src/internal/generated_ulscript.h",
31 "src/internal/generated_ulscript.h", 31 "src/internal/getonescriptspan.cc",
32 "src/internal/getonescriptspan.cc", 32 "src/internal/getonescriptspan.h",
33 "src/internal/getonescriptspan.h", 33 "src/internal/integral_types.h",
34 "src/internal/integral_types.h", 34 "src/internal/lang_script.cc",
35 "src/internal/lang_script.cc", 35 "src/internal/lang_script.h",
36 "src/internal/lang_script.h", 36 "src/internal/langspan.h",
37 "src/internal/langspan.h", 37 "src/internal/offsetmap.cc",
38 "src/internal/offsetmap.cc", 38 "src/internal/offsetmap.h",
39 "src/internal/offsetmap.h", 39 "src/internal/port.h",
40 "src/internal/port.h", 40 "src/internal/scoreonescriptspan.cc",
41 "src/internal/scoreonescriptspan.cc", 41 "src/internal/scoreonescriptspan.h",
42 "src/internal/scoreonescriptspan.h", 42 "src/internal/stringpiece.h",
43 "src/internal/stringpiece.h", 43 "src/internal/tote.cc",
44 "src/internal/tote.cc", 44 "src/internal/tote.h",
45 "src/internal/tote.h", 45 "src/internal/utf8prop_lettermarkscriptnum.h",
46 "src/internal/utf8prop_lettermarkscriptnum.h", 46 "src/internal/utf8repl_lettermarklower.h",
47 "src/internal/utf8repl_lettermarklower.h", 47 "src/internal/utf8scannot_lettermarkspecial.h",
48 "src/internal/utf8scannot_lettermarkspecial.h", 48 "src/internal/utf8statetable.cc",
49 "src/internal/utf8statetable.cc", 49 "src/internal/utf8statetable.h",
50 "src/internal/utf8statetable.h", 50 "src/public/compact_lang_det.h",
51 "src/public/compact_lang_det.h", 51 "src/public/encodings.h",
52 "src/public/encodings.h", 52 ]
53 ]
54 53
54 data_files = [
55 "src/internal/cld2_generated_cjk_compatible.cc",
56 "src/internal/cld2_generated_deltaoctachrome0122.cc",
57 "src/internal/cld2_generated_distinctoctachrome0122.cc",
58 "src/internal/cld_generated_cjk_delta_bi_4.cc",
59 "src/internal/cld_generated_cjk_uni_prop_80.cc",
60 "src/internal/cld_generated_score_quad_octa_0122_2.cc",
61 "src/internal/generated_distinct_bi_0.cc",
62 ]
63
64 if (cld2_table_size == 0) {
65 data_files += [ "src/internal/cld2_generated_quadchrome0122_16.cc" ]
66 } else if (cld2_table_size == 1) {
67 data_files += [ "src/internal/cld2_generated_quadchrome0122_19.cc" ]
68 } else if (cld2_table_size == 2) {
69 data_files += [ "src/internal/cld2_generated_quadchrome0122_2.cc" ]
70 }
71
72 data_loader_files = [
73 "src/internal/cld2_dynamic_data.h",
74 "src/internal/cld2_dynamic_data.cc",
75 "src/internal/cld2_dynamic_data_loader.h",
76 "src/internal/cld2_dynamic_data_loader.cc",
77 ]
78
79 source_set("cld2_data") {
80 sources = data_files
55 include_dirs = [ 81 include_dirs = [
56 "src/internal", 82 "src/internal",
57 "src/public", 83 "src/public",
58 ] 84 ]
59 85
60 configs -= [ "//build/config/compiler:chromium_code" ] 86 configs -= [ "//build/config/compiler:chromium_code" ]
61 configs += [ "//build/config/compiler:no_chromium_code" ] 87 configs += [ "//build/config/compiler:no_chromium_code" ]
62 88
63 if (is_win) { 89 if (is_win) {
64 cflags = [ "/wd4267" ] # size_t -> int conversion. 90 cflags = [ "/wd4267" ] # size_t -> int conversion.
65 } 91 }
66 if (cld2_data_source != "static") { 92 }
67 assert(false, "Non-static mode isn't implemented, implement me") 93
94 static_library("cld2_static") {
95 sources = core_files
96 include_dirs = [
97 "src/internal",
98 "src/public",
99 ]
100
101 deps = [ ":cld2_data" ]
102 configs -= [ "//build/config/compiler:chromium_code" ]
103 configs += [ "//build/config/compiler:no_chromium_code" ]
104
105 if (is_win) {
106 cflags = [ "/wd4267" ] # size_t -> int conversion.
107 }
108 }
109
110 # Meta-target for convenience; dependents don't need to know if this if CLD2
111 # is in dynamic or static configuration.
112 group("cld_2") {
113 if (cld2_data_source == "static") {
114 deps = [ ":cld2_static" ]
115 } else {
116 deps = [ ":cld2_dynamic" ]
117 }
118 }
119
120 config("cld2_dynamic_mode_config") {
121 defines = [ "CLD2_DYNAMIC_MODE" ]
122 }
123
124 static_library("cld2_dynamic") {
125 sources = core_files + data_loader_files
126 all_dependent_configs = [ ":cld2_dynamic_mode_config" ]
127 include_dirs = [
128 "src/internal",
129 "src/public",
130 ]
131
132 configs -= [ "//build/config/compiler:chromium_code" ]
133 configs += [ "//build/config/compiler:no_chromium_code" ]
134
135 if (is_win) {
136 cflags = [ "/wd4267" ] # size_t -> int conversion.
68 } 137 }
69 } 138 }
70 139
71 executable("cld_2_dynamic_data_tool") { 140 executable("cld_2_dynamic_data_tool") {
72 sources = [ 141 sources = [
73 "src/internal/cld2_dynamic_data.h",
74 "src/internal/cld2_dynamic_data.cc",
75 "src/internal/cld2_dynamic_data_extractor.h", 142 "src/internal/cld2_dynamic_data_extractor.h",
76 "src/internal/cld2_dynamic_data_extractor.cc", 143 "src/internal/cld2_dynamic_data_extractor.cc",
77 "src/internal/cld2_dynamic_data_loader.h",
78 "src/internal/cld2_dynamic_data_loader.cc",
79 "src/internal/cld2_dynamic_data_tool.cc", 144 "src/internal/cld2_dynamic_data_tool.cc",
80 "src/internal/cld2_generated_cjk_compatible.cc",
81 "src/internal/cld2_generated_deltaoctachrome0122.cc",
82 "src/internal/cld2_generated_distinctoctachrome0122.cc",
83 "src/internal/cld2tablesummary.h",
84 "src/internal/cld_generated_cjk_delta_bi_4.cc",
85 "src/internal/cld_generated_cjk_uni_prop_80.cc",
86 "src/internal/cld_generated_score_quad_octa_0122_2.cc",
87 "src/internal/cldutil.cc",
88 "src/internal/cldutil.h",
89 "src/internal/cldutil_shared.cc",
90 "src/internal/cldutil_shared.h",
91 "src/internal/compact_lang_det.cc",
92 "src/internal/compact_lang_det_hint_code.cc",
93 "src/internal/compact_lang_det_hint_code.h",
94 "src/internal/compact_lang_det_impl.cc",
95 "src/internal/compact_lang_det_impl.h",
96 "src/internal/debug.h",
97 "src/internal/debug_empty.cc",
98 "src/internal/fixunicodevalue.cc",
99 "src/internal/fixunicodevalue.h",
100 "src/internal/generated_distinct_bi_0.cc",
101 "src/internal/generated_entities.cc",
102 "src/internal/generated_language.cc",
103 "src/internal/generated_language.h",
104 "src/internal/generated_ulscript.cc",
105 "src/internal/generated_ulscript.h",
106 "src/internal/getonescriptspan.cc",
107 "src/internal/getonescriptspan.h",
108 "src/internal/integral_types.h",
109 "src/internal/lang_script.cc",
110 "src/internal/lang_script.h",
111 "src/internal/langspan.h",
112 "src/internal/offsetmap.cc",
113 "src/internal/offsetmap.h",
114 "src/internal/port.h",
115 "src/internal/scoreonescriptspan.cc",
116 "src/internal/scoreonescriptspan.h",
117 "src/internal/stringpiece.h",
118 "src/internal/tote.cc",
119 "src/internal/tote.h",
120 "src/internal/utf8prop_lettermarkscriptnum.h",
121 "src/internal/utf8repl_lettermarklower.h",
122 "src/internal/utf8scannot_lettermarkspecial.h",
123 "src/internal/utf8statetable.cc",
124 "src/internal/utf8statetable.h",
125 "src/public/compact_lang_det.h",
126 "src/public/encodings.h",
127 ] 145 ]
128 146
129 include_dirs = [ 147 include_dirs = [
130 "src/internal", 148 "src/internal",
131 "src/public", 149 "src/public",
132 ] 150 ]
133 151
152 deps = [ ":cld2_data", ":cld2_dynamic" ]
153
134 configs -= [ "//build/config/compiler:chromium_code" ] 154 configs -= [ "//build/config/compiler:chromium_code" ]
135 configs += [ "//build/config/compiler:no_chromium_code" ] 155 configs += [ "//build/config/compiler:no_chromium_code" ]
136 156
137 if (is_win) { 157 if (is_win) {
138 cflags = [ "/wd4267" ] # size_t -> int conversion. 158 cflags = [ "/wd4267" ] # size_t -> int conversion.
139 } 159 }
140 if (cld2_table_size == 0) {
141 sources += [ "src/internal/cld2_generated_quadchrome0122_16.cc" ]
142 } else if (cld2_table_size == 1) {
143 sources += [ "src/internal/cld2_generated_quadchrome0122_19.cc" ]
144 } else if (cld2_table_size == 2) {
145 sources += [ "src/internal/cld2_generated_quadchrome0122_2.cc" ]
146 }
147 } 160 }
OLDNEW
« no previous file with comments | « build/common.gypi ('k') | third_party/cld_2/cld_2.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698