On Tue, 10 Nov 2020 at 03:07, Alvaro Herrera <alvhe...@alvh.no-ip.org> wrote:
>
> On 2020-Nov-06, David Rowley wrote:
>
> > +# Handle makefile rules for when file to be added to the project
> > +# does not exist.  Returns 1 when the original file add should be
> > +# skipped.
> > +sub FindAndAddAdditionalFiles
> > +{
> > +     my $self = shift;
> > +     my $fname = shift;
> > +     my ($ext) = $fname =~ /(\.[^.]+)$/;
> > +
> > +     # For .c files, check if a .l file of the same name exists and add 
> > that
> > +     # too.
> > +     if ($ext eq ".c")
> > +     {
> > +             my $filenoext = $fname;
> > +             $filenoext =~ s{\.[^.]+$}{};
>
> I think you can make this simpler by capturing both the basename and the
> extension in one go.  For example,
>
>   $fname =~ /(.*)(\.[^.]+)$/;
>   $filenoext = $1;
>   $ext = $2;
>
> so you avoid the second =~ statement.

Thanks. That's neater.

> > +             if (-e "$filenoext.l")
> > +             {
> > +                     AddFileConditional($self, "$filenoext.l");
> > +                     return 1;
> > +             }
> > +             if (-e "$filenoext.y")
> > +             {
> > +                     AddFileConditional($self, "$filenoext.y");
>
> Maybe DRY like
>
> for my $ext (".l", ".y") {
>   my $file = $filenoext . $ext;
>   AddFileConditional($self, $file) if -f $file;
>   return 1;
> }

I did adapt that part of the code, but not exactly to what's above.
The return there would cause us to return from the function after the
first iteration.

> Note: comment says "check if a .l file" and then checks both .l and .y.
> Probably want to update the comment ...

Updated.

I've attached the v3 patch.

I'm still working through some small differences in some of the
.vcxproj files.  I've been comparing these by copying *.vcxproj out to
another directory with patched and unpatched then diffing the
directory. See attached txt file with those diffs. Here's a summary of
some of them:

1. There are a few places that libpq gets linked where it previously did not.
2. REFINT_VERBOSE gets defined in a few more places than it did
previously. This makes it closer to what happens on Linux anyway, if
you look at the Make output from contrib/spi/Makefile you'll see
-DREFINT_VERBOSE in there for autoinc
3. LOWER_NODE gets defined in ltree now where it wasn't before.  It's
defined on Linux. Unsure why it wasn't before on Windows.

David
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
index 90594bd41b..a97edeb6eb 100644
--- a/src/tools/msvc/Mkvcbuild.pm
+++ b/src/tools/msvc/Mkvcbuild.pm
@@ -32,16 +32,13 @@ my $libpq;
 my @unlink_on_exit;
 
 # Set of variables for modules in contrib/ and src/test/modules/
-my $contrib_defines = { 'refint' => 'REFINT_VERBOSE' };
-my @contrib_uselibpq = ('dblink', 'oid2name', 'postgres_fdw', 'vacuumlo');
-my @contrib_uselibpgport   = ('oid2name', 'pg_standby', 'vacuumlo');
-my @contrib_uselibpgcommon = ('oid2name', 'pg_standby', 'vacuumlo');
+my $contrib_defines = {};
+my @contrib_uselibpq = ();
+my @contrib_uselibpgport   = ('pg_standby');
+my @contrib_uselibpgcommon = ('pg_standby');
 my $contrib_extralibs      = undef;
 my $contrib_extraincludes = { 'dblink' => ['src/backend'] };
-my $contrib_extrasource = {
-       'cube' => [ 'contrib/cube/cubescan.l', 'contrib/cube/cubeparse.y' ],
-       'seg'  => [ 'contrib/seg/segscan.l',   'contrib/seg/segparse.y' ],
-};
+my $contrib_extrasource = {};
 my @contrib_excludes = (
        'bool_plperl',      'commit_ts',
        'hstore_plperl',    'hstore_plpython',
@@ -951,6 +948,7 @@ sub AddContrib
        my $subdir = shift;
        my $n      = shift;
        my $mf     = Project::read_file("$subdir/$n/Makefile");
+       my @projects;
 
        if ($mf =~ /^MODULE_big\s*=\s*(.*)$/mg)
        {
@@ -958,6 +956,7 @@ sub AddContrib
                my $proj = $solution->AddProject($dn, 'dll', 'contrib', 
"$subdir/$n");
                $proj->AddReference($postgres);
                AdjustContribProj($proj);
+               push @projects, $proj;
        }
        elsif ($mf =~ /^MODULES\s*=\s*(.*)$/mg)
        {
@@ -969,18 +968,90 @@ sub AddContrib
                        $proj->AddFile("$subdir/$n/$filename");
                        $proj->AddReference($postgres);
                        AdjustContribProj($proj);
+                       push @projects, $proj;
                }
        }
        elsif ($mf =~ /^PROGRAM\s*=\s*(.*)$/mg)
        {
                my $proj = $solution->AddProject($1, 'exe', 'contrib', 
"$subdir/$n");
                AdjustContribProj($proj);
+               push @projects, $proj;
        }
        else
        {
                croak "Could not determine contrib module type for $n\n";
        }
 
+       # Process custom compiler flags
+       if ($mf =~ /^PG_CPPFLAGS\s*=\s*(.*)$/mg)
+       {
+               foreach my $flag (split /\s+/, $1)
+               {
+                       if ($flag =~ /^-D(.*)$/)
+                       {
+                               foreach my $proj (@projects)
+                               {
+                                       $proj->AddDefine($1);
+                               }
+                       }
+                       elsif ($flag =~ /^-I(.*)$/)
+                       {
+                               foreach my $proj (@projects)
+                               {
+                                       if ($1 eq '$(libpq_srcdir)')
+                                       {
+                                               
$proj->AddIncludeDir('src\interfaces\libpq');
+                                               $proj->AddReference($libpq);
+                                       }
+                               }
+                       }
+               }
+       }
+
+       if ($mf =~ /^SHLIB_LINK_INTERNAL\s*=\s*(.*)$/mg)
+       {
+               foreach my $lib (split /\s+/, $1)
+               {
+                       if ($lib eq '$(libpq)')
+                       {
+                               foreach my $proj (@projects)
+                               {
+                                       
$proj->AddIncludeDir('src\interfaces\libpq');
+                                       $proj->AddReference($libpq);
+                               }
+                       }
+               }
+       }
+
+       if ($mf =~ /^PG_LIBS_INTERNAL\s*=\s*(.*)$/mg)
+       {
+               foreach my $lib (split /\s+/, $1)
+               {
+                       if ($lib eq '$(libpq_pgport)')
+                       {
+                               foreach my $proj (@projects)
+                               {
+                                       $proj->AddReference($libpgport);
+                                       $proj->AddReference($libpgcommon);
+                               }
+                       }
+               }
+       }
+
+       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");
+                               }
+                       }
+               }
+       }
+
        # Are there any output data files to build?
        GenerateContribSqlFiles($n, $mf);
        return;
