summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorTom Lane2016-03-24 19:55:44 +0000
committerTom Lane2016-03-24 19:55:57 +0000
commit588d963b00e5e4385b6425418e3faa726f63f72e (patch)
treeea104b491189a036fd36898359b960bb914f6a08 /src/tools
parenta596db332b8c7f593a82af86f69353ba08f6214c (diff)
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.
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/msvc/Mkvcbuild.pm22
1 files changed, 13 insertions, 9 deletions
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');