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_ci
145f9996aaSopenharmony_ci# Description: Define the global variables for all components
155f9996aaSopenharmony_cideclare_args() {
165f9996aaSopenharmony_ci  # OHOS version
175f9996aaSopenharmony_ci  name = "OpenHarmony"
185f9996aaSopenharmony_ci  major = "4"
195f9996aaSopenharmony_ci  minor = "0"
205f9996aaSopenharmony_ci  revision = "Beta1"
215f9996aaSopenharmony_ci  ohos_version = "$name $major.$minor $revision"
225f9996aaSopenharmony_ci  ohos_build_time = ""
235f9996aaSopenharmony_ci  ohos_build_datetime = ""
245f9996aaSopenharmony_ci
255f9996aaSopenharmony_ci  product = ""
265f9996aaSopenharmony_ci  device_path = ""
275f9996aaSopenharmony_ci  product_path = ""
285f9996aaSopenharmony_ci
295f9996aaSopenharmony_ci  device_config_path = ""
305f9996aaSopenharmony_ci  product_config_path = ""
315f9996aaSopenharmony_ci
325f9996aaSopenharmony_ci  device_company = ""
335f9996aaSopenharmony_ci  ohos_product_adapter_dir = ""
345f9996aaSopenharmony_ci
355f9996aaSopenharmony_ci  # "debug" or "release"
365f9996aaSopenharmony_ci  ohos_build_type = "debug"
375f9996aaSopenharmony_ci  ohos_full_compile = false
385f9996aaSopenharmony_ci  ohos_build_compiler = ""
395f9996aaSopenharmony_ci  ohos_build_compiler_specified = ""
405f9996aaSopenharmony_ci  ohos_build_target = ""
415f9996aaSopenharmony_ci  ohos_build_compiler_dir = ""
425f9996aaSopenharmony_ci  ohos_kernel_type = ""
435f9996aaSopenharmony_ci  ohos_kernel_path = ""
445f9996aaSopenharmony_ci  ohos_kernel_is_prebuilt = false
455f9996aaSopenharmony_ci  use_board_toolchain = true
465f9996aaSopenharmony_ci
475f9996aaSopenharmony_ci  # hb set it to true if ccache installed.
485f9996aaSopenharmony_ci  ohos_build_enable_ccache = false
495f9996aaSopenharmony_ci  ohos_build_enable_xcache = false
505f9996aaSopenharmony_ci
515f9996aaSopenharmony_ci  # Current toolchain cc command. E.g. "/data/user1/riscv32/bin/riscv32-unknown-elf-gcc".
525f9996aaSopenharmony_ci  ohos_current_cc_command = ""
535f9996aaSopenharmony_ci  ohos_current_cxx_command = ""
545f9996aaSopenharmony_ci  ohos_current_ar_command = ""
555f9996aaSopenharmony_ci  ohos_current_ld_command = ""
565f9996aaSopenharmony_ci  ohos_current_strip_command = ""
575f9996aaSopenharmony_ci
585f9996aaSopenharmony_ci  # Current sysroot path. E.g. "//out/hispark_taurus/ipcamera_hispark_taurus/sysroot".
595f9996aaSopenharmony_ci  ohos_current_sysroot = "$root_out_dir/sysroot"
605f9996aaSopenharmony_ci}
615f9996aaSopenharmony_ci
625f9996aaSopenharmony_ciif (product_config_path != "") {
635f9996aaSopenharmony_ci  product_config = read_file("${product_config_path}/config.json", "json")
645f9996aaSopenharmony_ci
655f9996aaSopenharmony_ci  # Board selected by product.
665f9996aaSopenharmony_ci  board_name = product_config.board
675f9996aaSopenharmony_ci  device_company = product_config.device_company
685f9996aaSopenharmony_ci
695f9996aaSopenharmony_ci  # Supported kernel: "liteos_a", "liteos_m", "linux", "uniproton"
705f9996aaSopenharmony_ci  ohos_kernel_type = product_config.kernel_type
715f9996aaSopenharmony_ci  if (defined(product_config.kernel_is_prebuilt)) {
725f9996aaSopenharmony_ci    ohos_kernel_is_prebuilt = product_config.kernel_is_prebuilt
735f9996aaSopenharmony_ci  }
745f9996aaSopenharmony_ci
755f9996aaSopenharmony_ci  # support config kernel liteos_m path
765f9996aaSopenharmony_ci  if (ohos_kernel_type == "liteos_m") {
775f9996aaSopenharmony_ci    if (defined(product_config.kernel_path)) {
785f9996aaSopenharmony_ci      ohos_kernel_path = product_config.kernel_path
795f9996aaSopenharmony_ci    } else {
805f9996aaSopenharmony_ci      ohos_kernel_path = "//kernel/liteos_m"
815f9996aaSopenharmony_ci    }
825f9996aaSopenharmony_ci  }
835f9996aaSopenharmony_ci
845f9996aaSopenharmony_ci  # To be deleted, and will use board config.
855f9996aaSopenharmony_ci  if (defined(product_config.vendor_adapter_dir)) {
865f9996aaSopenharmony_ci    ohos_vendor_adapter_dir = product_config.vendor_adapter_dir
875f9996aaSopenharmony_ci    ohos_board_adapter_dir = ohos_vendor_adapter_dir
885f9996aaSopenharmony_ci  }
895f9996aaSopenharmony_ci  ohos_product_adapter_dir = product_config.product_adapter_dir
905f9996aaSopenharmony_ci  ohos_third_party_dir = product_config.third_party_dir
915f9996aaSopenharmony_ci}
925f9996aaSopenharmony_ci
935f9996aaSopenharmony_ciohos_build_user = "jenkins"
945f9996aaSopenharmony_ciohos_build_host = host_os
955f9996aaSopenharmony_ciohos_build_roothash = ""
965f9996aaSopenharmony_ciohos_root_path = rebase_path("//")
975f9996aaSopenharmony_ciohos_lite = true
985f9996aaSopenharmony_ci
995f9996aaSopenharmony_ci# Testing switches
1005f9996aaSopenharmony_ciLOSCFG_TEST_JS_BUILD = false
1015f9996aaSopenharmony_ciLOSCFG_TEST_MLF_BUILD = false
1025f9996aaSopenharmony_ciLOSCFG_TEST_C_BUILD = false
1035f9996aaSopenharmony_ciLOSCFG_TEST_APPS = false
1045f9996aaSopenharmony_ci
1055f9996aaSopenharmony_cideclare_args() {
1065f9996aaSopenharmony_ci  enable_ohos_hiview = true
1075f9996aaSopenharmony_ci  enable_ohos_hiview_event = true
1085f9996aaSopenharmony_ci  enable_ohos_hiview_platform = false
1095f9996aaSopenharmony_ci}
1105f9996aaSopenharmony_ci
1115f9996aaSopenharmony_cideclare_args() {
1125f9996aaSopenharmony_ci  enable_tee_ree = false
1135f9996aaSopenharmony_ci  enable_ohos_security_dmverity = false
1145f9996aaSopenharmony_ci}
1155f9996aaSopenharmony_ci
1165f9996aaSopenharmony_cideclare_args() {
1175f9996aaSopenharmony_ci  ohos_build_userspace_only = false
1185f9996aaSopenharmony_ci}
119