package wxVersion;

=head1 NAME

wxVersion

=head1 SYNOPSIS

  use wxVersion qw(GetVersion);

=head1 METHODS

=cut

use strict;

use base 'Exporter';
use vars qw(@EXPORT_OK);

@EXPORT_OK = qw(GetVersion);

sub GetVersion()
{
    my $filename = $ENV{"WXWIN"} . "/include/wx/version.h";
    open(VERSION_H, $filename) or die "Can't open $filename: $!\n";

    my %versions;
    my $numGot = 0;

    while ( defined($_ = <VERSION_H>) ) {
        chomp;

        if ( /\s*#define\s+wxMAJOR_VERSION\s+(\d+)/ ) {
            $versions{'MAJOR'} = $1;
            $numGot++;
        }
        elsif ( /\s*#define\s+wxMINOR_VERSION\s+(\d+)/ ) {
            $versions{'MINOR'} = $1;
            $numGot++;
        }
        elsif ( /\s*#define\s+wxRELEASE_NUMBER\s+(\d+)/ ) {
            $versions{'MICRO'} = $1;
            $numGot++;
        }

        last if $numGot == 3    # we've got everything we wanted
    }

    $numGot == 3 or die "Failed to read the version from $filename.\n";

    return %versions;
}

