www.digitalmars.com         C & C++   DMDScript  

D.gnu - command line option or other method for determining the front end

reply dan <dan.hitt gmail.com> writes:
One of my machines (running ubuntu mate 16.04) did some update 
and gdc is no longer able to compile a library that i like to use 
(gtkd).

So i want to build a gdc using an earlier front-end to avoid the 
problem.

However, i don't know what front end is compiled into gdc, so i'm 
unclear on which front-end to try get an earlier version of.

If i run the command
     gdc --version
it gives me the gcc version.

The command
     gdc --verbose --version
gives a lot more information, but i can't tell the front end 
version from that either.

Even running commands like
     strings /usr/bin/gdc | grep .....
doesn't seem to reveal the version.  (I think the version is 
probably 2.06* but '2.06' and '206' do not appear in the strings.)

Nevertheless i'm sure the information must be there.

TIA for any info!
Jul 24 2016
parent reply "Iain Buclaw via D.gnu" <d.gnu puremagic.com> writes:
On 24 July 2016 at 19:00, dan via D.gnu <d.gnu puremagic.com> wrote:
 One of my machines (running ubuntu mate 16.04) did some update and gdc is no
 longer able to compile a library that i like to use (gtkd).

 So i want to build a gdc using an earlier front-end to avoid the problem.

 However, i don't know what front end is compiled into gdc, so i'm unclear on
 which front-end to try get an earlier version of.

 If i run the command
     gdc --version
 it gives me the gcc version.

 The command
     gdc --verbose --version
 gives a lot more information, but i can't tell the front end version from
 that either.

 Even running commands like
     strings /usr/bin/gdc | grep .....
 doesn't seem to reveal the version.  (I think the version is probably 2.06*
 but '2.06' and '206' do not appear in the strings.)

 Nevertheless i'm sure the information must be there.

 TIA for any info!
Later versions will write this out during compilation of a file under -v. $ gdc -v test.d # ... version v2.068.2 # ... For earlier versions, there is a universal way to do it in code. pragma(msg, __VERSION__);
Jul 24 2016
parent dan <dan.hitt gmail.com> writes:
On Sunday, 24 July 2016 at 17:16:59 UTC, Iain Buclaw wrote:
 On 24 July 2016 at 19:00, dan via D.gnu <d.gnu puremagic.com> 
 wrote:
.....
 However, i don't know what front end is compiled into gdc, so 
 i'm unclear on which front-end to try get an earlier version 
 of.
.....
 Later versions will write this out during compilation of a file 
 under -v.

   $ gdc -v test.d
   # ...
   version   v2.068.2
   # ...

 For earlier versions, there is a universal way to do it in code.

 pragma(msg, __VERSION__);
Thanks Iain, this works and gives me the right information. For reference, including that pragma causes the version (such as 2066L or 2067L) to be emitted during compilation. (And when i run it, i can see that 2067 is the offending version so at least i know what to try to roll back to.) dan
Jul 24 2016