| OLD | NEW |
| (Empty) |
| 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 | |
| 3 # found in the LICENSE file. | |
| 4 | |
| 5 # Meta target that includes both icuuc and icui18n. Most targets want both. | |
| 6 # You can depend on the individually if you need to. | |
| 7 group("icu") { | |
| 8 deps = [ | |
| 9 ":icui18n", | |
| 10 ":icuuc", | |
| 11 ] | |
| 12 } | |
| 13 | |
| 14 # Shared config used by ICU and all dependents. | |
| 15 config("icu_config") { | |
| 16 defines = [ | |
| 17 "U_USING_ICU_NAMESPACE=0", | |
| 18 ] | |
| 19 | |
| 20 if (component_mode != "shared_library") { | |
| 21 defines += [ "U_STATIC_IMPLEMENTATION" ] | |
| 22 } | |
| 23 | |
| 24 include_dirs = [ | |
| 25 "source/common", | |
| 26 "source/i18n", | |
| 27 ] | |
| 28 } | |
| 29 | |
| 30 # Config used only by ICU code. | |
| 31 config("icu_code") { | |
| 32 if (is_win) { | |
| 33 # Disable some compiler warnings. | |
| 34 cflags = [ | |
| 35 "/wd4005", # Macro redefinition. | |
| 36 "/wd4068", # Unknown pragmas. | |
| 37 "/wd4267", # Conversion from size_t on 64-bits. | |
| 38 "/wd4996", # Deprecated functions. | |
| 39 ] | |
| 40 } else if (is_linux) { | |
| 41 cflags = [ | |
| 42 # Since ICU wants to internally use its own deprecated APIs, don't | |
| 43 # complain about it. | |
| 44 "-Wno-deprecated-declarations", | |
| 45 "-Wno-unused-function", | |
| 46 ] | |
| 47 } else if (is_clang) { | |
| 48 cflags = [ | |
| 49 "-Wno-deprecated-declarations", | |
| 50 "-Wno-logical-op-parentheses", | |
| 51 "-Wno-tautological-compare", | |
| 52 "-Wno-switch", | |
| 53 ] | |
| 54 } | |
| 55 } | |
| 56 | |
| 57 component("icui18n") { | |
| 58 sources = [ | |
| 59 "source/i18n/anytrans.cpp", | |
| 60 "source/i18n/astro.cpp", | |
| 61 "source/i18n/basictz.cpp", | |
| 62 "source/i18n/bms.cpp", | |
| 63 "source/i18n/bmsearch.cpp", | |
| 64 "source/i18n/bocsu.c", | |
| 65 "source/i18n/brktrans.cpp", | |
| 66 "source/i18n/buddhcal.cpp", | |
| 67 "source/i18n/calendar.cpp", | |
| 68 "source/i18n/casetrn.cpp", | |
| 69 "source/i18n/cecal.cpp", | |
| 70 "source/i18n/chnsecal.cpp", | |
| 71 "source/i18n/choicfmt.cpp", | |
| 72 "source/i18n/coleitr.cpp", | |
| 73 "source/i18n/coll.cpp", | |
| 74 "source/i18n/colldata.cpp", | |
| 75 "source/i18n/coptccal.cpp", | |
| 76 "source/i18n/cpdtrans.cpp", | |
| 77 "source/i18n/csdetect.cpp", | |
| 78 "source/i18n/csmatch.cpp", | |
| 79 "source/i18n/csr2022.cpp", | |
| 80 "source/i18n/csrecog.cpp", | |
| 81 "source/i18n/csrmbcs.cpp", | |
| 82 "source/i18n/csrsbcs.cpp", | |
| 83 "source/i18n/csrucode.cpp", | |
| 84 "source/i18n/csrutf8.cpp", | |
| 85 "source/i18n/curramt.cpp", | |
| 86 "source/i18n/currfmt.cpp", | |
| 87 "source/i18n/currpinf.cpp", | |
| 88 "source/i18n/currunit.cpp", | |
| 89 "source/i18n/datefmt.cpp", | |
| 90 "source/i18n/dcfmtsym.cpp", | |
| 91 "source/i18n/decContext.c", | |
| 92 "source/i18n/decNumber.c", | |
| 93 "source/i18n/decimfmt.cpp", | |
| 94 "source/i18n/digitlst.cpp", | |
| 95 "source/i18n/dtfmtsym.cpp", | |
| 96 "source/i18n/dtitvfmt.cpp", | |
| 97 "source/i18n/dtitvinf.cpp", | |
| 98 "source/i18n/dtptngen.cpp", | |
| 99 "source/i18n/dtrule.cpp", | |
| 100 "source/i18n/esctrn.cpp", | |
| 101 "source/i18n/ethpccal.cpp", | |
| 102 "source/i18n/fmtable.cpp", | |
| 103 "source/i18n/fmtable_cnv.cpp", | |
| 104 "source/i18n/format.cpp", | |
| 105 "source/i18n/fphdlimp.cpp", | |
| 106 "source/i18n/fpositer.cpp", | |
| 107 "source/i18n/funcrepl.cpp", | |
| 108 "source/i18n/gregocal.cpp", | |
| 109 "source/i18n/gregoimp.cpp", | |
| 110 "source/i18n/hebrwcal.cpp", | |
| 111 "source/i18n/indiancal.cpp", | |
| 112 "source/i18n/inputext.cpp", | |
| 113 "source/i18n/islamcal.cpp", | |
| 114 "source/i18n/japancal.cpp", | |
| 115 "source/i18n/locdspnm.cpp", | |
| 116 "source/i18n/measfmt.cpp", | |
| 117 "source/i18n/measure.cpp", | |
| 118 "source/i18n/msgfmt.cpp", | |
| 119 "source/i18n/name2uni.cpp", | |
| 120 "source/i18n/nfrs.cpp", | |
| 121 "source/i18n/nfrule.cpp", | |
| 122 "source/i18n/nfsubs.cpp", | |
| 123 "source/i18n/nortrans.cpp", | |
| 124 "source/i18n/nultrans.cpp", | |
| 125 "source/i18n/numfmt.cpp", | |
| 126 "source/i18n/numsys.cpp", | |
| 127 "source/i18n/olsontz.cpp", | |
| 128 "source/i18n/persncal.cpp", | |
| 129 "source/i18n/plurfmt.cpp", | |
| 130 "source/i18n/plurrule.cpp", | |
| 131 "source/i18n/quant.cpp", | |
| 132 "source/i18n/rbnf.cpp", | |
| 133 "source/i18n/rbt.cpp", | |
| 134 "source/i18n/rbt_data.cpp", | |
| 135 "source/i18n/rbt_pars.cpp", | |
| 136 "source/i18n/rbt_rule.cpp", | |
| 137 "source/i18n/rbt_set.cpp", | |
| 138 "source/i18n/rbtz.cpp", | |
| 139 "source/i18n/regexcmp.cpp", | |
| 140 "source/i18n/regexst.cpp", | |
| 141 "source/i18n/regextxt.cpp", | |
| 142 "source/i18n/reldtfmt.cpp", | |
| 143 "source/i18n/rematch.cpp", | |
| 144 "source/i18n/remtrans.cpp", | |
| 145 "source/i18n/repattrn.cpp", | |
| 146 "source/i18n/search.cpp", | |
| 147 "source/i18n/selfmt.cpp", | |
| 148 "source/i18n/simpletz.cpp", | |
| 149 "source/i18n/smpdtfmt.cpp", | |
| 150 "source/i18n/sortkey.cpp", | |
| 151 "source/i18n/strmatch.cpp", | |
| 152 "source/i18n/strrepl.cpp", | |
| 153 "source/i18n/stsearch.cpp", | |
| 154 "source/i18n/taiwncal.cpp", | |
| 155 "source/i18n/tblcoll.cpp", | |
| 156 "source/i18n/timezone.cpp", | |
| 157 "source/i18n/titletrn.cpp", | |
| 158 "source/i18n/tmunit.cpp", | |
| 159 "source/i18n/tmutamt.cpp", | |
| 160 "source/i18n/tmutfmt.cpp", | |
| 161 "source/i18n/tolowtrn.cpp", | |
| 162 "source/i18n/toupptrn.cpp", | |
| 163 "source/i18n/translit.cpp", | |
| 164 "source/i18n/transreg.cpp", | |
| 165 "source/i18n/tridpars.cpp", | |
| 166 "source/i18n/tzrule.cpp", | |
| 167 "source/i18n/tztrans.cpp", | |
| 168 "source/i18n/ucal.cpp", | |
| 169 "source/i18n/ucln_in.c", | |
| 170 "source/i18n/ucol.cpp", | |
| 171 "source/i18n/ucol_bld.cpp", | |
| 172 "source/i18n/ucol_cnt.cpp", | |
| 173 "source/i18n/ucol_elm.cpp", | |
| 174 "source/i18n/ucol_res.cpp", | |
| 175 "source/i18n/ucol_sit.cpp", | |
| 176 "source/i18n/ucol_tok.cpp", | |
| 177 "source/i18n/ucol_wgt.cpp", | |
| 178 "source/i18n/ucoleitr.cpp", | |
| 179 "source/i18n/ucsdet.cpp", | |
| 180 "source/i18n/ucurr.cpp", | |
| 181 "source/i18n/udat.cpp", | |
| 182 "source/i18n/udatpg.cpp", | |
| 183 "source/i18n/ulocdata.c", | |
| 184 "source/i18n/umsg.cpp", | |
| 185 "source/i18n/unesctrn.cpp", | |
| 186 "source/i18n/uni2name.cpp", | |
| 187 "source/i18n/unum.cpp", | |
| 188 "source/i18n/uregex.cpp", | |
| 189 "source/i18n/uregexc.cpp", | |
| 190 "source/i18n/usearch.cpp", | |
| 191 "source/i18n/uspoof.cpp", | |
| 192 "source/i18n/uspoof_build.cpp", | |
| 193 "source/i18n/uspoof_conf.cpp", | |
| 194 "source/i18n/uspoof_impl.cpp", | |
| 195 "source/i18n/uspoof_wsconf.cpp", | |
| 196 "source/i18n/utmscale.c", | |
| 197 "source/i18n/utrans.cpp", | |
| 198 "source/i18n/vtzone.cpp", | |
| 199 "source/i18n/vzone.cpp", | |
| 200 "source/i18n/windtfmt.cpp", | |
| 201 "source/i18n/winnmfmt.cpp", | |
| 202 "source/i18n/wintzimpl.cpp", | |
| 203 "source/i18n/zonemeta.cpp", | |
| 204 "source/i18n/zrule.cpp", | |
| 205 "source/i18n/zstrfmt.cpp", | |
| 206 "source/i18n/ztrans.cpp", | |
| 207 ] | |
| 208 defines = [ | |
| 209 "U_I18N_IMPLEMENTATION", | |
| 210 ] | |
| 211 deps = [ | |
| 212 ":icuuc", | |
| 213 ] | |
| 214 | |
| 215 # ICU uses RTTI, replace the default "no rtti" config. | |
| 216 configs -= [ | |
| 217 "//build/config/compiler:no_rtti", # ICU uses RTTI. | |
| 218 "//build/config/compiler:chromium_code", | |
| 219 ] | |
| 220 configs += [ | |
| 221 "//build/config/compiler:rtti", | |
| 222 "//build/config/compiler:no_chromium_code", | |
| 223 ] | |
| 224 | |
| 225 configs += [ ":icu_code" ] | |
| 226 direct_dependent_configs = [ ":icu_config" ] | |
| 227 | |
| 228 if (is_clang) { | |
| 229 # uspoof.h has a U_NAMESPACE_USE macro. That's a bug, | |
| 230 # the header should use U_NAMESPACE_BEGIN instead. | |
| 231 # http://bugs.icu-project.org/trac/ticket/9054 | |
| 232 configs -= [ "//build/config/clang:extra_warnings" ] | |
| 233 | |
| 234 cflags = [ | |
| 235 "-Wno-header-hygiene", | |
| 236 # Looks like a real issue, see http://crbug.com/114660 | |
| 237 "-Wno-return-type-c-linkage", | |
| 238 ] | |
| 239 } | |
| 240 } | |
| 241 | |
| 242 component("icuuc") { | |
| 243 sources = [ | |
| 244 "source/common/bmpset.cpp", | |
| 245 "source/common/brkeng.cpp", | |
| 246 "source/common/brkiter.cpp", | |
| 247 "source/common/bytestream.cpp", | |
| 248 "source/common/caniter.cpp", | |
| 249 "source/common/chariter.cpp", | |
| 250 "source/common/charstr.cpp", | |
| 251 "source/common/cmemory.c", | |
| 252 "source/common/cstring.c", | |
| 253 "source/common/cwchar.c", | |
| 254 "source/common/dictbe.cpp", | |
| 255 "source/common/dtintrv.cpp", | |
| 256 "source/common/errorcode.cpp", | |
| 257 "source/common/filterednormalizer2.cpp", | |
| 258 "source/common/icudataver.c", | |
| 259 "source/common/icuplug.c", | |
| 260 "source/common/locavailable.cpp", | |
| 261 "source/common/locbased.cpp", | |
| 262 "source/common/locdispnames.cpp", | |
| 263 "source/common/locid.cpp", | |
| 264 "source/common/loclikely.cpp", | |
| 265 "source/common/locmap.c", | |
| 266 "source/common/locresdata.cpp", | |
| 267 "source/common/locutil.cpp", | |
| 268 "source/common/mutex.cpp", | |
| 269 "source/common/normalizer2.cpp", | |
| 270 "source/common/normalizer2impl.cpp", | |
| 271 "source/common/normlzr.cpp", | |
| 272 "source/common/parsepos.cpp", | |
| 273 "source/common/propname.cpp", | |
| 274 "source/common/propsvec.c", | |
| 275 "source/common/punycode.c", | |
| 276 "source/common/putil.c", | |
| 277 "source/common/rbbi.cpp", | |
| 278 "source/common/rbbidata.cpp", | |
| 279 "source/common/rbbinode.cpp", | |
| 280 "source/common/rbbirb.cpp", | |
| 281 "source/common/rbbiscan.cpp", | |
| 282 "source/common/rbbisetb.cpp", | |
| 283 "source/common/rbbistbl.cpp", | |
| 284 "source/common/rbbitblb.cpp", | |
| 285 "source/common/resbund.cpp", | |
| 286 "source/common/resbund_cnv.cpp", | |
| 287 "source/common/ruleiter.cpp", | |
| 288 "source/common/schriter.cpp", | |
| 289 "source/common/serv.cpp", | |
| 290 "source/common/servlk.cpp", | |
| 291 "source/common/servlkf.cpp", | |
| 292 "source/common/servls.cpp", | |
| 293 "source/common/servnotf.cpp", | |
| 294 "source/common/servrbf.cpp", | |
| 295 "source/common/servslkf.cpp", | |
| 296 "source/common/stringpiece.cpp", | |
| 297 "source/common/triedict.cpp", | |
| 298 "source/common/uarrsort.c", | |
| 299 "source/common/ubidi.c", | |
| 300 "source/common/ubidi_props.c", | |
| 301 "source/common/ubidiln.c", | |
| 302 "source/common/ubidiwrt.c", | |
| 303 "source/common/ubrk.cpp", | |
| 304 "source/common/ucase.c", | |
| 305 "source/common/ucasemap.c", | |
| 306 "source/common/ucat.c", | |
| 307 "source/common/uchar.c", | |
| 308 "source/common/uchriter.cpp", | |
| 309 "source/common/ucln_cmn.c", | |
| 310 "source/common/ucmndata.c", | |
| 311 "source/common/ucnv.c", | |
| 312 "source/common/ucnv2022.c", | |
| 313 "source/common/ucnv_bld.c", | |
| 314 "source/common/ucnv_cb.c", | |
| 315 "source/common/ucnv_cnv.c", | |
| 316 "source/common/ucnv_err.c", | |
| 317 "source/common/ucnv_ext.c", | |
| 318 "source/common/ucnv_io.c", | |
| 319 "source/common/ucnv_lmb.c", | |
| 320 "source/common/ucnv_set.c", | |
| 321 "source/common/ucnv_u16.c", | |
| 322 "source/common/ucnv_u32.c", | |
| 323 "source/common/ucnv_u7.c", | |
| 324 "source/common/ucnv_u8.c", | |
| 325 "source/common/ucnvbocu.c", | |
| 326 "source/common/ucnvdisp.c", | |
| 327 "source/common/ucnvhz.c", | |
| 328 "source/common/ucnvisci.c", | |
| 329 "source/common/ucnvlat1.c", | |
| 330 "source/common/ucnvmbcs.c", | |
| 331 "source/common/ucnvscsu.c", | |
| 332 "source/common/ucnvsel.cpp", | |
| 333 "source/common/ucol_swp.cpp", | |
| 334 "source/common/udata.cpp", | |
| 335 "source/common/udatamem.c", | |
| 336 "source/common/udataswp.c", | |
| 337 "source/common/uenum.c", | |
| 338 "source/common/uhash.c", | |
| 339 "source/common/uhash_us.cpp", | |
| 340 "source/common/uidna.cpp", | |
| 341 "source/common/uinit.c", | |
| 342 "source/common/uinvchar.c", | |
| 343 "source/common/uiter.cpp", | |
| 344 "source/common/ulist.c", | |
| 345 "source/common/uloc.c", | |
| 346 "source/common/uloc_tag.c", | |
| 347 "source/common/umapfile.c", | |
| 348 "source/common/umath.c", | |
| 349 "source/common/umutex.c", | |
| 350 "source/common/unames.c", | |
| 351 "source/common/unifilt.cpp", | |
| 352 "source/common/unifunct.cpp", | |
| 353 "source/common/uniset.cpp", | |
| 354 "source/common/uniset_props.cpp", | |
| 355 "source/common/unisetspan.cpp", | |
| 356 "source/common/unistr.cpp", | |
| 357 "source/common/unistr_case.cpp", | |
| 358 "source/common/unistr_cnv.cpp", | |
| 359 "source/common/unistr_props.cpp", | |
| 360 "source/common/unorm.cpp", | |
| 361 "source/common/unorm_it.c", | |
| 362 "source/common/unormcmp.cpp", | |
| 363 "source/common/uobject.cpp", | |
| 364 "source/common/uprops.cpp", | |
| 365 "source/common/ures_cnv.c", | |
| 366 "source/common/uresbund.c", | |
| 367 "source/common/uresdata.c", | |
| 368 "source/common/usc_impl.c", | |
| 369 "source/common/uscript.c", | |
| 370 "source/common/uset.cpp", | |
| 371 "source/common/uset_props.cpp", | |
| 372 "source/common/usetiter.cpp", | |
| 373 "source/common/ushape.c", | |
| 374 "source/common/usprep.cpp", | |
| 375 "source/common/ustack.cpp", | |
| 376 "source/common/ustr_cnv.c", | |
| 377 "source/common/ustr_wcs.c", | |
| 378 "source/common/ustrcase.c", | |
| 379 "source/common/ustrenum.cpp", | |
| 380 "source/common/ustrfmt.c", | |
| 381 "source/common/ustring.c", | |
| 382 "source/common/ustrtrns.c", | |
| 383 "source/common/utext.cpp", | |
| 384 "source/common/utf_impl.c", | |
| 385 "source/common/util.cpp", | |
| 386 "source/common/util_props.cpp", | |
| 387 "source/common/utrace.c", | |
| 388 "source/common/utrie.c", | |
| 389 "source/common/utrie2.cpp", | |
| 390 "source/common/utrie2_builder.c", | |
| 391 "source/common/uts46.cpp", | |
| 392 "source/common/utypes.c", | |
| 393 "source/common/uvector.cpp", | |
| 394 "source/common/uvectr32.cpp", | |
| 395 "source/common/uvectr64.cpp", | |
| 396 "source/common/wintz.c", | |
| 397 "source/stubdata/stubdata.c", | |
| 398 ] | |
| 399 defines = [ | |
| 400 "U_COMMON_IMPLEMENTATION", | |
| 401 ] | |
| 402 deps = [ | |
| 403 ":icudata", | |
| 404 ] | |
| 405 configs += [ ":icu_code" ] | |
| 406 | |
| 407 configs -= [ | |
| 408 "//build/config/compiler:no_rtti", # ICU uses RTTI. | |
| 409 "//build/config/compiler:chromium_code", | |
| 410 ] | |
| 411 configs += [ | |
| 412 "//build/config/compiler:rtti", | |
| 413 "//build/config/compiler:no_chromium_code", | |
| 414 ] | |
| 415 | |
| 416 direct_dependent_configs = [ ":icu_config" ] | |
| 417 | |
| 418 if (!is_win) { | |
| 419 sources -= [ "source/stubdata/stubdata.c" ] | |
| 420 } | |
| 421 } | |
| 422 | |
| 423 if (is_win) { | |
| 424 # On Windows the target DLL is pre-built so just use a copy rule. | |
| 425 copy("icudata") { | |
| 426 sources = [ "windows/icudt.dll" ] | |
| 427 outputs = [ "$root_out_dir/icudt.dll" ] | |
| 428 } | |
| 429 } else { | |
| 430 source_set("icudata") { | |
| 431 sources = [ | |
| 432 # These are hand-generated, but will do for now. The linux version is an | |
| 433 # identical copy of the (mac) icudt46l_dat.S file, modulo removal of the | |
| 434 # .private_extern and .const directives and with no leading underscore on | |
| 435 # the icudt46_dat symbol. | |
| 436 "android/icudt46l_dat.S", | |
| 437 "linux/icudt46l_dat.S", | |
| 438 "mac/icudt46l_dat.S", | |
| 439 ] | |
| 440 defines = [ "U_HIDE_DATA_SYMBOL" ] | |
| 441 | |
| 442 # TODO(brettw) support use_system_icu and icu_use_data_file_flag. | |
| 443 } | |
| 444 } | |
| OLD | NEW |