-
Notifications
You must be signed in to change notification settings - Fork 282
Hover: support cross-compile #128
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
Comments
For cgo cross-compiling there is this project: https://github.com/karalabe/xgo |
Eventually, hover may use xgo to cross-compile apps. Have looked at it, but didn't get it to work yet. Re-opening this issue as it is a valid request. (Not sure why @txthinking closed?) |
@GeertJohan Any indication how much work we might be looking at? |
@GeertJohan is on vacation ⛺. I can try to answer the question: |
As @joeblew99 pointed-out https://github.com/lucor/fyne-cross is a VERY good example. Looking for maintainer! to implement this hover feature. |
@Drakirus thanks for moving it. |
After the new build methods get merged (#20) the names for the builds need to be updated to add architectures. |
Actually, how to make that build? Any examples? |
I created a PR for cross-compiling yesterday go-flutter-desktop/hover#23 |
@jld3103 Its also interesting to watch out for what the old maintainer of gomobile is doing too. |
@joeblew99 My work is based on fyne-cross. |
I agree with you and think the best approach is what you are taking using
fyne-cross and gomobile
But i know with the Dart FFI work, gomobile will get in our way possibly
because it gomobile does not give enough control.
SO i just wanted to put it in the issue so we know there is another way to
attack the problem if we hit this later.
…On Thu, Sep 12, 2019 at 11:41 AM jld3103 ***@***.***> wrote:
@joeblew99 <https://github.com/joeblew99> My work is based on fyne-cross.
I think ARM is not the main target of go-flutter, but could be interesting
tough.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#128?email_source=notifications&email_token=AC3RU45GBCBLEAFPDVC7RS3QJIFFNA5CNFSM4HIOALL2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6RJOJI#issuecomment-530749221>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AC3RU444O2DELZA7XGSCSMTQJIFFNANCNFSM4HIOALLQ>
.
|
Cross-compilation support has just landed through go-flutter-desktop/hover/pull/23 |
Actually there are many arm boards running generic linux kernel, i have an embedder written in C, but the whole setup is somewhat hard for newcomers, i was checking out go then and found this :) so ill create a pr for arm and wayland support as well :) regarding package types ill add wgt (openwebos and webos) if needed (for now webos < 4) other platforms such as tizen might work as well |
@fourscience That would be great! I changed my mind some months ago about ARM and I think it's actually a reason to use go-flutter if we support it, because FDE doesn't. |
May i ask about splitting cross compilation into 2 segments? i would not influence the docker part, but any non supported platforms by flutter requires the engine built, as gn does it would be nice to pass go the compilation flags instead of relying on specific targets, so i would propose to adding flags to pointing to a local engine path (engine/src/out/platform etc), so that directory contains the c headers, libs and icu for consumption therefor anyone can define their own libflutter, the next step would to pass down the cc cxx compilers and targets (like you use the toolchain on the engine) :) on the other hand i was thinking about moving some stuff around glfw, so extension would be available for pure framebuffer implementation, or other kits (sdl, gtk, pure x11 and wayland etc) i know it sounds a lot but currently this project seems more reasonable then the shell/platform stuff in the engine repo, dont get me wrong they do an awesome job, but this does not depend on gn and internals just like their desktop counterpart, as for know ill add arm support then do pr's if you guys are interested along the way 👍 |
I absolutley agree with you. We need to restructure hover into a "proper" build system now that we got so many steps to choose from.
So we could build for anything? If then we need some predefined targets like now for everyone. |
@jld3103 I would propose a different hover build/run cli arguments list, something like:
Side notes: using flutter build will need the host artifacts (as for cross compiling it wont work with the snapshots for the target, but that might change) This would allow the hover build to use any libflutter artifacts (ex: compiled for rpi4) and use any gcc to assemble the binary (rpi has their own toolchains) As for the opengl arguments, this would be a different topic, as well as glfw on it's own. but for now it would be nice to pass down that we want to use for ex gles2 wayland otherwise i would propose to separate glfw as much as we can, and try to add a different solution as well to mature in that way (like https://github.com/veandco/go-sdl2) for hot reloading i would add a reverse forwarding as well, opening up options to use adb,sdb,adbi,ares (other cli debug utilities) to forward the port so flutter can attach to it, therefor adding capabilities to run the binary on ex a rpi4, forward the port, and attach to it :) hot reload for remote targets :) as well as a local mirror of the observatory Cmake example:
|
That sounds really awesome. Can you create a new issue to track your proposed changes? |
This is really a nice project.
I want to ask if hover support cross-compile, ep: build Windows app on macOS,
what other work or obstacles need to be done?
Thank you.
The text was updated successfully, but these errors were encountered: