blob: 6bacb5003a3fa8358d0df91adb6b8f80975ca4d6 [file] [log] [blame]
// Copyright (C) 2008 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Common definitions.
//
cc_defaults {
name: "libicuuc_defaults",
srcs: [
"cmemory.c",
"cstring.c",
"cstr.cpp",
"cwchar.c",
"filteredbrk.cpp",
"icuplug.cpp",
"loadednormalizer2impl.cpp",
"locdspnm.cpp",
"locmap.c",
"pluralmap.cpp",
"propsvec.c",
"punycode.cpp",
"putil.cpp",
"resource.cpp",
"sharedobject.cpp",
"simpleformatter.cpp",
"uarrsort.c",
"ubidi.c",
"ubidiln.c",
"ubidi_props.c",
"ubiditransform.c",
"ubidiwrt.c",
"ucase.cpp",
"ucasemap.cpp",
"ucat.c",
"uchar.c",
"ucln_cmn.cpp",
"ucmndata.c",
"ucnv2022.cpp",
"ucnv_bld.cpp",
"ucnvbocu.cpp",
"ucnv.c",
"ucnv_cb.c",
"ucnv_cnv.c",
"ucnv_ct.c",
"ucnvdisp.c",
"ucnv_err.c",
"ucnv_ext.cpp",
"ucnvhz.c",
"ucnv_io.cpp",
"ucnvisci.c",
"ucnvlat1.c",
"ucnv_lmb.c",
"ucnvmbcs.cpp",
"ucnvscsu.c",
"ucnv_set.c",
"ucnv_u16.c",
"ucnv_u32.c",
"ucnv_u7.c",
"ucnv_u8.c",
"ucurr.cpp",
"udatamem.c",
"udataswp.c",
"uenum.c",
"uhash.c",
"uinit.cpp",
"uinvchar.c",
"ulist.c",
"ulistformatter.cpp",
"uloc.cpp",
"uloc_keytype.cpp",
"uloc_tag.c",
"umapfile.c",
"umath.c",
"umutex.cpp",
"unames.cpp",
"uresbund.cpp",
"ures_cnv.c",
"uresdata.cpp",
"usc_impl.c",
"uscript.c",
"uscript_props.cpp",
"ushape.cpp",
"ustrcase.cpp",
"ustr_cnv.cpp",
"ustrfmt.c",
"ustring.cpp",
"ustrtrns.cpp",
"ustr_wcs.cpp",
"utf_impl.c",
"utrace.c",
"utrie2_builder.cpp",
"utrie.cpp",
"utypes.c",
"wintz.c",
"appendable.cpp",
"bmpset.cpp",
"brkeng.cpp",
"brkiter.cpp",
"bytestream.cpp",
"bytestriebuilder.cpp",
"bytestrie.cpp",
"bytestrieiterator.cpp",
"caniter.cpp",
"chariter.cpp",
"charstr.cpp",
"dictbe.cpp",
"dictionarydata.cpp",
"dtintrv.cpp",
"errorcode.cpp",
"filterednormalizer2.cpp",
"listformatter.cpp",
"locavailable.cpp",
"locbased.cpp",
"locdispnames.cpp",
"locid.cpp",
"loclikely.cpp",
"locresdata.cpp",
"locutil.cpp",
"messagepattern.cpp",
"normalizer2.cpp",
"normalizer2impl.cpp",
"normlzr.cpp",
"parsepos.cpp",
"patternprops.cpp",
"propname.cpp",
"rbbi.cpp",
"rbbidata.cpp",
"rbbinode.cpp",
"rbbirb.cpp",
"rbbiscan.cpp",
"rbbisetb.cpp",
"rbbistbl.cpp",
"rbbitblb.cpp",
"resbund_cnv.cpp",
"resbund.cpp",
"ruleiter.cpp",
"schriter.cpp",
"serv.cpp",
"servlk.cpp",
"servlkf.cpp",
"servls.cpp",
"servnotf.cpp",
"servrbf.cpp",
"servslkf.cpp",
"stringpiece.cpp",
"stringtriebuilder.cpp",
"ubrk.cpp",
"ucasemap_titlecase_brkiter.cpp",
"ucharstriebuilder.cpp",
"ucharstrie.cpp",
"ucharstrieiterator.cpp",
"uchriter.cpp",
"ucnvsel.cpp",
"ucol_swp.cpp",
"udata.cpp",
"uhash_us.cpp",
"uidna.cpp",
"uiter.cpp",
"unifiedcache.cpp",
"unifilt.cpp",
"unifunct.cpp",
"uniset_closure.cpp",
"uniset.cpp",
"uniset_props.cpp",
"unisetspan.cpp",
"unistr_case.cpp",
"unistr_case_locale.cpp",
"unistr_cnv.cpp",
"unistr.cpp",
"unistr_props.cpp",
"unistr_titlecase_brkiter.cpp",
"unormcmp.cpp",
"unorm.cpp",
"uobject.cpp",
"uprops.cpp",
"uset.cpp",
"usetiter.cpp",
"uset_props.cpp",
"usprep.cpp",
"ustack.cpp",
"ustrcase_locale.cpp",
"ustrenum.cpp",
"ustr_titlecase_brkiter.cpp",
"utext.cpp",
"util.cpp",
"util_props.cpp",
"utrie2.cpp",
"uts46.cpp",
"uvector.cpp",
"uvectr32.cpp",
"uvectr64.cpp",
],
// We deliberately do not set -DICU_DATA_DIR: ICU4C is configured on Android
// using udata_setCommonData.
cflags: [
"-D_REENTRANT",
"-DU_COMMON_IMPLEMENTATION",
"-O3",
"-fvisibility=hidden",
"-Wno-unused-parameter",
"-Wno-missing-field-initializers",
"-Wno-sign-compare",
"-Wno-deprecated-declarations",
],
export_include_dirs: ["."],
rtti: true,
clang: true,
arch: {
mips64: {
clang: false,
},
},
required: ["icu-data"],
target: {
android: {
cflags: [
"-DPIC",
"-fPIC",
],
shared_libs: ["libdl"],
},
host: {
host_ldlibs: [
"-ldl",
"-lm",
"-lpthread",
],
},
},
}
//
// Build for the host and target.
//
cc_library_shared {
name: "libicuuc",
vendor_available: true,
host_supported: true,
unique_host_soname: true,
defaults: ["libicuuc_defaults"],
static_libs: ["libicuuc_stubdata"],
}
//
// Build as a static library against the NDK
//
cc_library_static {
name: "libicuuc_static",
sdk_version: "9",
stl: "stlport_static",
defaults: ["libicuuc_defaults"],
static_libs: ["libicuuc_stubdata_ndk"],
cflags: ["-Os"], // Using -Os over -O3 actually cuts down the final executable size by a few dozen kilobytes
}