15f9996aaSopenharmony_ci# Copyright (c) 2020 Huawei Device Co., Ltd. 25f9996aaSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 35f9996aaSopenharmony_ci# you may not use this file except in compliance with the License. 45f9996aaSopenharmony_ci# You may obtain a copy of the License at 55f9996aaSopenharmony_ci# 65f9996aaSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 75f9996aaSopenharmony_ci# 85f9996aaSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 95f9996aaSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 105f9996aaSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 115f9996aaSopenharmony_ci# See the License for the specific language governing permissions and 125f9996aaSopenharmony_ci# limitations under the License. 135f9996aaSopenharmony_ciimport("//build/lite/lite_target_list.gni") 145f9996aaSopenharmony_ciimport("//build/lite/ndk/ndk.gni") 155f9996aaSopenharmony_ci 165f9996aaSopenharmony_ci# gn version >= 1714 required. 175f9996aaSopenharmony_ciassert(gn_version >= 1714, "GN version 1714 required, please upgrade!") 185f9996aaSopenharmony_ci 195f9996aaSopenharmony_ci# write version info. 205f9996aaSopenharmony_civersion_info = [ 215f9996aaSopenharmony_ci "VERSION=\"$ohos_version\"", 225f9996aaSopenharmony_ci "BUILD_TIME=\"$ohos_build_datetime\"", 235f9996aaSopenharmony_ci] 245f9996aaSopenharmony_ciwrite_file("$root_build_dir/etc/version-info", version_info) 255f9996aaSopenharmony_ci 265f9996aaSopenharmony_cigroup("prebuilts") { 275f9996aaSopenharmony_ci public_deps = [ "//third_party/musl:sysroot_lite" ] 285f9996aaSopenharmony_ci} 295f9996aaSopenharmony_ci 305f9996aaSopenharmony_cigroup("ohos") { 315f9996aaSopenharmony_ci deps = [] 325f9996aaSopenharmony_ci if (ohos_build_target == "") { 335f9996aaSopenharmony_ci remove_target_list = [] 345f9996aaSopenharmony_ci if (!ohos_build_userspace_only || 355f9996aaSopenharmony_ci (ohos_build_userspace_only && subsystem_name != "kernel" && 365f9996aaSopenharmony_ci subsystem_name != "vendor")) { 375f9996aaSopenharmony_ci if (ohos_kernel_type == "liteos_m") { 385f9996aaSopenharmony_ci remove_target_list = [ "${ohos_kernel_path}:build_kernel_image" ] 395f9996aaSopenharmony_ci } else if (product_configed_component.component == "uniproton") { 405f9996aaSopenharmony_ci remove_target_list = [ "//kernel/uniproton:build_kernel_image" ] 415f9996aaSopenharmony_ci } 425f9996aaSopenharmony_ci } 435f9996aaSopenharmony_ci build_target_list = filter_exclude(lite_target_list, remove_target_list) 445f9996aaSopenharmony_ci deps += build_target_list 455f9996aaSopenharmony_ci } else { 465f9996aaSopenharmony_ci deps += string_split(ohos_build_target, "&&") 475f9996aaSopenharmony_ci } 485f9996aaSopenharmony_ci} 495f9996aaSopenharmony_ci 505f9996aaSopenharmony_cigroup("product") { 515f9996aaSopenharmony_ci deps = [] 525f9996aaSopenharmony_ci 535f9996aaSopenharmony_ci # build product, skip build single component scenario. 545f9996aaSopenharmony_ci if (ohos_build_target == "") { 555f9996aaSopenharmony_ci deps += [ "${product_path}" ] 565f9996aaSopenharmony_ci } 575f9996aaSopenharmony_ci} 585f9996aaSopenharmony_ci 595f9996aaSopenharmony_cigroup("ndk") { 605f9996aaSopenharmony_ci # Add native API targets. 615f9996aaSopenharmony_ci deps = [] 625f9996aaSopenharmony_ci if (ohos_build_ndk) { 635f9996aaSopenharmony_ci deps += [ "//build/lite/ndk:ndk" ] 645f9996aaSopenharmony_ci } 655f9996aaSopenharmony_ci} 665f9996aaSopenharmony_ci 675f9996aaSopenharmony_ciif (ohos_build_type == "debug" && product != "") { 685f9996aaSopenharmony_ci action("gen_testfwk_info") { 695f9996aaSopenharmony_ci outputs = [ "$root_out_dir/gen_testfwk_info.log" ] 705f9996aaSopenharmony_ci script = "//build/lite/testfwk/gen_testfwk_info.py" 715f9996aaSopenharmony_ci archive_dir_name = "test_info" 725f9996aaSopenharmony_ci args = [ 735f9996aaSopenharmony_ci "--component-info-file", 745f9996aaSopenharmony_ci rebase_path("${product_path}/config.json"), 755f9996aaSopenharmony_ci "--output-json-fold", 765f9996aaSopenharmony_ci rebase_path("${root_out_dir}/${archive_dir_name}/build_configs/"), 775f9996aaSopenharmony_ci "--output-json-file-name", 785f9996aaSopenharmony_ci "infos_for_testfwk.json", 795f9996aaSopenharmony_ci "--output-module-list-files-fold", 805f9996aaSopenharmony_ci rebase_path("${root_out_dir}/${archive_dir_name}/module_list_files/"), 815f9996aaSopenharmony_ci ] 825f9996aaSopenharmony_ci } 835f9996aaSopenharmony_ci} 84