Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5e37b4c

Browse files
committed
Install contrib sql and readme files
1 parentecfb932 commit5e37b4c

File tree

1 file changed

+82
-2
lines changed

1 file changed

+82
-2
lines changed

‎src/tools/msvc/Install.pm

Lines changed: 82 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
packageInstall;
2+
23
#
34
# Package that provides 'make install' functionality for msvc builds
45
#
5-
# $PostgreSQL: pgsql/src/tools/msvc/Install.pm,v 1.2 2007/03/17 14:01:01 mha Exp $
6+
# $PostgreSQL: pgsql/src/tools/msvc/Install.pm,v 1.3 2007/03/24 15:28:48 mha Exp $
67
#
78
use strict;
89
use warnings;
@@ -34,7 +35,8 @@ sub Install
3435
die"Could not find debug or release binaries"if ($confeq"");
3536
print"Installing for$conf\n";
3637

37-
EnsureDirectories($target,'bin','lib','share','share/timezonesets');
38+
EnsureDirectories($target,'bin','lib','share','share/timezonesets','share/contrib','doc',
39+
'doc/contrib');
3840

3941
CopySolutionOutput($conf,$target);
4042
copy($target .'/lib/libpq.dll',$target .'/bin/libpq.dll');
@@ -54,6 +56,7 @@ sub Install
5456
);
5557
GenerateConversionScript($target);
5658
GenerateTimezoneFiles($target,$conf);
59+
CopyContribFiles($target);
5760
}
5861

5962
subEnsureDirectories
@@ -194,6 +197,83 @@ sub GenerateTimezoneFiles
194197
print"\n";
195198
}
196199

200+
subCopyContribFiles
201+
{
202+
my$target =shift;
203+
204+
print"Copying contrib data files...";
205+
my$D;
206+
opendir($D,'contrib') || croak"Could not opendir on contrib!\n";
207+
while (my$d =readdir($D))
208+
{
209+
nextif ($d =~/^\./);
210+
nextunless (-f"contrib/$d/Makefile");
211+
212+
my$mf = read_file("contrib/$d/Makefile");
213+
$mf =~s{\\s*[\r\n]+}{}mg;
214+
my$flist ='';
215+
if ($mf =~/^DATA_built\s*=\s*(.*)$/m) {$flist .=$1}
216+
if ($mf =~/^DATA\s*=\s*(.*)$/m) {$flist .="$1"}
217+
$flist =~s/^\s*//;# Remove leading spaces if we had only DATA_built
218+
219+
if ($flistne'')
220+
{
221+
$flist = ParseAndCleanRule($flist,$mf);
222+
223+
# Special case for contrib/spi
224+
$flist ="autoinc.sql insert_username.sql moddatetime.sql refint.sql timetravel.sql"
225+
if ($deq'spi');
226+
foreachmy$f (split /\s+/,$flist)
227+
{
228+
copy('contrib/' .$d .'/' .$f,$target .'/share/contrib/' . basename($f))
229+
|| croak("Could not copy file$f in contrib$d");
230+
print'.';
231+
}
232+
}
233+
234+
$flist ='';
235+
if ($mf =~/^DOCS\s*=\s*(.*)$/mg) {$flist .=$1}
236+
if ($flistne'')
237+
{
238+
$flist = ParseAndCleanRule($flist,$mf);
239+
240+
# Special case for contrib/spi
241+
$flist =
242+
"README.spi autoinc.example insert_username.example moddatetime.example refint.example timetravel.example"
243+
if ($deq'spi');
244+
foreachmy$f (split /\s+/,$flist)
245+
{
246+
copy('contrib/' .$d .'/' .$f,$target .'/doc/contrib/' .$f)
247+
|| croak("Coud not copy file$f in contrib$d");
248+
print'.';
249+
}
250+
}
251+
}
252+
closedir($D);
253+
print"\n";
254+
}
255+
256+
subParseAndCleanRule
257+
{
258+
my$flist =shift;
259+
my$mf =shift;
260+
261+
# Strip out $(addsuffix) rules
262+
if (index($flist,'$(addsuffix') >= 0)
263+
{
264+
my$pcount = 0;
265+
my$i;
266+
for ($i =index($flist,'$(addsuffix') + 12;$i <length($flist);$i++)
267+
{
268+
$pcount++if (substr($flist,$i, 1)eq'(');
269+
$pcount--if (substr($flist,$i, 1)eq')');
270+
lastif ($pcount < 0);
271+
}
272+
$flist =substr($flist, 0,index($flist,'$(addsuffix')) .substr($flist,$i+1);
273+
}
274+
return$flist;
275+
}
276+
197277
subread_file
198278
{
199279
my$filename =shift;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp