1 package My::Build::Win32_MinGW_Bakefile;
4 use base qw(My::Build::Win32_MinGW My::Build::Win32_Bakefile);
5 use My::Build::Utility qw(awx_install_arch_file awx_install_arch_auto_file);
9 sub awx_wx_config_data {
10 My::Build::Win32::_init();
13 return $self->{awx_data} if $self->{awx_data};
15 my %data = ( %{$self->SUPER::awx_wx_config_data},
20 my $cflags = 'CXXFLAGS=" -Os -DNO_GCC_PRAGMA "';
21 my $final = $self->awx_debug ? 'BUILD=debug'
23 my $unicode = $self->awx_unicode ? 'UNICODE=1' : 'UNICODE=0';
24 $unicode .= ' MSLU=1' if $self->awx_mslu;
27 my $make = $self->_find_make;
28 chdir File::Spec->catdir( $ENV{WXDIR}, 'samples', 'minimal' );
29 my @t = qx($make -n -f makefile.gcc $final $unicode $cflags SHARED=1);
31 my( $orig_libdir, $libdir, $digits );
36 m/-lwxbase(\d+)/ and $digits = $1;
39 s/\s+\S+\.(exe|o)/ /gi;
41 {$orig_libdir = File::Spec->canonpath
42 ( File::Spec->rel2abs( $1 ) );
43 '-L' . ( $libdir = awx_install_arch_file( $self, 'rEpLaCe/lib' ) )}eg;
45 } elsif( s/^\s*g\+\+\s+// ) {
46 s/\s+\S+\.(cpp|o|d)/ /g;
49 s{[-/]I(\S+)}{'-I' . File::Spec->canonpath
50 ( File::Spec->rel2abs( $1 ) )}egi;
51 s{[-/]I(\S+)[\\/]samples[\\/]minimal(\s|$)}{-I$1\\contrib\\include }i;
52 s{[-/]I(\S+)[\\/]samples(\s|$)}{ }i;
58 die 'Could not find wxWidgets lib directory' unless $libdir;
60 $data{dlls} = $self->awx_grep_dlls( $orig_libdir, $digits, $self->awx_is_monolithic );
61 $data{version} = $digits;
63 $self->{awx_data} = \%data;
67 my $make = $_[0]->_find_make;
68 "$make -f makefile.gcc all "
74 $self->My::Build::Win32_Bakefile::build_wxwidgets( @_ );