Fix build failure on header generation with repetitive builds of MSVC

GenerateConfigHeader() in Solution.pm was complaining about unused
define symbols even if a newer config header was not generated, causing
successive build attempts with MSVC to fail.

Oversight in commit 8f4fb4c.

Author: Kyotaro Horiguchi
Reviewed-by: Juan José Santamaría Flecha
Discussion: https://postgr.es/m/20200218.160500.44393633318853097.horikyota.ntt@gmail.com
This commit is contained in:
Michael Paquier 2020-02-25 13:57:40 +09:00
parent 36390713a6
commit 59f9cd9dd5
1 changed files with 7 additions and 5 deletions

View File

@ -826,13 +826,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)
@ -871,10 +872,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);
}
}
}