summaryrefslogtreecommitdiff
path: root/windows-NT/fix-msvc-mak.pl
blob: 28c0cf0a2b0f917232c957353eb792e3475c2913 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#! perl -w

use strict;



sub save_edit {
	my ($found, $file_name, $temp_name) = @_;

	if ($found <= 0) {
		unlink $temp_name;
		print "no change: ", $file_name, "\n";
	} else {
		rename $temp_name, $file_name;
		print "save edit: ", $file_name, "\n";
	}
}



sub fix_basetsd_dep {
	my ($file_name) = @_;
	my $temp_name = $file_name . ".tmp";

	open FINP, "< " . $file_name or die "open error: ", $file_name;
	open FOUT, "> " . $temp_name or die "open error: ", $temp_name;

	my $found = 0;
	while (<FINP>) {
		if (/basetsd\.h/) {
			$found += 1;
		} else {
			print FOUT $_;
		}
	}

	close FOUT;
	close FINP;

	save_edit $found, $file_name, $temp_name;
}



sub fix_cvsnt_mak {
	my $file_name = "cvsnt.mak";
	my $temp_name = $file_name . ".tmp";

	open FINP, "< " . $file_name or die "open error: ", $file_name;
	open FOUT, "> " . $temp_name or die "open error: ", $temp_name;

	my $found = 0;
	while (<FINP>) {
		if ($. == 2 && !/RECURSE/) {
			$found += 1;
			print FOUT qq/!IF "\$(RECURSE)" == ""\n/;
			print FOUT "RECURSE=1\n";
			print FOUT "!ENDIF\n";
		}
		print FOUT $_;
	}

	close FOUT;
	close FINP;

	save_edit $found, $file_name, $temp_name;
}



sub fix_libdiff_mak {
	my $file_name = "diff/libdiff.mak";
	my $temp_name = $file_name . ".tmp";

	open FINP, "< " . $file_name or die "open error: ", $file_name;
	open FOUT, "> " . $temp_name or die "open error: ", $temp_name;

	my $found = 0;
	while (<FINP>) {
		if (/^[ \t]+cd[ \t]+"\\.*\\[Ll][Ii][Bb]"$/) {
			$found += 1;
			s/cd[ \t]+.*/cd "..\\lib"/;
		}
		print FOUT $_;
	}

	close FOUT;
	close FINP;

	save_edit $found, $file_name, $temp_name;
}




fix_basetsd_dep "cvsnt.dep";
fix_basetsd_dep "lib/libcvs.dep";
fix_cvsnt_mak;
fix_libdiff_mak;