]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Fix build breakage on Unix.
authorSimon Tatham <anakin@pobox.com>
Thu, 17 Dec 2015 09:06:53 +0000 (09:06 +0000)
committerSimon Tatham <anakin@pobox.com>
Thu, 17 Dec 2015 09:06:53 +0000 (09:06 +0000)
Occurred as a side effect of commit 198bca233, in which I wrote a Perl
loop of the form 'foreach $srcdir (@srcdirs)' inside which I modified
$srcdir - forgetting the Perl gotcha that if you do that, $srcdir
temporarily aliases the actual array element, so you end up modifying
the array you iterated over. Hence, a set of transformations intended
to convert the source directory list into a special form for the nmake
batch-mode inference rule syntax in particular ended up back in
@srcdirs to be reflected in unrelated makefiles output later in the
run.

mkfiles.pl

index 3ce0e24ddb9aca0c05e018a0cf753a9e777251a9..51fa6c18dcfeeaeb3ac816b6b7af644c2da99f7c 100755 (executable)
@@ -677,12 +677,13 @@ if (defined $makefiles{'vc'}) {
        }
     }
     print "\n";
-    foreach $srcdir ("", @srcdirs) {
+    foreach $real_srcdir ("", @srcdirs) {
+        $srcdir = $real_srcdir;
         if ($srcdir ne "") {
             $srcdir =~ s!/!\\!g;
             $srcdir = $dirpfx . $srcdir;
             $srcdir =~ s!\\\.\\!\\!;
-            $srcdir = "{$srcdir}"
+            $srcdir = "{$srcdir}";
         }
         # The double colon at the end of the line makes this a
         # 'batch-mode inference rule', which means that nmake will