BUILD.gn 4.6 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)) {
  # feature: init
15 16
  executable("init_lite") {
    output_name = "init"
Z
zhong_ning 已提交
17 18
    defines = [
      "_GNU_SOURCE",  #syscall function need this macro definition
Z
zhong_ning 已提交
19
      "OHOS_LITE",
Z
zhong_ning 已提交
20 21 22
    ]
    sources = [
      "src/init_adapter.c",
Z
zhong_ning 已提交
23
      "src/init_capability.c",
Z
zhong_ning 已提交
24
      "src/init_cmds.c",
Z
zhong_ning 已提交
25
      "src/init_import.c",
Z
zhong_ning 已提交
26 27
      "src/init_jobs.c",
      "src/init_read_cfg.c",
Z
zhong_ning 已提交
28
      "src/init_reboot.c",
Z
zhong_ning 已提交
29 30
      "src/init_service.c",
      "src/init_service_manager.c",
Z
zhong_ning 已提交
31
      "src/init_service_socket.c",
Z
zhong_ning 已提交
32
      "src/init_signal_handler.c",
Z
zhong_ning 已提交
33
      "src/init_utils.c",
Z
zhong_ning 已提交
34 35
      "src/main.c",
    ]
M
mamingshuai 已提交
36

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

Z
zhong_ning 已提交
46
    cflags = [ "-Wall" ]
M
mamingshuai 已提交
47

Z
zhong_ning 已提交
48
    deps = [
49
      "//base/startup/init_lite/initsync:initsync",
Z
zhong_ning 已提交
50 51
      "//base/startup/init_lite/services/log:init_log",
      "//base/startup/syspara_lite/frameworks/parameter:parameter",
Z
zhong_ning 已提交
52 53 54 55 56
      "//build/lite/config/component/cJSON:cjson_shared",
      "//third_party/bounds_checking_function:libsec_shared",
    ]
    ldflags = []
    if (ohos_kernel_type == "liteos_a") {
57 58 59 60 61 62
      include_dirs += [
        "//kernel/liteos_a/syscall",
        "//base/startup/init_lite/interfaces/kits",
        "//base/startup/init_lite/initsync/include",
      ]
      deps += [ "//base/startup/init_lite/initsync:initsync" ]
Z
zhong_ning 已提交
63 64 65 66 67 68 69
    }
    if (ohos_kernel_type == "linux") {
      defines += [ "NEED_EXEC_RCS_LINUX" ]
      ldflags += [
        "-lm",
        "-lpthread",
      ]
Y
yangming_ha 已提交
70
      deps += [
71 72 73
        "//third_party/mksh",
        "//third_party/toybox",
      ]
Z
zhong_ning 已提交
74 75
    }
  }
M
mamingshuai 已提交
76

Z
zhong_ning 已提交
77 78
  if (ohos_build_type == "debug") {
    group("unittest") {
Z
zhong_ning 已提交
79 80
      deps =
          [ "//base/startup/init_lite/services/test/unittest/common:unittest" ]
Z
zhong_ning 已提交
81 82 83 84 85
    }
  }
} else {
  import("//build/ohos.gni")
  ohos_executable("updaterueventd") {
86 87 88 89 90 91 92
    sources = [
      "src/list.c",
      "src/uevent.c",
    ]
    include_dirs = [
      "include",
      "//third_party/bounds_checking_function/include",
Z
zhong_ning 已提交
93 94 95 96
      "//base/startup/init_lite/services/log",
    ]
    deps = [
      "//base/startup/init_lite/services/log:init_log",
Z
zhong_ning 已提交
97
      "//third_party/bounds_checking_function:libsec_static",
98 99
    ]
    install_enable = true
Z
zhong_ning 已提交
100
    part_name = "init"
M
mamingshuai 已提交
101 102
  }

Z
zhong_ning 已提交
103
  ohos_executable("init") {
104 105 106
    sources = [
      "src/device.c",
      "src/init_adapter.c",
Z
zhong_ning 已提交
107
      "src/init_capability.c",
108
      "src/init_cmds.c",
Z
zhong_ning 已提交
109
      "src/init_import.c",
110 111
      "src/init_jobs.c",
      "src/init_read_cfg.c",
Z
zhong_ning 已提交
112
      "src/init_reboot.c",
113 114
      "src/init_service.c",
      "src/init_service_manager.c",
Z
zhong_ning 已提交
115
      "src/init_service_socket.c",
116
      "src/init_signal_handler.c",
Z
zhong_ning 已提交
117
      "src/init_utils.c",
118 119 120
      "src/main.c",
    ]
    include_dirs = [
Z
zhong_ning 已提交
121
      "//base/startup/init_lite/services/include/param",
Z
zhong_ning 已提交
122
      "//base/startup/init_lite/services/include",
Z
zhong_ning 已提交
123
      "//base/startup/init_lite/services/log",
124 125
      "//third_party/cJSON",
      "//third_party/bounds_checking_function/include",
Z
zhong_ning 已提交
126
      "//third_party/libuv/include",
127 128
    ]
    deps = [
Z
zhong_ning 已提交
129
      "//base/startup/init_lite/services/log:init_log",
Z
zhong_ning 已提交
130
      "//base/startup/init_lite/services/param:paramservice",
131 132 133
      "//third_party/bounds_checking_function:libsec_static",
      "//third_party/cJSON:cjson_static",
    ]
Z
zhong_ning 已提交
134 135 136
    if (use_musl) {
      deps += [
        "//third_party/mksh:sh",
Z
zhong_ning 已提交
137
        "//third_party/toybox:toybox",
Z
zhong_ning 已提交
138 139
      ]
    }
140
    install_enable = true
Z
zhong_ning 已提交
141
    part_name = "init"
M
mamingshuai 已提交
142 143
  }

Z
zhong_ning 已提交
144
  ohos_prebuilt_etc("init.cfg") {
145
    source = "//device/hisilicon/hi3516dv300/updater/init.cfg"
Z
zhong_ning 已提交
146 147 148 149 150 151
    part_name = "init"
  }

  group("startup_init") {
    deps = [
      ":init",
Z
zhong_ning 已提交
152
      ":init.cfg",
Z
zhong_ning 已提交
153
      ":updaterueventd",
Z
zhong_ning 已提交
154 155
      "//base/startup/init_lite/services/param:getparam",
      "//base/startup/init_lite/services/param:paramclient",
Z
zhong_ning 已提交
156 157
      "//base/startup/init_lite/services/param:paramservice",
      "//base/startup/init_lite/services/param:setparam",
Z
zhong_ning 已提交
158
      "//base/startup/init_lite/services/reboot:reboot",
Z
zhong_ning 已提交
159
    ]
M
mamingshuai 已提交
160 161
  }
}