Use python for build scripts #3

Closed
opened 2023-06-26 09:42:31 +00:00 by MartinFouilleul · 6 comments
Collaborator

Replace per-platform build scripts (zsh/batch) with a single python script that detects the OS/toolchain and runs platform-specific commands from there. Much of the logic, filesystem handling and error reporting can then be shared.

Replace per-platform build scripts (zsh/batch) with a single python script that detects the OS/toolchain and runs platform-specific commands from there. Much of the logic, filesystem handling and error reporting can then be shared.
Owner

I'd be happy to work on this after I do the font stuff. I like dev experience stuff :)

I'd be happy to work on this after I do the font stuff. I like dev experience stuff :)
bvisness self-assigned this 2023-06-27 15:12:39 +00:00
Author
Collaborator

Thanks for taking care of that! The build script could also check for dependencies / build them if needed (at least wasm3/milepost), and optionally build the examples (the build scripts for all examples are essentially the same, with just executables names).

Thanks for taking care of that! The build script could also check for dependencies / build them if needed (at least wasm3/milepost), and optionally build the examples (the build scripts for all examples are essentially the same, with just executables names).
Owner

I think when it comes to samples we'll need to think about how we want the build process to work. Since Orca is language-agnostic, I expect we'll need to provide tooling that can take .wasm files and bundle them into an Orca executable, but not actually run any compilers. Certainly though we can streamline the build process for Orca itself as much as possible.

I think when it comes to samples we'll need to think about how we want the build process to work. Since Orca is language-agnostic, I expect we'll need to provide tooling that can take .wasm files and bundle them into an Orca executable, but not actually run any compilers. Certainly though we can streamline the build process for Orca itself as much as possible.
Author
Collaborator

The build script for the samples actually combines those two steps, but all the application bundling is done by scripts/mkapp.py. So the idea is you'd compile your wasm module however you like, and then use mkapp.py to create the app.
It would be cool to have a way to build all the samples from the main build script though.
Also, as a matter of convenience, we could provide a helper script that just outputs the correct flags for clang to compile C to an orca wasm module? And maybe later have the same kind of thing for other toolchains?

The build script for the samples actually combines those two steps, but all the application bundling is done by `scripts/mkapp.py`. So the idea is you'd compile your wasm module however you like, and then use `mkapp.py` to create the app. It would be cool to have a way to build all the samples from the main build script though. Also, as a matter of convenience, we could provide a helper script that just outputs the correct flags for clang to compile C to an orca wasm module? And maybe later have the same kind of thing for other toolchains?
Owner

Good idea, I'll think through how we can help people set up their language toolchains for Orca.

Good idea, I'll think through how we can help people set up their language toolchains for Orca.
bvisness added this to the Jam MVP milestone 2023-07-04 21:25:36 +00:00
Owner

Gonna close this since #31 was merged. We can open more issues for future work.

Gonna close this since #31 was merged. We can open more issues for future work.
Sign in to join this conversation.
No Label
macOS
windows
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: hmn/orca#3
No description provided.