1b1994897Sopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd.
2b1994897Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3b1994897Sopenharmony_ci# you may not use this file except in compliance with the License.
4b1994897Sopenharmony_ci# You may obtain a copy of the License at
5b1994897Sopenharmony_ci#
6b1994897Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0
7b1994897Sopenharmony_ci#
8b1994897Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9b1994897Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10b1994897Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11b1994897Sopenharmony_ci# See the License for the specific language governing permissions and
12b1994897Sopenharmony_ci# limitations under the License.
13b1994897Sopenharmony_ci
14b1994897Sopenharmony_ciimport("//arkcompiler/runtime_core/ark_config.gni")
15b1994897Sopenharmony_ciimport("//build/ohos.gni")
16b1994897Sopenharmony_ci
17b1994897Sopenharmony_ciconfig("libsec_public_config") {
18b1994897Sopenharmony_ci  include_dirs = [ "$ark_third_party_root/utils_native/base/include" ]
19b1994897Sopenharmony_ci}
20b1994897Sopenharmony_ci
21b1994897Sopenharmony_cilibsec_sources = [
22b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/fscanf_s.c",
23b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/fwscanf_s.c",
24b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/gets_s.c",
25b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/memcpy_s.c",
26b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/memmove_s.c",
27b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/memset_s.c",
28b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/scanf_s.c",
29b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/securecutil.c",
30b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/secureinput_a.c",
31b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/secureinput_w.c",
32b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/secureprintoutput_a.c",
33b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/secureprintoutput_w.c",
34b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/snprintf_s.c",
35b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/sprintf_s.c",
36b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/sscanf_s.c",
37b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/strcat_s.c",
38b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/strcpy_s.c",
39b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/strncat_s.c",
40b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/strncpy_s.c",
41b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/strtok_s.c",
42b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/swprintf_s.c",
43b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/swscanf_s.c",
44b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/vfscanf_s.c",
45b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/vfwscanf_s.c",
46b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/vscanf_s.c",
47b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/vsnprintf_s.c",
48b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/vsprintf_s.c",
49b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/vsscanf_s.c",
50b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/vswprintf_s.c",
51b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/vswscanf_s.c",
52b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/vwscanf_s.c",
53b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/wcscat_s.c",
54b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/wcscpy_s.c",
55b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/wcsncat_s.c",
56b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/wcsncpy_s.c",
57b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/wcstok_s.c",
58b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/wmemcpy_s.c",
59b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/wmemmove_s.c",
60b1994897Sopenharmony_ci  "$ark_third_party_root/utils_native/base/src/securec/wscanf_s.c",
61b1994897Sopenharmony_ci]
62b1994897Sopenharmony_ci
63b1994897Sopenharmony_ciohos_static_library("libc_secstatic") {
64b1994897Sopenharmony_ci  stack_protector_ret = false
65b1994897Sopenharmony_ci  sources = libsec_sources
66b1994897Sopenharmony_ci  public_configs = [ ":libsec_public_config" ]
67b1994897Sopenharmony_ci  cflags = [
68b1994897Sopenharmony_ci    "-D_INC_STRING_S",
69b1994897Sopenharmony_ci    "-D_INC_WCHAR_S",
70b1994897Sopenharmony_ci    "-D_SECIMP=//",
71b1994897Sopenharmony_ci    "-D_STDIO_S_DEFINED",
72b1994897Sopenharmony_ci    "-D_INC_STDIO_S",
73b1994897Sopenharmony_ci    "-D_INC_STDLIB_S",
74b1994897Sopenharmony_ci    "-D_INC_MEMORY_S",
75b1994897Sopenharmony_ci  ]
76b1994897Sopenharmony_ci}
77b1994897Sopenharmony_ci
78b1994897Sopenharmony_ciohos_shared_library("libc_secshared") {
79b1994897Sopenharmony_ci  stack_protector_ret = false
80b1994897Sopenharmony_ci  sources = libsec_sources
81b1994897Sopenharmony_ci  public_configs = [ ":libsec_public_config" ]
82b1994897Sopenharmony_ci  cflags = [
83b1994897Sopenharmony_ci    "-D_INC_STRING_S",
84b1994897Sopenharmony_ci    "-D_INC_WCHAR_S",
85b1994897Sopenharmony_ci    "-D_SECIMP=//",
86b1994897Sopenharmony_ci    "-D_STDIO_S_DEFINED",
87b1994897Sopenharmony_ci    "-D_INC_STDIO_S",
88b1994897Sopenharmony_ci    "-D_INC_STDLIB_S",
89b1994897Sopenharmony_ci    "-D_INC_MEMORY_S",
90b1994897Sopenharmony_ci  ]
91b1994897Sopenharmony_ci
92b1994897Sopenharmony_ci  output_extension = "so"
93b1994897Sopenharmony_ci}
94