X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Build.PL;h=d1aeb89d9cd08dc3a33d8629e4da6325f3ba54f0;hb=f4666242dd8d4e14cde6b8d75b3430678c838542;hp=90ea47bd450400a9022079f48c24e71d0411e9ce;hpb=b13012a473a23211292913d4a01956c233d47cd2;p=sdlgit%2FSDL_perl.git diff --git a/Build.PL b/Build.PL index 90ea47b..d1aeb89 100644 --- a/Build.PL +++ b/Build.PL @@ -2,27 +2,28 @@ # # Copyright (C) 2003 chromatic # Copyright (C) 2004 David J. Goehrig -# +# Copyright (C) 2009 Kartik Thakore use strict; - +use warnings; +use Carp; use lib 'make/lib'; +use Data::Dumper; use SDL::Build; +use SDL::Utility; use YAML; +use YAML::Node; -my $sdl_compile_flags = `sdl-config --cflags`; -my $sdl_link_flags = `sdl-config --libs`; - -if ($? >> 8) -{ - die "SDL doesn't appear to be installed.\n" . - "Please check that sdl-config is in your path and try again.\n"; -} - -chomp( $sdl_compile_flags ); -chomp( $sdl_link_flags ); +print STDERR <sdl_c_flags(); +my $sdl_link_flags = SDL::Utility->sdl_libs(); # subsystem to build # file # location of source file => location of build file to get name right @@ -35,22 +36,30 @@ my %subsystems = SDL => { file => { from => 'src/SDL.xs', - to => 'SDL.xs', + to => 'lib/SDL_perl.xs', }, libraries => [qw( SDL SDL_image SDL_mixer SDL_net SDL_ttf SDL_gfx png jpeg smpeg )], }, + Rect => { + file => { + from => 'src/Rect.xs', + to => 'lib/SDL/Rect.xs', + }, + libraries => [qw( SDL )], + }, + OpenGL => { file => { from => 'src/OpenGL.xs', - to => 'SDL/OpenGL.xs', + to => 'lib/SDL/OpenGL.xs', }, libraries => [qw( SDL GL GLU )], }, SFont => { file => { from => 'src/SFont.xs', - to => 'SDL/SFont.xs', + to => 'lib/SDL/SFont.xs', }, libraries => [qw( SDL SDL_image )], }, @@ -122,6 +131,7 @@ my $links = $arch->build_links( \%libraries, $build_systems ); my %xs = map { $subsystems{$_}{file}{from} => $subsystems{$_}{file}{to} } keys %subsystems; my $build = SDL::Build->new( + module_name => 'SDL', dist_name => 'SDL_Perl', license => 'lgpl', dist_version_from => 'lib/SDL.pm', @@ -129,16 +139,35 @@ my $build = SDL::Build->new( { 'Test::Simple' => '0.47', 'Module::Build' => '0.22', + 'YAML' => '0.68' }, build_recommends => { - 'Pod::ToDemo' => '0.20', + 'Pod::ToDemo' => '0.20' }, c_source => 'src', xs_files => \%xs, + meta_add => + { + configure_requires => + { + 'Alien::SDL' => '0.06', + 'ExtUtils::CBuilder' => '0.260301' + }, + + no_index => { file => [ , , , , ] }, + }, dist_author => 'David J. Goehrig ', ); +if($arch eq 'Darwin') +{ + $build->{c_source} = $arch->build_c_source( \%libraries, $build_systems ); + $build->{c_sources} = $arch->build_c_sources( \%libraries, $build_systems ); + $build->{install_base} = $arch->build_install_base( \%libraries, $build_systems ); + +} + # and here's where the real (and ugly) magic works... see SDL::Build $build->set_flags( \%subsystems, @@ -149,6 +178,5 @@ $build->set_flags( $sdl_compile_flags, $sdl_link_flags, ); - # now we're ready to go! $build->create_build_script();