False failure during repeated windows build.
От | Kyotaro Horiguchi |
---|---|
Тема | False failure during repeated windows build. |
Дата | |
Msg-id | 20200218.160500.44393633318853097.horikyota.ntt@gmail.com обсуждение исходный текст |
Ответы |
Re: False failure during repeated windows build.
|
Список | pgsql-hackers |
Hello. I found it quite annoying that it stops with complaining as "unused defines" during repeated execution of build.pl. The subroutine GenerateConfigHeader prepares %defines_copy before checking the newness of $config_header and even if it decides not to generate new one, the following code makes sure if the %defines_copy is empty, then of course it fails with the message. The attached fixes that. regards. -- Kyotaro Horiguchi NTT Open Source Software Center From b276face1b8f7b2e7a3ce9b3060205d6f04a1735 Mon Sep 17 00:00:00 2001 From: Kyotaro Horiguchi <horikyota.ntt@gmail.com> Date: Tue, 18 Feb 2020 15:29:55 +0900 Subject: [PATCH] Fix behavior for repeated build on Windows. Even after the function GenerateConfigHeader in Solution.pm decided not to generate a new file, it wrongly checks for the remaining macro defintions and stops with failure. Fix it by not doing the check if it skipped file generation. --- src/tools/msvc/Solution.pm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index 8412ef298e..cf16144b02 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -839,13 +839,14 @@ EOF sub GenerateConfigHeader { my ($self, $config_header, $defines, $required) = @_; - my %defines_copy = %$defines; my $config_header_in = $config_header . '.in'; if (IsNewer($config_header, $config_header_in) || IsNewer($config_header, __FILE__)) { + my %defines_copy = %$defines; + open(my $i, '<', $config_header_in) || confess "Could not open $config_header_in\n"; open(my $o, '>', $config_header) @@ -884,10 +885,11 @@ sub GenerateConfigHeader } close($o); close($i); - } - if ($required && scalar(keys %defines_copy) > 0) - { - croak "unused defines: " . join(' ', keys %defines_copy); + + if ($required && scalar(keys %defines_copy) > 0) + { + croak "unused defines: " . join(' ', keys %defines_copy); + } } } -- 2.18.2
В списке pgsql-hackers по дате отправления: