1bae44755Sopenharmony_ci# Copyright (C) 2022-2022 Huawei Device Co., Ltd. 2bae44755Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3bae44755Sopenharmony_ci# you may not use this file except in compliance with the License. 4bae44755Sopenharmony_ci# You may obtain a copy of the License at 5bae44755Sopenharmony_ci# 6bae44755Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7bae44755Sopenharmony_ci# 8bae44755Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9bae44755Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10bae44755Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11bae44755Sopenharmony_ci# See the License for the specific language governing permissions and 12bae44755Sopenharmony_ci# limitations under the License. 13bae44755Sopenharmony_ci 14bae44755Sopenharmony_ciimport("//build/ohos.gni") 15bae44755Sopenharmony_ciimport("//build/ohos/ace/ace.gni") 16bae44755Sopenharmony_ciimport("../config.gni") 17bae44755Sopenharmony_ci 18bae44755Sopenharmony_cibase_output_path = get_label_info(":query_syscap", "target_out_dir") 19bae44755Sopenharmony_ciquery_syscap_obj_path = base_output_path + "/query_syscap.o" 20bae44755Sopenharmony_ci 21bae44755Sopenharmony_cigen_js_obj("query_syscap_js") { 22bae44755Sopenharmony_ci input = "query_syscap.js" 23bae44755Sopenharmony_ci output = query_syscap_obj_path 24bae44755Sopenharmony_ci} 25bae44755Sopenharmony_ci 26bae44755Sopenharmony_cisources_platform_common = [ 27bae44755Sopenharmony_ci "../src/syscap_tool.c", 28bae44755Sopenharmony_ci "../src/create_pcid.c", 29bae44755Sopenharmony_ci "../src/endian_internal.c", 30bae44755Sopenharmony_ci "../src/context_tool.c", 31bae44755Sopenharmony_ci "../interfaces/inner_api/syscap_interface.c", 32bae44755Sopenharmony_ci] 33bae44755Sopenharmony_ci 34bae44755Sopenharmony_ciohos_shared_library("systemcapability") { 35bae44755Sopenharmony_ci include_dirs = [ 36bae44755Sopenharmony_ci "../src", 37bae44755Sopenharmony_ci "../interfaces/inner_api", 38bae44755Sopenharmony_ci "../include", 39bae44755Sopenharmony_ci ] 40bae44755Sopenharmony_ci include_dirs += [ syscap_codec_config_path ] 41bae44755Sopenharmony_ci 42bae44755Sopenharmony_ci sources = [ "napi_query_syscap.cpp" ] 43bae44755Sopenharmony_ci sources += sources_platform_common 44bae44755Sopenharmony_ci 45bae44755Sopenharmony_ci deps = [ ":query_syscap_js" ] 46bae44755Sopenharmony_ci external_deps = [ 47bae44755Sopenharmony_ci "bounds_checking_function:libsec_static", 48bae44755Sopenharmony_ci "napi:ace_napi", 49bae44755Sopenharmony_ci ] 50bae44755Sopenharmony_ci 51bae44755Sopenharmony_ci if (syscap_codec_config_extern_path != "") { 52bae44755Sopenharmony_ci deps += [ "..:gen_syscap_define_custom" ] 53bae44755Sopenharmony_ci inputs = [ "${root_build_dir}/syscap_define_custom.h" ] 54bae44755Sopenharmony_ci include_dirs += [ "${root_build_dir}" ] 55bae44755Sopenharmony_ci cflags = [ "-DSYSCAP_DEFINE_EXTERN_ENABLE" ] 56bae44755Sopenharmony_ci } 57bae44755Sopenharmony_ci 58bae44755Sopenharmony_ci if (defined(ohos_lite)) { 59bae44755Sopenharmony_ci deps += [ "//build/lite/config/component/cJSON:cjson_static" ] 60bae44755Sopenharmony_ci } else { 61bae44755Sopenharmony_ci external_deps += [ "cJSON:cjson_static" ] 62bae44755Sopenharmony_ci } 63bae44755Sopenharmony_ci 64bae44755Sopenharmony_ci relative_install_dir = "module" 65bae44755Sopenharmony_ci subsystem_name = "developtools" 66bae44755Sopenharmony_ci part_name = "syscap_codec" 67bae44755Sopenharmony_ci} 68