1# Copyright (c) 2021 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15import("//third_party/icu/icu4c/icu4c_config.gni") 16 17config("icu_config") { 18 visibility = [ ":*" ] 19 include_dirs = [ 20 "//third_party/icu/icu4c/source/common", 21 "//third_party/icu/icu4c/source/i18n", 22 "//third_party/icu/icu4c/source", 23 "//third_party/icu/icu4c/source/tools/toolutil", 24 "//third_party/icu/icu4c/source/io", 25 ] 26} 27 28ohos_shared_library("shared_icuuc_host") { 29 configs = [ 30 ":icu_config", 31 "//build/config/compiler:rtti", 32 ] 33 34 defines = [ 35 "U_ATTRIBUTE_DEPRECATED=", 36 "U_COMMON_IMPLEMENTATION", 37 "UPRV_BLOCK_MACRO_BEGIN=", 38 "UPRV_BLOCK_MACRO_END=", 39 "UCONFIG_USE_WINDOWS_LCID_MAPPING_API=0", 40 "_REENTRANT", 41 ] 42 sources = [ 43 "//third_party/icu/icu4c/source/common/appendable.cpp", 44 "//third_party/icu/icu4c/source/common/bmpset.cpp", 45 "//third_party/icu/icu4c/source/common/brkeng.cpp", 46 "//third_party/icu/icu4c/source/common/brkiter.cpp", 47 "//third_party/icu/icu4c/source/common/bytesinkutil.cpp", 48 "//third_party/icu/icu4c/source/common/bytestream.cpp", 49 "//third_party/icu/icu4c/source/common/bytestrie.cpp", 50 "//third_party/icu/icu4c/source/common/bytestriebuilder.cpp", 51 "//third_party/icu/icu4c/source/common/bytestrieiterator.cpp", 52 "//third_party/icu/icu4c/source/common/caniter.cpp", 53 "//third_party/icu/icu4c/source/common/characterproperties.cpp", 54 "//third_party/icu/icu4c/source/common/chariter.cpp", 55 "//third_party/icu/icu4c/source/common/charstr.cpp", 56 "//third_party/icu/icu4c/source/common/cmemory.cpp", 57 "//third_party/icu/icu4c/source/common/cstr.cpp", 58 "//third_party/icu/icu4c/source/common/cstring.cpp", 59 "//third_party/icu/icu4c/source/common/cwchar.cpp", 60 "//third_party/icu/icu4c/source/common/dictbe.cpp", 61 "//third_party/icu/icu4c/source/common/dictionarydata.cpp", 62 "//third_party/icu/icu4c/source/common/dtintrv.cpp", 63 "//third_party/icu/icu4c/source/common/edits.cpp", 64 "//third_party/icu/icu4c/source/common/errorcode.cpp", 65 "//third_party/icu/icu4c/source/common/filteredbrk.cpp", 66 "//third_party/icu/icu4c/source/common/filterednormalizer2.cpp", 67 "//third_party/icu/icu4c/source/common/icudataver.cpp", 68 "//third_party/icu/icu4c/source/common/icuplug.cpp", 69 "//third_party/icu/icu4c/source/common/loadednormalizer2impl.cpp", 70 "//third_party/icu/icu4c/source/common/localebuilder.cpp", 71 "//third_party/icu/icu4c/source/common/localematcher.cpp", 72 "//third_party/icu/icu4c/source/common/localeprioritylist.cpp", 73 "//third_party/icu/icu4c/source/common/locavailable.cpp", 74 "//third_party/icu/icu4c/source/common/locbased.cpp", 75 "//third_party/icu/icu4c/source/common/locdispnames.cpp", 76 "//third_party/icu/icu4c/source/common/locdistance.cpp", 77 "//third_party/icu/icu4c/source/common/locdspnm.cpp", 78 "//third_party/icu/icu4c/source/common/locid.cpp", 79 "//third_party/icu/icu4c/source/common/loclikely.cpp", 80 "//third_party/icu/icu4c/source/common/loclikelysubtags.cpp", 81 "//third_party/icu/icu4c/source/common/locmap.cpp", 82 "//third_party/icu/icu4c/source/common/locresdata.cpp", 83 "//third_party/icu/icu4c/source/common/locutil.cpp", 84 "//third_party/icu/icu4c/source/common/lsr.cpp", 85 "//third_party/icu/icu4c/source/common/messagepattern.cpp", 86 "//third_party/icu/icu4c/source/common/normalizer2.cpp", 87 "//third_party/icu/icu4c/source/common/normalizer2impl.cpp", 88 "//third_party/icu/icu4c/source/common/normlzr.cpp", 89 "//third_party/icu/icu4c/source/common/parsepos.cpp", 90 "//third_party/icu/icu4c/source/common/patternprops.cpp", 91 "//third_party/icu/icu4c/source/common/pluralmap.cpp", 92 "//third_party/icu/icu4c/source/common/propname.cpp", 93 "//third_party/icu/icu4c/source/common/propsvec.cpp", 94 "//third_party/icu/icu4c/source/common/punycode.cpp", 95 "//third_party/icu/icu4c/source/common/putil.cpp", 96 "//third_party/icu/icu4c/source/common/rbbi.cpp", 97 "//third_party/icu/icu4c/source/common/rbbi_cache.cpp", 98 "//third_party/icu/icu4c/source/common/rbbidata.cpp", 99 "//third_party/icu/icu4c/source/common/rbbinode.cpp", 100 "//third_party/icu/icu4c/source/common/rbbirb.cpp", 101 "//third_party/icu/icu4c/source/common/rbbiscan.cpp", 102 "//third_party/icu/icu4c/source/common/rbbisetb.cpp", 103 "//third_party/icu/icu4c/source/common/rbbistbl.cpp", 104 "//third_party/icu/icu4c/source/common/rbbitblb.cpp", 105 "//third_party/icu/icu4c/source/common/resbund.cpp", 106 "//third_party/icu/icu4c/source/common/resbund_cnv.cpp", 107 "//third_party/icu/icu4c/source/common/resource.cpp", 108 "//third_party/icu/icu4c/source/common/restrace.cpp", 109 "//third_party/icu/icu4c/source/common/ruleiter.cpp", 110 "//third_party/icu/icu4c/source/common/schriter.cpp", 111 "//third_party/icu/icu4c/source/common/serv.cpp", 112 "//third_party/icu/icu4c/source/common/servlk.cpp", 113 "//third_party/icu/icu4c/source/common/servlkf.cpp", 114 "//third_party/icu/icu4c/source/common/servls.cpp", 115 "//third_party/icu/icu4c/source/common/servnotf.cpp", 116 "//third_party/icu/icu4c/source/common/servrbf.cpp", 117 "//third_party/icu/icu4c/source/common/servslkf.cpp", 118 "//third_party/icu/icu4c/source/common/sharedobject.cpp", 119 "//third_party/icu/icu4c/source/common/simpleformatter.cpp", 120 "//third_party/icu/icu4c/source/common/static_unicode_sets.cpp", 121 "//third_party/icu/icu4c/source/common/stringpiece.cpp", 122 "//third_party/icu/icu4c/source/common/stringtriebuilder.cpp", 123 "//third_party/icu/icu4c/source/common/uarrsort.cpp", 124 "//third_party/icu/icu4c/source/common/ubidi.cpp", 125 "//third_party/icu/icu4c/source/common/ubidi_props.cpp", 126 "//third_party/icu/icu4c/source/common/ubidiln.cpp", 127 "//third_party/icu/icu4c/source/common/ubiditransform.cpp", 128 "//third_party/icu/icu4c/source/common/ubidiwrt.cpp", 129 "//third_party/icu/icu4c/source/common/ubrk.cpp", 130 "//third_party/icu/icu4c/source/common/ucase.cpp", 131 "//third_party/icu/icu4c/source/common/ucasemap.cpp", 132 "//third_party/icu/icu4c/source/common/ucasemap_titlecase_brkiter.cpp", 133 "//third_party/icu/icu4c/source/common/ucat.cpp", 134 "//third_party/icu/icu4c/source/common/uchar.cpp", 135 "//third_party/icu/icu4c/source/common/ucharstrie.cpp", 136 "//third_party/icu/icu4c/source/common/ucharstriebuilder.cpp", 137 "//third_party/icu/icu4c/source/common/ucharstrieiterator.cpp", 138 "//third_party/icu/icu4c/source/common/uchriter.cpp", 139 "//third_party/icu/icu4c/source/common/ucln_cmn.cpp", 140 "//third_party/icu/icu4c/source/common/ucmndata.cpp", 141 "//third_party/icu/icu4c/source/common/ucnv.cpp", 142 "//third_party/icu/icu4c/source/common/ucnv2022.cpp", 143 "//third_party/icu/icu4c/source/common/ucnv_bld.cpp", 144 "//third_party/icu/icu4c/source/common/ucnv_cb.cpp", 145 "//third_party/icu/icu4c/source/common/ucnv_cnv.cpp", 146 "//third_party/icu/icu4c/source/common/ucnv_ct.cpp", 147 "//third_party/icu/icu4c/source/common/ucnv_err.cpp", 148 "//third_party/icu/icu4c/source/common/ucnv_ext.cpp", 149 "//third_party/icu/icu4c/source/common/ucnv_io.cpp", 150 "//third_party/icu/icu4c/source/common/ucnv_lmb.cpp", 151 "//third_party/icu/icu4c/source/common/ucnv_set.cpp", 152 "//third_party/icu/icu4c/source/common/ucnv_u16.cpp", 153 "//third_party/icu/icu4c/source/common/ucnv_u32.cpp", 154 "//third_party/icu/icu4c/source/common/ucnv_u7.cpp", 155 "//third_party/icu/icu4c/source/common/ucnv_u8.cpp", 156 "//third_party/icu/icu4c/source/common/ucnvbocu.cpp", 157 "//third_party/icu/icu4c/source/common/ucnvdisp.cpp", 158 "//third_party/icu/icu4c/source/common/ucnvhz.cpp", 159 "//third_party/icu/icu4c/source/common/ucnvisci.cpp", 160 "//third_party/icu/icu4c/source/common/ucnvlat1.cpp", 161 "//third_party/icu/icu4c/source/common/ucnvmbcs.cpp", 162 "//third_party/icu/icu4c/source/common/ucnvscsu.cpp", 163 "//third_party/icu/icu4c/source/common/ucnvsel.cpp", 164 "//third_party/icu/icu4c/source/common/ucol_swp.cpp", 165 "//third_party/icu/icu4c/source/common/ucptrie.cpp", 166 "//third_party/icu/icu4c/source/common/ucurr.cpp", 167 "//third_party/icu/icu4c/source/common/udata.cpp", 168 "//third_party/icu/icu4c/source/common/udatamem.cpp", 169 "//third_party/icu/icu4c/source/common/udataswp.cpp", 170 "//third_party/icu/icu4c/source/common/uenum.cpp", 171 "//third_party/icu/icu4c/source/common/uhash.cpp", 172 "//third_party/icu/icu4c/source/common/uhash_us.cpp", 173 "//third_party/icu/icu4c/source/common/uidna.cpp", 174 "//third_party/icu/icu4c/source/common/uinit.cpp", 175 "//third_party/icu/icu4c/source/common/uinvchar.cpp", 176 "//third_party/icu/icu4c/source/common/uiter.cpp", 177 "//third_party/icu/icu4c/source/common/ulist.cpp", 178 "//third_party/icu/icu4c/source/common/uloc.cpp", 179 "//third_party/icu/icu4c/source/common/uloc_keytype.cpp", 180 "//third_party/icu/icu4c/source/common/uloc_tag.cpp", 181 "//third_party/icu/icu4c/source/common/umapfile.cpp", 182 "//third_party/icu/icu4c/source/common/umath.cpp", 183 "//third_party/icu/icu4c/source/common/umutablecptrie.cpp", 184 "//third_party/icu/icu4c/source/common/umutex.cpp", 185 "//third_party/icu/icu4c/source/common/unames.cpp", 186 "//third_party/icu/icu4c/source/common/unifiedcache.cpp", 187 "//third_party/icu/icu4c/source/common/unifilt.cpp", 188 "//third_party/icu/icu4c/source/common/unifunct.cpp", 189 "//third_party/icu/icu4c/source/common/uniset.cpp", 190 "//third_party/icu/icu4c/source/common/uniset_closure.cpp", 191 "//third_party/icu/icu4c/source/common/uniset_props.cpp", 192 "//third_party/icu/icu4c/source/common/unisetspan.cpp", 193 "//third_party/icu/icu4c/source/common/unistr.cpp", 194 "//third_party/icu/icu4c/source/common/unistr_case.cpp", 195 "//third_party/icu/icu4c/source/common/unistr_case_locale.cpp", 196 "//third_party/icu/icu4c/source/common/unistr_cnv.cpp", 197 "//third_party/icu/icu4c/source/common/unistr_props.cpp", 198 "//third_party/icu/icu4c/source/common/unistr_titlecase_brkiter.cpp", 199 "//third_party/icu/icu4c/source/common/unorm.cpp", 200 "//third_party/icu/icu4c/source/common/unormcmp.cpp", 201 "//third_party/icu/icu4c/source/common/uobject.cpp", 202 "//third_party/icu/icu4c/source/common/uprops.cpp", 203 "//third_party/icu/icu4c/source/common/ures_cnv.cpp", 204 "//third_party/icu/icu4c/source/common/uresbund.cpp", 205 "//third_party/icu/icu4c/source/common/uresdata.cpp", 206 "//third_party/icu/icu4c/source/common/usc_impl.cpp", 207 "//third_party/icu/icu4c/source/common/uscript.cpp", 208 "//third_party/icu/icu4c/source/common/uscript_props.cpp", 209 "//third_party/icu/icu4c/source/common/uset.cpp", 210 "//third_party/icu/icu4c/source/common/uset_props.cpp", 211 "//third_party/icu/icu4c/source/common/usetiter.cpp", 212 "//third_party/icu/icu4c/source/common/ushape.cpp", 213 "//third_party/icu/icu4c/source/common/usprep.cpp", 214 "//third_party/icu/icu4c/source/common/ustack.cpp", 215 "//third_party/icu/icu4c/source/common/ustr_cnv.cpp", 216 "//third_party/icu/icu4c/source/common/ustr_titlecase_brkiter.cpp", 217 "//third_party/icu/icu4c/source/common/ustr_wcs.cpp", 218 "//third_party/icu/icu4c/source/common/ustrcase.cpp", 219 "//third_party/icu/icu4c/source/common/ustrcase_locale.cpp", 220 "//third_party/icu/icu4c/source/common/ustrenum.cpp", 221 "//third_party/icu/icu4c/source/common/ustrfmt.cpp", 222 "//third_party/icu/icu4c/source/common/ustring.cpp", 223 "//third_party/icu/icu4c/source/common/ustrtrns.cpp", 224 "//third_party/icu/icu4c/source/common/utext.cpp", 225 "//third_party/icu/icu4c/source/common/utf_impl.cpp", 226 "//third_party/icu/icu4c/source/common/util.cpp", 227 "//third_party/icu/icu4c/source/common/util_props.cpp", 228 "//third_party/icu/icu4c/source/common/utrace.cpp", 229 "//third_party/icu/icu4c/source/common/utrie.cpp", 230 "//third_party/icu/icu4c/source/common/utrie2.cpp", 231 "//third_party/icu/icu4c/source/common/utrie2_builder.cpp", 232 "//third_party/icu/icu4c/source/common/utrie_swap.cpp", 233 "//third_party/icu/icu4c/source/common/uts46.cpp", 234 "//third_party/icu/icu4c/source/common/utypes.cpp", 235 "//third_party/icu/icu4c/source/common/uvector.cpp", 236 "//third_party/icu/icu4c/source/common/uvectr32.cpp", 237 "//third_party/icu/icu4c/source/common/uvectr64.cpp", 238 "//third_party/icu/icu4c/source/common/wintz.cpp", 239 "//third_party/icu/icu4c/source/ohos/init_data.cpp", 240 "//third_party/icu/icu4c/source/stubdata/stubdata.cpp", 241 ] 242 cflags_cc = [ 243 "-O3", 244 "-W", 245 "-Wall", 246 "-pedantic", 247 "-Wpointer-arith", 248 "-Wpointer-arith", 249 "-Wwrite-strings", 250 "-Wno-error=unused-parameter", 251 "-Wno-error=unused-const-variable", 252 "-Wno-error=unneeded-internal-declaration", 253 "-Wignored-attributes", 254 "-std=c++11", 255 "-Wno-ignored-attributes", 256 ] 257 ldflags = [ 258 "-shared", 259 "-lm", 260 ] 261 subsystem_name = "$icu_lib_host_subsystem_name" 262 output_name = "hmicuuchost" 263} 264 265group("icuuc_host") { 266 deps = [ ":shared_icuuc_host(${host_toolchain})" ] 267} 268 269group("icuuc_win") { 270 deps = [ ":shared_icuuc_host(//build/toolchain/mingw:mingw_x86_64)" ] 271} 272 273group("icui18n_host") { 274 deps = [ "//third_party/icu/icu4c:shared_icui18n(${host_toolchain})" ] 275} 276 277ohos_shared_library("shared_icutu") { 278 configs = [ 279 ":icu_config", 280 "//build/config/compiler:rtti", 281 ] 282 deps = [ 283 ":icui18n_host", 284 ":icuuc_host", 285 ] 286 defines = [ 287 "U_ATTRIBUTE_DEPRECATED=", 288 "U_TOOLUTIL_IMPLEMENTATION", 289 "UPRV_BLOCK_MACRO_BEGIN=", 290 "UPRV_BLOCK_MACRO_END=", 291 "_REENTRANT", 292 ] 293 sources = [ 294 "//third_party/icu/icu4c/source/tools/toolutil/collationinfo.cpp", 295 "//third_party/icu/icu4c/source/tools/toolutil/dbgutil.cpp", 296 "//third_party/icu/icu4c/source/tools/toolutil/denseranges.cpp", 297 "//third_party/icu/icu4c/source/tools/toolutil/filestrm.cpp", 298 "//third_party/icu/icu4c/source/tools/toolutil/filetools.cpp", 299 "//third_party/icu/icu4c/source/tools/toolutil/flagparser.cpp", 300 "//third_party/icu/icu4c/source/tools/toolutil/package.cpp", 301 "//third_party/icu/icu4c/source/tools/toolutil/pkg_genc.cpp", 302 "//third_party/icu/icu4c/source/tools/toolutil/pkg_gencmn.cpp", 303 "//third_party/icu/icu4c/source/tools/toolutil/pkg_icu.cpp", 304 "//third_party/icu/icu4c/source/tools/toolutil/pkgitems.cpp", 305 "//third_party/icu/icu4c/source/tools/toolutil/ppucd.cpp", 306 "//third_party/icu/icu4c/source/tools/toolutil/swapimpl.cpp", 307 "//third_party/icu/icu4c/source/tools/toolutil/toolutil.cpp", 308 "//third_party/icu/icu4c/source/tools/toolutil/ucbuf.cpp", 309 "//third_party/icu/icu4c/source/tools/toolutil/ucln_tu.cpp", 310 "//third_party/icu/icu4c/source/tools/toolutil/ucm.cpp", 311 "//third_party/icu/icu4c/source/tools/toolutil/ucmstate.cpp", 312 "//third_party/icu/icu4c/source/tools/toolutil/udbgutil.cpp", 313 "//third_party/icu/icu4c/source/tools/toolutil/unewdata.cpp", 314 "//third_party/icu/icu4c/source/tools/toolutil/uoptions.cpp", 315 "//third_party/icu/icu4c/source/tools/toolutil/uparse.cpp", 316 "//third_party/icu/icu4c/source/tools/toolutil/writesrc.cpp", 317 "//third_party/icu/icu4c/source/tools/toolutil/xmlparser.cpp", 318 ] 319 cflags_cc = [ 320 "-O3", 321 "-W", 322 "-Wall", 323 "-pedantic", 324 "-Wpointer-arith", 325 "-Wwrite-strings", 326 "-Wno-long-long", 327 "-Wno-error=unused-parameter", 328 "-D_REENTRANT", 329 "-DU_HAVE_ELF_H=1", 330 "-DU_HAVE_STRTOD_L=1", 331 "-DU_HAVE_XLOCALE_H=0", 332 "-DU_BUILD=\"x86_64-pc-linux-gnu\"", 333 "-DU_HOST=\"x86_64-pc-linux-gnu\"", 334 "-DU_CC=\"gcc\"", 335 "-DU_CXX=\"g++\"", 336 "-std=c++11", 337 "-DUNISTR_FROM_CHAR_EXPLICIT=explicit", 338 "-DUNISTR_FROM_STRING_EXPLICIT=explicit", 339 "-DU_ATTRIBUTE_DEPRECATED=", 340 "-Wno-ignored-attributes", 341 ] 342 ldflags = [ 343 "-shared", 344 "-lm", 345 ] 346 subsystem_name = "$icu_lib_host_subsystem_name" 347 output_name = "hmicutuhost" 348} 349 350ohos_shared_library("shared_icuio") { 351 configs = [ 352 ":icu_config", 353 "//build/config/compiler:rtti", 354 ] 355 deps = [ 356 ":icui18n_host", 357 ":icuuc_host", 358 ] 359 defines = [ 360 "U_ATTRIBUTE_DEPRECATED=", 361 "UPRV_BLOCK_MACRO_BEGIN=", 362 "UPRV_BLOCK_MACRO_END=", 363 "U_IO_IMPLEMENTATION", 364 "_REENTRANT", 365 ] 366 sources = [ 367 "//third_party/icu/icu4c/source/io/locbund.cpp", 368 "//third_party/icu/icu4c/source/io/sprintf.cpp", 369 "//third_party/icu/icu4c/source/io/sscanf.cpp", 370 "//third_party/icu/icu4c/source/io/ucln_io.cpp", 371 "//third_party/icu/icu4c/source/io/ufile.cpp", 372 "//third_party/icu/icu4c/source/io/ufmt_cmn.cpp", 373 "//third_party/icu/icu4c/source/io/uprintf.cpp", 374 "//third_party/icu/icu4c/source/io/uprntf_p.cpp", 375 "//third_party/icu/icu4c/source/io/uscanf.cpp", 376 "//third_party/icu/icu4c/source/io/uscanf_p.cpp", 377 "//third_party/icu/icu4c/source/io/ustdio.cpp", 378 "//third_party/icu/icu4c/source/io/ustream.cpp", 379 ] 380 cflags_cc = [ 381 "-O3", 382 "-W", 383 "-Wall", 384 "-pedantic", 385 "-Wpointer-arith", 386 "-Wwrite-strings", 387 "-Wno-error=unused-parameter", 388 "-Wno-error=unused-const-variable", 389 "-Wno-error=unneeded-internal-declaration", 390 "-std=c++11", 391 "-Wno-ignored-attributes", 392 ] 393 ldflags = [ 394 "-shared", 395 "-lm", 396 ] 397 subsystem_name = "$icu_lib_host_subsystem_name" 398 output_name = "hmicuio" 399} 400 401group("lib_host") { 402 deps = [ 403 ":icui18n_host", 404 ":icuuc_host", 405 ":shared_icuio(${host_toolchain})", 406 ":shared_icutu(${host_toolchain})", 407 ] 408} 409 410ohos_executable("genbrk") { 411 configs = [ ":icu_config" ] 412 deps = [ ":lib_host" ] 413 sources = [ "//third_party/icu/icu4c/source/tools/genbrk/genbrk.cpp" ] 414 cflags_cc = [ 415 "-O3", 416 "-W", 417 "-Wall", 418 "-pedantic", 419 "-Wpointer-arith", 420 "-Wwrite-strings", 421 "-std=c++11", 422 ] 423 ldflags = [ 424 "-ldl", 425 "-lm", 426 ] 427 subsystem_name = "$icu_bin_host_subsystem_name" 428 output_name = "genbrk" 429} 430 431ohos_executable("genccode") { 432 configs = [ ":icu_config" ] 433 deps = [ ":lib_host" ] 434 sources = [ "//third_party/icu/icu4c/source/tools/genccode/genccode.c" ] 435 cflags_cc = [ 436 "-O3", 437 "-W", 438 "-Wall", 439 "-pedantic", 440 "-Wpointer-arith", 441 "-Wwrite-strings", 442 "-std=c++11", 443 ] 444 ldflags = [ 445 "-ldl", 446 "-lm", 447 ] 448 subsystem_name = "$icu_bin_host_subsystem_name" 449 output_name = "genccode" 450} 451 452ohos_executable("gencfu") { 453 configs = [ ":icu_config" ] 454 deps = [ ":lib_host" ] 455 sources = [ "//third_party/icu/icu4c/source/tools/gencfu/gencfu.cpp" ] 456 cflags_cc = [ 457 "-O3", 458 "-W", 459 "-Wall", 460 "-pedantic", 461 "-Wpointer-arith", 462 "-Wwrite-strings", 463 "-std=c++11", 464 ] 465 ldflags = [ 466 "-ldl", 467 "-lm", 468 ] 469 subsystem_name = "$icu_bin_host_subsystem_name" 470 output_name = "gencfu" 471} 472 473ohos_executable("gencnval") { 474 configs = [ ":icu_config" ] 475 deps = [ ":lib_host" ] 476 sources = [ "//third_party/icu/icu4c/source/tools/gencnval/gencnval.c" ] 477 cflags_cc = [ 478 "-O3", 479 "-W", 480 "-Wall", 481 "-pedantic", 482 "-Wpointer-arith", 483 "-Wwrite-strings", 484 "-std=c++11", 485 ] 486 ldflags = [ 487 "-ldl", 488 "-lm", 489 ] 490 subsystem_name = "$icu_bin_host_subsystem_name" 491 output_name = "gencnval" 492} 493 494ohos_executable("gendict") { 495 configs = [ ":icu_config" ] 496 deps = [ ":lib_host" ] 497 sources = [ "//third_party/icu/icu4c/source/tools/gendict/gendict.cpp" ] 498 cflags_cc = [ 499 "-O3", 500 "-W", 501 "-Wall", 502 "-pedantic", 503 "-Wpointer-arith", 504 "-Wwrite-strings", 505 "-std=c++11", 506 ] 507 ldflags = [ 508 "-ldl", 509 "-lm", 510 ] 511 subsystem_name = "$icu_bin_host_subsystem_name" 512 output_name = "gendict" 513} 514 515ohos_static_library("genrb_c") { 516 configs = [ ":icu_config" ] 517 deps = [ ":lib_host" ] 518 sources = [ 519 "//third_party/icu/icu4c/source/tools/genrb/errmsg.c", 520 "//third_party/icu/icu4c/source/tools/genrb/rbutil.c", 521 "//third_party/icu/icu4c/source/tools/genrb/read.c", 522 "//third_party/icu/icu4c/source/tools/genrb/rle.c", 523 "//third_party/icu/icu4c/source/tools/genrb/ustr.c", 524 ] 525 cflags_c = [ 526 "-O3", 527 "-std=c11", 528 "-Wall", 529 "-pedantic", 530 "-Wshadow", 531 "-Wpointer-arith", 532 "-Wmissing-prototypes", 533 "-Wwrite-strings", 534 "-D_REENTRANT", 535 "-DUNISTR_FROM_CHAR_EXPLICIT=explicit", 536 "-DUNISTR_FROM_STRING_EXPLICIT=explicit", 537 "-DU_ATTRIBUTE_DEPRECATED=", 538 "-Wno-sign-compare", 539 ] 540 ldflags = [ 541 "-ldl", 542 "-lm", 543 ] 544} 545ohos_executable("genrb") { 546 configs = [ ":icu_config" ] 547 deps = [ 548 ":genrb_c(${host_toolchain})", 549 ":lib_host", 550 ] 551 sources = [ 552 "//third_party/icu/icu4c/source/tools/genrb/filterrb.cpp", 553 "//third_party/icu/icu4c/source/tools/genrb/genrb.cpp", 554 "//third_party/icu/icu4c/source/tools/genrb/parse.cpp", 555 "//third_party/icu/icu4c/source/tools/genrb/prscmnts.cpp", 556 "//third_party/icu/icu4c/source/tools/genrb/reslist.cpp", 557 "//third_party/icu/icu4c/source/tools/genrb/wrtjava.cpp", 558 "//third_party/icu/icu4c/source/tools/genrb/wrtxml.cpp", 559 ] 560 cflags_cc = [ 561 "-O3", 562 "-W", 563 "-Wall", 564 "-pedantic", 565 "-Wpointer-arith", 566 "-Wwrite-strings", 567 "-Wno-long-long", 568 "-D_REENTRANT", 569 "-DU_HAVE_ELF_H=1", 570 "-DU_HAVE_XLOCALE_H=0", 571 "-std=c++11", 572 "-DUNISTR_FROM_CHAR_EXPLICIT=explicit", 573 "-DUNISTR_FROM_STRING_EXPLICIT=explicit", 574 "-DU_ATTRIBUTE_DEPRECATED=", 575 ] 576 ldflags = [ 577 "-ldl", 578 "-lm", 579 ] 580 subsystem_name = "$icu_bin_host_subsystem_name" 581 output_name = "genrb" 582} 583 584ohos_executable("derb") { 585 configs = [ ":icu_config" ] 586 deps = [ ":lib_host" ] 587 sources = [ "//third_party/icu/icu4c/source/tools/genrb/derb.cpp" ] 588 cflags_cc = [ 589 "-O3", 590 "-W", 591 "-Wall", 592 "-pedantic", 593 "-Wpointer-arith", 594 "-Wwrite-strings", 595 "-std=c++11", 596 ] 597 ldflags = [ 598 "-ldl", 599 "-lm", 600 ] 601 subsystem_name = "$icu_bin_host_subsystem_name" 602 output_name = "derb" 603} 604 605ohos_executable("makeconv") { 606 configs = [ ":icu_config" ] 607 deps = [ ":lib_host" ] 608 sources = [ 609 "//third_party/icu/icu4c/source/tools/makeconv/gencnvex.c", 610 "//third_party/icu/icu4c/source/tools/makeconv/genmbcs.cpp", 611 "//third_party/icu/icu4c/source/tools/makeconv/makeconv.cpp", 612 "//third_party/icu/icu4c/source/tools/makeconv/ucnvstat.c", 613 ] 614 cflags_cc = [ 615 "-O3", 616 "-W", 617 "-Wall", 618 "-pedantic", 619 "-Wpointer-arith", 620 "-Wwrite-strings", 621 "-std=c++11", 622 ] 623 ldflags = [ 624 "-ldl", 625 "-lm", 626 ] 627 subsystem_name = "$icu_bin_host_subsystem_name" 628 output_name = "makeconv" 629} 630 631ohos_executable("gensprep") { 632 configs = [ ":icu_config" ] 633 deps = [ ":lib_host" ] 634 sources = [ 635 "//third_party/icu/icu4c/source/tools/gensprep/gensprep.c", 636 "//third_party/icu/icu4c/source/tools/gensprep/store.c", 637 ] 638 cflags_cc = [ 639 "-O3", 640 "-W", 641 "-Wall", 642 "-pedantic", 643 "-Wpointer-arith", 644 "-Wwrite-strings", 645 "-std=c++11", 646 ] 647 ldflags = [ 648 "-ldl", 649 "-lm", 650 ] 651 subsystem_name = "$icu_bin_host_subsystem_name" 652 output_name = "gensprep" 653} 654 655ohos_executable("icupkg") { 656 configs = [ ":icu_config" ] 657 deps = [ ":lib_host" ] 658 sources = [ "//third_party/icu/icu4c/source/tools/icupkg/icupkg.cpp" ] 659 cflags_cc = [ 660 "-O3", 661 "-W", 662 "-Wall", 663 "-pedantic", 664 "-Wpointer-arith", 665 "-Wwrite-strings", 666 "-std=c++11", 667 ] 668 ldflags = [ 669 "-ldl", 670 "-lm", 671 ] 672 subsystem_name = "$icu_bin_host_subsystem_name" 673 output_name = "icupkg" 674} 675 676ohos_executable("pkgdata") { 677 configs = [ ":icu_config" ] 678 deps = [ 679 ":lib_host", 680 ":shared_icutu(${host_toolchain})", 681 ] 682 sources = [ 683 "//third_party/icu/icu4c/source/tools/pkgdata/pkgdata.cpp", 684 "//third_party/icu/icu4c/source/tools/pkgdata/pkgtypes.c", 685 ] 686 cflags_cc = [ 687 "-O3", 688 "-W", 689 "-Wall", 690 "-pedantic", 691 "-Wpointer-arith", 692 "-Wwrite-strings", 693 "-std=c++11", 694 ] 695 ldflags = [ 696 "-ldl", 697 "-lm", 698 ] 699 subsystem_name = "$icu_bin_host_subsystem_name" 700 output_name = "pkgdata" 701} 702group("bin_host") { 703 deps = [ 704 ":genbrk(${host_toolchain})", 705 ":genccode(${host_toolchain})", 706 ":gencfu(${host_toolchain})", 707 ":gencnval(${host_toolchain})", 708 ":gendict(${host_toolchain})", 709 ":genrb(${host_toolchain})", 710 ":gensprep(${host_toolchain})", 711 ":icupkg(${host_toolchain})", 712 ":makeconv(${host_toolchain})", 713 ":pkgdata(${host_toolchain})", 714 ] 715} 716