1# Copyright (c) 2024 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
14import("../hapsigntool_cpp/cmd/signature_tools_cmd.gni")
15import("../hapsigntool_cpp/codesigning/signature_tools_codesigning.gni")
16import("../hapsigntool_cpp/common/signature_tools_common.gni")
17import("../hapsigntool_cpp/hap/signature_tools_hap.gni")
18import("../hapsigntool_cpp/profile/signature_tools_profile.gni")
19import("../hapsigntool_cpp/signature_tools.gni")
20import("../hapsigntool_cpp/utils/signature_tools_utils.gni")
21import("../hapsigntool_cpp/zip/signature_tools_zip.gni")
22
23import("//build/ohos.gni")
24
25config("service_include") {
26  visibility = [ "*" ]
27
28  include_dirs = [
29    "//third_party/openssl/include",
30    "//third_party/openssl/crypto/pkcs12",
31    "${signature_tools_api}/include",
32    "${signature_tools_signer}/include",
33  ]
34
35  include_dirs += signature_tools_utils_include
36  include_dirs += signature_tools_zip_include
37  include_dirs += signature_tools_codesigning_include
38  include_dirs += signature_tools_common_include
39  include_dirs += signature_tools_hap_include
40  include_dirs += signature_tools_profile_include
41  include_dirs += signature_tools_cmd_include
42
43  defines = [
44    "HI_LOG_ENABLE",
45    "SIGNATURE_LOG_TAG=\"Signature_Tools\"",
46    "LOG_DOMAIN=0xD004100",
47  ]
48
49  cflags = [ "--coverage" ]
50
51  cflags_cc = [
52    "-std=c++17",
53    "--coverage",
54  ]
55
56  ldflags = [
57    "-fPIC",
58    "-Wl,-E",
59    "--coverage",
60  ]
61}
62
63ohos_source_set("service_target") {
64  sources_obj = [
65    "${signature_tools_api}/src/sign_tool_service_impl.cpp",
66    "${signature_tools_api}/src/localization_adapter.cpp",
67    "${signature_tools_api}/src/cert_tools.cpp",
68    "${signature_tools_signer}/src/signer_factory.cpp",
69    "${signature_tools_signer}/src/local_signer.cpp",
70  ]
71
72  sources_obj += signature_tools_utils_src
73  sources_obj += signature_tools_zip_src
74  sources_obj += signature_tools_codesigning_src
75  sources_obj += signature_tools_common_src
76  sources_obj += signature_tools_hap_src
77  sources_obj += signature_tools_profile_src
78  sources_obj += signature_tools_cmd_src
79
80  sources = sources_obj
81
82  configs = [ ":service_include" ]
83
84  remove_configs = [ "//build/config/compiler:no_exceptions" ]
85
86  public_deps = [
87    "//third_party/bzip2:libbz2",
88    "//third_party/openssl:libcrypto_shared",
89    "//third_party/openssl:libssl_shared",
90    "//third_party/zlib:shared_libz",
91  ]
92
93  public_external_deps = [
94    "c_utils:utils",
95    "hilog:libhilog",
96    "json:nlohmann_json_static",
97  ]
98
99  part_name = "hapsigner"
100  subsystem_name = "developtools"
101}
102