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. 13 14import("//base/hiviewdfx/hitrace/hitrace.gni") 15import("//build/ohos.gni") 16 17config("libhitrace_pub_config") { 18 visibility = [ ":*" ] 19 20 include_dirs = [ "include" ] 21} 22 23ohos_shared_library("libhitracechain") { 24 branch_protector_ret = "pac_ret" 25 public_configs = [ ":libhitrace_pub_config" ] 26 27 deps = [ "$hitrace_frameworks_path/native:hitracechain_source" ] 28 29 cflags = [ "-fstack-protector-strong" ] 30 31 if (defined(ohos_lite)) { 32 external_deps = [ "hilog_lite:hilog_lite" ] 33 } else { 34 external_deps = [ "hilog:libhilog" ] 35 } 36 37 output_extension = "so" 38 if (build_public_version) { 39 install_enable = true 40 } else { 41 install_enable = false 42 } 43 44 innerapi_tags = [ 45 "chipsetsdk_indirect", 46 "platformsdk", 47 ] 48 49 version_script = "libhitracechain.map" 50 51 install_images = [ 52 "system", 53 "updater", 54 ] 55 56 part_name = "hitrace" 57 subsystem_name = "hiviewdfx" 58} 59 60config("hitrace_meter_config") { 61 visibility = [ ":*" ] 62 include_dirs = [ "include/hitrace_meter" ] 63} 64 65ohos_static_library("hitrace_inner") { 66 branch_protector_ret = "pac_ret" 67 include_dirs = [ 68 "include/hitrace_meter", 69 "include", 70 "$hitrace_frameworks_path/include/", 71 ] 72 sources = [ 73 "src/hitrace_meter.cpp", 74 "src/hitrace_meter_c.c", 75 "src/hitrace_meter_wrapper.cpp", 76 ] 77 78 external_deps = [ 79 "bounds_checking_function:libsec_shared", 80 "init:libbeget_proxy", 81 "init:libbegetutil", 82 ] 83 84 if (defined(ohos_lite)) { 85 external_deps += [ "hilog_lite:hilog_lite" ] 86 } else { 87 external_deps += [ "hilog:libhilog" ] 88 } 89 90 part_name = "hitrace" 91 subsystem_name = "hiviewdfx" 92} 93 94config("hitrace_dump_config") { 95 visibility = [ ":*" ] 96 include_dirs = [ "include" ] 97} 98 99ohos_shared_library("hitrace_dump") { 100 include_dirs = [ 101 "include", 102 "$hitrace_cmd_path/include", 103 "$hitrace_frameworks_path/include", 104 ] 105 public_configs = [ ":hitrace_dump_config" ] 106 sources = [ 107 "$hitrace_cmd_path/src/hitrace_osal.cpp", 108 "$hitrace_frameworks_path/native/common_utils.cpp", 109 "$hitrace_frameworks_path/native/dynamic_buffer.cpp", 110 "src/hitrace_dump.cpp", 111 ] 112 113 if (hitrace_double_tracebuffer_size) { 114 defines = [ "DOUBLE_TRACEBUFFER_ENABLE" ] 115 } 116 117 deps = [ "$hitrace_config_path:hitrace_tags" ] 118 119 external_deps = [ 120 "bounds_checking_function:libsec_shared", 121 "cJSON:cjson", 122 "init:libbegetutil", 123 ] 124 125 if (defined(ohos_lite)) { 126 external_deps += [ "hilog_lite:hilog_lite" ] 127 } else { 128 external_deps += [ "hilog:libhilog" ] 129 } 130 version_script = "hitrace.map" 131 innerapi_tags = [ "platformsdk" ] 132 part_name = "hitrace" 133 subsystem_name = "hiviewdfx" 134} 135 136ohos_shared_library("hitrace_meter") { 137 branch_protector_ret = "pac_ret" 138 public_configs = [ ":hitrace_meter_config" ] 139 deps = [ 140 ":hitrace_etc", 141 ":hitrace_inner", 142 ":libhitracechain", 143 ] 144 145 external_deps = [ "bounds_checking_function:libsec_shared" ] 146 if (defined(ohos_lite)) { 147 external_deps += [ "hilog_lite:hilog_lite" ] 148 } else { 149 external_deps += [ "hilog:libhilog" ] 150 } 151 version_script = "hitrace.map" 152 output_extension = "so" 153 154 innerapi_tags = [ 155 "chipsetsdk", 156 "platformsdk", 157 "sasdk", 158 ] 159 part_name = "hitrace" 160 install_images = [ 161 "system", 162 "updater", 163 ] 164 subsystem_name = "hiviewdfx" 165} 166 167ohos_prebuilt_etc("hitrace.para") { 168 source = "hitrace.para" 169 install_images = [ 170 "system", 171 "updater", 172 ] 173 module_install_dir = "etc/param" 174 part_name = "hitrace" 175 subsystem_name = "hiviewdfx" 176} 177 178ohos_prebuilt_etc("hitrace.para.dac") { 179 source = "hitrace.para.dac" 180 install_images = [ 181 "system", 182 "updater", 183 ] 184 module_install_dir = "etc/param" 185 part_name = "hitrace" 186 subsystem_name = "hiviewdfx" 187} 188 189group("hitrace_etc") { 190 deps = [ 191 ":hitrace.para", 192 ":hitrace.para.dac", 193 ] 194} 195