1fb726d48Sopenharmony_ci# Copyright (c) Huawei Technologies Co., Ltd. 2023. All rights reserved.
2fb726d48Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3fb726d48Sopenharmony_ci# you may not use this file except in compliance with the License.
4fb726d48Sopenharmony_ci# You may obtain a copy of the License at
5fb726d48Sopenharmony_ci#
6fb726d48Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7fb726d48Sopenharmony_ci#
8fb726d48Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9fb726d48Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10fb726d48Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11fb726d48Sopenharmony_ci# See the License for the specific language governing permissions and
12fb726d48Sopenharmony_ci# limitations under the License.
13fb726d48Sopenharmony_ci
14fb726d48Sopenharmony_ciimport("//build/ohos.gni")
15fb726d48Sopenharmony_ciimport("../../../build/ts.gni")
16fb726d48Sopenharmony_ciOHOS_PROFILER_3RDPARTY_PROTOBUF_DIR = "${THIRD_PARTY}/protobuf"
17fb726d48Sopenharmony_ciproto_dir = "${THIRD_PARTY}/protogen"
18fb726d48Sopenharmony_cimock_dir = "$proto_dir/types/plugins/mock_data"
19fb726d48Sopenharmony_ciconfig("ts_proto_include_config") {
20fb726d48Sopenharmony_ci  include_dirs = []
21fb726d48Sopenharmony_ci}
22fb726d48Sopenharmony_cisource_set("ts_proto_data_cpp") {
23fb726d48Sopenharmony_ci  public_deps = [
24fb726d48Sopenharmony_ci    "${OHOS_PROFILER_3RDPARTY_PROTOBUF_DIR}:protobuf_lite_static",
25fb726d48Sopenharmony_ci    "${OHOS_PROFILER_3RDPARTY_PROTOBUF_DIR}:protobuf_static",
26fb726d48Sopenharmony_ci  ]
27fb726d48Sopenharmony_ci  cflags = [
28fb726d48Sopenharmony_ci    "-ftrapv",
29fb726d48Sopenharmony_ci    "-D_FORTIFY_SOURCE=2 -O2",
30fb726d48Sopenharmony_ci    "-Wno-zero-length-array",
31fb726d48Sopenharmony_ci    "-std=c++17",
32fb726d48Sopenharmony_ci  ]
33fb726d48Sopenharmony_ci
34fb726d48Sopenharmony_ci  if (!is_win) {
35fb726d48Sopenharmony_ci    print("xxx")
36fb726d48Sopenharmony_ci    cflags += [
37fb726d48Sopenharmony_ci      "-fPIE",
38fb726d48Sopenharmony_ci      "-fPIC",
39fb726d48Sopenharmony_ci    ]
40fb726d48Sopenharmony_ci  }
41fb726d48Sopenharmony_ci  if (!use_wasm) {
42fb726d48Sopenharmony_ci    cflags += [
43fb726d48Sopenharmony_ci      "-fstack-protector-strong",  #
44fb726d48Sopenharmony_ci      "-fstack-protector-all",
45fb726d48Sopenharmony_ci    ]
46fb726d48Sopenharmony_ci  }
47fb726d48Sopenharmony_ci
48fb726d48Sopenharmony_ci  public_configs = [ ":ts_proto_include_config" ]
49fb726d48Sopenharmony_ci  sources = [ "${mock_dir}/mock_plugin_result.pb.cc" ]
50fb726d48Sopenharmony_ci}
51