BUILD.gn 3.2 KB
Newer Older
M
mamingshuai 已提交
1 2 3 4 5 6 7 8 9 10 11 12
# Copyright (c) 2020 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.
Z
zhong_ning 已提交
13 14
if (defined(ohos_lite)) {
  import("//build/lite/config/component/lite_component.gni")
M
mamingshuai 已提交
15

Z
zhong_ning 已提交
16 17 18
  lite_component("init_lite") {
    features = [ ":init" ]
  }
M
mamingshuai 已提交
19

Z
zhong_ning 已提交
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
  # feature: init
  executable("init") {
    defines = [
      "_GNU_SOURCE",  #syscall function need this macro definition
      "OHOS_LITE=1",
    ]
    sources = [
      "src/init_adapter.c",
      "src/init_cmds.c",
      "src/init_jobs.c",
      "src/init_read_cfg.c",
      "src/init_service.c",
      "src/init_service_manager.c",
      "src/init_signal_handler.c",
      "src/main.c",
    ]
M
mamingshuai 已提交
36

Z
zhong_ning 已提交
37 38 39 40 41 42
    include_dirs = [
      "include",
      "//third_party/cJSON",
      "//third_party/bounds_checking_function/include",
      "//base/startup/syspara_lite/interfaces/kits",
    ]
M
mamingshuai 已提交
43

Z
zhong_ning 已提交
44
    cflags = [ "-Wall" ]
M
mamingshuai 已提交
45

Z
zhong_ning 已提交
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
    deps = [
      "//base/startup/syspara_lite/frameworks/parameter:parameter",
      "//build/lite/config/component/cJSON:cjson_shared",
      "//third_party/bounds_checking_function:libsec_shared",
    ]
    ldflags = []
    if (ohos_kernel_type == "liteos_a") {
      include_dirs += [ "//kernel/liteos_a/syscall" ]
    }
    if (ohos_kernel_type == "linux") {
      defines += [ "NEED_EXEC_RCS_LINUX" ]
      ldflags += [
        "-lm",
        "-lpthread",
      ]
    }
  }
M
mamingshuai 已提交
63

Z
zhong_ning 已提交
64 65 66 67 68 69 70
  if (ohos_build_type == "debug") {
    group("unittest") {
      deps = [ "//base/startup/init_lite/services/test/unittest/common:unittest" ]
    }
  }
} else {
  import("//build/ohos.gni")
M
mamingshuai 已提交
71

Z
zhong_ning 已提交
72 73 74 75 76 77 78 79 80 81 82 83 84 85
  ohos_executable("updaterueventd") {
      sources = [
          "src/uevent.c",
          "src/list.c",
      ]
      include_dirs = [
          "include",
          "//third_party/bounds_checking_function/include",
      ]
      deps = [
          "//third_party/bounds_checking_function:libsec_static",
      ]
      install_enable = true
      part_name = "updater"
M
mamingshuai 已提交
86 87
  }

Z
zhong_ning 已提交
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
  ohos_executable("updaterinit") {
      sources = [
          "src/main.c",
          "src/init_cmds.c",
          "src/init_jobs.c",
          "src/init_read_cfg.c",
          "src/init_adapter.c",
          "src/init_service.c",
          "src/init_service_manager.c",
          "src/init_signal_handler.c",
          "src/device.c",
      ]
      defines = [ "OHOS_LITE=0" ]
      include_dirs = [
          "include",
          "//third_party/cJSON",
          "//third_party/bounds_checking_function/include",
      ]
      deps = [
          "//third_party/bounds_checking_function:libsec_static",
          "//third_party/cJSON:cjson_static",
      ]
      install_enable = true
      part_name = "updater"
M
mamingshuai 已提交
112 113
  }

Z
zhong_ning 已提交
114 115 116 117
  ohos_prebuilt_etc("init.cfg") {
      source = "//device/hisilicon/hi3516dv300/updater/init.cfg"
      relative_install_dir = "init"
      subsystem_name = "updater"
M
mamingshuai 已提交
118 119
  }
}