diff options
author | Eric Le Bihan <eric.le.bihan.dev@free.fr> | 2019-11-09 12:45:51 +0100 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-11-19 16:32:12 +0200 |
commit | 815563841aefea1f440cf32565e43114ace9483b (patch) | |
tree | b643d7c07f7213902ca7c0742a245f613832ffd4 /mesonbuild/mesonlib.py | |
parent | ffdacc4c9c8eb1733afa4b3c9aaa6062ab82ede4 (diff) | |
download | meson-815563841aefea1f440cf32565e43114ace9483b.zip meson-815563841aefea1f440cf32565e43114ace9483b.tar.gz meson-815563841aefea1f440cf32565e43114ace9483b.tar.bz2 |
Fix cross-compilation of D programs
Since version 9.1, GCC provides support for the D programming language. Thus it
is easy to build a cross-compiler for D, such as aarch64-unknown-linux-gnu-gdc.
However to cross-compile a Meson project using D, using a cross build definition
such as the following is not enough:
```
[binaries]
d = '/path/to/aarch64-unknown-linux-gnu-gdc'
exe_wrapper = '/path/to/qemu-aarch64-static'
[properties]
needs_exe_wrapper = true
[host_machine]
system = 'linux'
cpu_family = 'aarch64'
cpu = 'cortex-a53'
endian = 'little'
```
Indeed, "exe_wrapper" is not be taken into account. Build will fail with:
```
Executables created by D compiler /path/to/aarch64-uknown-linux-gnu-gdc are not runnable.
```
This patch fixes this by reworking:
- detect_d_compiler() to properly get exe_wrapper and D compilers and detect the
one available.
- Dcompiler to properly handle exe_wrapper.
Diffstat (limited to 'mesonbuild/mesonlib.py')
0 files changed, 0 insertions, 0 deletions