OSDN Git Service

Perltidy run over the MSVC build system files, to clean up code formatting
authorMagnus Hagander <magnus@hagander.net>
Fri, 9 Apr 2010 13:05:58 +0000 (13:05 +0000)
committerMagnus Hagander <magnus@hagander.net>
Fri, 9 Apr 2010 13:05:58 +0000 (13:05 +0000)
and indentation styles.

src/tools/msvc/Install.pm
src/tools/msvc/Mkvcbuild.pm
src/tools/msvc/Project.pm
src/tools/msvc/Solution.pm
src/tools/msvc/build.pl
src/tools/msvc/gendef.pl
src/tools/msvc/vcregress.pl

index bffad8f..2026d18 100644 (file)
@@ -3,7 +3,7 @@ package Install;
 #
 # Package that provides 'make install' functionality for msvc builds
 #
-# $PostgreSQL: pgsql/src/tools/msvc/Install.pm,v 1.34 2010/01/05 13:31:58 mha Exp $
+# $PostgreSQL: pgsql/src/tools/msvc/Install.pm,v 1.35 2010/04/09 13:05:58 mha Exp $
 #
 use strict;
 use warnings;
@@ -19,16 +19,16 @@ our (@ISA,@EXPORT_OK);
 
 sub lcopy
 {
-       my $src = shift;
-       my $target = shift;
+    my $src = shift;
+    my $target = shift;
 
-        if (-f $target)
-        {
-           unlink $target || confess "Could not delete $target\n";
-        }
+    if (-f $target)
+    {
+        unlink $target || confess "Could not delete $target\n";
+    }
 
-       copy($src,$target)
-          || confess "Could not copy $src to $target\n";
+    copy($src,$target)
+      || confess "Could not copy $src to $target\n";
 
 }
 
@@ -61,31 +61,35 @@ sub Install
 
     CopySolutionOutput($conf, $target);
     lcopy($target . '/lib/libpq.dll', $target . '/bin/libpq.dll');
-       my $sample_files = [];
-       File::Find::find({wanted => 
-                                                 sub { /^.*\.sample\z/s && 
-                                                                       push(@$sample_files, $File::Find::name); 
-                                                       } 
-                                 }, 
-                                        "src" );
-    CopySetOfFiles('config files', $sample_files , $target . '/share/');
+    my $sample_files = [];
+    File::Find::find(
+        {
+            wanted =>sub {
+                /^.*\.sample\z/s
+                  &&push(@$sample_files, $File::Find::name);
+              }
+        },
+        "src"
+    );
+    CopySetOfFiles('config files', $sample_files, $target . '/share/');
     CopyFiles(
         'Import libraries',
         $target .'/lib/',
-        "$conf\\", "postgres\\postgres.lib","libpq\\libpq.lib", "libecpg\\libecpg.lib", "libpgport\\libpgport.lib"
+        "$conf\\", "postgres\\postgres.lib","libpq\\libpq.lib", "libecpg\\libecpg.lib",
+        "libpgport\\libpgport.lib"
+    );
+    CopySetOfFiles(
+        'timezone names',
+        [ glob('src\timezone\tznames\*.txt') ],
+        $target . '/share/timezonesets/'
     );
-    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/');
+    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/',
@@ -94,12 +98,16 @@ sub Install
     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/');
+    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);
     CopyIncludeFiles($target);
 
@@ -189,8 +197,10 @@ sub CopySolutionOutput
             # Static lib, such as libpgport, only used internally during build, don't install
             next;
         }
-        lcopy("$conf\\$pf\\$pf.$ext","$target\\$dir\\$pf.$ext") || croak "Could not copy $pf.$ext\n";
-        lcopy("$conf\\$pf\\$pf.pdb","$target\\symbols\\$pf.pdb") || croak "Could not copy $pf.pdb\n";
+        lcopy("$conf\\$pf\\$pf.$ext","$target\\$dir\\$pf.$ext")
+          || croak "Could not copy $pf.$ext\n";
+        lcopy("$conf\\$pf\\$pf.pdb","$target\\symbols\\$pf.pdb")
+          || croak "Could not copy $pf.pdb\n";
         print ".";
     }
     print "\n";
@@ -241,7 +251,8 @@ sub GenerateTimezoneFiles
     my @tzfiles = split /\s+/,$1;
     unshift @tzfiles,'';
     print "Generating timezone files...";
-    system("$conf\\zic\\zic -d \"$target/share/timezone\" " . join(" src/timezone/data/", @tzfiles));
+    system(
+        "$conf\\zic\\zic -d \"$target/share/timezone\" " . join(" src/timezone/data/", @tzfiles));
     print "\n";
 }
 
@@ -260,6 +271,7 @@ sub GenerateTsearchFiles
     open($F,">$target/share/snowball_create.sql")
       || die "Could not write snowball_create.sql";
     print $F read_file('src/backend/snowball/snowball_func.sql.in');
