blob: 41e57d6bf34da8b0259d7ba6de814caa376ee618 [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 used for building ICU data files.
#
# Prior to including this file, the following variables should be
# set for each variant:
#
# LOCAL_MODULE -- set (as usual) to name the module being built
# data_file_name -- the name of the prebuilt data file to use
# output_file_name -- the name of the output source file
# required_config -- the name of the configuration that requires this data
#
# And these variables need to be set before the first variant is defined.
# This is done in the preamble of the Android.mk file in this directory:
#
# config -- current configuration
# icu_var_name -- name of the symbol that needs to be defined in the
# data file
#
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
# This sets LOCAL_PRELINK_MODULE := false because the prelink map
# requires a unique address for each shared library, but all the
# variants of libicudata.so actually need to be mapped at the same
# address so they can be interchangable.
LOCAL_PRELINK_MODULE := false
ifeq ($(config),$(required_config))
LOCAL_MODULE_STEM := libicudata
LOCAL_MODULE_TAGS := user
else
LOCAL_MODULE_TAGS := optional
endif
intermediates := $(call local-intermediates-dir)
icu_data_file := $(LOCAL_PATH)/$(data_file_name)
asm_file := $(intermediates)/$(output_file_name)
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