192a12a34Sopenharmony_ci# Copyright (c) 2020 Huawei Device Co., Ltd. 292a12a34Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 392a12a34Sopenharmony_ci# you may not use this file except in compliance with the License. 492a12a34Sopenharmony_ci# You may obtain a copy of the License at 592a12a34Sopenharmony_ci# 692a12a34Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 792a12a34Sopenharmony_ci# 892a12a34Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 992a12a34Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1092a12a34Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1192a12a34Sopenharmony_ci# See the License for the specific language governing permissions and 1292a12a34Sopenharmony_ci# limitations under the License. 1392a12a34Sopenharmony_ciimport("//build/lite/config/component/lite_component.gni") 1492a12a34Sopenharmony_ciimport( 1592a12a34Sopenharmony_ci "//foundation/bundlemanager/bundle_framework_lite/bundle_framework_lite.gni") 1692a12a34Sopenharmony_ci 1792a12a34Sopenharmony_ciconfig("bundle_config") { 1892a12a34Sopenharmony_ci defines = [ "OHOS_APPEXECFWK_BMS_BUNDLEMANAGER" ] 1992a12a34Sopenharmony_ci cflags_cc = [ "-std=c++14" ] 2092a12a34Sopenharmony_ci} 2192a12a34Sopenharmony_ci 2292a12a34Sopenharmony_ciif (ohos_kernel_type == "liteos_m") { 2392a12a34Sopenharmony_ci static_library("bundlems") { 2492a12a34Sopenharmony_ci sources = [ 2592a12a34Sopenharmony_ci "src/bundle_map.cpp", 2692a12a34Sopenharmony_ci "src/bundle_mgr_service.cpp", 2792a12a34Sopenharmony_ci "src/bundle_mgr_slite_feature.cpp", 2892a12a34Sopenharmony_ci "src/bundle_util.cpp", 2992a12a34Sopenharmony_ci "src/gt_bundle_extractor.cpp", 3092a12a34Sopenharmony_ci "src/gt_bundle_installer.cpp", 3192a12a34Sopenharmony_ci "src/gt_bundle_manager_service.cpp", 3292a12a34Sopenharmony_ci "src/gt_bundle_parser.cpp", 3392a12a34Sopenharmony_ci "src/gt_extractor_util.cpp", 3492a12a34Sopenharmony_ci ] 3592a12a34Sopenharmony_ci 3692a12a34Sopenharmony_ci defines = [ "JERRY_FOR_IAR_CONFIG" ] 3792a12a34Sopenharmony_ci if (bundle_framework_lite_enable_ohos_bundle_manager_service == true) { 3892a12a34Sopenharmony_ci defines += [ "_MINI_BMS_" ] 3992a12a34Sopenharmony_ci } 4092a12a34Sopenharmony_ci 4192a12a34Sopenharmony_ci if (bundle_framework_lite_enable_ohos_bundle_manager_service_permission == 4292a12a34Sopenharmony_ci true) { 4392a12a34Sopenharmony_ci defines += [ 4492a12a34Sopenharmony_ci "_MINI_BMS_PERMISSION_", 4592a12a34Sopenharmony_ci "BC_TRANS_ENABLE", 4692a12a34Sopenharmony_ci ] 4792a12a34Sopenharmony_ci } 4892a12a34Sopenharmony_ci 4992a12a34Sopenharmony_ci if (bundle_framework_lite_enable_ohos_bundle_manager_service_parse_metadata == true) { 5092a12a34Sopenharmony_ci defines += [ "_MINI_BMS_PARSE_METADATA_" ] 5192a12a34Sopenharmony_ci } 5292a12a34Sopenharmony_ci 5392a12a34Sopenharmony_ci deps = [ 5492a12a34Sopenharmony_ci "${ace_engine_lite_path}/frameworks:ace_lite", 5592a12a34Sopenharmony_ci "${appexecfwk_lite_path}/frameworks/bundle_lite:bundle", 5692a12a34Sopenharmony_ci "${hilog_lite_path}/frameworks/featured:hilog_static", 5792a12a34Sopenharmony_ci "${resource_management_lite_path}/frameworks/resmgr_lite:global_resmgr", 5892a12a34Sopenharmony_ci "${samgr_lite_path}/samgr:samgr", 5992a12a34Sopenharmony_ci "//build/lite/config/component/cJSON:cjson_static", 6092a12a34Sopenharmony_ci "//third_party/jerryscript/jerry-core:jerry-core_static", 6192a12a34Sopenharmony_ci ] 6292a12a34Sopenharmony_ci 6392a12a34Sopenharmony_ci include_dirs = [ 6492a12a34Sopenharmony_ci "${appexecfwk_lite_path}/services/bundlemgr_lite/include", 6592a12a34Sopenharmony_ci "${appexecfwk_lite_path}/interfaces/inner_api/bundlemgr_lite/slite", 6692a12a34Sopenharmony_ci "${appexecfwk_lite_path}/interfaces/inner_api/bundlemgr_lite", 6792a12a34Sopenharmony_ci "${appexecfwk_lite_path}/interfaces/kits/bundle_lite/slite", 6892a12a34Sopenharmony_ci "${appexecfwk_lite_path}/interfaces/kits/bundle_lite", 6992a12a34Sopenharmony_ci "${appexecfwk_lite_path}/utils/bundle_lite", 7092a12a34Sopenharmony_ci "${appexecfwk_lite_path}/frameworks/bundle_lite/include", 7192a12a34Sopenharmony_ci "${hilog_lite_path}/interfaces/native/kits/hilog_lite", 7292a12a34Sopenharmony_ci "${startup_path}/init/interfaces/innerkits/include/syspara", 7392a12a34Sopenharmony_ci "${aafwk_lite_path}/interfaces/kits/ability_lite/slite", 7492a12a34Sopenharmony_ci "${aafwk_lite_path}/services/abilitymgr_lite/include", 7592a12a34Sopenharmony_ci "${aafwk_lite_path}/interfaces/inner_api/abilitymgr_lite", 7692a12a34Sopenharmony_ci "${aafwk_lite_path}/interfaces/kits/ability_lite", 7792a12a34Sopenharmony_ci "${aafwk_lite_path}/interfaces/kits/want_lite", 7892a12a34Sopenharmony_ci "${aafwk_lite_path}/frameworks/want_lite/include", 7992a12a34Sopenharmony_ci "${resource_management_lite_path}/interfaces/inner_api/include", 8092a12a34Sopenharmony_ci "${samgr_lite_path}/interfaces/kits/registry", 8192a12a34Sopenharmony_ci "${samgr_lite_path}/interfaces/kits/samgr", 8292a12a34Sopenharmony_ci "//third_party/jerryscript/jerry-core", 8392a12a34Sopenharmony_ci "//third_party/jerryscript/jerry-core/api", 8492a12a34Sopenharmony_ci "//third_party/jerryscript/jerry-core/ecma/base", 8592a12a34Sopenharmony_ci "//third_party/jerryscript/jerry-core/include", 8692a12a34Sopenharmony_ci "//third_party/jerryscript/jerry-core/jrt", 8792a12a34Sopenharmony_ci "//third_party/jerryscript/jerry-core/jmem", 8892a12a34Sopenharmony_ci "//third_party/jerryscript/jerry-core/lit", 8992a12a34Sopenharmony_ci "//third_party/cJSON", 9092a12a34Sopenharmony_ci "//third_party/zlib", 9192a12a34Sopenharmony_ci "//third_party/zlib/contrib/minizip", 9292a12a34Sopenharmony_ci "${permission_lite_path}/interfaces/kits", 9392a12a34Sopenharmony_ci "${permission_lite_path}/services/pms/include", 9492a12a34Sopenharmony_ci "${appverify_lite_path}/include", 9592a12a34Sopenharmony_ci "//third_party/bounds_checking_function/include", 9692a12a34Sopenharmony_ci "${utils_lite_path}/include", 9792a12a34Sopenharmony_ci "${utils_lite_path}/memory/include", 9892a12a34Sopenharmony_ci "include", 9992a12a34Sopenharmony_ci ] 10092a12a34Sopenharmony_ci } 10192a12a34Sopenharmony_ci lite_component("appexecfwk_services_lite") { 10292a12a34Sopenharmony_ci features = [ ":bundlems" ] 10392a12a34Sopenharmony_ci } 10492a12a34Sopenharmony_ci} else { 10592a12a34Sopenharmony_ci shared_library("bundlems") { 10692a12a34Sopenharmony_ci configs -= [ "//build/lite/config:language_cpp" ] 10792a12a34Sopenharmony_ci configs += [ ":bundle_config" ] 10892a12a34Sopenharmony_ci 10992a12a34Sopenharmony_ci cflags = [ 11092a12a34Sopenharmony_ci "-Wall", 11192a12a34Sopenharmony_ci "-Wno-format", 11292a12a34Sopenharmony_ci "-Wno-format-extra-args", 11392a12a34Sopenharmony_ci ] 11492a12a34Sopenharmony_ci cflags_cc = cflags 11592a12a34Sopenharmony_ci 11692a12a34Sopenharmony_ci sources = [ 11792a12a34Sopenharmony_ci "src/bundle_daemon_client.cpp", 11892a12a34Sopenharmony_ci "src/bundle_extractor.cpp", 11992a12a34Sopenharmony_ci "src/bundle_info_creator.cpp", 12092a12a34Sopenharmony_ci "src/bundle_inner_feature.cpp", 12192a12a34Sopenharmony_ci "src/bundle_installer.cpp", 12292a12a34Sopenharmony_ci "src/bundle_manager_service.cpp", 12392a12a34Sopenharmony_ci "src/bundle_map.cpp", 12492a12a34Sopenharmony_ci "src/bundle_ms_feature.cpp", 12592a12a34Sopenharmony_ci "src/bundle_ms_host.cpp", 12692a12a34Sopenharmony_ci "src/bundle_parser.cpp", 12792a12a34Sopenharmony_ci "src/bundle_res_transform.cpp", 12892a12a34Sopenharmony_ci "src/bundle_util.cpp", 12992a12a34Sopenharmony_ci "src/extractor_util.cpp", 13092a12a34Sopenharmony_ci "src/hap_sign_verify.cpp", 13192a12a34Sopenharmony_ci "src/zip_file.cpp", 13292a12a34Sopenharmony_ci ] 13392a12a34Sopenharmony_ci include_dirs = [ 13492a12a34Sopenharmony_ci "${resource_management_lite_path}/interfaces/inner_api/include", 13592a12a34Sopenharmony_ci "${aafwk_lite_path}/services/abilitymgr_lite/include", 13692a12a34Sopenharmony_ci "${aafwk_lite_path}/interfaces/inner_api/abilitymgr_lite", 13792a12a34Sopenharmony_ci "${aafwk_lite_path}/interfaces/kits/ability_lite", 13892a12a34Sopenharmony_ci "${aafwk_lite_path}/interfaces/kits/want_lite", 13992a12a34Sopenharmony_ci "${aafwk_lite_path}/frameworks/want_lite/include", 14092a12a34Sopenharmony_ci "${appexecfwk_lite_path}/interfaces/inner_api/bundlemgr_lite", 14192a12a34Sopenharmony_ci "${appexecfwk_lite_path}/frameworks/bundle_lite/include", 14292a12a34Sopenharmony_ci "${appexecfwk_lite_path}/interfaces/kits/bundle_lite", 14392a12a34Sopenharmony_ci "${appexecfwk_lite_path}/utils/bundle_lite", 14492a12a34Sopenharmony_ci "${samgr_lite_path}/interfaces/kits/registry", 14592a12a34Sopenharmony_ci "${samgr_lite_path}/interfaces/kits/samgr", 14692a12a34Sopenharmony_ci "//third_party/cJSON", 14792a12a34Sopenharmony_ci "//third_party/zlib", 14892a12a34Sopenharmony_ci "//third_party/zlib/contrib/minizip", 14992a12a34Sopenharmony_ci "${permission_lite_path}/interfaces/kits", 15092a12a34Sopenharmony_ci "${permission_lite_path}/services/pms/include", 15192a12a34Sopenharmony_ci "${appverify_lite_path}/include", 15292a12a34Sopenharmony_ci "//third_party/bounds_checking_function/include", 15392a12a34Sopenharmony_ci "${utils_lite_path}/include", 15492a12a34Sopenharmony_ci "${utils_lite_path}/memory", 15592a12a34Sopenharmony_ci "include", 15692a12a34Sopenharmony_ci ] 15792a12a34Sopenharmony_ci 15892a12a34Sopenharmony_ci public_deps = [ 15992a12a34Sopenharmony_ci "${appexecfwk_lite_path}/frameworks/bundle_lite:bundle", 16092a12a34Sopenharmony_ci "${appverify_lite_path}:verify", 16192a12a34Sopenharmony_ci "${hilog_lite_path}/frameworks/featured:hilog_shared", 16292a12a34Sopenharmony_ci "${resource_management_lite_path}/frameworks/resmgr_lite:global_resmgr", 16392a12a34Sopenharmony_ci "${samgr_lite_path}/samgr:samgr", 16492a12a34Sopenharmony_ci "//build/lite/config/component/cJSON:cjson_shared", 16592a12a34Sopenharmony_ci "//build/lite/config/component/zlib:zlib_shared", 16692a12a34Sopenharmony_ci ] 16792a12a34Sopenharmony_ci } 16892a12a34Sopenharmony_ci lite_component("appexecfwk_services_lite") { 16992a12a34Sopenharmony_ci features = [ 17092a12a34Sopenharmony_ci ":bundlems", 17192a12a34Sopenharmony_ci "tools:bm", 17292a12a34Sopenharmony_ci "bundle_daemon:bundle_daemon", 17392a12a34Sopenharmony_ci ] 17492a12a34Sopenharmony_ci } 17592a12a34Sopenharmony_ci} 17692a12a34Sopenharmony_ci 17792a12a34Sopenharmony_cigenerate_notice_file("appexecfwk_services_lite_notice_file") { 17892a12a34Sopenharmony_ci module_name = "appexecfwk_services_lite" 17992a12a34Sopenharmony_ci module_source_dir_list = [ 18092a12a34Sopenharmony_ci "//third_party/cJSON", 18192a12a34Sopenharmony_ci "//third_party/zlib", 18292a12a34Sopenharmony_ci "//third_party/bounds_checking_function", 18392a12a34Sopenharmony_ci ] 18492a12a34Sopenharmony_ci} 185