blob: 1fafeda1e6441bbcb89dbb7a89130ea29ca7aecb [file] [log] [blame]
Ewout van Bekkum660ebba2020-11-11 13:40:10 -08001# 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_library",
18)
19
20package(default_visibility = ["//visibility:public"])
21
Rob Mohr5fc25412021-06-23 09:35:23 -070022licenses(["notice"])
Ewout van Bekkum660ebba2020-11-11 13:40:10 -080023
24pw_cc_library(
25 name = "system_clock_headers",
26 hdrs = [
27 "public/pw_chrono_freertos/config.h",
28 "public/pw_chrono_freertos/system_clock_config.h",
29 "public/pw_chrono_freertos/system_clock_constants.h",
30 "public_overrides/pw_chrono_backend/system_clock_config.h",
31 ],
32 includes = [
33 "public",
34 "public_overrides",
35 ],
Nathaniel Broughc2d57812021-04-18 22:52:00 +080036 target_compatible_with = [
37 "//pw_build/constraints/rtos:freertos",
38 ],
Ewout van Bekkum660ebba2020-11-11 13:40:10 -080039 deps = [
40 "//pw_chrono:epoch",
41 ],
42)
43
44pw_cc_library(
45 name = "system_clock",
46 srcs = [
47 "system_clock.cc",
48 ],
Nathaniel Broughc2d57812021-04-18 22:52:00 +080049 target_compatible_with = [
50 "//pw_build/constraints/rtos:freertos",
51 ],
Ewout van Bekkum660ebba2020-11-11 13:40:10 -080052 deps = [
53 ":system_clock_headers",
54 "//pw_chrono:system_clock_facade",
55 # TODO: This should depend on FreeRTOS but our third parties currently
56 # do not have Bazel support.
57 ],
58)
Ewout van Bekkum4f97fdd2021-06-24 10:37:37 -070059
60pw_cc_library(
61 name = "system_timer_headers",
62 hdrs = [
63 "public/pw_chrono_freertos/system_timer_inline.h",
64 "public/pw_chrono_freertos/system_timer_native.h",
65 "public_overrides/pw_chrono_backend/system_timer_inline.h",
66 "public_overrides/pw_chrono_backend/system_timer_native.h",
67 ],
68 includes = [
69 "public",
70 "public_overrides",
71 ],
72 deps = [
73 "//pw_chrono:system_clock",
74 "//pw_function",
75 "//pw_chrono:system_timer_facade",
76 # TODO(pwbug/317): This should depend on FreeRTOS but our third parties
77 # currently do not have Bazel support.
78 ],
79)
80
81pw_cc_library(
82 name = "system_timer",
83 srcs = [
84 "system_timer.cc",
85 ],
86 deps = [
87 ":system_timer_headers",
88 "//pw_chrono:system_timer_facade",
89 ":system_clock",
90 "//pw_assert",
91 # TODO(pwbug/317): This should depend on FreeRTOS but our third parties
92 # currently do not have Bazel support.
93 ],
94)