176fd607bSopenharmony_ci# Copyright (C) 2022-2023 Huawei Device Co., Ltd. 276fd607bSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 376fd607bSopenharmony_ci# you may not use this file except in compliance with the License. 476fd607bSopenharmony_ci# You may obtain a copy of the License at 576fd607bSopenharmony_ci# 676fd607bSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 776fd607bSopenharmony_ci# 876fd607bSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 976fd607bSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1076fd607bSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1176fd607bSopenharmony_ci# See the License for the specific language governing permissions and 1276fd607bSopenharmony_ci# limitations under the License. 1376fd607bSopenharmony_ci 1476fd607bSopenharmony_ciimport("//build/ohos.gni") 1576fd607bSopenharmony_ciimport("//foundation/ability/ability_runtime/ability_runtime.gni") 1676fd607bSopenharmony_ciimport("//foundation/multimedia/media_library/media_library.gni") 1776fd607bSopenharmony_ci 1876fd607bSopenharmony_ciif (defined(medialibrary_mtp_enable)) { 1976fd607bSopenharmony_ci group("mtp") { 2076fd607bSopenharmony_ci if (defined(global_parts_info.hdf_drivers_interface_usb)) { 2176fd607bSopenharmony_ci deps = [ 2276fd607bSopenharmony_ci ":media_mtp", 2376fd607bSopenharmony_ci ":mtpservice", 2476fd607bSopenharmony_ci ] 2576fd607bSopenharmony_ci } 2676fd607bSopenharmony_ci } 2776fd607bSopenharmony_ci 2876fd607bSopenharmony_ci ohos_shared_library("media_mtp") { 2976fd607bSopenharmony_ci install_enable = true 3076fd607bSopenharmony_ci 3176fd607bSopenharmony_ci sources = [ 3276fd607bSopenharmony_ci "src/header_data.cpp", 3376fd607bSopenharmony_ci "src/mtp_data_utils.cpp", 3476fd607bSopenharmony_ci "src/mtp_driver.cpp", 3576fd607bSopenharmony_ci "src/mtp_error_utils.cpp", 3676fd607bSopenharmony_ci "src/mtp_event.cpp", 3776fd607bSopenharmony_ci "src/mtp_file_observer.cpp", 3876fd607bSopenharmony_ci "src/mtp_medialibrary_manager.cpp", 3976fd607bSopenharmony_ci "src/mtp_monitor.cpp", 4076fd607bSopenharmony_ci "src/mtp_operation.cpp", 4176fd607bSopenharmony_ci "src/mtp_operation_utils.cpp", 4276fd607bSopenharmony_ci "src/mtp_packet.cpp", 4376fd607bSopenharmony_ci "src/mtp_packet_tools.cpp", 4476fd607bSopenharmony_ci "src/mtp_service.cpp", 4576fd607bSopenharmony_ci "src/mtp_storage_manager.cpp", 4676fd607bSopenharmony_ci "src/object_info.cpp", 4776fd607bSopenharmony_ci "src/packet_payload_factory.cpp", 4876fd607bSopenharmony_ci "src/payload_data.cpp", 4976fd607bSopenharmony_ci "src/payload_data/close_session_data.cpp", 5076fd607bSopenharmony_ci "src/payload_data/copy_object_data.cpp", 5176fd607bSopenharmony_ci "src/payload_data/delete_object_data.cpp", 5276fd607bSopenharmony_ci "src/payload_data/get_device_info_data.cpp", 5376fd607bSopenharmony_ci "src/payload_data/get_device_prop_desc_data.cpp", 5476fd607bSopenharmony_ci "src/payload_data/get_device_prop_value_data.cpp", 5576fd607bSopenharmony_ci "src/payload_data/get_num_objects_data.cpp", 5676fd607bSopenharmony_ci "src/payload_data/get_object_data.cpp", 5776fd607bSopenharmony_ci "src/payload_data/get_object_handles_data.cpp", 5876fd607bSopenharmony_ci "src/payload_data/get_object_info_data.cpp", 5976fd607bSopenharmony_ci "src/payload_data/get_object_prop_desc_data.cpp", 6076fd607bSopenharmony_ci "src/payload_data/get_object_prop_list_data.cpp", 6176fd607bSopenharmony_ci "src/payload_data/get_object_prop_value_data.cpp", 6276fd607bSopenharmony_ci "src/payload_data/get_object_props_supported_data.cpp", 6376fd607bSopenharmony_ci "src/payload_data/get_object_references_data.cpp", 6476fd607bSopenharmony_ci "src/payload_data/get_partial_object_data.cpp", 6576fd607bSopenharmony_ci "src/payload_data/get_storage_ids_data.cpp", 6676fd607bSopenharmony_ci "src/payload_data/get_storage_info_data.cpp", 6776fd607bSopenharmony_ci "src/payload_data/get_thumb_data.cpp", 6876fd607bSopenharmony_ci "src/payload_data/move_object_data.cpp", 6976fd607bSopenharmony_ci "src/payload_data/object_event_data.cpp", 7076fd607bSopenharmony_ci "src/payload_data/open_session_data.cpp", 7176fd607bSopenharmony_ci "src/payload_data/resp_common_data.cpp", 7276fd607bSopenharmony_ci "src/payload_data/send_object_data.cpp", 7376fd607bSopenharmony_ci "src/payload_data/send_object_info_data.cpp", 7476fd607bSopenharmony_ci "src/payload_data/set_device_prop_value_data.cpp", 7576fd607bSopenharmony_ci "src/payload_data/set_object_prop_value_data.cpp", 7676fd607bSopenharmony_ci "src/payload_data/set_object_references_data.cpp", 7776fd607bSopenharmony_ci "src/property.cpp", 7876fd607bSopenharmony_ci "src/storage.cpp", 7976fd607bSopenharmony_ci ] 8076fd607bSopenharmony_ci 8176fd607bSopenharmony_ci cflags = [ "-fPIC" ] 8276fd607bSopenharmony_ci cflags += [ "-Wall" ] 8376fd607bSopenharmony_ci 8476fd607bSopenharmony_ci if (target_cpu == "arm") { 8576fd607bSopenharmony_ci cflags += [ "-DBINDER_IPC_32BIT" ] 8676fd607bSopenharmony_ci } 8776fd607bSopenharmony_ci 8876fd607bSopenharmony_ci cflags_cc = cflags 8976fd607bSopenharmony_ci include_dirs = [ 9076fd607bSopenharmony_ci "${MEDIALIB_MTP_PATH}/include", 9176fd607bSopenharmony_ci "${MEDIALIB_INTERFACES_PATH}/inner_api/media_library_helper/include", 9276fd607bSopenharmony_ci "${MEDIALIB_INNERKITS_PATH}/media_library_helper/include", 9376fd607bSopenharmony_ci "${MEDIALIB_SERVICES_PATH}/media_library/include", 9476fd607bSopenharmony_ci "${MEDIALIB_UTILS_PATH}/include", 9576fd607bSopenharmony_ci "${MEDIALIB_INNERKITS_PATH}/media_library_helper/include", 9676fd607bSopenharmony_ci "${MEDIALIB_INTERFACES_PATH}/inner_api/media_library_helper/include", 9776fd607bSopenharmony_ci ] 9876fd607bSopenharmony_ci 9976fd607bSopenharmony_ci deps = [ 10076fd607bSopenharmony_ci "${MEDIALIB_INNERKITS_PATH}/media_library_helper:media_library", 10176fd607bSopenharmony_ci "//third_party/openssl:libcrypto_shared", 10276fd607bSopenharmony_ci ] 10376fd607bSopenharmony_ci 10476fd607bSopenharmony_ci external_deps = [ 10576fd607bSopenharmony_ci "ability_base:base", 10676fd607bSopenharmony_ci "ability_base:want", 10776fd607bSopenharmony_ci "ability_base:zuri", 10876fd607bSopenharmony_ci "ability_runtime:abilitykit_native", 10976fd607bSopenharmony_ci "ability_runtime:app_context", 11076fd607bSopenharmony_ci "ability_runtime:dataobs_manager", 11176fd607bSopenharmony_ci "access_token:libaccesstoken_sdk", 11276fd607bSopenharmony_ci "access_token:libnativetoken_shared", 11376fd607bSopenharmony_ci "access_token:libtokensetproc_shared", 11476fd607bSopenharmony_ci "c_utils:utils", 11576fd607bSopenharmony_ci "common_event_service:cesfwk_innerkits", 11676fd607bSopenharmony_ci "data_share:datashare_common", 11776fd607bSopenharmony_ci "data_share:datashare_consumer", 11876fd607bSopenharmony_ci "drivers_interface_usb:libusb_proxy_1.0", 11976fd607bSopenharmony_ci "drivers_interface_usb:libusbfn_mtp_proxy_1.0", 12076fd607bSopenharmony_ci "drivers_interface_usb:usbfn_mtp_idl_headers", 12176fd607bSopenharmony_ci "hilog:libhilog", 12276fd607bSopenharmony_ci "hitrace:hitrace_meter", 12376fd607bSopenharmony_ci "init:libbegetutil", 12476fd607bSopenharmony_ci "ipc:ipc_core", 12576fd607bSopenharmony_ci "player_framework:media_client", 12676fd607bSopenharmony_ci "relational_store:native_rdb", 12776fd607bSopenharmony_ci "safwk:system_ability_fwk", 12876fd607bSopenharmony_ci "samgr:samgr_proxy", 12976fd607bSopenharmony_ci "storage_service:storage_manager_sa_proxy", 13076fd607bSopenharmony_ci ] 13176fd607bSopenharmony_ci 13276fd607bSopenharmony_ci sanitize = { 13376fd607bSopenharmony_ci cfi = true 13476fd607bSopenharmony_ci cfi_cross_dso = true 13576fd607bSopenharmony_ci debug = false 13676fd607bSopenharmony_ci } 13776fd607bSopenharmony_ci 13876fd607bSopenharmony_ci if (defined(global_parts_info.powermgr_battery_manager)) { 13976fd607bSopenharmony_ci external_deps += [ "battery_manager:batterysrv_client" ] 14076fd607bSopenharmony_ci cflags_cc += [ "-DHAS_BATTERY_MANAGER_PART" ] 14176fd607bSopenharmony_ci } 14276fd607bSopenharmony_ci 14376fd607bSopenharmony_ci if (ability_runtime_graphics) { 14476fd607bSopenharmony_ci external_deps += [ "image_framework:image_native" ] 14576fd607bSopenharmony_ci } 14676fd607bSopenharmony_ci 14776fd607bSopenharmony_ci innerapi_tags = [ "platformsdk" ] 14876fd607bSopenharmony_ci part_name = "media_library" 14976fd607bSopenharmony_ci subsystem_name = "multimedia" 15076fd607bSopenharmony_ci } 15176fd607bSopenharmony_ci 15276fd607bSopenharmony_ci ohos_shared_library("mtpservice") { 15376fd607bSopenharmony_ci include_dirs = [ 15476fd607bSopenharmony_ci "${MEDIALIB_INTERFACES_PATH}/kits/js/include", 15576fd607bSopenharmony_ci "${MEDIALIB_MTP_PATH}/include", 15676fd607bSopenharmony_ci ] 15776fd607bSopenharmony_ci ldflags = [ "-Wl" ] 15876fd607bSopenharmony_ci 15976fd607bSopenharmony_ci sources = [ "${MEDIALIB_JS_PATH}/src/mtp_service_napi.cpp" ] 16076fd607bSopenharmony_ci 16176fd607bSopenharmony_ci deps = [ "${MEDIALIB_MTP_PATH}:media_mtp" ] 16276fd607bSopenharmony_ci 16376fd607bSopenharmony_ci external_deps = [ 16476fd607bSopenharmony_ci "ability_base:want", 16576fd607bSopenharmony_ci "ability_runtime:ability_manager", 16676fd607bSopenharmony_ci "ability_runtime:napi_base_context", 16776fd607bSopenharmony_ci "drivers_interface_usb:usbfn_mtp_idl_headers", 16876fd607bSopenharmony_ci "hilog:libhilog", 16976fd607bSopenharmony_ci "ipc:ipc_core", 17076fd607bSopenharmony_ci "ipc:rpc", 17176fd607bSopenharmony_ci "napi:ace_napi", 17276fd607bSopenharmony_ci ] 17376fd607bSopenharmony_ci 17476fd607bSopenharmony_ci sanitize = { 17576fd607bSopenharmony_ci cfi = true 17676fd607bSopenharmony_ci cfi_cross_dso = true 17776fd607bSopenharmony_ci debug = false 17876fd607bSopenharmony_ci } 17976fd607bSopenharmony_ci 18076fd607bSopenharmony_ci relative_install_dir = "module/multimedia" 18176fd607bSopenharmony_ci subsystem_name = "multimedia" 18276fd607bSopenharmony_ci part_name = "media_library" 18376fd607bSopenharmony_ci } 18476fd607bSopenharmony_ci} 185