xref: /aosp_15_r20/external/pigweed/pw_intrusive_ptr/BUILD.bazel (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1# Copyright 2022 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7#     https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15load("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
16
17package(default_visibility = ["//visibility:public"])
18
19licenses(["notice"])
20
21cc_library(
22    name = "pw_intrusive_ptr",
23    srcs = ["ref_counted_base.cc"],
24    hdrs = [
25        "public/pw_intrusive_ptr/internal/ref_counted_base.h",
26        "public/pw_intrusive_ptr/intrusive_ptr.h",
27    ],
28    strip_include_prefix = "public",
29    deps = [
30        ":pw_recyclable",
31        "//pw_assert",
32    ],
33)
34
35cc_library(
36    name = "pw_recyclable",
37    hdrs = [
38        "public/pw_intrusive_ptr/recyclable.h",
39    ],
40    strip_include_prefix = "public",
41)
42
43pw_cc_test(
44    name = "intrusive_ptr_test",
45    srcs = [
46        "intrusive_ptr_test.cc",
47    ],
48    # TODO: b/260624583 - Fix this for rp2040
49    target_compatible_with = select({
50        "//pw_build/constraints/chipset:rp2040": ["@platforms//:incompatible"],
51        "//conditions:default": [],
52    }),
53    deps = [":pw_intrusive_ptr"],
54)
55
56pw_cc_test(
57    name = "recyclable_test",
58    srcs = [
59        "recyclable_test.cc",
60    ],
61    # TODO: b/260624583 - Fix this for rp2040
62    target_compatible_with = select({
63        "//pw_build/constraints/chipset:rp2040": ["@platforms//:incompatible"],
64        "//conditions:default": [],
65    }),
66    deps = [":pw_intrusive_ptr"],
67)
68