From 588d963b00e5e4385b6425418e3faa726f63f72e Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 24 Mar 2016 15:55:44 -0400 Subject: Create src/fe_utils/, and move stuff into there from pg_dump's dumputils. Per discussion, we want to create a static library and put the stuff into it that until now has been shared across src/bin/ directories by ad-hoc methods like symlinking a source file. This commit creates the library and populates it with a couple of files that contain the widely-useful portions of pg_dump's dumputils.c file. dumputils.c survives, because it has some stuff that didn't seem appropriate for fe_utils, but it's significantly smaller and is no longer referenced from any other directory. Follow-on patches will move more stuff into fe_utils. The Mkvcbuild.pm hacking here is just a best guess; we'll see how the buildfarm likes it. --- src/tools/msvc/Mkvcbuild.pm | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'src/tools') diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm index 8716642847a..f12addba02f 100644 --- a/src/tools/msvc/Mkvcbuild.pm +++ b/src/tools/msvc/Mkvcbuild.pm @@ -25,6 +25,7 @@ our (@ISA, @EXPORT_OK); my $solution; my $libpgport; my $libpgcommon; +my $libpgfeutils; my $postgres; my $libpq; @@ -62,7 +63,7 @@ my $frontend_extralibs = { 'psql' => ['ws2_32.lib'] }; my $frontend_extraincludes = { 'initdb' => ['src/timezone'], - 'psql' => [ 'src/bin/pg_dump', 'src/backend' ], + 'psql' => [ 'src/backend' ], 'pgbench' => [ 'src/bin/psql' ] }; my $frontend_extrasource = { 'psql' => ['src/bin/psql/psqlscan.l', 'src/bin/psql/psqlscanslash.l'], @@ -118,6 +119,9 @@ sub mkvcbuild our @pgcommonbkndfiles = @pgcommonallfiles; + our @pgfeutilsfiles = qw( + simple_list.c string_utils.c); + $libpgport = $solution->AddProject('libpgport', 'lib', 'misc'); $libpgport->AddDefine('FRONTEND'); $libpgport->AddFiles('src/port', @pgportfiles); @@ -126,6 +130,10 @@ sub mkvcbuild $libpgcommon->AddDefine('FRONTEND'); $libpgcommon->AddFiles('src/common', @pgcommonfrontendfiles); + $libpgfeutils = $solution->AddProject('libpgfeutils', 'lib', 'misc'); + $libpgfeutils->AddDefine('FRONTEND'); + $libpgfeutils->AddFiles('src/fe_utils', @pgfeutilsfiles); + $postgres = $solution->AddProject('postgres', 'exe', '', 'src/backend'); $postgres->AddIncludeDir('src/backend'); $postgres->AddDir('src/backend/port/win32'); @@ -613,11 +621,7 @@ sub mkvcbuild foreach my $f (@files) { $f =~ s/\.o$/\.c/; - if ($f eq 'dumputils.c') - { - $proj->AddFile('src/bin/pg_dump/dumputils.c'); - } - elsif ($f =~ /print\.c$/) + if ($f =~ /print\.c$/) { # Also catches mbprint.c $proj->AddFile('src/bin/psql/' . $f); } @@ -627,9 +631,9 @@ sub mkvcbuild } } $proj->AddIncludeDir('src/interfaces/libpq'); - $proj->AddIncludeDir('src/bin/pg_dump'); $proj->AddIncludeDir('src/bin/psql'); - $proj->AddReference($libpq, $libpgcommon, $libpgport); + $proj->AddReference($libpq, $libpgfeutils, $libpgcommon, + $libpgport); $proj->AddDirResourceFile('src/bin/scripts'); $proj->AddLibrary('ws2_32.lib'); } @@ -680,7 +684,7 @@ sub AddSimpleFrontend my $p = $solution->AddProject($n, 'exe', 'bin'); $p->AddDir('src/bin/' . $n); - $p->AddReference($libpgcommon, $libpgport); + $p->AddReference($libpgfeutils, $libpgcommon, $libpgport); if ($uselibpq) { $p->AddIncludeDir('src/interfaces/libpq'); -- cgit v1.2.3