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 = [ "bounds_checking_function:libsec_shared" ] 33 if (!defined(ohos_lite)) { 34 include_dirs += [ "//base/startup/init/services/modules/sysevent" ] 35 sources += 36 [ "//base/startup/init/services/modules/sysevent/init_hisysevent.c" ] 37 external_deps += [ "hisysevent:libhisysevent" ] 38 } 39 40 defines = [] 41 part_name = "init" 42 subsystem_name = "startup" 43 if (target_cpu == "arm64" || target_cpu == "x86_64" || 44 target_cpu == "riscv64") { 45 module_install_dir = "lib64/init/reboot" 46 } else { 47 module_install_dir = "lib/init/reboot" 48 } 49 install_images = [ 50 "system", 51 "updater", 52 ] 53} 54 55ohos_source_set("libreboot_static") { 56 sources = [ 57 "reboot_misc.c", 58 "reboot_static.c", 59 ] 60 cflags = [ "-fstack-protector-all" ] 61 include_dirs = [ 62 ".", 63 "..", 64 "../init_hook", 65 "//base/startup/init/interfaces/innerkits/include/param", 66 ] 67 public_external_deps = [ "bounds_checking_function:libsec_static" ] 68 public_configs = [ "//base/startup/init/interfaces/innerkits/init_module_engine:init_module_engine_exported_config" ] 69} 70