On Thursday, 22 February 2018 at 21:59:27 UTC, aberba wrote:
On Thursday, 22 February 2018 at 08:54:04 UTC, Joakim wrote:
On Monday, 23 October 2017 at 18:18:28 UTC, Jacob Carlborg wrote:
[...]

Yuxuan Shui has ported druntime to Musl over the last couple months:

https://github.com/dlang/druntime/pulls?q=is%3Apr+author%3Ayshui+is%3Aclosed

With his changes, all druntime unit tests pass, now only a few asserts tripping in the additional tests for shared libraries. I added a couple more tweaks to get all but one of the Phobos unit tests passing too.

With a last tiny patch to add a command-line flag to dmd to easily use this port- already added to the latest ldc 1.8 beta, though it doesn't have all the druntime support: https://github.com/ldc-developers/ldc/pull/2373 - anyone can use D with Alpine/Musl containers for microservices.

That makes me very happy!! Very much appreciated.

I've updated ldc master to use Yuxuan's druntime port, which means the upcoming ldc 1.8 release will likely be a viable Alpine/Musl cross-compiler out of the box, provided you give it a C/Musl cross-compiler/linker to work with, by using the bundled ldc-build-runtime tool:

https://wiki.dlang.org/Building_LDC_runtime_libraries

Cross-compiling has not been tested however: do people normally cross-compile to Alpine containers or build their software in Alpine itself? If the latter, building ldc from master on Alpine/x64 3.7.0 passes all of the druntime/phobos stdlib unit tests but one, so you're good to go there, as long as you don't need a pre-built binary. Maybe we'll put one out for ldc with the upcoming 1.8 release.

Reply via email to