blob: 821988de70e032e4085ea60970f95bde72980e2a [file] [log] [blame]
# Copyright 2021 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
package(default_visibility = ["//visibility:public"])
licenses(["notice"])
# Allows downstream projects to provide an alternative implementation of fit.
#
# Intended for projects that depend on both Pigweed and Fuchsia, and want to
# use the Fuchsia implementation directly to avoid ODR violations.
label_flag(
name = "fit",
build_setting_default = ":fit_impl",
)
cc_library(
name = "fit_impl",
srcs = [
"repo/sdk/lib/fit/include/lib/fit/internal/compiler.h",
"repo/sdk/lib/fit/include/lib/fit/internal/function.h",
"repo/sdk/lib/fit/include/lib/fit/internal/result.h",
"repo/sdk/lib/fit/include/lib/fit/internal/utility.h",
],
hdrs = [
"repo/sdk/lib/fit/include/lib/fit/defer.h",
"repo/sdk/lib/fit/include/lib/fit/function.h",
"repo/sdk/lib/fit/include/lib/fit/nullable.h",
"repo/sdk/lib/fit/include/lib/fit/result.h",
"repo/sdk/lib/fit/include/lib/fit/traits.h",
],
includes = ["repo/sdk/lib/fit/include"],
deps = [
":stdcompat",
"//pw_assert",
],
)
cc_library(
name = "stdcompat",
srcs = [
"repo/sdk/lib/stdcompat/include/lib/stdcompat/bit.h",
"repo/sdk/lib/stdcompat/include/lib/stdcompat/internal/constructors.h",
"repo/sdk/lib/stdcompat/include/lib/stdcompat/internal/exception.h",
"repo/sdk/lib/stdcompat/include/lib/stdcompat/internal/functional.h",
"repo/sdk/lib/stdcompat/include/lib/stdcompat/internal/storage.h",
"repo/sdk/lib/stdcompat/include/lib/stdcompat/internal/type_traits.h",
"repo/sdk/lib/stdcompat/include/lib/stdcompat/internal/utility.h",
"repo/sdk/lib/stdcompat/include/lib/stdcompat/memory.h",
],
hdrs = [
"repo/sdk/lib/stdcompat/include/lib/stdcompat/functional.h",
"repo/sdk/lib/stdcompat/include/lib/stdcompat/internal/bit.h",
"repo/sdk/lib/stdcompat/include/lib/stdcompat/optional.h",
"repo/sdk/lib/stdcompat/include/lib/stdcompat/type_traits.h",
"repo/sdk/lib/stdcompat/include/lib/stdcompat/utility.h",
"repo/sdk/lib/stdcompat/include/lib/stdcompat/version.h",
],
includes = ["repo/sdk/lib/stdcompat/include"],
)