-
Notifications
You must be signed in to change notification settings - Fork 214
/
Copy pathCargo.toml
106 lines (92 loc) · 3.26 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 = "bootloader"
description = "An experimental x86_64 bootloader that works on both BIOS and UEFI systems."
license.workspace = true
version.workspace = true
repository.workspace = true
authors = ["Philipp Oppermann <[email protected]>"]
edition = "2021"
[workspace]
members = [
"api",
"common",
"common/config",
"uefi",
"bios/boot_sector",
"bios/stage-*",
"bios/common",
"tests/runner",
]
exclude = ["examples/basic", "examples/test_framework", "tests/test_kernels/*"]
[workspace.package]
# don't forget to update `workspace.dependencies` below
version = "0.11.9"
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-osdev/bootloader"
[workspace.dependencies]
bootloader_api = { version = "0.11.8", path = "api" }
bootloader-x86_64-common = { version = "0.11.8", path = "common" }
bootloader-boot-config = { version = "0.11.8", path = "common/config" }
bootloader-x86_64-bios-common = { version = "0.11.8", path = "bios/common" }
[features]
default = ["bios", "uefi"]
bios = ["dep:mbrman"]
uefi = ["dep:gpt"]
[dependencies]
anyhow = "1.0.32"
fatfs = { version = "0.3.4", default-features = false, features = [
"std",
"alloc",
] }
tempfile = "3.3.0"
mbrman = { version = "0.5.1", optional = true }
gpt = { version = "3.0.0", optional = true }
bootloader-boot-config = { workspace = true }
serde_json = "1.0.91"
[dev-dependencies]
bootloader_test_runner = { path = "tests/runner" }
test_kernel_default_settings = { path = "tests/test_kernels/default_settings", artifact = "bin", target = "x86_64-unknown-none" }
test_kernel_higher_half = { path = "tests/test_kernels/higher_half", artifact = "bin", target = "x86_64-unknown-none" }
test_kernel_map_phys_mem = { path = "tests/test_kernels/map_phys_mem", artifact = "bin", target = "x86_64-unknown-none" }
test_kernel_pie = { path = "tests/test_kernels/pie", artifact = "bin", target = "x86_64-unknown-none" }
test_kernel_ramdisk = { path = "tests/test_kernels/ramdisk", artifact = "bin", target = "x86_64-unknown-none" }
test_kernel_config_file = { path = "tests/test_kernels/config_file", artifact = "bin", target = "x86_64-unknown-none" }
test_kernel_min_stack = { path = "tests/test_kernels/min_stack", artifact = "bin", target = "x86_64-unknown-none" }
test_kernel_lower_memory_free = { path = "tests/test_kernels/lower_memory_free", artifact = "bin", target = "x86_64-unknown-none" }
test_kernel_write_usable_memory = { path = "tests/test_kernels/write_usable_memory", artifact = "bin", target = "x86_64-unknown-none" }
[profile.dev]
panic = "abort"
[profile.release]
panic = "abort"
lto = false
debug = true
overflow-checks = true
# duplicated from `bios/boot_sector/Cargo.toml`
[profile.stage-1]
inherits = "release"
opt-level = "s"
lto = true
codegen-units = 1
debug = false
overflow-checks = false
# duplicated from `bios/stage-2/Cargo.toml`
[profile.stage-2]
inherits = "release"
opt-level = "s"
codegen-units = 1
debug = false
overflow-checks = true
# duplicated from `bios/stage-3/Cargo.toml`
[profile.stage-3]
inherits = "release"
debug = true
overflow-checks = true
# duplicated from `bios/stage-4/Cargo.toml`
[profile.stage-4]
inherits = "release"
debug = true
overflow-checks = true
[build-dependencies]
llvm-tools = "0.1.1"
[package.metadata.docs.rs]
rustc-args = ["--cfg", "docsrs_dummy_build"]