Cargo.toml 2.87 KB
Newer Older
1
[package]
Stefan Lankes's avatar
Stefan Lankes committed
2
name = "rusty-hermit"
Stefan Lankes's avatar
Stefan Lankes committed
3
version = "0.3.52"
4
authors = [
5
	"Stefan Lankes <slankes@eonerc.rwth-aachen.de>",
Martin Kröning's avatar
Martin Kröning committed
6
	"Colin Finck <colin.finck@rwth-aachen.de>",
7
]
8
license = "MIT OR Apache-2.0"
9
readme = "README.md"
Stefan Lankes's avatar
Stefan Lankes committed
10
11
keywords = ["unikernel", "libos"]
categories = ["os"]
Stefan Lankes's avatar
Stefan Lankes committed
12
repository = "https://github.com/hermitcore/rusty-hermit"
Stefan Lankes's avatar
Stefan Lankes committed
13
documentation = "https://hermitcore.github.io/libhermit-rs/hermit/"
14
edition = "2018"
Martin Kröning's avatar
Martin Kröning committed
15
16
17
18
19
20
21
22
23
24
25
description = "A Rust-based library operting system"
exclude = [
	"/.github/*",
	"/.vscode/*",
	"/.gitlab-ci.yml",
	"/Dockerfile",
	"/img/*",
	"./CMakeLists.txt",
	".gitattributes",
	".gitignore",
]
26

27
[lib]
28
crate-type = ["staticlib", "lib"]  # "lib" required for integration tests
Stefan Lankes's avatar
Stefan Lankes committed
29
name = "hermit"
30

31
32
33
34
35
36
[[test]]
name = "basic_print"
harness = false

[[test]]
name = "basic_math"
37
38
39
40
harness = true

[[test]]
name = "measure_startup_time"
41
42
harness = false

43
[features]
44
default = ["pci", "acpi", "fsgsbase", "smp"]
45
vga = []
46
newlib = []
47
48
pci = []
acpi = []
49
smp = []
50
fsgsbase = []
51

52
[dependencies]
53
bitflags = "1.3"
54
crossbeam-utils = { version = "0.8", default-features = false }
Martin Kröning's avatar
Martin Kröning committed
55
56
57
58
59
log = { version = "0.4", default-features = false }
num = { version = "0.4", default-features = false }
num-derive = "0.3"
num-traits = { version = "0.2", default-features = false }
scopeguard = { version = "1.1", default-features = false }
60

Martin Kröning's avatar
Martin Kröning committed
61
[target.'cfg(target_arch = "x86_64")'.dependencies]
Stefan Lankes's avatar
Stefan Lankes committed
62
multiboot = "0.7"
Stefan Lankes's avatar
Stefan Lankes committed
63
x86 = { version = "0.41", default-features = false }
64

65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
[dependencies.scopeguard]
version = "1.1"
default-features = false

[dependencies.num]
version = "0.3"
default-features = false

[dependencies.num-traits]
version = "0.2"
default-features = false

[dependencies.log]
version = "0.4"
default-features = false
#features = ["release_max_level_info"]

Martin Kröning's avatar
Martin Kröning committed
82
[dev-dependencies]
83
float-cmp = "0.9"
Martin Kröning's avatar
Martin Kröning committed
84
num-traits = { version = "0.2", default-features = false }
Stefan Lankes's avatar
Stefan Lankes committed
85
x86 = { version = "0.41", default-features = false }
Stefan Lankes's avatar
Stefan Lankes committed
86

Stefan Lankes's avatar
Stefan Lankes committed
87
[target.'cfg(target_arch = "aarch64")'.dependencies.aarch64]
88
git = "https://github.com/hermitcore/rust-aarch64"
Stefan Lankes's avatar
Stefan Lankes committed
89
90
default-features = false

Stefan Lankes's avatar
Stefan Lankes committed
91
92
93
94
[target.'cfg(target_arch = "aarch64")'.dependencies.aarch64]
path = "/Users/stefan/share/rust-aarch64"
default-features = false

Stefan Lankes's avatar
Stefan Lankes committed
95
96
# The development profile, used for `cargo build`.
[profile.dev]
97
opt-level = 1      # controls the `--opt-level` the compiler builds with
Stefan Lankes's avatar
Stefan Lankes committed
98
debug = true       # controls whether the compiler passes `-C debuginfo`
99
# a value of `true` is equivalent to `2`
Stefan Lankes's avatar
Stefan Lankes committed
100
rpath = false      # controls whether the compiler passes `-C rpath`
Stefan Lankes's avatar
Stefan Lankes committed
101
lto = false         # controls `-C lto` for binaries and staticlibs
Stefan Lankes's avatar
Stefan Lankes committed
102
debug-assertions = true # controls whether debug assertions are enabled
103
# Disabled because of https://github.com/rust-lang/cargo/issues/7359
Martin Kröning's avatar
Martin Kröning committed
104
# panic = "abort" # Call abort on panic https://github.com/rust-lang/rust/pull/32900
Stefan Lankes's avatar
Stefan Lankes committed
105
106
107

# The release profile, used for `cargo build --release`.
[profile.release]
Stefan Lankes's avatar
Stefan Lankes committed
108
opt-level = 2
Stefan Lankes's avatar
Stefan Lankes committed
109
110
debug = false
rpath = false
Stefan Lankes's avatar
Stefan Lankes committed
111
lto = false
Stefan Lankes's avatar
Stefan Lankes committed
112
debug-assertions = false
Martin Kröning's avatar
Martin Kröning committed
113
# panic = "abort"