Merge branch 'mirbsd'
[alioth/cvs.git] / windows-NT / fix-msvc-mak.pl
1 #! perl -w
2
3 use strict;
4
5
6
7 sub save_edit {
8         my ($found, $file_name, $temp_name) = @_;
9
10         if ($found <= 0) {
11                 unlink $temp_name;
12                 print "no change: ", $file_name, "\n";
13         } else {
14                 rename $temp_name, $file_name;
15                 print "save edit: ", $file_name, "\n";
16         }
17 }
18
19
20
21 sub fix_basetsd_dep {
22         my ($file_name) = @_;
23         my $temp_name = $file_name . ".tmp";
24
25         open FINP, "< " . $file_name or die "open error: ", $file_name;
26         open FOUT, "> " . $temp_name or die "open error: ", $temp_name;
27
28         my $found = 0;
29         while (<FINP>) {
30                 if (/basetsd\.h/) {
31                         $found += 1;
32                 } else {
33                         print FOUT $_;
34                 }
35         }
36
37         close FOUT;
38         close FINP;
39
40         save_edit $found, $file_name, $temp_name;
41 }
42
43
44
45 sub fix_cvsnt_mak {
46         my $file_name = "cvsnt.mak";
47         my $temp_name = $file_name . ".tmp";
48
49         open FINP, "< " . $file_name or die "open error: ", $file_name;
50         open FOUT, "> " . $temp_name or die "open error: ", $temp_name;
51
52         my $found = 0;
53         while (<FINP>) {
54                 if ($. == 2 && !/RECURSE/) {
55                         $found += 1;
56                         print FOUT qq/!IF "\$(RECURSE)" == ""\n/;
57                         print FOUT "RECURSE=1\n";
58                         print FOUT "!ENDIF\n";
59                 }
60                 print FOUT $_;
61         }
62
63         close FOUT;
64         close FINP;
65
66         save_edit $found, $file_name, $temp_name;
67 }
68
69
70
71 sub fix_libdiff_mak {
72         my $file_name = "diff/libdiff.mak";
73         my $temp_name = $file_name . ".tmp";
74
75         open FINP, "< " . $file_name or die "open error: ", $file_name;
76         open FOUT, "> " . $temp_name or die "open error: ", $temp_name;
77
78         my $found = 0;
79         while (<FINP>) {
80                 if (/^[ \t]+cd[ \t]+"\\.*\\[Ll][Ii][Bb]"$/) {
81                         $found += 1;
82                         s/cd[ \t]+.*/cd "..\\lib"/;
83                 }
84                 print FOUT $_;
85         }
86
87         close FOUT;
88         close FINP;
89
90         save_edit $found, $file_name, $temp_name;
91 }
92
93
94
95
96 fix_basetsd_dep "cvsnt.dep";
97 fix_basetsd_dep "lib/libcvs.dep";
98 fix_cvsnt_mak;
99 fix_libdiff_mak;