X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Build.PL;h=142b973d4b0ab30ea3300b5bffecc518e8c972db;hb=14158e5a367dee2f013905e5e2ee2bf3b33581b6;hp=8d89fd9f91b8873ca8ba4d1480a6aad6fcd8daad;hpb=c6a7b1aadf7dc429505d6040b9a9837bc3446899;p=sdlgit%2FSDL_perl.git diff --git a/Build.PL b/Build.PL index 8d89fd9..142b973 100644 --- a/Build.PL +++ b/Build.PL @@ -5,24 +5,25 @@ # 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,50 @@ my %subsystems = SDL => { file => { from => 'src/SDL.xs', - to => './SDL_perl.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/Core/objects/Rect.xs', + to => 'lib/SDL/Rect.xs', + }, + libraries => [qw( SDL )], + }, + Color => { + file => { + from => 'src/Core/objects/Color.xs', + to => 'lib/SDL/Color.xs', + }, + libraries => [qw( SDL )], + }, + Surface => { + file => { + from => 'src/Core/objects/Surface.xs', + to => 'lib/SDL/Surface.xs', + }, + libraries => [qw( SDL SDL_image )], + }, + PixelFormat => { + file => { + from => 'src/Core/objects/PixelFormat.xs', + to => 'lib/SDL/PixelFormat.xs', + }, + libraries => [qw( SDL SDL_image )], + }, 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 )], }, @@ -126,20 +155,38 @@ my $build = SDL::Build->new( dist_name => 'SDL_Perl', license => 'lgpl', dist_version_from => 'lib/SDL.pm', - build_requires => + configure_requires => + { + 'YAML' => '0.68', + 'ExtUtils::CBuilder' => '0.260301', + 'Alien::SDL' => '0.7.1', + }, + build_requires => { 'Test::Simple' => '0.47', - 'Module::Build' => '0.22', + }, build_recommends => { - 'Pod::ToDemo' => '0.20', + 'Pod::ToDemo' => '0.20' }, c_source => 'src', xs_files => \%xs, - dist_author => 'David J. Goehrig ', + meta_add => + { + no_index => { file => [ , , , , ] }, + }, + dist_author => 'David J. Goehrig , Kartik Thakore ', ); +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, @@ -150,6 +197,5 @@ $build->set_flags( $sdl_compile_flags, $sdl_link_flags, ); - # now we're ready to go! $build->create_build_script();