180922886Sopenharmony_ci# Copyright (c) 2022-2024 Huawei Device Co., Ltd. 280922886Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 380922886Sopenharmony_ci# you may not use this file except in compliance with the License. 480922886Sopenharmony_ci# You may obtain a copy of the License at 580922886Sopenharmony_ci# 680922886Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 780922886Sopenharmony_ci# 880922886Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 980922886Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1080922886Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1180922886Sopenharmony_ci# See the License for the specific language governing permissions and 1280922886Sopenharmony_ci# limitations under the License. 1380922886Sopenharmony_ci 1480922886Sopenharmony_ciimport("//build/ohos.gni") 1580922886Sopenharmony_ciimport("../../bluetooth_part.gni") 1680922886Sopenharmony_ciimport("../../castplus_cast_engine_part.gni") 1780922886Sopenharmony_ciimport("../../config.gni") 1880922886Sopenharmony_ciimport("../../efficiency_manager_part.gni") 1980922886Sopenharmony_ci 2080922886Sopenharmony_ciopenssl_dir = "//third_party/openssl" 2180922886Sopenharmony_ci 2280922886Sopenharmony_cigroup("avsession_server") { 2380922886Sopenharmony_ci deps = [ 2480922886Sopenharmony_ci ":avsession_dynamic_display", 2580922886Sopenharmony_ci ":avsession_dynamic_insight", 2680922886Sopenharmony_ci ":avsession_item", 2780922886Sopenharmony_ci ":avsession_service", 2880922886Sopenharmony_ci "../../sa_profile:avsession_sa_profile", 2980922886Sopenharmony_ci "../etc:avsession_service.rc", 3080922886Sopenharmony_ci "../etc:ohos.para.dac", 3180922886Sopenharmony_ci ] 3280922886Sopenharmony_ci} 3380922886Sopenharmony_ci 3480922886Sopenharmony_ciohos_shared_library("avsession_service") { 3580922886Sopenharmony_ci stack_protector_ret = true 3680922886Sopenharmony_ci install_enable = true 3780922886Sopenharmony_ci sanitize = { 3880922886Sopenharmony_ci cfi = true 3980922886Sopenharmony_ci cfi_cross_dso = true 4080922886Sopenharmony_ci debug = false 4180922886Sopenharmony_ci } 4280922886Sopenharmony_ci ipc_sources = [ 4380922886Sopenharmony_ci "ipc/proxy/session_listener_proxy.cpp", 4480922886Sopenharmony_ci "ipc/stub/avsession_callback_stub.cpp", 4580922886Sopenharmony_ci "ipc/stub/avsession_service_stub.cpp", 4680922886Sopenharmony_ci ] 4780922886Sopenharmony_ci 4880922886Sopenharmony_ci service_sources = [ 4980922886Sopenharmony_ci "server/avsession_dumper.cpp", 5080922886Sopenharmony_ci "server/avsession_service.cpp", 5180922886Sopenharmony_ci "server/avsession_service_ext.cpp", 5280922886Sopenharmony_ci "server/avsession_users_manager.cpp", 5380922886Sopenharmony_ci "server/background_audio_controller.cpp", 5480922886Sopenharmony_ci "server/focus_session_strategy.cpp", 5580922886Sopenharmony_ci "server/migrate/migrate_avsession_manager.cpp", 5680922886Sopenharmony_ci "server/migrate/migrate_avsession_server.cpp", 5780922886Sopenharmony_ci "server/session_stack.cpp", 5880922886Sopenharmony_ci "server/softbus/softbus_distributed_data_manager.cpp", 5980922886Sopenharmony_ci "server/softbus/softbus_session.cpp", 6080922886Sopenharmony_ci "server/softbus/softbus_session_manager.cpp", 6180922886Sopenharmony_ci "server/softbus/softbus_session_server.cpp", 6280922886Sopenharmony_ci ] 6380922886Sopenharmony_ci 6480922886Sopenharmony_ci adapter_sources = [ 6580922886Sopenharmony_ci "adapter/ability_connect_helper.cpp", 6680922886Sopenharmony_ci "adapter/ability_manager_adapter.cpp", 6780922886Sopenharmony_ci "adapter/account_manager_adapter.cpp", 6880922886Sopenharmony_ci "adapter/app_manager_adapter.cpp", 6980922886Sopenharmony_ci "adapter/audio_adapter.cpp", 7080922886Sopenharmony_ci "adapter/bundle_status_adapter.cpp", 7180922886Sopenharmony_ci "adapter/collaboration_manager.cpp", 7280922886Sopenharmony_ci "adapter/key_event_adapter.cpp", 7380922886Sopenharmony_ci "adapter/params_config_operator.cpp", 7480922886Sopenharmony_ci "adapter/session_xcollie.cpp", 7580922886Sopenharmony_ci ] 7680922886Sopenharmony_ci 7780922886Sopenharmony_ci sources = ipc_sources + adapter_sources + service_sources 7880922886Sopenharmony_ci 7980922886Sopenharmony_ci include_dirs = [ 8080922886Sopenharmony_ci "ipc/base", 8180922886Sopenharmony_ci "ipc/proxy", 8280922886Sopenharmony_ci "ipc/stub", 8380922886Sopenharmony_ci "adapter", 8480922886Sopenharmony_ci "server", 8580922886Sopenharmony_ci "server/migrate", 8680922886Sopenharmony_ci "server/softbus", 8780922886Sopenharmony_ci "server/remote", 8880922886Sopenharmony_ci "../../frameworks/native/session/include", 8980922886Sopenharmony_ci "../../interfaces/inner_api/native/session/include", 9080922886Sopenharmony_ci "//third_party/json/single_include", 9180922886Sopenharmony_ci "$openssl_dir/include/", 9280922886Sopenharmony_ci "$commontype_dir/include", 9380922886Sopenharmony_ci ] 9480922886Sopenharmony_ci 9580922886Sopenharmony_ci cflags = [ 9680922886Sopenharmony_ci "-fPIC", 9780922886Sopenharmony_ci "-fdata-sections", 9880922886Sopenharmony_ci "-ffunction-sections", 9980922886Sopenharmony_ci "-fno-asynchronous-unwind-tables", 10080922886Sopenharmony_ci "-fno-unwind-tables", 10180922886Sopenharmony_ci "-Os", 10280922886Sopenharmony_ci ] 10380922886Sopenharmony_ci 10480922886Sopenharmony_ci if (multimedia_av_session_enable_background_audio_control) { 10580922886Sopenharmony_ci cflags += [ "-DENABLE_BACKGROUND_AUDIO_CONTROL" ] 10680922886Sopenharmony_ci } 10780922886Sopenharmony_ci 10880922886Sopenharmony_ci if (!use_libfuzzer) { 10980922886Sopenharmony_ci cflags += [ "-flto" ] 11080922886Sopenharmony_ci ldflags = [ 11180922886Sopenharmony_ci "-flto", 11280922886Sopenharmony_ci "-Wl,--gc-sections", 11380922886Sopenharmony_ci ] 11480922886Sopenharmony_ci } 11580922886Sopenharmony_ci cflags_cc = cflags 11680922886Sopenharmony_ci cflags_cc += [ "-fvisibility-inlines-hidden" ] 11780922886Sopenharmony_ci 11880922886Sopenharmony_ci defines = [] 11980922886Sopenharmony_ci if (target_cpu == "arm64" || is_emulator) { 12080922886Sopenharmony_ci system_lib_path = "\"/system/lib64/\"" 12180922886Sopenharmony_ci } else { 12280922886Sopenharmony_ci system_lib_path = "\"/system/lib/\"" 12380922886Sopenharmony_ci } 12480922886Sopenharmony_ci defines += [ "SYSTEM_LIB_PATH = ${system_lib_path}" ] 12580922886Sopenharmony_ci 12680922886Sopenharmony_ci deps = [ 12780922886Sopenharmony_ci "$openssl_dir:libcrypto_shared", 12880922886Sopenharmony_ci "./../../frameworks/common:avsession_common", 12980922886Sopenharmony_ci "./../../frameworks/native/session:avsession_client", 13080922886Sopenharmony_ci "./../../utils:avsession_utils", 13180922886Sopenharmony_ci "./../session:avsession_item", 13280922886Sopenharmony_ci "//third_party/openssl:libcrypto_shared", 13380922886Sopenharmony_ci ] 13480922886Sopenharmony_ci 13580922886Sopenharmony_ci external_deps = [ 13680922886Sopenharmony_ci "ability_base:base", 13780922886Sopenharmony_ci "ability_base:want", 13880922886Sopenharmony_ci "ability_base:zuri", 13980922886Sopenharmony_ci "ability_runtime:app_manager", 14080922886Sopenharmony_ci "ability_runtime:wantagent_innerkits", 14180922886Sopenharmony_ci "access_token:libaccesstoken_sdk", 14280922886Sopenharmony_ci "access_token:libtokenid_sdk", 14380922886Sopenharmony_ci "access_token:libtokensetproc_shared", 14480922886Sopenharmony_ci "audio_framework:audio_client", 14580922886Sopenharmony_ci "background_task_mgr:bgtaskmgr_innerkits", 14680922886Sopenharmony_ci "bundle_framework:appexecfwk_base", 14780922886Sopenharmony_ci "bundle_framework:appexecfwk_core", 14880922886Sopenharmony_ci "c_utils:utils", 14980922886Sopenharmony_ci "data_object:distributeddataobject_impl", 15080922886Sopenharmony_ci "device_manager:devicemanagersdk", 15180922886Sopenharmony_ci "distributed_notification_service:ans_innerkits", 15280922886Sopenharmony_ci "dsoftbus:softbus_client", 15380922886Sopenharmony_ci "graphic_surface:surface", 15480922886Sopenharmony_ci "hilog:libhilog", 15580922886Sopenharmony_ci "image_framework:image_native", 15680922886Sopenharmony_ci "init:libbegetutil", 15780922886Sopenharmony_ci "input:libmmi-client", 15880922886Sopenharmony_ci "ipc:ipc_single", 15980922886Sopenharmony_ci "jsoncpp:jsoncpp", 16080922886Sopenharmony_ci "relational_store:native_rdb", 16180922886Sopenharmony_ci "safwk:system_ability_fwk", 16280922886Sopenharmony_ci "samgr:samgr_proxy", 16380922886Sopenharmony_ci ] 16480922886Sopenharmony_ci 16580922886Sopenharmony_ci if (castplus_cast_engine_enable) { 16680922886Sopenharmony_ci cflags += [ "-DCASTPLUS_CAST_ENGINE_ENABLE" ] 16780922886Sopenharmony_ci external_deps += [ "cast_engine:cast_engine_client" ] 16880922886Sopenharmony_ci deps += [ 16980922886Sopenharmony_ci "../../frameworks/native/session:avsession_cast_client", 17080922886Sopenharmony_ci "./../session:avsession_cast_item", 17180922886Sopenharmony_ci "./../session:avsession_router", 17280922886Sopenharmony_ci ] 17380922886Sopenharmony_ci } 17480922886Sopenharmony_ci 17580922886Sopenharmony_ci if (bluetooth_part_enable) { 17680922886Sopenharmony_ci cflags += [ "-DBLUETOOTH_ENABLE" ] 17780922886Sopenharmony_ci external_deps += [ "bluetooth:btframework" ] 17880922886Sopenharmony_ci } 17980922886Sopenharmony_ci 18080922886Sopenharmony_ci if (efficiency_manager_enable_in_avsession) { 18180922886Sopenharmony_ci cflags += [ "-DEFFICIENCY_MANAGER_ENABLE" ] 18280922886Sopenharmony_ci } 18380922886Sopenharmony_ci 18480922886Sopenharmony_ci if (multimedia_av_session_enable_trace_control) { 18580922886Sopenharmony_ci cflags += [ "-DENBABLE_AVSESSION_TRACE_CONTROL" ] 18680922886Sopenharmony_ci external_deps += [ "hitrace:hitrace_meter" ] 18780922886Sopenharmony_ci } 18880922886Sopenharmony_ci 18980922886Sopenharmony_ci if (multimedia_av_session_enable_sysevent_control) { 19080922886Sopenharmony_ci cflags += [ "-DENABLE_AVSESSION_SYSEVENT_CONTROL" ] 19180922886Sopenharmony_ci external_deps += [ "hisysevent:libhisysevent" ] 19280922886Sopenharmony_ci } 19380922886Sopenharmony_ci 19480922886Sopenharmony_ci if (multimedia_av_session_enable_hicollie) { 19580922886Sopenharmony_ci external_deps += [ "hicollie:libhicollie" ] 19680922886Sopenharmony_ci defines += [ "HICOLLIE_ENABLE" ] 19780922886Sopenharmony_ci } 19880922886Sopenharmony_ci 19980922886Sopenharmony_ci if (use_libfuzzer || use_clang_coverage) { 20080922886Sopenharmony_ci defines += [ "TEST_COVERAGE" ] 20180922886Sopenharmony_ci } 20280922886Sopenharmony_ci 20380922886Sopenharmony_ci subsystem_name = "multimedia" 20480922886Sopenharmony_ci part_name = "av_session" 20580922886Sopenharmony_ci} 20680922886Sopenharmony_ci 20780922886Sopenharmony_ciif (castplus_cast_engine_enable) { 20880922886Sopenharmony_ci ohos_shared_library("avsession_router") { 20980922886Sopenharmony_ci install_enable = true 21080922886Sopenharmony_ci sanitize = { 21180922886Sopenharmony_ci cfi = true 21280922886Sopenharmony_ci cfi_cross_dso = true 21380922886Sopenharmony_ci debug = false 21480922886Sopenharmony_ci } 21580922886Sopenharmony_ci ipc_sources = [] 21680922886Sopenharmony_ci 21780922886Sopenharmony_ci service_sources = [ 21880922886Sopenharmony_ci "server/avcast_provider_manager.cpp", 21980922886Sopenharmony_ci "server/avrouter.cpp", 22080922886Sopenharmony_ci "server/avrouter_impl.cpp", 22180922886Sopenharmony_ci "server/hw_cast_provider.cpp", 22280922886Sopenharmony_ci "server/hw_cast_provider_session.cpp", 22380922886Sopenharmony_ci "server/hw_cast_stream_player.cpp", 22480922886Sopenharmony_ci ] 22580922886Sopenharmony_ci 22680922886Sopenharmony_ci adapter_sources = [] 22780922886Sopenharmony_ci 22880922886Sopenharmony_ci sources = ipc_sources + adapter_sources + service_sources 22980922886Sopenharmony_ci 23080922886Sopenharmony_ci include_dirs = [ 23180922886Sopenharmony_ci "./../../frameworks/native/session/include", 23280922886Sopenharmony_ci "./../../interfaces/inner_api/native/session/include", 23380922886Sopenharmony_ci "./adapter", 23480922886Sopenharmony_ci "./server", 23580922886Sopenharmony_ci "./ipc/stub", 23680922886Sopenharmony_ci ] 23780922886Sopenharmony_ci 23880922886Sopenharmony_ci cflags = [ 23980922886Sopenharmony_ci "-fPIC", 24080922886Sopenharmony_ci "-fdata-sections", 24180922886Sopenharmony_ci "-ffunction-sections", 24280922886Sopenharmony_ci "-fno-asynchronous-unwind-tables", 24380922886Sopenharmony_ci "-fno-unwind-tables", 24480922886Sopenharmony_ci "-Os", 24580922886Sopenharmony_ci ] 24680922886Sopenharmony_ci 24780922886Sopenharmony_ci if (multimedia_av_session_enable_background_audio_control) { 24880922886Sopenharmony_ci cflags += [ "-DENABLE_BACKGROUND_AUDIO_CONTROL" ] 24980922886Sopenharmony_ci } 25080922886Sopenharmony_ci 25180922886Sopenharmony_ci if (!use_libfuzzer) { 25280922886Sopenharmony_ci cflags += [ "-flto" ] 25380922886Sopenharmony_ci ldflags = [ 25480922886Sopenharmony_ci "-flto", 25580922886Sopenharmony_ci "-Wl,--gc-sections", 25680922886Sopenharmony_ci ] 25780922886Sopenharmony_ci } 25880922886Sopenharmony_ci cflags_cc = cflags 25980922886Sopenharmony_ci cflags_cc += [ "-fvisibility-inlines-hidden" ] 26080922886Sopenharmony_ci 26180922886Sopenharmony_ci defines = [] 26280922886Sopenharmony_ci if (target_cpu == "arm64" || is_emulator) { 26380922886Sopenharmony_ci system_lib_path = "\"/system/lib64/\"" 26480922886Sopenharmony_ci } else { 26580922886Sopenharmony_ci system_lib_path = "\"/system/lib/\"" 26680922886Sopenharmony_ci } 26780922886Sopenharmony_ci defines += [ "SYSTEM_LIB_PATH = ${system_lib_path}" ] 26880922886Sopenharmony_ci 26980922886Sopenharmony_ci deps = [ 27080922886Sopenharmony_ci "../../frameworks/common:avsession_common", 27180922886Sopenharmony_ci "../../frameworks/native/session:avsession_client", 27280922886Sopenharmony_ci "../../utils:avsession_utils", 27380922886Sopenharmony_ci ] 27480922886Sopenharmony_ci 27580922886Sopenharmony_ci external_deps = [ 27680922886Sopenharmony_ci "ability_base:base", 27780922886Sopenharmony_ci "ability_base:want", 27880922886Sopenharmony_ci "ability_runtime:app_manager", 27980922886Sopenharmony_ci "ability_runtime:wantagent_innerkits", 28080922886Sopenharmony_ci "access_token:libaccesstoken_sdk", 28180922886Sopenharmony_ci "access_token:libtokenid_sdk", 28280922886Sopenharmony_ci "audio_framework:audio_client", 28380922886Sopenharmony_ci "bundle_framework:appexecfwk_base", 28480922886Sopenharmony_ci "bundle_framework:appexecfwk_core", 28580922886Sopenharmony_ci "c_utils:utils", 28680922886Sopenharmony_ci "data_object:distributeddataobject_impl", 28780922886Sopenharmony_ci "device_manager:devicemanagersdk", 28880922886Sopenharmony_ci "graphic_surface:surface", 28980922886Sopenharmony_ci "hilog:libhilog", 29080922886Sopenharmony_ci "image_framework:image_native", 29180922886Sopenharmony_ci "input:libmmi-client", 29280922886Sopenharmony_ci "ipc:ipc_single", 29380922886Sopenharmony_ci "safwk:system_ability_fwk", 29480922886Sopenharmony_ci "samgr:samgr_proxy", 29580922886Sopenharmony_ci ] 29680922886Sopenharmony_ci 29780922886Sopenharmony_ci if (castplus_cast_engine_enable) { 29880922886Sopenharmony_ci cflags += [ "-DCASTPLUS_CAST_ENGINE_ENABLE" ] 29980922886Sopenharmony_ci external_deps += [ "cast_engine:cast_engine_client" ] 30080922886Sopenharmony_ci service_sources += [ "" ] 30180922886Sopenharmony_ci } 30280922886Sopenharmony_ci 30380922886Sopenharmony_ci if (multimedia_av_session_enable_trace_control) { 30480922886Sopenharmony_ci cflags += [ "-DENBABLE_AVSESSION_TRACE_CONTROL" ] 30580922886Sopenharmony_ci external_deps += [ "hitrace:hitrace_meter" ] 30680922886Sopenharmony_ci } 30780922886Sopenharmony_ci if (multimedia_av_session_enable_sysevent_control) { 30880922886Sopenharmony_ci cflags += [ "-DENABLE_AVSESSION_SYSEVENT_CONTROL" ] 30980922886Sopenharmony_ci external_deps += [ "hisysevent:libhisysevent" ] 31080922886Sopenharmony_ci } 31180922886Sopenharmony_ci 31280922886Sopenharmony_ci subsystem_name = "multimedia" 31380922886Sopenharmony_ci part_name = "av_session" 31480922886Sopenharmony_ci } 31580922886Sopenharmony_ci} 31680922886Sopenharmony_ci 31780922886Sopenharmony_ciohos_shared_library("avsession_dynamic_insight") { 31880922886Sopenharmony_ci install_enable = true 31980922886Sopenharmony_ci sanitize = { 32080922886Sopenharmony_ci cfi = true 32180922886Sopenharmony_ci cfi_cross_dso = true 32280922886Sopenharmony_ci debug = false 32380922886Sopenharmony_ci } 32480922886Sopenharmony_ci 32580922886Sopenharmony_ci sources = [ "adapter/avsession_dynamic_insight.cpp" ] 32680922886Sopenharmony_ci 32780922886Sopenharmony_ci include_dirs = [ 32880922886Sopenharmony_ci "./../../frameworks/native/session/include", 32980922886Sopenharmony_ci "./../../interfaces/inner_api/native/session/include", 33080922886Sopenharmony_ci "./adapter", 33180922886Sopenharmony_ci "ipc/base", 33280922886Sopenharmony_ci ] 33380922886Sopenharmony_ci 33480922886Sopenharmony_ci cflags = [ 33580922886Sopenharmony_ci "-fPIC", 33680922886Sopenharmony_ci "-fdata-sections", 33780922886Sopenharmony_ci "-ffunction-sections", 33880922886Sopenharmony_ci "-fno-asynchronous-unwind-tables", 33980922886Sopenharmony_ci "-fno-unwind-tables", 34080922886Sopenharmony_ci ] 34180922886Sopenharmony_ci 34280922886Sopenharmony_ci if (!use_libfuzzer) { 34380922886Sopenharmony_ci cflags += [ "-flto" ] 34480922886Sopenharmony_ci ldflags = [ 34580922886Sopenharmony_ci "-flto", 34680922886Sopenharmony_ci "-Wl,--gc-sections", 34780922886Sopenharmony_ci ] 34880922886Sopenharmony_ci } 34980922886Sopenharmony_ci cflags_cc = cflags 35080922886Sopenharmony_ci cflags_cc += [ "-fvisibility-inlines-hidden" ] 35180922886Sopenharmony_ci 35280922886Sopenharmony_ci deps = [ 35380922886Sopenharmony_ci "../../frameworks/common:avsession_common", 35480922886Sopenharmony_ci "../../utils:avsession_utils", 35580922886Sopenharmony_ci ] 35680922886Sopenharmony_ci 35780922886Sopenharmony_ci external_deps = [ 35880922886Sopenharmony_ci "ability_base:base", 35980922886Sopenharmony_ci "ability_base:want", 36080922886Sopenharmony_ci "ability_runtime:ability_manager", 36180922886Sopenharmony_ci "bundle_framework:appexecfwk_base", 36280922886Sopenharmony_ci "bundle_framework:appexecfwk_core", 36380922886Sopenharmony_ci "c_utils:utils", 36480922886Sopenharmony_ci "hilog:libhilog", 36580922886Sopenharmony_ci "ipc:ipc_single", 36680922886Sopenharmony_ci "samgr:samgr_proxy", 36780922886Sopenharmony_ci ] 36880922886Sopenharmony_ci 36980922886Sopenharmony_ci subsystem_name = "multimedia" 37080922886Sopenharmony_ci part_name = "av_session" 37180922886Sopenharmony_ci} 37280922886Sopenharmony_ci 37380922886Sopenharmony_ciohos_shared_library("avsession_dynamic_display") { 37480922886Sopenharmony_ci install_enable = true 37580922886Sopenharmony_ci sanitize = { 37680922886Sopenharmony_ci cfi = true 37780922886Sopenharmony_ci cfi_cross_dso = true 37880922886Sopenharmony_ci debug = false 37980922886Sopenharmony_ci } 38080922886Sopenharmony_ci 38180922886Sopenharmony_ci sources = [ 38280922886Sopenharmony_ci "adapter/avsession_dynamic_display.cpp", 38380922886Sopenharmony_ci "adapter/hw_cast_display_listener.cpp", 38480922886Sopenharmony_ci ] 38580922886Sopenharmony_ci 38680922886Sopenharmony_ci include_dirs = [ 38780922886Sopenharmony_ci "./../../frameworks/native/session/include", 38880922886Sopenharmony_ci "./../../interfaces/inner_api/native/session/include", 38980922886Sopenharmony_ci "./adapter", 39080922886Sopenharmony_ci "ipc/base", 39180922886Sopenharmony_ci ] 39280922886Sopenharmony_ci 39380922886Sopenharmony_ci cflags = [ 39480922886Sopenharmony_ci "-fPIC", 39580922886Sopenharmony_ci "-fdata-sections", 39680922886Sopenharmony_ci "-ffunction-sections", 39780922886Sopenharmony_ci "-fno-asynchronous-unwind-tables", 39880922886Sopenharmony_ci "-fno-unwind-tables", 39980922886Sopenharmony_ci ] 40080922886Sopenharmony_ci 40180922886Sopenharmony_ci if (!use_libfuzzer) { 40280922886Sopenharmony_ci cflags += [ "-flto" ] 40380922886Sopenharmony_ci ldflags = [ 40480922886Sopenharmony_ci "-flto", 40580922886Sopenharmony_ci "-Wl,--gc-sections", 40680922886Sopenharmony_ci ] 40780922886Sopenharmony_ci } 40880922886Sopenharmony_ci cflags_cc = cflags 40980922886Sopenharmony_ci cflags_cc += [ "-fvisibility-inlines-hidden" ] 41080922886Sopenharmony_ci 41180922886Sopenharmony_ci deps = [ 41280922886Sopenharmony_ci "../../frameworks/common:avsession_common", 41380922886Sopenharmony_ci "../../utils:avsession_utils", 41480922886Sopenharmony_ci ] 41580922886Sopenharmony_ci 41680922886Sopenharmony_ci external_deps = [ 41780922886Sopenharmony_ci "ability_runtime:wantagent_innerkits", 41880922886Sopenharmony_ci "c_utils:utils", 41980922886Sopenharmony_ci "graphic_surface:surface", 42080922886Sopenharmony_ci "hilog:libhilog", 42180922886Sopenharmony_ci "init:libbegetutil", 42280922886Sopenharmony_ci "input:libmmi-client", 42380922886Sopenharmony_ci "window_manager:libdm", 42480922886Sopenharmony_ci "window_manager:libwm", 42580922886Sopenharmony_ci ] 42680922886Sopenharmony_ci 42780922886Sopenharmony_ci subsystem_name = "multimedia" 42880922886Sopenharmony_ci part_name = "av_session" 42980922886Sopenharmony_ci} 43080922886Sopenharmony_ci 43180922886Sopenharmony_ciohos_shared_library("avsession_item") { 43280922886Sopenharmony_ci install_enable = true 43380922886Sopenharmony_ci sanitize = { 43480922886Sopenharmony_ci cfi = true 43580922886Sopenharmony_ci cfi_cross_dso = true 43680922886Sopenharmony_ci debug = false 43780922886Sopenharmony_ci } 43880922886Sopenharmony_ci ipc_sources = [ 43980922886Sopenharmony_ci "ipc/proxy/avcontroller_callback_proxy.cpp", 44080922886Sopenharmony_ci "ipc/proxy/avsession_callback_proxy.cpp", 44180922886Sopenharmony_ci "ipc/stub/avsession_controller_stub.cpp", 44280922886Sopenharmony_ci "ipc/stub/avsession_stub.cpp", 44380922886Sopenharmony_ci ] 44480922886Sopenharmony_ci 44580922886Sopenharmony_ci service_sources = [ 44680922886Sopenharmony_ci "server/avcontroller_item.cpp", 44780922886Sopenharmony_ci "server/avsession_item.cpp", 44880922886Sopenharmony_ci "server/remote/json_utils.cpp", 44980922886Sopenharmony_ci "server/remote/remote_session_command_process.cpp", 45080922886Sopenharmony_ci "server/remote/remote_session_sink_proxy.cpp", 45180922886Sopenharmony_ci "server/remote/remote_session_source_proxy.cpp", 45280922886Sopenharmony_ci ] 45380922886Sopenharmony_ci 45480922886Sopenharmony_ci adapter_sources = [ 45580922886Sopenharmony_ci "adapter/bundle_status_adapter.cpp", 45680922886Sopenharmony_ci "adapter/collaboration_manager.cpp", 45780922886Sopenharmony_ci "adapter/command_send_limit.cpp", 45880922886Sopenharmony_ci "adapter/plugin_lib.cpp", 45980922886Sopenharmony_ci "adapter/session_xcollie.cpp", 46080922886Sopenharmony_ci ] 46180922886Sopenharmony_ci 46280922886Sopenharmony_ci sources = ipc_sources + adapter_sources + service_sources 46380922886Sopenharmony_ci 46480922886Sopenharmony_ci include_dirs = [ 46580922886Sopenharmony_ci "./../../frameworks/native/session/include", 46680922886Sopenharmony_ci "./../../interfaces/inner_api/native/session/include", 46780922886Sopenharmony_ci "./ipc/base", 46880922886Sopenharmony_ci "./ipc/proxy", 46980922886Sopenharmony_ci "./ipc/stub", 47080922886Sopenharmony_ci "./adapter", 47180922886Sopenharmony_ci "./server", 47280922886Sopenharmony_ci "./server/remote", 47380922886Sopenharmony_ci "//third_party/json/single_include", 47480922886Sopenharmony_ci "$commontype_dir/include", 47580922886Sopenharmony_ci ] 47680922886Sopenharmony_ci 47780922886Sopenharmony_ci cflags = [ 47880922886Sopenharmony_ci "-fPIC", 47980922886Sopenharmony_ci "-fdata-sections", 48080922886Sopenharmony_ci "-ffunction-sections", 48180922886Sopenharmony_ci "-fno-asynchronous-unwind-tables", 48280922886Sopenharmony_ci "-fno-unwind-tables", 48380922886Sopenharmony_ci "-Os", 48480922886Sopenharmony_ci ] 48580922886Sopenharmony_ci 48680922886Sopenharmony_ci if (multimedia_av_session_enable_background_audio_control) { 48780922886Sopenharmony_ci cflags += [ "-DENABLE_BACKGROUND_AUDIO_CONTROL" ] 48880922886Sopenharmony_ci } 48980922886Sopenharmony_ci 49080922886Sopenharmony_ci if (!use_libfuzzer) { 49180922886Sopenharmony_ci cflags += [ "-flto" ] 49280922886Sopenharmony_ci ldflags = [ 49380922886Sopenharmony_ci "-flto", 49480922886Sopenharmony_ci "-Wl,--gc-sections", 49580922886Sopenharmony_ci ] 49680922886Sopenharmony_ci } 49780922886Sopenharmony_ci cflags_cc = cflags 49880922886Sopenharmony_ci cflags_cc += [ "-fvisibility-inlines-hidden" ] 49980922886Sopenharmony_ci 50080922886Sopenharmony_ci defines = [] 50180922886Sopenharmony_ci if (target_cpu == "arm64" || is_emulator) { 50280922886Sopenharmony_ci system_lib_path = "\"/system/lib64/\"" 50380922886Sopenharmony_ci } else { 50480922886Sopenharmony_ci system_lib_path = "\"/system/lib/\"" 50580922886Sopenharmony_ci } 50680922886Sopenharmony_ci defines += [ "SYSTEM_LIB_PATH = ${system_lib_path}" ] 50780922886Sopenharmony_ci 50880922886Sopenharmony_ci deps = [ 50980922886Sopenharmony_ci "../../frameworks/common:avsession_common", 51080922886Sopenharmony_ci "../../utils:avsession_utils", 51180922886Sopenharmony_ci "//third_party/openssl:libcrypto_shared", 51280922886Sopenharmony_ci ] 51380922886Sopenharmony_ci 51480922886Sopenharmony_ci external_deps = [ 51580922886Sopenharmony_ci "ability_base:base", 51680922886Sopenharmony_ci "ability_base:want", 51780922886Sopenharmony_ci "ability_runtime:app_manager", 51880922886Sopenharmony_ci "ability_runtime:wantagent_innerkits", 51980922886Sopenharmony_ci "access_token:libaccesstoken_sdk", 52080922886Sopenharmony_ci "access_token:libtokenid_sdk", 52180922886Sopenharmony_ci "access_token:libtokensetproc_shared", 52280922886Sopenharmony_ci "audio_framework:audio_client", 52380922886Sopenharmony_ci "background_task_mgr:bgtaskmgr_innerkits", 52480922886Sopenharmony_ci "bundle_framework:appexecfwk_base", 52580922886Sopenharmony_ci "bundle_framework:appexecfwk_core", 52680922886Sopenharmony_ci "c_utils:utils", 52780922886Sopenharmony_ci "data_object:distributeddataobject_impl", 52880922886Sopenharmony_ci "device_manager:devicemanagersdk", 52980922886Sopenharmony_ci "graphic_surface:surface", 53080922886Sopenharmony_ci "hilog:libhilog", 53180922886Sopenharmony_ci "input:libmmi-client", 53280922886Sopenharmony_ci "ipc:ipc_single", 53380922886Sopenharmony_ci "jsoncpp:jsoncpp", 53480922886Sopenharmony_ci "safwk:system_ability_fwk", 53580922886Sopenharmony_ci "samgr:samgr_proxy", 53680922886Sopenharmony_ci ] 53780922886Sopenharmony_ci 53880922886Sopenharmony_ci if (castplus_cast_engine_enable) { 53980922886Sopenharmony_ci cflags += [ "-DCASTPLUS_CAST_ENGINE_ENABLE" ] 54080922886Sopenharmony_ci external_deps += [ "cast_engine:cast_engine_client" ] 54180922886Sopenharmony_ci deps += [ 54280922886Sopenharmony_ci "../../frameworks/native/session:avsession_cast_client", 54380922886Sopenharmony_ci "./../session:avsession_cast_item", 54480922886Sopenharmony_ci "./../session:avsession_router", 54580922886Sopenharmony_ci ] 54680922886Sopenharmony_ci } 54780922886Sopenharmony_ci 54880922886Sopenharmony_ci if (bluetooth_part_enable) { 54980922886Sopenharmony_ci cflags += [ "-DBLUETOOTH_ENABLE" ] 55080922886Sopenharmony_ci external_deps += [ "bluetooth:btframework" ] 55180922886Sopenharmony_ci } 55280922886Sopenharmony_ci 55380922886Sopenharmony_ci if (multimedia_av_session_enable_trace_control) { 55480922886Sopenharmony_ci cflags += [ "-DENBABLE_AVSESSION_TRACE_CONTROL" ] 55580922886Sopenharmony_ci external_deps += [ "hitrace:hitrace_meter" ] 55680922886Sopenharmony_ci } 55780922886Sopenharmony_ci if (multimedia_av_session_enable_sysevent_control) { 55880922886Sopenharmony_ci cflags += [ "-DENABLE_AVSESSION_SYSEVENT_CONTROL" ] 55980922886Sopenharmony_ci external_deps += [ "hisysevent:libhisysevent" ] 56080922886Sopenharmony_ci } 56180922886Sopenharmony_ci 56280922886Sopenharmony_ci if (multimedia_av_session_enable_hicollie) { 56380922886Sopenharmony_ci external_deps += [ "hicollie:libhicollie" ] 56480922886Sopenharmony_ci defines += [ "HICOLLIE_ENABLE" ] 56580922886Sopenharmony_ci } 56680922886Sopenharmony_ci 56780922886Sopenharmony_ci if (efficiency_manager_enable_in_avsession) { 56880922886Sopenharmony_ci cflags += [ "-DEFFICIENCY_MANAGER_ENABLE" ] 56980922886Sopenharmony_ci } 57080922886Sopenharmony_ci 57180922886Sopenharmony_ci if (use_libfuzzer || use_clang_coverage) { 57280922886Sopenharmony_ci defines += [ "TEST_COVERAGE" ] 57380922886Sopenharmony_ci } 57480922886Sopenharmony_ci 57580922886Sopenharmony_ci subsystem_name = "multimedia" 57680922886Sopenharmony_ci part_name = "av_session" 57780922886Sopenharmony_ci} 57880922886Sopenharmony_ci 57980922886Sopenharmony_ciohos_shared_library("avsession_cast_item") { 58080922886Sopenharmony_ci install_enable = true 58180922886Sopenharmony_ci sanitize = { 58280922886Sopenharmony_ci cfi = true 58380922886Sopenharmony_ci cfi_cross_dso = true 58480922886Sopenharmony_ci debug = false 58580922886Sopenharmony_ci } 58680922886Sopenharmony_ci ipc_sources = [ 58780922886Sopenharmony_ci "ipc/proxy/avcast_controller_callback_proxy.cpp", 58880922886Sopenharmony_ci "ipc/stub/avcast_controller_stub.cpp", 58980922886Sopenharmony_ci ] 59080922886Sopenharmony_ci 59180922886Sopenharmony_ci service_sources = [ "server/avcast_controller_item.cpp" ] 59280922886Sopenharmony_ci 59380922886Sopenharmony_ci adapter_sources = [ 59480922886Sopenharmony_ci "adapter/bundle_status_adapter.cpp", 59580922886Sopenharmony_ci "adapter/session_xcollie.cpp", 59680922886Sopenharmony_ci ] 59780922886Sopenharmony_ci 59880922886Sopenharmony_ci sources = ipc_sources + adapter_sources + service_sources 59980922886Sopenharmony_ci 60080922886Sopenharmony_ci include_dirs = [ 60180922886Sopenharmony_ci "./../../frameworks/native/session/include", 60280922886Sopenharmony_ci "./../../interfaces/inner_api/native/session/include", 60380922886Sopenharmony_ci "./ipc/base", 60480922886Sopenharmony_ci "./ipc/proxy", 60580922886Sopenharmony_ci "./ipc/stub", 60680922886Sopenharmony_ci "./adapter", 60780922886Sopenharmony_ci "./server", 60880922886Sopenharmony_ci "./server/remote", 60980922886Sopenharmony_ci "//third_party/json/single_include", 61080922886Sopenharmony_ci ] 61180922886Sopenharmony_ci 61280922886Sopenharmony_ci cflags = [ 61380922886Sopenharmony_ci "-fPIC", 61480922886Sopenharmony_ci "-fdata-sections", 61580922886Sopenharmony_ci "-ffunction-sections", 61680922886Sopenharmony_ci "-fno-asynchronous-unwind-tables", 61780922886Sopenharmony_ci "-fno-unwind-tables", 61880922886Sopenharmony_ci "-Os", 61980922886Sopenharmony_ci ] 62080922886Sopenharmony_ci 62180922886Sopenharmony_ci if (multimedia_av_session_enable_background_audio_control) { 62280922886Sopenharmony_ci cflags += [ "-DENABLE_BACKGROUND_AUDIO_CONTROL" ] 62380922886Sopenharmony_ci } 62480922886Sopenharmony_ci 62580922886Sopenharmony_ci if (!use_libfuzzer) { 62680922886Sopenharmony_ci cflags += [ "-flto" ] 62780922886Sopenharmony_ci ldflags = [ 62880922886Sopenharmony_ci "-flto", 62980922886Sopenharmony_ci "-Wl,--gc-sections", 63080922886Sopenharmony_ci ] 63180922886Sopenharmony_ci } 63280922886Sopenharmony_ci cflags_cc = cflags 63380922886Sopenharmony_ci cflags_cc += [ "-fvisibility-inlines-hidden" ] 63480922886Sopenharmony_ci 63580922886Sopenharmony_ci defines = [] 63680922886Sopenharmony_ci if (target_cpu == "arm64" || is_emulator) { 63780922886Sopenharmony_ci system_lib_path = "\"/system/lib64/\"" 63880922886Sopenharmony_ci } else { 63980922886Sopenharmony_ci system_lib_path = "\"/system/lib/\"" 64080922886Sopenharmony_ci } 64180922886Sopenharmony_ci defines += [ "SYSTEM_LIB_PATH = ${system_lib_path}" ] 64280922886Sopenharmony_ci 64380922886Sopenharmony_ci deps = [ 64480922886Sopenharmony_ci "../../frameworks/common:avsession_common", 64580922886Sopenharmony_ci "../../utils:avsession_utils", 64680922886Sopenharmony_ci "//third_party/openssl:libcrypto_shared", 64780922886Sopenharmony_ci ] 64880922886Sopenharmony_ci 64980922886Sopenharmony_ci external_deps = [ 65080922886Sopenharmony_ci "ability_base:base", 65180922886Sopenharmony_ci "ability_base:want", 65280922886Sopenharmony_ci "ability_runtime:app_manager", 65380922886Sopenharmony_ci "ability_runtime:wantagent_innerkits", 65480922886Sopenharmony_ci "access_token:libaccesstoken_sdk", 65580922886Sopenharmony_ci "access_token:libtokenid_sdk", 65680922886Sopenharmony_ci "audio_framework:audio_client", 65780922886Sopenharmony_ci "bundle_framework:appexecfwk_base", 65880922886Sopenharmony_ci "bundle_framework:appexecfwk_core", 65980922886Sopenharmony_ci "c_utils:utils", 66080922886Sopenharmony_ci "data_object:distributeddataobject_impl", 66180922886Sopenharmony_ci "device_manager:devicemanagersdk", 66280922886Sopenharmony_ci "graphic_surface:surface", 66380922886Sopenharmony_ci "hilog:libhilog", 66480922886Sopenharmony_ci "input:libmmi-client", 66580922886Sopenharmony_ci "ipc:ipc_single", 66680922886Sopenharmony_ci "safwk:system_ability_fwk", 66780922886Sopenharmony_ci "samgr:samgr_proxy", 66880922886Sopenharmony_ci ] 66980922886Sopenharmony_ci 67080922886Sopenharmony_ci if (castplus_cast_engine_enable) { 67180922886Sopenharmony_ci cflags += [ "-DCASTPLUS_CAST_ENGINE_ENABLE" ] 67280922886Sopenharmony_ci external_deps += [ "cast_engine:cast_engine_client" ] 67380922886Sopenharmony_ci deps += [ "./../session:avsession_router" ] 67480922886Sopenharmony_ci } 67580922886Sopenharmony_ci 67680922886Sopenharmony_ci if (multimedia_av_session_enable_trace_control) { 67780922886Sopenharmony_ci cflags += [ "-DENBABLE_AVSESSION_TRACE_CONTROL" ] 67880922886Sopenharmony_ci external_deps += [ "hitrace:hitrace_meter" ] 67980922886Sopenharmony_ci } 68080922886Sopenharmony_ci if (multimedia_av_session_enable_sysevent_control) { 68180922886Sopenharmony_ci cflags += [ "-DENABLE_AVSESSION_SYSEVENT_CONTROL" ] 68280922886Sopenharmony_ci external_deps += [ "hisysevent:libhisysevent" ] 68380922886Sopenharmony_ci } 68480922886Sopenharmony_ci 68580922886Sopenharmony_ci if (multimedia_av_session_enable_hicollie) { 68680922886Sopenharmony_ci external_deps += [ "hicollie:libhicollie" ] 68780922886Sopenharmony_ci defines += [ "HICOLLIE_ENABLE" ] 68880922886Sopenharmony_ci } 68980922886Sopenharmony_ci 69080922886Sopenharmony_ci subsystem_name = "multimedia" 69180922886Sopenharmony_ci part_name = "av_session" 69280922886Sopenharmony_ci} 693