1# Copyright 2021 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 15package(default_visibility = ["//visibility:public"]) 16 17licenses(["notice"]) 18 19# Allows downstream projects to provide an alternative implementation of fit. 20# 21# Intended for projects that depend on both Pigweed and Fuchsia, and want to 22# use the Fuchsia implementation directly to avoid ODR violations. 23label_flag( 24 name = "fit", 25 build_setting_default = ":fit_impl", 26) 27 28cc_library( 29 name = "fit_impl", 30 srcs = [ 31 "repo/sdk/lib/fit/include/lib/fit/internal/compiler.h", 32 "repo/sdk/lib/fit/include/lib/fit/internal/function.h", 33 "repo/sdk/lib/fit/include/lib/fit/internal/result.h", 34 "repo/sdk/lib/fit/include/lib/fit/internal/utility.h", 35 ], 36 hdrs = [ 37 "repo/sdk/lib/fit/include/lib/fit/defer.h", 38 "repo/sdk/lib/fit/include/lib/fit/function.h", 39 "repo/sdk/lib/fit/include/lib/fit/nullable.h", 40 "repo/sdk/lib/fit/include/lib/fit/result.h", 41 "repo/sdk/lib/fit/include/lib/fit/traits.h", 42 ], 43 includes = ["repo/sdk/lib/fit/include"], 44 deps = [ 45 ":stdcompat", 46 "//pw_assert", 47 ], 48) 49 50cc_library( 51 name = "stdcompat", 52 srcs = [ 53 "repo/sdk/lib/stdcompat/include/lib/stdcompat/bit.h", 54 "repo/sdk/lib/stdcompat/include/lib/stdcompat/internal/constructors.h", 55 "repo/sdk/lib/stdcompat/include/lib/stdcompat/internal/exception.h", 56 "repo/sdk/lib/stdcompat/include/lib/stdcompat/internal/functional.h", 57 "repo/sdk/lib/stdcompat/include/lib/stdcompat/internal/storage.h", 58 "repo/sdk/lib/stdcompat/include/lib/stdcompat/internal/type_traits.h", 59 "repo/sdk/lib/stdcompat/include/lib/stdcompat/internal/utility.h", 60 "repo/sdk/lib/stdcompat/include/lib/stdcompat/memory.h", 61 ], 62 hdrs = [ 63 "repo/sdk/lib/stdcompat/include/lib/stdcompat/functional.h", 64 "repo/sdk/lib/stdcompat/include/lib/stdcompat/internal/bit.h", 65 "repo/sdk/lib/stdcompat/include/lib/stdcompat/optional.h", 66 "repo/sdk/lib/stdcompat/include/lib/stdcompat/type_traits.h", 67 "repo/sdk/lib/stdcompat/include/lib/stdcompat/utility.h", 68 "repo/sdk/lib/stdcompat/include/lib/stdcompat/version.h", 69 ], 70 includes = ["repo/sdk/lib/stdcompat/include"], 71) 72