blob: a8ed820ffd3907af8f8e449a8e8ceb7173a129eb [file] [log] [blame]
Tyler Chatow60671d32020-02-26 19:49:30 -08001load("@//tools/build_rules:select.bzl", "cpu_select")
2
Tyler Chatow6eda82c2022-03-27 22:37:38 -07003_common_srcs_list = [
4 "lib/%s/libcap.so.2",
5 "lib/%s/libdbus-1.so.3",
6 "lib/%s/libexpat.so.1",
7 "lib/%s/libgpg-error.so.0",
8 "lib/%s/libpcre.so.3",
9 "usr/lib/%s/blas/libblas.so.3",
10 "usr/lib/%s/gstreamer-1.0/libgstapp.so",
11 "usr/lib/%s/gstreamer-1.0/libgstcoreelements.so",
12 "usr/lib/%s/gstreamer-1.0/libgstdtls.so",
13 "usr/lib/%s/gstreamer-1.0/libgstnice.so",
14 "usr/lib/%s/gstreamer-1.0/libgstrtp.so",
15 "usr/lib/%s/gstreamer-1.0/libgstrtpmanager.so",
16 "usr/lib/%s/gstreamer-1.0/libgstsrtp.so",
17 "usr/lib/%s/gstreamer-1.0/libgstv4l2codecs.so",
18 "usr/lib/%s/gstreamer-1.0/libgstvideo4linux2.so",
19 "usr/lib/%s/gstreamer-1.0/libgstvideoconvert.so",
20 "usr/lib/%s/gstreamer-1.0/libgstvideoparsersbad.so",
21 "usr/lib/%s/gstreamer-1.0/libgstvideorate.so",
22 "usr/lib/%s/gstreamer-1.0/libgstvideoscale.so",
23 "usr/lib/%s/gstreamer-1.0/libgstvideotestsrc.so",
24 "usr/lib/%s/gstreamer-1.0/libgstwebrtc.so",
25 "usr/lib/%s/gstreamer-1.0/libgstx264.so",
26 "usr/lib/%s/lapack/liblapack.so.3",
27 "usr/lib/%s/libEGL.so.1",
28 "usr/lib/%s/libGL.so.1",
29 "usr/lib/%s/libGLX.so.0",
30 "usr/lib/%s/libGLdispatch.so.0",
31 "usr/lib/%s/libHalf-2_5.so.25",
32 "usr/lib/%s/libIex-2_5.so.25",
33 "usr/lib/%s/libIlmImf-2_5.so.25",
34 "usr/lib/%s/libIlmThread-2_5.so.25",
35 "usr/lib/%s/libImath-2_5.so.25",
36 "usr/lib/%s/libX11-xcb.so.1",
37 "usr/lib/%s/libX11.so.6",
38 "usr/lib/%s/libXau.so.6",
39 "usr/lib/%s/libXcomposite.so.1",
40 "usr/lib/%s/libXcursor.so.1",
41 "usr/lib/%s/libXdamage.so.1",
42 "usr/lib/%s/libXdmcp.so.6",
43 "usr/lib/%s/libXext.so.6",
44 "usr/lib/%s/libXfixes.so.3",
45 "usr/lib/%s/libXi.so.6",
46 "usr/lib/%s/libXinerama.so.1",
47 "usr/lib/%s/libXrandr.so.2",
48 "usr/lib/%s/libXrender.so.1",
49 "usr/lib/%s/libaec.so.0",
50 "usr/lib/%s/libaom.so.0",
51 "usr/lib/%s/libarpack.so.2",
52 "usr/lib/%s/libatk-1.0.so.0",
53 "usr/lib/%s/libatk-bridge-2.0.so.0",
54 "usr/lib/%s/libatspi.so.0",
55 "usr/lib/%s/libblkid.so.1",
56 "usr/lib/%s/libbrotlicommon.so.1",
57 "usr/lib/%s/libbrotlidec.so.1",
58 "usr/lib/%s/libbsd.so.0",
59 "usr/lib/%s/libcairo-gobject.so.2",
60 "usr/lib/%s/libcairo.so.2",
61 "usr/lib/%s/libcfitsio.so.9",
62 "usr/lib/%s/libcharls.so.2",
63 "usr/lib/%s/libcurl-gnutls.so.4",
64 "usr/lib/%s/libcurl.so.4",
65 "usr/lib/%s/libdap.so.27",
66 "usr/lib/%s/libdapclient.so.6",
67 "usr/lib/%s/libdatrie.so.1",
68 "usr/lib/%s/libdav1d.so.4",
69 "usr/lib/%s/libde265.so.0",
70 "usr/lib/%s/libdeflate.so.0",
71 "usr/lib/%s/libdrm.so.2",
72 "usr/lib/%s/libdw.so.1",
73 "usr/lib/%s/libelf.so.1",
74 "usr/lib/%s/libepoxy.so.0",
75 "usr/lib/%s/libepsilon.so.1",
76 "usr/lib/%s/libffi.so.7",
77 "usr/lib/%s/libfontconfig.so.1",
78 "usr/lib/%s/libfreetype.so.6",
79 "usr/lib/%s/libfreexl.so.1",
80 "usr/lib/%s/libfribidi.so.0",
81 "usr/lib/%s/libfyba.so.0",
82 "usr/lib/%s/libfygm.so.0",
83 "usr/lib/%s/libfyut.so.0",
84 "usr/lib/%s/libgbm.so.1",
85 "usr/lib/%s/libgcrypt.so.20",
86 "usr/lib/%s/libgdcmCommon.so.3.0",
87 "usr/lib/%s/libgdcmDICT.so.3.0",
88 "usr/lib/%s/libgdcmDSED.so.3.0",
89 "usr/lib/%s/libgdcmIOD.so.3.0",
90 "usr/lib/%s/libgdcmMSFF.so.3.0",
91 "usr/lib/%s/libgdcmjpeg12.so.3.0",
92 "usr/lib/%s/libgdcmjpeg16.so.3.0",
93 "usr/lib/%s/libgdcmjpeg8.so.3.0",
94 "usr/lib/%s/libgdk-3.so.0",
95 "usr/lib/%s/libgdk_pixbuf-2.0.so.0",
96 "usr/lib/%s/libgeos-3.9.0.so",
97 "usr/lib/%s/libgeos_c.so.1",
98 "usr/lib/%s/libgeotiff.so.5",
99 "usr/lib/%s/libgfortran.so.5",
100 "usr/lib/%s/libgif.so.7",
101 "usr/lib/%s/libgio-2.0.so.0",
102 "usr/lib/%s/libglib-2.0.so.0",
103 "usr/lib/%s/libgmodule-2.0.so.0",
104 "usr/lib/%s/libgmp.so.10",
105 "usr/lib/%s/libgnutls.so.30",
106 "usr/lib/%s/libgobject-2.0.so.0",
107 "usr/lib/%s/libgraphite2.so.3",
108 "usr/lib/%s/libgssdp-1.2.so.0",
109 "usr/lib/%s/libgstallocators-1.0.so.0",
110 "usr/lib/%s/libgstapp-1.0.so.0",
111 "usr/lib/%s/libgstaudio-1.0.so.0",
112 "usr/lib/%s/libgstbase-1.0.so.0",
113 "usr/lib/%s/libgstcodecparsers-1.0.so.0",
114 "usr/lib/%s/libgstcodecs-1.0.so.0",
115 "usr/lib/%s/libgstgl-1.0.so.0",
116 "usr/lib/%s/libgstnet-1.0.so.0",
117 "usr/lib/%s/libgstpbutils-1.0.so.0",
118 "usr/lib/%s/libgstreamer-1.0.so.0",
119 "usr/lib/%s/libgstrtp-1.0.so.0",
120 "usr/lib/%s/libgstsctp-1.0.so.0",
121 "usr/lib/%s/libgstsdp-1.0.so.0",
122 "usr/lib/%s/libgsttag-1.0.so.0",
123 "usr/lib/%s/libgstvideo-1.0.so.0",
124 "usr/lib/%s/libgstwebrtc-1.0.so.0",
125 "usr/lib/%s/libgthread-2.0.so.0",
126 "usr/lib/%s/libgtk-3.so.0",
127 "usr/lib/%s/libgudev-1.0.so.0",
128 "usr/lib/%s/libgupnp-1.2.so.0",
129 "usr/lib/%s/libgupnp-igd-1.0.so.4",
130 "usr/lib/%s/libharfbuzz.so.0",
131 "usr/lib/%s/libhdf5_serial.so.103",
132 "usr/lib/%s/libhdf5_serial_hl.so.100",
133 "usr/lib/%s/libheif.so.1",
134 "usr/lib/%s/libhogweed.so.6",
135 "usr/lib/%s/libicudata.so.67",
136 "usr/lib/%s/libicui18n.so.67",
137 "usr/lib/%s/libicuuc.so.67",
138 "usr/lib/%s/libidn2.so.0",
139 "usr/lib/%s/libjbig.so.0",
140 "usr/lib/%s/libjpeg.so.62",
141 "usr/lib/%s/libjson-c.so.5",
142 "usr/lib/%s/libjson-glib-1.0.so.0",
143 "usr/lib/%s/libkmlbase.so.1",
144 "usr/lib/%s/libkmldom.so.1",
145 "usr/lib/%s/libkmlengine.so.1",
146 "usr/lib/%s/liblber-2.4.so.2",
147 "usr/lib/%s/liblcms2.so.2",
148 "usr/lib/%s/libldap_r-2.4.so.2",
149 "usr/lib/%s/libltdl.so.7",
150 "usr/lib/%s/liblz4.so.1",
151 "usr/lib/%s/libmariadb.so.3",
152 "usr/lib/%s/libmd.so.0",
153 "usr/lib/%s/libminizip.so.1",
154 "usr/lib/%s/libmount.so.1",
155 "usr/lib/%s/libnetcdf.so.18",
156 "usr/lib/%s/libnettle.so.8",
157 "usr/lib/%s/libnghttp2.so.14",
158 "usr/lib/%s/libnice.so.10",
159 "usr/lib/%s/libnspr4.so",
160 "usr/lib/%s/libnss3.so",
161 "usr/lib/%s/libnssutil3.so",
162 "usr/lib/%s/libodbc.so.2",
163 "usr/lib/%s/libodbcinst.so.2",
164 "usr/lib/%s/libopencv_core.so.4.5",
165 "usr/lib/%s/libopencv_highgui.so.4.5",
166 "usr/lib/%s/libopencv_imgcodecs.so.4.5",
167 "usr/lib/%s/libopencv_imgproc.so.4.5",
168 "usr/lib/%s/libopenjp2.so.7",
169 "usr/lib/%s/liborc-0.4.so.0",
170 "usr/lib/%s/libp11-kit.so.0",
171 "usr/lib/%s/libpango-1.0.so.0",
172 "usr/lib/%s/libpangocairo-1.0.so.0",
173 "usr/lib/%s/libpangoft2-1.0.so.0",
174 "usr/lib/%s/libpixman-1.so.0",
175 "usr/lib/%s/libplc4.so",
176 "usr/lib/%s/libplds4.so",
177 "usr/lib/%s/libpng16.so.16",
178 "usr/lib/%s/libpoppler.so.102",
179 "usr/lib/%s/libpq.so.5",
180 "usr/lib/%s/libproj.so.19",
181 "usr/lib/%s/libpsl.so.5",
182 "usr/lib/%s/libqhull.so.8.0",
183 "usr/lib/%s/librtmp.so.1",
184 "usr/lib/%s/librttopo.so.1",
185 "usr/lib/%s/libsasl2.so.2",
186 "usr/lib/%s/libsmime3.so",
187 "usr/lib/%s/libsoup-2.4.so.1",
188 "usr/lib/%s/libspatialite.so.7",
189 "usr/lib/%s/libsqlite3.so.0",
190 "usr/lib/%s/libsrtp2.so.1",
191 "usr/lib/%s/libssh2.so.1",
192 "usr/lib/%s/libsuperlu.so.5",
193 "usr/lib/%s/libsystemd.so.0",
194 "usr/lib/%s/libsz.so.2",
195 "usr/lib/%s/libtasn1.so.6",
196 "usr/lib/%s/libtbb.so.2",
197 "usr/lib/%s/libthai.so.0",
198 "usr/lib/%s/libtiff.so.5",
199 "usr/lib/%s/libudev.so.1",
200 "usr/lib/%s/libunistring.so.2",
201 "usr/lib/%s/liburiparser.so.1",
202 "usr/lib/%s/libuuid.so.1",
203 "usr/lib/%s/libv4l2.so.0",
204 "usr/lib/%s/libv4lconvert.so.0",
205 "usr/lib/%s/libvpx.so.6",
206 "usr/lib/%s/libwayland-client.so.0",
207 "usr/lib/%s/libwayland-cursor.so.0",
208 "usr/lib/%s/libwayland-egl.so.1",
209 "usr/lib/%s/libwayland-server.so.0",
210 "usr/lib/%s/libwebp.so.6",
211 "usr/lib/%s/libx264.so.160",
212 "usr/lib/%s/libx265.so.192",
213 "usr/lib/%s/libxcb-render.so.0",
214 "usr/lib/%s/libxcb-shm.so.0",
215 "usr/lib/%s/libxcb.so.1",
216 "usr/lib/%s/libxerces-c-3.2.so",
217 "usr/lib/%s/libxkbcommon.so.0",
218 "usr/lib/%s/libxml2.so.2",
219 "usr/lib/%s/libzstd.so.1",
220 "usr/lib/libarmadillo.so.10",
221 "usr/lib/libdfalt.so.0",
222 "usr/lib/libgdal.so.28",
223 "usr/lib/libmfhdfalt.so.0",
224 "usr/lib/libogdi.so.4.1",
225]
226
Tyler Chatow60671d32020-02-26 19:49:30 -0800227cc_library(
228 name = "gstreamer",
229 srcs = cpu_select({
Austin Schuhf0103582023-06-02 22:18:11 -0700230 "amd64": [s % "x86_64-linux-gnu" if "%" in s else s for s in _common_srcs_list] + [
231 "usr/lib/x86_64-linux-gnu/libcrypto.so.1.1",
232 "usr/lib/x86_64-linux-gnu/libssl.so.1.1",
233 ],
Tyler Chatow60671d32020-02-26 19:49:30 -0800234 "roborio": [
235 ],
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700236 "arm64": [s % "aarch64-linux-gnu" if "%" in s else s for s in _common_srcs_list],
Tyler Chatow60671d32020-02-26 19:49:30 -0800237 "cortex-m": [],
James Kuszmaul5a728562023-12-28 21:45:01 -0800238 "cortex-m4f-imu": [],
Austin Schuh0a96ea32022-01-01 22:29:30 -0800239 "cortex-m0plus": [],
Tyler Chatow60671d32020-02-26 19:49:30 -0800240 }),
241 hdrs = glob([
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700242 "usr/lib/aarch64-linux-gnu/glib-2.0/include/**/*.h",
243 "usr/lib/arm-linux-gnueabihf/glib-2.0/include/**/*.h",
Tyler Chatow60671d32020-02-26 19:49:30 -0800244 "usr/lib/x86_64-linux-gnu/glib-2.0/include/**/*.h",
245 "usr/include/gstreamer-1.0/**/*.h",
246 "usr/include/glib-2.0/**/*.h",
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700247 "usr/include/libsoup-2.4/**/*.h",
248 "usr/include/json-glib-1.0/**/*.h",
249 "usr/include/opencv4/**",
250 "usr/include/X11/**",
Tyler Chatow60671d32020-02-26 19:49:30 -0800251 ]),
252 includes = cpu_select({
253 "amd64": [
254 "usr/lib/x86_64-linux-gnu/glib-2.0/include",
Tyler Chatow60671d32020-02-26 19:49:30 -0800255 ],
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700256 "arm64": [
257 "usr/lib/aarch64-linux-gnu/glib-2.0/include",
258 ],
Austin Schuh0a96ea32022-01-01 22:29:30 -0800259 "roborio": [],
James Kuszmaul5a728562023-12-28 21:45:01 -0800260 "cortex-m4f-imu": [],
Austin Schuh0a96ea32022-01-01 22:29:30 -0800261 "cortex-m": [],
262 "cortex-m0plus": [],
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700263 }) + [
264 "usr/include",
265 "usr/include/glib-2.0",
266 "usr/include/gstreamer-1.0",
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700267 "usr/include/json-glib-1.0",
Alexei Strotsb8bb99b2023-09-25 12:52:06 -0700268 "usr/include/libsoup-2.4",
Tyler Chatow6eda82c2022-03-27 22:37:38 -0700269 "usr/include/opencv4",
270 ],
Tyler Chatow60671d32020-02-26 19:49:30 -0800271 linkopts = [
272 "-ldl",
273 "-lresolv",
274 ],
275 visibility = ["//visibility:public"],
276)