# Copyright (c) 2021 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//base/update/updater/updater_default_cfg.gni") import("//build/ohos.gni") SUBSYSTEM_DIR = "//base/update/updater" updater_common_include = [ "include", "${SUBSYSTEM_DIR}/utils/include", "${SUBSYSTEM_DIR}/interfaces/kits/include/", "//base/update/updater/services/include/package", "//base/update/updater/services/package/pkg_manager", "//base/update/updater/services/package/pkg_verify", "//base/update/updater/services/include/log", "//base/update/updater/utils/json", "//foundation/graphic/ui/frameworks", "//foundation/graphic/ui/interfaces/kits", "//foundation/graphic/ui/interfaces/innerkits", "//foundation/graphic/utils/interfaces/kits", "//foundation/graphic/utils/interfaces/innerkits", "//third_party/bounds_checking_function/include", "//base/update/updater/services", "//base/update/updater/services/ui", "//base/update/updater/services/include", "//base/startup/syspara_lite/interfaces/innerkits/native/syspara/include", ] updater_common_deps = [ "//base/update/updater/interfaces/kits/packages:libpackageExt", "//base/update/updater/services/applypatch:libapplypatch", "//base/update/updater/services/diffpatch/patch:libpatch", "//base/update/updater/services/flashd:libflashd", "//base/update/updater/services/fs_manager:libfsmanager", "//base/update/updater/services/log:libupdaterlog", "//base/update/updater/services/package:libupdaterpackage", "//third_party/bounds_checking_function:libsec_shared", "//third_party/bounds_checking_function:libsec_static", "//third_party/bzip2:libbz2", "//third_party/cJSON:cjson", "//third_party/openssl:libcrypto_static", "//third_party/openssl:ssl_source", "//third_party/zlib:libz", ] ohos_executable("updater") { defines = [ "BUILD_OHOS" ] sources = [ "main.cpp", "updater.cpp", "updater_main.cpp", "updater_preprocess.cpp", "updater_utils.cpp", ] include_dirs = updater_common_include include_dirs += [ "//third_party/openssl/include", "//base/update/updater/services/ui/view", ] deps = updater_common_deps deps += [ "//base/update/updater/interfaces/kits/misc_info:libmiscinfo", "//base/update/updater/services/ui:libui", "//third_party/libdrm:libdrm", ] if (defined(use_ptable)) { include_dirs += [ "//base/update/updater/services/ptable_parse" ] deps += [ "//base/update/updater/services/ptable_parse:libptableparse" ] defines += [ "UPDATER_USE_PTABLE" ] } # add updater custom library if (defined(updater_custom_lib)) { deps += updater_custom_lib deps += [ "//drivers/peripheral/input/udriver:hdi_input_udriver" ] } # force link invisible function if (defined(updater_force_link_libs)) { ldflags = [ "-Wl,--whole-archive" ] foreach(lib, updater_force_link_libs) { ldflags += [ "${lib}" ] } ldflags += [ "-Wl,--no-whole-archive" ] } external_deps += [ "init:libbegetutil" ] install_images = [ "updater" ] install_enable = true part_name = "updater" subsystem_name = "updater" } ohos_static_library("libupdater") { defines = [ "BUILD_OHOS" ] sources = [ "updater.cpp", "updater_preprocess.cpp", "updater_utils.cpp", ] include_dirs = updater_common_include deps = updater_common_deps if (defined(use_ptable)) { include_dirs += [ "//base/update/updater/services/ptable_parse" ] deps += [ "//base/update/updater/services/ptable_parse:libptableparse" ] defines += [ "UPDATER_USE_PTABLE" ] } # add updater custom library if (defined(updater_custom_lib)) { deps += updater_custom_lib deps += [ "//drivers/peripheral/input/udriver:hdi_input_udriver" ] } # force link invisible function if (defined(updater_force_link_libs)) { ldflags = [ "-Wl,--whole-archive" ] foreach(lib, updater_force_link_libs) { ldflags += [ "${lib}" ] } ldflags += [ "-Wl,--no-whole-archive" ] } external_deps += [ "init:libbegetutil" ] if (build_selinux) { external_deps += [ "selinux:librestorecon" ] cflags = [ "-DWITH_SELINUX" ] } subsystem_name = "updater" part_name = "updater" }