Cargo.toml 2.94 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", "aarch64-qemu-stdout"]
45
vga = []
46
newlib = []
47
48
pci = []
acpi = []
49
smp = []
50
fsgsbase = []
51
aarch64-qemu-stdout = []	# Doesn't do anything on x86 
52

53
[dependencies]
54
bitflags = "1.3"
55
crossbeam-utils = { version = "0.8", default-features = false }
Martin Kröning's avatar
Martin Kröning committed
56
57
58
59
60
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 }
61

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

66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
[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
83
[dev-dependencies]
84
float-cmp = "0.9"
Martin Kröning's avatar
Martin Kröning committed
85
num-traits = { version = "0.2", default-features = false }
Stefan Lankes's avatar
Stefan Lankes committed
86
x86 = { version = "0.41", default-features = false }
Stefan Lankes's avatar
Stefan Lankes committed
87

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

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

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

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