Alien-wxWidgets
view release on metacpan or search on metacpan
lib/Alien/wxWidgets.pm view on Meta::CPAN
my $lib_filter = $VALUES{version} >= 2.005001 ? qr/(?!a)a/ : # no match
$^O =~ /MSWin32/ ? qr/^(?:$lib_nok|gl)$/ :
qr/^(?:$lib_nok)$/;
my( $type, @libs ) = @_;
my $dlls = $VALUES{_libraries};
@libs = keys %$dlls unless @libs;
push @libs, 'core', 'base' unless grep /^core|mono$/, @libs;
my $lib_mono = $VALUES{version} >= 2.009 ? $lib_mono_29 : $lib_mono_28;
if( ( $VALUES{config}{build} || '' ) eq 'mono' ) {
@libs = map { $_ eq 'core' ? ( 'mono' ) :
$_ =~ /^(?:$lib_mono)$/ ? () :
$_ } @libs;
@libs = qw(mono) unless @libs;
}
return map { _remap( $_ ) }
map { defined( $dlls->{$_}{$type} ) ? $dlls->{$_}{$type} :
croak "No such '$type' library: '$_'" }
grep !/$lib_filter/, @libs;
}
sub link_libraries { shift; return _grep_libraries( 'link', @_ ) }
sub shared_libraries { shift; return _grep_libraries( 'dll', @_ ) }
sub import_libraries { shift; return _grep_libraries( 'lib', @_ ) }
sub library_keys { shift; return keys %{$VALUES{_libraries}} }
sub libraries {
my $class = shift;
return ( _remap( $VALUES{link_libraries} ) || '' ) . ' ' .
join ' ', map { _remap( $_ ) }
$class->link_libraries( @_ );
}
1;
__END__
=head1 METHODS
=head2 load/import
use Alien::wxWidgets version => 2.004 | [ 2.004, 2.005 ],
compiler_kind => 'gcc' | 'cl', # Windows only
compiler_version => '3.3', # only GCC for now
toolkit => 'gtk2',
debug => 0 | 1,
unicode => 0 | 1,
mslu => 0 | 1,
key => $key,
;
Alien::wxWidgets->load( <same as the above> );
Using C<Alien::wxWidgets> without parameters will load a default
configuration (for most people this will be the only installed
confiuration). Additional parameters allow to be more selective.
If there is no matching configuration the method will C<die()>.
In case no arguments are passed in the C<use>, C<Alien::wxWidgets>
will try to find a reasonable default configuration.
Please note that when the version is pecified as C<version => 2.004>
it means "any version >= 2.004" while when specified as
C<version => [ 2.004, 2.005 ]> it means "any version => 2.004 and < 2.005".
=head2 key
my $key = Alien::wxWidgets key;
Returns an unique key that can be used to reload the
currently-loaded configuration.
=head2 version
my $version = Alien::wxWidgets->version;
Returns the wxWidgets version for this C<Alien::wxWidgets>
installation in the form MAJOR + MINOR / 1_000 + RELEASE / 1_000_000
e.g. 2.008012 for wxWidgets 2.8.12 and 2.009 for wxWidgets 2.9.0.
=head2 config
my $config = Alien::wxWidgets->config;
Returns some miscellaneous configuration informations for wxWidgets
in the form
{ toolkit => 'msw' | 'gtk' | 'motif' | 'x11' | 'cocoa' | 'mac',
debug => 1 | 0,
unicode => 1 | 0,
mslu => 1 | 0,
}
=head2 include_path
my $include_path = Alien::wxWidgets->include_path;
Returns the include paths to be used in a format suitable for the
compiler (usually something like "-I/usr/local/include -I/opt/wx/include").
=head2 defines
my $defines = Alien::wxWidgets->defines;
Returns the compiler defines to be used in a format suitable for the
compiler (usually something like "-D__WXDEBUG__ -DFOO=bar").
=head2 c_flags
my $cflags = Alien::wxWidgets->c_flags;
Returns additional compiler flags to be used.
=head2 compiler
( run in 1.111 second using v1.01-cache-2.11-cpan-e1769b4cff6 )