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
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
$ git clone git@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
$ git clone git@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.