# 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.
# ######################################################################
# To get your own ICU userdata:
#
# Go to http://apps.icu-project.org/datacustom/ and configure yourself
# a data file. Unzip the file it gives you, and save that somewhere,
# Set the icu_var_name variable to the location of that file in the tree.
#
# Make sure to choose ICU4C at the bottom. You should also
# make sure to pick all of the following options, as they are required
# by the system. Things will fail quietly if you don't have them:
#
# >>> base list goes here once we have it <<<
#
# ######################################################################
LOCAL_PATH:= $(call my-dir)
# This sets LOCAL_PRELINK_MODULE := false because the prelink map requires
# a unique address for each shared library, but I think all the variants
# of libicudata.so actually need to be mapped at the same address so they
# can be interchangable.
##
# Build configuration:
#
# Japanese wins if required.
# "Large" includes most other languages.
# US-Euro is needed for IT or PL builds
# Default is suitable for CS, DE, EN, ES, FR, NL
# US has only EN and ES
config := $(word 1, \
$(if $(findstring ar,$(PRODUCT_LOCALES)),large) \
$(if $(findstring da,$(PRODUCT_LOCALES)),large) \
$(if $(findstring el,$(PRODUCT_LOCALES)),large) \
$(if $(findstring fi,$(PRODUCT_LOCALES)),large) \
$(if $(findstring he,$(PRODUCT_LOCALES)),large) \
$(if $(findstring hr,$(PRODUCT_LOCALES)),large) \
$(if $(findstring hu,$(PRODUCT_LOCALES)),large) \
$(if $(findstring id,$(PRODUCT_LOCALES)),large) \
$(if $(findstring ko,$(PRODUCT_LOCALES)),large) \
$(if $(findstring nb,$(PRODUCT_LOCALES)),large) \
$(if $(findstring pt,$(PRODUCT_LOCALES)),large) \
$(if $(findstring ro,$(PRODUCT_LOCALES)),large) \
$(if $(findstring ru,$(PRODUCT_LOCALES)),large) \
$(if $(findstring sk,$(PRODUCT_LOCALES)),large) \
$(if $(findstring sr,$(PRODUCT_LOCALES)),large) \
$(if $(findstring sv,$(PRODUCT_LOCALES)),large) \
$(if $(findstring th,$(PRODUCT_LOCALES)),large) \
$(if $(findstring tr,$(PRODUCT_LOCALES)),large) \
$(if $(findstring uk,$(PRODUCT_LOCALES)),large) \
$(if $(findstring zh,$(PRODUCT_LOCALES)),large) \
$(if $(findstring ja,$(PRODUCT_LOCALES)),us-japan) \
$(if $(findstring it,$(PRODUCT_LOCALES)),us-euro) \
$(if $(findstring pl,$(PRODUCT_LOCALES)),us-euro) \
$(if $(findstring cs,$(PRODUCT_LOCALES)),default) \
$(if $(findstring de,$(PRODUCT_LOCALES)),default) \
$(if $(findstring fr,$(PRODUCT_LOCALES)),default) \
$(if $(findstring nl,$(PRODUCT_LOCALES)),default) \
us)
icu_var_name := icudt38_dat
##
###### Japanese
include $(CLEAR_VARS)
LOCAL_MODULE := libicudata-jp
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_PRELINK_MODULE := false
ifeq ($(config),us-japan)
LOCAL_MODULE_STEM := libicudata
LOCAL_MODULE_TAGS := user
else
LOCAL_MODULE_TAGS := optional
endif
intermediates := $(call local-intermediates-dir)
icu_data_file := $(LOCAL_PATH)/icudt38l-us-japan.dat
asm_file := $(intermediates)/icu_data_jp.S
LOCAL_GENERATED_SOURCES += $(asm_file)
$(asm_file): PRIVATE_VAR_NAME := $(icu_var_name)
$(asm_file): $(icu_data_file) $(ICUDATA)
@echo icudata: $@
$(hide) mkdir -p $(dir $@)
$(hide) $(ICUDATA) $(PRIVATE_VAR_NAME) < $< > $@
LOCAL_CFLAGS += -D_REENTRANT -DPIC -fPIC
LOCAL_CFLAGS += -O3 -nodefaultlibs -nostdlib
include $(BUILD_SHARED_LIBRARY)
###### Large
include $(CLEAR_VARS)
LOCAL_MODULE := libicudata-large
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_PRELINK_MODULE := false
ifeq ($(config),large)
LOCAL_MODULE_STEM := libicudata
LOCAL_MODULE_TAGS := user
else
LOCAL_MODULE_TAGS := optional
endif
intermediates := $(call local-intermediates-dir)
icu_data_file := $(LOCAL_PATH)/icudt38l-large.dat
asm_file := $(intermediates)/icu_data_large.S
LOCAL_GENERATED_SOURCES += $(asm_file)
$(asm_file): PRIVATE_VAR_NAME := $(icu_var_name)
$(asm_file): $(icu_data_file) $(ICUDATA)
@echo icudata: $@
$(hide) mkdir -p $(dir $@)
$(hide) $(ICUDATA) $(PRIVATE_VAR_NAME) < $< > $@
LOCAL_CFLAGS += -D_REENTRANT -DPIC -fPIC
LOCAL_CFLAGS += -O3 -nodefaultlibs -nostdlib
include $(BUILD_SHARED_LIBRARY)
###### Euro
include $(CLEAR_VARS)
LOCAL_MODULE := libicudata-eu
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_PRELINK_MODULE := false
ifeq ($(config),us-euro)
LOCAL_MODULE_STEM := libicudata
LOCAL_MODULE_TAGS := user
else
LOCAL_MODULE_TAGS := optional
endif
intermediates := $(call local-intermediates-dir)
icu_data_file := $(LOCAL_PATH)/icudt38l-us-euro.dat
asm_file := $(intermediates)/icu_data_eu.S
LOCAL_GENERATED_SOURCES += $(asm_file)
$(asm_file): PRIVATE_VAR_NAME := $(icu_var_name)
$(asm_file): $(icu_data_file) $(ICUDATA)
@echo icudata: $@
$(hide) mkdir -p $(dir $@)
$(hide) $(ICUDATA) $(PRIVATE_VAR_NAME) < $< > $@
LOCAL_CFLAGS += -D_REENTRANT -DPIC -fPIC
LOCAL_CFLAGS += -O3 -nodefaultlibs -nostdlib
include $(BUILD_SHARED_LIBRARY)
###### Default
include $(CLEAR_VARS)
LOCAL_MODULE := libicudata-default
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_PRELINK_MODULE := false
ifeq ($(config),default)
LOCAL_MODULE_STEM := libicudata
LOCAL_MODULE_TAGS := user
else
LOCAL_MODULE_TAGS := optional
endif
intermediates := $(call local-intermediates-dir)
icu_data_file := $(LOCAL_PATH)/icudt38l-default.dat
asm_file := $(intermediates)/icu_data_default.S
LOCAL_GENERATED_SOURCES += $(asm_file)
$(asm_file): PRIVATE_VAR_NAME := $(icu_var_name)
$(asm_file): $(icu_data_file) $(ICUDATA)
@echo icudata: $@
$(hide) mkdir -p $(dir $@)
$(hide) $(ICUDATA) $(PRIVATE_VAR_NAME) < $< > $@
LOCAL_CFLAGS += -D_REENTRANT -DPIC -fPIC
LOCAL_CFLAGS += -O3 -nodefaultlibs -nostdlib
include $(BUILD_SHARED_LIBRARY)
###### US
include $(CLEAR_VARS)
LOCAL_MODULE := libicudata-us
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_PRELINK_MODULE := false
ifeq ($(config),us)
LOCAL_MODULE_STEM := libicudata
LOCAL_MODULE_TAGS := user
else
LOCAL_MODULE_TAGS := optional
endif
intermediates := $(call local-intermediates-dir)
icu_data_file := $(LOCAL_PATH)/icudt38l-us.dat
asm_file := $(intermediates)/icu_data_us.S
LOCAL_GENERATED_SOURCES += $(asm_file)
$(asm_file): PRIVATE_VAR_NAME := $(icu_var_name)
$(asm_file): $(icu_data_file) $(ICUDATA)
@echo icudata: $@
$(hide) mkdir -p $(dir $@)
$(hide) $(ICUDATA) $(PRIVATE_VAR_NAME) < $< > $@
LOCAL_CFLAGS += -D_REENTRANT -DPIC -fPIC
LOCAL_CFLAGS += -O3 -nodefaultlibs -nostdlib
include $(BUILD_SHARED_LIBRARY)
######