A M4 header is used which is common to all toolchains.
This enforce that every platform will use the same base.
For workers it was already the case, just specify the version.
- Don't copy files directly from worker but upload them to the master
- Make destination directory configurable
- Setup a URL to serve the freshly built package
This platform is a little complex.
First, it pulls its SDKs from toolchains/apple_sdks.
Second, there is two toolchains for amd64 and i386 (an older SDK as the
last ones have dropped i386 support).
The CLang provided by Debian is too old for last SDKs so there is
multiple choices avoailable:
- use Debian clang,
- use official clang packages,
- use osxcross clang build script (take a long time).
Third, there is a macosx-common image which contains all scripts which
are needed by all toolchains: that is osxcross, osxcross-clang (to build
clang) and libsdl2 (as sdl2-config is buggy in MacPorts).
Finally, there is a m4 script to build all the toolchains.
The Dockerfile.m4 in toolchain directory is only there to do some tuning
on the build.
The same is done for workers.