# This file is generated by gyp; do not edit.

include $(CLEAR_VARS)

LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE := third_party_icu_icui18n_gyp
LOCAL_MODULE_SUFFIX := .a
LOCAL_MODULE_TARGET_ARCH := $(TARGET_$(GYP_VAR_PREFIX)ARCH)
LOCAL_SDK_VERSION := 21
gyp_intermediate_dir := $(call local-intermediates-dir,,$(GYP_VAR_PREFIX))
gyp_shared_intermediate_dir := $(call intermediates-dir-for,GYP,shared,,,$(GYP_VAR_PREFIX))

# Make sure our deps are built first.
GYP_TARGET_DEPENDENCIES :=

GYP_GENERATED_OUTPUTS :=

# Make sure our deps and generated files are built first.
LOCAL_ADDITIONAL_DEPENDENCIES := $(GYP_TARGET_DEPENDENCIES) $(GYP_GENERATED_OUTPUTS)

LOCAL_GENERATED_SOURCES :=

GYP_COPIED_SOURCE_ORIGIN_DIRS :=

LOCAL_SRC_FILES := \
	third_party/icu/source/i18n/alphaindex.cpp \
	third_party/icu/source/i18n/anytrans.cpp \
	third_party/icu/source/i18n/astro.cpp \
	third_party/icu/source/i18n/basictz.cpp \
	third_party/icu/source/i18n/bocsu.cpp \
	third_party/icu/source/i18n/brktrans.cpp \
	third_party/icu/source/i18n/buddhcal.cpp \
	third_party/icu/source/i18n/calendar.cpp \
	third_party/icu/source/i18n/casetrn.cpp \
	third_party/icu/source/i18n/cecal.cpp \
	third_party/icu/source/i18n/chnsecal.cpp \
	third_party/icu/source/i18n/choicfmt.cpp \
	third_party/icu/source/i18n/coleitr.cpp \
	third_party/icu/source/i18n/coll.cpp \
	third_party/icu/source/i18n/compactdecimalformat.cpp \
	third_party/icu/source/i18n/coptccal.cpp \
	third_party/icu/source/i18n/cpdtrans.cpp \
	third_party/icu/source/i18n/csdetect.cpp \
	third_party/icu/source/i18n/csmatch.cpp \
	third_party/icu/source/i18n/csr2022.cpp \
	third_party/icu/source/i18n/csrecog.cpp \
	third_party/icu/source/i18n/csrmbcs.cpp \
	third_party/icu/source/i18n/csrsbcs.cpp \
	third_party/icu/source/i18n/csrucode.cpp \
	third_party/icu/source/i18n/csrutf8.cpp \
	third_party/icu/source/i18n/curramt.cpp \
	third_party/icu/source/i18n/currfmt.cpp \
	third_party/icu/source/i18n/currpinf.cpp \
	third_party/icu/source/i18n/currunit.cpp \
	third_party/icu/source/i18n/dangical.cpp \
	third_party/icu/source/i18n/datefmt.cpp \
	third_party/icu/source/i18n/dcfmtsym.cpp \
	third_party/icu/source/i18n/decContext.c \
	third_party/icu/source/i18n/decfmtst.cpp \
	third_party/icu/source/i18n/decimfmt.cpp \
	third_party/icu/source/i18n/decNumber.c \
	third_party/icu/source/i18n/digitlst.cpp \
	third_party/icu/source/i18n/dtfmtsym.cpp \
	third_party/icu/source/i18n/dtitvfmt.cpp \
	third_party/icu/source/i18n/dtitvinf.cpp \
	third_party/icu/source/i18n/dtptngen.cpp \
	third_party/icu/source/i18n/dtrule.cpp \
	third_party/icu/source/i18n/esctrn.cpp \
	third_party/icu/source/i18n/ethpccal.cpp \
	third_party/icu/source/i18n/fmtable_cnv.cpp \
	third_party/icu/source/i18n/fmtable.cpp \
	third_party/icu/source/i18n/format.cpp \
	third_party/icu/source/i18n/fphdlimp.cpp \
	third_party/icu/source/i18n/fpositer.cpp \
	third_party/icu/source/i18n/funcrepl.cpp \
	third_party/icu/source/i18n/gender.cpp \
	third_party/icu/source/i18n/gregocal.cpp \
	third_party/icu/source/i18n/gregoimp.cpp \
	third_party/icu/source/i18n/hebrwcal.cpp \
	third_party/icu/source/i18n/identifier_info.cpp \
	third_party/icu/source/i18n/indiancal.cpp \
	third_party/icu/source/i18n/inputext.cpp \
	third_party/icu/source/i18n/islamcal.cpp \
	third_party/icu/source/i18n/japancal.cpp \
	third_party/icu/source/i18n/locdspnm.cpp \
	third_party/icu/source/i18n/measfmt.cpp \
	third_party/icu/source/i18n/measure.cpp \
	third_party/icu/source/i18n/msgfmt.cpp \
	third_party/icu/source/i18n/name2uni.cpp \
	third_party/icu/source/i18n/nfrs.cpp \
	third_party/icu/source/i18n/nfrule.cpp \
	third_party/icu/source/i18n/nfsubs.cpp \
	third_party/icu/source/i18n/nortrans.cpp \
	third_party/icu/source/i18n/nultrans.cpp \
	third_party/icu/source/i18n/numfmt.cpp \
	third_party/icu/source/i18n/numsys.cpp \
	third_party/icu/source/i18n/olsontz.cpp \
	third_party/icu/source/i18n/persncal.cpp \
	third_party/icu/source/i18n/plurfmt.cpp \
	third_party/icu/source/i18n/plurrule.cpp \
	third_party/icu/source/i18n/quant.cpp \
	third_party/icu/source/i18n/rbnf.cpp \
	third_party/icu/source/i18n/rbt.cpp \
	third_party/icu/source/i18n/rbt_data.cpp \
	third_party/icu/source/i18n/rbt_pars.cpp \
	third_party/icu/source/i18n/rbt_rule.cpp \
	third_party/icu/source/i18n/rbt_set.cpp \
	third_party/icu/source/i18n/rbtz.cpp \
	third_party/icu/source/i18n/regexcmp.cpp \
	third_party/icu/source/i18n/regeximp.cpp \
	third_party/icu/source/i18n/regexst.cpp \
	third_party/icu/source/i18n/regextxt.cpp \
	third_party/icu/source/i18n/region.cpp \
	third_party/icu/source/i18n/reldtfmt.cpp \
	third_party/icu/source/i18n/rematch.cpp \
	third_party/icu/source/i18n/remtrans.cpp \
	third_party/icu/source/i18n/repattrn.cpp \
	third_party/icu/source/i18n/scriptset.cpp \
	third_party/icu/source/i18n/search.cpp \
	third_party/icu/source/i18n/selfmt.cpp \
	third_party/icu/source/i18n/simpletz.cpp \
	third_party/icu/source/i18n/smpdtfmt.cpp \
	third_party/icu/source/i18n/smpdtfst.cpp \
	third_party/icu/source/i18n/sortkey.cpp \
	third_party/icu/source/i18n/strmatch.cpp \
	third_party/icu/source/i18n/strrepl.cpp \
	third_party/icu/source/i18n/stsearch.cpp \
	third_party/icu/source/i18n/taiwncal.cpp \
	third_party/icu/source/i18n/tblcoll.cpp \
	third_party/icu/source/i18n/timezone.cpp \
	third_party/icu/source/i18n/titletrn.cpp \
	third_party/icu/source/i18n/tmunit.cpp \
	third_party/icu/source/i18n/tmutamt.cpp \
	third_party/icu/source/i18n/tmutfmt.cpp \
	third_party/icu/source/i18n/tolowtrn.cpp \
	third_party/icu/source/i18n/toupptrn.cpp \
	third_party/icu/source/i18n/translit.cpp \
	third_party/icu/source/i18n/transreg.cpp \
	third_party/icu/source/i18n/tridpars.cpp \
	third_party/icu/source/i18n/tzfmt.cpp \
	third_party/icu/source/i18n/tzgnames.cpp \
	third_party/icu/source/i18n/tznames.cpp \
	third_party/icu/source/i18n/tznames_impl.cpp \
	third_party/icu/source/i18n/tzrule.cpp \
	third_party/icu/source/i18n/tztrans.cpp \
	third_party/icu/source/i18n/ucal.cpp \
	third_party/icu/source/i18n/ucln_in.c \
	third_party/icu/source/i18n/ucol_bld.cpp \
	third_party/icu/source/i18n/ucol_cnt.cpp \
	third_party/icu/source/i18n/ucol.cpp \
	third_party/icu/source/i18n/ucoleitr.cpp \
	third_party/icu/source/i18n/ucol_elm.cpp \
	third_party/icu/source/i18n/ucol_res.cpp \
	third_party/icu/source/i18n/ucol_sit.cpp \
	third_party/icu/source/i18n/ucol_tok.cpp \
	third_party/icu/source/i18n/ucol_wgt.cpp \
	third_party/icu/source/i18n/ucsdet.cpp \
	third_party/icu/source/i18n/ucurr.cpp \
	third_party/icu/source/i18n/udat.cpp \
	third_party/icu/source/i18n/udateintervalformat.cpp \
	third_party/icu/source/i18n/udatpg.cpp \
	third_party/icu/source/i18n/ulocdata.c \
	third_party/icu/source/i18n/umsg.cpp \
	third_party/icu/source/i18n/unesctrn.cpp \
	third_party/icu/source/i18n/uni2name.cpp \
	third_party/icu/source/i18n/unum.cpp \
	third_party/icu/source/i18n/unumsys.cpp \
	third_party/icu/source/i18n/upluralrules.cpp \
	third_party/icu/source/i18n/uregexc.cpp \
	third_party/icu/source/i18n/uregex.cpp \
	third_party/icu/source/i18n/uregion.cpp \
	third_party/icu/source/i18n/usearch.cpp \
	third_party/icu/source/i18n/uspoof_build.cpp \
	third_party/icu/source/i18n/uspoof_conf.cpp \
	third_party/icu/source/i18n/uspoof.cpp \
	third_party/icu/source/i18n/uspoof_impl.cpp \
	third_party/icu/source/i18n/uspoof_wsconf.cpp \
	third_party/icu/source/i18n/utmscale.c \
	third_party/icu/source/i18n/utrans.cpp \
	third_party/icu/source/i18n/vtzone.cpp \
	third_party/icu/source/i18n/vzone.cpp \
	third_party/icu/source/i18n/windtfmt.cpp \
	third_party/icu/source/i18n/winnmfmt.cpp \
	third_party/icu/source/i18n/wintzimpl.cpp \
	third_party/icu/source/i18n/zonemeta.cpp \
	third_party/icu/source/i18n/zrule.cpp \
	third_party/icu/source/i18n/ztrans.cpp


