1
0
mirror of https://github.com/postgrespro/pg_probackup.git synced 2025-02-12 14:56:08 +02:00

Merge commit '3500323c8784af1f04d8ef1acf7d020e6188e7a4' into PGPRO11_DEV

This commit is contained in:
Victor Wagner 2018-11-13 15:04:34 +03:00
commit cc6e2f83bf

View File

@ -1,10 +1,15 @@
# -*-perl-*- hey - emacs - this is a perl file # -*-perl-*- hey - emacs - this is a perl file
BEGIN{ # my $currpath = cwd();
our $pgsrc;
our $currpath;
BEGIN {
# path to the pg_pprobackup dir
$currpath = File::Basename::dirname(Cwd::abs_path($0));
use Cwd; use Cwd;
use File::Basename; use File::Basename;
if (($#ARGV+1)==1)
my $pgsrc="";
if (@ARGV==1)
{ {
$pgsrc = shift @ARGV; $pgsrc = shift @ARGV;
if($pgsrc eq "--help"){ if($pgsrc eq "--help"){
@ -23,14 +28,13 @@ else
chdir($path); chdir($path);
chdir("../.."); chdir("../..");
$pgsrc = cwd(); $pgsrc = cwd();
$currpath = "contrib/pg_probackup";
} }
chdir("$pgsrc/src/tools/msvc"); chdir("$pgsrc/src/tools/msvc");
push(@INC, "$pgsrc/src/tools/msvc"); push(@INC, "$pgsrc/src/tools/msvc");
chdir("../../..") if (-d "../msvc" && -d "../../../src"); chdir("../../..") if (-d "../msvc" && -d "../../../src");
} }
use Win32; use Win32;
use Carp; use Carp;
use strict; use strict;
@ -84,22 +88,27 @@ my $vcver = build_pgprobackup($config);
my $bconf = $ENV{CONFIG} || "Release"; my $bconf = $ENV{CONFIG} || "Release";
my $msbflags = $ENV{MSBFLAGS} || ""; my $msbflags = $ENV{MSBFLAGS} || "";
my $buildwhat = $ARGV[1] || ""; my $buildwhat = $ARGV[1] || "";
if (uc($ARGV[0]) eq 'DEBUG')
{
$bconf = "Debug";
}
elsif (uc($ARGV[0]) ne "RELEASE")
{
$buildwhat = $ARGV[0] || "";
}
# if (uc($ARGV[0]) eq 'DEBUG')
# {
# $bconf = "Debug";
# }
# elsif (uc($ARGV[0]) ne "RELEASE")
# {
# $buildwhat = $ARGV[0] || "";
# }
# printf "currpath=$currpath";
# exit(0);
# ... and do it # ... and do it
system("msbuild pg_probackup.vcxproj /verbosity:normal $msbflags /p:Configuration=$bconf" ); system("msbuild pg_probackup.vcxproj /verbosity:normal $msbflags /p:Configuration=$bconf" );
# report status # report status
my $status = $? >> 8; my $status = $? >> 8;
printf("Status: $status\n");
printf("Output file built in the folder $pgsrc/$bconf/pg_probackup\n");
exit $status; exit $status;
@ -126,10 +135,10 @@ sub build_pgprobackup
#vvs test #vvs test
my $probackup = my $probackup =
$solution->AddProject('pg_probackup', 'exe', 'pg_probackup'); #, 'contrib/pg_probackup' $solution->AddProject("pg_probackup", 'exe', "pg_probackup"); #, 'contrib/pg_probackup'
$probackup->AddDefine('FRONTEND'); $probackup->AddDefine('FRONTEND');
$probackup->AddFiles( $probackup->AddFiles(
'contrib/pg_probackup/src', "$currpath/src",
'archive.c', 'archive.c',
'backup.c', 'backup.c',
'catalog.c', 'catalog.c',
@ -149,39 +158,39 @@ sub build_pgprobackup
'validate.c' 'validate.c'
); );
$probackup->AddFiles( $probackup->AddFiles(
'contrib/pg_probackup/src/utils', "$currpath/src/utils",
'json.c', 'json.c',
'logger.c', 'logger.c',
'parray.c', 'parray.c',
'pgut.c', 'pgut.c',
'thread.c' 'thread.c'
); );
$probackup->AddFile('src/backend/access/transam/xlogreader.c'); $probackup->AddFile("$pgsrc/src/backend/access/transam/xlogreader.c");
$probackup->AddFile('src/backend/utils/hash/pg_crc.c'); $probackup->AddFile("$pgsrc/src/backend/utils/hash/pg_crc.c");
$probackup->AddFiles( $probackup->AddFiles(
'src/bin/pg_basebackup', "$pgsrc/src/bin/pg_basebackup",
'receivelog.c', 'receivelog.c',
'streamutil.c' 'streamutil.c'
); );
if (-e 'src/bin/pg_basebackup/walmethods.c') if (-e "$pgsrc/src/bin/pg_basebackup/walmethods.c")
{ {
$probackup->AddFile('src/bin/pg_basebackup/walmethods.c'); $probackup->AddFile("$pgsrc/src/bin/pg_basebackup/walmethods.c");
} }
$probackup->AddFile('src/bin/pg_rewind/datapagemap.c'); $probackup->AddFile("$pgsrc/src/bin/pg_rewind/datapagemap.c");
$probackup->AddFile('src/interfaces/libpq/pthread-win32.c'); $probackup->AddFile("$pgsrc/src/interfaces/libpq/pthread-win32.c");
$probackup->AddIncludeDir('src/bin/pg_basebackup'); $probackup->AddIncludeDir("$pgsrc/src/bin/pg_basebackup");
$probackup->AddIncludeDir('src/bin/pg_rewind'); $probackup->AddIncludeDir("$pgsrc/src/bin/pg_rewind");
$probackup->AddIncludeDir('src/interfaces/libpq'); $probackup->AddIncludeDir("$pgsrc/src/interfaces/libpq");
$probackup->AddIncludeDir('src'); $probackup->AddIncludeDir("$pgsrc/src");
$probackup->AddIncludeDir('src/port'); $probackup->AddIncludeDir("$pgsrc/src/port");
$probackup->AddIncludeDir('contrib/pg_probackup'); $probackup->AddIncludeDir("$currpath");
$probackup->AddIncludeDir('contrib/pg_probackup/src'); $probackup->AddIncludeDir("$currpath/src");
$probackup->AddIncludeDir('contrib/pg_probackup/src/utils'); $probackup->AddIncludeDir("$currpath/src/utils");
$probackup->AddReference($libpq, $libpgfeutils, $libpgcommon, $libpgport); $probackup->AddReference($libpq, $libpgfeutils, $libpgcommon, $libpgport);
$probackup->AddLibrary('ws2_32.lib'); $probackup->AddLibrary('ws2_32.lib');