Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
5e37b4cb
G
Gpdb
项目概览
Greenplum
/
Gpdb
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Gpdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
5e37b4cb
编写于
3月 24, 2007
作者:
M
Magnus Hagander
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Install contrib sql and readme files
上级
ecfb932a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
82 addition
and
2 deletion
+82
-2
src/tools/msvc/Install.pm
src/tools/msvc/Install.pm
+82
-2
未找到文件。
src/tools/msvc/Install.pm
浏览文件 @
5e37b4cb
package
Install
;
#
# Package that provides 'make install' functionality for msvc builds
#
# $PostgreSQL: pgsql/src/tools/msvc/Install.pm,v 1.
2 2007/03/17 14:01:01
mha Exp $
# $PostgreSQL: pgsql/src/tools/msvc/Install.pm,v 1.
3 2007/03/24 15:28:48
mha Exp $
#
use
strict
;
use
warnings
;
...
...
@@ -34,7 +35,8 @@ sub Install
die
"
Could not find debug or release binaries
"
if
(
$conf
eq
"");
print
"
Installing for
$conf
\n
";
EnsureDirectories
(
$target
,
'
bin
','
lib
','
share
','
share/timezonesets
');
EnsureDirectories
(
$target
,
'
bin
','
lib
','
share
','
share/timezonesets
','
share/contrib
','
doc
',
'
doc/contrib
');
CopySolutionOutput
(
$conf
,
$target
);
copy
(
$target
.
'
/lib/libpq.dll
',
$target
.
'
/bin/libpq.dll
');
...
...
@@ -54,6 +56,7 @@ sub Install
);
GenerateConversionScript
(
$target
);
GenerateTimezoneFiles
(
$target
,
$conf
);
CopyContribFiles
(
$target
);
}
sub
EnsureDirectories
...
...
@@ -194,6 +197,83 @@ sub GenerateTimezoneFiles
print
"
\n
";
}
sub
CopyContribFiles
{
my
$target
=
shift
;
print
"
Copying contrib data files...
";
my
$D
;
opendir
(
$D
,
'
contrib
')
||
croak
"
Could not opendir on contrib!
\n
";
while
(
my
$d
=
readdir
(
$D
))
{
next
if
(
$d
=~
/^\./
);
next
unless
(
-
f
"
contrib/
$d
/Makefile
");
my
$mf
=
read_file
("
contrib/
$d
/Makefile
");
$mf
=~
s{\\s*[\r\n]+}{}mg
;
my
$flist
=
'';
if
(
$mf
=~
/^DATA_built\s*=\s*(.*)$/m
)
{
$flist
.=
$
1
}
if
(
$mf
=~
/^DATA\s*=\s*(.*)$/m
)
{
$flist
.=
"
$1
"}
$flist
=~
s/^\s*//
;
# Remove leading spaces if we had only DATA_built
if
(
$flist
ne
'')
{
$flist
=
ParseAndCleanRule
(
$flist
,
$mf
);
# Special case for contrib/spi
$flist
=
"
autoinc.sql insert_username.sql moddatetime.sql refint.sql timetravel.sql
"
if
(
$d
eq
'
spi
');
foreach
my
$f
(
split
/\s+/
,
$flist
)
{
copy
('
contrib/
'
.
$d
.
'
/
'
.
$f
,
$target
.
'
/share/contrib/
'
.
basename
(
$f
))
||
croak
("
Could not copy file
$f
in contrib
$d
");
print
'
.
';
}
}
$flist
=
'';
if
(
$mf
=~
/^DOCS\s*=\s*(.*)$/mg
)
{
$flist
.=
$
1
}
if
(
$flist
ne
'')
{
$flist
=
ParseAndCleanRule
(
$flist
,
$mf
);
# Special case for contrib/spi
$flist
=
"
README.spi autoinc.example insert_username.example moddatetime.example refint.example timetravel.example
"
if
(
$d
eq
'
spi
');
foreach
my
$f
(
split
/\s+/
,
$flist
)
{
copy
('
contrib/
'
.
$d
.
'
/
'
.
$f
,
$target
.
'
/doc/contrib/
'
.
$f
)
||
croak
("
Coud not copy file
$f
in contrib
$d
");
print
'
.
';
}
}
}
closedir
(
$D
);
print
"
\n
";
}
sub
ParseAndCleanRule
{
my
$flist
=
shift
;
my
$mf
=
shift
;
# Strip out $(addsuffix) rules
if
(
index
(
$flist
,
'
$(addsuffix
')
>=
0
)
{
my
$pcount
=
0
;
my
$i
;
for
(
$i
=
index
(
$flist
,
'
$(addsuffix
')
+
12
;
$i
<
length
(
$flist
);
$i
++
)
{
$pcount
++
if
(
substr
(
$flist
,
$i
,
1
)
eq
'
(
');
$pcount
--
if
(
substr
(
$flist
,
$i
,
1
)
eq
'
)
');
last
if
(
$pcount
<
0
);
}
$flist
=
substr
(
$flist
,
0
,
index
(
$flist
,
'
$(addsuffix
'))
.
substr
(
$flist
,
$i
+
1
);
}
return
$flist
;
}
sub
read_file
{
my
$filename
=
shift
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录