Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 1 commit into from
May 23, 2024

Conversation

clabby
Copy link
Collaborator

@clabby clabby commented May 22, 2024

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");
}

Copy link
Collaborator Author

clabby commented May 22, 2024

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 clabby changed the title feat(workspace): Client programs in workspace feat(workspace): Client programs in workspace + entrypoint proc macro May 22, 2024
@clabby clabby self-assigned this May 22, 2024
@clabby clabby added K-chore Kind: chore A-workspace Area: Top level workspace modifications F-deps Flag: Updates dependencies F-go Flag: Updates Go code labels May 22, 2024
@clabby clabby marked this pull request as ready for review May 22, 2024 19:54
@clabby clabby requested a review from refcell May 22, 2024 19:54
@clabby clabby force-pushed the cl/client-prog-in-workspace branch from a79b514 to 9f07bad Compare May 22, 2024 20:04
Copy link
Collaborator

@refcell refcell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice

@refcell refcell added this pull request to the merge queue May 23, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 23, 2024
@clabby clabby added this pull request to the merge queue May 23, 2024
github-merge-queue bot pushed a commit that referenced this pull request May 23, 2024
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.

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.
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 23, 2024
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.

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.
@clabby clabby force-pushed the cl/client-prog-in-workspace branch from 9f07bad to 794d1e6 Compare May 23, 2024 16:28
@clabby clabby enabled auto-merge May 23, 2024 16:28
@clabby clabby added this pull request to the merge queue May 23, 2024
Merged via the queue into main with commit 0e63a92 May 23, 2024
13 checks passed
This was referenced May 23, 2024
This was referenced Jun 3, 2024
This was referenced Jun 11, 2024
@github-actions github-actions bot mentioned this pull request Jun 22, 2024
@clabby clabby deleted the cl/client-prog-in-workspace branch July 2, 2024 03:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-workspace Area: Top level workspace modifications F-deps Flag: Updates dependencies F-go Flag: Updates Go code K-chore Kind: chore
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants