BUILD.gn 3.3 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 23 24 25 26 27 28 29 30
    ]
    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 已提交
31

Z
zhong_ning 已提交
32 33 34 35 36 37
    include_dirs = [
      "include",
      "//third_party/cJSON",
      "//third_party/bounds_checking_function/include",
      "//base/startup/syspara_lite/interfaces/kits",
    ]
M
mamingshuai 已提交
38

Z
zhong_ning 已提交
39
    cflags = [ "-Wall" ]
M
mamingshuai 已提交
40

Z
zhong_ning 已提交
41 42
    deps = [
      "//base/startup/syspara_lite/frameworks/parameter:parameter",
43
      "//base/startup/init_lite/initsync:initsync",
Z
zhong_ning 已提交
44 45 46 47 48
      "//build/lite/config/component/cJSON:cjson_shared",
      "//third_party/bounds_checking_function:libsec_shared",
    ]
    ldflags = []
    if (ohos_kernel_type == "liteos_a") {
49 50 51 52 53 54
      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 已提交
55 56 57 58 59 60 61
    }
    if (ohos_kernel_type == "linux") {
      defines += [ "NEED_EXEC_RCS_LINUX" ]
      ldflags += [
        "-lm",
        "-lpthread",
      ]
Y
yangming_ha 已提交
62
      deps += [
63 64 65
        "//third_party/mksh",
        "//third_party/toybox",
      ]
Z
zhong_ning 已提交
66 67
    }
  }
M
mamingshuai 已提交
68

Z
zhong_ning 已提交
69 70
  if (ohos_build_type == "debug") {
    group("unittest") {
71 72
      deps =
          [ "//base/startup/init_lite/services/test/unittest/common:unittest" ]
Z
zhong_ning 已提交
73 74 75 76
    }
  }
} else {
  import("//build/ohos.gni")
M
mamingshuai 已提交
77

Z
zhong_ning 已提交
78
  ohos_executable("updaterueventd") {
79 80 81 82 83 84 85 86 87 88 89
    sources = [
      "src/list.c",
      "src/uevent.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 已提交
90 91
  }

Z
zhong_ning 已提交
92
  ohos_executable("updaterinit") {
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
    sources = [
      "src/device.c",
      "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",
    ]
    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 已提交
115 116
  }

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