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. 13 14if (!is_linux && !is_mingw && !is_mac) { 15 import("//base/update/updater/updater_default_cfg.gni") 16} 17import("//build/ohos.gni") 18 19SUBSYSTEM_DIR = "//base/update/updater/services/package" 20 21config("package_config") { 22 visibility = [ ":*" ] 23 cflags_cc = [ "-std=c++17" ] 24 include_dirs = [ 25 "//base/update/updater/interfaces/kits/include", 26 "//base/update/updater/utils/include", 27 "//base/update/updater/services/include", 28 "//third_party/zlib", 29 "//third_party/openssl/include", 30 "//third_party/lz4/lib", 31 "//base/update/updater/services/include/package", 32 "//base/update/updater/services/include/script", 33 "//base/update/updater/services/include/log", 34 "pkg_algorithm", 35 "pkg_manager", 36 "pkg_package", 37 "pkg_verify", 38 "//third_party/bounds_checking_function/include", 39 ] 40} 41 42ohos_static_library("libupdaterpackage") { 43 sources = [ 44 "$SUBSYSTEM_DIR/pkg_algorithm/pkg_algo_deflate.cpp", 45 "$SUBSYSTEM_DIR/pkg_algorithm/pkg_algo_digest.cpp", 46 "$SUBSYSTEM_DIR/pkg_algorithm/pkg_algo_lz4.cpp", 47 "$SUBSYSTEM_DIR/pkg_algorithm/pkg_algo_sign.cpp", 48 "$SUBSYSTEM_DIR/pkg_algorithm/pkg_algorithm.cpp", 49 "$SUBSYSTEM_DIR/pkg_manager/pkg_managerImpl.cpp", 50 "$SUBSYSTEM_DIR/pkg_manager/pkg_stream.cpp", 51 "$SUBSYSTEM_DIR/pkg_manager/pkg_utils.cpp", 52 "$SUBSYSTEM_DIR/pkg_package/packages_info.cpp", 53 "$SUBSYSTEM_DIR/pkg_package/pkg_gzipfile.cpp", 54 "$SUBSYSTEM_DIR/pkg_package/pkg_lz4file.cpp", 55 "$SUBSYSTEM_DIR/pkg_package/pkg_pkgfile.cpp", 56 "$SUBSYSTEM_DIR/pkg_package/pkg_upgradefile.cpp", 57 "$SUBSYSTEM_DIR/pkg_package/pkg_zipfile.cpp", 58 "$SUBSYSTEM_DIR/pkg_verify/cert_verify.cpp", 59 "$SUBSYSTEM_DIR/pkg_verify/openssl_util.cpp", 60 "$SUBSYSTEM_DIR/pkg_verify/pkcs7_signed_data.cpp", 61 "$SUBSYSTEM_DIR/pkg_verify/pkg_verify_util.cpp", 62 "$SUBSYSTEM_DIR/pkg_verify/zip_pkg_parse.cpp", 63 ] 64 65 deps = [ 66 "//base/update/updater/services/log:libupdaterlog", 67 "//third_party/bounds_checking_function:libsec_static", 68 "//third_party/openssl:libcrypto_static", 69 ] 70 71 configs = [ ":package_config" ] 72 73 if (is_mingw) { 74 libs = [ 75 "setupapi", 76 "psapi", 77 "user32", 78 "advapi32", 79 "iphlpapi", 80 "userenv", 81 "ws2_32", 82 ] 83 84 ldflags = [ 85 "-Wl,--whole-archive", 86 "-lpthread", 87 "-Wl,--no-whole-archive", 88 ] 89 } 90} 91