From c4ff126a35968ad69c43f8cd9950fc353eed6e85 Mon Sep 17 00:00:00 2001 From: "William A. Rowe Jr" Date: Sun, 25 Feb 2001 22:03:29 +0000 Subject: [PATCH] Ok ... .mak files are nasty. Here's a bit to clean up -some- of that nastyness - the absolute paths that .dsp dependencies off of parent directories are encoded with. This chops cd "\checkout\httpd-2.0" from the support directory down to cd "..", a much nicer solution. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88334 13f79535-47bb-0310-9956-ffa450edef68 --- build/fixwin32mak.pl | 48 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 build/fixwin32mak.pl diff --git a/build/fixwin32mak.pl b/build/fixwin32mak.pl new file mode 100644 index 0000000000..d447697d1d --- /dev/null +++ b/build/fixwin32mak.pl @@ -0,0 +1,48 @@ +# +# 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; +$root =~ s|.:(.*)|cd "$1|; +$root =~ s|/|\\\\|g; +print $root . "\n"; +find(\&fixcwd, '.'); + +sub fixcwd { + if (m|.mak$|) { + $repl = $File::Find::dir; + $repl =~ s|^./||; + $repl =~ s|[^\./]+|..|g; + $repl =~ s|/|\\\\|; + $oname = $_; + $tname = '.#' . $_; + $verchg = 0; + $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; + } + } +} -- 2.40.0