kona icon indicating copy to clipboard operation
kona copied to clipboard

feat(workspace): Client programs in workspace + entrypoint proc macro

Open clabby opened this issue 1 year ago • 1 comments

Overview

Moves the client programs into the workspace, by using custom build profiles in the virtual workspace for the client binaries.

This change will allow us to work on the primary client program within the workspace, without having to have loose crates.

kona-common-proc

A new crate, kona-common-proc, has been added as an extension of kona-common to make clean main functions in client programs.

The #[client_entry(<heap_size>)] attribute will expand to include a _start symbol if the binary is being compiled to a supported FPVM target. If not, it will include a main symbol, as normal to run on the native hardware.

Example

#[client_entry(0xFFFFFFF)]
fn main() {
    io::print("Hello, world!\n");
}

clabby avatar May 22 '24 19:05 clabby

  • #178 Graphite 👈
  • main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @clabby and the rest of your teammates on Graphite Graphite

clabby avatar May 22 '24 19:05 clabby