aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoah Misch <noah@leadboat.com>2014-07-14 14:07:27 -0400
committerNoah Misch <noah@leadboat.com>2014-07-14 14:07:27 -0400
commit35d19a9a37c245ff7c640743f37b8df227fd24dc (patch)
tree1c6583feb9340b8b2ad75ebbbf2cf915b6793f6f
parent91f03ba5cf88b393bf2509f3f00dd00437a5bd54 (diff)
downloadpostgresql-35d19a9a37c245ff7c640743f37b8df227fd24dc.tar.gz
postgresql-35d19a9a37c245ff7c640743f37b8df227fd24dc.zip
MSVC: Process Makefile line continuations more like "make" does.
Unlike "make" itself, the MSVC build process recognized a continuation even with whitespace after the backslash. (Due to a typo, some code sites accepted the letter "s" instead of whitespace). Also, it would consume any number of newlines following a single backslash. This is mere cleanup; those behaviors were unlikely to cause bugs.
-rw-r--r--src/tools/msvc/Install.pm10
-rw-r--r--src/tools/msvc/Mkvcbuild.pm6
-rw-r--r--src/tools/msvc/Project.pm2
-rw-r--r--src/tools/msvc/Solution.pm2
-rw-r--r--src/tools/msvc/vcregress.pl2
5 files changed, 11 insertions, 11 deletions
diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm
index ce17f72ec5a..eba9aa08f1b 100644
--- a/src/tools/msvc/Install.pm
+++ b/src/tools/msvc/Install.pm
@@ -307,7 +307,7 @@ sub GenerateConversionScript
print "Generating conversion proc script...";
my $mf = read_file('src/backend/utils/mb/conversion_procs/Makefile');
- $mf =~ s{\\\s*[\r\n]+}{}mg;
+ $mf =~ s{\\\r?\n}{}g;
$mf =~ /^CONVERSIONS\s*=\s*(.*)$/m
|| die "Could not find CONVERSIONS line in conversions Makefile\n";
my @pieces = split /\s+/, $1;
@@ -341,7 +341,7 @@ sub GenerateTimezoneFiles
my $target = shift;
my $conf = shift;
my $mf = read_file("src/timezone/Makefile");
- $mf =~ s{\\\s*[\r\n]+}{}mg;
+ $mf =~ s{\\\r?\n}{}g;
$mf =~ /^TZDATA\s*:?=\s*(.*)$/m
|| die "Could not find TZDATA row in timezone makefile\n";
my @tzfiles = split /\s+/, $1;
@@ -360,7 +360,7 @@ sub GenerateTsearchFiles
my $F;
my $tmpl = read_file('src/backend/snowball/snowball.sql.in');
my $mf = read_file('src/backend/snowball/Makefile');
- $mf =~ s{\\\s*[\r\n]+}{}mg;
+ $mf =~ s{\\\r?\n}{}g;
$mf =~ /^LANGUAGES\s*=\s*(.*)$/m
|| die "Could not find LANGUAGES line in snowball Makefile\n";
my @pieces = split /\s+/, $1;
@@ -415,7 +415,7 @@ sub CopyContribFiles
next if ($d eq "sepgsql");
my $mf = read_file("contrib/$d/Makefile");
- $mf =~ s{\\s*[\r\n]+}{}mg;
+ $mf =~ s{\\\r?\n}{}g;
# Note: we currently don't support setting MODULEDIR in the makefile
my $moduledir = 'contrib';
@@ -587,7 +587,7 @@ qq{xcopy /s /i /q /r /y src\\include\\$d\\*.h "$ctarget\\include\\server\\$d\\"}
closedir($D);
my $mf = read_file('src/interfaces/ecpg/include/Makefile');
- $mf =~ s{\\s*[\r\n]+}{}mg;
+ $mf =~ s{\\\r?\n}{}g;
$mf =~ /^ecpg_headers\s*=\s*(.*)$/m
|| croak "Could not find ecpg_headers line\n";
CopyFiles(
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
index 71450f47739..d3220696c07 100644
--- a/src/tools/msvc/Mkvcbuild.pm
+++ b/src/tools/msvc/Mkvcbuild.pm
@@ -524,7 +524,7 @@ sub mkvcbuild
$mf =
Project::read_file('src\backend\utils\mb\conversion_procs\Makefile');
- $mf =~ s{\\s*[\r\n]+}{}mg;
+ $mf =~ s{\\\r?\n}{}g;
$mf =~ m{SUBDIRS\s*=\s*(.*)$}m
|| die 'Could not match in conversion makefile' . "\n";
foreach my $sub (split /\s+/, $1)
@@ -536,7 +536,7 @@ sub mkvcbuild
}
$mf = Project::read_file('src\bin\scripts\Makefile');
- $mf =~ s{\\s*[\r\n]+}{}mg;
+ $mf =~ s{\\\r?\n}{}g;
$mf =~ m{PROGRAMS\s*=\s*(.*)$}m
|| die 'Could not match in bin\scripts\Makefile' . "\n";
foreach my $prg (split /\s+/, $1)
@@ -674,7 +674,7 @@ sub GenerateContribSqlFiles
{
my $n = shift;
my $mf = shift;
- $mf =~ s{\\\s*[\r\n]+}{}mg;
+ $mf =~ s{\\\r?\n}{}g;
if ($mf =~ /^DATA_built\s*=\s*(.*)$/mg)
{
my $l = $1;
diff --git a/src/tools/msvc/Project.pm b/src/tools/msvc/Project.pm
index 9ca5b1f13ad..f343b2b9b8c 100644
--- a/src/tools/msvc/Project.pm
+++ b/src/tools/msvc/Project.pm
@@ -193,7 +193,7 @@ sub AddDir
my $mf = <$MF>;
close($MF);
- $mf =~ s{\\\s*[\r\n]+}{}mg;
+ $mf =~ s{\\\r?\n}{}g;
if ($mf =~ m{^(?:SUB)?DIRS[^=]*=\s*(.*)$}mg)
{
foreach my $subdir (split /\s+/, $1)
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index 89e4b07c801..e49c3f4275f 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -422,7 +422,7 @@ EOF
}
my $mf = Project::read_file('src\backend\catalog\Makefile');
- $mf =~ s{\\s*[\r\n]+}{}mg;
+ $mf =~ s{\\\r?\n}{}g;
$mf =~ /^POSTGRES_BKI_SRCS\s*:?=[^,]+,(.*)\)$/gm
|| croak "Could not find POSTGRES_BKI_SRCS in Makefile\n";
my @allbki = split /\s+/, $1;
diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl
index 2c8cd50a2f7..39698ee7ee6 100644
--- a/src/tools/msvc/vcregress.pl
+++ b/src/tools/msvc/vcregress.pl
@@ -358,7 +358,7 @@ sub fetchTests
close($handle);
my $t = "";
- $m =~ s/\\[\r\n]*//gs;
+ $m =~ s{\\\r?\n}{}g;
if ($m =~ /^REGRESS\s*=\s*(.*)$/gm)
{
$t = $1;