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

Cross-bundling #83

Open
martinfouilleul opened this issue Nov 14, 2024 · 1 comment
Open

Cross-bundling #83

martinfouilleul opened this issue Nov 14, 2024 · 1 comment

Comments

@martinfouilleul
Copy link
Collaborator

martinfouilleul commented Nov 14, 2024

Enable cross bundling of Orca applications.

  • Cross-bundling from macOS to Windows may be straightforward (just have to make the right directory tree).
  • Windows to macOS requires setting permission bits in executable and dynamic libraries. We could do this by zipping the app bundle and tweaking the permission bits inside the zip file.

Some resources:

Of course we'd also need to package pre-built binaries for all platforms into a single release. So our release folder may have this structure:

release-xxxxxxxxxx
	bin
		macos
			orca_runtime
			*.dylib
			...
		windows
			orca_runtime.exe
			*.dll
			...
		wasm
			liborca_wasm.a
	orca-libc
	resources
	src
  • This requires changes in the orcadev install command and CI release action to combine installs from win/mac
  • Changes in orca bundle to add a target option and do the cross-bundling
  • Should require no changes on orcadev build command and CI build actions
@martinfouilleul martinfouilleul converted this from a draft issue Nov 14, 2024
@rdunnington
Copy link
Collaborator

Once we get the build system moved over to zig build, we could even build cross-platform binaries on a single platform and not have to do any "combine" step. The tricky part here is angle and dawn - these are big libs with their own complicated build systems that we probably don't want to port to zig build. Ideally we use prebuilt artifacts so we don't need to deal with it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

2 participants