1d9f0492fSopenharmony_ci# Copyright (c) 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_ciimport("//base/startup/init/begetd.gni") 14d9f0492fSopenharmony_ciimport("//build/ohos.gni") 15d9f0492fSopenharmony_ci 16d9f0492fSopenharmony_ciconfig("exported_header_files") { 17d9f0492fSopenharmony_ci visibility = [ ":*" ] 18d9f0492fSopenharmony_ci include_dirs = [ 19d9f0492fSopenharmony_ci "//base/startup/init/interfaces/innerkits/include", 20d9f0492fSopenharmony_ci "//base/startup/init/interfaces/interfaces/innerkits/include/param", 21d9f0492fSopenharmony_ci "//base/startup/init/interfaces/service/param/include", 22d9f0492fSopenharmony_ci ] 23d9f0492fSopenharmony_ci} 24d9f0492fSopenharmony_ci 25d9f0492fSopenharmony_ciconfig("exported_header_files_for_lite") { 26d9f0492fSopenharmony_ci visibility = [ ":*" ] 27d9f0492fSopenharmony_ci} 28d9f0492fSopenharmony_ci 29d9f0492fSopenharmony_ciparam_include_dirs = [ 30d9f0492fSopenharmony_ci "//base/startup/init/services/param/include", 31d9f0492fSopenharmony_ci "//base/startup/init/services/param/adapter", 32d9f0492fSopenharmony_ci "//base/startup/init/services/param/linux", 33d9f0492fSopenharmony_ci "//base/startup/init/services/param/base", 34d9f0492fSopenharmony_ci "//base/startup/init/interfaces/innerkits/include/param", 35d9f0492fSopenharmony_ci "//base/startup/init/interfaces/innerkits/include", 36d9f0492fSopenharmony_ci "//base/startup/init/services/init/include", 37d9f0492fSopenharmony_ci "//base/startup/init/services/log", 38d9f0492fSopenharmony_ci "//base/startup/init/services/modules/init_hook", 39d9f0492fSopenharmony_ci "//base/startup/init/interfaces/innerkits/include/syspara", 40d9f0492fSopenharmony_ci "//base/startup/init/interfaces/innerkits/init_module_engine/include", 41d9f0492fSopenharmony_ci "//base/startup/init/services/loopevent/include", 42d9f0492fSopenharmony_ci] 43d9f0492fSopenharmony_ci 44d9f0492fSopenharmony_ciparam_service_sources = [ 45d9f0492fSopenharmony_ci "//base/startup/init/services/param/linux/param_message.c", 46d9f0492fSopenharmony_ci "//base/startup/init/services/param/linux/param_msgadp.c", 47d9f0492fSopenharmony_ci "//base/startup/init/services/param/linux/param_service.c", 48d9f0492fSopenharmony_ci "//base/startup/init/services/param/manager/param_manager.c", 49d9f0492fSopenharmony_ci "//base/startup/init/services/param/manager/param_persist.c", 50d9f0492fSopenharmony_ci "//base/startup/init/services/param/manager/param_server.c", 51d9f0492fSopenharmony_ci] 52d9f0492fSopenharmony_ci 53d9f0492fSopenharmony_ciparam_trigger_sources = [ 54d9f0492fSopenharmony_ci "//base/startup/init/services/param/trigger/trigger_checker.c", 55d9f0492fSopenharmony_ci "//base/startup/init/services/param/trigger/trigger_manager.c", 56d9f0492fSopenharmony_ci "//base/startup/init/services/param/trigger/trigger_processor.c", 57d9f0492fSopenharmony_ci] 58d9f0492fSopenharmony_ci 59d9f0492fSopenharmony_ciparam_client_sources = [ 60d9f0492fSopenharmony_ci "//base/startup/init/services/param/linux/param_message.c", 61d9f0492fSopenharmony_ci "//base/startup/init/services/param/linux/param_request.c", 62d9f0492fSopenharmony_ci "//base/startup/init/services/param/manager/param_manager.c", 63d9f0492fSopenharmony_ci] 64d9f0492fSopenharmony_ci 65d9f0492fSopenharmony_ci# only for linux 66d9f0492fSopenharmony_ciif (defined(ohos_lite)) { 67d9f0492fSopenharmony_ci static_library("param_init") { 68d9f0492fSopenharmony_ci defines = [] 69d9f0492fSopenharmony_ci sources = param_service_sources 70d9f0492fSopenharmony_ci sources += param_trigger_sources 71d9f0492fSopenharmony_ci sources += 72d9f0492fSopenharmony_ci [ "//base/startup/init/services/param/liteos/param_persistadp.c" ] 73d9f0492fSopenharmony_ci include_dirs = param_include_dirs 74d9f0492fSopenharmony_ci include_dirs += [ 75d9f0492fSopenharmony_ci "//base/security/selinux_adapter/interfaces/policycoreutils/include", 76d9f0492fSopenharmony_ci "//commonlibrary/utils_lite/include", 77d9f0492fSopenharmony_ci "//third_party/cJSON", 78d9f0492fSopenharmony_ci ] 79d9f0492fSopenharmony_ci public_configs = [ ":exported_header_files" ] 80d9f0492fSopenharmony_ci public_configs += [ ":exported_header_files_for_lite" ] 81d9f0492fSopenharmony_ci external_deps = [ "bounds_checking_function:libsec_static" ] 82d9f0492fSopenharmony_ci defines += [ 83d9f0492fSopenharmony_ci "_GNU_SOURCE", 84d9f0492fSopenharmony_ci "__LINUX__", 85d9f0492fSopenharmony_ci "OHOS_LITE", 86d9f0492fSopenharmony_ci "PARAM_SUPPORT_REAL_CHECK", 87d9f0492fSopenharmony_ci "INCREMENTAL_VERSION=\"${ohos_version}\"", 88d9f0492fSopenharmony_ci "BUILD_TYPE=\"${ohos_build_type}\"", 89d9f0492fSopenharmony_ci "BUILD_USER=\"${ohos_build_user}\"", 90d9f0492fSopenharmony_ci "BUILD_TIME=\"${ohos_build_time}\"", 91d9f0492fSopenharmony_ci "BUILD_HOST=\"${ohos_build_host}\"", 92d9f0492fSopenharmony_ci "BUILD_ROOTHASH=\"${ohos_build_roothash}\"", 93d9f0492fSopenharmony_ci ] 94d9f0492fSopenharmony_ci } 95d9f0492fSopenharmony_ci 96d9f0492fSopenharmony_ci static_library("param_client") { 97d9f0492fSopenharmony_ci include_dirs = param_include_dirs 98d9f0492fSopenharmony_ci include_dirs += [ 99d9f0492fSopenharmony_ci "//base/security/selinux_adapter/interfaces/policycoreutils/include", 100d9f0492fSopenharmony_ci "//commonlibrary/utils_lite/include", 101d9f0492fSopenharmony_ci "//third_party/cJSON", 102d9f0492fSopenharmony_ci ] 103d9f0492fSopenharmony_ci sources = param_client_sources 104d9f0492fSopenharmony_ci public_configs = [ ":exported_header_files" ] 105d9f0492fSopenharmony_ci public_configs += [ ":exported_header_files_for_lite" ] 106d9f0492fSopenharmony_ci external_deps = [ "bounds_checking_function:libsec_static" ] 107d9f0492fSopenharmony_ci cflags = [ "-fPIC" ] 108d9f0492fSopenharmony_ci defines = [ 109d9f0492fSopenharmony_ci "_GNU_SOURCE", 110d9f0492fSopenharmony_ci "__LINUX__", 111d9f0492fSopenharmony_ci ] 112d9f0492fSopenharmony_ci } 113d9f0492fSopenharmony_ci} else { 114d9f0492fSopenharmony_ci ohos_static_library("param_init") { 115d9f0492fSopenharmony_ci sources = param_service_sources 116d9f0492fSopenharmony_ci sources += param_trigger_sources 117d9f0492fSopenharmony_ci sources += 118d9f0492fSopenharmony_ci [ "//base/startup/init/services/param/adapter/param_persistadp.c" ] 119d9f0492fSopenharmony_ci include_dirs = param_include_dirs 120d9f0492fSopenharmony_ci public_configs = [ ":exported_header_files" ] 121d9f0492fSopenharmony_ci defines = [ 122d9f0492fSopenharmony_ci "_GNU_SOURCE", 123d9f0492fSopenharmony_ci "PARAM_SUPPORT_REAL_CHECK", 124d9f0492fSopenharmony_ci "SUPPORT_PARAM_LOAD_HOOK", 125d9f0492fSopenharmony_ci ] 126d9f0492fSopenharmony_ci external_deps = [ 127d9f0492fSopenharmony_ci "bounds_checking_function:libsec_static", 128d9f0492fSopenharmony_ci "cJSON:cjson", 129d9f0492fSopenharmony_ci ] 130d9f0492fSopenharmony_ci public_external_deps = [ "selinux:libselinux" ] 131d9f0492fSopenharmony_ci 132d9f0492fSopenharmony_ci if (param_base_log) { 133d9f0492fSopenharmony_ci defines += [ "PARAM_BASE_LOG" ] 134d9f0492fSopenharmony_ci } 135d9f0492fSopenharmony_ci if (defined(ohos_build_type)) { 136d9f0492fSopenharmony_ci defines += [ "BUILD_TYPE=\"${ohos_build_type}\"" ] 137d9f0492fSopenharmony_ci } 138d9f0492fSopenharmony_ci if (defined(ohos_version)) { 139d9f0492fSopenharmony_ci defines += [ "INCREMENTAL_VERSION=\"${ohos_version}\"" ] 140d9f0492fSopenharmony_ci } 141d9f0492fSopenharmony_ci if (defined(ohos_build_user)) { 142d9f0492fSopenharmony_ci defines += [ "BUILD_USER=\"${ohos_build_user}\"" ] 143d9f0492fSopenharmony_ci } 144d9f0492fSopenharmony_ci if (defined(ohos_build_time)) { 145d9f0492fSopenharmony_ci defines += [ "BUILD_TIME=\"${ohos_build_time}\"" ] 146d9f0492fSopenharmony_ci } 147d9f0492fSopenharmony_ci if (defined(ohos_build_host)) { 148d9f0492fSopenharmony_ci defines += [ "BUILD_HOST=\"${ohos_build_host}\"" ] 149d9f0492fSopenharmony_ci } 150d9f0492fSopenharmony_ci 151d9f0492fSopenharmony_ci if (build_selinux) { 152d9f0492fSopenharmony_ci defines += [ 153d9f0492fSopenharmony_ci "PARAM_SUPPORT_SELINUX", 154d9f0492fSopenharmony_ci "PARAMWORKSPACE_NEED_MUTEX", 155d9f0492fSopenharmony_ci ] 156d9f0492fSopenharmony_ci external_deps += [ "selinux_adapter:libselinux_parameter_static" ] 157d9f0492fSopenharmony_ci } 158d9f0492fSopenharmony_ci 159d9f0492fSopenharmony_ci deps = [ "//base/startup/init/services/param/base:param_base" ] 160d9f0492fSopenharmony_ci part_name = "init" 161d9f0492fSopenharmony_ci subsystem_name = "startup" 162d9f0492fSopenharmony_ci } 163d9f0492fSopenharmony_ci 164d9f0492fSopenharmony_ci ohos_static_library("param_client") { 165d9f0492fSopenharmony_ci sources = param_client_sources 166d9f0492fSopenharmony_ci include_dirs = param_include_dirs 167d9f0492fSopenharmony_ci public_configs = [ ":exported_header_files" ] 168d9f0492fSopenharmony_ci deps = [ 169d9f0492fSopenharmony_ci "//base/startup/init/services/log:agent_log", 170d9f0492fSopenharmony_ci "//base/startup/init/services/param/base:param_base", 171d9f0492fSopenharmony_ci ] 172d9f0492fSopenharmony_ci external_deps = [ 173d9f0492fSopenharmony_ci "bounds_checking_function:libsec_static", 174d9f0492fSopenharmony_ci "cJSON:cjson_static", 175d9f0492fSopenharmony_ci ] 176d9f0492fSopenharmony_ci if (build_selinux) { 177d9f0492fSopenharmony_ci external_deps += [ "selinux_adapter:libselinux_parameter_static" ] 178d9f0492fSopenharmony_ci } 179d9f0492fSopenharmony_ci 180d9f0492fSopenharmony_ci cflags = [ "-Wno-deprecated-pragma" ] 181d9f0492fSopenharmony_ci defines = [ 182d9f0492fSopenharmony_ci "_GNU_SOURCE", 183d9f0492fSopenharmony_ci "INIT_AGENT", 184d9f0492fSopenharmony_ci ] 185d9f0492fSopenharmony_ci if (build_selinux) { 186d9f0492fSopenharmony_ci defines += [ 187d9f0492fSopenharmony_ci "PARAM_SUPPORT_SELINUX", 188d9f0492fSopenharmony_ci "PARAMWORKSPACE_NEED_MUTEX", 189d9f0492fSopenharmony_ci ] 190d9f0492fSopenharmony_ci } 191d9f0492fSopenharmony_ci if (param_base_log) { 192d9f0492fSopenharmony_ci defines += [ "PARAM_BASE_LOG" ] 193d9f0492fSopenharmony_ci } 194d9f0492fSopenharmony_ci part_name = "init" 195d9f0492fSopenharmony_ci subsystem_name = "startup" 196d9f0492fSopenharmony_ci } 197d9f0492fSopenharmony_ci} 198