gcc 4.8.1 made it to Debian Sid
eles
eles at eles.com
Wed Jul 10 05:03:05 PDT 2013
On Wednesday, 10 July 2013 at 10:24:17 UTC, Joseph Rushton
Wakeling wrote:
> On 07/10/2013 02:07 AM, H. S. Teoh wrote:
>> Comments / flames / pull requests welcome. ;-)
>
> string findGDC(string argv0)
> {
> // FIXME: this does not work 100% of the time.
> auto c = match(baseName(argv0),
> `^(.*-)?g?dmd(-.*)?$`).captures;
> auto targetPrefix = c[1];
> auto gdcDir = absolutePath(dirName(argv0));
> return buildNormalizedPath(gdcDir, targetPrefix ~ "gdc"
> ~ c[2]);
> }
This is just bad:
main(string[] args) calls init(args) that calls findGDC(args[0])
that gives auto gdcDir = absolutePath(dirName(argv0));
Which is not good:
findGDC: argv0=gdmd
findGDC: dirName(argv0)=.
findGDC: gdcDir=/home/user/github/gdmd/.
That is: it will look for gdc in the current folder, which is not
even the base folder of gdmd (eg. /usr/bin), but the working
directory.
In other words, it looks for gdc in the current working folder.
Then it complains:
Not an executable file: /home/user/github/gdmd/gdc
which is understandable.
I think it should simply look on the PATH.
More information about the D.gnu
mailing list