1d9f0492fSopenharmony_ci# Copyright (c) 2020-2022 Huawei Device Co., Ltd. 2d9f0492fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3d9f0492fSopenharmony_ci# you may not use this file except in compliance with the License. 4d9f0492fSopenharmony_ci# You may obtain a copy of the License at 5d9f0492fSopenharmony_ci# 6d9f0492fSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7d9f0492fSopenharmony_ci# 8d9f0492fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9d9f0492fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10d9f0492fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11d9f0492fSopenharmony_ci# See the License for the specific language governing permissions and 12d9f0492fSopenharmony_ci# limitations under the License. 13d9f0492fSopenharmony_ciif (defined(ohos_lite)) { 14d9f0492fSopenharmony_ci import("//base/startup/init/begetd.gni") 15d9f0492fSopenharmony_ci import("//build/lite/config/component/lite_component.gni") 16d9f0492fSopenharmony_ci import("//build/lite/config/test.gni") 17d9f0492fSopenharmony_ci if (ohos_kernel_type == "linux" || ohos_kernel_type == "liteos_a") { 18d9f0492fSopenharmony_ci init_common_sources = [ 19d9f0492fSopenharmony_ci "//base/startup/init/services/init/adapter/init_adapter.c", 20d9f0492fSopenharmony_ci "//base/startup/init/services/init/init_capability.c", 21d9f0492fSopenharmony_ci "//base/startup/init/services/init/init_common_cmds.c", 22d9f0492fSopenharmony_ci "//base/startup/init/services/init/init_common_service.c", 23d9f0492fSopenharmony_ci "//base/startup/init/services/init/init_config.c", 24d9f0492fSopenharmony_ci "//base/startup/init/services/init/init_group_manager.c", 25d9f0492fSopenharmony_ci "//base/startup/init/services/init/init_service_file.c", 26d9f0492fSopenharmony_ci "//base/startup/init/services/init/init_service_manager.c", 27d9f0492fSopenharmony_ci "//base/startup/init/services/init/init_service_socket.c", 28d9f0492fSopenharmony_ci "//base/startup/init/services/init/lite/init.c", 29d9f0492fSopenharmony_ci "//base/startup/init/services/init/lite/init_cmds.c", 30d9f0492fSopenharmony_ci "//base/startup/init/services/init/lite/init_jobs.c", 31d9f0492fSopenharmony_ci "//base/startup/init/services/init/lite/init_reboot.c", 32d9f0492fSopenharmony_ci "//base/startup/init/services/init/lite/init_service.c", 33d9f0492fSopenharmony_ci "//base/startup/init/services/init/lite/init_signal_handler.c", 34d9f0492fSopenharmony_ci "//base/startup/init/services/log/init_log.c", 35d9f0492fSopenharmony_ci "//base/startup/init/services/utils/init_utils.c", 36d9f0492fSopenharmony_ci ] 37d9f0492fSopenharmony_ci } 38d9f0492fSopenharmony_ci param_common_sources = [ 39d9f0492fSopenharmony_ci "//base/startup/init/services/modules/init_hook/param_hook.c", 40d9f0492fSopenharmony_ci "//base/startup/init/services/modules/udid/udid_adp.c", 41d9f0492fSopenharmony_ci "//base/startup/init/services/modules/udid/udid_comm.c", 42d9f0492fSopenharmony_ci "//base/startup/init/services/param/manager/param_manager.c", 43d9f0492fSopenharmony_ci "//base/startup/init/services/param/manager/param_persist.c", 44d9f0492fSopenharmony_ci "//base/startup/init/services/param/manager/param_server.c", 45d9f0492fSopenharmony_ci ] 46d9f0492fSopenharmony_ci 47d9f0492fSopenharmony_ci base_sources = [ 48d9f0492fSopenharmony_ci "//base/startup/init/services/log/init_commlog.c", 49d9f0492fSopenharmony_ci "//base/startup/init/services/param/base/param_base.c", 50d9f0492fSopenharmony_ci "//base/startup/init/services/param/base/param_comm.c", 51d9f0492fSopenharmony_ci "//base/startup/init/services/param/base/param_trie.c", 52d9f0492fSopenharmony_ci "//base/startup/init/services/utils/init_hashmap.c", 53d9f0492fSopenharmony_ci "//base/startup/init/services/utils/list.c", 54d9f0492fSopenharmony_ci ] 55d9f0492fSopenharmony_ci 56d9f0492fSopenharmony_ci sysparam_source = [ 57d9f0492fSopenharmony_ci "//base/startup/init/interfaces/innerkits/syspara/param_comm.c", 58d9f0492fSopenharmony_ci "//base/startup/init/interfaces/innerkits/syspara/parameter.c", 59d9f0492fSopenharmony_ci "//base/startup/init/interfaces/innerkits/syspara/sysversion.c", 60d9f0492fSopenharmony_ci ] 61d9f0492fSopenharmony_ci 62d9f0492fSopenharmony_ci unittest("init_test") { 63d9f0492fSopenharmony_ci output_extension = "bin" 64d9f0492fSopenharmony_ci output_dir = "$root_out_dir/test/unittest/startup" 65d9f0492fSopenharmony_ci ldflags = [ 66d9f0492fSopenharmony_ci "-lstdc++", 67d9f0492fSopenharmony_ci "-lpthread", 68d9f0492fSopenharmony_ci "-lm", 69d9f0492fSopenharmony_ci ] 70d9f0492fSopenharmony_ci defines = [ 71d9f0492fSopenharmony_ci "OHOS_LITE", 72d9f0492fSopenharmony_ci "__MUSL__", 73d9f0492fSopenharmony_ci "_GNU_SOURCE", 74d9f0492fSopenharmony_ci "READ_CHECK", 75d9f0492fSopenharmony_ci "STARTUP_INIT_TEST", 76d9f0492fSopenharmony_ci "PARAM_SUPPORT_DAC", 77d9f0492fSopenharmony_ci "USE_MBEDTLS", 78d9f0492fSopenharmony_ci ] 79d9f0492fSopenharmony_ci if (storage_type == "emmc") { 80d9f0492fSopenharmony_ci defines += [ "USE_EMMC_STORAGE" ] 81d9f0492fSopenharmony_ci } 82d9f0492fSopenharmony_ci 83d9f0492fSopenharmony_ci include_dirs = [ 84d9f0492fSopenharmony_ci "//base/startup/init/services/begetctl", 85d9f0492fSopenharmony_ci "//base/startup/init/services/begetctl/shell", 86d9f0492fSopenharmony_ci "//base/startup/init/interfaces/innerkits/include", 87d9f0492fSopenharmony_ci "//base/startup/init/interfaces/innerkits/include/param", 88d9f0492fSopenharmony_ci "//base/startup/init/services/init/include", 89d9f0492fSopenharmony_ci "//base/startup/init/services/log", 90d9f0492fSopenharmony_ci "//base/startup/init/services/loopevent/include", 91d9f0492fSopenharmony_ci "//base/startup/init/services/loopevent/timer", 92d9f0492fSopenharmony_ci "//base/startup/init/services/loopevent/task", 93d9f0492fSopenharmony_ci "//base/startup/init/services/loopevent/utils", 94d9f0492fSopenharmony_ci "//base/startup/init/services/loopevent/loop", 95d9f0492fSopenharmony_ci "//base/startup/init/services/param/adapter", 96d9f0492fSopenharmony_ci "//base/startup/init/services/param/base", 97d9f0492fSopenharmony_ci "//base/startup/init/services/param/linux", 98d9f0492fSopenharmony_ci "//base/startup/init/services/param/include", 99d9f0492fSopenharmony_ci "//base/startup/init/services/param/watcher/agent", 100d9f0492fSopenharmony_ci "//base/startup/init/services/param/watcher/include", 101d9f0492fSopenharmony_ci "//base/startup/init/services/param/watcher/proxy", 102d9f0492fSopenharmony_ci "//base/startup/init/services/modules", 103d9f0492fSopenharmony_ci "//base/startup/init/services/modules/init_hook", 104d9f0492fSopenharmony_ci "//base/startup/init/services/modules/selinux", 105d9f0492fSopenharmony_ci "//base/startup/init/test/unittest", 106d9f0492fSopenharmony_ci "//base/startup/init/test/unittest/param", 107d9f0492fSopenharmony_ci "//base/startup/init/interfaces/innerkits/include", 108d9f0492fSopenharmony_ci "//base/startup/init/interfaces/innerkits/include/syspara", 109d9f0492fSopenharmony_ci "//base/startup/init/interfaces/innerkits/init_module_engine/include", 110d9f0492fSopenharmony_ci "//base/startup/init/interfaces/innerkits/syspara", 111d9f0492fSopenharmony_ci "//base/startup/init/ueventd", 112d9f0492fSopenharmony_ci "//base/startup/init/ueventd/include", 113d9f0492fSopenharmony_ci "//third_party/cJSON", 114d9f0492fSopenharmony_ci "//base/hiviewdfx/hilog_lite/interfaces/native/kits", 115d9f0492fSopenharmony_ci "//base/startup/init/interfaces/innerkits/fd_holder", 116d9f0492fSopenharmony_ci "//base/startup/init/interfaces/hals", 117d9f0492fSopenharmony_ci "//base/startup/init/services/modules/udid", 118d9f0492fSopenharmony_ci ] 119d9f0492fSopenharmony_ci 120d9f0492fSopenharmony_ci sources = sysparam_source 121d9f0492fSopenharmony_ci sources += param_common_sources 122d9f0492fSopenharmony_ci sources += base_sources 123d9f0492fSopenharmony_ci deps = [] 124d9f0492fSopenharmony_ci external_deps = [ "bounds_checking_function:libsec_static" ] 125d9f0492fSopenharmony_ci 126d9f0492fSopenharmony_ci if (init_feature_begetctl_liteos) { 127d9f0492fSopenharmony_ci defines += [ "LITEOS_SUPPORT" ] 128d9f0492fSopenharmony_ci } 129d9f0492fSopenharmony_ci 130d9f0492fSopenharmony_ci if (ohos_kernel_type == "liteos_a") { 131d9f0492fSopenharmony_ci defines += [ 132d9f0492fSopenharmony_ci "__LITEOS_A__", 133d9f0492fSopenharmony_ci "STARTUP_INIT_UT_PATH =\"/userdata/init_ut\"", 134d9f0492fSopenharmony_ci ] 135d9f0492fSopenharmony_ci include_dirs += [ 136d9f0492fSopenharmony_ci "//kernel/liteos_a/syscall", 137d9f0492fSopenharmony_ci "//base/startup/init/interfaces/kits/syscap", 138d9f0492fSopenharmony_ci "//base/startup/init/initsync/include", 139d9f0492fSopenharmony_ci ] 140d9f0492fSopenharmony_ci sources += init_common_sources 141d9f0492fSopenharmony_ci sources += [ 142d9f0492fSopenharmony_ci "//base/startup/init/services/param/liteos/param_client.c", 143d9f0492fSopenharmony_ci "//base/startup/init/services/param/liteos/param_litedac.c", 144d9f0492fSopenharmony_ci "//base/startup/init/services/param/liteos/param_osadp.c", 145d9f0492fSopenharmony_ci "//base/startup/init/services/param/liteos/param_persistadp.c", 146d9f0492fSopenharmony_ci "//base/startup/init/services/param/liteos/param_service.c", 147d9f0492fSopenharmony_ci ] 148d9f0492fSopenharmony_ci 149d9f0492fSopenharmony_ci sources += [ 150d9f0492fSopenharmony_ci "../param/client_unittest.cpp", 151d9f0492fSopenharmony_ci "../param/param_stub.cpp", 152d9f0492fSopenharmony_ci "../param/param_unittest.cpp", 153d9f0492fSopenharmony_ci "../syspara/syspara_unittest.cpp", 154d9f0492fSopenharmony_ci "cmd_func_test.cpp", 155d9f0492fSopenharmony_ci ] 156d9f0492fSopenharmony_ci 157d9f0492fSopenharmony_ci # add cfg.h 158d9f0492fSopenharmony_ci if (init_feature_begetctl_liteos) { 159d9f0492fSopenharmony_ci PRODUCT_HAL_SYSPARAM_PATH = 160d9f0492fSopenharmony_ci rebase_path("${ohos_product_adapter_dir}/utils/sys_param") 161d9f0492fSopenharmony_ci cmd = "if [ -f ${PRODUCT_HAL_SYSPARAM_PATH}/BUILD.gn ]; then echo true; else echo false; fi" 162d9f0492fSopenharmony_ci PRODUCT_HAL_SYSPARAM_EXISTS = 163d9f0492fSopenharmony_ci exec_script("//build/lite/run_shell_cmd.py", [ cmd ], "value") 164d9f0492fSopenharmony_ci if (PRODUCT_HAL_SYSPARAM_EXISTS) { 165d9f0492fSopenharmony_ci deps += [ "$ohos_product_adapter_dir/utils/sys_param:hal_sysparam" ] 166d9f0492fSopenharmony_ci } 167d9f0492fSopenharmony_ci deps += [ 168d9f0492fSopenharmony_ci "//base/startup/init/interfaces/hals/utils/sys_param:hal_sys_param", 169d9f0492fSopenharmony_ci ] 170d9f0492fSopenharmony_ci deps += 171d9f0492fSopenharmony_ci [ "//base/startup/init/services/param/liteos:lite_ohos_param_to" ] 172d9f0492fSopenharmony_ci include_dirs += [ "$root_out_dir/gen/init" ] 173d9f0492fSopenharmony_ci defines += [ "PARAM_LOAD_CFG_FROM_CODE" ] 174d9f0492fSopenharmony_ci } 175d9f0492fSopenharmony_ci deps += [ 176d9f0492fSopenharmony_ci "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared", 177d9f0492fSopenharmony_ci "//base/startup/init/initsync:initsync", 178d9f0492fSopenharmony_ci "//base/startup/init/services/loopevent:loopevent", 179d9f0492fSopenharmony_ci "//build/lite/config/component/cJSON:cjson_static", 180d9f0492fSopenharmony_ci ] 181d9f0492fSopenharmony_ci external_deps += [ "mbedtls:mbedtls_static" ] 182d9f0492fSopenharmony_ci } 183d9f0492fSopenharmony_ci 184d9f0492fSopenharmony_ci if (ohos_kernel_type == "liteos_m") { 185d9f0492fSopenharmony_ci defines += [ 186d9f0492fSopenharmony_ci "__LITEOS_M__", 187d9f0492fSopenharmony_ci "STARTUP_INIT_UT_PATH =\"/\"", 188d9f0492fSopenharmony_ci ] 189d9f0492fSopenharmony_ci sources += [ 190d9f0492fSopenharmony_ci "//base/startup/init/services/param/liteos/param_client.c", 191d9f0492fSopenharmony_ci "//base/startup/init/services/param/liteos/param_hal.c", 192d9f0492fSopenharmony_ci "//base/startup/init/services/param/liteos/param_litedac.c", 193d9f0492fSopenharmony_ci "//base/startup/init/services/param/liteos/param_osadp.c", 194d9f0492fSopenharmony_ci "//base/startup/init/services/param/liteos/param_service.c", 195d9f0492fSopenharmony_ci ] 196d9f0492fSopenharmony_ci if (init_lite_use_posix_file_api) { 197d9f0492fSopenharmony_ci defines += [ "PARAM_SUPPORT_POSIX" ] 198d9f0492fSopenharmony_ci } 199d9f0492fSopenharmony_ci sources += [ 200d9f0492fSopenharmony_ci "../param/dac_unittest.cpp", 201d9f0492fSopenharmony_ci "../param/param_stub.cpp", 202d9f0492fSopenharmony_ci "../param/param_unittest.cpp", 203d9f0492fSopenharmony_ci "../syspara/syspara_unittest.cpp", 204d9f0492fSopenharmony_ci ] 205d9f0492fSopenharmony_ci 206d9f0492fSopenharmony_ci # add cfg.h 207d9f0492fSopenharmony_ci if (init_feature_begetctl_liteos) { 208d9f0492fSopenharmony_ci deps += 209d9f0492fSopenharmony_ci [ "//base/startup/init/services/param/liteos:lite_ohos_param_to" ] 210d9f0492fSopenharmony_ci include_dirs += [ "$root_out_dir/gen/init" ] 211d9f0492fSopenharmony_ci defines += [ "PARAM_LOAD_CFG_FROM_CODE" ] 212d9f0492fSopenharmony_ci } 213d9f0492fSopenharmony_ci deps += [ "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_static" ] 214d9f0492fSopenharmony_ci external_deps += [ "mbedtls:mbedtls_static" ] 215d9f0492fSopenharmony_ci } 216d9f0492fSopenharmony_ci if (ohos_kernel_type == "linux") { 217d9f0492fSopenharmony_ci defines += [ 218d9f0492fSopenharmony_ci "__LINUX__", 219d9f0492fSopenharmony_ci "STARTUP_INIT_UT_PATH =\"/data/init_ut\"", 220d9f0492fSopenharmony_ci ] 221d9f0492fSopenharmony_ci 222d9f0492fSopenharmony_ci sources += init_common_sources 223d9f0492fSopenharmony_ci sources += [ 224d9f0492fSopenharmony_ci "//base/startup/init/services/param/adapter/param_dac.c", 225d9f0492fSopenharmony_ci "//base/startup/init/services/param/linux/param_message.c", 226d9f0492fSopenharmony_ci "//base/startup/init/services/param/linux/param_msgadp.c", 227d9f0492fSopenharmony_ci "//base/startup/init/services/param/linux/param_osadp.c", 228d9f0492fSopenharmony_ci "//base/startup/init/services/param/linux/param_request.c", 229d9f0492fSopenharmony_ci "//base/startup/init/services/param/linux/param_service.c", 230d9f0492fSopenharmony_ci "//base/startup/init/services/param/liteos/param_persistadp.c", 231d9f0492fSopenharmony_ci "//base/startup/init/services/param/trigger/trigger_checker.c", 232d9f0492fSopenharmony_ci "//base/startup/init/services/param/trigger/trigger_manager.c", 233d9f0492fSopenharmony_ci "//base/startup/init/services/param/trigger/trigger_processor.c", 234d9f0492fSopenharmony_ci ] 235d9f0492fSopenharmony_ci sources += [ 236d9f0492fSopenharmony_ci "../param/client_unittest.cpp", 237d9f0492fSopenharmony_ci "../param/dac_unittest.cpp", 238d9f0492fSopenharmony_ci "../param/param_stub.cpp", 239d9f0492fSopenharmony_ci "../param/param_unittest.cpp", 240d9f0492fSopenharmony_ci "../param/paramservice_unittest.cpp", 241d9f0492fSopenharmony_ci "cmd_func_test.cpp", 242d9f0492fSopenharmony_ci ] 243d9f0492fSopenharmony_ci if (init_feature_begetctl_liteos) { 244d9f0492fSopenharmony_ci sources += [ "../syspara/syspara_unittest.cpp" ] 245d9f0492fSopenharmony_ci } 246d9f0492fSopenharmony_ci deps += [ 247d9f0492fSopenharmony_ci "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared", 248d9f0492fSopenharmony_ci "//base/startup/init/services/loopevent:loopevent", 249d9f0492fSopenharmony_ci "//build/lite/config/component/cJSON:cjson_static", 250d9f0492fSopenharmony_ci ] 251d9f0492fSopenharmony_ci external_deps += [ "mbedtls:mbedtls_static" ] 252d9f0492fSopenharmony_ci } 253d9f0492fSopenharmony_ci } 254d9f0492fSopenharmony_ci} 255