summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68>2010-04-01 03:40:51 +0000
committerwrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68>2010-04-01 03:40:51 +0000
commitb043fba39e79692724b9003e92254043d984ce89 (patch)
treec6325cd915f42c48ee4c3ffb1fea5cbe05ed7077
parentaeab9865d9037c7cedbea9d34826b9182803e675 (diff)
downloadlibapr-b043fba39e79692724b9003e92254043d984ce89.tar.gz
Eliminate all external dependencies upon execution of fixwin32mak.pl,
to guard the resulting mak/dep files from header dependency chains that are very specific to one version. This allows apr-util, for example, to build somewhere other than relative to ../apr. Backports: r929796 git-svn-id: http://svn.apache.org/repos/asf/apr/apr/branches/1.4.x@929797 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--build/fixwin32mak.pl22
1 files changed, 22 insertions, 0 deletions
diff --git a/build/fixwin32mak.pl b/build/fixwin32mak.pl
index b559eeccf..49853b34b 100644
--- a/build/fixwin32mak.pl
+++ b/build/fixwin32mak.pl
@@ -135,6 +135,28 @@ sub fixcwd {
print "Touched datestamp for " . $oname . " in " . $File::Find::dir . "\n";
}
$oname =~ s/.mak$/.dep/;
+ $verchg = 0;
+ $srcfl = new IO::File $oname, "r" || die;
+ $dstfl = new IO::File $tname, "w" || die;
+ while ($src = <$srcfl>) {
+ if (($src =~ m/^\t"(\.\.\\)+(apr|apr-util|apr-iconv)\\.*"\\/) ||
+ ($src =~ m/^\t{\$\(INCLUDE\)}".*"\\/)) {
+ $verchg = -1;
+ }
+ else {
+ print $dstfl $src;
+ }
+ }
+ undef $srcfl;
+ undef $dstfl;
+ if ($verchg) {
+ unlink $oname || die;
+ rename $tname, $oname || die;
+ print "Stripped external dependencies from " . $oname . " in " . $File::Find::dir . "\n";
+ }
+ else {
+ unlink $tname || die;
+ }
@ostat = stat($oname);
if ($ostat[9] && $dstat[9] && ($ostat[9] != $dstat[9])) {
@onames = ($oname);