# Copyright (C) 2022 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") config("diff_config") { cflags_cc = [ "-frtti", "-std=c++17", ] if (is_mingw) { cflags_cc += [ "-Wno-inconsistent-dllimport" ] } defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ] } updater_path = rebase_path("${updater_absolutely_path}", ".") ohos_executable("diff") { use_exceptions = true configs = [ ":diff_config" ] sources = [ "${updater_path}/services/package/pkg_manager/pkg_utils.cpp", "./bzip2/bzip2_adapter.cpp", "./bzip2/lz4_adapter.cpp", "./bzip2/zip_adapter.cpp", "./diff/blocks_diff.cpp", "./diff/image_diff.cpp", "./diff/update_diff.cpp", "./diff_main.cpp", "./diffpatch.cpp", "./patch/blocks_patch.cpp", "./patch/image_patch.cpp", "./patch/update_patch.cpp", ] include_dirs = [ ".", "${updater_path}/interfaces/kits/include", "${updater_path}/services/common", "${updater_path}/services/include/package", "${updater_path}/services/include/patch", "${updater_path}/services/include", "${updater_path}/utils/include", "${updater_path}/services/diffpatch/bzip2", "${updater_path}/services/diffpatch/diff", "${updater_path}/services/diffpatch/patch", "${updater_path}/services/diffpatch", "${updater_path}/services/package/pkg_manager", "${updater_path}/services/include/log", ] deps = [ "${updater_path}/services/log:libupdaterlog", "${updater_path}/services/package:libupdaterpackage", ] external_deps = [ "bounds_checking_function:libsec_static", "bzip2:libbz2", "lz4:liblz4_static", "openssl:libcrypto_static", "zlib:libz", ] if (is_mingw) { static_link = false libs = [ "setupapi" ] ldflags = [ "-Wl,--whole-archive", "-lpthread", "-Wl,--no-whole-archive", ] } if (is_linux) { static_link = false ldflags = [ "-Wl,--whole-archive", "-lpthread", "-latomic", "-ldl", "-lrt", "-Wl,--no-whole-archive", ] } install_enable = false subsystem_name = "updater" part_name = "updater" }