14d6c458bSopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd. 24d6c458bSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 34d6c458bSopenharmony_ci# you may not use this file except in compliance with the License. 44d6c458bSopenharmony_ci# You may obtain a copy of the License at 54d6c458bSopenharmony_ci# 64d6c458bSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 74d6c458bSopenharmony_ci# 84d6c458bSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 94d6c458bSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 104d6c458bSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 114d6c458bSopenharmony_ci# See the License for the specific language governing permissions and 124d6c458bSopenharmony_ci# limitations under the License. 134d6c458bSopenharmony_ci 144d6c458bSopenharmony_ciimport("//build/ohos.gni") 154d6c458bSopenharmony_ciimport("//commonlibrary/ets_utils/ets_utils_config.gni") 164d6c458bSopenharmony_ci 174d6c458bSopenharmony_ciohos_shared_library("timer") { 184d6c458bSopenharmony_ci branch_protector_ret = "pac_ret" 194d6c458bSopenharmony_ci sanitize = { 204d6c458bSopenharmony_ci cfi = true 214d6c458bSopenharmony_ci cfi_cross_dso = true 224d6c458bSopenharmony_ci debug = false 234d6c458bSopenharmony_ci } 244d6c458bSopenharmony_ci include_dirs = [ 254d6c458bSopenharmony_ci "../../js_concurrent_module/common", 264d6c458bSopenharmony_ci "../timer", 274d6c458bSopenharmony_ci ets_util_path, 284d6c458bSopenharmony_ci ] 294d6c458bSopenharmony_ci 304d6c458bSopenharmony_ci sources = [ 314d6c458bSopenharmony_ci "../../js_concurrent_module/common/helper/napi_helper.cpp", 324d6c458bSopenharmony_ci "timer.cpp", 334d6c458bSopenharmony_ci ] 344d6c458bSopenharmony_ci 354d6c458bSopenharmony_ci deps = [] 364d6c458bSopenharmony_ci 374d6c458bSopenharmony_ci defines = [] 384d6c458bSopenharmony_ci 394d6c458bSopenharmony_ci external_deps = [ "napi:ace_napi" ] 404d6c458bSopenharmony_ci 414d6c458bSopenharmony_ci if (is_linux && current_toolchain == host_toolchain) { 424d6c458bSopenharmony_ci deps += [ "$hilog_linux" ] 434d6c458bSopenharmony_ci defines += [ 444d6c458bSopenharmony_ci "LINUX_PLATFORM", 454d6c458bSopenharmony_ci "PREVIEW", 464d6c458bSopenharmony_ci ] 474d6c458bSopenharmony_ci } else { 484d6c458bSopenharmony_ci if (is_standard_system) { 494d6c458bSopenharmony_ci external_deps += [ "hilog:libhilog" ] 504d6c458bSopenharmony_ci } else { 514d6c458bSopenharmony_ci external_deps += [ "hilog:libhilog" ] 524d6c458bSopenharmony_ci } 534d6c458bSopenharmony_ci } 544d6c458bSopenharmony_ci 554d6c458bSopenharmony_ci if (!is_mingw && !is_mac && !is_linux && product_name != "ohos-sdk") { 564d6c458bSopenharmony_ci external_deps += [ "ace_engine:ace_container_scope" ] 574d6c458bSopenharmony_ci defines += [ "ENABLE_CONTAINER_SCOPE" ] 584d6c458bSopenharmony_ci } 594d6c458bSopenharmony_ci 604d6c458bSopenharmony_ci if (is_mingw) { 614d6c458bSopenharmony_ci defines += [ 624d6c458bSopenharmony_ci "WINDOWS_PLATFORM", 634d6c458bSopenharmony_ci "NOGDI", 644d6c458bSopenharmony_ci ] 654d6c458bSopenharmony_ci } 664d6c458bSopenharmony_ci cflags = [ "-std=c++17" ] 674d6c458bSopenharmony_ci 684d6c458bSopenharmony_ci subsystem_name = "commonlibrary" 694d6c458bSopenharmony_ci innerapi_tags = [ "platformsdk" ] 704d6c458bSopenharmony_ci part_name = "ets_utils" 714d6c458bSopenharmony_ci} 724d6c458bSopenharmony_ci 734d6c458bSopenharmony_ciohos_source_set("timer_static") { 744d6c458bSopenharmony_ci branch_protector_ret = "pac_ret" 754d6c458bSopenharmony_ci sanitize = { 764d6c458bSopenharmony_ci cfi = true 774d6c458bSopenharmony_ci cfi_cross_dso = true 784d6c458bSopenharmony_ci debug = false 794d6c458bSopenharmony_ci } 804d6c458bSopenharmony_ci include_dirs = [ 814d6c458bSopenharmony_ci js_concurrent_module_common, 824d6c458bSopenharmony_ci "../timer", 834d6c458bSopenharmony_ci ets_util_path, 844d6c458bSopenharmony_ci ] 854d6c458bSopenharmony_ci 864d6c458bSopenharmony_ci sources = [ 874d6c458bSopenharmony_ci "$js_concurrent_module_common/helper/napi_helper.cpp", 884d6c458bSopenharmony_ci "timer.cpp", 894d6c458bSopenharmony_ci ] 904d6c458bSopenharmony_ci 914d6c458bSopenharmony_ci deps = [] 924d6c458bSopenharmony_ci 934d6c458bSopenharmony_ci defines = [] 944d6c458bSopenharmony_ci 954d6c458bSopenharmony_ci configs = [ "$napi_root:ace_napi_config" ] 964d6c458bSopenharmony_ci external_deps = [] 974d6c458bSopenharmony_ci if (is_arkui_x) { 984d6c458bSopenharmony_ci include_dirs += [ 994d6c458bSopenharmony_ci "$plugins_root/hilog/include", 1004d6c458bSopenharmony_ci "$plugins_root/interfaces", 1014d6c458bSopenharmony_ci "//base/hiviewdfx/hilog/interfaces/native/innerkits/include", 1024d6c458bSopenharmony_ci ] 1034d6c458bSopenharmony_ci deps += [ 1044d6c458bSopenharmony_ci "$plugins_root/libs/napi:napi_${target_os}", 1054d6c458bSopenharmony_ci "$plugins_root/libs/uv:uv_${target_os}", 1064d6c458bSopenharmony_ci ] 1074d6c458bSopenharmony_ci if (target_os == "android") { 1084d6c458bSopenharmony_ci defines += [ "ANDROID_PLATFORM" ] 1094d6c458bSopenharmony_ci } 1104d6c458bSopenharmony_ci if (target_os == "ios") { 1114d6c458bSopenharmony_ci defines += [ "IOS_PLATFORM" ] 1124d6c458bSopenharmony_ci } 1134d6c458bSopenharmony_ci } else { 1144d6c458bSopenharmony_ci deps += [ "$napi_root:ace_napi" ] 1154d6c458bSopenharmony_ci } 1164d6c458bSopenharmony_ci 1174d6c458bSopenharmony_ci if (!is_mingw && !is_mac && !is_linux && product_name != "ohos-sdk") { 1184d6c458bSopenharmony_ci if (is_arkui_x) { 1194d6c458bSopenharmony_ci deps += [ "$ace_root/frameworks/core:ace_container_scope_static" ] 1204d6c458bSopenharmony_ci } else { 1214d6c458bSopenharmony_ci external_deps += [ "ace_engine:ace_container_scope" ] 1224d6c458bSopenharmony_ci } 1234d6c458bSopenharmony_ci defines += [ "ENABLE_CONTAINER_SCOPE" ] 1244d6c458bSopenharmony_ci } 1254d6c458bSopenharmony_ci 1264d6c458bSopenharmony_ci subsystem_name = "commonlibrary" 1274d6c458bSopenharmony_ci part_name = "ets_utils" 1284d6c458bSopenharmony_ci} 1294d6c458bSopenharmony_ci 1304d6c458bSopenharmony_cigroup("timer_packages") { 1314d6c458bSopenharmony_ci deps = [ ":timer" ] 1324d6c458bSopenharmony_ci} 133