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# GLIB - Library of useful routines for C programming
14
15import("//build/ohos.gni")
16
17config("tel_sms_mms_config") {
18  visibility = [ "./*" ]
19  include_dirs = [
20    "utils",
21    "services/sms/include",
22    "services/sms/include/cdma",
23    "services/sms/include/gsm",
24    "services/sms/include/satellite",
25    "services/mms/include",
26    "services/telephony_ext_wrapper/include",
27  ]
28}
29
30ohos_shared_library("tel_sms_mms") {
31  sanitize = {
32    cfi = true
33    cfi_cross_dso = true
34    debug = false
35  }
36  branch_protector_ret = "pac_ret"
37  sources = [
38    "frameworks/native/sms/src/short_message.cpp",
39    "services/mms/data_request.cpp",
40    "services/mms/mms_apn_info.cpp",
41    "services/mms/mms_conn_callback_stub.cpp",
42    "services/mms/mms_network_client.cpp",
43    "services/mms/mms_network_manager.cpp",
44    "services/mms/mms_persist_helper.cpp",
45    "services/mms/mms_receive.cpp",
46    "services/mms/mms_receive_manager.cpp",
47    "services/mms/mms_send_manager.cpp",
48    "services/mms/mms_sender.cpp",
49    "services/sms/cdma/cdma_sms_message.cpp",
50    "services/sms/cdma/cdma_sms_parameter_record.cpp",
51    "services/sms/cdma/cdma_sms_receive_handler.cpp",
52    "services/sms/cdma/cdma_sms_sender.cpp",
53    "services/sms/cdma/cdma_sms_sub_parameter.cpp",
54    "services/sms/cdma/cdma_sms_teleservice_message.cpp",
55    "services/sms/cdma/cdma_sms_transport_message.cpp",
56    "services/sms/gsm/cb_start_ability.cpp",
57    "services/sms/gsm/gsm_sms_cb_handler.cpp",
58    "services/sms/gsm/gsm_sms_common_utils.cpp",
59    "services/sms/gsm/gsm_sms_message.cpp",
60    "services/sms/gsm/gsm_sms_param_codec.cpp",
61    "services/sms/gsm/gsm_sms_param_decode.cpp",
62    "services/sms/gsm/gsm_sms_param_encode.cpp",
63    "services/sms/gsm/gsm_sms_receive_handler.cpp",
64    "services/sms/gsm/gsm_sms_sender.cpp",
65    "services/sms/gsm/gsm_sms_tpdu_codec.cpp",
66    "services/sms/gsm/gsm_sms_tpdu_decode.cpp",
67    "services/sms/gsm/gsm_sms_tpdu_encode.cpp",
68    "services/sms/gsm/gsm_user_data_decode.cpp",
69    "services/sms/gsm/gsm_user_data_encode.cpp",
70    "services/sms/gsm/gsm_user_data_pdu.cpp",
71    "services/sms/gsm_cb_codec.cpp",
72    "services/sms/gsm_cb_gsm_codec.cpp",
73    "services/sms/gsm_cb_pdu_decode_buffer.cpp",
74    "services/sms/gsm_cb_umts_codec.cpp",
75    "services/sms/ims_reg_state_callback_stub.cpp",
76    "services/sms/ims_service_interaction/src/ims_sms_callback_stub.cpp",
77    "services/sms/ims_service_interaction/src/ims_sms_client.cpp",
78    "services/sms/ims_service_interaction/src/ims_sms_proxy.cpp",
79    "services/sms/proxy/sms_delivery_short_message_proxy.cpp",
80    "services/sms/proxy/sms_send_short_message_proxy.cpp",
81    "services/sms/satellite_service_interaction/src/satellite_sms_callback.cpp",
82    "services/sms/satellite_service_interaction/src/satellite_sms_callback_stub.cpp",
83    "services/sms/satellite_service_interaction/src/satellite_sms_client.cpp",
84    "services/sms/satellite_service_interaction/src/satellite_sms_proxy.cpp",
85    "services/sms/sms_base_message.cpp",
86    "services/sms/sms_broadcast_subscriber_receiver.cpp",
87    "services/sms/sms_dump_helper.cpp",
88    "services/sms/sms_interface_manager.cpp",
89    "services/sms/sms_interface_stub.cpp",
90    "services/sms/sms_misc_manager.cpp",
91    "services/sms/sms_network_policy_manager.cpp",
92    "services/sms/sms_pdu_buffer.cpp",
93    "services/sms/sms_persist_helper.cpp",
94    "services/sms/sms_receive_handler.cpp",
95    "services/sms/sms_receive_indexer.cpp",
96    "services/sms/sms_receive_manager.cpp",
97    "services/sms/sms_receive_reliability_handler.cpp",
98    "services/sms/sms_send_indexer.cpp",
99    "services/sms/sms_send_manager.cpp",
100    "services/sms/sms_sender.cpp",
101    "services/sms/sms_service.cpp",
102    "services/sms/sms_state_handler.cpp",
103    "services/sms/sms_state_observer.cpp",
104    "services/sms/sms_wap_push_buffer.cpp",
105    "services/sms/sms_wap_push_content_type.cpp",
106    "services/sms/sms_wap_push_handler.cpp",
107    "services/telephony_ext_wrapper/src/telephony_ext_wrapper.cpp",
108    "utils/sms_common_utils.cpp",
109    "utils/sms_hisysevent.cpp",
110    "utils/string_utils.cpp",
111    "utils/text_coder.cpp",
112  ]
113
114  include_dirs = [
115    ":tel_sms_mms_config",
116    "interfaces/innerkits/",
117    "frameworks/native/sms/include",
118    "interfaces/innerkits/ims",
119  ]
120
121  deps = [
122    "frameworks/native:tel_sms_mms_api",
123    "frameworks/native/mms:mms_native_source",
124  ]
125
126  external_deps = [
127    "ability_base:want",
128    "ability_base:zuri",
129    "ability_runtime:ability_manager",
130    "c_utils:utils",
131    "common_event_service:cesfwk_innerkits",
132    "core_service:libtel_common",
133    "core_service:tel_core_service_api",
134    "curl:curl_shared",
135    "data_share:datashare_consumer",
136    "eventhandler:libeventhandler",
137    "glib:glib",
138    "hilog:libhilog",
139    "hisysevent:libhisysevent",
140    "icu:shared_icui18n",
141    "icu:shared_icuuc",
142    "ipc:ipc_single",
143    "libphonenumber:geocoding",
144    "libphonenumber:phonenumber_standard",
145    "netmanager_base:net_conn_manager_if",
146    "netstack:http_client",
147    "os_account:os_account_innerkits",
148    "protobuf:protobuf",
149    "resource_management:global_resmgr",
150    "safwk:system_ability_fwk",
151    "telephony_data:tel_telephony_data",
152  ]
153
154  defines = [
155    "TELEPHONY_LOG_TAG = \"SmsMms\"",
156    "LOG_DOMAIN = 0xD001F06",
157  ]
158
159  if (defined(global_parts_info) &&
160      defined(global_parts_info.powermgr_power_manager) &&
161      global_parts_info.powermgr_power_manager) {
162    external_deps += [ "power_manager:powermgr_client" ]
163    defines += [ "ABILITY_POWER_SUPPORT" ]
164  }
165
166  public_configs = [ ":tel_sms_mms_config" ]
167
168  cflags = [
169    "-fstack-protector-strong",
170    "-D_FORTIFY_SOURCE=2",
171    "-O2",
172  ]
173
174  if (is_standard_system) {
175    external_deps += [ "init:libbegetutil" ]
176  }
177
178  if (defined(global_parts_info) &&
179      defined(global_parts_info.telephony_telephony_enhanced) &&
180      global_parts_info.telephony_telephony_enhanced) {
181    print(
182        "telephony_telephony_enhanced = ${global_parts_info.telephony_telephony_enhanced}")
183    defines += [ "OHOS_BUILD_ENABLE_TELEPHONY_EXT" ]
184  }
185
186  part_name = "sms_mms"
187  subsystem_name = "telephony"
188}
189