2020-01-14 07:43:36 +08:00
|
|
|
diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm
|
|
|
|
index d109b2c90..75c7446e6 100644
|
|
|
|
--- a/src/tools/msvc/Install.pm
|
|
|
|
+++ b/src/tools/msvc/Install.pm
|
2021-12-15 02:59:38 +08:00
|
|
|
@@ -86,10 +86,10 @@ sub Install
|
2020-01-14 07:43:36 +08:00
|
|
|
my $majorver = DetermineMajorVersion();
|
|
|
|
print "Installing version $majorver for $conf in $target\n";
|
|
|
|
|
|
|
|
- my @client_dirs = ('bin', 'lib', 'share', 'symbols');
|
|
|
|
+ my @client_dirs = ('bin', 'lib', 'share', 'tools', 'share/libpq', 'tools/libpq');
|
|
|
|
my @all_dirs = (
|
|
|
|
- @client_dirs, 'doc', 'doc/contrib', 'doc/extension', 'share/contrib',
|
|
|
|
- 'share/extension', 'share/timezonesets', 'share/tsearch_data');
|
|
|
|
+ @client_dirs, 'doc', 'doc/libpq', 'doc/libpq/contrib', 'doc/libpq/extension', 'share/libpq/contrib',
|
|
|
|
+ 'share/libpq/extension', 'share/libpq/timezonesets', 'share/libpq/tsearch_data');
|
|
|
|
if ($insttype eq "client")
|
|
|
|
{
|
|
|
|
EnsureDirectories($target, @client_dirs);
|
2021-12-15 02:59:38 +08:00
|
|
|
@@ -114,7 +114,7 @@ sub Install
|
|
|
|
}
|
|
|
|
},
|
|
|
|
@top_dir);
|
|
|
|
- CopySetOfFiles('config files', $sample_files, $target . '/share/');
|
|
|
|
+ CopySetOfFiles('config files', $sample_files, $target . '/share/libpq/');
|
|
|
|
CopyFiles(
|
|
|
|
'Import libraries',
|
|
|
|
$target . '/lib/',
|
|
|
|
@@ -128,35 +128,35 @@ sub Install
|
2020-01-14 07:43:36 +08:00
|
|
|
CopySetOfFiles(
|
|
|
|
'timezone names',
|
|
|
|
[ glob('src\timezone\tznames\*.txt') ],
|
|
|
|
- $target . '/share/timezonesets/');
|
|
|
|
+ $target . '/share/libpq/timezonesets/');
|
|
|
|
CopyFiles(
|
|
|
|
'timezone sets',
|
|
|
|
- $target . '/share/timezonesets/',
|
|
|
|
+ $target . '/share/libpq/timezonesets/',
|
|
|
|
'src/timezone/tznames/', 'Default', 'Australia', 'India');
|
|
|
|
CopySetOfFiles(
|
|
|
|
'BKI files',
|
|
|
|
[ glob("src\\backend\\catalog\\postgres.*") ],
|
|
|
|
- $target . '/share/');
|
|
|
|
+ $target . '/share/libpq/');
|
|
|
|
CopySetOfFiles(
|
|
|
|
'SQL files',
|
|
|
|
[ glob("src\\backend\\catalog\\*.sql") ],
|
|
|
|
- $target . '/share/');
|
|
|
|
+ $target . '/share/libpq/');
|
|
|
|
CopyFiles(
|
|
|
|
- 'Information schema data', $target . '/share/',
|
|
|
|
+ 'Information schema data', $target . '/share/libpq/',
|
|
|
|
'src/backend/catalog/', 'sql_features.txt');
|
|
|
|
CopyFiles(
|
|
|
|
- 'Error code data', $target . '/share/',
|
|
|
|
+ 'Error code data', $target . '/share/libpq/',
|
|
|
|
'src/backend/utils/', 'errcodes.txt');
|
|
|
|
GenerateTimezoneFiles($target, $conf);
|
|
|
|
GenerateTsearchFiles($target);
|
|
|
|
CopySetOfFiles(
|
|
|
|
'Stopword files',
|
|
|
|
[ glob("src\\backend\\snowball\\stopwords\\*.stop") ],
|
|
|
|
- $target . '/share/tsearch_data/');
|
|
|
|
+ $target . '/share/libpq/tsearch_data/');
|
|
|
|
CopySetOfFiles(
|
|
|
|
'Dictionaries sample files',
|
|
|
|
[ glob("src\\backend\\tsearch\\dicts\\*_sample*") ],
|
|
|
|
- $target . '/share/tsearch_data/');
|
|
|
|
+ $target . '/share/libpq/tsearch_data/');
|
|
|
|
|
|
|
|
my $pl_extension_files = [];
|
|
|
|
my @pldirs = ('src/pl/plpgsql/src');
|
2021-12-15 02:59:38 +08:00
|
|
|
@@ -175,7 +175,7 @@ sub Install
|
2020-01-14 07:43:36 +08:00
|
|
|
},
|
|
|
|
@pldirs);
|
|
|
|
CopySetOfFiles('PL Extension files',
|
|
|
|
- $pl_extension_files, $target . '/share/extension/');
|
|
|
|
+ $pl_extension_files, $target . '/share/libpq/extension/');
|
|
|
|
}
|
|
|
|
|
|
|
|
GenerateNLSFiles($target, $config->{nls}, $majorver) if ($config->{nls});
|
2021-12-15 02:59:38 +08:00
|
|
|
@@ -290,23 +290,26 @@ sub CopySolutionOutput
|
2020-01-14 07:43:36 +08:00
|
|
|
{
|
|
|
|
if ($1 == 1)
|
|
|
|
{
|
|
|
|
- push(@{ $install_list{'bin'} }, "exe");
|
|
|
|
+ push(@{ $install_list{'tools\\libpq'} }, "exe");
|
|
|
|
}
|
|
|
|
elsif ($1 == 2)
|
|
|
|
{
|
|
|
|
- push(@{ $install_list{'lib'} }, "dll");
|
|
|
|
+ push(@{ $install_list{'bin'} }, "dll");
|
|
|
|
if ($is_sharedlib)
|
|
|
|
{
|
|
|
|
push(@{ $install_list{'bin'} }, "dll");
|
|
|
|
push(@{ $install_list{'lib'} }, "lib");
|
|
|
|
}
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ push(@{ $install_list{'lib'} }, "lib");
|
|
|
|
+ }
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
-
|
|
|
|
+ push(@{ $install_list{'lib'} }, "lib");
|
|
|
|
# Static libraries, such as libpgport, only used internally
|
|
|
|
# during build, don't install.
|
|
|
|
- next;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
elsif ($vcproj eq 'vcxproj'
|
2021-12-15 02:59:38 +08:00
|
|
|
@@ -317,11 +317,11 @@ sub CopySolutionOutput
|
2020-01-14 07:43:36 +08:00
|
|
|
{
|
|
|
|
if ($1 eq 'Application')
|
|
|
|
{
|
|
|
|
- push(@{ $install_list{'bin'} }, "exe");
|
|
|
|
+ push(@{ $install_list{'tools\\libpq'} }, "exe");
|
|
|
|
}
|
|
|
|
elsif ($1 eq 'DynamicLibrary')
|
|
|
|
{
|
|
|
|
- push(@{ $install_list{'lib'} }, "dll");
|
|
|
|
+ push(@{ $install_list{'bin'} }, "dll");
|
|
|
|
if ($is_sharedlib)
|
|
|
|
{
|
|
|
|
push(@{ $install_list{'bin'} }, "dll");
|
2021-12-15 02:59:38 +08:00
|
|
|
@@ -327,10 +330,9 @@ sub CopySolutionOutput
|
2020-01-14 07:43:36 +08:00
|
|
|
}
|
|
|
|
else # 'StaticLibrary'
|
|
|
|
{
|
|
|
|
-
|
|
|
|
+ push(@{ $install_list{'lib'} }, "lib");
|
|
|
|
# Static lib, such as libpgport, only used internally
|
|
|
|
# during build, don't install.
|
|
|
|
- next;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
2021-12-15 02:59:38 +08:00
|
|
|
@@ -349,7 +349,7 @@ sub CopySolutionOutput
|
2020-01-14 07:43:36 +08:00
|
|
|
|| croak "Could not copy $pf.$ext\n";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
- lcopy("$conf\\$pf\\$pf.pdb", "$target\\symbols\\$pf.pdb")
|
|
|
|
+ lcopy("$conf\\$pf\\$pf.pdb", "$target\\bin\\$pf.pdb")
|
|
|
|
|| croak "Could not copy $pf.pdb\n";
|
|
|
|
print ".";
|
|
|
|
}
|
|
|
|
@@ -366,7 +366,7 @@ sub GenerateTimezoneFiles
|
|
|
|
print "Generating timezone files...";
|
|
|
|
|
|
|
|
my @args =
|
2021-12-15 02:59:38 +08:00
|
|
|
- ("$conf/zic/zic", '-d', "$target/share/timezone",
|
|
|
|
+ ("$conf/zic/zic", '-d', "$target/share/libpq/timezone",
|
|
|
|
'-p', "$posixrules", '-b', 'fat');
|
2020-01-14 07:43:36 +08:00
|
|
|
foreach (@tzfiles)
|
|
|
|
{
|
|
|
|
@@ -391,7 +391,7 @@ sub GenerateTsearchFiles
|
|
|
|
$mf =~ /^LANGUAGES\s*=\s*(.*)$/m
|
|
|
|
|| die "Could not find LANGUAGES line in snowball Makefile\n";
|
|
|
|
my @pieces = split /\s+/, $1;
|
|
|
|
- open($F, '>', "$target/share/snowball_create.sql")
|
|
|
|
+ open($F, '>', "$target/share/libpq/snowball_create.sql")
|
|
|
|
|| die "Could not write snowball_create.sql";
|
|
|
|
print $F read_file('src/backend/snowball/snowball_func.sql.in');
|
|
|
|
|
|
|
|
@@ -476,7 +476,7 @@ sub CopySubdirFiles
|
|
|
|
foreach my $f (split /\s+/, $flist)
|
|
|
|
{
|
|
|
|
lcopy("$subdir/$module/$f.control",
|
|
|
|
- "$target/share/extension/$f.control")
|
|
|
|
+ "$target/share/libpq/extension/$f.control")
|
|
|
|
|| croak("Could not copy file $f.control in contrib $module");
|
|
|
|
print '.';
|
|
|
|
}
|
|
|
|
@@ -494,7 +494,7 @@ sub CopySubdirFiles
|
|
|
|
foreach my $f (split /\s+/, $flist)
|
|
|
|
{
|
|
|
|
lcopy("$subdir/$module/$f",
|
|
|
|
- "$target/share/$moduledir/" . basename($f))
|
|
|
|
+ "$target/share/libpq/$moduledir/" . basename($f))
|
|
|
|
|| croak("Could not copy file $f in contrib $module");
|
|
|
|
print '.';
|
|
|
|
}
|
|
|
|
@@ -509,7 +509,7 @@ sub CopySubdirFiles
|
|
|
|
foreach my $f (split /\s+/, $flist)
|
|
|
|
{
|
|
|
|
lcopy("$subdir/$module/$f",
|
|
|
|
- "$target/share/tsearch_data/" . basename($f))
|
|
|
|
+ "$target/share/libpq/tsearch_data/" . basename($f))
|
|
|
|
|| croak("Could not copy file $f in $subdir $module");
|
|
|
|
print '.';
|
|
|
|
}
|
|
|
|
@@ -572,7 +572,7 @@ sub CopySubdirFiles
|
|
|
|
if ($module eq 'spi');
|
|
|
|
foreach my $f (split /\s+/, $flist)
|
|
|
|
{
|
|
|
|
- lcopy("$subdir/$module/$f", "$target/doc/$moduledir/$f")
|
|
|
|
+ lcopy("$subdir/$module/$f", "$target/doc/libpq/$moduledir/$f")
|
|
|
|
|| croak("Could not copy file $f in contrib $module");
|
|
|
|
print '.';
|
|
|
|
}
|
|
|
|
@@ -701,7 +701,7 @@ sub GenerateNLSFiles
|
|
|
|
my $majorver = shift;
|
|
|
|
|
|
|
|
print "Installing NLS files...";
|
|
|
|
- EnsureDirectories($target, "share/locale");
|
|
|
|
+ EnsureDirectories($target, "share/libpq/locale");
|
|
|
|
my @flist;
|
|
|
|
File::Find::find(
|
|
|
|
{
|
|
|
|
@@ -723,12 +723,12 @@ sub GenerateNLSFiles
|
|
|
|
next unless /([^\/]+)\.po/;
|
|
|
|
$lang = $1;
|
|
|
|
|
|
|
|
- EnsureDirectories($target, "share/locale/$lang",
|
|
|
|
- "share/locale/$lang/LC_MESSAGES");
|
|
|
|
+ EnsureDirectories($target, "share/libpq/locale/$lang",
|
|
|
|
+ "share/libpq/locale/$lang/LC_MESSAGES");
|
|
|
|
my @args = (
|
|
|
|
"$nlspath\\bin\\msgfmt",
|
|
|
|
'-o',
|
|
|
|
- "$target\\share\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo",
|
|
|
|
+ "$target\\share\\libpq\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo",
|
|
|
|
$_);
|
|
|
|
system(@args) && croak("Could not run msgfmt on $dir\\$_");
|
|
|
|
print ".";
|