On Friday, 28 January 2022 at 17:42:25 UTC, singingbush wrote:
not sure where is best placed for this but on my Fedora system
running `gdc --version` gives me pretty much the same output as
`gcc --version`
GDC:
```
$ gdc --version
gdc (GCC) 11.2.1 20211203 (Red Hat 11.2.1-7)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
```
GCC:
```
$ gcc --version
gcc (GCC) 11.2.1 20211203 (Red Hat 11.2.1-7)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
```
It would be far more helpful if running `gdc --version` gave
some indication of the version of D it's aligned to (which was
2.076 last time I checked).
If you want to do this automated you can run
echo | gdc -xd -fsyntax-only -v -
see how code-d does it:
https://github.com/Pure-D/code-d/blob/master/src/compilers.ts#L637
Then you can fetch from the output the GCC version, DMD-FE
version and import paths using these regexes:
```js
const gdcVersionRegex = /^gcc version\s+v?(\d+(?:\.\d+)+)/gm;
const gdcFeVersionRegex = /^version\s+v?(\d+(?:\.\d+)+)/gm;
const gdcImportPathRegex = /^import path\s*\[\d+\]\s*=\s*(.+)/gm;
```