+
     while ($#pieces > 0)
     {
         my $lang = shift @pieces || last;
@@ -267,7 +279,8 @@ sub GenerateTsearchFiles
         my $txt = $tmpl;
         my $stop = '';
 
-        if (-s "src/backend/snowball/stopwords/$lang.stop") {
+        if (-s "src/backend/snowball/stopwords/$lang.stop")
+        {
             $stop = ", StopWords=$lang";
         }
 
@@ -383,9 +396,8 @@ sub CopyIncludeFiles
 {
     my $target = shift;
 
-    EnsureDirectories($target, 'include', 'include/libpq',
-        'include/internal', 'include/internal/libpq',
-        'include/server');
+    EnsureDirectories($target, 'include', 'include/libpq','include/internal',
+        'include/internal/libpq','include/server');
 
     CopyFiles(
         'Public headers',
@@ -395,9 +407,11 @@ sub CopyIncludeFiles
     lcopy('src/include/libpq/libpq-fs.h', $target . '/include/libpq/')
       || croak 'Could not copy libpq-fs.h';
 
-    CopyFiles('Libpq headers',
-             $target . '/include/', 'src/interfaces/libpq/',
-             'libpq-fe.h', 'libpq-events.h');
+    CopyFiles(
+        'Libpq headers',
+        $target . '/include/',
+        'src/interfaces/libpq/','libpq-fe.h', 'libpq-events.h'
+    );
     CopyFiles(
         'Libpq internal headers',
         $target .'/include/internal/',
@@ -417,9 +431,7 @@ sub CopyIncludeFiles
         $target . '/include/server/',
         'src/include/', 'pg_config.h', 'pg_config_os.h'
     );
-    CopySetOfFiles('', 
-                                  [ glob( "src\\include\\*.h" ) ], 
-                                  $target . '/include/server/');
+    CopySetOfFiles('',[ glob("src\\include\\*.h") ],$target . '/include/server/');
     my $D;
     opendir($D, 'src/include') || croak "Could not opendir on src/include!\n";
 
@@ -430,8 +442,7 @@ sub CopyIncludeFiles
         next unless (-d 'src/include/' . $d);
 
         EnsureDirectories($target . '/include/server', $d);
-        system(
-            "xcopy /s /i /q /r /y src\\include\\$d\\*.h \"$target\\include\\server\\$d\\\"")
+        system("xcopy /s /i /q /r /y src\\include\\$d\\*.h \"$target\\include\\server\\$d\\\"")
           && croak("Failed to copy include directory $d\n");
     }
     closedir($D);
@@ -463,12 +474,16 @@ sub GenerateNLSFiles
 
     print "Installing NLS files...";
     EnsureDirectories($target, "share/locale");
-       my @flist;
-       File::Find::find({wanted =>
-                                                 sub { /^nls\.mk\z/s &&
-                                                                       !push(@flist, $File::Find::name);
-                                                       }
-                                 }, "src");
+    my @flist;
+    File::Find::find(
+        {
+            wanted =>sub {
+                /^nls\.mk\z/s
+                  &&!push(@flist, $File::Find::name);
+              }
+        },
+        "src"
+    );
     foreach (@flist)
     {
         my $prgm = DetermineCatalogName($_);
@@ -484,8 +499,7 @@ sub GenerateNLSFiles
             EnsureDirectories($target, "share/locale/$lang", "share/locale/$lang/LC_MESSAGES");
             system(
 "\"$nlspath\\bin\\msgfmt\" -o \"$target\\share\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo\" $_"
-              )
-              && croak("Could not run msgfmt on $dir\\$_");
+            )&& croak("Could not run msgfmt on $dir\\$_");
             print ".";
         }
     }
index 843c6e4..08eb14a 100644 (file)
@@ -3,7 +3,7 @@ package Mkvcbuild;
 #
 # Package that generates build files for msvc build
 #
-# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.53 2010/02/15 17:10:50 mha Exp $
+# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.54 2010/04/09 13:05:58 mha Exp $
 #
 use Carp;
 use Win32;
@@ -75,9 +75,12 @@ sub mkvcbuild
     $postgres->FullExportDLL('postgres.lib');
 
     my $snowball = $solution->AddProject('dict_snowball','dll','','src\backend\snowball');
-    $snowball->RelocateFiles('src\backend\snowball\libstemmer', sub {
-        return shift !~ /dict_snowball.c$/;
-    });
+    $snowball->RelocateFiles(
+        'src\backend\snowball\libstemmer',
+        sub {
+            return shift !~ /dict_snowball.c$/;
+        }
+    );
     $snowball->AddIncludeDir('src\include\snowball');
     $snowball->AddReference($postgres);
 
@@ -87,31 +90,31 @@ sub mkvcbuild
 
     if ($solution->{options}->{perl})
     {
-               my $plperlsrc = "src\\pl\\plperl\\";
+        my $plperlsrc = "src\\pl\\plperl\\";
         my $plperl = $solution->AddProject('plperl','dll','PLs','src\pl\plperl');
         $plperl->AddIncludeDir($solution->{options}->{perl} . '/lib/CORE');
         $plperl->AddDefine('PLPERL_HAVE_UID_GID');
-               foreach my $xs ('SPI.xs', 'Util.xs')
-               {
-                       (my $xsc = $xs) =~ s/\.xs/.c/;
-                       if (Solution::IsNewer("$plperlsrc$xsc","$plperlsrc$xs"))
-                       {
-                               print "Building $plperlsrc$xsc...\n";
-                               system( $solution->{options}->{perl}
-                                               . '/bin/perl '
-                                               . $solution->{options}->{perl}
-                                               . '/lib/ExtUtils/xsubpp -typemap '
-                                               . $solution->{options}->{perl}
-                                               . '/lib/ExtUtils/typemap ' 
-                                               . "$plperlsrc$xs " 
-                                               . ">$plperlsrc$xsc");
-                               if ((!(-f "$plperlsrc$xsc")) || -z "$plperlsrc$xsc")
-                               {
-                                       unlink("$plperlsrc$xsc"); # if zero size
-                                       die "Failed to create $xsc.\n";
-                               }
-                       }
-               }
+        foreach my $xs ('SPI.xs', 'Util.xs')
+        {
+            (my $xsc = $xs) =~ s/\.xs/.c/;
+            if (Solution::IsNewer("$plperlsrc$xsc","$plperlsrc$xs"))
+            {
+                print "Building $plperlsrc$xsc...\n";
+                system( $solution->{options}->{perl}
+                      . '/bin/perl '
+                      . $solution->{options}->{perl}
+                      . '/lib/ExtUtils/xsubpp -typemap '
+                      . $solution->{options}->{perl}
+                      . '/lib/ExtUtils/typemap '
+                      . "$plperlsrc$xs "
+                      . ">$plperlsrc$xsc");
+                if ((!(-f "$plperlsrc$xsc")) || -z "$plperlsrc$xsc")
+                {
+                    unlink("$plperlsrc$xsc"); # if zero size
+                    die "Failed to create $xsc.\n";
+                }
+            }
+        }
         if (  Solution::IsNewer('src\pl\plperl\perlchunks.h','src\pl\plperl\plc_perlboot.pl')
             ||Solution::IsNewer('src\pl\plperl\perlchunks.h','src\pl\plperl\plc_safe_bad.pl')
             ||Solution::IsNewer('src\pl\plperl\perlchunks.h','src\pl\plperl\plc_safe_ok.pl'))
@@ -133,28 +136,35 @@ sub mkvcbuild
             }
         }
         $plperl->AddReference($postgres);
-               my @perl_libs = grep {/perl\d+.lib$/ }
-                       glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib');
+        my @perl_libs =
+          grep {/perl\d+.lib$/ }glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib');
         if (@perl_libs == 1)
         {
             $plperl->AddLibrary($perl_libs[0]);
         }
-               else
-               {
-                       die "could not identify perl library version";
-               }
+        else
+        {
+            die "could not identify perl library version";
+        }
     }
 
     if ($solution->{options}->{python})
     {
+
         # Attempt to get python version and location. Assume python.exe in specified dir.
-        open(P, $solution->{options}->{python} . "\\python -c \"import sys;print(sys.prefix);print(str(sys.version_info[0])+str(sys.version_info[1]))\" |") || die "Could not query for python version!\n";
-        my $pyprefix = <P>;chomp($pyprefix);
-        my $pyver = <P>;chomp($pyver);
+        open(P,
+            $solution->{options}->{python}
+              . "\\python -c \"import sys;print(sys.prefix);print(str(sys.version_info[0])+str(sys.version_info[1]))\" |"
+        ) || die "Could not query for python version!\n";
+        my $pyprefix = <P>;
+        chomp($pyprefix);
+        my $pyver = <P>;
+        chomp($pyver);
         close(P);
 
-        # Sometimes (always?) if python is not present, the execution actually works, but gives no data...
-        die "Failed to query python for version information\n" if (!(defined($pyprefix) && defined($pyver)));
+  # Sometimes (always?) if python is not present, the execution actually works, but gives no data...
+        die "Failed to query python for version information\n"
+          if (!(defined($pyprefix) && defined($pyver)));
 
         my $plpython = $solution->AddProject('plpython','dll','PLs','src\pl\plpython');
         $plpython->AddIncludeDir($pyprefix . '\include');
@@ -179,7 +189,7 @@ sub mkvcbuild
 
     $libpq = $solution->AddProject('libpq','dll','interfaces','src\interfaces\libpq');
     $libpq->AddDefine('FRONTEND');
-       $libpq->AddDefine('UNSAFE_STAT_OK');
+    $libpq->AddDefine('UNSAFE_STAT_OK');
     $libpq->AddIncludeDir('src\port');
     $libpq->AddLibrary('wsock32.lib');
     $libpq->AddLibrary('secur32.lib');
@@ -189,7 +199,8 @@ sub mkvcbuild
     $libpq->ReplaceFile('src\interfaces\libpq\libpqrc.c','src\interfaces\libpq\libpq.rc');
     $libpq->AddReference($libpgport);
 
-    my $libpqwalreceiver = $solution->AddProject('libpqwalreceiver', 'dll', '', 'src\backend\replication\libpqwalreceiver');
+    my $libpqwalreceiver = $solution->AddProject('libpqwalreceiver', 'dll', '',
+        'src\backend\replication\libpqwalreceiver');
     $libpqwalreceiver->AddIncludeDir('src\interfaces\libpq');
     $libpqwalreceiver->AddReference($postgres,$libpq);
 
@@ -314,12 +325,12 @@ sub mkvcbuild
 
     if ($solution->{options}->{uuid})
     {
-       $contrib_extraincludes->{'uuid-ossp'} = [ $solution->{options}->{uuid} . '\include' ];
-       $contrib_extralibs->{'uuid-ossp'} = [ $solution->{options}->{uuid} . '\lib\uuid.lib' ];
+        $contrib_extraincludes->{'uuid-ossp'} = [ $solution->{options}->{uuid} . '\include' ];
+        $contrib_extralibs->{'uuid-ossp'} = [ $solution->{options}->{uuid} . '\lib\uuid.lib' ];
     }
-        else
+    else
     {
-       push @contrib_excludes,'uuid-ossp';
+        push @contrib_excludes,'uuid-ossp';
     }
 
     # Pgcrypto makefile too complex to parse....
@@ -462,10 +473,10 @@ sub AddContrib
         $mf =~ s{\\\s*[\r\n]+}{}mg;
         my $proj = $solution->AddProject($dn, 'dll', 'contrib');
         $mf =~ /^OBJS\s*=\s*(.*)$/gm || croak "Could not find objects in MODULE_big for $n\n";
-               my $objs = $1;
+        my $objs = $1;
         while ($objs =~ /\b([\w-]+\.o)\b/g)
         {
-                       my $o = $1;
+            my $o = $1;
             $o =~ s/\.o$/.c/;
             $proj->AddFile('contrib\\' . $n . '\\' . $o);
         }
@@ -479,9 +490,9 @@ sub AddContrib
                 $mf2 =~ /^SUBOBJS\s*=\s*(.*)$/gm
                   || croak "Could not find objects in MODULE_big for $n, subdir $d\n";
                 $objs = $1;
-                               while ($objs =~ /\b([\w-]+\.o)\b/g)
-                               {
-                                       my $o = $1;
+                while ($objs =~ /\b([\w-]+\.o)\b/g)
+                {
+                    my $o = $1;
                     $o =~ s/\.o$/.c/;
                     $proj->AddFile('contrib\\' . $n . '\\' . $d . '\\' . $o);
                 }
@@ -506,7 +517,7 @@ sub AddContrib
         my $objs = $1;
         while ($objs =~ /\b([\w-]+\.o)\b/g)
         {
-                       my $o = $1;
+            my $o = $1;
             $o =~ s/\.o$/.c/;
             $proj->AddFile('contrib\\' . $n . '\\' . $o);
         }
index 8eee8c1..aa9c123 100644 (file)
@@ -3,7 +3,7 @@ package Project;
 #
 # Package that encapsulates a Visual C++ project file generation
 #
-# $PostgreSQL: pgsql/src/tools/msvc/Project.pm,v 1.25 2010/01/05 11:12:50 mha Exp $
+# $PostgreSQL: pgsql/src/tools/msvc/Project.pm,v 1.26 2010/04/09 13:05:58 mha Exp $
 #
 use Carp;
 use strict;
@@ -102,11 +102,13 @@ sub RemoveFile
 sub RelocateFiles
 {
     my ($self, $targetdir, $proc) = @_;
-    foreach my $f (keys %{$self->{files}}) {
+    foreach my $f (keys %{$self->{files}})
+    {
         my $r = &$proc($f);
-        if ($r) {
-           $self->RemoveFile($f);
-           $self->AddFile($targetdir . '\\' . basename($f));
+        if ($r)
+        {
+            $self->RemoveFile($f);
+            $self->AddFile($targetdir . '\\' . basename($f));
         }
     }
 }
@@ -125,10 +127,10 @@ sub AddReference
 sub AddLibrary
 {
     my ($self, $lib, $dbgsuffix) = @_;
-    
+
     if ($lib =~ m/\s/)
     {
-       $lib = '&quot;' . $lib . "&quot;";
+        $lib = '&quot;' . $lib . "&quot;";
     }
 
     push @{$self->{libraries}}, $lib;
@@ -348,9 +350,9 @@ sub Save
         $self->FullExportDLL($self->{name} . ".lib");
     }
 
-       # Warning 4197 is about double exporting, disable this per
-       # http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=99193
-       $self->DisableLinkerWarnings('4197') if ($self->{platform} eq 'x64');
+    # Warning 4197 is about double exporting, disable this per
+    # http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=99193
+    $self->DisableLinkerWarnings('4197') if ($self->{platform} eq 'x64');
 
     # Dump the project
     open(F, ">$self->{name}.vcproj") || croak("Could not write to $self->{name}.vcproj\n");
@@ -405,7 +407,8 @@ EOF
             my $of = $f;
             $of =~ s/\.l$/.c/;
             print F '>'
-              . $self->GenerateCustomTool('Running flex on ' . $f, 'src\tools\msvc\pgflex.bat ' . $f,$of)
+              . $self->GenerateCustomTool('Running flex on ' . $f,
+                'src\tools\msvc\pgflex.bat ' . $f,$of)
               . '</File>' . "\n";
         }
         elsif (defined($uniquefiles{$file}))
@@ -439,8 +442,8 @@ sub GenerateCustomTool
     my ($self, $desc, $tool, $output, $cfg) = @_;
     if (!defined($cfg))
     {
-        return $self->GenerateCustomTool($desc, $tool, $output, 'Debug') .
-          $self->GenerateCustomTool($desc, $tool, $output, 'Release');
+        return $self->GenerateCustomTool($desc, $tool, $output, 'Debug')
+          .$self->GenerateCustomTool($desc, $tool, $output, 'Release');
     }
     return
 "<FileConfiguration Name=\"$cfg|$self->{platform}\"><Tool Name=\"VCCustomBuildTool\" Description=\"$desc\" CommandLine=\"$tool\" AdditionalDependencies=\"\" Outputs=\"$output\" /></FileConfiguration>";
index 74c161b..12b9085 100644 (file)
@@ -3,7 +3,7 @@ package Solution;
 #
 # Package that encapsulates a Visual C++ solution file generation
 #
-# $PostgreSQL: pgsql/src/tools/msvc/Solution.pm,v 1.56 2010/03/03 03:29:37 adunstan Exp $
+# $PostgreSQL: pgsql/src/tools/msvc/Solution.pm,v 1.57 2010/04/09 13:05:58 mha Exp $
 #
 use Carp;
 use strict;
@@ -22,11 +22,12 @@ sub new
         platform => undef,
     };
     bless $self;
-       # integer_datetimes is now the default
-       $options->{integer_datetimes} = 1 
-               unless exists $options->{integer_datetimes};
+
+    # integer_datetimes is now the default
+    $options->{integer_datetimes} = 1
+      unless exists $options->{integer_datetimes};
     $options->{float4byval} = 1
-        unless exists $options->{float4byval};
+      unless exists $options->{float4byval};
     if ($options->{xml})
     {
         if (!($options->{xslt} && $options->{iconv}))
@@ -34,23 +35,23 @@ sub new
             die "XML requires both XSLT and ICONV\n";
         }
     }
-       $options->{blocksize} = 8
-               unless $options->{blocksize}; # undef or 0 means default
-       die "Bad blocksize $options->{blocksize}"
-               unless grep {$_ == $options->{blocksize}} (1,2,4,8,16,32);
-       $options->{segsize} = 1
-               unless $options->{segsize}; # undef or 0 means default
-       # only allow segsize 1 for now, as we can't do large files yet in windows
-       die "Bad segsize $options->{segsize}"
-               unless $options->{segsize} == 1;
-       $options->{wal_blocksize} = 8
-               unless $options->{wal_blocksize}; # undef or 0 means default
-       die "Bad wal_blocksize $options->{wal_blocksize}"
-               unless grep {$_ == $options->{wal_blocksize}} (1,2,4,8,16,32,64);
-       $options->{wal_segsize} = 16
-               unless $options->{wal_segsize}; # undef or 0 means default
-       die "Bad wal_segsize $options->{wal_segsize}"
-               unless grep {$_ == $options->{wal_segsize}} (1,2,4,8,16,32,64);
+    $options->{blocksize} = 8
+      unless $options->{blocksize}; # undef or 0 means default
+    die "Bad blocksize $options->{blocksize}"
+      unless grep {$_ == $options->{blocksize}} (1,2,4,8,16,32);
+    $options->{segsize} = 1
+      unless $options->{segsize}; # undef or 0 means default
+    # only allow segsize 1 for now, as we can't do large files yet in windows
+    die "Bad segsize $options->{segsize}"
+      unless $options->{segsize} == 1;
+    $options->{wal_blocksize} = 8
+      unless $options->{wal_blocksize}; # undef or 0 means default
+    die "Bad wal_blocksize $options->{wal_blocksize}"
+      unless grep {$_ == $options->{wal_blocksize}} (1,2,4,8,16,32,64);
+    $options->{wal_segsize} = 16
+      unless $options->{wal_segsize}; # undef or 0 means default
+    die "Bad wal_segsize $options->{wal_segsize}"
+      unless grep {$_ == $options->{wal_segsize}} (1,2,4,8,16,32,64);
 
     $self->DetermineToolVersions();
 
@@ -61,33 +62,35 @@ sub DetermineToolVersions
 {
     my $self = shift;
 
-# Determine version of vcbuild command, to set proper verison of visual studio
+    # Determine version of vcbuild command, to set proper verison of visual studio
     open(P,"vcbuild /? |") || die "vcbuild command not found";
     my $line = <P>;
     close(P);
-    if ($line !~ /^Microsoft\s*\(R\) Visual C\+\+ Project Builder - \D+(\d+)\.00\.\d+/) {
-       die "Unable to determine vcbuild version from first line of output!";
+    if ($line !~ /^Microsoft\s*\(R\) Visual C\+\+ Project Builder - \D+(\d+)\.00\.\d+/)
+    {
+        die "Unable to determine vcbuild version from first line of output!";
     }
     if ($1 == 8) { $self->{vcver} = '8.00' }
     elsif ($1 == 9) { $self->{vcver} = '9.00' }
     else { die "Unsupported version of Visual Studio: $1" }
     print "Detected Visual Studio version $self->{vcver}\n";
 
-# Determine if we are in 32 or 64-bit mode. Do this by seeing if CL has
-# 64-bit only parameters.
-       $self->{platform} = 'Win32';
-       open(P,"cl /? 2>NUL|") || die "cl command not found";
-       while (<P>) {
-               if (/^\/favor:</) {
-                       $self->{platform} = 'x64';
-                       last;
-               }
-       }
-       close(P);
-       print "Detected hardware platform: $self->{platform}\n";
+    # Determine if we are in 32 or 64-bit mode. Do this by seeing if CL has
+    # 64-bit only parameters.
+    $self->{platform} = 'Win32';
+    open(P,"cl /? 2>NUL|") || die "cl command not found";
+    while (<P>)
+    {
+        if (/^\/favor:</)
+        {
+            $self->{platform} = 'x64';
+            last;
+        }
+    }
+    close(P);
+    print "Detected hardware platform: $self->{platform}\n";
 }
 
-
 # Return 1 if $oldfile is newer than $newfile, or if $newfile doesn't exist.
 # Special case - if config.pl has changed, always return 1
 sub IsNewer
@@ -95,8 +98,11 @@ sub IsNewer
     my ($newfile, $oldfile) = @_;
     if ($oldfile ne 'src\tools\msvc\config.pl' && $oldfile ne 'src\tools\msvc\config_default.pl')
     {
-        return 1 if (-f 'src\tools\msvc\config.pl') && IsNewer($newfile, 'src\tools\msvc\config.pl');
-        return 1 if (-f 'src\tools\msvc\config_default.pl') && IsNewer($newfile, 'src\tools\msvc\config_default.pl');
+        return 1
+          if (-f 'src\tools\msvc\config.pl') && IsNewer($newfile, 'src\tools\msvc\config.pl');
+        return 1
+          if (-f 'src\tools\msvc\config_default.pl')
+          && IsNewer($newfile, 'src\tools\msvc\config_default.pl');
     }
     return 1 if (!(-e $newfile));
     my @nstat = stat($newfile);
@@ -161,7 +167,7 @@ sub GenerateFiles
 s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY(z)\n#define PG_VERSION_STR "PostgreSQL $self->{strver}, compiled by Visual C++ build " __STRINGIFY2(_MSC_VER) ", $bits-bit"};
             print O;
         }
-               print O "#define PG_MAJORVERSION \"$self->{majorver}\"\n";
+        print O "#define PG_MAJORVERSION \"$self->{majorver}\"\n";
         print O "#define LOCALEDIR \"/share/locale\"\n" if ($self->{options}->{nls});
         print O "/* defines added by config steps */\n";
         print O "#ifndef IGNORE_CONFIGURED_SETTINGS\n";
@@ -170,18 +176,15 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY
         print O "#define USE_LDAP 1\n" if ($self->{options}->{ldap});
         print O "#define HAVE_LIBZ 1\n" if ($self->{options}->{zlib});
         print O "#define USE_SSL 1\n" if ($self->{options}->{openssl});
-               print O "#define ENABLE_NLS 1\n" if ($self->{options}->{nls});
-
-               print O "#define BLCKSZ ",1024 * $self->{options}->{blocksize},"\n";
-               print O "#define RELSEG_SIZE ",
-                       (1024 / $self->{options}->{blocksize}) * 
-                               $self->{options}->{segsize} * 1024, "\n";
-               print O "#define XLOG_BLCKSZ ",
-                       1024 * $self->{options}->{wal_blocksize},"\n";
-               print O "#define XLOG_SEG_SIZE (",
-                       $self->{options}->{wal_segsize}," * 1024 * 1024)\n";
-        
-        if ($self->{options}->{float4byval}) 
+        print O "#define ENABLE_NLS 1\n" if ($self->{options}->{nls});
+
+        print O "#define BLCKSZ ",1024 * $self->{options}->{blocksize},"\n";
+        print O "#define RELSEG_SIZE ",
+          (1024 / $self->{options}->{blocksize}) *$self->{options}->{segsize} * 1024, "\n";
+        print O "#define XLOG_BLCKSZ ",1024 * $self->{options}->{wal_blocksize},"\n";
+        print O "#define XLOG_SEG_SIZE (",$self->{options}->{wal_segsize}," * 1024 * 1024)\n";
+
+        if ($self->{options}->{float4byval})
         {
             print O "#define USE_FLOAT4_BYVAL 1\n";
             print O "#define FLOAT4PASSBYVAL true\n";
@@ -235,10 +238,23 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY
         close(I);
     }
 
-    $self->GenerateDefFile("src\\interfaces\\libpq\\libpqdll.def","src\\interfaces\\libpq\\exports.txt","LIBPQ");
-    $self->GenerateDefFile("src\\interfaces\\ecpg\\ecpglib\\ecpglib.def","src\\interfaces\\ecpg\\ecpglib\\exports.txt","LIBECPG");
-    $self->GenerateDefFile("src\\interfaces\\ecpg\\compatlib\\compatlib.def","src\\interfaces\\ecpg\\compatlib\\exports.txt","LIBECPG_COMPAT");
-    $self->GenerateDefFile("src\\interfaces\\ecpg\\pgtypeslib\\pgtypeslib.def","src\\interfaces\\ecpg\\pgtypeslib\\exports.txt","LIBPGTYPES");
+    $self->GenerateDefFile("src\\interfaces\\libpq\\libpqdll.def",
+        "src\\interfaces\\libpq\\exports.txt","LIBPQ");
+    $self->GenerateDefFile(
+        "src\\interfaces\\ecpg\\ecpglib\\ecpglib.def",
+        "src\\interfaces\\ecpg\\ecpglib\\exports.txt",
+        "LIBECPG"
+    );
+    $self->GenerateDefFile(
+        "src\\interfaces\\ecpg\\compatlib\\compatlib.def",
+        "src\\interfaces\\ecpg\\compatlib\\exports.txt",
+        "LIBECPG_COMPAT"
+    );
+    $self->GenerateDefFile(
+        "src\\interfaces\\ecpg\\pgtypeslib\\pgtypeslib.def",
+        "src\\interfaces\\ecpg\\pgtypeslib\\exports.txt",
+        "LIBPGTYPES"
+    );
 
     if (IsNewer('src\backend\utils\fmgrtab.c','src\include\catalog\pg_proc.h'))
     {
@@ -251,9 +267,11 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY
 
     if (IsNewer('src\include\utils\probes.h','src\backend\utils\probes.d'))
     {
-               print "Generating probes.h...\n";
-               system('psed -f src\backend\utils\Gen_dummy_probes.sed src\backend\utils\probes.d > src\include\utils\probes.h'); 
-       }
+        print "Generating probes.h...\n";
+        system(
+'psed -f src\backend\utils\Gen_dummy_probes.sed src\backend\utils\probes.d > src\include\utils\probes.h'
+        );
+    }
 
     if (IsNewer('src\interfaces\libpq\libpq.rc','src\interfaces\libpq\libpq.rc.in'))
     {
@@ -279,12 +297,7 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY
         chdir('..\..\..');
     }
 
-    if (
-        IsNewer(
-            'src\interfaces\ecpg\preproc\preproc.y',
-            'src\backend\parser\gram.y'
-        )
-      )
+    if (IsNewer('src\interfaces\ecpg\preproc\preproc.y','src\backend\parser\gram.y'))
     {
         print "Generating preproc.y...\n";
         chdir('src\interfaces\ecpg\preproc');
@@ -307,8 +320,8 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY
 #define HAVE_LONG_LONG_INT_64
 #define ENABLE_THREAD_SAFETY 1
 EOF
-       print O "#define USE_INTEGER_DATETIMES 1\n" if ($self->{options}->{integer_datetimes});
-       print O "#endif\n";
+        print O "#define USE_INTEGER_DATETIMES 1\n" if ($self->{options}->{integer_datetimes});
+        print O "#endif\n";
         close(O);
     }
 
@@ -346,7 +359,9 @@ EOF
             print "Generating postgres.bki and schemapg.h...\n";
             chdir('src\backend\catalog');
             my $bki_srcs = join(' ../../../src/include/catalog/', @allbki);
-            system("perl genbki.pl -I../../../src/include/catalog --set-version=$self->{majorver} $bki_srcs");
+            system(
+"perl genbki.pl -I../../../src/include/catalog --set-version=$self->{majorver} $bki_srcs"
+            );
             chdir('..\..\..');
             copyFile('src\backend\catalog\schemapg.h', 'src\include\catalog\schemapg.h');
             last;
@@ -417,7 +432,7 @@ sub AddProject
     {
         $proj->AddIncludeDir($self->{options}->{iconv} . '\include');
         $proj->AddLibrary($self->{options}->{iconv} . '\lib\iconv.lib');
-       }
+    }
     if ($self->{options}->{xml})
     {
         $proj->AddIncludeDir($self->{options}->{xml} . '\include');
index d3c299e..764e594 100644 (file)
@@ -1,13 +1,13 @@
 
 # -*-perl-*- hey - emacs - this is a perl file
 
-# $PostgreSQL: pgsql/src/tools/msvc/build.pl,v 1.2 2010/01/05 13:31:58 mha Exp $
+# $PostgreSQL: pgsql/src/tools/msvc/build.pl,v 1.3 2010/04/09 13:05:58 mha Exp $
 
 BEGIN
 {
-       
-       chdir("../../..") if  (-d "../msvc" && -d "../../../src");
-       
+
+    chdir("../../..") if  (-d "../msvc" && -d "../../../src");
+
 }
 
 use lib "src/tools/msvc";
@@ -29,7 +29,6 @@ elsif (-e "./buildenv.pl" )
     require "./buildenv.pl";
 }
 
