xref: /aosp_15_r20/external/pigweed/pw_minimal_cpp_stdlib/BUILD.bazel (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1# Copyright 2020 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_minimal_cpp_stdlib",
23    srcs = [
24        "public/pw_minimal_cpp_stdlib/internal/algorithm.h",
25        "public/pw_minimal_cpp_stdlib/internal/array.h",
26        "public/pw_minimal_cpp_stdlib/internal/cinttypes.h",
27        "public/pw_minimal_cpp_stdlib/internal/climits.h",
28        "public/pw_minimal_cpp_stdlib/internal/cmath.h",
29        "public/pw_minimal_cpp_stdlib/internal/cstdarg.h",
30        "public/pw_minimal_cpp_stdlib/internal/cstddef.h",
31        "public/pw_minimal_cpp_stdlib/internal/cstdint.h",
32        "public/pw_minimal_cpp_stdlib/internal/cstdio.h",
33        "public/pw_minimal_cpp_stdlib/internal/cstring.h",
34        "public/pw_minimal_cpp_stdlib/internal/functional.h",
35        "public/pw_minimal_cpp_stdlib/internal/initializer_list.h",
36        "public/pw_minimal_cpp_stdlib/internal/iterator.h",
37        "public/pw_minimal_cpp_stdlib/internal/limits.h",
38        "public/pw_minimal_cpp_stdlib/internal/memory.h",
39        "public/pw_minimal_cpp_stdlib/internal/new.h",
40        "public/pw_minimal_cpp_stdlib/internal/string.h",
41        "public/pw_minimal_cpp_stdlib/internal/string_view.h",
42        "public/pw_minimal_cpp_stdlib/internal/type_traits.h",
43        "public/pw_minimal_cpp_stdlib/internal/utility.h",
44    ],
45    hdrs = [
46        "public/algorithm",
47        "public/array",
48        "public/cinttypes",
49        "public/climits",
50        "public/cmath",
51        "public/cstdarg",
52        "public/cstddef",
53        "public/cstdint",
54        "public/cstdio",
55        "public/cstring",
56        "public/functional",
57        "public/initializer_list",
58        "public/iterator",
59        "public/limits",
60        "public/memory",
61        "public/new",
62        "public/string",
63        "public/string_view",
64        "public/type_traits",
65        "public/utility",
66    ],
67    copts = ["-nostdinc++"],
68    strip_include_prefix = "public",
69    deps = [
70        "//pw_polyfill:standard_library",
71    ],
72)
73
74cc_library(
75    name = "minimal_cpp_stdlib_isolated_test",
76    srcs = ["isolated_test.cc"],
77    copts = ["-nostdinc++"],
78    tags = ["manual"],  # TODO: b/257529911 - Fix build failures.
79    deps = [
80        ":pw_minimal_cpp_stdlib",
81        "//pw_polyfill",
82        "//pw_preprocessor",
83    ],
84)
85
86pw_cc_test(
87    name = "test",
88    srcs = [
89        "test.cc",
90    ],
91    tags = ["manual"],  # TODO: b/257529911 - Fix build failures.
92    deps = [
93        ":minimal_cpp_stdlib_isolated_test",
94        "//pw_unit_test",
95    ],
96)
97