Re: Perl coding error in msvc build system?

From: Brar Piening <brar(at)gmx(dot)de>
To: Abhijit Menon-Sen <ams(at)2ndQuadrant(dot)com>, Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Perl coding error in msvc build system?
Date: 2015-01-23 21:17:32
Message-ID: 54C2BA6C.4050000@gmx.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Am 23.01.2015 um 09:17 schrieb Abhijit Menon-Sen:
> At 2014-06-03 22:30:50 -0400, peter_e(at)gmx(dot)net wrote:
>> I'm not sure whether the following coding actually detects any errors:
>>
>> Solution.pm:
>>
>> open(P, "cl /? 2>&1 |") || die "cl command not found";
> Since nobody with a Windows system has commented, I'm just writing to
> say that from a Perl perspective, I agree with your analysis and the
> patch looks perfectly sensible.
>
>
I can confirm it on my Windows system.

Calling build from a console without nmake in the path I always get:
Unable to determine Visual Studio version: The nmake version could not
be determined. at src/tools/msvc/Mkvcbuild.pm line 63.

This means that the following construct in VSObjectFactory.pm doesn't
have the desired effect.
open(P, "nmake /? 2>&1 |")
|| croak
"Unable to determine Visual Studio version: The nmake command wasn't
found.";

On the other hand complicacy is in the eye of the beholder.
Perl constructs like the following get quite a few wtf's
(http://www.osnews.com/story/19266/WTFs_m) from a simple-minded person
like me.
$? >> 8 == 0 or die "cl command not found";

However as it fixes a confirmed problem and as maintainance of perl code
is an issue of its own, please go ahead.

Regards,
Brar

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2015-01-23 21:26:29 Re: hung backends stuck in spinlock heavy endless loop
Previous Message Andrew Gierth 2015-01-23 21:13:03 Abbreviated keys for Datum tuplesort (was: Re: B-Tree support function number 3 (strxfrm() optimization))