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>