Hi Théo and all,
On Sun, 27 Jun 2021 12:34:24 +0200 Théo Cavignac <theo.cavignac@gmail.com>
wrote:
After my previous mail concerning the static compilation in a Docker
container I figured it would be nice to use the same idea to create a
cross compilation environment for linux-to-windows dev.
Using the cross development article on the wiki, digging through the
build system a bit and fiddling a lot I created a MinGW-w64 based
environment that let you build standalone apps from your chicken code
and your favorite eggs that can be distributed as a single binary
without needing dev oriented dependencies like cygwin or MSYS2.
I have to say I am pretty happy with this achievement, even if it may
not be much, because I learned a ton on the building system of
Chicken, and on linking in general.
That looks cool! Thanks for sharing it!
I plan on contributing to the wiki some of the knowledge I gathered
during the process. I already submitted a ticket to fix what seems to
be a typo in the Makefile.cross-linux-mingw file in chicken sources.
By the way, I don't think I have an account to edit the wiki. Can I
have one with username lattay ?
Sure. You should now be able to use your bug tracker credentials to
authenticate to the wiki too.
Here is the Docker environment ready to be built:
https://github.com/Lattay/chicken_docker/tree/main/mingw
Here is an image ready to go (because compiling chicken twice is
pretty long):
https://hub.docker.com/repository/docker/lattay/chicken-mingw
The script that automate the process of spinning the container and
extracting the final binary has been updated accordingly and now
support the option `--platform mingw`:
https://github.com/Lattay/chicken-build-static
Currently my testing of this environment is pretty limited. I did a
test with the args egg but I don't know how well it would perform with
more complex eggs like bind based one.
I don't have a non trivial app that would work on windows to test with
this process.
Hence, I would be interested in some real world Windows ready app for this.
I would also be interested in feedback from testing this with your own app.
Also, I have yet to understand what is the difference between console
and GUI app in windows and how this environment could be used to build
graphical apps.
As always, I am very open to critiques and suggestions so please feel free !
All the best.
Mario