package SDL::Build::MSWin32;
use strict;
-
+use warnings;
+use Carp;
use base 'SDL::Build';
use File::Spec::Functions;
sub fetch_includes
-{
- die "Environment variable INCLUDE is empty\n" unless $ENV{INCLUDE};
+{
+ warn "Environment variable INCLUDE is empty\n" unless $ENV{INCLUDE}
+ and
return map { $_ => 1 } grep { $_ } split( ';', $ENV{INCLUDE} );
+ return '-I.';
}
sub find_header
{
for my $key (qw( LIBS PATH ))
{
- die "Environment variable $key is empty\n" unless $ENV{$key};
+ #this needs to be carp because some users will have SDL libs in same folder
+ carp "Environment variable $key is empty\n" unless $ENV{$key};
+ carp "This will probably fail the compile \nSet $key manually or try building anyway\n" unless $ENV{$key};
}
my ( $self, $header, $includes ) = @_;
my ( $self, $vendor ) = @_;
return 'ms_gl' unless defined $vendor;
-
return 'mesa_gl' if $vendor eq 'MESA';
return 'ms_gl' if $vendor eq 'MS';
+ croak "Unrecognized GL vendor '$vendor'\n";
- die "Unrecognized GL vendor '$vendor'\n";
}
sub ms_gl_subsystems
$self->SUPER::link_c( @_ );
}
+sub sdl_libs
+{
+ my $self = shift;
+ my $sdl_inst_dir = shift;
+
+
+}
+
+sub alt_link_flags
+{
+ my $self = shift;
+ my $sdl_dir = shift;
+
+ return $self->SUPER::alt_link_flags($sdl_dir).' -lmingw32 -mwindows -lSDLmain -lSDL.dll';
+}
+
+sub alt_compile_flags
+{
+ my $self = shift;
+ my $sdl_dir = shift;
+
+ return $self->SUPER::alt_compile_flages($sdl_dir).' -D_GNU_SOURCE=1 -Dmain=SDL_main';
+}
+
1;