xref: /aosp_15_r20/external/bazelbuild-rules_rust/bindgen/3rdparty/crates/defs.bzl (revision d4726bddaa87cc4778e7472feed243fa4b6c267f)
1###############################################################################
2# @generated
3# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
4# regenerate this file, run the following:
5#
6#     bazel run @//bindgen/3rdparty:crates_vendor
7###############################################################################
8"""
9# `crates_repository` API
10
11- [aliases](#aliases)
12- [crate_deps](#crate_deps)
13- [all_crate_deps](#all_crate_deps)
14- [crate_repositories](#crate_repositories)
15
16"""
17
18load("@bazel_skylib//lib:selects.bzl", "selects")
19load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
20load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
21
22###############################################################################
23# MACROS API
24###############################################################################
25
26# An identifier that represent common dependencies (unconditional).
27_COMMON_CONDITION = ""
28
29def _flatten_dependency_maps(all_dependency_maps):
30    """Flatten a list of dependency maps into one dictionary.
31
32    Dependency maps have the following structure:
33
34    ```python
35    DEPENDENCIES_MAP = {
36        # The first key in the map is a Bazel package
37        # name of the workspace this file is defined in.
38        "workspace_member_package": {
39
40            # Not all dependencies are supported for all platforms.
41            # the condition key is the condition required to be true
42            # on the host platform.
43            "condition": {
44
45                # An alias to a crate target.     # The label of the crate target the
46                # Aliases are only crate names.   # package name refers to.
47                "package_name":                   "@full//:label",
48            }
49        }
50    }
51    ```
52
53    Args:
54        all_dependency_maps (list): A list of dicts as described above
55
56    Returns:
57        dict: A dictionary as described above
58    """
59    dependencies = {}
60
61    for workspace_deps_map in all_dependency_maps:
62        for pkg_name, conditional_deps_map in workspace_deps_map.items():
63            if pkg_name not in dependencies:
64                non_frozen_map = dict()
65                for key, values in conditional_deps_map.items():
66                    non_frozen_map.update({key: dict(values.items())})
67                dependencies.setdefault(pkg_name, non_frozen_map)
68                continue
69
70            for condition, deps_map in conditional_deps_map.items():
71                # If the condition has not been recorded, do so and continue
72                if condition not in dependencies[pkg_name]:
73                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))
74                    continue
75
76                # Alert on any miss-matched dependencies
77                inconsistent_entries = []
78                for crate_name, crate_label in deps_map.items():
79                    existing = dependencies[pkg_name][condition].get(crate_name)
80                    if existing and existing != crate_label:
81                        inconsistent_entries.append((crate_name, existing, crate_label))
82                    dependencies[pkg_name][condition].update({crate_name: crate_label})
83
84    return dependencies
85
86def crate_deps(deps, package_name = None):
87    """Finds the fully qualified label of the requested crates for the package where this macro is called.
88
89    Args:
90        deps (list): The desired list of crate targets.
91        package_name (str, optional): The package name of the set of dependencies to look up.
92            Defaults to `native.package_name()`.
93
94    Returns:
95        list: A list of labels to generated rust targets (str)
96    """
97
98    if not deps:
99        return []
100
101    if package_name == None:
102        package_name = native.package_name()
103
104    # Join both sets of dependencies
105    dependencies = _flatten_dependency_maps([
106        _NORMAL_DEPENDENCIES,
107        _NORMAL_DEV_DEPENDENCIES,
108        _PROC_MACRO_DEPENDENCIES,
109        _PROC_MACRO_DEV_DEPENDENCIES,
110        _BUILD_DEPENDENCIES,
111        _BUILD_PROC_MACRO_DEPENDENCIES,
112    ]).pop(package_name, {})
113
114    # Combine all conditional packages so we can easily index over a flat list
115    # TODO: Perhaps this should actually return select statements and maintain
116    # the conditionals of the dependencies
117    flat_deps = {}
118    for deps_set in dependencies.values():
119        for crate_name, crate_label in deps_set.items():
120            flat_deps.update({crate_name: crate_label})
121
122    missing_crates = []
123    crate_targets = []
124    for crate_target in deps:
125        if crate_target not in flat_deps:
126            missing_crates.append(crate_target)
127        else:
128            crate_targets.append(flat_deps[crate_target])
129
130    if missing_crates:
131        fail("Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`".format(
132            missing_crates,
133            package_name,
134            dependencies,
135        ))
136
137    return crate_targets
138
139def all_crate_deps(
140        normal = False,
141        normal_dev = False,
142        proc_macro = False,
143        proc_macro_dev = False,
144        build = False,
145        build_proc_macro = False,
146        package_name = None):
147    """Finds the fully qualified label of all requested direct crate dependencies \
148    for the package where this macro is called.
149
150    If no parameters are set, all normal dependencies are returned. Setting any one flag will
151    otherwise impact the contents of the returned list.
152
153    Args:
154        normal (bool, optional): If True, normal dependencies are included in the
155            output list.
156        normal_dev (bool, optional): If True, normal dev dependencies will be
157            included in the output list..
158        proc_macro (bool, optional): If True, proc_macro dependencies are included
159            in the output list.
160        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are
161            included in the output list.
162        build (bool, optional): If True, build dependencies are included
163            in the output list.
164        build_proc_macro (bool, optional): If True, build proc_macro dependencies are
165            included in the output list.
166        package_name (str, optional): The package name of the set of dependencies to look up.
167            Defaults to `native.package_name()` when unset.
168
169    Returns:
170        list: A list of labels to generated rust targets (str)
171    """
172
173    if package_name == None:
174        package_name = native.package_name()
175
176    # Determine the relevant maps to use
177    all_dependency_maps = []
178    if normal:
179        all_dependency_maps.append(_NORMAL_DEPENDENCIES)
180    if normal_dev:
181        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)
182    if proc_macro:
183        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)
184    if proc_macro_dev:
185        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)
186    if build:
187        all_dependency_maps.append(_BUILD_DEPENDENCIES)
188    if build_proc_macro:
189        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)
190
191    # Default to always using normal dependencies
192    if not all_dependency_maps:
193        all_dependency_maps.append(_NORMAL_DEPENDENCIES)
194
195    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)
196
197    if not dependencies:
198        if dependencies == None:
199            fail("Tried to get all_crate_deps for package " + package_name + " but that package had no Cargo.toml file")
200        else:
201            return []
202
203    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())
204    for condition, deps in dependencies.items():
205        crate_deps += selects.with_or({
206            tuple(_CONDITIONS[condition]): deps.values(),
207            "//conditions:default": [],
208        })
209
210    return crate_deps
211
212def aliases(
213        normal = False,
214        normal_dev = False,
215        proc_macro = False,
216        proc_macro_dev = False,
217        build = False,
218        build_proc_macro = False,
219        package_name = None):
220    """Produces a map of Crate alias names to their original label
221
222    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.
223    Setting any one flag will otherwise determine the contents of the returned dict.
224
225    Args:
226        normal (bool, optional): If True, normal dependencies are included in the
227            output list.
228        normal_dev (bool, optional): If True, normal dev dependencies will be
229            included in the output list..
230        proc_macro (bool, optional): If True, proc_macro dependencies are included
231            in the output list.
232        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are
233            included in the output list.
234        build (bool, optional): If True, build dependencies are included
235            in the output list.
236        build_proc_macro (bool, optional): If True, build proc_macro dependencies are
237            included in the output list.
238        package_name (str, optional): The package name of the set of dependencies to look up.
239            Defaults to `native.package_name()` when unset.
240
241    Returns:
242        dict: The aliases of all associated packages
243    """
244    if package_name == None:
245        package_name = native.package_name()
246
247    # Determine the relevant maps to use
248    all_aliases_maps = []
249    if normal:
250        all_aliases_maps.append(_NORMAL_ALIASES)
251    if normal_dev:
252        all_aliases_maps.append(_NORMAL_DEV_ALIASES)
253    if proc_macro:
254        all_aliases_maps.append(_PROC_MACRO_ALIASES)
255    if proc_macro_dev:
256        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)
257    if build:
258        all_aliases_maps.append(_BUILD_ALIASES)
259    if build_proc_macro:
260        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)
261
262    # Default to always using normal aliases
263    if not all_aliases_maps:
264        all_aliases_maps.append(_NORMAL_ALIASES)
265        all_aliases_maps.append(_PROC_MACRO_ALIASES)
266
267    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)
268
269    if not aliases:
270        return dict()
271
272    common_items = aliases.pop(_COMMON_CONDITION, {}).items()
273
274    # If there are only common items in the dictionary, immediately return them
275    if not len(aliases.keys()) == 1:
276        return dict(common_items)
277
278    # Build a single select statement where each conditional has accounted for the
279    # common set of aliases.
280    crate_aliases = {"//conditions:default": dict(common_items)}
281    for condition, deps in aliases.items():
282        condition_triples = _CONDITIONS[condition]
283        for triple in condition_triples:
284            if triple in crate_aliases:
285                crate_aliases[triple].update(deps)
286            else:
287                crate_aliases.update({triple: dict(deps.items() + common_items)})
288
289    return select(crate_aliases)
290
291###############################################################################
292# WORKSPACE MEMBER DEPS AND ALIASES
293###############################################################################
294
295_NORMAL_DEPENDENCIES = {
296    "": {
297        _COMMON_CONDITION: {
298            "bindgen": Label("@rules_rust_bindgen__bindgen-0.69.1//:bindgen"),
299            "clang-sys": Label("@rules_rust_bindgen__clang-sys-1.6.1//:clang_sys"),
300            "clap": Label("@rules_rust_bindgen__clap-4.3.3//:clap"),
301            "clap_complete": Label("@rules_rust_bindgen__clap_complete-4.3.1//:clap_complete"),
302            "env_logger": Label("@rules_rust_bindgen__env_logger-0.10.0//:env_logger"),
303        },
304    },
305}
306
307_NORMAL_ALIASES = {
308    "": {
309        _COMMON_CONDITION: {
310        },
311    },
312}
313
314_NORMAL_DEV_DEPENDENCIES = {
315    "": {
316    },
317}
318
319_NORMAL_DEV_ALIASES = {
320    "": {
321    },
322}
323
324_PROC_MACRO_DEPENDENCIES = {
325    "": {
326    },
327}
328
329_PROC_MACRO_ALIASES = {
330    "": {
331    },
332}
333
334_PROC_MACRO_DEV_DEPENDENCIES = {
335    "": {
336    },
337}
338
339_PROC_MACRO_DEV_ALIASES = {
340    "": {
341    },
342}
343
344_BUILD_DEPENDENCIES = {
345    "": {
346    },
347}
348
349_BUILD_ALIASES = {
350    "": {
351    },
352}
353
354_BUILD_PROC_MACRO_DEPENDENCIES = {
355    "": {
356    },
357}
358
359_BUILD_PROC_MACRO_ALIASES = {
360    "": {
361    },
362}
363
364_CONDITIONS = {
365    "aarch64-apple-darwin": ["@rules_rust//rust/platform:aarch64-apple-darwin"],
366    "aarch64-apple-ios": ["@rules_rust//rust/platform:aarch64-apple-ios"],
367    "aarch64-apple-ios-sim": ["@rules_rust//rust/platform:aarch64-apple-ios-sim"],
368    "aarch64-fuchsia": ["@rules_rust//rust/platform:aarch64-fuchsia"],
369    "aarch64-linux-android": ["@rules_rust//rust/platform:aarch64-linux-android"],
370    "aarch64-pc-windows-msvc": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"],
371    "aarch64-unknown-linux-gnu": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu"],
372    "aarch64-unknown-nixos-gnu": ["@rules_rust//rust/platform:aarch64-unknown-nixos-gnu"],
373    "aarch64-unknown-nto-qnx710": ["@rules_rust//rust/platform:aarch64-unknown-nto-qnx710"],
374    "arm-unknown-linux-gnueabi": ["@rules_rust//rust/platform:arm-unknown-linux-gnueabi"],
375    "armv7-linux-androideabi": ["@rules_rust//rust/platform:armv7-linux-androideabi"],
376    "armv7-unknown-linux-gnueabi": ["@rules_rust//rust/platform:armv7-unknown-linux-gnueabi"],
377    "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-linux-android"],
378    "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\")))))": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
379    "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-unknown-unknown", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-none"],
380    "cfg(all(target_arch = \"aarch64\", target_env = \"gnu\", target_abi = \"llvm\", not(windows_raw_dylib)))": [],
381    "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"],
382    "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"],
383    "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-pc-windows-msvc"],
384    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
385    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", target_abi = \"llvm\", not(windows_raw_dylib)))": [],
386    "cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
387    "cfg(not(any(windows, target_os = \"hermit\", target_os = \"unknown\")))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:wasm32-wasi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
388    "cfg(target_os = \"dragonfly\")": [],
389    "cfg(target_os = \"hermit\")": [],
390    "cfg(target_os = \"wasi\")": ["@rules_rust//rust/platform:wasm32-wasi"],
391    "cfg(target_os = \"windows\")": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
392    "cfg(unix)": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-apple-ios", "@rules_rust//rust/platform:aarch64-apple-ios-sim", "@rules_rust//rust/platform:aarch64-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu", "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
393    "cfg(windows)": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
394    "i686-apple-darwin": ["@rules_rust//rust/platform:i686-apple-darwin"],
395    "i686-linux-android": ["@rules_rust//rust/platform:i686-linux-android"],
396    "i686-pc-windows-gnu": [],
397    "i686-pc-windows-msvc": ["@rules_rust//rust/platform:i686-pc-windows-msvc"],
398    "i686-unknown-freebsd": ["@rules_rust//rust/platform:i686-unknown-freebsd"],
399    "i686-unknown-linux-gnu": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"],
400    "powerpc-unknown-linux-gnu": ["@rules_rust//rust/platform:powerpc-unknown-linux-gnu"],
401    "riscv32imc-unknown-none-elf": ["@rules_rust//rust/platform:riscv32imc-unknown-none-elf"],
402    "riscv64gc-unknown-none-elf": ["@rules_rust//rust/platform:riscv64gc-unknown-none-elf"],
403    "s390x-unknown-linux-gnu": ["@rules_rust//rust/platform:s390x-unknown-linux-gnu"],
404    "thumbv7em-none-eabi": ["@rules_rust//rust/platform:thumbv7em-none-eabi"],
405    "thumbv8m.main-none-eabi": ["@rules_rust//rust/platform:thumbv8m.main-none-eabi"],
406    "wasm32-unknown-unknown": ["@rules_rust//rust/platform:wasm32-unknown-unknown"],
407    "wasm32-wasi": ["@rules_rust//rust/platform:wasm32-wasi"],
408    "x86_64-apple-darwin": ["@rules_rust//rust/platform:x86_64-apple-darwin"],
409    "x86_64-apple-ios": ["@rules_rust//rust/platform:x86_64-apple-ios"],
410    "x86_64-fuchsia": ["@rules_rust//rust/platform:x86_64-fuchsia"],
411    "x86_64-linux-android": ["@rules_rust//rust/platform:x86_64-linux-android"],
412    "x86_64-pc-windows-gnu": [],
413    "x86_64-pc-windows-msvc": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
414    "x86_64-unknown-freebsd": ["@rules_rust//rust/platform:x86_64-unknown-freebsd"],
415    "x86_64-unknown-linux-gnu": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
416    "x86_64-unknown-nixos-gnu": ["@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
417    "x86_64-unknown-none": ["@rules_rust//rust/platform:x86_64-unknown-none"],
418}
419
420###############################################################################
421
422def crate_repositories():
423    """A macro for defining repositories for all generated crates.
424
425    Returns:
426      A list of repos visible to the module through the module extension.
427    """
428    maybe(
429        http_archive,
430        name = "rules_rust_bindgen__aho-corasick-1.0.2",
431        sha256 = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41",
432        type = "tar.gz",
433        urls = ["https://static.crates.io/crates/aho-corasick/1.0.2/download"],
434        strip_prefix = "aho-corasick-1.0.2",
435        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.aho-corasick-1.0.2.bazel"),
436    )
437
438    maybe(
439        http_archive,
440        name = "rules_rust_bindgen__annotate-snippets-0.9.1",
441        sha256 = "c3b9d411ecbaf79885c6df4d75fff75858d5995ff25385657a28af47e82f9c36",
442        type = "tar.gz",
443        urls = ["https://static.crates.io/crates/annotate-snippets/0.9.1/download"],
444        strip_prefix = "annotate-snippets-0.9.1",
445        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.annotate-snippets-0.9.1.bazel"),
446    )
447
448    maybe(
449        http_archive,
450        name = "rules_rust_bindgen__anstream-0.3.2",
451        sha256 = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163",
452        type = "tar.gz",
453        urls = ["https://static.crates.io/crates/anstream/0.3.2/download"],
454        strip_prefix = "anstream-0.3.2",
455        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.anstream-0.3.2.bazel"),
456    )
457
458    maybe(
459        http_archive,
460        name = "rules_rust_bindgen__anstyle-1.0.0",
461        sha256 = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d",
462        type = "tar.gz",
463        urls = ["https://static.crates.io/crates/anstyle/1.0.0/download"],
464        strip_prefix = "anstyle-1.0.0",
465        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.anstyle-1.0.0.bazel"),
466    )
467
468    maybe(
469        http_archive,
470        name = "rules_rust_bindgen__anstyle-parse-0.2.0",
471        sha256 = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee",
472        type = "tar.gz",
473        urls = ["https://static.crates.io/crates/anstyle-parse/0.2.0/download"],
474        strip_prefix = "anstyle-parse-0.2.0",
475        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.anstyle-parse-0.2.0.bazel"),
476    )
477
478    maybe(
479        http_archive,
480        name = "rules_rust_bindgen__anstyle-query-1.0.0",
481        sha256 = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b",
482        type = "tar.gz",
483        urls = ["https://static.crates.io/crates/anstyle-query/1.0.0/download"],
484        strip_prefix = "anstyle-query-1.0.0",
485        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.anstyle-query-1.0.0.bazel"),
486    )
487
488    maybe(
489        http_archive,
490        name = "rules_rust_bindgen__anstyle-wincon-1.0.1",
491        sha256 = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188",
492        type = "tar.gz",
493        urls = ["https://static.crates.io/crates/anstyle-wincon/1.0.1/download"],
494        strip_prefix = "anstyle-wincon-1.0.1",
495        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.anstyle-wincon-1.0.1.bazel"),
496    )
497
498    maybe(
499        http_archive,
500        name = "rules_rust_bindgen__bindgen-0.69.1",
501        sha256 = "9ffcebc3849946a7170a05992aac39da343a90676ab392c51a4280981d6379c2",
502        type = "tar.gz",
503        urls = ["https://static.crates.io/crates/bindgen/0.69.1/download"],
504        strip_prefix = "bindgen-0.69.1",
505        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.bindgen-0.69.1.bazel"),
506    )
507
508    maybe(
509        http_archive,
510        name = "rules_rust_bindgen__bitflags-1.3.2",
511        sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a",
512        type = "tar.gz",
513        urls = ["https://static.crates.io/crates/bitflags/1.3.2/download"],
514        strip_prefix = "bitflags-1.3.2",
515        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.bitflags-1.3.2.bazel"),
516    )
517
518    maybe(
519        http_archive,
520        name = "rules_rust_bindgen__bitflags-2.4.1",
521        sha256 = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07",
522        type = "tar.gz",
523        urls = ["https://static.crates.io/crates/bitflags/2.4.1/download"],
524        strip_prefix = "bitflags-2.4.1",
525        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.bitflags-2.4.1.bazel"),
526    )
527
528    maybe(
529        http_archive,
530        name = "rules_rust_bindgen__cc-1.0.79",
531        sha256 = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f",
532        type = "tar.gz",
533        urls = ["https://static.crates.io/crates/cc/1.0.79/download"],
534        strip_prefix = "cc-1.0.79",
535        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.cc-1.0.79.bazel"),
536    )
537
538    maybe(
539        http_archive,
540        name = "rules_rust_bindgen__cexpr-0.6.0",
541        sha256 = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766",
542        type = "tar.gz",
543        urls = ["https://static.crates.io/crates/cexpr/0.6.0/download"],
544        strip_prefix = "cexpr-0.6.0",
545        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.cexpr-0.6.0.bazel"),
546    )
547
548    maybe(
549        http_archive,
550        name = "rules_rust_bindgen__cfg-if-1.0.0",
551        sha256 = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd",
552        type = "tar.gz",
553        urls = ["https://static.crates.io/crates/cfg-if/1.0.0/download"],
554        strip_prefix = "cfg-if-1.0.0",
555        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.cfg-if-1.0.0.bazel"),
556    )
557
558    maybe(
559        http_archive,
560        name = "rules_rust_bindgen__clang-sys-1.6.1",
561        sha256 = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f",
562        type = "tar.gz",
563        urls = ["https://static.crates.io/crates/clang-sys/1.6.1/download"],
564        strip_prefix = "clang-sys-1.6.1",
565        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.clang-sys-1.6.1.bazel"),
566    )
567
568    maybe(
569        http_archive,
570        name = "rules_rust_bindgen__clap-4.3.3",
571        sha256 = "ca8f255e4b8027970e78db75e78831229c9815fdbfa67eb1a1b777a62e24b4a0",
572        type = "tar.gz",
573        urls = ["https://static.crates.io/crates/clap/4.3.3/download"],
574        strip_prefix = "clap-4.3.3",
575        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.clap-4.3.3.bazel"),
576    )
577
578    maybe(
579        http_archive,
580        name = "rules_rust_bindgen__clap_builder-4.3.3",
581        sha256 = "acd4f3c17c83b0ba34ffbc4f8bbd74f079413f747f84a6f89292f138057e36ab",
582        type = "tar.gz",
583        urls = ["https://static.crates.io/crates/clap_builder/4.3.3/download"],
584        strip_prefix = "clap_builder-4.3.3",
585        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.clap_builder-4.3.3.bazel"),
586    )
587
588    maybe(
589        http_archive,
590        name = "rules_rust_bindgen__clap_complete-4.3.1",
591        sha256 = "7f6b5c519bab3ea61843a7923d074b04245624bb84a64a8c150f5deb014e388b",
592        type = "tar.gz",
593        urls = ["https://static.crates.io/crates/clap_complete/4.3.1/download"],
594        strip_prefix = "clap_complete-4.3.1",
595        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.clap_complete-4.3.1.bazel"),
596    )
597
598    maybe(
599        http_archive,
600        name = "rules_rust_bindgen__clap_derive-4.3.2",
601        sha256 = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f",
602        type = "tar.gz",
603        urls = ["https://static.crates.io/crates/clap_derive/4.3.2/download"],
604        strip_prefix = "clap_derive-4.3.2",
605        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.clap_derive-4.3.2.bazel"),
606    )
607
608    maybe(
609        http_archive,
610        name = "rules_rust_bindgen__clap_lex-0.5.0",
611        sha256 = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b",
612        type = "tar.gz",
613        urls = ["https://static.crates.io/crates/clap_lex/0.5.0/download"],
614        strip_prefix = "clap_lex-0.5.0",
615        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.clap_lex-0.5.0.bazel"),
616    )
617
618    maybe(
619        http_archive,
620        name = "rules_rust_bindgen__colorchoice-1.0.0",
621        sha256 = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7",
622        type = "tar.gz",
623        urls = ["https://static.crates.io/crates/colorchoice/1.0.0/download"],
624        strip_prefix = "colorchoice-1.0.0",
625        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.colorchoice-1.0.0.bazel"),
626    )
627
628    maybe(
629        http_archive,
630        name = "rules_rust_bindgen__env_logger-0.10.0",
631        sha256 = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0",
632        type = "tar.gz",
633        urls = ["https://static.crates.io/crates/env_logger/0.10.0/download"],
634        strip_prefix = "env_logger-0.10.0",
635        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.env_logger-0.10.0.bazel"),
636    )
637
638    maybe(
639        http_archive,
640        name = "rules_rust_bindgen__errno-0.3.1",
641        sha256 = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a",
642        type = "tar.gz",
643        urls = ["https://static.crates.io/crates/errno/0.3.1/download"],
644        strip_prefix = "errno-0.3.1",
645        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.errno-0.3.1.bazel"),
646    )
647
648    maybe(
649        http_archive,
650        name = "rules_rust_bindgen__errno-dragonfly-0.1.2",
651        sha256 = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf",
652        type = "tar.gz",
653        urls = ["https://static.crates.io/crates/errno-dragonfly/0.1.2/download"],
654        strip_prefix = "errno-dragonfly-0.1.2",
655        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.errno-dragonfly-0.1.2.bazel"),
656    )
657
658    maybe(
659        http_archive,
660        name = "rules_rust_bindgen__glob-0.3.1",
661        sha256 = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b",
662        type = "tar.gz",
663        urls = ["https://static.crates.io/crates/glob/0.3.1/download"],
664        strip_prefix = "glob-0.3.1",
665        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.glob-0.3.1.bazel"),
666    )
667
668    maybe(
669        http_archive,
670        name = "rules_rust_bindgen__heck-0.4.1",
671        sha256 = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8",
672        type = "tar.gz",
673        urls = ["https://static.crates.io/crates/heck/0.4.1/download"],
674        strip_prefix = "heck-0.4.1",
675        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.heck-0.4.1.bazel"),
676    )
677
678    maybe(
679        http_archive,
680        name = "rules_rust_bindgen__hermit-abi-0.3.1",
681        sha256 = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286",
682        type = "tar.gz",
683        urls = ["https://static.crates.io/crates/hermit-abi/0.3.1/download"],
684        strip_prefix = "hermit-abi-0.3.1",
685        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.hermit-abi-0.3.1.bazel"),
686    )
687
688    maybe(
689        http_archive,
690        name = "rules_rust_bindgen__humantime-2.1.0",
691        sha256 = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4",
692        type = "tar.gz",
693        urls = ["https://static.crates.io/crates/humantime/2.1.0/download"],
694        strip_prefix = "humantime-2.1.0",
695        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.humantime-2.1.0.bazel"),
696    )
697
698    maybe(
699        http_archive,
700        name = "rules_rust_bindgen__io-lifetimes-1.0.11",
701        sha256 = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2",
702        type = "tar.gz",
703        urls = ["https://static.crates.io/crates/io-lifetimes/1.0.11/download"],
704        strip_prefix = "io-lifetimes-1.0.11",
705        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.io-lifetimes-1.0.11.bazel"),
706    )
707
708    maybe(
709        http_archive,
710        name = "rules_rust_bindgen__is-terminal-0.4.7",
711        sha256 = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f",
712        type = "tar.gz",
713        urls = ["https://static.crates.io/crates/is-terminal/0.4.7/download"],
714        strip_prefix = "is-terminal-0.4.7",
715        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.is-terminal-0.4.7.bazel"),
716    )
717
718    maybe(
719        http_archive,
720        name = "rules_rust_bindgen__lazy_static-1.4.0",
721        sha256 = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646",
722        type = "tar.gz",
723        urls = ["https://static.crates.io/crates/lazy_static/1.4.0/download"],
724        strip_prefix = "lazy_static-1.4.0",
725        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.lazy_static-1.4.0.bazel"),
726    )
727
728    maybe(
729        http_archive,
730        name = "rules_rust_bindgen__lazycell-1.3.0",
731        sha256 = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55",
732        type = "tar.gz",
733        urls = ["https://static.crates.io/crates/lazycell/1.3.0/download"],
734        strip_prefix = "lazycell-1.3.0",
735        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.lazycell-1.3.0.bazel"),
736    )
737
738    maybe(
739        http_archive,
740        name = "rules_rust_bindgen__libc-0.2.146",
741        sha256 = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b",
742        type = "tar.gz",
743        urls = ["https://static.crates.io/crates/libc/0.2.146/download"],
744        strip_prefix = "libc-0.2.146",
745        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.libc-0.2.146.bazel"),
746    )
747
748    maybe(
749        http_archive,
750        name = "rules_rust_bindgen__libloading-0.7.4",
751        sha256 = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f",
752        type = "tar.gz",
753        urls = ["https://static.crates.io/crates/libloading/0.7.4/download"],
754        strip_prefix = "libloading-0.7.4",
755        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.libloading-0.7.4.bazel"),
756    )
757
758    maybe(
759        http_archive,
760        name = "rules_rust_bindgen__linux-raw-sys-0.3.8",
761        sha256 = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519",
762        type = "tar.gz",
763        urls = ["https://static.crates.io/crates/linux-raw-sys/0.3.8/download"],
764        strip_prefix = "linux-raw-sys-0.3.8",
765        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.linux-raw-sys-0.3.8.bazel"),
766    )
767
768    maybe(
769        http_archive,
770        name = "rules_rust_bindgen__log-0.4.19",
771        sha256 = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4",
772        type = "tar.gz",
773        urls = ["https://static.crates.io/crates/log/0.4.19/download"],
774        strip_prefix = "log-0.4.19",
775        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.log-0.4.19.bazel"),
776    )
777
778    maybe(
779        http_archive,
780        name = "rules_rust_bindgen__memchr-2.5.0",
781        sha256 = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d",
782        type = "tar.gz",
783        urls = ["https://static.crates.io/crates/memchr/2.5.0/download"],
784        strip_prefix = "memchr-2.5.0",
785        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.memchr-2.5.0.bazel"),
786    )
787
788    maybe(
789        http_archive,
790        name = "rules_rust_bindgen__minimal-lexical-0.2.1",
791        sha256 = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a",
792        type = "tar.gz",
793        urls = ["https://static.crates.io/crates/minimal-lexical/0.2.1/download"],
794        strip_prefix = "minimal-lexical-0.2.1",
795        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.minimal-lexical-0.2.1.bazel"),
796    )
797
798    maybe(
799        http_archive,
800        name = "rules_rust_bindgen__nom-7.1.3",
801        sha256 = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a",
802        type = "tar.gz",
803        urls = ["https://static.crates.io/crates/nom/7.1.3/download"],
804        strip_prefix = "nom-7.1.3",
805        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.nom-7.1.3.bazel"),
806    )
807
808    maybe(
809        http_archive,
810        name = "rules_rust_bindgen__once_cell-1.18.0",
811        sha256 = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d",
812        type = "tar.gz",
813        urls = ["https://static.crates.io/crates/once_cell/1.18.0/download"],
814        strip_prefix = "once_cell-1.18.0",
815        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.once_cell-1.18.0.bazel"),
816    )
817
818    maybe(
819        http_archive,
820        name = "rules_rust_bindgen__peeking_take_while-0.1.2",
821        sha256 = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099",
822        type = "tar.gz",
823        urls = ["https://static.crates.io/crates/peeking_take_while/0.1.2/download"],
824        strip_prefix = "peeking_take_while-0.1.2",
825        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.peeking_take_while-0.1.2.bazel"),
826    )
827
828    maybe(
829        http_archive,
830        name = "rules_rust_bindgen__proc-macro2-1.0.60",
831        sha256 = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406",
832        type = "tar.gz",
833        urls = ["https://static.crates.io/crates/proc-macro2/1.0.60/download"],
834        strip_prefix = "proc-macro2-1.0.60",
835        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.proc-macro2-1.0.60.bazel"),
836    )
837
838    maybe(
839        http_archive,
840        name = "rules_rust_bindgen__quote-1.0.28",
841        sha256 = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488",
842        type = "tar.gz",
843        urls = ["https://static.crates.io/crates/quote/1.0.28/download"],
844        strip_prefix = "quote-1.0.28",
845        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.quote-1.0.28.bazel"),
846    )
847
848    maybe(
849        http_archive,
850        name = "rules_rust_bindgen__regex-1.8.4",
851        sha256 = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f",
852        type = "tar.gz",
853        urls = ["https://static.crates.io/crates/regex/1.8.4/download"],
854        strip_prefix = "regex-1.8.4",
855        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.regex-1.8.4.bazel"),
856    )
857
858    maybe(
859        http_archive,
860        name = "rules_rust_bindgen__regex-syntax-0.7.2",
861        sha256 = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78",
862        type = "tar.gz",
863        urls = ["https://static.crates.io/crates/regex-syntax/0.7.2/download"],
864        strip_prefix = "regex-syntax-0.7.2",
865        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.regex-syntax-0.7.2.bazel"),
866    )
867
868    maybe(
869        http_archive,
870        name = "rules_rust_bindgen__rustc-hash-1.1.0",
871        sha256 = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2",
872        type = "tar.gz",
873        urls = ["https://static.crates.io/crates/rustc-hash/1.1.0/download"],
874        strip_prefix = "rustc-hash-1.1.0",
875        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.rustc-hash-1.1.0.bazel"),
876    )
877
878    maybe(
879        http_archive,
880        name = "rules_rust_bindgen__rustix-0.37.20",
881        sha256 = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0",
882        type = "tar.gz",
883        urls = ["https://static.crates.io/crates/rustix/0.37.20/download"],
884        strip_prefix = "rustix-0.37.20",
885        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.rustix-0.37.20.bazel"),
886    )
887
888    maybe(
889        http_archive,
890        name = "rules_rust_bindgen__shlex-1.1.0",
891        sha256 = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3",
892        type = "tar.gz",
893        urls = ["https://static.crates.io/crates/shlex/1.1.0/download"],
894        strip_prefix = "shlex-1.1.0",
895        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.shlex-1.1.0.bazel"),
896    )
897
898    maybe(
899        http_archive,
900        name = "rules_rust_bindgen__strsim-0.10.0",
901        sha256 = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623",
902        type = "tar.gz",
903        urls = ["https://static.crates.io/crates/strsim/0.10.0/download"],
904        strip_prefix = "strsim-0.10.0",
905        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.strsim-0.10.0.bazel"),
906    )
907
908    maybe(
909        http_archive,
910        name = "rules_rust_bindgen__syn-2.0.18",
911        sha256 = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e",
912        type = "tar.gz",
913        urls = ["https://static.crates.io/crates/syn/2.0.18/download"],
914        strip_prefix = "syn-2.0.18",
915        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.syn-2.0.18.bazel"),
916    )
917
918    maybe(
919        http_archive,
920        name = "rules_rust_bindgen__termcolor-1.2.0",
921        sha256 = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6",
922        type = "tar.gz",
923        urls = ["https://static.crates.io/crates/termcolor/1.2.0/download"],
924        strip_prefix = "termcolor-1.2.0",
925        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.termcolor-1.2.0.bazel"),
926    )
927
928    maybe(
929        http_archive,
930        name = "rules_rust_bindgen__unicode-ident-1.0.9",
931        sha256 = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0",
932        type = "tar.gz",
933        urls = ["https://static.crates.io/crates/unicode-ident/1.0.9/download"],
934        strip_prefix = "unicode-ident-1.0.9",
935        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.unicode-ident-1.0.9.bazel"),
936    )
937
938    maybe(
939        http_archive,
940        name = "rules_rust_bindgen__unicode-width-0.1.10",
941        sha256 = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b",
942        type = "tar.gz",
943        urls = ["https://static.crates.io/crates/unicode-width/0.1.10/download"],
944        strip_prefix = "unicode-width-0.1.10",
945        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.unicode-width-0.1.10.bazel"),
946    )
947
948    maybe(
949        http_archive,
950        name = "rules_rust_bindgen__utf8parse-0.2.1",
951        sha256 = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a",
952        type = "tar.gz",
953        urls = ["https://static.crates.io/crates/utf8parse/0.2.1/download"],
954        strip_prefix = "utf8parse-0.2.1",
955        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.utf8parse-0.2.1.bazel"),
956    )
957
958    maybe(
959        http_archive,
960        name = "rules_rust_bindgen__winapi-0.3.9",
961        sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419",
962        type = "tar.gz",
963        urls = ["https://static.crates.io/crates/winapi/0.3.9/download"],
964        strip_prefix = "winapi-0.3.9",
965        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.winapi-0.3.9.bazel"),
966    )
967
968    maybe(
969        http_archive,
970        name = "rules_rust_bindgen__winapi-i686-pc-windows-gnu-0.4.0",
971        sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6",
972        type = "tar.gz",
973        urls = ["https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download"],
974        strip_prefix = "winapi-i686-pc-windows-gnu-0.4.0",
975        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel"),
976    )
977
978    maybe(
979        http_archive,
980        name = "rules_rust_bindgen__winapi-util-0.1.5",
981        sha256 = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178",
982        type = "tar.gz",
983        urls = ["https://static.crates.io/crates/winapi-util/0.1.5/download"],
984        strip_prefix = "winapi-util-0.1.5",
985        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.winapi-util-0.1.5.bazel"),
986    )
987
988    maybe(
989        http_archive,
990        name = "rules_rust_bindgen__winapi-x86_64-pc-windows-gnu-0.4.0",
991        sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f",
992        type = "tar.gz",
993        urls = ["https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download"],
994        strip_prefix = "winapi-x86_64-pc-windows-gnu-0.4.0",
995        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel"),
996    )
997
998    maybe(
999        http_archive,
1000        name = "rules_rust_bindgen__windows-sys-0.48.0",
1001        sha256 = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9",
1002        type = "tar.gz",
1003        urls = ["https://static.crates.io/crates/windows-sys/0.48.0/download"],
1004        strip_prefix = "windows-sys-0.48.0",
1005        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.windows-sys-0.48.0.bazel"),
1006    )
1007
1008    maybe(
1009        http_archive,
1010        name = "rules_rust_bindgen__windows-targets-0.48.0",
1011        sha256 = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5",
1012        type = "tar.gz",
1013        urls = ["https://static.crates.io/crates/windows-targets/0.48.0/download"],
1014        strip_prefix = "windows-targets-0.48.0",
1015        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.windows-targets-0.48.0.bazel"),
1016    )
1017
1018    maybe(
1019        http_archive,
1020        name = "rules_rust_bindgen__windows_aarch64_gnullvm-0.48.0",
1021        sha256 = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc",
1022        type = "tar.gz",
1023        urls = ["https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.0/download"],
1024        strip_prefix = "windows_aarch64_gnullvm-0.48.0",
1025        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.windows_aarch64_gnullvm-0.48.0.bazel"),
1026    )
1027
1028    maybe(
1029        http_archive,
1030        name = "rules_rust_bindgen__windows_aarch64_msvc-0.48.0",
1031        sha256 = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3",
1032        type = "tar.gz",
1033        urls = ["https://static.crates.io/crates/windows_aarch64_msvc/0.48.0/download"],
1034        strip_prefix = "windows_aarch64_msvc-0.48.0",
1035        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.windows_aarch64_msvc-0.48.0.bazel"),
1036    )
1037
1038    maybe(
1039        http_archive,
1040        name = "rules_rust_bindgen__windows_i686_gnu-0.48.0",
1041        sha256 = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241",
1042        type = "tar.gz",
1043        urls = ["https://static.crates.io/crates/windows_i686_gnu/0.48.0/download"],
1044        strip_prefix = "windows_i686_gnu-0.48.0",
1045        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.windows_i686_gnu-0.48.0.bazel"),
1046    )
1047
1048    maybe(
1049        http_archive,
1050        name = "rules_rust_bindgen__windows_i686_msvc-0.48.0",
1051        sha256 = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00",
1052        type = "tar.gz",
1053        urls = ["https://static.crates.io/crates/windows_i686_msvc/0.48.0/download"],
1054        strip_prefix = "windows_i686_msvc-0.48.0",
1055        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.windows_i686_msvc-0.48.0.bazel"),
1056    )
1057
1058    maybe(
1059        http_archive,
1060        name = "rules_rust_bindgen__windows_x86_64_gnu-0.48.0",
1061        sha256 = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1",
1062        type = "tar.gz",
1063        urls = ["https://static.crates.io/crates/windows_x86_64_gnu/0.48.0/download"],
1064        strip_prefix = "windows_x86_64_gnu-0.48.0",
1065        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.windows_x86_64_gnu-0.48.0.bazel"),
1066    )
1067
1068    maybe(
1069        http_archive,
1070        name = "rules_rust_bindgen__windows_x86_64_gnullvm-0.48.0",
1071        sha256 = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953",
1072        type = "tar.gz",
1073        urls = ["https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.0/download"],
1074        strip_prefix = "windows_x86_64_gnullvm-0.48.0",
1075        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.windows_x86_64_gnullvm-0.48.0.bazel"),
1076    )
1077
1078    maybe(
1079        http_archive,
1080        name = "rules_rust_bindgen__windows_x86_64_msvc-0.48.0",
1081        sha256 = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a",
1082        type = "tar.gz",
1083        urls = ["https://static.crates.io/crates/windows_x86_64_msvc/0.48.0/download"],
1084        strip_prefix = "windows_x86_64_msvc-0.48.0",
1085        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.windows_x86_64_msvc-0.48.0.bazel"),
1086    )
1087
1088    maybe(
1089        http_archive,
1090        name = "rules_rust_bindgen__yansi-term-0.1.2",
1091        sha256 = "fe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1",
1092        type = "tar.gz",
1093        urls = ["https://static.crates.io/crates/yansi-term/0.1.2/download"],
1094        strip_prefix = "yansi-term-0.1.2",
1095        build_file = Label("@rules_rust//bindgen/3rdparty/crates:BUILD.yansi-term-0.1.2.bazel"),
1096    )
1097
1098    return [
1099        struct(repo = "rules_rust_bindgen__bindgen-0.69.1", is_dev_dep = False),
1100        struct(repo = "rules_rust_bindgen__clang-sys-1.6.1", is_dev_dep = False),
1101        struct(repo = "rules_rust_bindgen__clap-4.3.3", is_dev_dep = False),
1102        struct(repo = "rules_rust_bindgen__clap_complete-4.3.1", is_dev_dep = False),
1103        struct(repo = "rules_rust_bindgen__env_logger-0.10.0", is_dev_dep = False),
1104    ]
1105