• 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 if (enable_ng_build) {
36      deps += [
37        "$ace_flutter_engine_root_new/third_party/icu:ace_libicu_dev_$platform",
38      ]
39    } else {
40      deps += [ "$ace_flutter_engine_root/icu:ace_libicu_$platform" ]
41    }
42
43    configs += [
44      ":ace_base_i18n_config",
45      "$ace_root:ace_config",
46    ]
47
48    # add base source file here
49    sources = [ "localization.cpp" ]
50  }
51}
52
53foreach(item, ace_platforms) {
54  ace_base_i18n("ace_base_i18n_" + item.name) {
55    platform = item.name
56    defines = []
57    cflags_cc = []
58    config = {
59    }
60
61    if (defined(item.config)) {
62      config = item.config
63    }
64
65    if (defined(config.defines)) {
66      defines = config.defines
67    }
68
69    if (defined(config.cflags_cc)) {
70      cflags_cc = config.cflags_cc
71    }
72  }
73}
74