| # 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. | 
 |  | 
 | load( | 
 |     "//pw_build:pigweed.bzl", | 
 |     "pw_cc_library", | 
 |     "pw_cc_test", | 
 | ) | 
 | load( | 
 |     "//pw_build:selects.bzl", | 
 |     "TARGET_COMPATIBLE_WITH_HOST_SELECT", | 
 | ) | 
 |  | 
 | package(default_visibility = ["//visibility:public"]) | 
 |  | 
 | licenses(["notice"]) | 
 |  | 
 | pw_cc_library( | 
 |     name = "pw_work_queue", | 
 |     srcs = ["work_queue.cc"], | 
 |     hdrs = [ | 
 |         "public/pw_work_queue/work_queue.h", | 
 |     ], | 
 |     includes = ["public"], | 
 |     deps = [ | 
 |         "//pw_containers:inline_queue", | 
 |         "//pw_function", | 
 |         "//pw_metric:metric", | 
 |         "//pw_status", | 
 |         "//pw_sync:interrupt_spin_lock", | 
 |         "//pw_sync:lock_annotations", | 
 |         "//pw_sync:thread_notification", | 
 |         "//pw_thread:thread", | 
 |     ], | 
 | ) | 
 |  | 
 | pw_cc_library( | 
 |     name = "test_thread_header", | 
 |     hdrs = ["public/pw_work_queue/test_thread.h"], | 
 |     includes = ["public"], | 
 | ) | 
 |  | 
 | pw_cc_library( | 
 |     name = "work_queue_test", | 
 |     srcs = [ | 
 |         "work_queue_test.cc", | 
 |     ], | 
 |     deps = [ | 
 |         ":pw_work_queue", | 
 |         ":stl_test_thread", | 
 |         "//pw_log", | 
 |         "//pw_unit_test", | 
 |     ], | 
 | ) | 
 |  | 
 | pw_cc_library( | 
 |     name = "stl_test_thread", | 
 |     srcs = [ | 
 |         "stl_test_thread.cc", | 
 |     ], | 
 |     target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT), | 
 |     deps = [ | 
 |         ":test_thread_header", | 
 |         "//pw_thread:thread", | 
 |         "//pw_thread_stl:thread", | 
 |     ], | 
 | ) | 
 |  | 
 | pw_cc_test( | 
 |     name = "stl_work_queue_test", | 
 |     target_compatible_with = select(TARGET_COMPATIBLE_WITH_HOST_SELECT), | 
 |     deps = [ | 
 |         ":stl_test_thread", | 
 |         ":work_queue_test", | 
 |     ], | 
 | ) |