-
 # set up the project
 our $config;
 require "config_default.pl";
index 81ce9f4..487012f 100644 (file)
@@ -1,12 +1,13 @@
 my @def;
+
 #
 # Script that generates a .DEF file for all objects in a directory
-# 
-# $PostgreSQL: pgsql/src/tools/msvc/gendef.pl,v 1.9 2010/01/01 17:34:25 mha Exp $
+#
+# $PostgreSQL: pgsql/src/tools/msvc/gendef.pl,v 1.10 2010/04/09 13:05:58 mha Exp $
 #
 
-die "Usage: gendef.pl <modulepath> <platform>\n" unless
-   (($ARGV[0] =~ /\\([^\\]+$)/) && ($ARGV[1] == 'Win32' || $ARGV[1] == 'x64'));
+die "Usage: gendef.pl <modulepath> <platform>\n"
+  unless(($ARGV[0] =~ /\\([^\\]+$)/) && ($ARGV[1] == 'Win32' || $ARGV[1] == 'x64'));
 my $defname = uc $1;
 my $platform = $ARGV[1];
 
index 433f9ff..4c07922 100644 (file)
@@ -1,7 +1,7 @@
 
 # -*-perl-*- hey - emacs - this is a perl file
 
-# $PostgreSQL: pgsql/src/tools/msvc/vcregress.pl,v 1.14 2010/03/02 17:06:51 adunstan Exp $
+# $PostgreSQL: pgsql/src/tools/msvc/vcregress.pl,v 1.15 2010/04/09 13:05:58 mha Exp $
 
 use strict;
 
