blob: 261b947ed9ea6cfe63885a30be9077da2e10aa5b [file] [log] [blame]
#!/usr/bin/perl
use strict;
use warnings;
use lib '../lib';
my $fil = "version.h";
my $ver;
foreach (@ARGV) {
my ($opt, $arg) = (split(/=/, $_, 2));
if ($opt eq '--with-version') {
if ($arg =~ /^(\d)\.(\d\d\d)_?(\d\d\d)/) {
$ver = join(".", $1*1, $2*1, $3*1);
}
else {
$ver = $arg;
}
}
}
print "version.h.pl: creating $fil\n";
unless ($ver) {
if (-e '../lib/Mail/SpamAssassin.pm') {
eval {
require Mail::SpamAssassin;
$ver = Mail::SpamAssassin::Version();
};
}
else {
$@ = "File not found.";
}
unless ($ver) {
die join("\n", "Failed to get the version from Mail::SpamAssassin.",
"Please use the --with-version= switch to specify it manually.",
"",
"The error was:",
$@,
);
}
}
open IN, "<$fil.in" || die "Failed to open $fil.in: $!";
open OUT, ">$fil" || die "Failed to open $fil: $!";
print OUT "/* $fil. Generated by $0. */\n";
foreach (<IN>) {
s/(#define\s+VERSION_STRING\s+)".*"/$1"$ver"/;
print OUT;
}
close IN;
close OUT;