• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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("//build/ohos.gni")
15import("//foundation/arkui/ace_engine/ace_config.gni")
16
17config("ace_base_i18n_config") {
18  defines = [ "ACEL10N" ]
19}
20
21template("ace_base_i18n") {
22  forward_variables_from(invoker, "*")
23  source_set(target_name) {
24    defines += invoker.defines
25    cflags_cc += invoker.cflags_cc
26    deps = [ "$ace_root/frameworks/base/resource:ace_resource" ]
27
28    if (defined(config.use_external_icu)) {
29      if (config.use_external_icu == "shared") {
30        deps += [ "//third_party/icu/icu4c:shared_icui18n" ]
31      } else if (config.use_external_icu == "static") {
32        deps += [ "//third_party/icu/icu4c:static_icui18n" ]
33      }
34      configs += [ "$ace_flutter_engine_root/icu:icu_config_$platform" ]
35    } else {
36      if (ace_use_rosen_drawing) {
37        if (platform == "ohos") {
38          deps += [ "$ace_flutter_engine_root/icu:ace_libicu_$platform" ]
39        } else {
40          include_dirs = [
41            "$skia_root_new/third_party/externals/icu/source/common",
42            "$skia_root_new/third_party/externals/icu/source/i18n/",
43          ]
44        }
45      } else {
46        deps += [ "$ace_flutter_engine_root/icu:ace_libicu_$platform" ]
47      }
48    }
49
50    configs += [
51      ":ace_base_i18n_config",
52      "$ace_root:ace_config",
53    ]
54
55    # add base source file here
56    sources = [ "localization.cpp" ]
57  }
58}
59
60foreach(item, ace_platforms) {
61  ace_base_i18n("ace_base_i18n_" + item.name) {
62    platform = item.name
63    defines = []
64    cflags_cc = []
65    config = {
66    }
67
68    if (defined(item.config)) {
69      config = item.config
70    }
71
72    if (defined(config.defines)) {
73      defines = config.defines
74    }
75
76    if (defined(config.cflags_cc)) {
77      cflags_cc = config.cflags_cc
78    }
79  }
80}
81