# Flags passed to both C and C++ files.
MY_CFLAGS_Debug := \
	-fstack-protector \
	--param=ssp-buffer-size=4 \
	-fno-strict-aliasing \
	-Wno-unused-parameter \
	-Wno-missing-field-initializers \
	-fvisibility=hidden \
	-pipe \
	-fPIC \
	-Wno-unused-local-typedefs \
	-Wno-deprecated-declarations \
	-fno-builtin-sin \
	-Wno-format \
	-fno-tree-sra \
	-fno-caller-saves \
	-Wno-psabi \
	-fno-partial-inlining \
	-fno-early-inlining \
	-fno-tree-copy-prop \
	-fno-tree-loop-optimize \
	-fno-move-loop-invariants \
	-ffunction-sections \
	-funwind-tables \
	-g \
	-fstack-protector \
	-fno-short-enums \
	-finline-limit=64 \
	-Wa,--noexecstack \
	-U_FORTIFY_SOURCE \
	-Wno-extra \
	-Wno-ignored-qualifiers \
	-Wno-type-limits \
	-Wno-unused-but-set-variable \
	-Wno-address \
	-Wno-format-security \
	-Wno-return-type \
	-Wno-sequence-point \
	-Os \
	-g \
	-gdwarf-4 \
	-fdata-sections \
	-ffunction-sections \
	-fomit-frame-pointer \
	-funwind-tables

