On Wed, Dec 30, 2020 at 10:07:29AM +1300, David Rowley wrote: > -#ifdef LOWER_NODE > +/* > + * Below we ignore the fact that LOWER_NODE is defined when compiling with > + * MSVC. The reason for this is that earlier versions of the MSVC build > + * scripts failed to define LOWER_NODE. More recent version of the MSVC > + * build scripts parse makefiles which results in LOWER_NODE now being > + * defined. We check for _MSC_VER here so as not to break pg_upgrade when > + * upgrading from versions MSVC versions where LOWER_NODE was not defined. > + */ > +#if defined(LOWER_NODE) && !defined(_MSC_VER) > #include <ctype.h> > #define TOLOWER(x) tolower((unsigned char) (x)) > #else
While on it, do you think that it would be more readable if we remove
completely LOWER_NODE and use only a check based on _MSC_VER for those
two files in ltree? This could also be handled as a separate change.
> + foreach my $line (split /\n/, $mf)
> + {
> + if ($line =~ /^[A-Za-z0-9_]*\.o:\s(.*)/)
> + {
> + foreach my $file (split /\s+/, $1)
> + {
> + foreach my $proj (@projects)
> + {
> +
> $proj->AddFileConditional("$subdir/$n/$file");
> + }
> + }
> + }
> + }
Looking closer at this change, I don't think that this is completely
correct and that could become a trap. This is adding quite a bit of
complexity to take care of contrib_extrasource getting empty, and it
actually overlaps with the handling of OBJS done in AddDir(), no?
--
Michael
signature.asc
Description: PGP signature
