xref: /aosp_15_r20/external/pigweed/pw_bluetooth/BUILD.gn (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1*61c4878aSAndroid Build Coastguard Worker# Copyright 2022 The Pigweed Authors
2*61c4878aSAndroid Build Coastguard Worker#
3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of
5*61c4878aSAndroid Build Coastguard Worker# the License at
6*61c4878aSAndroid Build Coastguard Worker#
7*61c4878aSAndroid Build Coastguard Worker#     https://www.apache.org/licenses/LICENSE-2.0
8*61c4878aSAndroid Build Coastguard Worker#
9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under
13*61c4878aSAndroid Build Coastguard Worker# the License.
14*61c4878aSAndroid Build Coastguard Worker
15*61c4878aSAndroid Build Coastguard Workerimport("//build_overrides/pigweed.gni")
16*61c4878aSAndroid Build Coastguard Worker
17*61c4878aSAndroid Build Coastguard Workerimport("$dir_pigweed/third_party/emboss/build_defs.gni")
18*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_async2/backend.gni")
19*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_bloat/bloat.gni")
20*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/module_config.gni")
21*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/target_types.gni")
22*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_chrono/backend.gni")
23*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_docgen/docs.gni")
24*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_unit_test/test.gni")
25*61c4878aSAndroid Build Coastguard Worker
26*61c4878aSAndroid Build Coastguard Workerdeclare_args() {
27*61c4878aSAndroid Build Coastguard Worker  # The build target that overrides the default configuration options for this
28*61c4878aSAndroid Build Coastguard Worker  # module. This should point to a source set that provides defines through a
29*61c4878aSAndroid Build Coastguard Worker  # public config (which may -include a file or add defines directly).
30*61c4878aSAndroid Build Coastguard Worker  pw_bluetooth_CONFIG = pw_build_DEFAULT_MODULE_CONFIG
31*61c4878aSAndroid Build Coastguard Worker}
32*61c4878aSAndroid Build Coastguard Worker
33*61c4878aSAndroid Build Coastguard Workerpw_source_set("config") {
34*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_bluetooth/config.h" ]
35*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
36*61c4878aSAndroid Build Coastguard Worker  public_deps = [ pw_bluetooth_CONFIG ]
37*61c4878aSAndroid Build Coastguard Worker}
38*61c4878aSAndroid Build Coastguard Worker
39*61c4878aSAndroid Build Coastguard Workerconfig("public_include_path") {
40*61c4878aSAndroid Build Coastguard Worker  include_dirs = [ "public" ]
41*61c4878aSAndroid Build Coastguard Worker  visibility = [ ":*" ]
42*61c4878aSAndroid Build Coastguard Worker}
43*61c4878aSAndroid Build Coastguard Worker
44*61c4878aSAndroid Build Coastguard Workerpw_doc_group("docs") {
45*61c4878aSAndroid Build Coastguard Worker  # Also, sources with doxygen comment blocks must be added to //docs/BUILD.gn
46*61c4878aSAndroid Build Coastguard Worker  inputs = [ "emboss_test.cc" ]
47*61c4878aSAndroid Build Coastguard Worker  sources = [ "docs.rst" ]
48*61c4878aSAndroid Build Coastguard Worker
49*61c4878aSAndroid Build Coastguard Worker  report_deps = [
50*61c4878aSAndroid Build Coastguard Worker    ":emboss_size_report",
51*61c4878aSAndroid Build Coastguard Worker    ":emboss_size_report_diff",
52*61c4878aSAndroid Build Coastguard Worker  ]
53*61c4878aSAndroid Build Coastguard Worker}
54*61c4878aSAndroid Build Coastguard Worker
55*61c4878aSAndroid Build Coastguard Workerpw_source_set("pw_bluetooth") {
56*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
57*61c4878aSAndroid Build Coastguard Worker  public = [
58*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/address.h",
59*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/assigned_uuids.h",
60*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/constants.h",
61*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/controller.h",
62*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/gatt/client.h",
63*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/gatt/constants.h",
64*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/gatt/error.h",
65*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/gatt/server.h",
66*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/gatt/types.h",
67*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/host.h",
68*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/internal/hex.h",
69*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/internal/raii_ptr.h",
70*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/low_energy/advertising_data.h",
71*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/low_energy/bond_data.h",
72*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/low_energy/central.h",
73*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/low_energy/channel.h",
74*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/low_energy/connection.h",
75*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/low_energy/peripheral.h",
76*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/low_energy/security_mode.h",
77*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/pairing_delegate.h",
78*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/peer.h",
79*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/result.h",
80*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/types.h",
81*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/uuid.h",
82*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/vendor.h",
83*61c4878aSAndroid Build Coastguard Worker  ]
84*61c4878aSAndroid Build Coastguard Worker  public_deps = [
85*61c4878aSAndroid Build Coastguard Worker    ":config",
86*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_chrono:system_clock",
87*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_string:string",
88*61c4878aSAndroid Build Coastguard Worker    dir_pw_containers,
89*61c4878aSAndroid Build Coastguard Worker    dir_pw_function,
90*61c4878aSAndroid Build Coastguard Worker    dir_pw_multibuf,
91*61c4878aSAndroid Build Coastguard Worker    dir_pw_result,
92*61c4878aSAndroid Build Coastguard Worker    dir_pw_span,
93*61c4878aSAndroid Build Coastguard Worker    dir_pw_status,
94*61c4878aSAndroid Build Coastguard Worker  ]
95*61c4878aSAndroid Build Coastguard Worker}
96*61c4878aSAndroid Build Coastguard Worker
97*61c4878aSAndroid Build Coastguard Workerpw_source_set("pw_bluetooth2") {
98*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
99*61c4878aSAndroid Build Coastguard Worker  public = [
100*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/address.h",
101*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/assigned_uuids.h",
102*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/constants.h",
103*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/controller2.h",
104*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/gatt/client2.h",
105*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/gatt/constants.h",
106*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/gatt/error.h",
107*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/gatt/server2.h",
108*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/gatt/types.h",
109*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/internal/hex.h",
110*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/internal/raii_ptr.h",
111*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/low_energy/advertising_data.h",
112*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/low_energy/bond_data2.h",
113*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/low_energy/central2.h",
114*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/low_energy/channel.h",
115*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/low_energy/connection2.h",
116*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/low_energy/peripheral2.h",
117*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/low_energy/phy.h",
118*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/low_energy/security_mode.h",
119*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/pairing_delegate2.h",
120*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/peer.h",
121*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/types.h",
122*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/uuid.h",
123*61c4878aSAndroid Build Coastguard Worker    "public/pw_bluetooth/vendor.h",
124*61c4878aSAndroid Build Coastguard Worker  ]
125*61c4878aSAndroid Build Coastguard Worker  public_deps = [
126*61c4878aSAndroid Build Coastguard Worker    ":config",
127*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_async2:dispatcher",
128*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_async2:once_sender",
129*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_chrono:system_clock",
130*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_result:expected",
131*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_string:string",
132*61c4878aSAndroid Build Coastguard Worker    dir_pw_channel,
133*61c4878aSAndroid Build Coastguard Worker    dir_pw_containers,
134*61c4878aSAndroid Build Coastguard Worker    dir_pw_function,
135*61c4878aSAndroid Build Coastguard Worker    dir_pw_multibuf,
136*61c4878aSAndroid Build Coastguard Worker    dir_pw_result,
137*61c4878aSAndroid Build Coastguard Worker    dir_pw_span,
138*61c4878aSAndroid Build Coastguard Worker    dir_pw_status,
139*61c4878aSAndroid Build Coastguard Worker  ]
140*61c4878aSAndroid Build Coastguard Worker}
141*61c4878aSAndroid Build Coastguard Worker
142*61c4878aSAndroid Build Coastguard Workerpw_source_set("emboss_util") {
143*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
144*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_bluetooth/emboss_util.h" ]
145*61c4878aSAndroid Build Coastguard Worker  public_deps = [
146*61c4878aSAndroid Build Coastguard Worker    dir_pw_result,
147*61c4878aSAndroid Build Coastguard Worker    dir_pw_span,
148*61c4878aSAndroid Build Coastguard Worker    dir_pw_status,
149*61c4878aSAndroid Build Coastguard Worker  ]
150*61c4878aSAndroid Build Coastguard Worker}
151*61c4878aSAndroid Build Coastguard Worker
152*61c4878aSAndroid Build Coastguard Workerif (dir_pw_third_party_emboss != "") {
153*61c4878aSAndroid Build Coastguard Worker  config("emboss_include_path") {
154*61c4878aSAndroid Build Coastguard Worker    include_dirs = [
155*61c4878aSAndroid Build Coastguard Worker      "$target_gen_dir/public",
156*61c4878aSAndroid Build Coastguard Worker
157*61c4878aSAndroid Build Coastguard Worker      # Emboss headers (.emb.h) need to look for imported Emboss file headers in
158*61c4878aSAndroid Build Coastguard Worker      # Pigweed's root gen directory. This is *not* root_gen_dir in
159*61c4878aSAndroid Build Coastguard Worker      # external repositories depending on Pigweed.
160*61c4878aSAndroid Build Coastguard Worker      "$target_gen_dir/..",
161*61c4878aSAndroid Build Coastguard Worker    ]
162*61c4878aSAndroid Build Coastguard Worker    visibility = [ ":*" ]
163*61c4878aSAndroid Build Coastguard Worker  }
164*61c4878aSAndroid Build Coastguard Worker
165*61c4878aSAndroid Build Coastguard Worker  emboss_cc_library("emboss_att") {
166*61c4878aSAndroid Build Coastguard Worker    public_configs = [ ":emboss_include_path" ]
167*61c4878aSAndroid Build Coastguard Worker    source = "public/pw_bluetooth/att.emb"
168*61c4878aSAndroid Build Coastguard Worker    imports = [
169*61c4878aSAndroid Build Coastguard Worker      "public/pw_bluetooth/hci_data.emb",
170*61c4878aSAndroid Build Coastguard Worker      "public/pw_bluetooth/l2cap_frames.emb",
171*61c4878aSAndroid Build Coastguard Worker    ]
172*61c4878aSAndroid Build Coastguard Worker    import_dirs = [ "public" ]
173*61c4878aSAndroid Build Coastguard Worker    deps = [
174*61c4878aSAndroid Build Coastguard Worker      ":emboss_hci_data",
175*61c4878aSAndroid Build Coastguard Worker      ":emboss_l2cap_frames",
176*61c4878aSAndroid Build Coastguard Worker    ]
177*61c4878aSAndroid Build Coastguard Worker  }
178*61c4878aSAndroid Build Coastguard Worker
179*61c4878aSAndroid Build Coastguard Worker  emboss_cc_library("emboss_hci_android") {
180*61c4878aSAndroid Build Coastguard Worker    public_configs = [ ":emboss_include_path" ]
181*61c4878aSAndroid Build Coastguard Worker    source = "public/pw_bluetooth/hci_android.emb"
182*61c4878aSAndroid Build Coastguard Worker    imports = [ "public/pw_bluetooth/hci_common.emb" ]
183*61c4878aSAndroid Build Coastguard Worker    import_dirs = [ "public" ]
184*61c4878aSAndroid Build Coastguard Worker    deps = [ ":emboss_hci_common" ]
185*61c4878aSAndroid Build Coastguard Worker  }
186*61c4878aSAndroid Build Coastguard Worker
187*61c4878aSAndroid Build Coastguard Worker  emboss_cc_library("emboss_hci_common") {
188*61c4878aSAndroid Build Coastguard Worker    public_configs = [ ":emboss_include_path" ]
189*61c4878aSAndroid Build Coastguard Worker    source = "public/pw_bluetooth/hci_common.emb"
190*61c4878aSAndroid Build Coastguard Worker  }
191*61c4878aSAndroid Build Coastguard Worker
192*61c4878aSAndroid Build Coastguard Worker  emboss_cc_library("emboss_hci_commands") {
193*61c4878aSAndroid Build Coastguard Worker    public_configs = [ ":emboss_include_path" ]
194*61c4878aSAndroid Build Coastguard Worker    source = "public/pw_bluetooth/hci_commands.emb"
195*61c4878aSAndroid Build Coastguard Worker    imports = [ "public/pw_bluetooth/hci_common.emb" ]
196*61c4878aSAndroid Build Coastguard Worker    import_dirs = [ "public" ]
197*61c4878aSAndroid Build Coastguard Worker    deps = [ ":emboss_hci_common" ]
198*61c4878aSAndroid Build Coastguard Worker  }
199*61c4878aSAndroid Build Coastguard Worker
200*61c4878aSAndroid Build Coastguard Worker  emboss_cc_library("emboss_hci_data") {
201*61c4878aSAndroid Build Coastguard Worker    public_configs = [ ":emboss_include_path" ]
202*61c4878aSAndroid Build Coastguard Worker    source = "public/pw_bluetooth/hci_data.emb"
203*61c4878aSAndroid Build Coastguard Worker  }
204*61c4878aSAndroid Build Coastguard Worker
205*61c4878aSAndroid Build Coastguard Worker  emboss_cc_library("emboss_hci_events") {
206*61c4878aSAndroid Build Coastguard Worker    public_configs = [ ":emboss_include_path" ]
207*61c4878aSAndroid Build Coastguard Worker    source = "public/pw_bluetooth/hci_events.emb"
208*61c4878aSAndroid Build Coastguard Worker    imports = [ "public/pw_bluetooth/hci_common.emb" ]
209*61c4878aSAndroid Build Coastguard Worker    import_dirs = [ "public" ]
210*61c4878aSAndroid Build Coastguard Worker    deps = [ ":emboss_hci_common" ]
211*61c4878aSAndroid Build Coastguard Worker  }
212*61c4878aSAndroid Build Coastguard Worker
213*61c4878aSAndroid Build Coastguard Worker  emboss_cc_library("emboss_hci_h4") {
214*61c4878aSAndroid Build Coastguard Worker    public_configs = [ ":emboss_include_path" ]
215*61c4878aSAndroid Build Coastguard Worker    source = "public/pw_bluetooth/hci_h4.emb"
216*61c4878aSAndroid Build Coastguard Worker    imports = [ "public/pw_bluetooth/hci_h4.emb" ]
217*61c4878aSAndroid Build Coastguard Worker    import_dirs = [ "public" ]
218*61c4878aSAndroid Build Coastguard Worker  }
219*61c4878aSAndroid Build Coastguard Worker
220*61c4878aSAndroid Build Coastguard Worker  emboss_cc_library("emboss_hci_test") {
221*61c4878aSAndroid Build Coastguard Worker    public_configs = [ ":emboss_include_path" ]
222*61c4878aSAndroid Build Coastguard Worker    source = "public/pw_bluetooth/hci_test.emb"
223*61c4878aSAndroid Build Coastguard Worker    imports = [ "public/pw_bluetooth/hci_common.emb" ]
224*61c4878aSAndroid Build Coastguard Worker    import_dirs = [ "public" ]
225*61c4878aSAndroid Build Coastguard Worker    deps = [ ":emboss_hci_common" ]
226*61c4878aSAndroid Build Coastguard Worker  }
227*61c4878aSAndroid Build Coastguard Worker
228*61c4878aSAndroid Build Coastguard Worker  emboss_cc_library("emboss_l2cap_frames") {
229*61c4878aSAndroid Build Coastguard Worker    public_configs = [ ":emboss_include_path" ]
230*61c4878aSAndroid Build Coastguard Worker    source = "public/pw_bluetooth/l2cap_frames.emb"
231*61c4878aSAndroid Build Coastguard Worker  }
232*61c4878aSAndroid Build Coastguard Worker
233*61c4878aSAndroid Build Coastguard Worker  emboss_cc_library("emboss_rfcomm_frames") {
234*61c4878aSAndroid Build Coastguard Worker    public_configs = [ ":emboss_include_path" ]
235*61c4878aSAndroid Build Coastguard Worker    source = "public/pw_bluetooth/rfcomm_frames.emb"
236*61c4878aSAndroid Build Coastguard Worker  }
237*61c4878aSAndroid Build Coastguard Worker
238*61c4878aSAndroid Build Coastguard Worker  group("emboss_hci_group") {
239*61c4878aSAndroid Build Coastguard Worker    public_configs = [ ":emboss_include_path" ]
240*61c4878aSAndroid Build Coastguard Worker    public_deps = [
241*61c4878aSAndroid Build Coastguard Worker      ":emboss_hci_android",
242*61c4878aSAndroid Build Coastguard Worker      ":emboss_hci_commands",
243*61c4878aSAndroid Build Coastguard Worker      ":emboss_hci_common",
244*61c4878aSAndroid Build Coastguard Worker      ":emboss_hci_data",
245*61c4878aSAndroid Build Coastguard Worker      ":emboss_hci_events",
246*61c4878aSAndroid Build Coastguard Worker      ":emboss_hci_h4",
247*61c4878aSAndroid Build Coastguard Worker    ]
248*61c4878aSAndroid Build Coastguard Worker  }
249*61c4878aSAndroid Build Coastguard Worker} else {
250*61c4878aSAndroid Build Coastguard Worker  group("emboss_att") {
251*61c4878aSAndroid Build Coastguard Worker  }
252*61c4878aSAndroid Build Coastguard Worker  group("emboss_hci_android") {
253*61c4878aSAndroid Build Coastguard Worker  }
254*61c4878aSAndroid Build Coastguard Worker  group("emboss_hci_common") {
255*61c4878aSAndroid Build Coastguard Worker  }
256*61c4878aSAndroid Build Coastguard Worker  group("emboss_hci_commands") {
257*61c4878aSAndroid Build Coastguard Worker  }
258*61c4878aSAndroid Build Coastguard Worker  group("emboss_hci_data") {
259*61c4878aSAndroid Build Coastguard Worker  }
260*61c4878aSAndroid Build Coastguard Worker  group("emboss_hci_events") {
261*61c4878aSAndroid Build Coastguard Worker  }
262*61c4878aSAndroid Build Coastguard Worker  group("emboss_hci_h4") {
263*61c4878aSAndroid Build Coastguard Worker  }
264*61c4878aSAndroid Build Coastguard Worker  group("emboss_hci_test") {
265*61c4878aSAndroid Build Coastguard Worker  }
266*61c4878aSAndroid Build Coastguard Worker  group("emboss_hci_group") {
267*61c4878aSAndroid Build Coastguard Worker  }
268*61c4878aSAndroid Build Coastguard Worker  group("emboss_l2cap_frames") {
269*61c4878aSAndroid Build Coastguard Worker  }
270*61c4878aSAndroid Build Coastguard Worker  group("emboss_rfcomm_frames") {
271*61c4878aSAndroid Build Coastguard Worker  }
272*61c4878aSAndroid Build Coastguard Worker}
273*61c4878aSAndroid Build Coastguard Worker
274*61c4878aSAndroid Build Coastguard Workerpw_test_group("tests") {
275*61c4878aSAndroid Build Coastguard Worker  enable_if = pw_chrono_SYSTEM_CLOCK_BACKEND != ""
276*61c4878aSAndroid Build Coastguard Worker  tests = [
277*61c4878aSAndroid Build Coastguard Worker    ":address_test",
278*61c4878aSAndroid Build Coastguard Worker    ":api_test",
279*61c4878aSAndroid Build Coastguard Worker    ":api2_test",
280*61c4878aSAndroid Build Coastguard Worker    ":result_test",
281*61c4878aSAndroid Build Coastguard Worker    ":uuid_test",
282*61c4878aSAndroid Build Coastguard Worker    ":emboss_test",
283*61c4878aSAndroid Build Coastguard Worker    ":emboss_util_test",
284*61c4878aSAndroid Build Coastguard Worker  ]
285*61c4878aSAndroid Build Coastguard Worker}
286*61c4878aSAndroid Build Coastguard Worker
287*61c4878aSAndroid Build Coastguard Workerpw_test("address_test") {
288*61c4878aSAndroid Build Coastguard Worker  sources = [ "address_test.cc" ]
289*61c4878aSAndroid Build Coastguard Worker  deps = [ ":pw_bluetooth" ]
290*61c4878aSAndroid Build Coastguard Worker}
291*61c4878aSAndroid Build Coastguard Worker
292*61c4878aSAndroid Build Coastguard Workerpw_test("api_test") {
293*61c4878aSAndroid Build Coastguard Worker  sources = [ "api_test.cc" ]
294*61c4878aSAndroid Build Coastguard Worker  deps = [ ":pw_bluetooth" ]
295*61c4878aSAndroid Build Coastguard Worker}
296*61c4878aSAndroid Build Coastguard Worker
297*61c4878aSAndroid Build Coastguard Workerpw_test("emboss_util_test") {
298*61c4878aSAndroid Build Coastguard Worker  enable_if =
299*61c4878aSAndroid Build Coastguard Worker      dir_pw_third_party_emboss != "" && pw_chrono_SYSTEM_CLOCK_BACKEND != ""
300*61c4878aSAndroid Build Coastguard Worker  sources = [ "emboss_util_test.cc" ]
301*61c4878aSAndroid Build Coastguard Worker  include_dirs = [ "." ]
302*61c4878aSAndroid Build Coastguard Worker  deps = [
303*61c4878aSAndroid Build Coastguard Worker    ":emboss_hci_test",
304*61c4878aSAndroid Build Coastguard Worker    ":emboss_util",
305*61c4878aSAndroid Build Coastguard Worker  ]
306*61c4878aSAndroid Build Coastguard Worker}
307*61c4878aSAndroid Build Coastguard Worker
308*61c4878aSAndroid Build Coastguard Workerpw_test("api2_test") {
309*61c4878aSAndroid Build Coastguard Worker  enable_if = pw_async2_DISPATCHER_BACKEND != ""
310*61c4878aSAndroid Build Coastguard Worker  sources = [ "api2_test.cc" ]
311*61c4878aSAndroid Build Coastguard Worker  deps = [ ":pw_bluetooth2" ]
312*61c4878aSAndroid Build Coastguard Worker}
313*61c4878aSAndroid Build Coastguard Worker
314*61c4878aSAndroid Build Coastguard Workerpw_test("result_test") {
315*61c4878aSAndroid Build Coastguard Worker  sources = [ "result_test.cc" ]
316*61c4878aSAndroid Build Coastguard Worker  deps = [ ":pw_bluetooth" ]
317*61c4878aSAndroid Build Coastguard Worker}
318*61c4878aSAndroid Build Coastguard Worker
319*61c4878aSAndroid Build Coastguard Workerpw_test("uuid_test") {
320*61c4878aSAndroid Build Coastguard Worker  sources = [ "uuid_test.cc" ]
321*61c4878aSAndroid Build Coastguard Worker  deps = [ ":pw_bluetooth" ]
322*61c4878aSAndroid Build Coastguard Worker}
323*61c4878aSAndroid Build Coastguard Worker
324*61c4878aSAndroid Build Coastguard Workerpw_test("emboss_test") {
325*61c4878aSAndroid Build Coastguard Worker  enable_if = dir_pw_third_party_emboss != ""
326*61c4878aSAndroid Build Coastguard Worker  sources = [ "emboss_test.cc" ]
327*61c4878aSAndroid Build Coastguard Worker  deps = [
328*61c4878aSAndroid Build Coastguard Worker    # All emboss targets are listed (even if they don't have explicit tests) to
329*61c4878aSAndroid Build Coastguard Worker    # ensure they are compiled.
330*61c4878aSAndroid Build Coastguard Worker    ":emboss_att",
331*61c4878aSAndroid Build Coastguard Worker    ":emboss_hci_group",
332*61c4878aSAndroid Build Coastguard Worker    ":emboss_hci_test",
333*61c4878aSAndroid Build Coastguard Worker    ":emboss_l2cap_frames",
334*61c4878aSAndroid Build Coastguard Worker    ":emboss_rfcomm_frames",
335*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_third_party/fuchsia:stdcompat",
336*61c4878aSAndroid Build Coastguard Worker  ]
337*61c4878aSAndroid Build Coastguard Worker}
338*61c4878aSAndroid Build Coastguard Worker
339*61c4878aSAndroid Build Coastguard Workerif (dir_pw_third_party_emboss != "") {
340*61c4878aSAndroid Build Coastguard Worker  pw_size_diff("emboss_size_report") {
341*61c4878aSAndroid Build Coastguard Worker    title = "pw_bluetooth Emboss Size Report"
342*61c4878aSAndroid Build Coastguard Worker    base = "$dir_pw_bloat:bloat_base"
343*61c4878aSAndroid Build Coastguard Worker    binaries = [
344*61c4878aSAndroid Build Coastguard Worker      {
345*61c4878aSAndroid Build Coastguard Worker        target = "size_report:make_view_and_write"
346*61c4878aSAndroid Build Coastguard Worker        label = "Make view and write field"
347*61c4878aSAndroid Build Coastguard Worker      },
348*61c4878aSAndroid Build Coastguard Worker    ]
349*61c4878aSAndroid Build Coastguard Worker  }
350*61c4878aSAndroid Build Coastguard Worker
351*61c4878aSAndroid Build Coastguard Worker  pw_size_diff("emboss_size_report_diff") {
352*61c4878aSAndroid Build Coastguard Worker    title = "pw_bluetooth Emboss Size Report diff"
353*61c4878aSAndroid Build Coastguard Worker    base = "size_report:make_view_and_write"
354*61c4878aSAndroid Build Coastguard Worker    binaries = [
355*61c4878aSAndroid Build Coastguard Worker      {
356*61c4878aSAndroid Build Coastguard Worker        target = "size_report:make_2_views_and_write"
357*61c4878aSAndroid Build Coastguard Worker        label = "Size difference when adding a second view"
358*61c4878aSAndroid Build Coastguard Worker      },
359*61c4878aSAndroid Build Coastguard Worker    ]
360*61c4878aSAndroid Build Coastguard Worker  }
361*61c4878aSAndroid Build Coastguard Worker} else {
362*61c4878aSAndroid Build Coastguard Worker  pw_size_diff("emboss_size_report") {
363*61c4878aSAndroid Build Coastguard Worker    title = "pw_bluetooth Emboss Size Report"
364*61c4878aSAndroid Build Coastguard Worker    base = "$dir_pw_bloat:bloat_base"
365*61c4878aSAndroid Build Coastguard Worker    binaries = [
366*61c4878aSAndroid Build Coastguard Worker      {
367*61c4878aSAndroid Build Coastguard Worker        target = "$dir_pw_bloat:bloat_base"
368*61c4878aSAndroid Build Coastguard Worker        label = "Emboss not configured."
369*61c4878aSAndroid Build Coastguard Worker      },
370*61c4878aSAndroid Build Coastguard Worker    ]
371*61c4878aSAndroid Build Coastguard Worker  }
372*61c4878aSAndroid Build Coastguard Worker
373*61c4878aSAndroid Build Coastguard Worker  pw_size_diff("emboss_size_report_diff") {
374*61c4878aSAndroid Build Coastguard Worker    title = "pw_bluetooth Emboss Size Report diff"
375*61c4878aSAndroid Build Coastguard Worker    base = "$dir_pw_bloat:bloat_base"
376*61c4878aSAndroid Build Coastguard Worker    binaries = [
377*61c4878aSAndroid Build Coastguard Worker      {
378*61c4878aSAndroid Build Coastguard Worker        target = "$dir_pw_bloat:bloat_base"
379*61c4878aSAndroid Build Coastguard Worker        label = "Emboss not configured."
380*61c4878aSAndroid Build Coastguard Worker      },
381*61c4878aSAndroid Build Coastguard Worker    ]
382*61c4878aSAndroid Build Coastguard Worker  }
383*61c4878aSAndroid Build Coastguard Worker}
384