Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / third_party / pigweed / repo / pw_sync_threadx / 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_threadx/binary_semaphore_inline.h",
28         "public/pw_sync_threadx/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 ThreadX but our third parties currently
38         # do not have Bazel support.
39         "//pw_chrono:system_clock",
40     ],
41 )
42
43 pw_cc_library(
44     name = "binary_semaphore",
45     srcs = [
46         "binary_semaphore.cc",
47     ],
48     deps = [
49         ":binary_semaphore_headers",
50         "//pw_chrono_threadx:system_clock_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_threadx/counting_semaphore_inline.h",
60         "public/pw_sync_threadx/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 ThreadX but our third parties currently
70         # do not have Bazel support.
71         "//pw_chrono:system_clock",
72     ],
73 )
74
75 pw_cc_library(
76     name = "counting_semaphore",
77     srcs = [
78         "counting_semaphore.cc",
79     ],
80     deps = [
81         ":counting_semaphore_headers",
82         "//pw_chrono_threadx:system_clock_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_threadx/mutex_inline.h",
92         "public/pw_sync_threadx/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 ThreadX but our third parties currently
102         # do not have Bazel support.
103         "//pw_chrono:system_clock",
104     ],
105 )
106
107 pw_cc_library(
108     name = "mutex",
109     srcs = [
110         "mutex.cc",
111     ],
112     deps = [
113         ":mutex_headers",
114         "//pw_chrono_threadx:system_clock_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_threadx/spin_lock_inline.h",
124         "public/pw_sync_threadx/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 ThreadX 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_sync:spin_lock_facade",
144     ],
145 )