154aa6d63Sopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd.
254aa6d63Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
354aa6d63Sopenharmony_ci# you may not use this file except in compliance with the License.
454aa6d63Sopenharmony_ci# You may obtain a copy of the License at
554aa6d63Sopenharmony_ci#
654aa6d63Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
754aa6d63Sopenharmony_ci#
854aa6d63Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
954aa6d63Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1054aa6d63Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1154aa6d63Sopenharmony_ci# See the License for the specific language governing permissions and
1254aa6d63Sopenharmony_ci# limitations under the License.
1354aa6d63Sopenharmony_ci
1454aa6d63Sopenharmony_ciimport("../hapsigntool_cpp/cmd/signature_tools_cmd.gni")
1554aa6d63Sopenharmony_ciimport("../hapsigntool_cpp/codesigning/signature_tools_codesigning.gni")
1654aa6d63Sopenharmony_ciimport("../hapsigntool_cpp/common/signature_tools_common.gni")
1754aa6d63Sopenharmony_ciimport("../hapsigntool_cpp/hap/signature_tools_hap.gni")
1854aa6d63Sopenharmony_ciimport("../hapsigntool_cpp/profile/signature_tools_profile.gni")
1954aa6d63Sopenharmony_ciimport("../hapsigntool_cpp/signature_tools.gni")
2054aa6d63Sopenharmony_ciimport("../hapsigntool_cpp/utils/signature_tools_utils.gni")
2154aa6d63Sopenharmony_ciimport("../hapsigntool_cpp/zip/signature_tools_zip.gni")
2254aa6d63Sopenharmony_ci
2354aa6d63Sopenharmony_ciimport("//build/ohos.gni")
2454aa6d63Sopenharmony_ci
2554aa6d63Sopenharmony_ciconfig("service_include") {
2654aa6d63Sopenharmony_ci  visibility = [ "*" ]
2754aa6d63Sopenharmony_ci
2854aa6d63Sopenharmony_ci  include_dirs = [
2954aa6d63Sopenharmony_ci    "//third_party/openssl/include",
3054aa6d63Sopenharmony_ci    "//third_party/openssl/crypto/pkcs12",
3154aa6d63Sopenharmony_ci    "${signature_tools_api}/include",
3254aa6d63Sopenharmony_ci    "${signature_tools_signer}/include",
3354aa6d63Sopenharmony_ci  ]
3454aa6d63Sopenharmony_ci
3554aa6d63Sopenharmony_ci  include_dirs += signature_tools_utils_include
3654aa6d63Sopenharmony_ci  include_dirs += signature_tools_zip_include
3754aa6d63Sopenharmony_ci  include_dirs += signature_tools_codesigning_include
3854aa6d63Sopenharmony_ci  include_dirs += signature_tools_common_include
3954aa6d63Sopenharmony_ci  include_dirs += signature_tools_hap_include
4054aa6d63Sopenharmony_ci  include_dirs += signature_tools_profile_include
4154aa6d63Sopenharmony_ci  include_dirs += signature_tools_cmd_include
4254aa6d63Sopenharmony_ci
4354aa6d63Sopenharmony_ci  defines = [
4454aa6d63Sopenharmony_ci    "HI_LOG_ENABLE",
4554aa6d63Sopenharmony_ci    "SIGNATURE_LOG_TAG=\"Signature_Tools\"",
4654aa6d63Sopenharmony_ci    "LOG_DOMAIN=0xD004100",
4754aa6d63Sopenharmony_ci  ]
4854aa6d63Sopenharmony_ci
4954aa6d63Sopenharmony_ci  cflags = [ "--coverage" ]
5054aa6d63Sopenharmony_ci
5154aa6d63Sopenharmony_ci  cflags_cc = [
5254aa6d63Sopenharmony_ci    "-std=c++17",
5354aa6d63Sopenharmony_ci    "--coverage",
5454aa6d63Sopenharmony_ci  ]
5554aa6d63Sopenharmony_ci
5654aa6d63Sopenharmony_ci  ldflags = [
5754aa6d63Sopenharmony_ci    "-fPIC",
5854aa6d63Sopenharmony_ci    "-Wl,-E",
5954aa6d63Sopenharmony_ci    "--coverage",
6054aa6d63Sopenharmony_ci  ]
6154aa6d63Sopenharmony_ci}
6254aa6d63Sopenharmony_ci
6354aa6d63Sopenharmony_ciohos_source_set("service_target") {
6454aa6d63Sopenharmony_ci  sources_obj = [
6554aa6d63Sopenharmony_ci    "${signature_tools_api}/src/sign_tool_service_impl.cpp",
6654aa6d63Sopenharmony_ci    "${signature_tools_api}/src/localization_adapter.cpp",
6754aa6d63Sopenharmony_ci    "${signature_tools_api}/src/cert_tools.cpp",
6854aa6d63Sopenharmony_ci    "${signature_tools_signer}/src/signer_factory.cpp",
6954aa6d63Sopenharmony_ci    "${signature_tools_signer}/src/local_signer.cpp",
7054aa6d63Sopenharmony_ci  ]
7154aa6d63Sopenharmony_ci
7254aa6d63Sopenharmony_ci  sources_obj += signature_tools_utils_src
7354aa6d63Sopenharmony_ci  sources_obj += signature_tools_zip_src
7454aa6d63Sopenharmony_ci  sources_obj += signature_tools_codesigning_src
7554aa6d63Sopenharmony_ci  sources_obj += signature_tools_common_src
7654aa6d63Sopenharmony_ci  sources_obj += signature_tools_hap_src
7754aa6d63Sopenharmony_ci  sources_obj += signature_tools_profile_src
7854aa6d63Sopenharmony_ci  sources_obj += signature_tools_cmd_src
7954aa6d63Sopenharmony_ci
8054aa6d63Sopenharmony_ci  sources = sources_obj
8154aa6d63Sopenharmony_ci
8254aa6d63Sopenharmony_ci  configs = [ ":service_include" ]
8354aa6d63Sopenharmony_ci
8454aa6d63Sopenharmony_ci  remove_configs = [ "//build/config/compiler:no_exceptions" ]
8554aa6d63Sopenharmony_ci
8654aa6d63Sopenharmony_ci  public_deps = [
8754aa6d63Sopenharmony_ci    "//third_party/bzip2:libbz2",
8854aa6d63Sopenharmony_ci    "//third_party/openssl:libcrypto_shared",
8954aa6d63Sopenharmony_ci    "//third_party/openssl:libssl_shared",
9054aa6d63Sopenharmony_ci    "//third_party/zlib:shared_libz",
9154aa6d63Sopenharmony_ci  ]
9254aa6d63Sopenharmony_ci
9354aa6d63Sopenharmony_ci  public_external_deps = [
9454aa6d63Sopenharmony_ci    "c_utils:utils",
9554aa6d63Sopenharmony_ci    "hilog:libhilog",
9654aa6d63Sopenharmony_ci    "json:nlohmann_json_static",
9754aa6d63Sopenharmony_ci  ]
9854aa6d63Sopenharmony_ci
9954aa6d63Sopenharmony_ci  part_name = "hapsigner"
10054aa6d63Sopenharmony_ci  subsystem_name = "developtools"
10154aa6d63Sopenharmony_ci}
102