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. 13 14import("//base/startup/init/begetd.gni") 15import("//build/ohos.gni") 16 17ohos_shared_library("rebootmodule") { 18 sources = [ "reboot.c" ] 19 cflags = [ "-fstack-protector-all" ] 20 include_dirs = [ 21 ".", 22 "..", 23 "../init_hook", 24 "//base/startup/init/interfaces/innerkits/include/param", 25 "//base/startup/init/interfaces/innerkits/include", 26 ] 27 deps = [ 28 "//base/startup/init/interfaces/innerkits/init_module_engine:libinit_module_engine", 29 "//base/startup/init/services/utils:libinit_utils", 30 ] 31 32 external_deps = [ 33 "bounds_checking_function:libsec_shared", 34 "cJSON:cjson", 35 ] 36 if (!defined(ohos_lite)) { 37 include_dirs += [ "//base/startup/init/services/modules/sysevent" ] 38 sources += 39 [ "//base/startup/init/services/modules/sysevent/init_hisysevent.c" ] 40 external_deps += [ "hisysevent:libhisysevent" ] 41 } 42 43 defines = [] 44 part_name = "init" 45 subsystem_name = "startup" 46 if (target_cpu == "arm64" || target_cpu == "x86_64" || 47 target_cpu == "riscv64") { 48 module_install_dir = "lib64/init/reboot" 49 } else { 50 module_install_dir = "lib/init/reboot" 51 } 52 install_images = [ 53 "system", 54 "updater", 55 ] 56} 57 58ohos_source_set("libreboot_static") { 59 sources = [ 60 "reboot_misc.c", 61 "reboot_static.c", 62 ] 63 cflags = [ "-fstack-protector-all" ] 64 include_dirs = [ 65 ".", 66 "..", 67 "../init_hook", 68 "//base/startup/init/interfaces/innerkits/include/param", 69 ] 70 external_deps = [ "cJSON:cjson" ] 71 public_external_deps = [ "bounds_checking_function:libsec_static" ] 72 public_configs = [ "//base/startup/init/interfaces/innerkits/init_module_engine:init_module_engine_exported_config" ] 73} 74