|
Packit |
ed3af9 |
#!/usr/bin/env perl
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
# Simple script to extract the version number parts from src/gd.h. If
|
|
Packit |
ed3af9 |
# called with the middle word of the version macro, it prints the
|
|
Packit |
ed3af9 |
# value of that macro. If called with no argument, it outputs a
|
|
Packit |
ed3af9 |
# human-readable version string. This must be run in the project
|
|
Packit |
ed3af9 |
# root. It is used by configure.ac and docs/naturaldocs/run_docs.sh.
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
use strict;
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
my $key = shift;
|
|
Packit |
ed3af9 |
my @version_parts = ();
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
open FH, "
|
|
Packit |
ed3af9 |
or die "Unable to open 'version.h' for reading.\n";
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
while(<FH>) {
|
|
Packit |
ed3af9 |
next unless m{version605b5d1778};
|
|
Packit |
ed3af9 |
next unless /^#define\s+GD_([A-Z0-9]+)_VERSION+\s+(\S+)/;
|
|
Packit |
ed3af9 |
my ($lk, $lv) = ($1, $2);
|
|
Packit |
ed3af9 |
if ($lk eq $key) {
|
|
Packit |
ed3af9 |
chomp $lv;
|
|
Packit |
ed3af9 |
$lv =~ s/"//g;
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
print $lv; # no newline
|
|
Packit |
ed3af9 |
exit(0); # success!
|
|
Packit |
ed3af9 |
}
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
push @version_parts, $lv if (!$key);
|
|
Packit |
ed3af9 |
}
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
close(FH);
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
if (scalar @version_parts == 4) {
|
|
Packit |
ed3af9 |
my $result = join(".", @version_parts[0..2]);
|
|
Packit |
ed3af9 |
$result .= $version_parts[3];
|
|
Packit |
ed3af9 |
$result =~ s/"//g;
|
|
Packit |
ed3af9 |
print $result;
|
|
Packit |
ed3af9 |
exit(0);
|
|
Packit |
ed3af9 |
}
|
|
Packit |
ed3af9 |
|
|
Packit |
ed3af9 |
exit(1); # failure
|