You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
2.8 KiB
110 lines
2.8 KiB
#!perl
|
|
|
|
# Enable in-place editing
|
|
BEGIN
|
|
{
|
|
$^I = '.bak';
|
|
}
|
|
|
|
use strict;
|
|
use feature 'unicode_strings';
|
|
|
|
# parse line from include/log4cplus/version.h
|
|
|
|
open (my $fh, "<", "include/log4cplus/version.h")
|
|
or die $!;
|
|
|
|
my ($major, $minor, $point, $version);
|
|
while (my $line = <$fh>)
|
|
{
|
|
if ($line =~ m/\s* # \s* define \s+ LOG4CPLUS_VERSION \s+
|
|
LOG4CPLUS_MAKE_VERSION \s* \(
|
|
\s* (\d+) \s* , \s* (\d+) \s* , \s* (\d+) \s* \)/x)
|
|
{
|
|
($major, $minor, $point) = ($1, $2, $3);
|
|
$version = "$major.$minor.$point";
|
|
print "version: ", $version, "\n";
|
|
last;
|
|
}
|
|
}
|
|
|
|
close $fh;
|
|
|
|
# parse SO version from configure.ac
|
|
|
|
open (my $fh2, "<", "configure.ac")
|
|
or die $!;
|
|
|
|
my ($so_current, $so_revision, $so_age, $so_current_adjusted);
|
|
while (my $line = <$fh2>)
|
|
{
|
|
if ($line =~ m/\s* LT_VERSION= \s*
|
|
(\d+) \s* : \s* (\d+) \s* : \s* (\d+) \s*/x)
|
|
{
|
|
($so_current, $so_revision, $so_age) = ($1, $2, $3);
|
|
print +("SO version: ", $so_current, ".", $so_revision, ".", $so_age,
|
|
"\n");
|
|
$so_current_adjusted = $so_current - $so_age;
|
|
print +("MingGW/Cygwin version: ", $major, "-", $minor, "-",
|
|
$so_current_adjusted, "\n");
|
|
last;
|
|
}
|
|
}
|
|
|
|
close $fh2;
|
|
|
|
# edit configure.ac
|
|
|
|
{
|
|
local $^I = ".bak";
|
|
local @ARGV = ("configure.ac");
|
|
while (my $line = <>)
|
|
{
|
|
$line =~ s/(.*AC_INIT\(.*\[)(\d+(?:\.\d+(?:\.\d+)?)?)(\].*)/$1$version$3/x;
|
|
$line =~ s/(.*LT_RELEASE=)(.*)/$1$major.$minor/x;
|
|
print $line;
|
|
}
|
|
|
|
local @ARGV = ("docs/doxygen.config");
|
|
while (my $line = <>)
|
|
{
|
|
$line =~ s/(\s* PROJECT_NUMBER \s* = \s*)(.*)/$1$version/x;
|
|
$line =~ s/(\s* OUTPUT_DIRECTORY \s* = \s*)(.*)/$1log4cplus-$version\/docs/x;
|
|
print $line;
|
|
}
|
|
|
|
local @ARGV = ("docs/webpage_doxygen.config");
|
|
while (my $line = <>)
|
|
{
|
|
$line =~ s/(\s* PROJECT_NUMBER \s* = \s*)(.*)/$1$version/x;
|
|
$line =~ s/(\s* OUTPUT_DIRECTORY \s* = \s*)(.*)/$1webpage_docs-$version/x;
|
|
print $line;
|
|
}
|
|
|
|
local @ARGV = ("log4cplus.spec", "mingw-log4cplus.spec");
|
|
while (my $line = <>)
|
|
{
|
|
$line =~ s/(Version: \s*)(.*)/$1$version/x;
|
|
if ($line =~ /Source\d*:/x)
|
|
{
|
|
$line =~ s/(\d+\.\d+\.\d+)/$version/gx;
|
|
}
|
|
print $line;
|
|
}
|
|
|
|
local @ARGV = ("cygport/log4cplus.cygport");
|
|
while (my $line = <>)
|
|
{
|
|
$line =~ s/(\s* VERSION \s* = \s*)(\d+\.\d+\.\d+)(-.+)?/$1$version$3/x
|
|
|| $line =~ s/\d+ ([._\-]) \d+ ([._\-]) \d+
|
|
/$major$1$minor$2$so_current_adjusted/gx;
|
|
print $line;
|
|
}
|
|
|
|
local @ARGV = ("CMakeLists.txt");
|
|
while (my $line = <>)
|
|
{
|
|
$line =~ s/(set\s*\(log4cplus_soversion\s*)\d+(\))/$1$so_current$2/x;
|
|
print $line;
|
|
}
|
|
}
|