160916893Sopenharmony_ci# Copyright (c) 2021 Huawei Device Co., Ltd. 260916893Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 360916893Sopenharmony_ci# you may not use this file except in compliance with the License. 460916893Sopenharmony_ci# You may obtain a copy of the License at 560916893Sopenharmony_ci# 660916893Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 760916893Sopenharmony_ci# 860916893Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 960916893Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1060916893Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1160916893Sopenharmony_ci# See the License for the specific language governing permissions and 1260916893Sopenharmony_ci# limitations under the License. 1360916893Sopenharmony_ci 1460916893Sopenharmony_ciimport("//base/global/i18n_lite/i18n_lite.gni") 1560916893Sopenharmony_ciif (defined(ohos_lite)) { 1660916893Sopenharmony_ci import("//build/lite/config/component/lite_component.gni") 1760916893Sopenharmony_ci} else { 1860916893Sopenharmony_ci import("//build/ohos.gni") 1960916893Sopenharmony_ci} 2060916893Sopenharmony_ci 2160916893Sopenharmony_cilocale_sources = [ 2260916893Sopenharmony_ci "src/data_resource.cpp", 2360916893Sopenharmony_ci "src/date_time_data.cpp", 2460916893Sopenharmony_ci "src/date_time_format.cpp", 2560916893Sopenharmony_ci "src/date_time_format_impl.cpp", 2660916893Sopenharmony_ci "src/locale_info.cpp", 2760916893Sopenharmony_ci "src/measure_format.cpp", 2860916893Sopenharmony_ci "src/measure_format_impl.cpp", 2960916893Sopenharmony_ci "src/number_data.cpp", 3060916893Sopenharmony_ci "src/number_format.cpp", 3160916893Sopenharmony_ci "src/number_format_impl.cpp", 3260916893Sopenharmony_ci "src/plural_format.cpp", 3360916893Sopenharmony_ci "src/plural_format_impl.cpp", 3460916893Sopenharmony_ci "src/plural_rules.cpp", 3560916893Sopenharmony_ci "src/str_util.cpp", 3660916893Sopenharmony_ci "src/week_info.cpp", 3760916893Sopenharmony_ci] 3860916893Sopenharmony_ci 3960916893Sopenharmony_ciconfig("locale_config") { 4060916893Sopenharmony_ci include_dirs = [ 4160916893Sopenharmony_ci "//base/global/i18n_lite/interfaces/kits/i18n/include", 4260916893Sopenharmony_ci "//base/global/i18n_lite/frameworks/i18n/include", 4360916893Sopenharmony_ci "//third_party/bounds_checking_function/include", 4460916893Sopenharmony_ci ] 4560916893Sopenharmony_ci} 4660916893Sopenharmony_ci 4760916893Sopenharmony_cicopy("global_dat") { 4860916893Sopenharmony_ci sources = [ "i18n.dat" ] 4960916893Sopenharmony_ci outputs = [ "$root_out_dir/data/i18n.dat" ] 5060916893Sopenharmony_ci} 5160916893Sopenharmony_ci 5260916893Sopenharmony_ciif (defined(ohos_lite)) { 5360916893Sopenharmony_ci if (ohos_kernel_type == "liteos_m") { 5460916893Sopenharmony_ci static_library("global_i18n") { 5560916893Sopenharmony_ci sources = locale_sources 5660916893Sopenharmony_ci public_configs = [ ":locale_config" ] 5760916893Sopenharmony_ci deps = [ 5860916893Sopenharmony_ci ":global_dat", 5960916893Sopenharmony_ci "//third_party/bounds_checking_function:libsec_static", 6060916893Sopenharmony_ci ] 6160916893Sopenharmony_ci if (i18n_lite_support_i18n_product) { 6260916893Sopenharmony_ci include_dirs = [ "//commonlibrary/utils_lite/memory/include" ] 6360916893Sopenharmony_ci defines = [ "I18N_PRODUCT" ] 6460916893Sopenharmony_ci deps += [ "//commonlibrary/utils_lite:utils" ] 6560916893Sopenharmony_ci } 6660916893Sopenharmony_ci } 6760916893Sopenharmony_ci } else { 6860916893Sopenharmony_ci shared_library("global_i18n") { 6960916893Sopenharmony_ci sources = locale_sources 7060916893Sopenharmony_ci public_configs = [ ":locale_config" ] 7160916893Sopenharmony_ci deps = [ 7260916893Sopenharmony_ci ":global_dat", 7360916893Sopenharmony_ci "//third_party/bounds_checking_function:libsec_shared", 7460916893Sopenharmony_ci ] 7560916893Sopenharmony_ci } 7660916893Sopenharmony_ci } 7760916893Sopenharmony_ci 7860916893Sopenharmony_ci lite_component("locale_lite") { 7960916893Sopenharmony_ci features = [ ":global_i18n" ] 8060916893Sopenharmony_ci } 8160916893Sopenharmony_ci} else { 8260916893Sopenharmony_ci ohos_static_library("global_i18n_simulator") { 8360916893Sopenharmony_ci sources = locale_sources 8460916893Sopenharmony_ci configs += [ ":locale_config" ] 8560916893Sopenharmony_ci deps = [ ":global_dat" ] 8660916893Sopenharmony_ci } 8760916893Sopenharmony_ci} 88