1# Copyright (c) 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("//third_party/bounds_checking_function/libsec_src.gni")
15import("$build_root/ark.gni")
16
17config("libsec_public_config") {
18  include_dirs = [ "//third_party/bounds_checking_function/include" ]
19}
20
21ohos_static_library("libsec_static") {
22  stack_protector_ret = false
23  sources = libsec_sources
24  public_configs = [ ":libsec_public_config" ]
25  cflags = [
26    "-D_INC_STRING_S",
27    "-D_INC_WCHAR_S",
28    "-D_SECIMP=//",
29    "-D_STDIO_S_DEFINED",
30    "-D_INC_STDIO_S",
31    "-D_INC_STDLIB_S",
32    "-D_INC_MEMORY_S",
33  ]
34}
35
36SEC_SHARED_SUBSYS_NAME = "thirdparty"
37SEC_SHARED_PART_NAME = "bounds_checking_function"
38
39ohos_shared_library("libsec_shared") {
40  stack_protector_ret = false
41  sources = libsec_sources
42  public_configs = [ ":libsec_public_config" ]
43  cflags = [
44    "-D_INC_STRING_S",
45    "-D_INC_WCHAR_S",
46    "-D_SECIMP=//",
47    "-D_STDIO_S_DEFINED",
48    "-D_INC_STDIO_S",
49    "-D_INC_STDLIB_S",
50    "-D_INC_MEMORY_S",
51  ]
52
53  part_name = "${SEC_SHARED_PART_NAME}"
54  subsystem_name = "${SEC_SHARED_SUBSYS_NAME}"
55  install_images = [
56    "system",
57    "updater",
58  ]
59}
60if (is_ohos && run_with_qemu) {
61  copy("libsec_shared_for_qemu") {
62    deps = [ ":libsec_shared" ]
63
64    sources = [ "${root_out_dir}/${SEC_SHARED_SUBSYS_NAME}/${SEC_SHARED_PART_NAME}/libsec_shared.so" ]
65    outputs = [ "${root_out_dir}/${so_dir_for_qemu}/lib/libsec_shared.so" ]
66  }
67}
68