1ac4d6d58Sopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd.
2ac4d6d58Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3ac4d6d58Sopenharmony_ci# you may not use this file except in compliance with the License.
4ac4d6d58Sopenharmony_ci# You may obtain a copy of the License at
5ac4d6d58Sopenharmony_ci#
6ac4d6d58Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7ac4d6d58Sopenharmony_ci#
8ac4d6d58Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9ac4d6d58Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10ac4d6d58Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11ac4d6d58Sopenharmony_ci# See the License for the specific language governing permissions and
12ac4d6d58Sopenharmony_ci# limitations under the License.
13ac4d6d58Sopenharmony_ci
14ac4d6d58Sopenharmony_ciimport("//build/lite/config/component/lite_component.gni")
15ac4d6d58Sopenharmony_ciimport("//test/xts/device_attest_lite/build/devattestconfig.gni")
16ac4d6d58Sopenharmony_ci
17ac4d6d58Sopenharmony_ciif (os_level != "mini") {
18ac4d6d58Sopenharmony_ci  CFLAGS_COMMON = [
19ac4d6d58Sopenharmony_ci    "-ftrapv",
20ac4d6d58Sopenharmony_ci    "-Werror",
21ac4d6d58Sopenharmony_ci    "-Wextra",
22ac4d6d58Sopenharmony_ci    "-Wshadow",
23ac4d6d58Sopenharmony_ci    "-fstack-protector-all",
24ac4d6d58Sopenharmony_ci    "-Wformat=2",
25ac4d6d58Sopenharmony_ci    "-Wfloat-equal",
26ac4d6d58Sopenharmony_ci    "-Wdate-time",
27ac4d6d58Sopenharmony_ci  ]
28ac4d6d58Sopenharmony_ci
29ac4d6d58Sopenharmony_ci  INCLUDE_COMMON = [
30ac4d6d58Sopenharmony_ci    "small/include",
31ac4d6d58Sopenharmony_ci    "${devattest_path}/common",
32ac4d6d58Sopenharmony_ci    "${devattest_path}/common/log",
33ac4d6d58Sopenharmony_ci    "${devattest_path}/services/core/include",
34ac4d6d58Sopenharmony_ci    "${devattest_path}/interfaces/innerkits",
35ac4d6d58Sopenharmony_ci    "//utils/native/lite/include",
36ac4d6d58Sopenharmony_ci    "//foundation/systemabilitymgr/samgr_lite/interfaces/kits/samgr",
37ac4d6d58Sopenharmony_ci    "//foundation/communication/ipc/interfaces/innerkits/c/ipc/include",
38ac4d6d58Sopenharmony_ci    "//base/hiviewdfx/hilog_lite/interfaces/native/innerkits",
39ac4d6d58Sopenharmony_ci  ]
40ac4d6d58Sopenharmony_ci
41ac4d6d58Sopenharmony_ci  # L1 server
42ac4d6d58Sopenharmony_ci  shared_library("devattest_server") {
43ac4d6d58Sopenharmony_ci    sources = [
44ac4d6d58Sopenharmony_ci      "small/src/service/attest_framework_feature.c",
45ac4d6d58Sopenharmony_ci      "small/src/service/attest_framework_server.c",
46ac4d6d58Sopenharmony_ci    ]
47ac4d6d58Sopenharmony_ci    cflags = CFLAGS_COMMON
48ac4d6d58Sopenharmony_ci    cflags += [ "-fPIC" ]
49ac4d6d58Sopenharmony_ci    ldflags = [ "-pthread" ]
50ac4d6d58Sopenharmony_ci    include_dirs = INCLUDE_COMMON
51ac4d6d58Sopenharmony_ci    include_dirs += [ "${devattest_path}/services/core" ]
52ac4d6d58Sopenharmony_ci    deps = [
53ac4d6d58Sopenharmony_ci      "${devattest_path}/services/core:devattest_core",
54ac4d6d58Sopenharmony_ci      "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared",
55ac4d6d58Sopenharmony_ci      "//foundation/systemabilitymgr/samgr_lite/samgr:samgr",
56ac4d6d58Sopenharmony_ci    ]
57ac4d6d58Sopenharmony_ci  }
58ac4d6d58Sopenharmony_ci
59ac4d6d58Sopenharmony_ci  # L1 client
60ac4d6d58Sopenharmony_ci  shared_library("devattest_client") {
61ac4d6d58Sopenharmony_ci    sources = [ "small/src/client/attest_framework_client_proxy.c" ]
62ac4d6d58Sopenharmony_ci    cflags = CFLAGS_COMMON
63ac4d6d58Sopenharmony_ci    cflags += [ "-fPIC" ]
64ac4d6d58Sopenharmony_ci    ldflags = [ "-pthread" ]
65ac4d6d58Sopenharmony_ci    include_dirs = INCLUDE_COMMON
66ac4d6d58Sopenharmony_ci    deps = [
67ac4d6d58Sopenharmony_ci      "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared",
68ac4d6d58Sopenharmony_ci      "//foundation/systemabilitymgr/samgr_lite/samgr:samgr",
69ac4d6d58Sopenharmony_ci    ]
70ac4d6d58Sopenharmony_ci  }
71ac4d6d58Sopenharmony_ci
72ac4d6d58Sopenharmony_ci  # L1 service bin
73ac4d6d58Sopenharmony_ci  executable("devattest_service") {
74ac4d6d58Sopenharmony_ci    sources = [ "small/src/service/attest_framework_service.c" ]
75ac4d6d58Sopenharmony_ci    cflags = CFLAGS_COMMON
76ac4d6d58Sopenharmony_ci    ldflags = [ "-pthread" ]
77ac4d6d58Sopenharmony_ci    include_dirs = INCLUDE_COMMON
78ac4d6d58Sopenharmony_ci    include_dirs += [ "${devattest_path}/services/core/include/utils" ]
79ac4d6d58Sopenharmony_ci    deps = [
80ac4d6d58Sopenharmony_ci      ":devattest_server",
81ac4d6d58Sopenharmony_ci      "${devattest_path}/services/core:devattest_core",
82ac4d6d58Sopenharmony_ci      "//foundation/systemabilitymgr/samgr_lite/samgr:samgr",
83ac4d6d58Sopenharmony_ci    ]
84ac4d6d58Sopenharmony_ci  }
85ac4d6d58Sopenharmony_ci} else {
86ac4d6d58Sopenharmony_ci  #L0 Empty module
87ac4d6d58Sopenharmony_ci  group("devattest_client") {
88ac4d6d58Sopenharmony_ci  }
89ac4d6d58Sopenharmony_ci
90ac4d6d58Sopenharmony_ci  # L0 interface
91ac4d6d58Sopenharmony_ci  static_library("devattest_sdk") {
92ac4d6d58Sopenharmony_ci    if (os_level == "mini") {
93ac4d6d58Sopenharmony_ci      sources = [ "mini/src/attest_framework_client_mini.c" ]
94ac4d6d58Sopenharmony_ci      include_dirs = [
95ac4d6d58Sopenharmony_ci        "${devattest_path}/common",
96ac4d6d58Sopenharmony_ci        "${devattest_path}/common/mini",
97ac4d6d58Sopenharmony_ci        "${devattest_path}/interfaces/innerkits",
98ac4d6d58Sopenharmony_ci        "${devattest_path}/services/core",
99ac4d6d58Sopenharmony_ci      ]
100ac4d6d58Sopenharmony_ci      deps = [ "${devattest_path}/services/core:devattest_core" ]
101ac4d6d58Sopenharmony_ci    }
102ac4d6d58Sopenharmony_ci  }
103ac4d6d58Sopenharmony_ci}
104