cross compiling mac is working too.
windows/linux/mac in a single environment.
I can move forward to integrate Android now.
That's great,I could never get to cross compile CGO.
I was wondering... after successfully cross-compiling Ikemen to windows/mac/linux I did some research on
how to best integrate that to Ikemen code.
The key issue is licensing.
Several dependencies with different licensing makes it hard to understand how do they combine.
In particular Apple SDK license is very confusing. That adds up to OpenAL which has different license for different platforms.
And I haven't added android yet.
To avoid any contamination of Ikemen code, I think I will keep the dev environment out of the Ikemen codebase.
Besides, a separate project has some advantages such as enabling to customize the images. Right now, without android,
the image has 3GB in size. I think android will add at least 1or 2GB to it.
Later I can add support for Raspberry without disrupting much, and take advantage of tags to allow smaller images.
For instance, if you are only interested in build Ikemen for windows, the image size can be smaller, around 1GB.
An use case would be something like:
for generating binaries for all platforms (this should download a large image one time):
docker pull ikemen-dev:all
for small development environment for specific platforms:
docker pull ikemen-dev:win
or for linux
docker pull ikemen-dev:linux
or for mac
docker pull ikemen-dev:mac
or for raspberry pi
docker pull ikemen-dev:pi
or for android tv
docker pull ikemen-dev:android
and to build the binaries will become something as easy as executing this command from the
Ikemen source dir:
docker run --rm -v $(pwd):/code -e os='win' -t ikemen-dev:all deploy.sh
and Ikemen.exe will be created.