1# Copyright (c) 2025 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") 15 16ohos_shared_library("mechbody_service") { 17 branch_protector_ret = "pac_ret" 18 sanitize = { 19 boundary_sanitize = true 20 cfi = true 21 cfi_cross_dso = true 22 debug = false 23 integer_overflow = true 24 ubsan = true 25 } 26 27 install_enable = true 28 29 cflags = [ 30 "-frtti", 31 "-fpie", 32 ] 33 34 sources = [ 35 "src/connect/bluetooth_state_adapter.cpp", 36 "src/connect/bluetooth_state_listener.cpp", 37 "src/connect/mc_connect_manager.cpp", 38 "src/controller/mc_camera_tracking_controller.cpp", 39 "src/controller/mc_controller_ipc_death_listener.cpp", 40 "src/controller/mc_controller_manager.cpp", 41 "src/transport/mc_send_adapter.cpp", 42 "src/mechbody_controller_service.cpp", 43 "src/mechbody_controller_stub.cpp", 44 "src/mechbody_controller_utils.cpp", 45 "src/motion/mc_motion_manager.cpp", 46 "src/transport/command/mc_command_base.cpp", 47 "src/transport/command/mc_command_factory.cpp", 48 "src/transport/command/mc_get_mech_camera_tracking_layout_cmd.cpp", 49 "src/transport/command/mc_get_mech_capability_info_cmd.cpp", 50 "src/transport/command/mc_register_mech_camera_key_event_cmd.cpp", 51 "src/transport/command/mc_register_mech_control_result_cmd.cpp", 52 "src/transport/command/mc_register_mech_position_info_cmd.cpp", 53 "src/transport/command/mc_register_mech_state_info_cmd.cpp", 54 "src/transport/command/mc_register_mech_tracking_enable_cmd.cpp", 55 "src/transport/command/mc_register_mech_wheel_data_cmd.cpp", 56 "src/transport/command/mc_set_mech_camera_info_cmd.cpp", 57 "src/transport/command/mc_set_mech_camera_tracking_enable_cmd.cpp", 58 "src/transport/command/mc_set_mech_camera_tracking_frame_cmd.cpp", 59 "src/transport/command/mc_set_mech_camera_tracking_layout_cmd.cpp", 60 "src/transport/command/mc_set_mech_config_cmd.cpp", 61 "src/transport/command/mc_set_mech_hid_preemptive_cmd.cpp", 62 "src/transport/command/mc_set_mech_rotation_by_speed_cmd.cpp", 63 "src/transport/command/mc_set_mech_rotation_cmd.cpp", 64 "src/transport/command/mc_set_mech_rotation_trace_cmd.cpp", 65 "src/transport/command/mc_set_mech_stop_cmd.cpp", 66 "src/transport/mc_data_buffer.cpp", 67 "src/transport/mc_protocol_convertor.cpp", 68 "src/transport/mc_subscription_center.cpp", 69 "src/ble_send_manager.cpp", 70 ] 71 72 include_dirs = [ 73 "include", 74 "include/connect", 75 "include/controller", 76 "include/motion", 77 "include/transport", 78 "include/transport/command", 79 "//foundation/distributedhardware/mechbody_controller/interface/inner_api", 80 ] 81 82 ldflags = [ 83 "-Wl,-z,relro", 84 "-Wl,-z,now", 85 ] 86 87 external_deps = [ 88 "ability_base:base", 89 "access_token:libaccesstoken_sdk", 90 "access_token:libtokenid_sdk", 91 "access_token:libtokensetproc_shared", 92 "bluetooth:btframework", 93 "bluetooth:btcommon", 94 "camera_framework:camera_framework", 95 "cJSON:cjson", 96 "c_utils:utils", 97 "eventhandler:libeventhandler", 98 "graphic_surface:surface", 99 "hilog:libhilog", 100 "init:libbegetutil", 101 "input:libmmi-client", 102 "input:oh_input_manager", 103 "ipc:ipc_core", 104 "os_account:libaccountkits", 105 "os_account:os_account_innerkits", 106 "safwk:system_ability_fwk", 107 "samgr:samgr_proxy", 108 "sensor:sensor_interface_native", 109 "window_manager:libdm_lite" 110 ] 111 112 install_images = [ system_base_dir ] 113 part_name = "mechbody_controller" 114 subsystem_name = "distributedhardware" 115} 116