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

Side by Side Diff: icu.gyp

Issue 104793004: Fix gyp: duplicate target definitions for third_party/icu/icu.gyp:icudata#target (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu46.git@master
Patch Set: WIP: for discussion Created 6 years, 11 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 | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 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 { 5 {
6 'includes': [ 6 'includes': [
7 'icu.gypi', 7 'icu.gypi',
8 ], 8 ],
9 'variables': { 9 'variables': {
10 'use_system_icu%': 0, 10 'use_system_icu%': 0,
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 'sources': [ 62 'sources': [
63 # These are hand-generated, but will do for now. The linux 63 # These are hand-generated, but will do for now. The linux
64 # version is an identical copy of the (mac) icudt46l_dat.S file, 64 # version is an identical copy of the (mac) icudt46l_dat.S file,
65 # modulo removal of the .private_extern and .const directives and 65 # modulo removal of the .private_extern and .const directives and
66 # with no leading underscore on the icudt46_dat symbol. 66 # with no leading underscore on the icudt46_dat symbol.
67 'android/icudt46l_dat.S', 67 'android/icudt46l_dat.S',
68 'linux/icudt46l_dat.S', 68 'linux/icudt46l_dat.S',
69 'mac/icudt46l_dat.S', 69 'mac/icudt46l_dat.S',
70 ], 70 ],
71 'conditions': [ 71 'conditions': [
72 [ 'use_system_icu==1', { 72 [ 'use_system_icu==1 and want_separate_host_toolset==1', {
73 'toolsets': ['host'],
74 }, {
75 'toolsets': ['host', 'target'], 73 'toolsets': ['host', 'target'],
74 'target_conditions': [
75 [ '_toolset == "target"', {
76 'type': 'none',
77 'dependencies': ['system_icudata'],
78 'export_dependent_settings': ['system_icudata'],
dshwang 2014/01/03 20:36:42 I try to not build it for target toolset as above:
79 }],
80 ], # target_conditions
81 }],
82 [ 'use_system_icu==0 and want_separate_host_toolset==1', {
83 'toolsets': ['host', 'target'],
84 }],
85 [ 'use_system_icu==0 and want_separate_host_toolset==0', {
86 'toolsets': ['target'],
76 }], 87 }],
77 [ 'OS == "win" and icu_use_data_file_flag==0', { 88 [ 'OS == "win" and icu_use_data_file_flag==0', {
78 'type': 'none', 89 'type': 'none',
79 'copies': [ 90 'copies': [
80 { 91 {
81 'destination': '<(PRODUCT_DIR)', 92 'destination': '<(PRODUCT_DIR)',
82 'files': [ 93 'files': [
83 'windows/icudt.dll', 94 'windows/icudt.dll',
84 ], 95 ],
85 }, 96 },
(...skipping 29 matching lines...) Expand all
115 '(OS == "android" and (_toolset == "target" or host_os != "linux") )', { 126 '(OS == "android" and (_toolset == "target" or host_os != "linux") )', {
116 'sources!': ['linux/icudt46l_dat.S'], 127 'sources!': ['linux/icudt46l_dat.S'],
117 }], 128 }],
118 [ 'OS != "android" or _toolset == "host"', { 129 [ 'OS != "android" or _toolset == "host"', {
119 'sources!': ['android/icudt46l_dat.S'], 130 'sources!': ['android/icudt46l_dat.S'],
120 }], 131 }],
121 [ 'OS != "mac" and OS != "ios" and ' 132 [ 'OS != "mac" and OS != "ios" and '
122 '(OS != "android" or _toolset != "host" or host_os != "mac")', { 133 '(OS != "android" or _toolset != "host" or host_os != "mac")', {
123 'sources!': ['mac/icudt46l_dat.S'], 134 'sources!': ['mac/icudt46l_dat.S'],
124 }], 135 }],
125 ], 136 ], # target_conditions
126 }, 137 },
127 { 138 {
128 'target_name': 'icui18n', 139 'target_name': 'icui18n',
129 'type': '<(component)', 140 'type': '<(component)',
130 'sources': [ 141 'sources': [
131 '<@(icui18n_sources)', 142 '<@(icui18n_sources)',
132 ], 143 ],
133 'defines': [ 144 'defines': [
134 'U_I18N_IMPLEMENTATION', 145 'U_I18N_IMPLEMENTATION',
135 ], 146 ],
136 'dependencies': [ 147 'dependencies': [
137 'icuuc', 148 'icuuc',
138 ], 149 ],
139 'direct_dependent_settings': { 150 'direct_dependent_settings': {
140 'include_dirs': [ 151 'include_dirs': [
141 'source/i18n', 152 'source/i18n',
142 ], 153 ],
143 }, 154 },
144 'conditions': [ 155 'conditions': [
145 [ 'use_system_icu==1', { 156 [ 'use_system_icu==1 and want_separate_host_toolset==1', {
146 'toolsets': ['host'],
147 }, {
148 'toolsets': ['host', 'target'], 157 'toolsets': ['host', 'target'],
158 'target_conditions': [
159 [ '_toolset == "target"', {
160 'type': 'none',
161 'dependencies': ['system_icui18n'],
162 'export_dependent_settings': ['system_icui18n'],
163 }],
164 ], # target_conditions
165 }],
166 [ 'use_system_icu==0 and want_separate_host_toolset==1', {
167 'toolsets': ['host', 'target'],
168 }],
169 [ 'use_system_icu==0 and want_separate_host_toolset==0', {
170 'toolsets': ['target'],
149 }], 171 }],
150 [ 'os_posix == 1 and OS != "mac" and OS != "ios"', { 172 [ 'os_posix == 1 and OS != "mac" and OS != "ios"', {
151 # Since ICU wants to internally use its own deprecated APIs, don't 173 # Since ICU wants to internally use its own deprecated APIs, don't
152 # complain about it. 174 # complain about it.
153 'cflags': [ 175 'cflags': [
154 '-Wno-deprecated-declarations', 176 '-Wno-deprecated-declarations',
155 ], 177 ],
156 'cflags_cc': [ 178 'cflags_cc': [
157 '-frtti', 179 '-frtti',
158 ], 180 ],
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 '<(android_src)/abi/cpp/include', 233 '<(android_src)/abi/cpp/include',
212 ], 234 ],
213 'link_settings': { 235 'link_settings': {
214 'libraries': [ 236 'libraries': [
215 '-lgabi++', 237 '-lgabi++',
216 ], 238 ],
217 }, 239 },
218 }], 240 }],
219 ], 241 ],
220 }], 242 }],
221 ], 243 ], # conditions
222 }, 244 },
223 { 245 {
224 'target_name': 'icuuc', 246 'target_name': 'icuuc',
225 'type': '<(component)', 247 'type': '<(component)',
226 'sources': [ 248 'sources': [
227 '<@(icuuc_sources)', 249 '<@(icuuc_sources)',
228 ], 250 ],
229 'defines': [ 251 'defines': [
230 'U_COMMON_IMPLEMENTATION', 252 'U_COMMON_IMPLEMENTATION',
231 ], 253 ],
232 'dependencies': [ 254 'dependencies': [
233 'icudata', 255 'icudata',
234 ], 256 ],
235 'direct_dependent_settings': { 257 'direct_dependent_settings': {
236 'include_dirs': [ 258 'include_dirs': [
237 'source/common', 259 'source/common',
238 ], 260 ],
239 'conditions': [ 261 'conditions': [
240 [ 'component=="static_library"', { 262 [ 'component=="static_library"', {
241 'defines': [ 263 'defines': [
242 'U_STATIC_IMPLEMENTATION', 264 'U_STATIC_IMPLEMENTATION',
243 ], 265 ],
244 }], 266 }],
245 ], 267 ],
246 }, 268 },
247 'conditions': [ 269 'conditions': [
248 [ 'use_system_icu==1', { 270 [ 'use_system_icu==1 and want_separate_host_toolset==1', {
249 'toolsets': ['host'],
250 }, {
251 'toolsets': ['host', 'target'], 271 'toolsets': ['host', 'target'],
272 'target_conditions': [
273 [ '_toolset == "target"', {
274 'type': 'none',
275 'dependencies': ['system_icuuc'],
276 'export_dependent_settings': ['system_icuuc'],
277 }],
278 ], # target_conditions
279 }],
280 [ 'use_system_icu==0 and want_separate_host_toolset==1', {
281 'toolsets': ['host', 'target'],
282 }],
283 [ 'use_system_icu==0 and want_separate_host_toolset==0', {
284 'toolsets': ['target'],
252 }], 285 }],
253 [ 'OS == "win"', { 286 [ 'OS == "win"', {
254 'sources': [ 287 'sources': [
255 'source/stubdata/stubdata.c', 288 'source/stubdata/stubdata.c',
256 ], 289 ],
257 }], 290 }],
258 [ 'os_posix == 1 and OS != "mac" and OS != "ios"', { 291 [ 'os_posix == 1 and OS != "mac" and OS != "ios"', {
259 'cflags': [ 292 'cflags': [
260 # Since ICU wants to internally use its own deprecated APIs, 293 # Since ICU wants to internally use its own deprecated APIs,
261 # don't complain about it. 294 # don't complain about it.
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 '-Wno-switch', 344 '-Wno-switch',
312 ], 345 ],
313 }, 346 },
314 'cflags': [ 347 'cflags': [
315 '-Wno-deprecated-declarations', 348 '-Wno-deprecated-declarations',
316 '-Wno-logical-op-parentheses', 349 '-Wno-logical-op-parentheses',
317 '-Wno-tautological-compare', 350 '-Wno-tautological-compare',
318 '-Wno-switch', 351 '-Wno-switch',
319 ], 352 ],
320 }], 353 }],
321 ], 354 ], # conditions
355 },
356 ], # targets
357 }, { # want_separate_host_toolset == 0 and use_system_icu == 1
358 'targets': [
359 {
360 'target_name': 'icudata',
361 'type': 'none',
362 'dependencies': ['system_icudata'],
363 'export_dependent_settings': ['system_icudata'],
364 'toolsets': ['target'],
365 },
366 {
367 'target_name': 'icui18n',
368 'type': 'none',
369 'dependencies': ['system_icui18n'],
370 'export_dependent_settings': ['system_icui18n'],
371 'toolsets': ['target'],
372 },
373 {
374 'target_name': 'icuuc',
375 'type': 'none',
376 'dependencies': ['system_icuuc'],
377 'export_dependent_settings': ['system_icuuc'],
378 'toolsets': ['target'],
322 }, 379 },
323 ], 380 ],
324 }], 381 }],
325 ['use_system_icu==1', { 382 ['use_system_icu==1', {
326 'targets': [ 383 'targets': [
327 { 384 {
328 'target_name': 'system_icu', 385 'target_name': 'system_icu',
329 'type': 'none', 386 'type': 'none',
330 'conditions': [ 387 'conditions': [
331 ['want_separate_host_toolset==1', {
332 'toolsets': ['target'],
333 }, {
334 'toolsets': ['host', 'target'],
335 }],
336 ['OS=="android"', { 388 ['OS=="android"', {
337 'direct_dependent_settings': { 389 'direct_dependent_settings': {
338 'include_dirs': [ 390 'include_dirs': [
339 '<(android_src)/external/icu4c/common', 391 '<(android_src)/external/icu4c/common',
340 '<(android_src)/external/icu4c/i18n', 392 '<(android_src)/external/icu4c/i18n',
341 ], 393 ],
342 }, 394 },
343 'link_settings': { 395 'link_settings': {
344 'libraries': [ 396 'libraries': [
345 '-licui18n', 397 '-licui18n',
346 '-licuuc', 398 '-licuuc',
347 ], 399 ],
348 }, 400 },
349 },{ # OS!="android" 401 },{ # OS!="android"
350 'link_settings': { 402 'link_settings': {
351 'ldflags': [ 403 'ldflags': [
352 '<!@(icu-config --ldflags)', 404 '<!@(icu-config --ldflags)',
353 ], 405 ],
354 'libraries': [ 406 'libraries': [
355 '<!@(icu-config --ldflags-libsonly)', 407 '<!@(icu-config --ldflags-libsonly)',
356 ], 408 ],
357 }, 409 },
358 }], 410 }],
359 ], 411 ],
360 }, 412 },
361 { 413 {
362 'target_name': 'icudata', 414 'target_name': 'system_icudata',
363 'type': 'none', 415 'type': 'none',
364 'dependencies': ['system_icu'], 416 'dependencies': ['system_icu'],
365 'export_dependent_settings': ['system_icu'], 417 'export_dependent_settings': ['system_icu'],
366 'conditions': [
367 ['want_separate_host_toolset==1', {
368 'toolsets': ['target'],
369 }, {
370 'toolsets': ['host', 'target'],
371 }],
372 ],
373 }, 418 },
374 { 419 {
375 'target_name': 'icui18n', 420 'target_name': 'system_icui18n',
376 'type': 'none', 421 'type': 'none',
377 'dependencies': ['system_icu'], 422 'dependencies': ['system_icu'],
378 'export_dependent_settings': ['system_icu'], 423 'export_dependent_settings': ['system_icu'],
379 'variables': { 424 'variables': {
380 'headers_root_path': 'source/i18n', 425 'headers_root_path': 'source/i18n',
381 'header_filenames': [ 426 'header_filenames': [
382 # This list can easily be updated using the command below: 427 # This list can easily be updated using the command below:
383 # find third_party/icu/source/i18n/unicode -iname '*.h' \ 428 # find third_party/icu/source/i18n/unicode -iname '*.h' \
384 # -printf "'%p',\n" | \ 429 # -printf "'%p',\n" | \
385 # sed -e 's|third_party/icu/source/i18n/||' | sort -u 430 # sed -e 's|third_party/icu/source/i18n/||' | sort -u
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 'unicode/usearch.h', 494 'unicode/usearch.h',
450 'unicode/uspoof.h', 495 'unicode/uspoof.h',
451 'unicode/utmscale.h', 496 'unicode/utmscale.h',
452 'unicode/utrans.h', 497 'unicode/utrans.h',
453 'unicode/vtzone.h', 498 'unicode/vtzone.h',
454 ], 499 ],
455 }, 500 },
456 'includes': [ 501 'includes': [
457 '../../build/shim_headers.gypi', 502 '../../build/shim_headers.gypi',
458 ], 503 ],
459 'conditions': [
460 ['want_separate_host_toolset==1', {
461 'toolsets': ['target'],
462 }, {
463 'toolsets': ['host', 'target'],
464 }],
465 ],
466 }, 504 },
467 { 505 {
468 'target_name': 'icuuc', 506 'target_name': 'system_icuuc',
469 'type': 'none', 507 'type': 'none',
470 'dependencies': ['system_icu'], 508 'dependencies': ['system_icu'],
471 'export_dependent_settings': ['system_icu'], 509 'export_dependent_settings': ['system_icu'],
472 'variables': { 510 'variables': {
473 'headers_root_path': 'source/common', 511 'headers_root_path': 'source/common',
474 'header_filenames': [ 512 'header_filenames': [
475 # This list can easily be updated using the command below: 513 # This list can easily be updated using the command below:
476 # find third_party/icu/source/common/unicode -iname '*.h' \ 514 # find third_party/icu/source/common/unicode -iname '*.h' \
477 # -printf "'%p',\n" | \ 515 # -printf "'%p',\n" | \
478 # sed -e 's|third_party/icu/source/common/||' | sort -u 516 # sed -e 's|third_party/icu/source/common/||' | sort -u
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
560 'unicode/utrace.h', 598 'unicode/utrace.h',
561 'unicode/utypeinfo.h', 599 'unicode/utypeinfo.h',
562 'unicode/utypes.h', 600 'unicode/utypes.h',
563 'unicode/uvernum.h', 601 'unicode/uvernum.h',
564 'unicode/uversion.h', 602 'unicode/uversion.h',
565 ], 603 ],
566 }, 604 },
567 'includes': [ 605 'includes': [
568 '../../build/shim_headers.gypi', 606 '../../build/shim_headers.gypi',
569 ], 607 ],
570 'conditions': [
571 ['want_separate_host_toolset==1', {
572 'toolsets': ['target'],
573 }, {
574 'toolsets': ['host', 'target'],
575 }],
576 ],
577 }, 608 },
578 ], 609 ], # targets
579 }], 610 }],
580 ], 611 ], # conditions
581 } 612 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698