• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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