• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021 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.
13import("//build/ohos.gni")
14
15###############################################################################
16config("utils_config") {
17  visibility = [ ":*" ]
18  include_dirs = [
19    "include",
20    "//developtools/liblog",
21  ]
22  cflags = []
23  if (current_os == "mingw") {
24    cflags += [ "-Wno-error=inconsistent-dllimport" ]
25  }
26}
27
28config("private_securec_config") {
29  cflags = [ "-Wno-implicit-fallthrough" ]
30}
31
32config("static_utils_config") {
33  visibility = [ ":*" ]
34  include_dirs = [
35    "include",
36    "//developtools/liblog",
37  ]
38}
39
40sources_utils = [
41  "src/string_ex.cpp",
42  "src/unicode_ex.cpp",
43  "src/directory_ex.cpp",
44  "src/datetime_ex.cpp",
45  "src/refbase.cpp",
46  "src/parcel.cpp",
47  "src/semaphore_ex.cpp",
48  "src/thread_pool.cpp",
49  "src/file_ex.cpp",
50  "src/observer.cpp",
51  "src/thread_ex.cpp",
52  "src/event_demultiplexer.cpp",
53  "src/event_handler.cpp",
54  "src/event_reactor.cpp",
55  "src/timer.cpp",
56  "src/timer_event_handler.cpp",
57  "src/ashmem.cpp",
58  "src/rwlock.cpp",
59]
60
61securec_sources = [
62  "src/securec/fscanf_s.c",
63  "src/securec/fwscanf_s.c",
64  "src/securec/gets_s.c",
65  "src/securec/memcpy_s.c",
66  "src/securec/memmove_s.c",
67  "src/securec/memset_s.c",
68  "src/securec/scanf_s.c",
69  "src/securec/securecutil.c",
70  "src/securec/secureinput_a.c",
71  "src/securec/secureinput_w.c",
72  "src/securec/secureprintoutput_a.c",
73  "src/securec/secureprintoutput_w.c",
74  "src/securec/snprintf_s.c",
75  "src/securec/sprintf_s.c",
76  "src/securec/sscanf_s.c",
77  "src/securec/strcat_s.c",
78  "src/securec/strcpy_s.c",
79  "src/securec/strncat_s.c",
80  "src/securec/strncpy_s.c",
81  "src/securec/strtok_s.c",
82  "src/securec/swprintf_s.c",
83  "src/securec/swscanf_s.c",
84  "src/securec/vfscanf_s.c",
85  "src/securec/vfwscanf_s.c",
86  "src/securec/vscanf_s.c",
87  "src/securec/vsnprintf_s.c",
88  "src/securec/vsnprintf_s_p.c",
89  "src/securec/vsprintf_s.c",
90  "src/securec/vsscanf_s.c",
91  "src/securec/vswprintf_s.c",
92  "src/securec/vswscanf_s.c",
93  "src/securec/vwscanf_s.c",
94  "src/securec/wcscat_s.c",
95  "src/securec/wcscpy_s.c",
96  "src/securec/wcsncat_s.c",
97  "src/securec/wcsncpy_s.c",
98  "src/securec/wcstok_s.c",
99  "src/securec/wmemcpy_s.c",
100  "src/securec/wmemmove_s.c",
101  "src/securec/wscanf_s.c",
102]
103
104ohos_static_library("utilsbase") {
105  sources = sources_utils
106  sources += securec_sources
107  configs = [
108    ":utils_config",
109    ":private_securec_config",
110  ]
111  public_configs = [ ":static_utils_config" ]
112  defines = [ "CONFIG_HILOG" ]
113  external_deps = [ "hilog_native:libhilog_base" ]
114}
115
116ohos_shared_library("utils") {
117  sources = sources_utils
118  sources += securec_sources
119  configs = [
120    ":utils_config",
121    ":private_securec_config",
122  ]
123  public_configs = [ ":static_utils_config" ]
124  subsystem_name = "utils"
125  defines = [ "CONFIG_HILOG" ]
126  external_deps = [ "hilog_native:libhilog_base" ]
127  part_name = "utils_base"
128  install_images = [
129    "system",
130    "updater",
131  ]
132}
133
134ohos_static_library("utilsecurec") {
135  sources = securec_sources
136  configs = [
137    ":utils_config",
138    ":private_securec_config",
139  ]
140  public_configs = [ ":static_utils_config" ]
141}
142
143ohos_static_library("utilsecurec_ace_allplatforms") {
144  sources = [ "src/securec/vsnprintf_s_p.c" ]
145  if (current_os == "mingw") {
146    sources += [
147      "src/securec/memset_s.c",
148      "src/securec/securecutil.c",
149      "src/securec/secureinput_w.c",
150      "src/securec/secureprintoutput_a.c",
151      "src/securec/secureprintoutput_w.c",
152    ]
153    cflags = [ "-Wno-inconsistent-dllimport" ]
154  }
155  configs = [
156    ":utils_config",
157    ":private_securec_config",
158  ]
159  public_configs = [ ":static_utils_config" ]
160}
161
162ohos_shared_library("utilsecurec_shared") {
163  sources = securec_sources
164  configs = [
165    ":utils_config",
166    ":private_securec_config",
167  ]
168  public_configs = [ ":utils_config" ]
169  part_name = "utils_base"
170  install_images = [
171    "system",
172    "updater",
173  ]
174}
175###############################################################################
176