Home | History | Annotate | Download | only in i18n
      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 LOCAL_PATH:= $(call my-dir)
     17 
     18 #
     19 # Common definitions.
     20 #
     21 
     22 include $(CLEAR_VARS)
     23 
     24 src_files := \
     25 	ucln_in.c  decContext.c \
     26 	ulocdata.c  utmscale.c decNumber.c
     27 
     28 src_files += \
     29         indiancal.cpp   dtptngen.cpp dtrule.cpp   \
     30         persncal.cpp    rbtz.cpp     reldtfmt.cpp \
     31         taiwncal.cpp    tzrule.cpp   tztrans.cpp  \
     32         udatpg.cpp      vtzone.cpp                \
     33 	anytrans.cpp    astro.cpp    buddhcal.cpp \
     34 	basictz.cpp     calendar.cpp casetrn.cpp  \
     35 	choicfmt.cpp    coleitr.cpp  coll.cpp     \
     36 	collation.cpp \
     37 	collationbasedatabuilder.cpp collationbuilder.cpp \
     38 	collationcompare.cpp collationdata.cpp \
     39 	collationdatabuilder.cpp collationdatareader.cpp \
     40 	collationdatawriter.cpp collationfastlatin.cpp \
     41 	collationfastlatinbuilder.cpp collationfcd.cpp \
     42 	collationiterator.cpp collationkeys.cpp collationroot.cpp \
     43 	collationrootelements.cpp collationruleparser.cpp \
     44 	collationsets.cpp collationsettings.cpp \
     45 	collationtailoring.cpp collationweights.cpp \
     46 	compactdecimalformat.cpp \
     47 	cpdtrans.cpp    csdetect.cpp csmatch.cpp  \
     48 	csr2022.cpp     csrecog.cpp  csrmbcs.cpp  \
     49 	csrsbcs.cpp     csrucode.cpp csrutf8.cpp  \
     50 	curramt.cpp     currfmt.cpp  currunit.cpp \
     51 	dangical.cpp \
     52 	datefmt.cpp     dcfmtsym.cpp decimfmt.cpp \
     53 	decimalformatpattern.cpp \
     54 	digitlst.cpp    dtfmtsym.cpp esctrn.cpp   \
     55 	filteredbrk.cpp \
     56 	fmtable_cnv.cpp fmtable.cpp  format.cpp   \
     57 	funcrepl.cpp    gender.cpp \
     58 	gregocal.cpp gregoimp.cpp \
     59 	hebrwcal.cpp 	identifier_info.cpp \
     60 	inputext.cpp islamcal.cpp \
     61 	japancal.cpp    measfmt.cpp measunit.cpp  \
     62 	measure.cpp  \
     63 	msgfmt.cpp      name2uni.cpp nfrs.cpp     \
     64 	nfrule.cpp      nfsubs.cpp   nortrans.cpp \
     65 	nultrans.cpp    numfmt.cpp   olsontz.cpp  \
     66 	quant.cpp       quantityformatter.cpp \
     67 	rbnf.cpp     rbt.cpp      \
     68 	rbt_data.cpp    rbt_pars.cpp rbt_rule.cpp \
     69 	rbt_set.cpp     regexcmp.cpp regexst.cpp  \
     70 	regeximp.cpp 	region.cpp \
     71 	rematch.cpp     remtrans.cpp repattrn.cpp \
     72 	rulebasedcollator.cpp \
     73 	scriptset.cpp \
     74 	search.cpp      simpletz.cpp smpdtfmt.cpp \
     75 	sortkey.cpp     strmatch.cpp strrepl.cpp  \
     76 	stsearch.cpp    timezone.cpp \
     77 	titletrn.cpp    tolowtrn.cpp toupptrn.cpp \
     78 	translit.cpp    transreg.cpp tridpars.cpp \
     79 	ucal.cpp        \
     80 	ucol.cpp        ucoleitr.cpp \
     81 	ucol_res.cpp    ucol_sit.cpp \
     82 	ucsdet.cpp      ucurr.cpp    udat.cpp     \
     83 	uitercollationiterator.cpp \
     84 	umsg.cpp        unesctrn.cpp uni2name.cpp \
     85 	unum.cpp        uregexc.cpp  uregex.cpp   \
     86 	usearch.cpp     \
     87 	utf16collationiterator.cpp \
     88 	utf8collationiterator.cpp \
     89 	utrans.cpp   windtfmt.cpp \
     90 	winnmfmt.cpp    zonemeta.cpp \
     91 	numsys.cpp      chnsecal.cpp \
     92 	cecal.cpp       coptccal.cpp ethpccal.cpp \
     93 	brktrans.cpp    wintzimpl.cpp plurrule.cpp \
     94 	plurfmt.cpp     dtitvfmt.cpp dtitvinf.cpp \
     95 	tmunit.cpp      tmutamt.cpp  tmutfmt.cpp  \
     96         currpinf.cpp    uspoof.cpp   uspoof_impl.cpp \
     97         uspoof_build.cpp     \
     98         regextxt.cpp    selfmt.cpp   uspoof_conf.cpp \
     99         uspoof_wsconf.cpp ztrans.cpp zrule.cpp  \
    100         vzone.cpp       fphdlimp.cpp fpositer.cpp\
    101         locdspnm.cpp    \
    102         alphaindex.cpp  bocsu.cpp    decfmtst.cpp \
    103         smpdtfst.cpp    smpdtfst.h   tzfmt.cpp \
    104         tzgnames.cpp    tznames.cpp  tznames_impl.cpp \
    105         udateintervalformat.cpp  upluralrules.cpp
    106 
    107 
    108 c_includes = \
    109 	$(LOCAL_PATH) \
    110 	$(LOCAL_PATH)/../common
    111 
    112 local_cflags := -D_REENTRANT
    113 local_cflags += -DU_I18N_IMPLEMENTATION
    114 local_cflags += -O3 -fvisibility=hidden
    115 
    116 
    117 #
    118 # Build for the target (device).
    119 #
    120 
    121 include $(CLEAR_VARS)
    122 LOCAL_SRC_FILES += $(src_files)
    123 LOCAL_C_INCLUDES += $(c_includes) $(optional_android_logging_includes)
    124 LOCAL_CFLAGS += $(local_cflags) -DPIC -fPIC
    125 LOCAL_SHARED_LIBRARIES += libicuuc $(optional_android_logging_libraries)
    126 LOCAL_MODULE_TAGS := optional
    127 LOCAL_MODULE := libicui18n
    128 LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
    129 # Use "-include" to not fail apps_only build.
    130 -include abi/cpp/use_rtti.mk
    131 -include external/stlport/libstlport.mk
    132 include $(BUILD_SHARED_LIBRARY)
    133 
    134 
    135 #
    136 # Build for the host.
    137 #
    138 
    139 include $(CLEAR_VARS)
    140 LOCAL_SRC_FILES += $(src_files)
    141 LOCAL_C_INCLUDES += $(c_includes) $(optional_android_logging_includes)
    142 LOCAL_CFLAGS += $(local_cflags)
    143 LOCAL_SHARED_LIBRARIES += libicuuc-host $(optional_android_logging_libraries)
    144 LOCAL_LDLIBS += -lm -lpthread
    145 LOCAL_MODULE_TAGS := optional
    146 LOCAL_MODULE := libicui18n-host
    147 LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
    148 LOCAL_MULTILIB := both
    149 include $(BUILD_HOST_SHARED_LIBRARY)
    150 
    151 #
    152 # Build as a static library against the NDK
    153 #
    154 
    155 include $(CLEAR_VARS)
    156 LOCAL_SDK_VERSION := 9
    157 LOCAL_NDK_STL_VARIANT := stlport_static
    158 LOCAL_SRC_FILES += $(src_files)
    159 LOCAL_C_INCLUDES += $(c_includes) $(optional_android_logging_includes)
    160 LOCAL_SHARED_LIBRARIES += $(optional_android_logging_libraries)
    161 LOCAL_STATIC_LIBRARIES += libicuuc_static
    162 LOCAL_EXPORT_C_INCLUDES += $(LOCAL_PATH)
    163 LOCAL_CPP_FEATURES := rtti
    164 LOCAL_CFLAGS += $(local_cflags) -DPIC -fPIC -frtti
    165 # Using -Os over -O3 actually cuts down the final executable size by a few dozen kilobytes
    166 LOCAL_CFLAGS += -Os
    167 LOCAL_EXPORT_CFLAGS += -DU_STATIC_IMPLEMENTATION=1
    168 LOCAL_MODULE_TAGS := optional
    169 LOCAL_MODULE := libicui18n_static
    170 include $(BUILD_STATIC_LIBRARY)
    171