Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ export CROSS_CONTAINER_GID := if path_exists("/dev/kvm") == "true" { kvm-gid } e
root := justfile_directory()

default-target := "debug"
simpleguest_source := "src/tests/rust_guests/simpleguest/target/x86_64-unknown-none"
dummyguest_source := "src/tests/rust_guests/dummyguest/target/x86_64-unknown-none"
witguest_source := "src/tests/rust_guests/witguest/target/x86_64-unknown-none"
simpleguest_source := "src/tests/rust_guests/simpleguest/target/x86_64-hyperlight-none"
dummyguest_source := "src/tests/rust_guests/dummyguest/target/x86_64-hyperlight-none"
witguest_source := "src/tests/rust_guests/witguest/target/x86_64-hyperlight-none"
rust_guests_bin_dir := "src/tests/rust_guests/bin"

################
Expand All @@ -47,9 +47,10 @@ witguest-wit:
cd src/tests/rust_guests/witguest && wasm-tools component wit guest.wit -w -o interface.wasm

build-rust-guests target=default-target features="": (witguest-wit)
cd src/tests/rust_guests/simpleguest && cargo build {{ if features =="" {''} else if features=="no-default-features" {"--no-default-features" } else {"--no-default-features -F " + features } }} --profile={{ if target == "debug" { "dev" } else { target } }}
cd src/tests/rust_guests/dummyguest && cargo build {{ if features =="" {''} else if features=="no-default-features" {"--no-default-features" } else {"--no-default-features -F " + features } }} --profile={{ if target == "debug" { "dev" } else { target } }}
cd src/tests/rust_guests/witguest && cargo build {{ if features =="" {''} else if features=="no-default-features" {"--no-default-features" } else {"--no-default-features -F " + features } }} --profile={{ if target == "debug" { "dev" } else { target } }}
cargo install --locked cargo-hyperlight
cd src/tests/rust_guests/simpleguest && cargo hyperlight build {{ if features =="" {''} else if features=="no-default-features" {"--no-default-features" } else {"--no-default-features -F " + features } }} --profile={{ if target == "debug" { "dev" } else { target } }}
cd src/tests/rust_guests/dummyguest && cargo hyperlight build {{ if features =="" {''} else if features=="no-default-features" {"--no-default-features" } else {"--no-default-features -F " + features } }} --profile={{ if target == "debug" { "dev" } else { target } }}
cd src/tests/rust_guests/witguest && cargo hyperlight build {{ if features =="" {''} else if features=="no-default-features" {"--no-default-features" } else {"--no-default-features -F " + features } }} --profile={{ if target == "debug" { "dev" } else { target } }}

@move-rust-guests target=default-target:
cp {{ simpleguest_source }}/{{ target }}/simpleguest* {{ rust_guests_bin_dir }}/{{ target }}/
Expand Down Expand Up @@ -253,8 +254,9 @@ clippyw target=default-target: (witguest-wit)
{{ cargo-cmd }} clippy --all-features --target x86_64-pc-windows-gnu --profile={{ if target == "debug" { "dev" } else { target } }} -- -D warnings

clippy-guests target=default-target: (witguest-wit)
cd src/tests/rust_guests/simpleguest && cargo clippy --profile={{ if target == "debug" { "dev" } else { target } }} -- -D warnings
cd src/tests/rust_guests/witguest && cargo clippy --profile={{ if target == "debug" { "dev" } else { target } }} -- -D warnings
cargo install --locked cargo-hyperlight
cd src/tests/rust_guests/simpleguest && cargo hyperlight clippy --profile={{ if target == "debug" { "dev" } else { target } }} -- -D warnings
cd src/tests/rust_guests/witguest && cargo hyperlight clippy --profile={{ if target == "debug" { "dev" } else { target } }} -- -D warnings

clippy-apply-fix-unix:
cargo clippy --fix --all
Expand Down
25 changes: 5 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,26 +104,11 @@ pub fn guest_dispatch_function(function_call: FunctionCall) -> Result<Vec<u8>> {
}
```

**Note**: Guest applications require a specific build configuration. Create a `.cargo/config.toml` file in your guest project with the following content:

```toml
[build]
target = "x86_64-unknown-none"

[target.x86_64-unknown-none]
rustflags = [
"-C",
"code-model=small",
"-C",
"link-args=-e entrypoint",
]
linker = "rust-lld"

[profile.release]
panic = "abort"

[profile.dev]
panic = "abort"
Build the guest using [cargo-hyperlight](https://github.com/hyperlight-dev/cargo-hyperlight):

```
cargo install --locked cargo-hyperlight
cargo hyperlight build
```

For additional examples of using the Hyperlight host Rust library, see
Expand Down
17 changes: 0 additions & 17 deletions src/tests/rust_guests/dummyguest/.cargo/config.toml

This file was deleted.

17 changes: 0 additions & 17 deletions src/tests/rust_guests/simpleguest/.cargo/config.toml

This file was deleted.

19 changes: 0 additions & 19 deletions src/tests/rust_guests/witguest/.cargo/config.toml

This file was deleted.

Loading