diff --git a/src/tools/msvc/Project.pm b/src/tools/msvc/Project.pm
index 20f79b382b..dc94f7c506 100644
--- a/src/tools/msvc/Project.pm
+++ b/src/tools/msvc/Project.pm
@@ -42,12 +42,25 @@ sub _new
 
 sub AddFile
 {
-       my ($self, $filename) = @_;
+       my ($self, $filename, $alwaysAddOriginal) = @_;
 
+       FindAndAddAdditionalFiles($self, $filename);
+       # Add the original file regardless to the return value of
+       # FindAndAddAdditionalFiles
        $self->{files}->{$filename} = 1;
        return;
 }
 
+sub AddFileConditional
+{
+       my ($self, $filename) = @_;
+       if (FindAndAddAdditionalFiles($self, $filename) != 1)
+       {
+               $self->{files}->{$filename} = 1;
+       }
+       return;
+}
+
 sub AddFiles
 {
        my $self = shift;
@@ -55,11 +68,39 @@ sub AddFiles
 
        while (my $f = shift)
        {
-               $self->{files}->{ $dir . "/" . $f } = 1;
+               AddFile($self, $dir . "/" . $f, 1);
        }
        return;
 }
 
+# Handle makefile rules for when file to be added to the project
+# does not exist.  Returns 1 when the original file add should be
+# skipped.
+sub FindAndAddAdditionalFiles
+{
+       my $self = shift;
+       my $fname = shift;
+       $fname =~ /(.*)(\.[^.]+)$/;
+       my $filenoext = $1;
+       my $fileext = $2;
+
+       # For .c files, check if either a .l or .y file of the same name
+       # exists and add that too.
+       if ($fileext eq ".c")
+       {
+               for my $ext (".l", ".y")
+               {
+                       my $file = $filenoext . $ext;
+                       if (-e $file)
+                       {
+                               AddFileConditional($self, $file);
+                               return 1;
+                       }
+               }
+       }
+       return 0;
+}
+
 sub ReplaceFile
 {
        my ($self, $filename, $newname) = @_;
@@ -74,14 +115,14 @@ sub ReplaceFile
                        if ($file eq $filename)
                        {
                                delete $self->{files}{$file};
-                               $self->{files}{$newname} = 1;
+                               AddFile($self, $newname);
                                return;
                        }
                }
                elsif ($file =~ m/($re)/)
                {
                        delete $self->{files}{$file};
-                       $self->{files}{"$newname/$filename"} = 1;
+                       AddFile($self, "$newname/$filename");
                        return;
                }
        }
