• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (C) 2008 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15//
16// Common definitions.
17//
18
19cc_defaults {
20    name: "libicuuc_defaults",
21    srcs: [
22        "appendable.cpp",
23        "bmpset.cpp",
24        "brkeng.cpp",
25        "brkiter.cpp",
26        "bytesinkutil.cpp",
27        "bytestream.cpp",
28        "bytestriebuilder.cpp",
29        "bytestrie.cpp",
30        "bytestrieiterator.cpp",
31        "caniter.cpp",
32        "chariter.cpp",
33        "charstr.cpp",
34        "cmemory.cpp",
35        "cstr.cpp",
36        "cstring.cpp",
37        "cwchar.cpp",
38        "dictbe.cpp",
39        "dictionarydata.cpp",
40        "dtintrv.cpp",
41        "edits.cpp",
42        "errorcode.cpp",
43        "filteredbrk.cpp",
44        "filterednormalizer2.cpp",
45        "icudataver.cpp",
46        "icuplug.cpp",
47        "listformatter.cpp",
48        "loadednormalizer2impl.cpp",
49        "locavailable.cpp",
50        "locbased.cpp",
51        "locdispnames.cpp",
52        "locdspnm.cpp",
53        "locid.cpp",
54        "loclikely.cpp",
55        "locmap.cpp",
56        "locresdata.cpp",
57        "locutil.cpp",
58        "messagepattern.cpp",
59        "normalizer2.cpp",
60        "normalizer2impl.cpp",
61        "normlzr.cpp",
62        "parsepos.cpp",
63        "patternprops.cpp",
64        "pluralmap.cpp",
65        "propname.cpp",
66        "propsvec.cpp",
67        "punycode.cpp",
68        "putil.cpp",
69        "rbbi_cache.cpp",
70        "rbbi.cpp",
71        "rbbidata.cpp",
72        "rbbinode.cpp",
73        "rbbirb.cpp",
74        "rbbiscan.cpp",
75        "rbbisetb.cpp",
76        "rbbistbl.cpp",
77        "rbbitblb.cpp",
78        "resbund_cnv.cpp",
79        "resbund.cpp",
80        "resource.cpp",
81        "ruleiter.cpp",
82        "schriter.cpp",
83        "serv.cpp",
84        "servlk.cpp",
85        "servlkf.cpp",
86        "servls.cpp",
87        "servnotf.cpp",
88        "servrbf.cpp",
89        "servslkf.cpp",
90        "sharedobject.cpp",
91        "simpleformatter.cpp",
92        "stringpiece.cpp",
93        "stringtriebuilder.cpp",
94        "uarrsort.cpp",
95        "ubidi.cpp",
96        "ubidiln.cpp",
97        "ubidi_props.cpp",
98        "ubiditransform.cpp",
99        "ubidiwrt.cpp",
100        "ubrk.cpp",
101        "ucase.cpp",
102        "ucasemap.cpp",
103        "ucasemap_titlecase_brkiter.cpp",
104        "ucat.cpp",
105        "uchar.cpp",
106        "ucharstriebuilder.cpp",
107        "ucharstrie.cpp",
108        "ucharstrieiterator.cpp",
109        "uchriter.cpp",
110        "ucln_cmn.cpp",
111        "ucmndata.cpp",
112        "ucnv2022.cpp",
113        "ucnv_bld.cpp",
114        "ucnvbocu.cpp",
115        "ucnv_cb.cpp",
116        "ucnv_cnv.cpp",
117        "ucnv.cpp",
118        "ucnv_ct.cpp",
119        "ucnvdisp.cpp",
120        "ucnv_err.cpp",
121        "ucnv_ext.cpp",
122        "ucnvhz.cpp",
123        "ucnv_io.cpp",
124        "ucnvisci.cpp",
125        "ucnvlat1.cpp",
126        "ucnv_lmb.cpp",
127        "ucnvmbcs.cpp",
128        "ucnvscsu.cpp",
129        "ucnvsel.cpp",
130        "ucnv_set.cpp",
131        "ucnv_u16.cpp",
132        "ucnv_u32.cpp",
133        "ucnv_u7.cpp",
134        "ucnv_u8.cpp",
135        "ucol_swp.cpp",
136        "ucurr.cpp",
137        "udata.cpp",
138        "udatamem.cpp",
139        "udataswp.cpp",
140        "uenum.cpp",
141        "uhash.cpp",
142        "uhash_us.cpp",
143        "uidna.cpp",
144        "uinit.cpp",
145        "uinvchar.cpp",
146        "uiter.cpp",
147        "ulist.cpp",
148        "ulistformatter.cpp",
149        "uloc.cpp",
150        "uloc_keytype.cpp",
151        "uloc_tag.cpp",
152        "umapfile.cpp",
153        "umath.cpp",
154        "umutex.cpp",
155        "unames.cpp",
156        "unifiedcache.cpp",
157        "unifilt.cpp",
158        "unifunct.cpp",
159        "uniset_closure.cpp",
160        "uniset.cpp",
161        "uniset_props.cpp",
162        "unisetspan.cpp",
163        "unistr_case.cpp",
164        "unistr_case_locale.cpp",
165        "unistr_cnv.cpp",
166        "unistr.cpp",
167        "unistr_props.cpp",
168        "unistr_titlecase_brkiter.cpp",
169        "unormcmp.cpp",
170        "unorm.cpp",
171        "uobject.cpp",
172        "uprops.cpp",
173        "uresbund.cpp",
174        "ures_cnv.cpp",
175        "uresdata.cpp",
176        "usc_impl.cpp",
177        "uscript.cpp",
178        "uscript_props.cpp",
179        "uset.cpp",
180        "usetiter.cpp",
181        "uset_props.cpp",
182        "ushape.cpp",
183        "usprep.cpp",
184        "ustack.cpp",
185        "ustrcase.cpp",
186        "ustrcase_locale.cpp",
187        "ustr_cnv.cpp",
188        "ustrenum.cpp",
189        "ustrfmt.cpp",
190        "ustring.cpp",
191        "ustr_titlecase_brkiter.cpp",
192        "ustrtrns.cpp",
193        "ustr_wcs.cpp",
194        "utext.cpp",
195        "utf_impl.cpp",
196        "util.cpp",
197        "util_props.cpp",
198        "utrace.cpp",
199        "utrie2_builder.cpp",
200        "utrie2.cpp",
201        "utrie.cpp",
202        "uts46.cpp",
203        "utypes.cpp",
204        "uvector.cpp",
205        "uvectr32.cpp",
206        "uvectr64.cpp",
207        "wintz.cpp",
208    ],
209
210    // We deliberately do not set -DICU_DATA_DIR: ICU4C is configured on Android
211    // using udata_setCommonData.
212    cflags: [
213        "-D_REENTRANT",
214        "-DU_COMMON_IMPLEMENTATION",
215
216        "-O3",
217        "-fvisibility=hidden",
218
219        "-Wall",
220        "-Werror",
221        "-Wno-unused-parameter",
222        "-Wno-missing-field-initializers",
223        "-Wno-sign-compare",
224        "-Wno-deprecated-declarations",
225    ],
226
227    cppflags: [
228        "-std=c++11",
229    ],
230
231    export_include_dirs: ["."],
232    rtti: true,
233
234    required: ["icu-data"],
235
236    target: {
237        android: {
238            cflags: [
239                "-DPIC",
240                "-fPIC",
241            ],
242        },
243    },
244}
245
246//
247// Build for the host and target.
248//
249cc_library {
250    name: "libicuuc",
251    host_supported: true,
252    unique_host_soname: true,
253    defaults: ["libicuuc_defaults"],
254    static_libs: ["libicuuc_stubdata"],
255}
256