1# Copyright (C) 2021-2023 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15import("//foundation/multimedia/media_library/media_library.gni") 16 17ohos_prebuilt_etc("userfilemanager_mimetypes.json") { 18 module_install_dir = "etc/userfilemanager" 19 20 source = "${MEDIALIB_UTILS_PATH}/configs/userfilemanager_mimetypes.json" 21 22 subsystem_name = "multimedia" 23 part_name = "media_library" 24} 25 26config("media_data_extension_public_config") { 27 include_fileext = [ "${MEDIALIB_SERVICES_PATH}/media_file_extension/include" ] 28 include_fuse = [ "${MEDIALIB_SERVICES_PATH}/media_fuse/include" ] 29 include_distributed = [ 30 "${MEDIALIB_SERVICES_PATH}/media_distributed/include/database_manage", 31 "${MEDIALIB_SERVICES_PATH}/media_distributed/include/device_manage", 32 "${MEDIALIB_SERVICES_PATH}/media_distributed/include/devices_info_interact", 33 ] 34 include_scanner = [ 35 "${MEDIALIB_SERVICES_PATH}/media_scanner/include/callback", 36 "${MEDIALIB_SERVICES_PATH}/media_scanner/include/scanner", 37 ] 38 39 include_multistages_capture = [ 40 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/include", 41 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/include/deferred_processing", 42 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/include/dfx", 43 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/include/utils", 44 ] 45 46 include_dfx = [ "${MEDIALIB_SERVICES_PATH}/media_dfx/include" ] 47 48 include_cloud_asset_download = [ 49 "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/include/cloud_sync_utils", 50 "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/include/media_cloud_asset_download", 51 ] 52 53 include_cloud_dirty_handle = [ 54 "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/include/cloud_dirty_handle", 55 ] 56 57 include_albums_refresh = 58 [ "${MEDIALIB_SERVICES_PATH}/media_albums_refresh/include" ] 59 60 include_dirs = [ 61 "${MEDIALIB_INTERFACES_PATH}/innerkits/native/include", 62 "${MEDIALIB_INTERFACES_PATH}/inner_api/media_library_helper/include", 63 "${MEDIALIB_INNERKITS_PATH}/media_library_helper/include", 64 "${MEDIALIB_UTILS_PATH}/include", 65 "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include/config", 66 "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include/event_handler", 67 "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include/operation", 68 "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include/photo_album_operation", 69 "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include/po", 70 "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include", 71 "${MEDIALIB_SERVICES_PATH}/media_analysis_extension/include", 72 "${MEDIALIB_SERVICES_PATH}/media_async_worker/include", 73 "${MEDIALIB_SERVICES_PATH}/media_thumbnail/include", 74 "${MEDIALIB_SERVICES_PATH}/media_cloud_sync_notify_handle/include", 75 "${MEDIALIB_SERVICES_PATH}/media_permission/include", 76 "${MEDIALIB_SERVICES_PATH}/media_power_efficiency/include", 77 78 "../../../../../bundlemanager/bundle_framework/interfaces/kits/js/common", 79 ] 80 include_dirs += include_fileext 81 include_dirs += include_fuse 82 include_dirs += include_distributed 83 include_dirs += include_scanner 84 include_dirs += include_multistages_capture 85 include_dirs += include_dfx 86 include_dirs += include_cloud_asset_download 87 include_dirs += include_cloud_dirty_handle 88 include_dirs += include_albums_refresh 89 90 if (media_library_feature_cloud_enhancement) { 91 include_cloud_enhancement = [ 92 "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/include", 93 "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/include/enhancement_service", 94 "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/include/utils", 95 "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/include/dfx", 96 ] 97 include_dirs += include_cloud_enhancement 98 } 99 100 if (defined(global_parts_info) && 101 defined( 102 global_parts_info.device_cloud_gateway_media_cloud_enhance_service) && 103 media_library_feature_cloud_enhancement) { 104 include_dirs += [ "${MEDIALIB_CLOUD_ENHANCEMENT_SERVICE_PATH}/interfaces/inner_api/include/c_api" ] 105 } 106 107 ldflags = [ "-Wl,--gc-sections" ] 108 109 cflags = [ 110 "-fvisibility=hidden", 111 "-fdata-sections", 112 "-ffunction-sections", 113 "-Os", 114 ] 115 116 cflags_cc = [ 117 "-fvisibility-inlines-hidden", 118 "-Os", 119 ] 120 121 if (target_cpu == "arm") { 122 cflags += [ "-DBINDER_IPC_32BIT" ] 123 } 124} 125 126ohos_hap("medialibrary_ext_hap") { 127 hap_profile = "MediaLibraryExt/entry/src/main/module.json" 128 deps = [ 129 ":MediaLibStage_js_assets", 130 ":MediaLibStage_resources", 131 ] 132 shared_libraries = [ "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension:medialibrary_data_extension" ] 133 certificate_profile = "${MEDIALIB_INNERKITS_PATH}/signature/medialib.p7b" 134 hap_name = "Media_Library_Ext" 135 part_name = "media_library" 136 subsystem_name = "multimedia" 137 module_install_dir = "app/com.ohos.medialibrary.MediaLibraryData" 138 publicity_file = "../../../publicity.xml" 139 if (defined(sign_hap_py_path)) { 140 certificate_profile = 141 "${MEDIALIB_INNERKITS_PATH}/signature/medialib_new.p7b" 142 key_alias = "medialibrarydata" 143 private_key_path = "medialibrarydata" 144 compatible_version = "9" 145 } 146} 147 148ohos_js_assets("MediaLibStage_js_assets") { 149 hap_profile = "MediaLibraryExt/entry/src/main/module.json" 150 ets2abc = true 151 source_dir = "MediaLibraryExt/entry/src/main/ets" 152} 153 154ohos_app_scope("MediaLibStage_app_profile") { 155 app_profile = "MediaLibraryExt/AppScope/app.json" 156 sources = [ "MediaLibraryExt/AppScope/resources" ] 157} 158 159ohos_resources("MediaLibStage_resources") { 160 sources = [ "MediaLibraryExt/entry/src/main/resources" ] 161 deps = [ ":MediaLibStage_app_profile" ] 162 hap_profile = "MediaLibraryExt/entry/src/main/module.json" 163} 164 165ohos_shared_library("medialibrary_data_extension") { 166 install_enable = true 167 168 media_scan_source = [ 169 "${MEDIALIB_SERVICES_PATH}/media_scanner/src/scanner/media_scan_executor.cpp", 170 "${MEDIALIB_SERVICES_PATH}/media_scanner/src/scanner/media_scanner.cpp", 171 "${MEDIALIB_SERVICES_PATH}/media_scanner/src/scanner/media_scanner_manager.cpp", 172 "${MEDIALIB_SERVICES_PATH}/media_scanner/src/scanner/media_scanner_db.cpp", 173 "${MEDIALIB_SERVICES_PATH}/media_scanner/src/scanner/metadata.cpp", 174 "${MEDIALIB_SERVICES_PATH}/media_scanner/src/scanner/metadata_extractor.cpp", 175 "${MEDIALIB_SERVICES_PATH}/media_scanner/src/scanner/scanner_utils.cpp", 176 ] 177 178 media_fuse_source = [ 179 "${MEDIALIB_SERVICES_PATH}/media_fuse/src/media_fuse_daemon.cpp", 180 "${MEDIALIB_SERVICES_PATH}/media_fuse/src/media_fuse_manager.cpp", 181 ] 182 183 media_thumbnail_source = [ 184 "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/cloud_thumbnail_observer.cpp", 185 "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/ithumbnail_helper.cpp", 186 "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_aging_helper.cpp", 187 "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_generate_helper.cpp", 188 "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_generate_worker.cpp", 189 "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_generate_worker_manager.cpp", 190 "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_image_framework_utils.cpp", 191 "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_service.cpp", 192 "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_source_loading.cpp", 193 "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_uri_utils.cpp", 194 "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_utils.cpp", 195 ] 196 197 media_cloud_sync_source = [ 198 "${MEDIALIB_CLOUD_SYNC_PATH}/src/cloud_sync_helper.cpp", 199 "${MEDIALIB_CLOUD_SYNC_PATH}/src/cloud_sync_switch_observer.cpp", 200 ] 201 202 media_rdb_utils_source = [ 203 "src/medialibrary_rdb_utils.cpp", 204 "src/medialibrary_rdb_transaction.cpp", 205 ] 206 207 media_multistages_capture_source = [ 208 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/deferred_processing/deferred_photo_proc_adapter.cpp", 209 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/deferred_processing/deferred_video_proc_adapter.cpp", 210 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/dfx/multistages_capture_dfx_first_visit.cpp", 211 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/dfx/multistages_capture_dfx_request_policy.cpp", 212 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/dfx/multistages_capture_dfx_result.cpp", 213 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/dfx/multistages_capture_dfx_total_time.cpp", 214 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/dfx/multistages_capture_dfx_trigger_ratio.cpp", 215 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/utils/database_adapter.cpp", 216 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/utils/exif_utils.cpp", 217 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/utils/file_utils.cpp", 218 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/utils/multistages_capture_request_task_manager.cpp", 219 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/multistages_capture_manager.cpp", 220 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/multistages_photo_capture_manager.cpp", 221 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/multistages_video_capture_manager.cpp", 222 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/multistages_moving_photo_capture_manager.cpp", 223 ] 224 225 media_dfx_source = [ 226 "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_analyzer.cpp", 227 "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_collector.cpp", 228 "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_manager.cpp", 229 "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_reporter.cpp", 230 "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_timer.cpp", 231 "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_transaction.cpp", 232 "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_worker.cpp", 233 "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_utils.cpp", 234 "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_database_utils.cpp", 235 ] 236 237 media_cloud_sync_notify_handle_source = [ 238 "${MEDIALIB_SERVICES_PATH}/media_cloud_sync_notify_handle/src/analysis_handler.cpp", 239 "${MEDIALIB_SERVICES_PATH}/media_cloud_sync_notify_handle/src/cloud_album_handler.cpp", 240 "${MEDIALIB_SERVICES_PATH}/media_cloud_sync_notify_handle/src/uri_convert_handler.cpp", 241 "${MEDIALIB_SERVICES_PATH}/media_cloud_sync_notify_handle/src/notify_handler.cpp", 242 "${MEDIALIB_SERVICES_PATH}/media_cloud_sync_notify_handle/src/cloud_sync_observer.cpp", 243 "${MEDIALIB_SERVICES_PATH}/media_cloud_sync_notify_handle/src/cloud_sync_notify_handler.cpp", 244 "${MEDIALIB_SERVICES_PATH}/media_cloud_sync_notify_handle/src/notify_responsibility_chain_factory.cpp", 245 ] 246 247 media_permission_source = [ 248 "${MEDIALIB_SERVICES_PATH}/media_permission/src/abs_permission_handler.cpp", 249 "${MEDIALIB_SERVICES_PATH}/media_permission/src/db_permission_handler.cpp", 250 "${MEDIALIB_SERVICES_PATH}/media_permission/src/grant_permission_handler.cpp", 251 "${MEDIALIB_SERVICES_PATH}/media_permission/src/media_tool_permission_handler.cpp", 252 "${MEDIALIB_SERVICES_PATH}/media_permission/src/pemission_common.cpp", 253 "${MEDIALIB_SERVICES_PATH}/media_permission/src/read_write_permission_handler.cpp", 254 "${MEDIALIB_SERVICES_PATH}/media_permission/src/system_api_check_handler.cpp", 255 ] 256 257 media_power_efficiency_source = [ 258 "${MEDIALIB_SERVICES_PATH}/media_power_efficiency/src/power_efficiency_manager.cpp", 259 "${MEDIALIB_SERVICES_PATH}/media_power_efficiency/src/medialibrary_standby_service_subscriber.cpp", 260 ] 261 262 media_cloud_asset_download_source = [ 263 "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/src/cloud_sync_utils/cloud_sync_utils.cpp", 264 "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/src/media_cloud_asset_download/cloud_media_asset_callback.cpp", 265 "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/src/media_cloud_asset_download/cloud_media_asset_download_operation.cpp", 266 "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/src/media_cloud_asset_download/cloud_media_asset_manager.cpp", 267 "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/src/media_cloud_asset_download/cloud_media_asset_observer.cpp", 268 ] 269 270 media_cloud_dirty_handle_source = [ "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/src/cloud_dirty_handle/cloud_upload_checker.cpp" ] 271 272 media_albums_refresh_source = [ 273 "${MEDIALIB_SERVICES_PATH}/media_albums_refresh/src/albums_refresh_manager.cpp", 274 "${MEDIALIB_SERVICES_PATH}/media_albums_refresh/src/albums_refresh_notify.cpp", 275 "${MEDIALIB_SERVICES_PATH}/media_albums_refresh/src/albums_refresh_worker.cpp", 276 ] 277 278 sources = [ 279 "${MEDIALIB_SERVICES_PATH}/media_analysis_extension/src/media_analysis_callback_stub.cpp", 280 "${MEDIALIB_SERVICES_PATH}/media_analysis_extension/src/media_analysis_helper.cpp", 281 "${MEDIALIB_SERVICES_PATH}/media_analysis_extension/src/media_analysis_proxy.cpp", 282 "${MEDIALIB_UTILS_PATH}/src/common_event_utils.cpp", 283 "${MEDIALIB_UTILS_PATH}/src/cpu_utils.cpp", 284 "${MEDIALIB_UTILS_PATH}/src/media_privacy_manager.cpp", 285 "src/background_cloud_file_download_callback.cpp", 286 "src/background_cloud_file_processor.cpp", 287 "src/event_handler/album_plugin_table_event_handler.cpp", 288 "src/event_handler/tab_facard_photos_table_event_handler.cpp", 289 "src/event_handler/tab_old_photos_table_event_handler.cpp", 290 "src/foreground_analysis_meta.cpp", 291 "src/hi_audit.cpp", 292 "src/media_datashare_ext_ability.cpp", 293 "src/media_datashare_stub_impl.cpp", 294 "src/medialibrary_album_fusion_utils.cpp", 295 "src/medialibrary_album_operations.cpp", 296 "src/medialibrary_album_refresh.cpp", 297 "src/medialibrary_all_album_refresh_processor.cpp", 298 "src/medialibrary_analysis_album_operations.cpp", 299 "src/medialibrary_app_uri_permission_operations.cpp", 300 "src/medialibrary_app_uri_sensitive_operations.cpp", 301 "src/medialibrary_appstate_observer.cpp", 302 "src/medialibrary_asset_operations.cpp", 303 "src/medialibrary_astc_stat.cpp", 304 "src/medialibrary_audio_operations.cpp", 305 "src/medialibrary_bundle_manager.cpp", 306 "src/medialibrary_command.cpp", 307 "src/medialibrary_data_manager.cpp", 308 "src/medialibrary_data_manager_utils.cpp", 309 "src/medialibrary_dir_operations.cpp", 310 "src/medialibrary_facard_operations.cpp", 311 "src/medialibrary_file_operations.cpp", 312 "src/medialibrary_formmap_operations.cpp", 313 "src/medialibrary_inotify.cpp", 314 "src/medialibrary_location_operations.cpp", 315 "src/medialibrary_meta_recovery.cpp", 316 "src/medialibrary_notify.cpp", 317 "src/medialibrary_object_utils.cpp", 318 "src/medialibrary_photo_operations.cpp", 319 "src/medialibrary_rdbstore.cpp", 320 "src/medialibrary_restore.cpp", 321 "src/medialibrary_search_operations.cpp", 322 "src/medialibrary_smartalbum_map_operations.cpp", 323 "src/medialibrary_smartalbum_operations.cpp", 324 "src/medialibrary_story_operations.cpp", 325 "src/medialibrary_subscriber.cpp", 326 "src/medialibrary_tab_old_photos_operations.cpp", 327 "src/medialibrary_uripermission_operations.cpp", 328 "src/medialibrary_urisensitive_operations.cpp", 329 "src/medialibrary_vision_operations.cpp", 330 "src/moving_photo_processor.cpp", 331 "src/operation/display_name_info.cpp", 332 "src/operation/duplicate_photo_operation.cpp", 333 "src/operation/medialibrary_custom_restore_notify.cpp", 334 "src/operation/photo_album_copy_meta_data_operation.cpp", 335 "src/operation/photo_asset_copy_operation.cpp", 336 "src/operation/photo_burst_operation.cpp", 337 "src/operation/photo_custom_restore_operation.cpp", 338 "src/operation/photo_day_month_year_operation.cpp", 339 "src/operation/photo_displayname_operation.cpp", 340 "src/operation/photo_file_operation.cpp", 341 "src/operation/photo_mimetype_operation.cpp", 342 "src/operation/photo_other_album_trans_operation.cpp", 343 "src/operation/photo_owner_album_id_operation.cpp", 344 "src/operation/photo_source_path_operation.cpp", 345 "src/photo_album_operation/photo_album_lpath_operation.cpp", 346 "src/photo_album_operation/photo_album_merge_operation.cpp", 347 "src/photo_album_operation/photo_album_update_date_modified_operation.cpp", 348 "src/photo_map_operations.cpp", 349 "src/picture_data_operations.cpp", 350 "src/picture_handle_service.cpp", 351 "src/picture_manager_thread.cpp", 352 "src/trash_async_worker.cpp", 353 "src/video_composition_callback_imp.cpp", 354 "src/zip_util.cpp", 355 ] 356 sources += media_scan_source 357 sources += media_fuse_source 358 sources += media_thumbnail_source 359 sources += media_cloud_sync_source 360 sources += media_rdb_utils_source 361 sources += media_multistages_capture_source 362 sources += media_dfx_source 363 sources += media_cloud_sync_notify_handle_source 364 sources += media_permission_source 365 sources += media_power_efficiency_source 366 sources += media_cloud_asset_download_source 367 sources += media_cloud_dirty_handle_source 368 sources += media_albums_refresh_source 369 370 if (media_library_feature_cloud_enhancement) { 371 media_cloud_enhancement_source = [ 372 "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/enhancement_service/enhancement_service_adapter.cpp", 373 "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/utils/enhancement_database_operations.cpp", 374 "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/utils/dynamic_loader.cpp", 375 "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/utils/enhancement_thread_manager.cpp", 376 "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/utils/settings_monitor.cpp", 377 "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/utils/cloud_enhancement_checker.cpp", 378 "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/enhancement_task_manager.cpp", 379 "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/enhancement_manager.cpp", 380 "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/dfx/cloud_enhancement_dfx_get_count.cpp", 381 ] 382 sources += media_cloud_enhancement_source 383 } 384 385 public_configs = [ ":media_data_extension_public_config" ] 386 387 deps = [ 388 "${MEDIALIB_INNERKITS_PATH}/media_library_helper:media_library", 389 "${MEDIALIB_SERVICES_PATH}/media_async_worker:medialibrary_async_worker", 390 "${MEDIALIB_UTILS_PATH}:medialibrary_common_utils", 391 "${MEDIALIB_UTILS_PATH}:permission_utils", 392 "${MEDIALIB_UTILS_PATH}:post_event_utils", 393 ] 394 395 include_dirs = [ 396 "${MEDIALIB_CLOUD_SYNC_PATH}/include", 397 "${MEDIALIB_SERVICES_PATH}/media_async_worker/include", 398 ] 399 400 if (media_library_feature_mtp) { 401 include_dirs += [ "${MEDIALIB_SERVICES_PATH}/media_mtp/include" ] 402 deps += [ "${MEDIALIB_SERVICES_PATH}/media_mtp:media_mtp" ] 403 } 404 405 external_deps = [ 406 "ability_base:base", 407 "ability_base:want", 408 "ability_base:zuri", 409 "ability_runtime:ability_manager", 410 "ability_runtime:app_context", 411 "ability_runtime:app_manager", 412 "ability_runtime:dataobs_manager", 413 "ability_runtime:extensionkit_native", 414 "ability_runtime:runtime", 415 "ability_runtime:uri_permission_mgr", 416 "access_token:libaccesstoken_sdk", 417 "access_token:libprivacy_sdk", 418 "app_file_service:sandbox_helper_native", 419 "background_task_mgr:bgtaskmgr_innerkits", 420 "bundle_framework:appexecfwk_core", 421 "c_utils:utils", 422 "common_event_service:cesfwk_innerkits", 423 "data_share:datashare_common", 424 "data_share:datashare_consumer", 425 "data_share:datashare_provider", 426 "dfs_service:cloudsync_kit_inner", 427 "drivers_interface_display:display_commontype_idl_headers", 428 "eventhandler:libeventhandler", 429 "ffrt:libffrt", 430 "file_api:filemgmt_libn", 431 "hilog:libhilog", 432 "hisysevent:libhisysevent", 433 "hitrace:hitrace_meter", 434 "image_framework:image_native", 435 "init:libbeget_proxy", 436 "init:libbegetutil", 437 "ipc:ipc_core", 438 "ipc:ipc_single", 439 "kv_store:distributeddata_inner", 440 "libexif:libexif", 441 "libfuse:libfuse", 442 "napi:ace_napi", 443 "os_account:os_account_innerkits", 444 "player_framework:media_client", 445 "player_framework:video_editor", 446 "preferences:native_preferences", 447 "relational_store:native_rdb", 448 "relational_store:rdb_data_share_adapter", 449 "safwk:system_ability_fwk", 450 "samgr:samgr_proxy", 451 "storage_service:storage_manager_sa_proxy", 452 "window_manager:libdm", 453 "zlib:shared_libz", 454 ] 455 456 public_external_deps = [ "e2fsprogs:libext2_uuid" ] 457 458 defines = [] 459 if (defined(global_parts_info) && 460 defined(global_parts_info.filemanagement_dfs_service)) { 461 defines += [ "CLOUD_SYNC_MANAGER" ] 462 external_deps += [ "dfs_service:cloudsync_kit_inner" ] 463 } 464 defines += [ "MEDIALIBRARY_COMPATIBILITY=1" ] 465 if (media_library_feature_mtp) { 466 defines += [ "MEDIALIBRARY_MTP_ENABLE=1" ] 467 } 468 defines += [ "META_RECOVERY_SUPPORT=1" ] 469 470 if (!defined(global_parts_info) || 471 defined(global_parts_info.security_security_component_manager)) { 472 defines += [ "MEDIALIBRARY_SECURITY_OPEN=1" ] 473 external_deps += [ "security_component_manager:libsecurity_component_sdk" ] 474 } 475 476 if (defined(global_parts_info) && defined( 477 global_parts_info.device_cloud_gateway_media_cloud_enhance_service) && 478 media_library_feature_cloud_enhancement && !factory) { 479 defines += [ "ABILITY_CLOUD_ENHANCEMENT_SUPPORT" ] 480 sources += [ "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/enhancement_service/enhancement_service_callback.cpp" ] 481 } 482 483 if (defined(global_parts_info) && 484 defined(global_parts_info.multimedia_camera_framework) && 485 global_parts_info.multimedia_camera_framework) { 486 defines += [ "ABILITY_CAMERA_SUPPORT" ] 487 external_deps += [ "camera_framework:camera_framework" ] 488 sources += [ 489 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/deferred_processing/multistages_capture_deferred_photo_proc_session_callback.cpp", 490 "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/deferred_processing/multistages_capture_deferred_video_proc_session_callback.cpp", 491 ] 492 } 493 494 if (media_library_feature_cloud_enhancement) { 495 defines += [ "MEDIALIBRARY_FEATURE_CLOUD_ENHANCEMENT" ] 496 } 497 498 if (!media_library_link_opt) { 499 sanitize = { 500 cfi = true 501 cfi_cross_dso = true 502 debug = false 503 integer_overflow = true 504 ubsan = true 505 boundary_sanitize = true 506 stack_protector_ret = true 507 } 508 } 509 510 cflags_cc = [ 511 "-fvisibility-inlines-hidden", 512 "-Os", 513 ] 514 515 if (defined(global_parts_info) && 516 defined(global_parts_info.powermgr_battery_manager)) { 517 external_deps += [ "battery_manager:batterysrv_client" ] 518 cflags_cc += [ "-DHAS_BATTERY_MANAGER_PART" ] 519 } 520 521 if (defined(global_parts_info) && 522 defined(global_parts_info.powermgr_power_manager)) { 523 external_deps += [ "power_manager:powermgr_client" ] 524 cflags_cc += [ "-DHAS_POWER_MANAGER_PART" ] 525 } 526 527 if (defined(global_parts_info) && 528 defined(global_parts_info.powermgr_thermal_manager)) { 529 external_deps += [ "thermal_manager:thermalsrv_client" ] 530 cflags_cc += [ "-DHAS_THERMAL_MANAGER_PART" ] 531 } 532 533 if (defined(global_parts_info) && 534 defined(global_parts_info.communication_wifi)) { 535 external_deps += [ "wifi:wifi_sdk" ] 536 cflags_cc += [ "-DHAS_WIFI_MANAGER_PART" ] 537 } 538 539 if (resourceschedule_device_standby) { 540 external_deps += [ "device_standby:standby_innerkits" ] 541 defines += [ "DEVICE_STANDBY_ENABLE" ] 542 } 543 544 if (defined(global_parts_info) && 545 defined(global_parts_info.resourceschedule_efficiency_manager)) { 546 defines += [ "EFFICIENCY_MANAGER_ENABLE" ] 547 } 548 549 if (is_emulator) { 550 defines += [ "MEDIALIBRARY_EMULATOR" ] 551 } 552 553 subsystem_name = "multimedia" 554 part_name = "media_library" 555} 556