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