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_distributed = [
29    "${MEDIALIB_SERVICES_PATH}/media_distributed/include/database_manage",
30    "${MEDIALIB_SERVICES_PATH}/media_distributed/include/device_manage",
31    "${MEDIALIB_SERVICES_PATH}/media_distributed/include/devices_info_interact",
32  ]
33  include_scanner = [
34    "${MEDIALIB_SERVICES_PATH}/media_scanner/include/callback",
35    "${MEDIALIB_SERVICES_PATH}/media_scanner/include/scanner",
36  ]
37
38  include_multistages_capture = [
39    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/include",
40    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/include/deferred_processing",
41    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/include/dfx",
42    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/include/utils",
43  ]
44
45  include_dfx = [ "${MEDIALIB_SERVICES_PATH}/media_dfx/include" ]
46
47  include_cloud_enhancement = [
48    "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/include",
49    "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/include/enhancement_service",
50    "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/include/utils",
51    "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/include/dfx",
52  ]
53
54  include_cloud_dirty_handle = [
55    "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/include/cloud_dirty_handle",
56  ]
57
58  include_cloud_asset_download = [
59    "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/include/cloud_sync_utils",
60    "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/include/media_cloud_asset_download",
61  ]
62
63  include_dirs = [
64    "${MEDIALIB_INTERFACES_PATH}/innerkits/native/include",
65    "${MEDIALIB_INTERFACES_PATH}/inner_api/media_library_helper/include",
66    "${MEDIALIB_INNERKITS_PATH}/media_library_helper/include",
67    "${MEDIALIB_UTILS_PATH}/include",
68    "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include/config",
69    "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include/event_handler",
70    "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include/operation",
71    "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include/photo_album_operation",
72    "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include/po",
73    "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension/include",
74    "${MEDIALIB_SERVICES_PATH}/media_analysis_extension/include",
75    "${MEDIALIB_SERVICES_PATH}/media_async_worker/include",
76    "${MEDIALIB_SERVICES_PATH}/media_thumbnail/include",
77    "${MEDIALIB_SERVICES_PATH}/media_cloud_sync_notify_handle/include",
78    "${MEDIALIB_SERVICES_PATH}/media_permission/include",
79    "${MEDIALIB_SERVICES_PATH}/media_power_efficiency/include",
80
81    "../../../../../bundlemanager/bundle_framework/interfaces/kits/js/common",
82  ]
83  include_dirs += include_fileext
84  include_dirs += include_distributed
85  include_dirs += include_scanner
86  include_dirs += include_multistages_capture
87  include_dirs += include_dfx
88  include_dirs += include_cloud_enhancement
89  include_dirs += include_cloud_dirty_handle
90  include_dirs += include_cloud_asset_download
91
92  if (defined(global_parts_info) &&
93      defined(
94          global_parts_info.device_cloud_gateway_media_cloud_enhance_service)) {
95    include_dirs += [ "${MEDIALIB_CLOUD_ENHANCEMENT_SERVICE_PATH}/interfaces/inner_api/include/c_api" ]
96  }
97
98  ldflags = [ "-Wl,--gc-sections" ]
99
100  cflags = [
101    "-fvisibility=hidden",
102    "-fdata-sections",
103    "-ffunction-sections",
104    "-Os",
105  ]
106
107  cflags_cc = [
108    "-fvisibility-inlines-hidden",
109    "-Os",
110  ]
111
112  if (target_cpu == "arm") {
113    cflags += [ "-DBINDER_IPC_32BIT" ]
114  }
115}
116
117ohos_hap("medialibrary_ext_hap") {
118  hap_profile = "MediaLibraryExt/entry/src/main/module.json"
119  deps = [
120    ":MediaLibStage_js_assets",
121    ":MediaLibStage_resources",
122  ]
123  shared_libraries = [ "${MEDIALIB_INNERKITS_PATH}/medialibrary_data_extension:medialibrary_data_extension" ]
124  certificate_profile = "${MEDIALIB_INNERKITS_PATH}/signature/medialib.p7b"
125  hap_name = "Media_Library_Ext"
126  part_name = "prebuilt_hap"
127  subsystem_name = "applications"
128  module_install_dir = "app/com.ohos.medialibrary.MediaLibraryData"
129  publicity_file = "../../../publicity.xml"
130  if (defined(sign_hap_py_path)) {
131    certificate_profile =
132        "${MEDIALIB_INNERKITS_PATH}/signature/medialib_new.p7b"
133    key_alias = "medialibrarydata"
134    private_key_path = "medialibrarydata"
135    compatible_version = "9"
136  }
137}
138
139ohos_js_assets("MediaLibStage_js_assets") {
140  hap_profile = "MediaLibraryExt/entry/src/main/module.json"
141  ets2abc = true
142  source_dir = "MediaLibraryExt/entry/src/main/ets"
143}
144
145ohos_app_scope("MediaLibStage_app_profile") {
146  app_profile = "MediaLibraryExt/AppScope/app.json"
147  sources = [ "MediaLibraryExt/AppScope/resources" ]
148}
149
150ohos_resources("MediaLibStage_resources") {
151  sources = [ "MediaLibraryExt/entry/src/main/resources" ]
152  deps = [ ":MediaLibStage_app_profile" ]
153  hap_profile = "MediaLibraryExt/entry/src/main/module.json"
154}
155
156ohos_shared_library("medialibrary_data_extension") {
157  install_enable = true
158
159  media_scan_source = [
160    "${MEDIALIB_SERVICES_PATH}/media_scanner/src/scanner/media_scan_executor.cpp",
161    "${MEDIALIB_SERVICES_PATH}/media_scanner/src/scanner/media_scanner.cpp",
162    "${MEDIALIB_SERVICES_PATH}/media_scanner/src/scanner/media_scanner_manager.cpp",
163    "${MEDIALIB_SERVICES_PATH}/media_scanner/src/scanner/media_scanner_db.cpp",
164    "${MEDIALIB_SERVICES_PATH}/media_scanner/src/scanner/metadata.cpp",
165    "${MEDIALIB_SERVICES_PATH}/media_scanner/src/scanner/metadata_extractor.cpp",
166    "${MEDIALIB_SERVICES_PATH}/media_scanner/src/scanner/scanner_utils.cpp",
167  ]
168
169  media_thumbnail_source = [
170    "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/cloud_thumbnail_observer.cpp",
171    "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/ithumbnail_helper.cpp",
172    "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_aging_helper.cpp",
173    "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_generate_helper.cpp",
174    "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_generate_worker.cpp",
175    "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_generate_worker_manager.cpp",
176    "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_service.cpp",
177    "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_source_loading.cpp",
178    "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_uri_utils.cpp",
179    "${MEDIALIB_SERVICES_PATH}/media_thumbnail/src/thumbnail_utils.cpp",
180  ]
181
182  media_cloud_sync_source = [
183    "${MEDIALIB_CLOUD_SYNC_PATH}/src/cloud_sync_helper.cpp",
184    "${MEDIALIB_CLOUD_SYNC_PATH}/src/cloud_sync_switch_observer.cpp",
185  ]
186
187  media_rdb_utils_source = [
188    "src/medialibrary_rdb_utils.cpp",
189    "src/medialibrary_rdb_transaction.cpp",
190  ]
191
192  media_multistages_capture_source = [
193    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/deferred_processing/deferred_photo_proc_adapter.cpp",
194    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/deferred_processing/deferred_video_proc_adapter.cpp",
195    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/dfx/multistages_capture_dfx_first_visit.cpp",
196    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/dfx/multistages_capture_dfx_request_policy.cpp",
197    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/dfx/multistages_capture_dfx_result.cpp",
198    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/dfx/multistages_capture_dfx_total_time.cpp",
199    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/dfx/multistages_capture_dfx_trigger_ratio.cpp",
200    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/utils/database_adapter.cpp",
201    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/utils/exif_utils.cpp",
202    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/utils/file_utils.cpp",
203    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/utils/multistages_capture_request_task_manager.cpp",
204    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/multistages_capture_manager.cpp",
205    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/multistages_photo_capture_manager.cpp",
206    "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/multistages_video_capture_manager.cpp",
207  ]
208
209  media_dfx_source = [
210    "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_analyzer.cpp",
211    "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_collector.cpp",
212    "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_manager.cpp",
213    "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_reporter.cpp",
214    "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_timer.cpp",
215    "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_transaction.cpp",
216    "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_worker.cpp",
217    "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_utils.cpp",
218    "${MEDIALIB_SERVICES_PATH}/media_dfx/src/dfx_database_utils.cpp",
219  ]
220
221  media_cloud_sync_notify_handle_source = [
222    "${MEDIALIB_SERVICES_PATH}/media_cloud_sync_notify_handle/src/analysis_handler.cpp",
223    "${MEDIALIB_SERVICES_PATH}/media_cloud_sync_notify_handle/src/cloud_album_handler.cpp",
224    "${MEDIALIB_SERVICES_PATH}/media_cloud_sync_notify_handle/src/uri_convert_handler.cpp",
225    "${MEDIALIB_SERVICES_PATH}/media_cloud_sync_notify_handle/src/notify_handler.cpp",
226    "${MEDIALIB_SERVICES_PATH}/media_cloud_sync_notify_handle/src/cloud_sync_observer.cpp",
227    "${MEDIALIB_SERVICES_PATH}/media_cloud_sync_notify_handle/src/cloud_sync_notify_handler.cpp",
228    "${MEDIALIB_SERVICES_PATH}/media_cloud_sync_notify_handle/src/notify_responsibility_chain_factory.cpp",
229  ]
230
231  media_permission_source = [
232    "${MEDIALIB_SERVICES_PATH}/media_permission/src/abs_permission_handler.cpp",
233    "${MEDIALIB_SERVICES_PATH}/media_permission/src/db_permission_handler.cpp",
234    "${MEDIALIB_SERVICES_PATH}/media_permission/src/grant_permission_handler.cpp",
235    "${MEDIALIB_SERVICES_PATH}/media_permission/src/media_tool_permission_handler.cpp",
236    "${MEDIALIB_SERVICES_PATH}/media_permission/src/pemission_common.cpp",
237    "${MEDIALIB_SERVICES_PATH}/media_permission/src/read_write_permission_handler.cpp",
238  ]
239
240  media_cloud_enhancement_source = [
241    "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/enhancement_service/enhancement_service_adapter.cpp",
242    "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/utils/enhancement_database_operations.cpp",
243    "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/utils/dynamic_loader.cpp",
244    "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/utils/enhancement_thread_manager.cpp",
245    "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/enhancement_task_manager.cpp",
246    "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/enhancement_manager.cpp",
247    "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/dfx/cloud_enhancement_dfx_get_count.cpp",
248  ]
249
250  media_power_efficiency_source = [
251    "${MEDIALIB_SERVICES_PATH}/media_power_efficiency/src/power_efficiency_manager.cpp",
252    "${MEDIALIB_SERVICES_PATH}/media_power_efficiency/src/medialibrary_standby_service_subscriber.cpp",
253  ]
254
255  media_cloud_dirty_handle_source = [ "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/src/cloud_dirty_handle/cloud_upload_checker.cpp" ]
256
257  meidia_cloud_asset_download_source = [
258    "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/src/cloud_sync_utils/cloud_sync_utils.cpp",
259    "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/src/media_cloud_asset_download/cloud_media_asset_callback.cpp",
260    "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/src/media_cloud_asset_download/cloud_media_asset_download_operation.cpp",
261    "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/src/media_cloud_asset_download/cloud_media_asset_manager.cpp",
262    "${MEDIALIB_SERVICES_PATH}/media_cloud_sync/src/media_cloud_asset_download/cloud_media_asset_observer.cpp",
263  ]
264
265  sources = [
266    "${MEDIALIB_SERVICES_PATH}/media_analysis_extension/src/media_analysis_callback_stub.cpp",
267    "${MEDIALIB_SERVICES_PATH}/media_analysis_extension/src/media_analysis_helper.cpp",
268    "${MEDIALIB_SERVICES_PATH}/media_analysis_extension/src/media_analysis_proxy.cpp",
269    "${MEDIALIB_UTILS_PATH}/src/common_event_utils.cpp",
270    "${MEDIALIB_UTILS_PATH}/src/cpu_utils.cpp",
271    "${MEDIALIB_UTILS_PATH}/src/media_privacy_manager.cpp",
272    "src/background_cloud_file_processor.cpp",
273    "src/event_handler/album_plugin_table_event_handler.cpp",
274    "src/event_handler/tab_old_photos_table_event_handler.cpp",
275    "src/hi_audit.cpp",
276    "src/media_datashare_ext_ability.cpp",
277    "src/media_datashare_stub_impl.cpp",
278    "src/medialibrary_album_fusion_utils.cpp",
279    "src/medialibrary_album_operations.cpp",
280    "src/medialibrary_album_refresh.cpp",
281    "src/medialibrary_analysis_album_operations.cpp",
282    "src/medialibrary_app_uri_permission_operations.cpp",
283    "src/medialibrary_app_uri_sensitive_operations.cpp",
284    "src/medialibrary_appstate_observer.cpp",
285    "src/medialibrary_asset_operations.cpp",
286    "src/medialibrary_audio_operations.cpp",
287    "src/medialibrary_bundle_manager.cpp",
288    "src/medialibrary_command.cpp",
289    "src/medialibrary_data_manager.cpp",
290    "src/medialibrary_data_manager_utils.cpp",
291    "src/medialibrary_dir_operations.cpp",
292    "src/medialibrary_file_operations.cpp",
293    "src/medialibrary_formmap_operations.cpp",
294    "src/medialibrary_inotify.cpp",
295    "src/medialibrary_location_operations.cpp",
296    "src/medialibrary_notify.cpp",
297    "src/medialibrary_object_utils.cpp",
298    "src/medialibrary_photo_operations.cpp",
299    "src/medialibrary_rdbstore.cpp",
300    "src/medialibrary_restore.cpp",
301    "src/medialibrary_search_operations.cpp",
302    "src/medialibrary_smartalbum_map_operations.cpp",
303    "src/medialibrary_smartalbum_operations.cpp",
304    "src/medialibrary_story_operations.cpp",
305    "src/medialibrary_subscriber.cpp",
306    "src/medialibrary_tab_old_photos_operations.cpp",
307    "src/medialibrary_uripermission_operations.cpp",
308    "src/medialibrary_urisensitive_operations.cpp",
309    "src/medialibrary_vision_operations.cpp",
310    "src/moving_photo_processor.cpp",
311    "src/operation/display_name_info.cpp",
312    "src/operation/duplicate_photo_operation.cpp",
313    "src/operation/photo_asset_copy_operation.cpp",
314    "src/operation/photo_burst_operation.cpp",
315    "src/operation/photo_day_month_year_operation.cpp",
316    "src/operation/photo_displayname_operation.cpp",
317    "src/operation/photo_file_operation.cpp",
318    "src/operation/photo_source_path_operation.cpp",
319    "src/photo_album_operation/photo_album_lpath_operation.cpp",
320    "src/photo_album_operation/photo_album_merge_operation.cpp",
321    "src/photo_map_operations.cpp",
322    "src/picture_data_operations.cpp",
323    "src/picture_handle_service.cpp",
324    "src/picture_manager_thread.cpp",
325    "src/trash_async_worker.cpp",
326    "src/zip_util.cpp",
327  ]
328  sources += media_scan_source
329  sources += media_thumbnail_source
330  sources += media_cloud_sync_source
331  sources += media_rdb_utils_source
332  sources += media_multistages_capture_source
333  sources += media_dfx_source
334  sources += media_cloud_sync_notify_handle_source
335  sources += media_permission_source
336  sources += media_cloud_enhancement_source
337  sources += media_power_efficiency_source
338  sources += media_cloud_dirty_handle_source
339  sources += meidia_cloud_asset_download_source
340
341  public_configs = [ ":media_data_extension_public_config" ]
342
343  deps = [
344    "${MEDIALIB_INNERKITS_PATH}/media_library_helper:media_library",
345    "${MEDIALIB_SERVICES_PATH}/media_async_worker:medialibrary_async_worker",
346    "${MEDIALIB_SERVICES_PATH}/media_mtp:media_mtp",
347    "${MEDIALIB_UTILS_PATH}:medialibrary_common_utils",
348    "${MEDIALIB_UTILS_PATH}:permission_utils",
349    "${MEDIALIB_UTILS_PATH}:post_event_utils",
350  ]
351
352  include_dirs = [
353    "${MEDIALIB_CLOUD_SYNC_PATH}/include",
354    "${MEDIALIB_SERVICES_PATH}/media_async_worker/include",
355    "${MEDIALIB_SERVICES_PATH}/media_mtp/include",
356  ]
357
358  external_deps = [
359    "ability_base:want",
360    "ability_base:zuri",
361    "ability_runtime:ability_manager",
362    "ability_runtime:app_context",
363    "ability_runtime:app_manager",
364    "ability_runtime:dataobs_manager",
365    "ability_runtime:extensionkit_native",
366    "ability_runtime:runtime",
367    "ability_runtime:uri_permission_mgr",
368    "access_token:libaccesstoken_sdk",
369    "access_token:libprivacy_sdk",
370    "app_file_service:sandbox_helper_native",
371    "background_task_mgr:bgtaskmgr_innerkits",
372    "bundle_framework:appexecfwk_core",
373    "c_utils:utils",
374    "common_event_service:cesfwk_innerkits",
375    "data_share:datashare_common",
376    "data_share:datashare_consumer",
377    "data_share:datashare_provider",
378    "dfs_service:cloudsync_kit_inner",
379    "eventhandler:libeventhandler",
380    "ffrt:libffrt",
381    "file_api:filemgmt_libn",
382    "hilog:libhilog",
383    "hitrace:hitrace_meter",
384    "image_framework:image_native",
385    "init:libbegetutil",
386    "ipc:ipc_core",
387    "ipc:ipc_single",
388    "kv_store:distributeddata_inner",
389    "libexif:libexif",
390    "napi:ace_napi",
391    "os_account:os_account_innerkits",
392    "player_framework:media_client",
393    "preferences:native_preferences",
394    "relational_store:native_rdb",
395    "relational_store:rdb_data_share_adapter",
396    "safwk:system_ability_fwk",
397    "samgr:samgr_proxy",
398    "window_manager:libdm",
399    "zlib:shared_libz",
400  ]
401
402  public_external_deps = [ "e2fsprogs:libext2_uuid" ]
403
404  defines = []
405  if (defined(global_parts_info) &&
406      defined(global_parts_info.filemanagement_dfs_service)) {
407    defines += [ "CLOUD_SYNC_MANAGER" ]
408    external_deps += [ "dfs_service:cloudsync_kit_inner" ]
409  }
410  defines += [ "MEDIALIBRARY_COMPATIBILITY=1" ]
411  if (defined(medialibrary_mtp_enable)) {
412    defines += [ "MEDIALIBRARY_MTP_ENABLE=1" ]
413  }
414
415  if (!defined(global_parts_info) ||
416      defined(global_parts_info.security_security_component_manager)) {
417    defines += [ "MEDIALIBRARY_SECURITY_OPEN=1" ]
418    external_deps += [ "security_component_manager:libsecurity_component_sdk" ]
419  }
420
421  if (defined(global_parts_info) &&
422      defined(
423          global_parts_info.device_cloud_gateway_media_cloud_enhance_service)) {
424    defines += [ "ABILITY_CLOUD_ENHANCEMENT_SUPPORT" ]
425    sources += [ "${MEDIALIB_SERVICES_PATH}/media_cloud_enhancement/src/enhancement_service/enhancement_service_callback.cpp" ]
426  }
427
428  if (defined(global_parts_info) &&
429      defined(global_parts_info.multimedia_camera_framework) &&
430      global_parts_info.multimedia_camera_framework) {
431    defines += [ "ABILITY_CAMERA_SUPPORT" ]
432    external_deps += [ "camera_framework:camera_framework" ]
433    sources += [
434      "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/deferred_processing/multistages_capture_deferred_photo_proc_session_callback.cpp",
435      "${MEDIALIB_SERVICES_PATH}/media_multistages_capture/src/deferred_processing/multistages_capture_deferred_video_proc_session_callback.cpp",
436    ]
437  }
438
439  if (!media_library_link_opt) {
440    sanitize = {
441      cfi = true
442      cfi_cross_dso = true
443      debug = false
444      integer_overflow = true
445      ubsan = true
446      boundary_sanitize = true
447      stack_protector_ret = true
448    }
449  }
450
451  cflags_cc = [
452    "-fvisibility-inlines-hidden",
453    "-Os",
454  ]
455
456  if (defined(global_parts_info) &&
457      defined(global_parts_info.powermgr_battery_manager)) {
458    external_deps += [ "battery_manager:batterysrv_client" ]
459    cflags_cc += [ "-DHAS_BATTERY_MANAGER_PART" ]
460  }
461
462  if (defined(global_parts_info) &&
463      defined(global_parts_info.powermgr_power_manager)) {
464    external_deps += [ "power_manager:powermgr_client" ]
465    cflags_cc += [ "-DHAS_POWER_MANAGER_PART" ]
466  }
467
468  if (defined(global_parts_info) &&
469      defined(global_parts_info.powermgr_thermal_manager)) {
470    external_deps += [ "thermal_manager:thermalsrv_client" ]
471    cflags_cc += [ "-DHAS_THERMAL_MANAGER_PART" ]
472  }
473
474  if (defined(global_parts_info) &&
475      defined(global_parts_info.communication_wifi)) {
476    external_deps += [ "wifi:wifi_sdk" ]
477    cflags_cc += [ "-DHAS_WIFI_MANAGER_PART" ]
478  }
479
480  if (resourceschedule_device_standby) {
481    external_deps += [ "device_standby:standby_innerkits" ]
482    defines += [ "DEVICE_STANDBY_ENABLE" ]
483  }
484
485  subsystem_name = "multimedia"
486  part_name = "media_library"
487}
488