File: generate-version.pl

package info (click to toggle)
jserv 1.1.2-2
  • links: PTS
  • area: contrib
  • in suites: woody
  • size: 4,584 kB
  • ctags: 3,019
  • sloc: sh: 7,715; java: 6,635; ansic: 5,013; makefile: 814; perl: 39; xml: 32
file content (44 lines) | stat: -rw-r--r-- 895 bytes parent folder | download | duplicates (2)
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
#/usr/bin/perl -w

if($#ARGV < 1)
{
	die "usage: generate-version <version> <target_dir> <source files>\n";
}

$version = shift(@ARGV);
$target_dir = shift(@ARGV);
print "version: $version\n";
print "target_dir: $target_dir\n";

foreach $file (@ARGV) {
	open(READFILE,$file);
	$file =~/.*\/(.+)$/iog;
	if($1 eq "") {
		$target_file = $file;
	} else {
		$target_file = $1;
	}

	open(WRITEFILE,">$target_dir/$target_file");
	print "$file => $target_dir/$target_file\n";
	$proper_version = 1;
	print WRITEFILE "/* This is code for version $version\n";
	print WRITEFILE "   It's generated, so don't bother editing it */\n";
	while(<READFILE>) {
		if(/^\s*#ifdef\s+/iog) {
			if(! /$version\s*$/iog) {
				$proper_version = 0;
			}
			next;
		}
		if(/^\s*#endif\s*$/iog) {
			$proper_version = 1;
			next;
		}
		if($proper_version) {
			print WRITEFILE;
		}
	}
	close(WRITEFILE);
	close(READFILE);
}