# 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") FLASHD_PATH = "//base/update/updater/services/flashd" HDC_PATH = "//developtools/hdc/src" common_sources = [ "${HDC_PATH}/common/async_cmd.cpp", "${HDC_PATH}/common/auth.cpp", "${HDC_PATH}/common/base.cpp", "${HDC_PATH}/common/channel.cpp", "${HDC_PATH}/common/debug.cpp", "${HDC_PATH}/common/file.cpp", "${HDC_PATH}/common/file_descriptor.cpp", "${HDC_PATH}/common/forward.cpp", "${HDC_PATH}/common/session.cpp", "${HDC_PATH}/common/task.cpp", "${HDC_PATH}/common/tcp.cpp", "${HDC_PATH}/common/transfer.cpp", "${HDC_PATH}/common/usb.cpp", ] config("flashd_hdc_config") { include_dirs = [ "${FLASHD_PATH}/common" ] cflags_cc = [ "-std=c++17" ] } ohos_source_set("flashd_deamon") { sources = [ "${FLASHD_PATH}/daemon/daemon.cpp", "${FLASHD_PATH}/daemon/system_depend.cpp", "${HDC_PATH}/daemon/daemon_app.cpp", "${HDC_PATH}/daemon/daemon_forward.cpp", "${HDC_PATH}/daemon/daemon_tcp.cpp", "${HDC_PATH}/daemon/daemon_unity.cpp", "${HDC_PATH}/daemon/daemon_usb.cpp", "${HDC_PATH}/daemon/jdwp.cpp", "${HDC_PATH}/daemon/shell.cpp", ] sources += common_sources defines = [ "HARMONY_PROJECT" ] configs = [ ":flashd_hdc_config" ] external_deps += [ "c_utils:utils" ] deps = [ "//third_party/libuv:uv", "//third_party/lz4:liblz4_static", "//third_party/openssl:libcrypto_static", ] deps += [ "//developtools/hdc:hdc_hash_gen" ] if (use_musl) { external_deps += [ "init:libbegetutil" ] } include_dirs = [ "${HDC_PATH}/daemon", "${HDC_PATH}/common", "//base/update/updater/services/flashd", "//base/update/updater/services/flashd/daemon", "//base/update/updater/services/flashd/common", "//base/update/updater/services/flashd/host", "//base/update/updater/services/include", "//base/update/updater/services/include/fs_manager", "//base/update/updater/services/include/package", "//base/update/updater/services/include/applypatch", "//base/update/updater/services/include/script", "//base/update/updater/services/include/log", "//base/update/updater/interfaces/kits/include", "//base/update/updater/utils/include", "//base/startup/init/services/include/param", "//base/startup/syspara_lite/interfaces/kits", "//third_party/bounds_checking_function/include", "//third_party/lz4/lib", "//third_party/openssl/include", "//third_party/libuv", ] if (build_selinux) { deps += [ "//third_party/selinux:libselinux" ] include_dirs += [ "//third_party/selinux/libselinux/include" ] defines += [ "SURPPORT_SELINUX" ] } } ohos_static_library("libflashd") { sources = [ "//base/update/updater/services/flashd/daemon/commander.cpp", "//base/update/updater/services/flashd/daemon/commander_factory.cpp", "//base/update/updater/services/flashd/daemon/daemon_updater.cpp", "//base/update/updater/services/flashd/daemon/erase_commander.cpp", "//base/update/updater/services/flashd/daemon/flash_commander.cpp", "//base/update/updater/services/flashd/daemon/flashd_main.cpp", "//base/update/updater/services/flashd/daemon/flashd_utils.cpp", "//base/update/updater/services/flashd/daemon/format_commander.cpp", "//base/update/updater/services/flashd/daemon/update_commander.cpp", "//base/update/updater/services/flashd/image_writer/image_writer.cpp", "//base/update/updater/services/flashd/partition.cpp", "//base/update/updater/services/hdi/client/update_hdi_client.cpp", "//base/update/updater/services/updater_binary/update_image_block.cpp", "//base/update/updater/services/updater_binary/update_image_patch.cpp", "//base/update/updater/services/updater_binary/update_partitions.cpp", "//base/update/updater/services/updater_binary/update_processor.cpp", ] defines = [ "HARMONY_PROJECT" ] deps = [ ":flashd_deamon", "//base/update/updater/interfaces/kits/misc_info:libmiscinfo", "//base/update/updater/interfaces/kits/slot_info:libslotinfo", "//base/update/updater/interfaces/kits/updaterkits:libupdaterkits", "//base/update/updater/services/applypatch:libapplypatch", "//base/update/updater/services/diffpatch/patch:libpatch", "//base/update/updater/services/fs_manager:libfsmanager", "//base/update/updater/services/hdi/server:libupdate_hdi_impl", "//base/update/updater/services/log:libupdaterlog", "//base/update/updater/services/package:libupdaterpackage", "//base/update/updater/services/script:libupdaterscript", "//base/update/updater/utils:libutils", "//developtools/hdc:hdc_hash_gen", "//third_party/bzip2:libbz2", "//third_party/cJSON:cjson", "//third_party/libuv:uv", "//third_party/lz4:liblz4_static", "//third_party/openssl:libcrypto_static", "//third_party/zlib:libz", ] if (defined(binary_custom_lib)) { deps += binary_custom_lib } include_dirs = [ "${HDC_PATH}/daemon", "${HDC_PATH}/common", "//base/update/updater/services", "//base/update/updater/services/flashd", "//base/update/updater/services/flashd/daemon", "//base/update/updater/services/flashd/common", "//base/update/updater/interfaces/kits/include", "//base/update/updater/services/include/package", "//base/update/updater/services/include/ptable_parse", "//base/update/updater/services/include/script", "//base/update/updater/services/include/log", "//base/update/updater/services/include", "//base/update/updater/services/ptable_parse", "//base/update/updater/utils/include", "//base/update/updater/utils/json", "//base/startup/init/services/include/param", "//drivers/peripheral/partitionslot/hal/include", "//third_party/bounds_checking_function/include", "//third_party/cJSON", "//third_party/openssl/include", "//third_party/lz4/lib", "//third_party/libuv", ] if (build_selinux) { deps += [ "//third_party/selinux:libselinux" ] include_dirs += [ "//third_party/selinux/libselinux/include" ] defines += [ "SURPPORT_SELINUX" ] } if (defined(use_ptable)) { include_dirs += [ "//base/update/updater/services/ptable_parse" ] deps += [ "//base/update/updater/services/ptable_parse:libptableparse" ] defines += [ "UPDATER_USE_PTABLE" ] } external_deps += [ "c_utils:utils", "init:libbegetutil", ] part_name = "updater" subsystem_name = "updater" } group("updater_flashd") { deps = [ ":libflashd" ] }