You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by wr...@apache.org on 2001/03/08 16:22:32 UTC
cvs commit: apr-util/build fixwin32mak.pl
wrowe 01/03/08 07:22:32
Added: build fixwin32mak.pl
Log:
Script to fix apr-util's path for apr in the win32 .mak files... always
run whenever exporting the .mak files, and always _before_ the copy of
this script in httpd-2.0/build, if this is a checkout for that project.
Revision Changes Path
1.1 apr-util/build/fixwin32mak.pl
Index: fixwin32mak.pl
===================================================================
#
# fixwin32mak.pl ::: Apache/Win32 maintanace program
#
# This program, launched from the build/ directory, replaces all nasty absoulute paths
# in the win32 .mak files with the appropriate relative root.
#
# Run this program prior to committing or packaging any newly exported make files.
use Cwd;
use IO::File;
use File::Find;
chdir '..';
$root = cwd;
# ignore our own direcory (allowing us to move into any parallel tree)
$root =~ s|^.:(.*)/.*?$|cd "$1|;
$root =~ s|/|\\\\|g;
print "Testing " . $root . "\n";
find(\&fixcwd, '.');
sub fixcwd {
if (m|.mak$|) {
# note repl is broken... isn't freindly to directories with periods.
$repl = $File::Find::dir;
# replace ./ with the parent (moving into any parallel tree)
$repl =~ s|^\./|../|;
# replace each directory in this path with .. to get back to our root
$repl =~ s|[^/]+|..|g;
$repl =~ s|/|\\|;
$oname = $_;
$tname = '.#' . $_;
$verchg = 0;
print "Processing " . $_ . "\n";
$srcfl = new IO::File $_, "r" || die;
$dstfl = new IO::File $tname, "w" || die;
while ($src = <$srcfl>) {
if ($src =~ s|^(\s*)$root|$1cd "$repl|) {
$verchg = -1;
}
print $dstfl $src;
}
undef $srcfl;
undef $dstfl;
if ($verchg) {
unlink $oname || die;
rename $tname, $oname || die;
print "Corrected absolute paths within " . $oname . " in " . $File::Find::dir . "\n";
}
else {
unlink $tname;
}
}
}