@@ -256,11 +297,11 @@ sub AddDir
                        if ($f =~ /^\$\(top_builddir\)\/(.*)/)
                        {
                                $f = $1;
-                               $self->{files}->{$f} = 1;
+                               AddFile($self, $f);
                        }
                        else
                        {
-                               $self->{files}->{"$reldir/$f"} = 1;
+                               AddFile($self, "$reldir/$f");
                        }
                }
                $mf =~ s{OBJS[^=]*=\s*(.*)$}{}m;
diff -u "L:\\proj_std/adminpack.vcxproj" "L:\\proj_mod/adminpack.vcxproj"
--- "L:\\proj_std/adminpack.vcxproj"    2020-11-10 13:40:24.856007800 +1300
+++ "L:\\proj_mod/adminpack.vcxproj"    2020-11-10 15:10:53.458754100 +1300
@@ -51,7 +51,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;src\interfaces\libpq;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;DEBUG=1%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>false</StringPooling>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -70,7 +70,7 @@
     </ClCompile>
     <Link>
       <OutputFile>.\Debug\adminpack\adminpack.dll</OutputFile>
-      
<AdditionalDependencies>Debug/postgres/postgres.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<AdditionalDependencies>Debug/postgres/postgres.lib;Debug/libpq/libpq.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       
<IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
@@ -99,7 +99,7 @@
   <ItemDefinitionGroup 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <ClCompile>
       <Optimization>Full</Optimization>
-      
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;src\interfaces\libpq;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -118,7 +118,7 @@
     </ClCompile>
     <Link>
       <OutputFile>.\Release\adminpack\adminpack.dll</OutputFile>
-      
<AdditionalDependencies>Release/postgres/postgres.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<AdditionalDependencies>Release/postgres/postgres.lib;Release/libpq/libpq.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       
<IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
@@ -154,6 +154,9 @@
     <ProjectReference Include="postgres.vcxproj">
       <Project>{00000000-0000-0000-0000-000000000000}</Project>
     </ProjectReference>
+    <ProjectReference Include="libpq.vcxproj">
+      <Project>{00000000-0000-0000-0000-000000000000}</Project>
+    </ProjectReference>
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff -u "L:\\proj_std/autoinc.vcxproj" "L:\\proj_mod/autoinc.vcxproj"
--- "L:\\proj_std/autoinc.vcxproj"      2020-11-10 13:40:24.885336500 +1300
+++ "L:\\proj_mod/autoinc.vcxproj"      2020-11-10 15:10:53.487117100 +1300
@@ -52,7 +52,7 @@
     <ClCompile>
       <Optimization>Disabled</Optimization>
       
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;DEBUG=1%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;REFINT_VERBOSE;_DEBUG;DEBUG=1%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>false</StringPooling>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       
<DisableSpecificWarnings>4018;4244;4273;4102;4090;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
@@ -100,7 +100,7 @@
     <ClCompile>
       <Optimization>Full</Optimization>
       
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;REFINT_VERBOSE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       
<DisableSpecificWarnings>4018;4244;4273;4102;4090;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
diff -u "L:\\proj_std/dblink.vcxproj" "L:\\proj_mod/dblink.vcxproj"
--- "L:\\proj_std/dblink.vcxproj"       2020-11-10 13:40:24.959753900 +1300
+++ "L:\\proj_mod/dblink.vcxproj"       2020-11-10 15:10:53.566304400 +1300
@@ -51,7 +51,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;src\interfaces\libpq;src/backend;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;src/backend;src\interfaces\libpq;src\interfaces\libpq;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;DEBUG=1%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>false</StringPooling>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -70,7 +70,7 @@
     </ClCompile>
     <Link>
       <OutputFile>.\Debug\dblink\dblink.dll</OutputFile>
