blob: b51055801798e20f33c8dbd9ba68a3e136edb8da [file] [log] [blame]
#! /usr/bin/perl
my $srcdir = $ENV{srcdir} || ".";
# get numbers from ChangeLog
open IN, "<$srcdir/ChangeLog" or die "error opening $srcdir/ChangeLog";
my $line = scalar(<IN>);
if ($line =~ /\d+\.\d+ \((NOT.*)\)/) {
die "ChangeLog still bears $1 (line 1)";
}
if ($line !~ /^(\d+\.\d+):\s*/) {
die "ChangeLog parse error (line 1)";
}
my $changelog_version = $1;
# get numbers from protobuf-c.h
open IN, "<$srcdir/src/google/protobuf-c/protobuf-c.h" or die "error opening $srcdir/src/google/protobuf-c/protobuf-c.h";
while (<IN>)
{
if (/^\#define\s+PROTOBUF_C_MAJOR\s+(\d+)\s*$/)
{ $c_major = $1; }
if (/^\#define\s+PROTOBUF_C_MINOR\s+(\d+)\s*$/)
{ $c_minor = $1; }
}
if (!defined $c_minor || !defined $c_major)
{ die "missing PROTOBUF_C_MINOR or PROTOBUF_C_MAJOR in protobuf-c.h" }
$c_version = "$c_major.$c_minor";
# get numbers from configure.ac
open IN, "<$srcdir/configure.ac" or die "error opening $srcdir/configure.ac";
my $line = scalar(<IN>);
die "first line of configure.ac did not match our expectations"
unless $line =~ /AC_INIT\(\[protobuf-c\], \[(\d+\.\d+)\]\)/;
my $configure_version = $1;
if ($c_version ne $configure_version || $c_version ne $changelog_version)
{
print STDERR <<"EOF";
Versions mismatched:
from configure.ac $configure_version
from ChangeLog $changelog_version
from protobuf-c.h $c_version
EOF
exit(1);
}
exit(0);