xref: /device/board/hihope/rk3568/kernel/BUILD.gn (revision 8d6344f9)
18d6344f9Sopenharmony_ci# Copyright (c) 2021-2023 HiHope Open Source Organization .
28d6344f9Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
38d6344f9Sopenharmony_ci# you may not use this file except in compliance with the License.
48d6344f9Sopenharmony_ci# You may obtain a copy of the License at
58d6344f9Sopenharmony_ci#
68d6344f9Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
78d6344f9Sopenharmony_ci#
88d6344f9Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
98d6344f9Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
108d6344f9Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
118d6344f9Sopenharmony_ci# See the License for the specific language governing permissions and
128d6344f9Sopenharmony_ci# limitations under the License.
138d6344f9Sopenharmony_ci
148d6344f9Sopenharmony_ciimport("//build/config/clang/clang.gni")
158d6344f9Sopenharmony_ciimport("//build/ohos.gni")
168d6344f9Sopenharmony_cikernel_build_script_dir = "//kernel/linux/${linux_kernel_version}"
178d6344f9Sopenharmony_cikernel_source_dir = "//kernel/linux/${linux_kernel_version}"
188d6344f9Sopenharmony_ci
198d6344f9Sopenharmony_ciaction("kernel") {
208d6344f9Sopenharmony_ci  script = "build_kernel.sh"
218d6344f9Sopenharmony_ci  sources = [ kernel_source_dir ]
228d6344f9Sopenharmony_ci
238d6344f9Sopenharmony_ci  product_path = "vendor/$product_company/$product_name"
248d6344f9Sopenharmony_ci  outputs = [
258d6344f9Sopenharmony_ci    "$root_build_dir/../kernel/src_tmp/${linux_kernel_version}/boot_linux",
268d6344f9Sopenharmony_ci    "$root_build_dir/../kernel/checkpoint/compile_check",
278d6344f9Sopenharmony_ci  ]
288d6344f9Sopenharmony_ci  args = [
298d6344f9Sopenharmony_ci    rebase_path(kernel_build_script_dir, root_build_dir),
308d6344f9Sopenharmony_ci    rebase_path("$root_build_dir/packages/phone/images"),
318d6344f9Sopenharmony_ci    rebase_path("//device/board/hihope/$device_name"),
328d6344f9Sopenharmony_ci    product_path,
338d6344f9Sopenharmony_ci    rebase_path("$root_build_dir/../.."),
348d6344f9Sopenharmony_ci    device_company,
358d6344f9Sopenharmony_ci    device_name,
368d6344f9Sopenharmony_ci    product_company,
378d6344f9Sopenharmony_ci    "${linux_kernel_version}",
388d6344f9Sopenharmony_ci    build_variant,
398d6344f9Sopenharmony_ci    device_type,
408d6344f9Sopenharmony_ci  ]
418d6344f9Sopenharmony_ci  if (enable_lto_O0) {
428d6344f9Sopenharmony_ci    args += [ "enable_lto_O0" ]
438d6344f9Sopenharmony_ci  } else {
448d6344f9Sopenharmony_ci    args += [ "disable_lto_O0" ]
458d6344f9Sopenharmony_ci  }
468d6344f9Sopenharmony_ci  if (enable_ramdisk) {
478d6344f9Sopenharmony_ci    args += [ "enable_ramdisk" ]
488d6344f9Sopenharmony_ci  }
498d6344f9Sopenharmony_ci
508d6344f9Sopenharmony_ci  if (enable_mesa3d) {
518d6344f9Sopenharmony_ci    args += [ "enable_mesa3d" ]
528d6344f9Sopenharmony_ci  }
538d6344f9Sopenharmony_ci  if (enable_absystem) {
548d6344f9Sopenharmony_ci    args += [ "enable_absystem" ]
558d6344f9Sopenharmony_ci  }
568d6344f9Sopenharmony_ci  if (build_variant == "user") {
578d6344f9Sopenharmony_ci    args += [ "is_release" ]
588d6344f9Sopenharmony_ci  }
598d6344f9Sopenharmony_ci}
60