Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
a7e5f7bf
Commit
a7e5f7bf
authored
Jan 26, 2014
by
Andrew Dunstan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Provide for client-only installs with MSVC.
MauMau.
parent
790eaa69
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
97 additions
and
57 deletions
+97
-57
doc/src/sgml/install-windows.sgml
doc/src/sgml/install-windows.sgml
+8
-0
src/tools/msvc/Install.pm
src/tools/msvc/Install.pm
+82
-52
src/tools/msvc/install.bat
src/tools/msvc/install.bat
+1
-1
src/tools/msvc/install.pl
src/tools/msvc/install.pl
+4
-2
src/tools/msvc/vcregress.pl
src/tools/msvc/vcregress.pl
+2
-2
No files found.
doc/src/sgml/install-windows.sgml
View file @
a7e5f7bf
...
@@ -408,6 +408,14 @@ $ENV{CONFIG}="Debug";
...
@@ -408,6 +408,14 @@ $ENV{CONFIG}="Debug";
required to initialize and use the database, run the command:
required to initialize and use the database, run the command:
<screen>
<screen>
<userinput>install c:\destination\directory</userinput>
<userinput>install c:\destination\directory</userinput>
</screen>
</para>
<para>
If you want to install only the client applications and
interface libraries, then you can use these commands:
<screen>
<userinput>install c:\destination\directory client</userinput>
</screen>
</screen>
</para>
</para>
</sect2>
</sect2>
...
...
src/tools/msvc/Install.pm
View file @
a7e5f7bf
...
@@ -17,6 +17,16 @@ our (@ISA, @EXPORT_OK);
...
@@ -17,6 +17,16 @@ our (@ISA, @EXPORT_OK);
@ISA
=
qw(Exporter)
;
@ISA
=
qw(Exporter)
;
@EXPORT_OK
=
qw(Install)
;
@EXPORT_OK
=
qw(Install)
;
my
$insttype
;
my
@client_contribs
=
('
oid2name
',
'
pgbench
',
'
vacuumlo
');
my
@client_program_files
=
(
'
clusterdb
',
'
createdb
',
'
createlang
',
'
createuser
',
'
dropdb
',
'
droplang
',
'
dropuser
',
'
ecpg
',
'
libecpg
',
'
libecpg_compat
',
'
libpgtypes
',
'
libpq
',
'
pg_basebackup
',
'
pg_config
',
'
pg_dump
',
'
pg_dumpall
',
'
pg_isready
',
'
pg_receivexlog
',
'
pg_restore
',
'
psql
',
'
reindexdb
',
'
vacuumdb
',
@client_contribs
);
sub
lcopy
sub
lcopy
{
{
my
$src
=
shift
;
my
$src
=
shift
;
...
@@ -37,6 +47,8 @@ sub Install
...
@@ -37,6 +47,8 @@ sub Install
$|
=
1
;
$|
=
1
;
my
$target
=
shift
;
my
$target
=
shift
;
$insttype
=
shift
;
$insttype
=
"
all
"
unless
(
$insttype
);
# if called from vcregress, the config will be passed to us
# if called from vcregress, the config will be passed to us
# so no need to re-include these
# so no need to re-include these
...
@@ -65,24 +77,31 @@ sub Install
...
@@ -65,24 +77,31 @@ sub Install
my
$majorver
=
DetermineMajorVersion
();
my
$majorver
=
DetermineMajorVersion
();
print
"
Installing version
$majorver
for
$conf
in
$target
\n
";
print
"
Installing version
$majorver
for
$conf
in
$target
\n
";
EnsureDirectories
(
my
@client_dirs
=
('
bin
',
'
lib
',
'
share
',
'
symbols
');
$target
,
'
bin
',
my
@all_dirs
=
(
'
lib
',
'
share
',
@client_dirs
,
'
doc
',
'
doc/contrib
',
'
doc/extension
',
'
share/contrib
',
'
share/timezonesets
',
'
share/extension
',
'
share/extension
',
'
share/timezonesets
',
'
share/tsearch_data
');
'
share/contrib
',
'
doc
',
if
(
$insttype
eq
"
client
")
'
doc/extension
',
'
doc/contrib
',
{
'
symbols
',
'
share/tsearch_data
');
EnsureDirectories
(
$target
,
@client_dirs
);
}
else
{
EnsureDirectories
(
$target
,
@all_dirs
);
}
CopySolutionOutput
(
$conf
,
$target
);
CopySolutionOutput
(
$conf
,
$target
);
lcopy
(
$target
.
'
/lib/libpq.dll
',
$target
.
'
/bin/libpq.dll
');
lcopy
(
$target
.
'
/lib/libpq.dll
',
$target
.
'
/bin/libpq.dll
');
my
$sample_files
=
[]
;
my
$sample_files
=
[]
;
my
@top_dir
=
("
src
");
@top_dir
=
("
src
\\
bin
",
"
src
\\
interfaces
")
if
(
$insttype
eq
"
client
");
File::Find::
find
(
File::Find::
find
(
{
wanted
=>
sub
{
{
wanted
=>
sub
{
/^.*\.sample\z/s
/^.*\.sample\z/s
&&
push
(
@$sample_files
,
$
File::Find::
name
);
&&
push
(
@$sample_files
,
$
File::Find::
name
);
}
}
},
},
"
src
"
);
@top_dir
);
CopySetOfFiles
('
config files
',
$sample_files
,
$target
.
'
/share/
');
CopySetOfFiles
('
config files
',
$sample_files
,
$target
.
'
/share/
');
CopyFiles
(
CopyFiles
(
'
Import libraries
',
'
Import libraries
',
...
@@ -95,53 +114,57 @@ sub Install
...
@@ -95,53 +114,57 @@ sub Install
"
libpgport
\\
libpgport.lib
",
"
libpgport
\\
libpgport.lib
",
"
libpgtypes
\\
libpgtypes.lib
",
"
libpgtypes
\\
libpgtypes.lib
",
"
libecpg_compat
\\
libecpg_compat.lib
");
"
libecpg_compat
\\
libecpg_compat.lib
");
CopySetOfFiles
(
'
timezone names
',
[
glob
('
src
\
timezone
\
tznames
\
*.txt
')
],
$target
.
'
/share/timezonesets/
');
CopyFiles
(
'
timezone sets
',
$target
.
'
/share/timezonesets/
',
'
src/timezone/tznames/
',
'
Default
',
'
Australia
',
'
India
');
CopySetOfFiles
(
'
BKI files
',
[
glob
("
src
\\
backend
\\
catalog
\\
postgres.*
")
],
$target
.
'
/share/
');
CopySetOfFiles
(
'
SQL files
',
[
glob
("
src
\\
backend
\\
catalog
\\
*.sql
")
],
$target
.
'
/share/
');
CopyFiles
(
'
Information schema data
',
$target
.
'
/share/
',
'
src/backend/catalog/
',
'
sql_features.txt
');
GenerateConversionScript
(
$target
);
GenerateTimezoneFiles
(
$target
,
$conf
);
GenerateTsearchFiles
(
$target
);
CopySetOfFiles
(
'
Stopword files
',
[
glob
("
src
\\
backend
\\
snowball
\\
stopwords
\\
*.stop
")
],
$target
.
'
/share/tsearch_data/
');
CopySetOfFiles
(
'
Dictionaries sample files
',
[
glob
("
src
\\
backend
\\
tsearch
\\
*_sample.*
")
],
$target
.
'
/share/tsearch_data/
');
CopyContribFiles
(
$config
,
$target
);
CopyContribFiles
(
$config
,
$target
);
CopyIncludeFiles
(
$target
);
CopyIncludeFiles
(
$target
);
my
$pl_extension_files
=
[]
;
if
(
$insttype
ne
"
client
")
my
@pldirs
=
('
src/pl/plpgsql/src
');
{
push
@pldirs
,
"
src/pl/plperl
"
if
$config
->
{
perl
};
CopySetOfFiles
(
push
@pldirs
,
"
src/pl/plpython
"
if
$config
->
{
python
};
'
timezone names
',
push
@pldirs
,
"
src/pl/tcl
"
if
$config
->
{
tcl
};
[
glob
('
src
\
timezone
\
tznames
\
*.txt
')
],
File::Find::
find
(
$target
.
'
/share/timezonesets/
');
{
wanted
=>
sub
{
CopyFiles
(
/^(.*--.*\.sql|.*\.control)\z/s
'
timezone sets
',
&&
push
(
@$pl_extension_files
,
$
File::Find::
name
);
$target
.
'
/share/timezonesets/
',
}
'
src/timezone/tznames/
',
'
Default
',
'
Australia
',
'
India
');
},
CopySetOfFiles
(
@pldirs
);
'
BKI files
',
CopySetOfFiles
('
PL Extension files
',
[
glob
("
src
\\
backend
\\
catalog
\\
postgres.*
")
],
$pl_extension_files
,
$target
.
'
/share/extension/
');
$target
.
'
/share/
');
CopySetOfFiles
(
'
SQL files
',
[
glob
("
src
\\
backend
\\
catalog
\\
*.sql
")
],
$target
.
'
/share/
');
CopyFiles
(
'
Information schema data
',
$target
.
'
/share/
',
'
src/backend/catalog/
',
'
sql_features.txt
');
GenerateConversionScript
(
$target
);
GenerateTimezoneFiles
(
$target
,
$conf
);
GenerateTsearchFiles
(
$target
);
CopySetOfFiles
(
'
Stopword files
',
[
glob
("
src
\\
backend
\\
snowball
\\
stopwords
\\
*.stop
")
],
$target
.
'
/share/tsearch_data/
');
CopySetOfFiles
(
'
Dictionaries sample files
',
[
glob
("
src
\\
backend
\\
tsearch
\\
*_sample.*
")
],
$target
.
'
/share/tsearch_data/
');
my
$pl_extension_files
=
[]
;
my
@pldirs
=
('
src/pl/plpgsql/src
');
push
@pldirs
,
"
src/pl/plperl
"
if
$config
->
{
perl
};
push
@pldirs
,
"
src/pl/plpython
"
if
$config
->
{
python
};
push
@pldirs
,
"
src/pl/tcl
"
if
$config
->
{
tcl
};
File::Find::
find
(
{
wanted
=>
sub
{
/^(.*--.*\.sql|.*\.control)\z/s
&&
push
(
@$pl_extension_files
,
$
File::Find::
name
);
}
},
@pldirs
);
CopySetOfFiles
('
PL Extension files
',
$pl_extension_files
,
$target
.
'
/share/extension/
');
}
GenerateNLSFiles
(
$target
,
$config
->
{
nls
},
$majorver
)
if
(
$config
->
{
nls
});
GenerateNLSFiles
(
$target
,
$config
->
{
nls
},
$majorver
)
if
(
$config
->
{
nls
});
...
@@ -218,6 +241,10 @@ sub CopySolutionOutput
...
@@ -218,6 +241,10 @@ sub CopySolutionOutput
$sln
=~
s/$rem//
;
$sln
=~
s/$rem//
;
next
if
(
$insttype
eq
"
client
"
&&
!
grep
{
$_
eq
$pf
}
@client_program_files
);
my
$proj
=
read_file
("
$pf
.
$vcproj
")
my
$proj
=
read_file
("
$pf
.
$vcproj
")
||
croak
"
Could not open
$pf
.
$vcproj
\n
";
||
croak
"
Could not open
$pf
.
$vcproj
\n
";
if
(
$vcproj
eq
'
vcproj
'
&&
$proj
=~
qr{ConfigurationType="([^"]+)"}
)
if
(
$vcproj
eq
'
vcproj
'
&&
$proj
=~
qr{ConfigurationType="([^"]+)"}
)
...
@@ -378,6 +405,9 @@ sub CopyContribFiles
...
@@ -378,6 +405,9 @@ sub CopyContribFiles
{
{
next if (
$d
=~ /^
\
./);
next if (
$d
=~ /^
\
./);
next unless (-f
"
contrib
/$d/
Makefile
"
);
next unless (-f
"
contrib
/$d/
Makefile
"
);
next
if (
$insttype
eq
"
client
"
&& !grep {
$_
eq
$d
}
@client_contribs
);
next if (
$d
eq
"
uuid
-
ossp
"
&& !defined(
$config
->{uuid}));
next if (
$d
eq
"
uuid
-
ossp
"
&& !defined(
$config
->{uuid}));
next if (
$d
eq
"
sslinfo
"
&& !defined(
$config
->{openssl}));
next if (
$d
eq
"
sslinfo
"
&& !defined(
$config
->{openssl}));
next if (
$d
eq
"
xml2
"
&& !defined(
$config
->{xml}));
next if (
$d
eq
"
xml2
"
&& !defined(
$config
->{xml}));
...
...
src/tools/msvc/install.bat
View file @
a7e5f7bf
...
@@ -20,7 +20,7 @@ CALL bldenv.bat
...
@@ -20,7 +20,7 @@ CALL bldenv.bat
del
bldenv
.bat
del
bldenv
.bat
:nobuildenv
:nobuildenv
perl
install
.pl
"
%
1"
perl
install
.pl
"
%
1"
%
2
REM exit fix for pre-2003 shell especially if used on buildfarm
REM exit fix for pre-2003 shell especially if used on buildfarm
if
"
%XP_EXIT_FIX%
"
==
"yes"
exit
%ERRORLEVEL%
if
"
%XP_EXIT_FIX%
"
==
"yes"
exit
%ERRORLEVEL%
...
...
src/tools/msvc/install.pl
View file @
a7e5f7bf
...
@@ -9,10 +9,12 @@ use warnings;
...
@@ -9,10 +9,12 @@ use warnings;
use
Install
qw(Install)
;
use
Install
qw(Install)
;
my
$target
=
shift
||
Usage
();
my
$target
=
shift
||
Usage
();
Install
(
$target
);
my
$insttype
=
shift
;
Install
(
$target
,
$insttype
);
sub
Usage
sub
Usage
{
{
print
"
Usage: install.pl <targetdir>
\n
";
print
"
Usage: install.pl <targetdir> [installtype]
\n
";
print
"
installtype: client
\n
";
exit
(
1
);
exit
(
1
);
}
}
src/tools/msvc/vcregress.pl
View file @
a7e5f7bf
...
@@ -150,7 +150,7 @@ sub isolationcheck
...
@@ -150,7 +150,7 @@ sub isolationcheck
{
{
chdir
"
../isolation
";
chdir
"
../isolation
";
copy
("
../../../
$Config
/isolationtester/isolationtester.exe
",
copy
("
../../../
$Config
/isolationtester/isolationtester.exe
",
"
../../../
$Config
/pg_isolation_regress
");
"
../../../
$Config
/pg_isolation_regress
");
my
@args
=
(
my
@args
=
(
"
../../../
$Config
/pg_isolation_regress/pg_isolation_regress
",
"
../../../
$Config
/pg_isolation_regress/pg_isolation_regress
",
"
--psqldir=../../../
$Config
/psql
",
"
--psqldir=../../../
$Config
/psql
",
...
@@ -252,7 +252,7 @@ sub upgradecheck
...
@@ -252,7 +252,7 @@ sub upgradecheck
(
mkdir
$tmp_root
||
die
$!
)
unless
-
d
$tmp_root
;
(
mkdir
$tmp_root
||
die
$!
)
unless
-
d
$tmp_root
;
my
$tmp_install
=
"
$tmp_root
/install
";
my
$tmp_install
=
"
$tmp_root
/install
";
print
"
Setting up temp install
\n\n
";
print
"
Setting up temp install
\n\n
";
Install
(
$tmp_install
,
$config
);
Install
(
$tmp_install
,
"
all
",
$config
);
# Install does a chdir, so change back after that
# Install does a chdir, so change back after that
chdir
$cwd
;
chdir
$cwd
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment