1e1c44949Sopenharmony_ci# Copyright (C) 2021-2023 Huawei Device Co., Ltd.
2e1c44949Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3e1c44949Sopenharmony_ci# you may not use this file except in compliance with the License.
4e1c44949Sopenharmony_ci# You may obtain a copy of the License at
5e1c44949Sopenharmony_ci#
6e1c44949Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7e1c44949Sopenharmony_ci#
8e1c44949Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9e1c44949Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10e1c44949Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11e1c44949Sopenharmony_ci# See the License for the specific language governing permissions and
12e1c44949Sopenharmony_ci# limitations under the License.
13e1c44949Sopenharmony_ci
14e1c44949Sopenharmony_ciimport("//build/ohos.gni")
15e1c44949Sopenharmony_ciimport("callmanager.gni")
16e1c44949Sopenharmony_ci
17e1c44949Sopenharmony_ciohos_shared_library("tel_call_manager") {
18e1c44949Sopenharmony_ci  sanitize = {
19e1c44949Sopenharmony_ci    cfi = true
20e1c44949Sopenharmony_ci    cfi_cross_dso = true
21e1c44949Sopenharmony_ci    debug = false
22e1c44949Sopenharmony_ci    cfi_vcall_icall_only = true
23e1c44949Sopenharmony_ci  }
24e1c44949Sopenharmony_ci  branch_protector_ret = "pac_ret"
25e1c44949Sopenharmony_ci  sources = call_manager_sources
26e1c44949Sopenharmony_ci
27e1c44949Sopenharmony_ci  include_dirs = call_manager_include_dirs
28e1c44949Sopenharmony_ci
29e1c44949Sopenharmony_ci  deps = [
30e1c44949Sopenharmony_ci    "frameworks/native:tel_call_manager_api",
31e1c44949Sopenharmony_ci    "//third_party/cJSON:cjson",
32e1c44949Sopenharmony_ci    "//third_party/libphonenumber/cpp:phonenumber_standard",
33e1c44949Sopenharmony_ci  ]
34e1c44949Sopenharmony_ci
35e1c44949Sopenharmony_ci  external_deps = call_manager_external_deps
36e1c44949Sopenharmony_ci
37e1c44949Sopenharmony_ci  cflags_cc = [
38e1c44949Sopenharmony_ci    "-Wunused",
39e1c44949Sopenharmony_ci    "-Wunreachable-code",
40e1c44949Sopenharmony_ci    "-fno-exceptions",
41e1c44949Sopenharmony_ci    "-fno-rtti",
42e1c44949Sopenharmony_ci    "-fstack-protector-all",
43e1c44949Sopenharmony_ci    "-Os",
44e1c44949Sopenharmony_ci    "-D_FORTIFY_SOURCE=2",
45e1c44949Sopenharmony_ci    "-flto",
46e1c44949Sopenharmony_ci    "-Wno-unused-but-set-variable",
47e1c44949Sopenharmony_ci    "-fdata-sections",
48e1c44949Sopenharmony_ci    "-ffunction-sections",
49e1c44949Sopenharmony_ci    "-fno-asynchronous-unwind-tables",
50e1c44949Sopenharmony_ci    "-fno-unwind-tables",
51e1c44949Sopenharmony_ci    "-fvisibility=hidden",
52e1c44949Sopenharmony_ci  ]
53e1c44949Sopenharmony_ci
54e1c44949Sopenharmony_ci  ldflags = [
55e1c44949Sopenharmony_ci    "-flto",
56e1c44949Sopenharmony_ci    "-Wl,--gc-sections",
57e1c44949Sopenharmony_ci  ]
58e1c44949Sopenharmony_ci
59e1c44949Sopenharmony_ci  defines = [
60e1c44949Sopenharmony_ci    "TELEPHONY_LOG_TAG = \"CallManager\"",
61e1c44949Sopenharmony_ci    "LOG_DOMAIN = 0xD001F10",
62e1c44949Sopenharmony_ci  ]
63e1c44949Sopenharmony_ci  defines += call_manager_defines
64e1c44949Sopenharmony_ci
65e1c44949Sopenharmony_ci  part_name = "call_manager"
66e1c44949Sopenharmony_ci  subsystem_name = "telephony"
67e1c44949Sopenharmony_ci}
68