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