Index: Install.pm
===================================================================
RCS file: /cvsroot/pgsql/src/tools/msvc/Install.pm,v
retrieving revision 1.21
diff -c -r1.21 Install.pm
*** Install.pm	23 Sep 2007 20:32:40 -0000	1.21
--- Install.pm	24 Sep 2007 17:43:37 -0000
***************
*** 17,22 ****
--- 17,32 ----
  @ISA = qw(Exporter);
  @EXPORT_OK = qw(Install);
  
+ sub lcopy
+ {
+ 	my $src = shift;
+ 	my $target = shift;
+ 
+ 	unlink $target if -f $target;
+ 
+ 	copy($src,$target);
+ }
+ 
  sub Install
  {
      $| = 1;
***************
*** 43,49 ****
          'doc/contrib', 'symbols', 'share/tsearch_data');
  
      CopySolutionOutput($conf, $target);
!     copy($target . '/lib/libpq.dll', $target . '/bin/libpq.dll');
  	my $sample_files = [];
  	File::Find::find({wanted => 
  						  sub { /^.*\.sample\z/s && 
--- 53,59 ----
          'doc/contrib', 'symbols', 'share/tsearch_data');
  
      CopySolutionOutput($conf, $target);
!     lcopy($target . '/lib/libpq.dll', $target . '/bin/libpq.dll');
  	my $sample_files = [];
  	File::Find::find({wanted => 
  						  sub { /^.*\.sample\z/s && 
***************
*** 113,119 ****
          print ".";
          $f = $basedir . $f;
          die "No file $f\n" if (!-f $f);
!         copy($f, $target . basename($f))
            || croak "Could not copy $f to $target". basename($f). " to $target". basename($f) . "\n";
      }
      print "\n";
--- 123,129 ----
          print ".";
          $f = $basedir . $f;
          die "No file $f\n" if (!-f $f);
!         lcopy($f, $target . basename($f))
            || croak "Could not copy $f to $target". basename($f). " to $target". basename($f) . "\n";
      }
      print "\n";
***************
*** 131,137 ****
          next if /ecpg.test/; # Skip temporary install in regression subdir
          my $tgt = $target . basename($_);
          print ".";
!         copy($_, $tgt) || croak "Could not copy $_: $!\n";
      }
      print "\n";
  }
--- 141,147 ----
          next if /ecpg.test/; # Skip temporary install in regression subdir
          my $tgt = $target . basename($_);
          print ".";
!         lcopy($_, $tgt) || croak "Could not copy $_: $!\n";
      }
      print "\n";
  }
***************
*** 173,180 ****
              # Static lib, such as libpgport, only used internally during build, don't install
              next;
          }
!         copy("$conf\\$pf\\$pf.$ext","$target\\$dir\\$pf.$ext") || croak "Could not copy $pf.$ext\n";
!         copy("$conf\\$pf\\$pf.pdb","$target\\symbols\\$pf.pdb") || croak "Could not copy $pf.pdb\n";
          print ".";
      }
      print "\n";
--- 183,190 ----
              # 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";
          print ".";
      }
      print "\n";
***************
*** 297,303 ****
                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 '.';
              }
--- 307,313 ----
                if ($d eq 'spi');
              foreach my $f (split /\s+/,$flist)
              {
!                 lcopy('contrib/' . $d . '/' . $f,$target . '/share/contrib/' . basename($f))
                    || croak("Could not copy file $f in contrib $d");
                  print '.';
              }
***************
*** 315,321 ****
                if ($d eq 'spi');
              foreach my $f (split /\s+/,$flist)
              {
!                 copy('contrib/' . $d . '/' . $f, $target . '/doc/contrib/' . $f)
                    || croak("Could not copy file $f in contrib $d");
                  print '.';
              }
--- 325,331 ----
                if ($d eq 'spi');
              foreach my $f (split /\s+/,$flist)
              {
!                 lcopy('contrib/' . $d . '/' . $f, $target . '/doc/contrib/' . $f)
                    || croak("Could not copy file $f in contrib $d");
                  print '.';
              }
***************
*** 359,365 ****
          $target . '/include/',
          'src/include/', 'postgres_ext.h', 'pg_config.h', 'pg_config_os.h', 'pg_config_manual.h'
      );
!     copy('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');
--- 369,375 ----
          $target . '/include/',
          'src/include/', 'postgres_ext.h', 'pg_config.h', 'pg_config_os.h', 'pg_config_manual.h'
      );
!     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');
***************
*** 374,380 ****
          $target . '/include/internal/',
          'src/include/', 'c.h', 'port.h', 'postgres_fe.h'
      );
!     copy('src/include/libpq/pqcomm.h', $target . '/include/internal/libpq/')
        || croak 'Could not copy pqcomm.h';
  
      CopyFiles(
--- 384,390 ----
          $target . '/include/internal/',
          'src/include/', 'c.h', 'port.h', 'postgres_fe.h'
      );
!     lcopy('src/include/libpq/pqcomm.h', $target . '/include/internal/libpq/')
        || croak 'Could not copy pqcomm.h';
  
      CopyFiles(
