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