1# Copyright (C) 2021-2022 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.
13import("//build/ohos.gni")
14
15SUBSYSTEM_DIR = "../../../"
16TELEPHONY_CORE_SERVICE_ROOT = "$SUBSYSTEM_DIR/core_service"
17TELEPHONY_INTERFACES_INNERKITS =
18    "$TELEPHONY_CORE_SERVICE_ROOT/interfaces/innerkits"
19TELEPHONY_FRAMEWORKS_NATIVE_ROOT =
20    "$TELEPHONY_CORE_SERVICE_ROOT/frameworks/native/"
21TELEPHONY_IMS_CORE_SERVICE_ROOT =
22    "$TELEPHONY_CORE_SERVICE_ROOT/services/ims_service_interaction"
23
24config("tel_core_service_api_config") {
25  # header file path
26  include_dirs = [
27    "$TELEPHONY_INTERFACES_INNERKITS/include",
28    "$TELEPHONY_INTERFACES_INNERKITS/ims/include",
29    "$TELEPHONY_INTERFACES_INNERKITS/satellite",
30  ]
31
32  cflags = []
33  if (is_double_framework) {
34    cflags = [ "-DCONFIG_DUAL_FRAMEWORK" ]
35  }
36  if (target_cpu == "arm") {
37    cflags += [ "-DBINDER_IPC_32BIT" ]
38  }
39  if (is_standard_system) {
40    cflags += [ "-DCONFIG_STANDARD_SYSTEM" ]
41  }
42  if (defined(build_public_version) && build_public_version) {
43    cflags += [ "-DBUILD_PUBLIC_VERSION" ]
44  }
45}
46
47ohos_shared_library("tel_core_service_api") {
48  sanitize = {
49    cfi = true
50    cfi_cross_dso = true
51    debug = false
52  }
53  branch_protector_ret = "pac_ret"
54  sources = [
55    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/cell_information.cpp",
56    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/cell_location.cpp",
57    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/core_manager_inner.cpp",
58    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/core_service_client.cpp",
59    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/core_service_proxy.cpp",
60    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/i_network_search_callback_stub.cpp",
61    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/ims_reg_info_callback_stub.cpp",
62    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/network_information.cpp",
63    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/network_search_result.cpp",
64    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/network_state.cpp",
65    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/nr_ssb_information.cpp",
66    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/operator_config_types.cpp",
67    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/resource_utils.cpp",
68    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/signal_information.cpp",
69    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/tel_ril_base_parcel.cpp",
70    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/telephony_state_registry_client.cpp",
71    "$TELEPHONY_FRAMEWORKS_NATIVE_ROOT/src/telephony_state_registry_proxy.cpp",
72    "$TELEPHONY_IMS_CORE_SERVICE_ROOT/src/ims_core_service_callback_proxy.cpp",
73  ]
74
75  version_script =
76      "$TELEPHONY_INTERFACES_INNERKITS/libtel_core_service_api.versionscript"
77
78  defines = [
79    "TELEPHONY_LOG_TAG = \"CoreServiceApi\"",
80    "LOG_DOMAIN = 0xD001F04",
81  ]
82
83  public_configs = [ "$TELEPHONY_CORE_SERVICE_ROOT/utils:telephony_log_config" ]
84
85  public_configs += [ ":tel_core_service_api_config" ]
86
87  external_deps = [
88    "ability_base:want",
89    "bundle_framework:appexecfwk_base",
90    "bundle_framework:appexecfwk_core",
91    "c_utils:utils",
92    "eventhandler:libeventhandler",
93    "hilog:libhilog",
94    "init:libbegetutil",
95    "ipc:ipc_single",
96    "resource_management:global_resmgr",
97    "samgr:samgr_proxy",
98  ]
99
100  cflags_cc = [
101    "-O2",
102    "-D_FORTIFY_SOURCE=2",
103  ]
104
105  innerapi_tags = [ "platformsdk" ]
106  part_name = "core_service"
107  subsystem_name = "telephony"
108}
109