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/interfaces/innerkits/include/param", 23 "//base/startup/init/interfaces/innerkits/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/interfaces/innerkits/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/liteos/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(init_lite_memory_size)) { 107 defines += [ "PARAM_WORKSPACE_MAX=${init_lite_memory_size}" ] 108 } 109} 110 111static_library("param_client_lite") { 112 sources = base_sources 113 include_dirs = param_include_dirs 114 defines = param_build_defines 115 public_configs = [ ":exported_header_files" ] 116 117 if (init_lite_no_log) { 118 defines += [ "INIT_NO_LOG" ] 119 } else { 120 sources += [ "//base/startup/init/services/log/init_commlog.c" ] 121 } 122 123 if (ohos_kernel_type == "liteos_a") { 124 sources += 125 [ "//base/startup/init/services/param/liteos/param_persistadp.c" ] 126 defines += [ 127 "__LITEOS_A__", 128 "WORKSPACE_AREA_NEED_MUTEX", 129 "PARAM_PERSIST_SAVE_MUTEX", 130 "PARAMWORKSPACE_NEED_MUTEX", 131 "PARAM_SUPPORT_CYCLE_CHECK", 132 ] 133 } else if (ohos_kernel_type == "liteos_m") { 134 sources += [ 135 "//base/startup/init/services/param/liteos/param_hal.c", 136 "//base/startup/init/services/param/liteos/param_service.c", 137 "//base/startup/init/services/param/manager/param_server.c", 138 ] 139 if (init_lite_use_posix_file_api) { 140 defines += [ "PARAM_SUPPORT_POSIX" ] 141 } 142 defines += [ 143 "__LITEOS_M__", 144 "WORKSPACE_AREA_NEED_MUTEX", 145 "PARAM_PERSIST_SAVE_MUTEX", 146 "PARAMWORKSPACE_NEED_MUTEX", 147 ] 148 if (config_ohos_startup_init_lite_data_path != "") { 149 defines += [ "DATA_PATH=\"${config_ohos_startup_init_lite_data_path}\"" ] 150 } 151 if (init_feature_begetctl_liteos) { 152 deps = [ ":lite_ohos_param_to" ] 153 include_dirs += [ "$root_out_dir/gen/init" ] 154 defines += [ "PARAM_LOAD_CFG_FROM_CODE" ] 155 } 156 157 if (defined(init_lite_memory_size)) { 158 defines += [ "PARAM_WORKSPACE_MAX=${init_lite_memory_size}" ] 159 } 160 } 161} 162