-      
<AdditionalDependencies>Debug/postgres/postgres.lib;Debug/libpq/libpq.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<AdditionalDependencies>Debug/postgres/postgres.lib;Debug/libpq/libpq.lib;Debug/libpq/libpq.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       
<IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
@@ -99,7 +99,7 @@
   <ItemDefinitionGroup 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <ClCompile>
       <Optimization>Full</Optimization>
-      
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;src\interfaces\libpq;src/backend;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;src/backend;src\interfaces\libpq;src\interfaces\libpq;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -118,7 +118,7 @@
     </ClCompile>
     <Link>
       <OutputFile>.\Release\dblink\dblink.dll</OutputFile>
-      
<AdditionalDependencies>Release/postgres/postgres.lib;Release/libpq/libpq.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<AdditionalDependencies>Release/postgres/postgres.lib;Release/libpq/libpq.lib;Release/libpq/libpq.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       
<IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
@@ -155,6 +155,9 @@
       <Project>{00000000-0000-0000-0000-000000000000}</Project>
     </ProjectReference>
     <ProjectReference Include="libpq.vcxproj">
+      <Project>{00000000-0000-0000-0000-000000000000}</Project>
+    </ProjectReference>
+    <ProjectReference Include="libpq.vcxproj">
       <Project>{00000000-0000-0000-0000-000000000000}</Project>
     </ProjectReference>
   </ItemGroup>
diff -u "L:\\proj_std/insert_username.vcxproj" 
"L:\\proj_mod/insert_username.vcxproj"
--- "L:\\proj_std/insert_username.vcxproj"      2020-11-10 13:40:25.106396300 
+1300
+++ "L:\\proj_mod/insert_username.vcxproj"      2020-11-10 15:10:53.709024700 
+1300
@@ -52,7 +52,7 @@
     <ClCompile>
       <Optimization>Disabled</Optimization>
       
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;DEBUG=1%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;REFINT_VERBOSE;_DEBUG;DEBUG=1%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>false</StringPooling>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       
<DisableSpecificWarnings>4018;4244;4273;4102;4090;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
@@ -100,7 +100,7 @@
     <ClCompile>
       <Optimization>Full</Optimization>
       
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;REFINT_VERBOSE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       
<DisableSpecificWarnings>4018;4244;4273;4102;4090;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
diff -u "L:\\proj_std/ltree.vcxproj" "L:\\proj_mod/ltree.vcxproj"
--- "L:\\proj_std/ltree.vcxproj"        2020-11-10 13:40:25.206112700 +1300
+++ "L:\\proj_mod/ltree.vcxproj"        2020-11-10 15:10:53.817551400 +1300
@@ -52,7 +52,7 @@
     <ClCompile>
       <Optimization>Disabled</Optimization>
       
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;DEBUG=1%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;LOWER_NODE;_DEBUG;DEBUG=1%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>false</StringPooling>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       
<DisableSpecificWarnings>4018;4244;4273;4102;4090;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
@@ -100,7 +100,7 @@
     <ClCompile>
       <Optimization>Full</Optimization>
       
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;LOWER_NODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       
<DisableSpecificWarnings>4018;4244;4273;4102;4090;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
diff -u "L:\\proj_std/moddatetime.vcxproj" "L:\\proj_mod/moddatetime.vcxproj"
--- "L:\\proj_std/moddatetime.vcxproj"  2020-11-10 13:40:25.212956300 +1300
+++ "L:\\proj_mod/moddatetime.vcxproj"  2020-11-10 15:10:53.824381700 +1300
@@ -52,7 +52,7 @@
     <ClCompile>
       <Optimization>Disabled</Optimization>
       
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;DEBUG=1%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;REFINT_VERBOSE;_DEBUG;DEBUG=1%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>false</StringPooling>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       
<DisableSpecificWarnings>4018;4244;4273;4102;4090;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
@@ -100,7 +100,7 @@
     <ClCompile>
       <Optimization>Full</Optimization>
       
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;REFINT_VERBOSE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       
<DisableSpecificWarnings>4018;4244;4273;4102;4090;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
diff -u "L:\\proj_std/old_snapshot.vcxproj" "L:\\proj_mod/old_snapshot.vcxproj"
--- "L:\\proj_std/old_snapshot.vcxproj" 2020-11-10 13:40:25.228046200 +1300
+++ "L:\\proj_mod/old_snapshot.vcxproj" 2020-11-10 15:10:53.838392000 +1300
@@ -51,7 +51,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;src\interfaces\libpq;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;DEBUG=1%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>false</StringPooling>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -70,7 +70,7 @@
     </ClCompile>
     <Link>
       <OutputFile>.\Debug\old_snapshot\old_snapshot.dll</OutputFile>
