Status of Meson with D

Chris Piker chris at hoopjump.com
Tue May 24 07:26:06 UTC 2022


On Thursday, 12 May 2022 at 21:37:20 UTC, Remi Thebault wrote:
> Don't hesitate to try it out and to share your thoughts!

Hi Remi

Thanks for all your work!  Here's my first attempt to use meson 
below.  It's probably obvious that I need to read more 
instructions.  So meson itself seems to run okay, but trying to 
build vibe.d with gcc-12.1 which isn't working out so well.  I'm 
pressing a lot of new things to work together below so I'm not 
surprised something broke.

By the way, the goal is to produce a vibe-d shared-object + 
"headers" that I can use in an air-gapped build system for an 
upcoming project.  Worked somewhat, but I wasn't able to build 
vibe.d using meson.  The path taken:

**Install GDC-12.1**
```bash
wget 
http://mirrors.concertpass.com/gcc/releases/gcc-12.1.0/gcc-12.1.0.tar.xz
... # Bunch of config + compile commands resulting in gdc living 
under
     # /usr/local/gcc12
```

**Install newest meson**
```bash
$ git clone git at github.com:mesonbuild/meson.git
$ cd meson pip3 install .
$ which meson
/home/USER/.local/bin/meson
```
So far so good

**Build vibe.d using gcc-12.1**
```bash
$ git clone git at github.com:vibe-d/vibe.d.git
$ cd vibe.d
$ export LD_RUN_PATH=/usr/local/gcc12/lib64
$ export PATH=/usr/local/gcc12/bin:$PATH
$ meson setup builddir
$ env DC=/usr/local/gcc12/bin/gdc-12 meson setup builddir
```
Which produces...
```
The Meson build system
Version: 0.62.99
Source dir: /home/cwp/git/vibe.d
Build dir: /home/cwp/git/vibe.d/builddir
Build type: native build
Project name: Vibe.d
Project version: 0.9.5
D compiler for the host machine: /usr/local/gcc12/bin/gdc-12 (gcc 
12.1.0 "gdc-12 (GCC) 12.1.0")
D linker for the host machine: /usr/local/gcc12/bin/gdc-12 ld.bfd 
2.34
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Run-time dependency zlib found: YES 1.2.11
Run-time dependency libcrypto found: YES 1.1.1f
Run-time dependency libssl found: YES 1.1.1f
Found CMake: /usr/bin/cmake (3.22.1)
WARNING: CMake Toolchain: Failed to determine CMake compilers 
state
Run-time dependency diet found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency diet

Executing subproject diet

diet| Project name: Diet-NG
diet| Project version: 1.7.4
diet| D compiler for the host machine: 
/usr/local/gcc12/bin/gdc-12 (gcc 12.1.0 "gdc-12 (GCC) 12.1.0")
diet| D linker for the host machine: /usr/local/gcc12/bin/gdc-12 
ld.bfd 2.34

lib/subprojects/diet/meson.build:55:0: ERROR: Unknown method 
"unittest_args" in object <[CompilerHolder] holds [GnuDCompiler]: 
<GnuDCompiler: v12.1.0 `/usr/local/gcc12/bin/gdc-12`>> of type 
CompilerHolder.
```

I've never used meson before, so the actions above are likely 
*very* naive.





More information about the Digitalmars-d mailing list