MY_DEFS_Debug := \
	'-DU_USING_ICU_NAMESPACE=0' \
	'-DHAVE_DLOPEN=0' \
	'-DUCONFIG_NO_NON_HTML5_CONVERSION=1' \
	'-DV8_DEPRECATION_WARNINGS' \
	'-D_FILE_OFFSET_BITS=64' \
	'-DNO_TCMALLOC' \
	'-DDISABLE_NACL' \
	'-DU_STATIC_IMPLEMENTATION' \
	'-DCHROMIUM_BUILD' \
	'-DUSE_LIBJPEG_TURBO=1' \
	'-DENABLE_WEBRTC=1' \
	'-DUSE_PROPRIETARY_CODECS' \
	'-DENABLE_BROWSER_CDMS' \
	'-DENABLE_CONFIGURATION_POLICY' \
	'-DENABLE_NOTIFICATIONS' \
	'-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
	'-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
	'-DDONT_EMBED_BUILD_METADATA' \
	'-DCLD_VERSION=1' \
	'-DENABLE_PRINTING=1' \
	'-DENABLE_BASIC_PRINTING=1' \
	'-DENABLE_MANAGED_USERS=1' \
	'-DVIDEO_HOLE=1' \
	'-DENABLE_LOAD_COMPLETION_HACKS=1' \
	'-DU_I18N_IMPLEMENTATION' \
	'-DU_ENABLE_DYLOAD=0' \
	'-DUSE_LIBPCI=1' \
	'-DUSE_OPENSSL=1' \
	'-DUSE_OPENSSL_CERTS=1' \
	'-DANDROID' \
	'-D__GNU_SOURCE=1' \
	'-DUSE_STLPORT=1' \
	'-D_STLP_USE_PTR_SPECIALIZATIONS=1' \
	'-DCHROME_BUILD_ID=""' \
	'-DDYNAMIC_ANNOTATIONS_ENABLED=1' \
	'-DWTF_USE_DYNAMIC_ANNOTATIONS=1' \
	'-D_DEBUG'