-      
<AdditionalDependencies>Debug/postgres/postgres.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<AdditionalDependencies>Debug/postgres/postgres.lib;Debug/libpq/libpq.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       
<IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
@@ -99,7 +99,7 @@
   <ItemDefinitionGroup 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <ClCompile>
       <Optimization>Full</Optimization>
-      
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;src\interfaces\libpq;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -118,7 +118,7 @@
     </ClCompile>
     <Link>
       <OutputFile>.\Release\old_snapshot\old_snapshot.dll</OutputFile>
-      
<AdditionalDependencies>Release/postgres/postgres.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<AdditionalDependencies>Release/postgres/postgres.lib;Release/libpq/libpq.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       
<IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
@@ -154,6 +154,9 @@
     <ProjectReference Include="postgres.vcxproj">
       <Project>{00000000-0000-0000-0000-000000000000}</Project>
     </ProjectReference>
+    <ProjectReference Include="libpq.vcxproj">
+      <Project>{00000000-0000-0000-0000-000000000000}</Project>
+    </ProjectReference>
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff -u "L:\\proj_std/postgres_fdw.vcxproj" "L:\\proj_mod/postgres_fdw.vcxproj"
--- "L:\\proj_std/postgres_fdw.vcxproj" 2020-11-10 13:40:25.538923800 +1300
+++ "L:\\proj_mod/postgres_fdw.vcxproj" 2020-11-10 15:10:54.145412300 +1300
@@ -51,7 +51,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;src\interfaces\libpq;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;src\interfaces\libpq;src\interfaces\libpq;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;DEBUG=1%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>false</StringPooling>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -70,7 +70,7 @@
     </ClCompile>
     <Link>
       <OutputFile>.\Debug\postgres_fdw\postgres_fdw.dll</OutputFile>
-      
<AdditionalDependencies>Debug/postgres/postgres.lib;Debug/libpq/libpq.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<AdditionalDependencies>Debug/postgres/postgres.lib;Debug/libpq/libpq.lib;Debug/libpq/libpq.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       
<IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
@@ -99,7 +99,7 @@
   <ItemDefinitionGroup 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <ClCompile>
       <Optimization>Full</Optimization>
-      
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;src\interfaces\libpq;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<AdditionalIncludeDirectories>src/include;src/include/port/win32;src/include/port/win32_msvc;src\interfaces\libpq;src\interfaces\libpq;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       
<PreprocessorDefinitions>WIN32;_WINDOWS;__WINDOWS__;__WIN32__;WIN32_STACK_RLIMIT=4194304;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <StringPooling>true</StringPooling>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -118,7 +118,7 @@
     </ClCompile>
     <Link>
       <OutputFile>.\Release\postgres_fdw\postgres_fdw.dll</OutputFile>
-      
<AdditionalDependencies>Release/postgres/postgres.lib;Release/libpq/libpq.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<AdditionalDependencies>Release/postgres/postgres.lib;Release/libpq/libpq.lib;Release/libpq/libpq.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       
<IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
@@ -159,6 +159,9 @@
       <Project>{00000000-0000-0000-0000-000000000000}</Project>
     </ProjectReference>
     <ProjectReference Include="libpq.vcxproj">
+      <Project>{00000000-0000-0000-0000-000000000000}</Project>
+    </ProjectReference>
+    <ProjectReference Include="libpq.vcxproj">
       <Project>{00000000-0000-0000-0000-000000000000}</Project>
     </ProjectReference>
   </ItemGroup>

Reply via email to