Subject: Re: Remove MSVC scripts from the tree

From: Andrew Dunstan <[email-masked]>
Date: Wed, 8 Nov 2023 09:47:08 -0500

On 2023-11-08 We 03:41, Peter Eisentraut wrote:
> On 12.10.23 07:23, Michael Paquier wrote:
>>> - Is src/backend/utils/README.Gen_dummy_probes still correct after 
>>> this?
>>> AFAICT, the Perl-based MSVC build system uses Gen_dummy_probes.pl, 
>>> but the
>>> meson build uses Gen_dummy_probes.sed even on Windows.  Is that 
>>> correct,
>>> intended?
>> Interesting point.  This may depend on the environment at the end?  As
>> far as I can see, sed is currently a hard requirement in the meson
>> build and we'd fail if the command cannot be used.  The buildfarm
>> machines that test meson are able to find sed, making
>> Gen_dummy_probes.pl not necessary:
>> https://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=drongo&dt=2023-10-11%2020%3A21%3A17&stg=configure 
>>
>>
>> So the $1000 question is: could there be a point in keeping the perl
>> script around if sed cannot be found?  The buildfarm coverage is
>> currently saying no thanks to chocolatey, at least.  The VM images
>> compiled by Andres for the CI seem to have the same opinion.
>
> I don't think we should rely on sed being there on Windows.  Maybe 
> it's true now on the handful of buildfarm/CI machines and early 
> adopters, but do we have any indication that that is systematic or 
> just an accident?
>
> Since we definitely require Perl now, we could just as well use the 
> Perl script and avoid this issue.
>
> Attached is a Perl version of the sed script, converted by hand (so 
> not the super-verbose s2p thing).  It's basically just the sed script 
> with semicolons added and the backslashes in the regular expressions 
> moved around.  I think we could use something like that for all 
> platforms now.

I think it's alright, but please don't use literal tabs, use \t, even in 
a character class.

cheers

andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com