From 5cc4a0a95a64f8c878695ad3ea62b9140c8bfe39 Mon Sep 17 00:00:00 2001 From: wrowe Date: Thu, 8 Mar 2001 15:22:31 +0000 Subject: 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. git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@61350 13f79535-47bb-0310-9956-ffa450edef68 --- build/fixwin32mak.pl | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 build/fixwin32mak.pl diff --git a/build/fixwin32mak.pl b/build/fixwin32mak.pl new file mode 100644 index 000000000..d8131fb44 --- /dev/null +++ b/build/fixwin32mak.pl @@ -0,0 +1,53 @@ +# +# 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; + } + } +} -- cgit v1.2.1