package My::Build;
use strict;
use base qw(Module::Build);
use Config;
use File::Spec;
our @ISA;
$main::NO_INIT = $main::NO_INIT; # no warnings...
sub awx_get_package {
local $_ = $Config{osname};
# Win32
/MSWin32/ and return 'Win32';
# MacOS X is slightly different...
/darwin/ and return 'MacOSX_wx_config';
# default
return 'Any_wx_config';
}
BEGIN {
my $package = 'My::Build';
# iterate until fixed point
for( ; !$main::NO_INIT; ) {
my $full_package = 'My::Build::' . $package->awx_get_package;
last if $package eq $full_package;
my $file = $full_package . '.pm'; $file =~ s{::}{/}g;
require $file;
@ISA = ( $full_package );
$package = $full_package;
}
}
1;