forked from TheDan64/inkwell
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Cargo.toml
117 lines (113 loc) · 4.41 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
107
108
109
110
111
112
113
114
115
116
117
[package]
name = "inkwell"
version = "0.1.0"
authors = ["Daniel Kolsoi <thadan64@gmail.com>"]
description = "Inkwell aims to help you pen your own programming languages by safely wrapping llvm-sys."
documentation = "https://thedan64.github.io/inkwell/"
repository = "https://github.com/TheDan64/inkwell"
readme = "README.md"
keywords = ["llvm", "safe", "wrapper"]
license = "Apache-2.0"
categories = ["development-tools::ffi"]
edition = "2018"
[features]
default = ["target-all"]
# Please update internal_macros::FEATURE_VERSIONS when adding a new LLVM version
llvm3-6 = ["llvm-sys-36"]
llvm3-7 = ["llvm-sys-37"]
llvm3-8 = ["llvm-sys-38"]
llvm3-9 = ["llvm-sys-39"]
llvm4-0 = ["llvm-sys-40"]
llvm5-0 = ["llvm-sys-50"]
llvm6-0 = ["llvm-sys-60"]
llvm7-0 = ["llvm-sys-70"]
llvm8-0 = ["llvm-sys-80"]
llvm9-0 = ["llvm-sys-90"]
llvm10-0 = ["llvm-sys-100"]
llvm11-0 = ["llvm-sys-110"]
llvm12-0 = ["llvm-sys-120"]
llvm13-0 = ["llvm-sys-130"]
# Don't link aganist LLVM libraries. This is useful if another dependency is
# installing LLVM. See llvm-sys for more details. We can't enable a single
# `no-llvm-linking` feature across the board of llvm versions, as it'll cause
# cargo to try and download and compile them all. See
# https://github.com/rust-lang/cargo/issues/3494
llvm3-6-no-llvm-linking = ["llvm3-6", "llvm-sys-36/no-llvm-linking"]
llvm3-7-no-llvm-linking = ["llvm3-7", "llvm-sys-37/no-llvm-linking"]
llvm3-8-no-llvm-linking = ["llvm3-8", "llvm-sys-38/no-llvm-linking"]
llvm3-9-no-llvm-linking = ["llvm3-9", "llvm-sys-39/no-llvm-linking"]
llvm4-0-no-llvm-linking = ["llvm4-0", "llvm-sys-40/no-llvm-linking"]
llvm5-0-no-llvm-linking = ["llvm5-0", "llvm-sys-50/no-llvm-linking"]
llvm6-0-no-llvm-linking = ["llvm6-0", "llvm-sys-60/no-llvm-linking"]
llvm7-0-no-llvm-linking = ["llvm7-0", "llvm-sys-70/no-llvm-linking"]
llvm8-0-no-llvm-linking = ["llvm8-0", "llvm-sys-80/no-llvm-linking"]
llvm9-0-no-llvm-linking = ["llvm9-0", "llvm-sys-90/no-llvm-linking"]
llvm10-0-no-llvm-linking = ["llvm10-0", "llvm-sys-100/no-llvm-linking"]
llvm11-0-no-llvm-linking = ["llvm11-0", "llvm-sys-110/no-llvm-linking"]
llvm12-0-no-llvm-linking = ["llvm12-0", "llvm-sys-120/no-llvm-linking"]
llvm13-0-no-llvm-linking = ["llvm13-0", "llvm-sys-130/no-llvm-linking"]
# Don't force linking to libffi on non-windows platforms. Without this feature
# inkwell always links to libffi on non-windows platforms.
no-libffi-linking = []
target-x86 = []
target-arm = []
target-mips = []
target-aarch64 = []
target-amdgpu = []
target-systemz = []
target-hexagon = []
target-nvptx = []
target-msp430 = []
target-xcore = []
target-powerpc = []
target-sparc = []
target-bpf = []
target-lanai = []
target-webassembly = []
target-riscv = []
target-all = [
"target-x86",
"target-arm",
"target-mips",
"target-aarch64",
"target-amdgpu",
"target-systemz",
"target-hexagon",
"target-nvptx",
"target-msp430",
"target-xcore",
"target-powerpc",
"target-sparc",
"target-bpf",
"target-lanai",
"target-webassembly",
"target-riscv"
]
experimental = ["static-alloc"]
nightly = ["inkwell_internals/nightly"]
[dependencies]
either = "1.5"
inkwell_internals = { path = "./internal_macros", version = "0.5.0" }
libc = "0.2"
llvm-sys-36 = { package = "llvm-sys", version = "36.3", optional = true }
llvm-sys-37 = { package = "llvm-sys", version = "37.3", optional = true }
llvm-sys-38 = { package = "llvm-sys", version = "38.3", optional = true }
llvm-sys-39 = { package = "llvm-sys", version = "39.3", optional = true }
llvm-sys-40 = { package = "llvm-sys", version = "40.4", optional = true }
llvm-sys-50 = { package = "llvm-sys", version = "50.4", optional = true }
llvm-sys-60 = { package = "llvm-sys", version = "60.6", optional = true }
llvm-sys-70 = { package = "llvm-sys", version = "70.4", optional = true }
llvm-sys-80 = { package = "llvm-sys", version = "80.3", optional = true }
llvm-sys-90 = { package = "llvm-sys", version = "90.2.1", optional = true }
llvm-sys-100 = { package = "llvm-sys", version = "100.2.3", optional = true }
llvm-sys-110 = { package = "llvm-sys", version = "110.0.3", optional = true }
llvm-sys-120 = { package = "llvm-sys", version = "120.2.2", optional = true }
llvm-sys-130 = { package = "llvm-sys", version = "130.0.2", optional = true }
once_cell = "1.4.1"
parking_lot = "0.12"
static-alloc = { version = "0.2", optional = true }
[dev-dependencies]
regex = "1"
[badges]
travis-ci = { repository = "TheDan64/inkwell" }
codecov = { repository = "TheDan64/inkwell" }