Hi Claude!

On Friday, 15 July 2016 at 14:09:40 UTC, Claude wrote:
Hello,

I would like to cross-compile a D program from a x86 machine to an ARM target.
[...]
So I'm a bit confused of what the current state of LDC+ARM is. For example, is the run-time fully ported on ARM/Linux?

LDC is fully ported to Linux/ARM. The current release also includes LDC pre-compiled for ARMv7 with hard floats (e.g. matches recent Raspberry hardware). On such a platform you can simply unpack the binary packages and LDC should run out of the box.

What would be the steps to have an LDC cross-compiling to ARM?

That is a somewhat different story. First, you need to built LLVM with support for ARM and then compile LDC against this version of LLVM. You can run ldc2 -version to see if the ARM target is supported. As Radu already mentioned, most of the required steps are described in the wiki at https://wiki.dlang.org/Build_LDC_for_Android. From a different perspective there is an old news post about cross-compiling to AArch64, too: http://forum.dlang.org/post/fhwvxatxezkafnalw...@forum.dlang.org.

There is a reason why we do not distribute a binary version of LDC with all LLVM targets enabled. LDC still uses the real format of the host. This is different on ARM (80bit on Linux/x86 vs. 64bit on Linux/ARM). Do not expect that applications using real type work correctly. (The Windows version of LDC uses 64bit reals. The binary build has the ARM target enabled.)

Regards,
Kai

Reply via email to