-
Notifications
You must be signed in to change notification settings - Fork 48
/
Cargo.toml
106 lines (98 loc) · 4.18 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
[package]
name = "llvm-ir"
version = "0.11.1"
authors = ["Craig Disselkoen <craigdissel@gmail.com>"]
edition = "2018"
description = "LLVM IR in natural Rust data structures"
documentation = "https://docs.rs/llvm-ir"
repository = "https://github.com/cdisselkoen/llvm-ir"
readme = "README.md"
keywords = ["llvm", "ir"]
license = "MIT"
build = "build.rs"
[dependencies]
llvm-sys-90 = { package = "llvm-sys", version = "90.2.0", optional = true }
llvm-sys-100 = { package = "llvm-sys", version = "100.2.0", optional = true }
llvm-sys-110 = { package = "llvm-sys", version = "110.0.0", optional = true }
llvm-sys-120 = { package = "llvm-sys", version = "120.2.0", optional = true }
llvm-sys-130 = { package = "llvm-sys", version = "130.0.0", optional = true }
llvm-sys-140 = { package = "llvm-sys", version = "140.0.0", optional = true }
llvm-sys-150 = { package = "llvm-sys", version = "150.1.0", optional = true }
llvm-sys-160 = { package = "llvm-sys", version = "160.1.2", optional = true }
llvm-sys-170 = { package = "llvm-sys", version = "170.0.1", optional = true }
llvm-sys-181 = { package = "llvm-sys", version = "181.0.0", optional = true }
either = "1.9"
log = "0.4"
[dev-dependencies]
env_logger = "0.10"
itertools = "0.11"
[features]
# Select the LLVM version to be compatible with.
# You _must_ enable exactly one of the following features.
llvm-9 = ["llvm-sys-90", "llvm-9-or-lower", "llvm-9-or-greater"]
llvm-10 = ["llvm-sys-100", "llvm-10-or-lower", "llvm-10-or-greater"]
llvm-11 = ["llvm-sys-110", "llvm-11-or-lower", "llvm-11-or-greater"]
llvm-12 = ["llvm-sys-120", "llvm-12-or-lower", "llvm-12-or-greater"]
llvm-13 = ["llvm-sys-130", "llvm-13-or-lower", "llvm-13-or-greater"]
llvm-14 = ["llvm-sys-140", "llvm-14-or-lower", "llvm-14-or-greater"]
llvm-15 = ["llvm-sys-150", "llvm-15-or-lower", "llvm-15-or-greater"]
llvm-16 = ["llvm-sys-160", "llvm-16-or-lower", "llvm-16-or-greater"]
llvm-17 = ["llvm-sys-170", "llvm-17-or-lower", "llvm-17-or-greater"]
llvm-18 = ["llvm-sys-181", "llvm-18-or-lower", "llvm-18-or-greater"]
###
# For convenience, these automatically-enabled features allow us to avoid
# checking complex combinations of features all the time. They are not meant to
# be manually enabled; use the above llvm-x features instead
llvm-9-or-greater = []
llvm-10-or-greater = ["llvm-9-or-greater"]
llvm-11-or-greater = ["llvm-10-or-greater"]
llvm-12-or-greater = ["llvm-11-or-greater"]
llvm-13-or-greater = ["llvm-12-or-greater"]
llvm-14-or-greater = ["llvm-13-or-greater"]
llvm-15-or-greater = ["llvm-14-or-greater"]
llvm-16-or-greater = ["llvm-15-or-greater"]
llvm-17-or-greater = ["llvm-16-or-greater"]
llvm-18-or-greater = ["llvm-17-or-greater"]
llvm-9-or-lower = ["llvm-10-or-lower"]
llvm-10-or-lower = ["llvm-11-or-lower"]
llvm-11-or-lower = ["llvm-12-or-lower"]
llvm-12-or-lower = ["llvm-13-or-lower"]
llvm-13-or-lower = ["llvm-14-or-lower"]
llvm-14-or-lower = ["llvm-15-or-lower"]
llvm-15-or-lower = ["llvm-16-or-lower"]
llvm-16-or-lower = ["llvm-17-or-lower"]
llvm-17-or-lower = ["llvm-18-or-lower"]
llvm-18-or-lower = []
###
# The `strict-versioning` feature requires an exact match between the
# system LLVM version and the version selected with the above features.
#
# The `?` in the below ensures that we only enable the feature if the dependency
# is already present.
# This avoids activating all the optional dependencies when `strict-versioning`
# is activated.
strict-versioning = [
"llvm-sys-90?/strict-versioning",
"llvm-sys-100?/strict-versioning",
"llvm-sys-110?/strict-versioning",
"llvm-sys-120?/strict-versioning",
"llvm-sys-130?/strict-versioning",
"llvm-sys-140?/strict-versioning",
"llvm-sys-150?/strict-versioning",
"llvm-sys-160?/strict-versioning",
"llvm-sys-170?/strict-versioning",
"llvm-sys-181?/strict-versioning",
]
# The `prefer-dynamic` feature is only available on llvm-sys versions >= 120.
prefer-dynamic = [
"llvm-sys-120?/prefer-dynamic",
"llvm-sys-130?/prefer-dynamic",
"llvm-sys-140?/prefer-dynamic",
"llvm-sys-150?/prefer-dynamic",
"llvm-sys-160?/prefer-dynamic",
"llvm-sys-170?/prefer-dynamic",
"llvm-sys-181?/prefer-dynamic",
]
[package.metadata.docs.rs]
# Generate docs.rs documentation with the llvm-10 feature
features = ["llvm-10"]