package Wx::Mini; # for RPM

package Wx;

use strict;

our( $VERSION, $XS_VERSION );
our $alien_key = 'gtk2_2_8_10_uni_gcc_3_4';

{
    my $VAR1;
    $Wx::dlls = $VAR1 = {
          'base' => 'libwx_baseu-2.8.so',
          'richtext' => 'libwx_gtk2u_richtext-2.8.so',
          'core' => 'libwx_gtk2u_core-2.8.so',
          'stc' => 'libwx_gtk2u_stc-2.8.so',
          'fl' => 'libwx_gtk2u_fl-2.8.so',
          'aui' => 'libwx_gtk2u_aui-2.8.so',
          'gl' => 'libwx_gtk2u_gl-2.8.so',
          'net' => 'libwx_baseu_net-2.8.so',
          'html' => 'libwx_gtk2u_html-2.8.so',
          'gizmos' => 'libwx_gtk2u_gizmos-2.8.so',
          'qa' => 'libwx_gtk2u_qa-2.8.so',
          'media' => 'libwx_gtk2u_media-2.8.so',
          'xml' => 'libwx_baseu_xml-2.8.so',
          'xrc' => 'libwx_gtk2u_xrc-2.8.so',
          'adv' => 'libwx_gtk2u_adv-2.8.so'
        };
;
}

$VERSION = '0.96'; # bootstrap will catch wrong versions
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;

#
# XSLoader/DynaLoader wrapper
#
our( $wx_path );

sub wxPL_STATIC();
sub wx_boot($$) {
  local $ENV{PATH} = $wx_path . ';' . $ENV{PATH} if $wx_path;
  if( $_[0] eq 'Wx' || !wxPL_STATIC ) {
    if( $] < 5.006 ) {
      require DynaLoader;
      no strict 'refs';
      push @{"$_[0]::ISA"}, 'DynaLoader';
      $_[0]->bootstrap( $_[1] );
    } else {
      require XSLoader;
      XSLoader::load( $_[0], $_[1] );
    }
  } else {
    no strict 'refs';
    my $t = $_[0]; $t =~ tr/:/_/;
    &{"_boot_$t"}( $_[0], $_[1] );
  }
}

sub _alien_path {
  return if defined $wx_path;
  return unless length 'local';
  foreach ( @INC ) {
    if( -d "$_/Alien/wxWidgets/local" ) {
      $wx_path = "$_/Alien/wxWidgets/local/lib";
      last;
    }
  }
}

_alien_path();

sub _start {
    wx_boot( 'Wx', $XS_VERSION );

    _boot_Constant( 'Wx', $XS_VERSION );
    _boot_GDI( 'Wx', $XS_VERSION );

    Load();
}

1;
