# Copyright (c) 2022 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. if (!defined(ark_standalone_build)) { ark_standalone_build = false } is_cross_platform_build = defined(build_cross_platform_version) && build_cross_platform_version declare_args() { # If true, use icu to implement Intl APIs. # If false, use @ohos.intl APIs to implement Intl APIs. enable_ark_intl = true } if (!ark_standalone_build) { build_root = "//build" ark_third_party_root = "//third_party" import("$build_root/ohos.gni") } else { ark_third_party_root = "//arkcompiler/toolchain/build/third_party_gn" import("$build_root/ark.gni") } ark_root = "//arkcompiler/runtime_core" js_root = "//arkcompiler/ets_runtime" global_root = "//base/global/i18n" hilog_root = "//base/hiviewdfx/hilog/interfaces/native/innerkits" compile_llvm_online = false run_with_asan = false enable_leak_check = false enable_cow_array = true enable_coverage = false enable_asm_assert = false ark_compile_mode = "debug" if (is_cross_platform_build && !is_debug && !is_profile) { ark_compile_mode = "release" } asan_lib_path = "/usr/lib/llvm-10/lib/clang/10.0.0/lib/linux" # under /system/lib64 dir arkcompiler_relative_lib_path = "module/arkcompiler" if (is_standard_system || ark_standalone_build) { icu_part_name = "icu" icu_subsystem_name = "thirdparty" } else { icu_part_name = "i18n" icu_subsystem_name = "global" } if (is_cross_platform_build && target_os == "ios") { sdk_libc_secshared_dep = "$ark_third_party_root/bounds_checking_function:libsec_static" } else { sdk_libc_secshared_dep = "$ark_third_party_root/bounds_checking_function:libsec_shared" } sdk_libc_secshared_config = "$ark_third_party_root/bounds_checking_function:libsec_public_config" # ohos device, windows previewer, mac previewer enable_hilog = !ark_standalone_build && !is_cross_platform_build && (is_ohos || is_mingw || is_mac) enable_dump_in_faultlog = !ark_standalone_build && !is_cross_platform_build && is_ohos && is_standard_system enable_bytrace = !ark_standalone_build && !is_cross_platform_build && is_ohos && is_standard_system enable_hitrace = !ark_standalone_build && !is_cross_platform_build && is_ohos && is_standard_system hiviewdfx_deps = [] hiviewdfx_ext_deps = [] if (enable_dump_in_faultlog) { hiviewdfx_ext_deps += [ "faultloggerd:libfaultloggerd" ] } if (enable_bytrace) { hiviewdfx_ext_deps += [ "hitrace:hitrace_meter" ] } if (enable_hitrace) { hiviewdfx_ext_deps += [ "hitrace:libhitracechain" ] } if (enable_hilog) { if (is_mingw) { hiviewdfx_deps += [ "$hilog_root:libhilog_windows" ] } else if (is_mac) { hiviewdfx_deps += [ "$hilog_root:libhilog_mac" ] } else if (is_ohos) { hiviewdfx_ext_deps += [ "hilog:libhilog" ] } } enable_target_compilation = !ark_standalone_build && !is_mac && !is_cross_platform_build && current_cpu == "arm64" have_local_code_sign = false if (defined(global_parts_info) && defined(global_parts_info.security_code_signature) && global_parts_info.security_code_signature) { have_local_code_sign = true } enable_local_code_sign = false if (have_local_code_sign && enable_target_compilation) { enable_local_code_sign = true }