1# Copyright (c) 2021 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//base/global/i18n_lite/i18n_lite.gni") 15if (defined(ohos_lite)) { 16 import("//build/lite/config/component/lite_component.gni") 17} else { 18 import("//build/ohos.gni") 19} 20 21locale_sources = [ 22 "src/data_resource.cpp", 23 "src/date_time_data.cpp", 24 "src/date_time_format.cpp", 25 "src/date_time_format_impl.cpp", 26 "src/locale_info.cpp", 27 "src/measure_format.cpp", 28 "src/measure_format_impl.cpp", 29 "src/number_data.cpp", 30 "src/number_format.cpp", 31 "src/number_format_impl.cpp", 32 "src/plural_format.cpp", 33 "src/plural_format_impl.cpp", 34 "src/plural_rules.cpp", 35 "src/str_util.cpp", 36 "src/week_info.cpp", 37] 38 39config("locale_config") { 40 include_dirs = [ 41 "//base/global/i18n_lite/interfaces/kits/i18n/include", 42 "//base/global/i18n_lite/frameworks/i18n/include", 43 "//third_party/bounds_checking_function/include", 44 ] 45} 46 47copy("global_dat") { 48 sources = [ "i18n.dat" ] 49 outputs = [ "$root_out_dir/data/i18n.dat" ] 50} 51 52if (defined(ohos_lite)) { 53 if (ohos_kernel_type == "liteos_m") { 54 static_library("global_i18n") { 55 sources = locale_sources 56 public_configs = [ ":locale_config" ] 57 deps = [ 58 ":global_dat", 59 "//third_party/bounds_checking_function:libsec_static", 60 ] 61 if (i18n_lite_support_i18n_product) { 62 include_dirs = [ "//commonlibrary/utils_lite/memory/include" ] 63 defines = [ "I18N_PRODUCT" ] 64 deps += [ "//commonlibrary/utils_lite:utils" ] 65 } 66 } 67 } else { 68 shared_library("global_i18n") { 69 sources = locale_sources 70 public_configs = [ ":locale_config" ] 71 deps = [ 72 ":global_dat", 73 "//third_party/bounds_checking_function:libsec_shared", 74 ] 75 } 76 } 77 78 lite_component("locale_lite") { 79 features = [ ":global_i18n" ] 80 } 81} else { 82 ohos_static_library("global_i18n_simulator") { 83 sources = locale_sources 84 configs += [ ":locale_config" ] 85 deps = [ ":global_dat" ] 86 } 87} 88