• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2022 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.
13import("//base/startup/init/begetd.gni")
14
15param_include_dirs = [
16  "//base/hiviewdfx/hilog_lite/interfaces/native/kits",
17  "//base/startup/init/interfaces/innerkits/include/syspara",
18  "//base/startup/init/services/modules/init_hook",
19  "//base/startup/init/services/param/include",
20  "//base/startup/init/services/param/adapter",
21  "//base/startup/init/services/param/base",
22  "//base/startup/init/services/include/param",
23  "//base/startup/init/services/include",
24  "//base/startup/init/services/init/include",
25  "//base/startup/init/services/log",
26  "//base/startup/init/services/modules/init_hook",
27  "//base/startup/init/services/loopevent/include",
28  "//third_party/bounds_checking_function/include",
29  "//third_party/cJSON",
30  "//commonlibrary/utils_lite/include",
31]
32
33param_build_defines = [
34  "_GNU_SOURCE",
35  "INCREMENTAL_VERSION=\"${ohos_version}\"",
36  "BUILD_TYPE=\"${ohos_build_type}\"",
37  "BUILD_USER=\"${ohos_build_user}\"",
38  "BUILD_TIME=\"${ohos_build_time}\"",
39  "BUILD_HOST=\"${ohos_build_host}\"",
40  "BUILD_ROOTHASH=\"${ohos_build_roothash}\"",
41]
42
43action("lite_ohos_param_to") {
44  script = "//base/startup/init/scripts/param_cfg_to_code.py"
45  args = [
46    "--source",
47    rebase_path(
48        "//base/startup/init/services/etc_lite/param/ohos_const/ohos.para"),
49    "--source",
50    rebase_path("$ohos_product_adapter_dir/utils/sys_param/vendor.para"),
51    "--source",
52    rebase_path("//base/startup/init/services/etc/param/ohos.para"),
53    "--dest_dir",
54    rebase_path("$root_out_dir/gen/init/"),
55  ]
56  outputs = [ "$target_gen_dir/${target_name}_param_cfg_to_code.log" ]
57}
58
59config("exported_header_files") {
60  visibility = [ ":*" ]
61  include_dirs = [
62    "//base/startup/init/interfaces/innerkits/include",
63    "//base/startup/init/interfaces/service/include/param",
64    "//base/startup/init/interfaces/service/param/include",
65  ]
66}
67
68base_sources = [
69  "//base/startup/init/services/param/base/param_base.c",
70  "//base/startup/init/services/param/base/param_comm.c",
71  "//base/startup/init/services/param/base/param_trie.c",
72  "//base/startup/init/services/param/liteos/param_client.c",
73  "//base/startup/init/services/param/liteos/param_litedac.c",
74  "//base/startup/init/services/param/liteos/param_osadp.c",
75  "//base/startup/init/services/param/manager/param_manager.c",
76  "//base/startup/init/services/param/manager/param_persist.c",
77  "//base/startup/init/services/utils/init_hashmap.c",
78  "//base/startup/init/services/utils/list.c",
79]
80
81static_library("param_init_lite") {
82  defines = []
83  deps = []
84  sources = [
85    "//base/startup/init/services/param/manager/param_manager.c",
86    "//base/startup/init/services/param/manager/param_server.c",
87  ]
88  include_dirs = param_include_dirs
89  defines += param_build_defines
90  public_configs = [ ":exported_header_files" ]
91
92  if (ohos_kernel_type == "liteos_a") {
93    sources += [
94      "//base/startup/init/services/param/adapter/param_persistadp.c",
95      "//base/startup/init/services/param/liteos/param_service.c",
96      "//base/startup/init/services/param/manager/param_persist.c",
97    ]
98    defines += [
99      "WORKSPACE_AREA_NEED_MUTEX",
100      "PARAM_PERSIST_SAVE_MUTEX",
101      "PARAMWORKSPACE_NEED_MUTEX",
102      "__LITEOS_A__",
103      "PARAM_SUPPORT_CYCLE_CHECK",
104    ]
105  }
106  if (defined(config_ohos_startup_init_lite_memory_size)) {
107    defines +=
108        [ "PARAM_WORKSPACE_MAX=${config_ohos_startup_init_lite_memory_size}" ]
109  }
110}
111
112static_library("param_client_lite") {
113  sources = base_sources
114  include_dirs = param_include_dirs
115  defines = param_build_defines
116  public_configs = [ ":exported_header_files" ]
117
118  if (config_ohos_startup_init_lite_no_log) {
119    defines += [ "INIT_NO_LOG" ]
120  } else {
121    sources += [ "//base/startup/init/services/log/init_commlog.c" ]
122  }
123
124  if (ohos_kernel_type == "liteos_a") {
125    sources +=
126        [ "//base/startup/init/services/param/adapter/param_persistadp.c" ]
127    defines += [
128      "__LITEOS_A__",
129      "WORKSPACE_AREA_NEED_MUTEX",
130      "PARAM_PERSIST_SAVE_MUTEX",
131      "PARAMWORKSPACE_NEED_MUTEX",
132      "PARAM_SUPPORT_CYCLE_CHECK",
133    ]
134  } else if (ohos_kernel_type == "liteos_m") {
135    sources += [
136      "//base/startup/init/services/param/liteos/param_hal.c",
137      "//base/startup/init/services/param/liteos/param_service.c",
138      "//base/startup/init/services/param/manager/param_server.c",
139    ]
140    if (enable_ohos_startup_init_lite_use_posix_file_api) {
141      defines += [ "PARAM_SUPPORT_POSIX" ]
142    }
143    defines += [
144      "__LITEOS_M__",
145      "WORKSPACE_AREA_NEED_MUTEX",
146      "PARAM_PERSIST_SAVE_MUTEX",
147      "PARAMWORKSPACE_NEED_MUTEX",
148    ]
149    if (config_ohos_startup_init_lite_data_path != "") {
150      defines += [ "DATA_PATH=\"${config_ohos_startup_init_lite_data_path}\"" ]
151    }
152    if (enable_ohos_startup_init_feature_begetctl_liteos) {
153      deps = [ ":lite_ohos_param_to" ]
154      include_dirs += [ "$root_out_dir/gen/init" ]
155      defines += [ "PARAM_LOAD_CFG_FROM_CODE" ]
156    }
157
158    if (defined(config_ohos_startup_init_lite_memory_size)) {
159      defines +=
160          [ "PARAM_WORKSPACE_MAX=${config_ohos_startup_init_lite_memory_size}" ]
161    }
162  }
163}
164