# Copyright (c) 2022 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//base/startup/init_lite/begetd.gni") import("//build/ohos.gni") config("exported_header_files") { visibility = [ ":*" ] include_dirs = [ "//base/startup/init_lite/interfaces/innerkits/include", "//base/startup/init_lite/interfaces/service/include/param", "//base/startup/init_lite/interfaces/service/param/include", ] } param_include_dirs = [ "//base/startup/init_lite/services/param/include", "//base/startup/init_lite/services/param/adapter", "//base/startup/init_lite/services/param/linux", "//base/startup/init_lite/services/param/base", "//base/startup/init_lite/services/include/param", "//base/startup/init_lite/services/include", "//base/startup/init_lite/services/init/include", "//base/startup/init_lite/services/log", "//base/startup/init_lite/interfaces/innerkits/init_module_engine/include", "//base/startup/init_lite/services/loopevent/include", "//third_party/bounds_checking_function/include", "//third_party/cJSON", "//utils/native/lite/include", "//base/security/selinux/interfaces/policycoreutils/include", ] param_service_sources = [ "//base/startup/init_lite/services/param/adapter/param_persistadp.c", "//base/startup/init_lite/services/param/linux/param_message.c", "//base/startup/init_lite/services/param/linux/param_msgadp.c", "//base/startup/init_lite/services/param/linux/param_service.c", "//base/startup/init_lite/services/param/manager/param_manager.c", "//base/startup/init_lite/services/param/manager/param_persist.c", "//base/startup/init_lite/services/param/manager/param_server.c", ] param_trigger_sources = [ "//base/startup/init_lite/services/param/trigger/trigger_checker.c", "//base/startup/init_lite/services/param/trigger/trigger_manager.c", "//base/startup/init_lite/services/param/trigger/trigger_processor.c", ] param_client_sources = [ "//base/startup/init_lite/services/param/linux/param_message.c", "//base/startup/init_lite/services/param/linux/param_request.c", "//base/startup/init_lite/services/param/manager/param_manager.c", ] # only for linux if (defined(ohos_lite)) { static_library("param_init") { defines = [] sources = param_service_sources sources += param_trigger_sources include_dirs = param_include_dirs public_configs = [ ":exported_header_files" ] if (defined(boot_kernel_extended_cmdline)) { defines += [ "BOOT_EXTENDED_CMDLINE=\"${boot_kernel_extended_cmdline}\"" ] } defines += [ "_GNU_SOURCE", "__LINUX__", "OHOS_LITE", "INCREMENTAL_VERSION=\"${ohos_version}\"", "BUILD_TYPE=\"${ohos_build_type}\"", "BUILD_USER=\"${ohos_build_user}\"", "BUILD_TIME=\"${ohos_build_time}\"", "BUILD_HOST=\"${ohos_build_host}\"", "BUILD_ROOTHASH=\"${ohos_build_roothash}\"", ] } static_library("param_client") { include_dirs = param_include_dirs sources = param_client_sources cflags = [ "-fPIC" ] public_configs = [ ":exported_header_files" ] defines = [ "_GNU_SOURCE", "__LINUX__", ] } } else { ohos_static_library("param_init") { sources = param_service_sources sources += param_trigger_sources include_dirs = param_include_dirs public_configs = [ ":exported_header_files" ] defines = [ "_GNU_SOURCE" ] if (defined(boot_kernel_extended_cmdline)) { defines += [ "BOOT_EXTENDED_CMDLINE=\"${boot_kernel_extended_cmdline}\"" ] } if (build_selinux) { include_dirs += [ "//third_party/selinux/libselinux/include/", "//base/security/selinux/interfaces/policycoreutils/include/", ] defines += [ "PARAM_SUPPORT_SELINUX" ] } part_name = "init" subsystem_name = "startup" } ohos_static_library("param_client") { sources = param_client_sources include_dirs = param_include_dirs public_configs = [ ":exported_header_files" ] deps = [] defines = [ "_GNU_SOURCE", "INIT_AGENT", ] if (build_selinux) { deps += [ "//base/security/selinux:libload_policy", "//base/security/selinux:librestorecon", "//third_party/selinux:libselinux", ] defines += [ "PARAM_SUPPORT_SELINUX", "PARAMWORKSPACE_NEED_MUTEX", ] } part_name = "init" subsystem_name = "startup" } }