# Include paths placed before CFLAGS/CPPFLAGS
LOCAL_C_INCLUDES_Debug := \
	$(LOCAL_PATH)/third_party/icu/source/common \
	$(LOCAL_PATH)/third_party/icu/source/i18n \
	$(gyp_shared_intermediate_dir)


# Flags passed to only C++ (and not C) files.
LOCAL_CPPFLAGS_Debug := \
	-fno-exceptions \
	-fno-rtti \
	-fno-threadsafe-statics \
	-fvisibility-inlines-hidden \
	-frtti \
	-Wno-deprecated \
	-Wno-abi \
	-std=gnu++11 \
	-Wno-narrowing \
	-Wno-literal-suffix \
	-Wno-non-virtual-dtor \
	-Wno-sign-promo \
	-Wno-non-virtual-dtor


# Flags passed to both C and C++ files.
MY_CFLAGS_Release := \
	-fstack-protector \
	--param=ssp-buffer-size=4 \
	-fno-strict-aliasing \
	-Wno-unused-parameter \
	-Wno-missing-field-initializers \
	-fvisibility=hidden \
	-pipe \
	-fPIC \
	-Wno-unused-local-typedefs \
	-Wno-deprecated-declarations \
	-fno-builtin-sin \
	-Wno-format \
	-fno-tree-sra \
	-fno-caller-saves \
	-Wno-psabi \
	-fno-partial-inlining \
	-fno-early-inlining \
	-fno-tree-copy-prop \
	-fno-tree-loop-optimize \
	-fno-move-loop-invariants \
	-ffunction-sections \
	-funwind-tables \
	-g \
	-fstack-protector \
	-fno-short-enums \
	-finline-limit=64 \
	-Wa,--noexecstack \
	-U_FORTIFY_SOURCE \
	-Wno-extra \
	-Wno-ignored-qualifiers \
	-Wno-type-limits \
	-Wno-unused-but-set-variable \
	-Wno-address \
	-Wno-format-security \
	-Wno-return-type \
	-Wno-sequence-point \
	-Os \
	-fno-ident \
	-fdata-sections \
	-ffunction-sections \
	-fomit-frame-pointer \
	-funwind-tables

