# 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