1# Copyright (c) 2021-2023 HiHope Open Source Organization .
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("//build/config/clang/clang.gni")
15import("//build/ohos.gni")
16kernel_build_script_dir = "//kernel/linux/${linux_kernel_version}"
17kernel_source_dir = "//kernel/linux/${linux_kernel_version}"
18
19action("kernel") {
20  script = "build_kernel.sh"
21  sources = [ kernel_source_dir ]
22
23  product_path = "vendor/$product_company/$product_name"
24  outputs = [
25    "$root_build_dir/../kernel/src_tmp/${linux_kernel_version}/boot_linux",
26    "$root_build_dir/../kernel/checkpoint/compile_check",
27  ]
28  args = [
29    rebase_path(kernel_build_script_dir, root_build_dir),
30    rebase_path("$root_build_dir/packages/phone/images"),
31    rebase_path("//device/board/hihope/$device_name"),
32    product_path,
33    rebase_path("$root_build_dir/../.."),
34    device_company,
35    device_name,
36    product_company,
37    "${linux_kernel_version}",
38    build_variant,
39    device_type,
40  ]
41  if (enable_lto_O0) {
42    args += [ "enable_lto_O0" ]
43  } else {
44    args += [ "disable_lto_O0" ]
45  }
46  if (enable_ramdisk) {
47    args += [ "enable_ramdisk" ]
48  }
49
50  if (enable_mesa3d) {
51    args += [ "enable_mesa3d" ]
52  }
53  if (enable_absystem) {
54    args += [ "enable_absystem" ]
55  }
56  if (build_variant == "user") {
57    args += [ "is_release" ]
58  }
59}
60