MY_DEFS_Release := \
	'-DU_USING_ICU_NAMESPACE=0' \
	'-DHAVE_DLOPEN=0' \
	'-DUCONFIG_NO_NON_HTML5_CONVERSION=1' \
	'-DV8_DEPRECATION_WARNINGS' \
	'-D_FILE_OFFSET_BITS=64' \
	'-DNO_TCMALLOC' \
	'-DDISABLE_NACL' \
	'-DU_STATIC_IMPLEMENTATION' \
	'-DCHROMIUM_BUILD' \
	'-DUSE_LIBJPEG_TURBO=1' \
	'-DENABLE_WEBRTC=1' \
	'-DUSE_PROPRIETARY_CODECS' \
	'-DENABLE_BROWSER_CDMS' \
	'-DENABLE_CONFIGURATION_POLICY' \
	'-DENABLE_NOTIFICATIONS' \
	'-DDISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY' \
	'-DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE' \
	'-DDONT_EMBED_BUILD_METADATA' \
	'-DCLD_VERSION=1' \
	'-DENABLE_PRINTING=1' \
	'-DENABLE_BASIC_PRINTING=1' \
	'-DENABLE_MANAGED_USERS=1' \
	'-DVIDEO_HOLE=1' \
	'-DENABLE_LOAD_COMPLETION_HACKS=1' \
	'-DU_I18N_IMPLEMENTATION' \
	'-DU_ENABLE_DYLOAD=0' \
	'-DUSE_LIBPCI=1' \
	'-DUSE_OPENSSL=1' \
	'-DUSE_OPENSSL_CERTS=1' \
	'-DANDROID' \
	'-D__GNU_SOURCE=1' \
	'-DUSE_STLPORT=1' \
	'-D_STLP_USE_PTR_SPECIALIZATIONS=1' \
	'-DCHROME_BUILD_ID=""' \
	'-DNDEBUG' \
	'-DNVALGRIND' \
	'-DDYNAMIC_ANNOTATIONS_ENABLED=0'


# Include paths placed before CFLAGS/CPPFLAGS
LOCAL_C_INCLUDES_Release := \
	$(LOCAL_PATH)/third_party/icu/source/common \
	$(LOCAL_PATH)/third_party/icu/source/i18n \
	$(gyp_shared_intermediate_dir)


# Flags passed to only C++ (and not C) files.
LOCAL_CPPFLAGS_Release := \
	-fno-exceptions \
	-fno-rtti \
	-fno-threadsafe-statics \
	-fvisibility-inlines-hidden \
	-frtti \
	-Wno-deprecated \
	-Wno-abi \
	-std=gnu++11 \
	-Wno-narrowing \
	-Wno-literal-suffix \
	-Wno-non-virtual-dtor \
	-Wno-sign-promo \
	-Wno-non-virtual-dtor


LOCAL_CFLAGS := $(MY_CFLAGS_$(GYP_CONFIGURATION)) $(MY_DEFS_$(GYP_CONFIGURATION))
LOCAL_C_INCLUDES := $(GYP_COPIED_SOURCE_ORIGIN_DIRS) $(LOCAL_C_INCLUDES_$(GYP_CONFIGURATION))
LOCAL_CPPFLAGS := $(LOCAL_CPPFLAGS_$(GYP_CONFIGURATION))
LOCAL_ASFLAGS := $(LOCAL_CFLAGS)
### Rules for final target.
### Set directly by aosp_build_settings.
LOCAL_CLANG := false
LOCAL_NDK_STL_VARIANT := stlport_static

# Add target alias to "gyp_all_modules" target.
.PHONY: gyp_all_modules
gyp_all_modules: third_party_icu_icui18n_gyp

# Alias gyp target name.
.PHONY: icui18n
icui18n: third_party_icu_icui18n_gyp

include $(BUILD_STATIC_LIBRARY)
