forked from EmbarkStudios/rust-gpu
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
74 lines (67 loc) · 2.87 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
[package]
name = "rustc_codegen_spirv"
description = "SPIR-V code generator backend for rustc"
documentation = "https://embarkstudios.github.io/rust-gpu/api/rustc_codegen_spirv/index.html"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
[lib]
crate-type = ["dylib"]
[features]
# By default, the use-compiled-tools is enabled, as doesn't require additional
# setup steps for the user. This does however mean that you will need to disable
# default features and explicitly enable `use-installed-tools` if you are using
# this in an environment with spirv-tools in PATH, and you don't want to take
# the compile time cost
default = ["use-compiled-tools"]
# If enabled, uses spirv-tools binaries installed in PATH, instead of
# compiling and linking the spirv-tools C++ code
use-installed-tools = ["spirv-tools/use-installed-tools"]
# If enabled will compile and link the C++ code for the spirv tools, the compiled
# version is preferred if both this and `use-installed-tools` are enabled
use-compiled-tools = ["spirv-tools/use-compiled-tools"]
# If enabled, this will not check whether the current rustc version is set to the
# appropriate channel. rustc_cogeden_spirv requires a specific nightly version,
# and will likely produce compile errors when built against a different toolchain.
# Enable this feature to be able to experiment with other versions.
skip-toolchain-check = []
# HACK(eddyb) these are not real "build dependencies", but rather dependencies
# of proc macros, which we want to enable extra features in (without having
# a proc macro crate to do that through), for the same reasons as the list at
# the start of `[dependencies]` (avoiding unnecessary rebuilds).
[build-dependencies]
syn = { version = "1", features = ["extra-traits", "full"] }
[dependencies]
# HACK(eddyb) these only exist to unify features across dependency trees,
# in order to avoid multiple separate instances of `rustc_codegen_spirv`.
hashbrown = "0.11"
libc = { version = "0.2", features = ["align", "extra_traits"] }
num-traits = { workspace = true, default-features = true }
once_cell = "1"
regex = { version = "1", features = ["perf"] }
# Normal dependencies.
ar = "0.9.0"
either = "1.8.0"
indexmap = "1.6.0"
rspirv = "0.11"
rustc_codegen_spirv-types.workspace = true
rustc-demangle = "0.1.21"
sanitize-filename = "0.4"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
smallvec = { version = "1.6.1", features = ["union"] }
spirt = "0.3.0"
spirv-tools.workspace = true
lazy_static = "1.4.0"
itertools = "0.10.5"
[dev-dependencies]
pipe = "0.4"
pretty_assertions = "1.0"
tempfile = "3.4"
# Note that in order to use RA and have access to `rustc_*` crates, you also
# need to set `"rust-analyzer.rustcSource": "discover"` in e.g. VSCode.
[package.metadata.rust-analyzer]
# This crate uses #[feature(rustc_private)]
rustc_private = true