You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As of now, it isn't very straightforward to use the standalone compilation feature to support various platforms with lune. Lune should build on top of this system and include a cross-compilation system similar to tools such as pkg for node. This issue suggests a strategy to implement the aforementioned.
Proposed Implementation
The build command should include two new flags: --base and --target, both to be used mutually exclusively.
Lune should maintain a target database at ~/.lune/targets. These would be collections of precompiled binaries for different platforms that can be readily patched with the build command. For example, a target for the Windows platform with runtime v0.7.11 would be stored at ~/.lune/targets/0.7.11/base-windows-x86_64.exe, or one for M1 macs with runtime v0.8.0 could be stored at ~/.lune/targets/0.8.0/base-aarch64-macos.bin. These targets would be conditionally downloaded from the build artifacts published to GitHub releases when the build command for a particular target is invoked for the first time.
In case the user requests a target that lune doesn't provide precompiled binaries for, they can use the --base flag to provide a manually compiled lune binary for said target, which would then be patched.
The text was updated successfully, but these errors were encountered:
As of now, it isn't very straightforward to use the standalone compilation feature to support various platforms with lune. Lune should build on top of this system and include a cross-compilation system similar to tools such as pkg for node. This issue suggests a strategy to implement the aforementioned.
Proposed Implementation
The build command should include two new flags:
--base
and--target
, both to be used mutually exclusively.Lune should maintain a target database at
~/.lune/targets
. These would be collections of precompiled binaries for different platforms that can be readily patched with the build command. For example, a target for the Windows platform with runtime v0.7.11 would be stored at~/.lune/targets/0.7.11/base-windows-x86_64.exe
, or one for M1 macs with runtime v0.8.0 could be stored at~/.lune/targets/0.8.0/base-aarch64-macos.bin
. These targets would be conditionally downloaded from the build artifacts published to GitHub releases when the build command for a particular target is invoked for the first time.In case the user requests a target that lune doesn't provide precompiled binaries for, they can use the
--base
flag to provide a manually compiled lune binary for said target, which would then be patched.The text was updated successfully, but these errors were encountered: