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