290 lines
5.9 KiB
Makefile
290 lines
5.9 KiB
Makefile
# 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.
|
|
|
|
|
|
LOCAL_PATH:= $(call my-dir)
|
|
|
|
#
|
|
# Common definitions.
|
|
#
|
|
|
|
src_files := \
|
|
cmemory.c \
|
|
cstring.c \
|
|
cstr.cpp \
|
|
cwchar.c \
|
|
filteredbrk.cpp \
|
|
icuplug.cpp \
|
|
loadednormalizer2impl.cpp \
|
|
locmap.c \
|
|
pluralmap.cpp \
|
|
propsvec.c \
|
|
punycode.cpp \
|
|
putil.cpp \
|
|
resource.cpp \
|
|
sharedobject.cpp \
|
|
simplepatternformatter.cpp \
|
|
uarrsort.c \
|
|
ubidi.c \
|
|
ubidiln.c \
|
|
ubidi_props.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 \
|
|
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
|
|
|
|
src_files += \
|
|
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
|
|
|
|
# This is the empty compiled-in icu data structure
|
|
# that we need to satisfy the linker.
|
|
src_files += ../stubdata/stubdata.c
|
|
|
|
c_includes := \
|
|
$(LOCAL_PATH) \
|
|
$(LOCAL_PATH)/../i18n
|
|
|
|
# We deliberately do not set -DICU_DATA_DIR: ICU4C is configured on Android
|
|
# using udata_setCommonData.
|
|
|
|
local_cflags += -D_REENTRANT
|
|
local_cflags += -DU_COMMON_IMPLEMENTATION
|
|
|
|
local_cflags += -O3 -fvisibility=hidden
|
|
|
|
local_cflags += -Wno-unused-parameter \
|
|
-Wno-missing-field-initializers \
|
|
-Wno-sign-compare \
|
|
-Wno-deprecated-declarations
|
|
|
|
#
|
|
# Build for the target (device).
|
|
#
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_SRC_FILES += $(src_files)
|
|
LOCAL_C_INCLUDES += $(c_includes) $(optional_android_logging_includes)
|
|
LOCAL_CFLAGS += $(local_cflags) -DPIC -fPIC
|
|
LOCAL_SHARED_LIBRARIES += libdl $(optional_android_logging_libraries)
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_MODULE := libicuuc
|
|
LOCAL_RTTI_FLAG := -frtti
|
|
LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
|
|
ifndef BRILLO
|
|
LOCAL_REQUIRED_MODULES += icu-data
|
|
endif
|
|
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
|
|
ifneq ($(TARGET_ARCH),mips64)
|
|
LOCAL_CLANG := true
|
|
endif
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
#
|
|
# Build for the host.
|
|
#
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_SRC_FILES += $(src_files)
|
|
LOCAL_C_INCLUDES += $(c_includes) $(optional_android_logging_includes)
|
|
LOCAL_CFLAGS += $(local_cflags)
|
|
LOCAL_SHARED_LIBRARIES += $(optional_android_logging_libraries)
|
|
LOCAL_LDLIBS += -ldl -lm -lpthread
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_MODULE := libicuuc-host
|
|
LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
|
|
LOCAL_REQUIRED_MODULES += icu-data-host
|
|
LOCAL_MULTILIB := both
|
|
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
|
|
LOCAL_CLANG := true
|
|
include $(BUILD_HOST_SHARED_LIBRARY)
|
|
|
|
#
|
|
# Build as a static library against the NDK
|
|
#
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_SDK_VERSION := 9
|
|
LOCAL_NDK_STL_VARIANT := stlport_static
|
|
LOCAL_C_INCLUDES += $(c_includes)
|
|
LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)
|
|
LOCAL_RTTI_FLAG := -frtti
|
|
LOCAL_CFLAGS += $(local_cflags) -DPIC -fPIC
|
|
# Using -Os over -O3 actually cuts down the final executable size by a few dozen kilobytes
|
|
LOCAL_CFLAGS += -Os
|
|
LOCAL_EXPORT_CFLAGS += -DU_STATIC_IMPLEMENTATION=1
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_MODULE := libicuuc_static
|
|
LOCAL_SRC_FILES += $(src_files)
|
|
ifndef BRILLO
|
|
LOCAL_REQUIRED_MODULES += icu-data
|
|
endif
|
|
ifneq ($(TARGET_ARCH),mips64)
|
|
LOCAL_CLANG := true
|
|
endif
|
|
include $(BUILD_STATIC_LIBRARY)
|