Cargo.toml 2.32 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.51"
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]
Stefan Lankes's avatar
Stefan Lankes committed
53
bitflags = "1.2"
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
62
63
[target.'cfg(target_arch = "x86_64")'.dependencies]
multiboot = "0.6"
x86 = { version = "0.40", default-features = false }
64

Martin Kröning's avatar
Martin Kröning committed
65
66
67
68
[dev-dependencies]
float-cmp = "0.8"
num-traits = { version = "0.2", default-features = false }
x86 = { version = "0.40", default-features = false }
Stefan Lankes's avatar
Stefan Lankes committed
69
70
71

# The development profile, used for `cargo build`.
[profile.dev]
72
opt-level = 1      # controls the `--opt-level` the compiler builds with
Stefan Lankes's avatar
Stefan Lankes committed
73
debug = true       # controls whether the compiler passes `-C debuginfo`
74
# a value of `true` is equivalent to `2`
Stefan Lankes's avatar
Stefan Lankes committed
75
rpath = false      # controls whether the compiler passes `-C rpath`
Stefan Lankes's avatar
Stefan Lankes committed
76
lto = false         # controls `-C lto` for binaries and staticlibs
Stefan Lankes's avatar
Stefan Lankes committed
77
debug-assertions = true # controls whether debug assertions are enabled
78
# Disabled because of https://github.com/rust-lang/cargo/issues/7359
Martin Kröning's avatar
Martin Kröning committed
79
# panic = "abort" # Call abort on panic https://github.com/rust-lang/rust/pull/32900
Stefan Lankes's avatar
Stefan Lankes committed
80
81
82

# The release profile, used for `cargo build --release`.
[profile.release]
Stefan Lankes's avatar
Stefan Lankes committed
83
opt-level = 2
Stefan Lankes's avatar
Stefan Lankes committed
84
85
debug = false
rpath = false
Stefan Lankes's avatar
Stefan Lankes committed
86
lto = false
Stefan Lankes's avatar
Stefan Lankes committed
87
debug-assertions = false
Martin Kröning's avatar
Martin Kröning committed
88
# panic = "abort"