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