1eace7efcSopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd. 2eace7efcSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3eace7efcSopenharmony_ci# you may not use this file except in compliance with the License. 4eace7efcSopenharmony_ci# You may obtain a copy of the License at 5eace7efcSopenharmony_ci# 6eace7efcSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7eace7efcSopenharmony_ci# 8eace7efcSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9eace7efcSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10eace7efcSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11eace7efcSopenharmony_ci# See the License for the specific language governing permissions and 12eace7efcSopenharmony_ci# limitations under the License. 13eace7efcSopenharmony_ci 14eace7efcSopenharmony_ciimport("//build/ohos.gni") 15eace7efcSopenharmony_ciimport("//foundation/ability/ability_runtime/ability_runtime.gni") 16eace7efcSopenharmony_ci 17eace7efcSopenharmony_ciohos_shared_library("featureability") { 18eace7efcSopenharmony_ci include_dirs = [ "./" ] 19eace7efcSopenharmony_ci 20eace7efcSopenharmony_ci sources = [ 21eace7efcSopenharmony_ci "feature_ability.cpp", 22eace7efcSopenharmony_ci "feature_ability_constant.cpp", 23eace7efcSopenharmony_ci "napi_data_ability_helper.cpp", 24eace7efcSopenharmony_ci "napi_data_ability_helper_utils.cpp", 25eace7efcSopenharmony_ci "napi_data_ability_observer.cpp", 26eace7efcSopenharmony_ci "napi_data_ability_operation.cpp", 27eace7efcSopenharmony_ci "native_module.cpp", 28eace7efcSopenharmony_ci ] 29eace7efcSopenharmony_ci 30eace7efcSopenharmony_ci deps = [ 31eace7efcSopenharmony_ci "${ability_runtime_innerkits_path}/ability_manager:ability_manager", 32eace7efcSopenharmony_ci "${ability_runtime_innerkits_path}/ability_manager:ability_start_options", 33eace7efcSopenharmony_ci "${ability_runtime_innerkits_path}/ability_manager:ability_start_setting", 34eace7efcSopenharmony_ci "${ability_runtime_innerkits_path}/dataobs_manager:dataobs_manager", 35eace7efcSopenharmony_ci "${ability_runtime_innerkits_path}/napi_base_context:napi_base_context", 36eace7efcSopenharmony_ci "${ability_runtime_innerkits_path}/runtime:runtime", 37eace7efcSopenharmony_ci "${ability_runtime_napi_path}/inner/napi_ability_common:napi_ability_common", 38eace7efcSopenharmony_ci "${ability_runtime_napi_path}/inner/napi_common:napi_common", 39eace7efcSopenharmony_ci "${ability_runtime_native_path}/ability/native:abilitykit_native", 40eace7efcSopenharmony_ci "${ability_runtime_native_path}/ability/native:data_ability_helper", 41eace7efcSopenharmony_ci "${ability_runtime_native_path}/appkit:appkit_native", 42eace7efcSopenharmony_ci ] 43eace7efcSopenharmony_ci 44eace7efcSopenharmony_ci external_deps = [ 45eace7efcSopenharmony_ci "ability_base:want", 46eace7efcSopenharmony_ci "ability_base:zuri", 47eace7efcSopenharmony_ci "access_token:libaccesstoken_sdk", 48eace7efcSopenharmony_ci "bundle_framework:appexecfwk_base", 49eace7efcSopenharmony_ci "c_utils:utils", 50eace7efcSopenharmony_ci "common_event_service:cesfwk_innerkits", 51eace7efcSopenharmony_ci "hilog:libhilog", 52eace7efcSopenharmony_ci "hitrace:hitrace_meter", 53eace7efcSopenharmony_ci "ipc:ipc_core", 54eace7efcSopenharmony_ci "libuv:uv", 55eace7efcSopenharmony_ci "napi:ace_napi", 56eace7efcSopenharmony_ci ] 57eace7efcSopenharmony_ci 58eace7efcSopenharmony_ci if (ability_runtime_graphics) { 59eace7efcSopenharmony_ci include_dirs += [ 60eace7efcSopenharmony_ci "${windowmanager_path}/interfaces/kits/napi/window_runtime/window_napi", 61eace7efcSopenharmony_ci ] 62eace7efcSopenharmony_ci external_deps += [ "window_manager:window_native_kit" ] 63eace7efcSopenharmony_ci defines = [ 64eace7efcSopenharmony_ci "SUPPORT_GRAPHICS", 65eace7efcSopenharmony_ci "SUPPORT_SCREEN", 66eace7efcSopenharmony_ci ] 67eace7efcSopenharmony_ci } 68eace7efcSopenharmony_ci 69eace7efcSopenharmony_ci if (ability_runtime_relational) { 70eace7efcSopenharmony_ci include_dirs += [ 71eace7efcSopenharmony_ci "${relational_store_napi_path}/common/include", 72eace7efcSopenharmony_ci "${relational_store_napi_path}/dataability/include", 73eace7efcSopenharmony_ci "${relational_store_napi_path}/rdb/include", 74eace7efcSopenharmony_ci ] 75eace7efcSopenharmony_ci sources += [ 76eace7efcSopenharmony_ci "${relational_store_napi_path}/common/src/js_df_manager.cpp", 77eace7efcSopenharmony_ci "${relational_store_napi_path}/common/src/js_utils.cpp", 78eace7efcSopenharmony_ci "${relational_store_napi_path}/dataability/src/napi_data_ability_predicates.cpp", 79eace7efcSopenharmony_ci "${relational_store_napi_path}/rdb/src/napi_rdb_js_utils.cpp", 80eace7efcSopenharmony_ci "${relational_store_napi_path}/rdb/src/napi_result_set.cpp", 81eace7efcSopenharmony_ci ] 82eace7efcSopenharmony_ci external_deps += [ 83eace7efcSopenharmony_ci "kv_store:distributeddata_mgr", 84eace7efcSopenharmony_ci "relational_store:native_dataability", 85eace7efcSopenharmony_ci "relational_store:native_rdb", 86eace7efcSopenharmony_ci "relational_store:rdb_data_share_adapter", 87eace7efcSopenharmony_ci ] 88eace7efcSopenharmony_ci } 89eace7efcSopenharmony_ci cflags_cc = [] 90eace7efcSopenharmony_ci if (os_dlp_part_enabled) { 91eace7efcSopenharmony_ci cflags_cc += [ "-DWITH_DLP" ] 92eace7efcSopenharmony_ci } 93eace7efcSopenharmony_ci 94eace7efcSopenharmony_ci relative_install_dir = "module/ability" 95eace7efcSopenharmony_ci 96eace7efcSopenharmony_ci subsystem_name = "ability" 97eace7efcSopenharmony_ci part_name = "ability_runtime" 98eace7efcSopenharmony_ci} 99