]> granicus.if.org Git - apache/commitdiff
Ok ... .mak files are nasty. Here's a bit to clean up -some- of that
authorWilliam A. Rowe Jr <wrowe@apache.org>
Sun, 25 Feb 2001 22:03:29 +0000 (22:03 +0000)
committerWilliam A. Rowe Jr <wrowe@apache.org>
Sun, 25 Feb 2001 22:03:29 +0000 (22:03 +0000)
  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 [new file with mode: 0644]

diff --git a/build/fixwin32mak.pl b/build/fixwin32mak.pl
new file mode 100644 (file)
index 0000000..d447697
--- /dev/null
@@ -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;
+       }
+    }
+}