Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / third_party / pigweed / repo / pw_sync_freertos / BUILD
1 # 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
15 load(
16     "//pw_build:pigweed.bzl",
17     "pw_cc_library",
18 )
19
20 package(default_visibility = ["//visibility:public"])
21
22 licenses(["notice"])  # Apache License 2.0
23
24 pw_cc_library(
25     name = "binary_semaphore_headers",
26     hdrs = [
27         "public/pw_sync_freertos/binary_semaphore_inline.h",
28         "public/pw_sync_freertos/binary_semaphore_native.h",
29         "public_overrides/pw_sync_backend/binary_semaphore_inline.h",
30         "public_overrides/pw_sync_backend/binary_semaphore_native.h",
31     ],
32     includes = [
33         "public",
34         "public_overrides",
35     ],
36     deps = [
37         # TODO: This should depend on FreeRTOS but our third parties currently
38         # do not have Bazel support.
39         "//pw_chrono:system_clock",
40         "//pw_chrono_freertos:system_clock_headers",
41     ],
42 )
43
44 pw_cc_library(
45     name = "binary_semaphore",
46     srcs = [
47         "binary_semaphore.cc",
48     ],
49     deps = [
50         ":binary_semaphore_headers",
51         "//pw_interrupt:context",
52         "//pw_sync:binary_semaphore_facade",
53     ],
54 )
55
56 pw_cc_library(
57     name = "counting_semaphore_headers",
58     hdrs = [
59         "public/pw_sync_freertos/counting_semaphore_inline.h",
60         "public/pw_sync_freertos/counting_semaphore_native.h",
61         "public_overrides/pw_sync_backend/counting_semaphore_inline.h",
62         "public_overrides/pw_sync_backend/counting_semaphore_native.h",
63     ],
64     includes = [
65         "public",
66         "public_overrides",
67     ],
68     deps = [
69         # TODO: This should depend on FreeRTOS but our third parties currently
70         # do not have Bazel support.
71         "//pw_chrono:system_clock",
72         "//pw_chrono_freertos:system_clock_headers",
73     ],
74 )
75
76 pw_cc_library(
77     name = "counting_semaphore",
78     srcs = [
79         "counting_semaphore.cc",
80     ],
81     deps = [
82         ":counting_semaphore_headers",
83         "//pw_interrupt:context",
84         "//pw_sync:counting_semaphore_facade",
85     ],
86 )
87
88 pw_cc_library(
89     name = "mutex_headers",
90     hdrs = [
91         "public/pw_sync_freertos/mutex_inline.h",
92         "public/pw_sync_freertos/mutex_native.h",
93         "public_overrides/pw_sync_backend/mutex_inline.h",
94         "public_overrides/pw_sync_backend/mutex_native.h",
95     ],
96     includes = [
97         "public",
98         "public_overrides",
99     ],
100     deps = [
101         # TODO: This should depend on FreeRTOS but our third parties currently
102         # do not have Bazel support.
103         "//pw_chrono:system_clock",
104         "//pw_chrono_freertos:system_clock_headers",
105     ],
106 )
107
108 pw_cc_library(
109     name = "mutex",
110     srcs = [
111         "mutex.cc",
112     ],
113     deps = [
114         ":mutex_headers",
115         "//pw_interrupt:context",
116         "//pw_sync:mutex_facade",
117     ],
118 )
119
120 pw_cc_library(
121     name = "spin_lock_headers",
122     hdrs = [
123         "public/pw_sync_freertos/spin_lock_inline.h",
124         "public/pw_sync_freertos/spin_lock_native.h",
125         "public_overrides/pw_sync_backend/spin_lock_inline.h",
126         "public_overrides/pw_sync_backend/spin_lock_native.h",
127     ],
128     includes = [
129         "public",
130         "public_overrides",
131     ],
132     # TODO: This should depend on FreeRTOS but our third parties currently
133     # do not have Bazel support.
134 )
135
136 pw_cc_library(
137     name = "spin_lock",
138     srcs = [
139         "spin_lock.cc",
140     ],
141     deps = [
142         ":spin_lock_headers",
143         "//pw_interrupt:context",
144         "//pw_sync:spin_lock_facade",
145     ],
146 )