@@ -47,8 +47,8 @@ $ENV{PATH} = "../../../$Config/libpq;../../$Config/libpq;$ENV{PATH}";
 my $schedule = shift;
 unless ($schedule)
 {
-       $schedule = "serial";
-       $schedule = "parallel" if ($what eq 'CHECK' || $what =~ /PARALLEL/);
+    $schedule = "serial";
+    $schedule = "parallel" if ($what eq 'CHECK' || $what =~ /PARALLEL/);
 }
 
 my $topdir = getcwd();
@@ -61,7 +61,7 @@ $maxconn = "--max_connections=$ENV{MAX_CONNECTIONS}"
 
 my $temp_config = "";
 $temp_config = "--temp-config=\"$ENV{TEMP_CONFIG}\""
-       if $ENV{TEMP_CONFIG};
+  if $ENV{TEMP_CONFIG};
 
 chdir "src/test/regress";
 
@@ -86,12 +86,9 @@ exit 0;
 sub installcheck
 {
     my @args = (
-        "../../../$Config/pg_regress/pg_regress",
-        "--dlpath=.",
-        "--psqldir=../../../$Config/psql",
-        "--schedule=${schedule}_schedule",
-        "--multibyte=SQL_ASCII",
-        "--no-locale"
+        "../../../$Config/pg_regress/pg_regress","--dlpath=.",
+        "--psqldir=../../../$Config/psql","--schedule=${schedule}_schedule",
+        "--multibyte=SQL_ASCII","--no-locale"
     );
     push(@args,$maxconn) if $maxconn;
     system(@args);
@@ -102,17 +99,13 @@ sub installcheck
 sub check
 {
     my @args = (
-        "../../../$Config/pg_regress/pg_regress",
-        "--dlpath=.",
-        "--psqldir=../../../$Config/psql",
-        "--schedule=${schedule}_schedule",
-        "--multibyte=SQL_ASCII",
-        "--no-locale",
-        "--temp-install=./tmp_check",
-        "--top-builddir=\"$topdir\""
+        "../../../$Config/pg_regress/pg_regress","--dlpath=.",
+        "--psqldir=../../../$Config/psql","--schedule=${schedule}_schedule",
+        "--multibyte=SQL_ASCII","--no-locale",
+        "--temp-install=./tmp_check","--top-builddir=\"$topdir\""
     );
     push(@args,$maxconn) if $maxconn;
-       push(@args,$temp_config) if $temp_config;
+    push(@args,$temp_config) if $temp_config;
     system(@args);
     my $status = $? >>8;
     exit $status if $status;
@@ -153,24 +146,25 @@ sub plcheck
         my $lang = $pl eq 'tcl' ? 'pltcl' : $pl;
         next unless -d "../../$Config/$lang";
         $lang = 'plpythonu' if $lang eq 'plpython';
-               my @lang_args = ( "--load-language=$lang" );
+        my @lang_args = ("--load-language=$lang");
         chdir $pl;
         my @tests = fetchTests();
-               if ($lang eq 'plperl')
-               {
-                       # run both trusted and untrusted perl tests
-                       push (@lang_args, "--load-language=plperlu");
-
-                       # assume we're using this perl to built postgres
-                       # test if we can run two interpreters in one backend, and if so
-                       # run the trusted/untrusted interaction tests
-                       use Config;
-                       if ($Config{usemultiplicity} eq 'define')
-                       {
-                               push(@tests,'plperl_plperlu');
-                       }
-               }
-               print "============================================================\n";
+        if ($lang eq 'plperl')
+        {
+
+            # run both trusted and untrusted perl tests
+            push(@lang_args, "--load-language=plperlu");
+
+            # assume we're using this perl to built postgres
+            # test if we can run two interpreters in one backend, and if so
+            # run the trusted/untrusted interaction tests
+            use Config;
+            if ($Config{usemultiplicity} eq 'define')
+            {
+                push(@tests,'plperl_plperlu');
+            }
+        }
+        print "============================================================\n";
         print "Checking $lang\n";
         my @args = (
             "../../../$Config/pg_regress/pg_regress",
@@ -192,15 +186,16 @@ sub contribcheck
     my $mstat = 0;
     foreach my $module (glob("*"))
     {
-               next if ($module eq 'xml2' && ! $config->{xml});
-        next unless -d "$module/sql" && 
-                       -d "$module/expected" && 
-                       (-f "$module/GNUmakefile" || -f "$module/Makefile");
+        next if ($module eq 'xml2' && !$config->{xml});
+        next
+          unless -d "$module/sql"
+              &&-d "$module/expected"
+              &&(-f "$module/GNUmakefile" || -f "$module/Makefile");
         chdir $module;
-               print "============================================================\n";
+        print "============================================================\n";
         print "Checking $module\n";
         my @tests = fetchTests();
-               my @opts = fetchRegressOpts();
+        my @opts = fetchRegressOpts();
         my @args = (
             "../../$Config/pg_regress/pg_regress",
             "--psqldir=../../$Config/psql",
@@ -223,14 +218,15 @@ sub fetchRegressOpts
     local($/) = undef;
     my $m = <$handle>;
     close($handle);
-       my @opts;
-       if ($m =~ /^\s*REGRESS_OPTS\s*=(.*)/m)
-       {
-               # ignore options that use makefile variables - can't handle those
-               # ignore anything that isn't an option staring with --
-               @opts = grep { $_ !~ /\$\(/ && $_ =~ /^--/ } split(/\s+/,$1);
-       }
-       return @opts;
+    my @opts;
+    if ($m =~ /^\s*REGRESS_OPTS\s*=(.*)/m)
+    {
+
+        # ignore options that use makefile variables - can't handle those
+        # ignore anything that isn't an option staring with --
+        @opts = grep { $_ !~ /\$\(/ && $_ =~ /^--/ } split(/\s+/,$1);
+    }
+    return @opts;
 }
 
 sub fetchTests
@@ -287,7 +283,7 @@ sub GetTests
 sub usage
 {
     print STDERR
-               "Usage: vcregress.pl ",
-               "<check|installcheck|plcheck|contribcheck|ecpgcheck> [schedule]\n" ;
-       exit(1);
+      "Usage: vcregress.pl ",
+      "<check|installcheck|plcheck|contribcheck|ecpgcheck> [schedule]\n";
+    exit(1);
 }