# Copyright 2019 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. load( "//pw_build:pigweed.bzl", "host_backend_alias", "pw_facade", ) package(default_visibility = ["//visibility:public"]) licenses(["notice"]) constraint_setting( name = "backend_constraint_setting", default_constraint_value = "unspecified", ) constraint_value( name = "unspecified", constraint_setting = ":backend_constraint_setting", ) # TODO: pwbug.dev/328679085 - Remove this alias once no-one uses it. alias( name = "facade", actual = ":pw_sys_io.facade", ) pw_facade( name = "pw_sys_io", hdrs = ["public/pw_sys_io/sys_io.h"], backend = ":backend", includes = ["public"], deps = [ "//pw_bytes", "//pw_status", ], ) label_flag( name = "backend", build_setting_default = ":backend_multiplexer", ) cc_library( name = "default_putget_bytes", srcs = ["sys_io.cc"], deps = [ ":facade", "//pw_span", "//pw_status", ], ) alias( name = "backend_multiplexer", actual = select({ "//pw_sys_io_arduino:backend": "@pigweed//pw_sys_io_arduino", "//pw_sys_io_baremetal_lm3s6965evb:backend": "@pigweed//pw_sys_io_baremetal_lm3s6965evb", "//pw_sys_io_baremetal_stm32f429:backend": "@pigweed//pw_sys_io_baremetal_stm32f429", "//pw_sys_io_emcraft_sf2:backend": "@pigweed//pw_sys_io_emcraft_sf2", "//pw_sys_io_mcuxpresso:backend": "@pigweed//pw_sys_io_mcuxpresso", "//pw_sys_io_rp2040:backend": "@pigweed//pw_sys_io_rp2040", "//pw_sys_io_stdio:backend": "@pigweed//pw_sys_io_stdio", "//pw_sys_io_stm32cube:backend": "@pigweed//pw_sys_io_stm32cube", ":unspecified": ":unspecified_backend", "//conditions:default": ":unspecified_backend", }), visibility = ["@pigweed//targets:__pkg__"], ) host_backend_alias( name = "unspecified_backend", backend = "@pigweed//pw_sys_io_stdio", )