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