Remove tests
[pkg-perl] / deb-src / libwx-perl / libwx-perl-0.96 / build / Wx / build / MakeMaker / MacOSX_GCC.pm
1 package Wx::build::MakeMaker::MacOSX_GCC;
2
3 use strict;
4 use base 'Wx::build::MakeMaker::Any_wx_config';
5 use Wx::build::Utils qw(write_string);
6
7 die "Please set MACOSX_DEPLOYMENT_TARGET to 10.3 or above"
8     if $ENV{MACOSX_DEPLOYMENT_TARGET} && $ENV{MACOSX_DEPLOYMENT_TARGET} < 10.3;
9
10 sub configure_core {
11   my $this = shift;
12   my %config = $this->SUPER::configure_core( @_ );
13
14   $config{depend}{'$(INST_STATIC)'} .= ' wxPerl';
15   $config{depend}{'$(INST_DYNAMIC)'} .= ' wxPerl';
16   $config{clean}{FILES} .= " wxPerl cpp/wxPerl.osx/build cpp/wxPerl.osx/wxPerl.c cpp/wxPerl.osx/wxPerl.r";
17
18   return %config;
19 }
20
21 sub const_config {
22     my $text = shift->SUPER::const_config( @_ );
23
24     $text =~ s{^(LD(?:DL)?FLAGS\s*=.*?)-L/usr/local/lib/?}{$1}mg;
25
26     return $text;
27 }
28
29 sub install_core {
30   my $this = shift;
31   my $text = $this->SUPER::install_core( @_ );
32
33   $text =~ m/^(install\s*:+)/m and
34     $text .= "\n\n$1 install_wxperl\n\n";
35
36   return $text;
37 }
38
39 sub postamble_core {
40   my $this = shift;
41   my $text = $this->SUPER::postamble_core( @_ );
42   my $wx_config = $ENV{WX_CONFIG} || 'wx-config';
43   my $rfile;
44
45   return '' unless $Wx::build::MakeMaker::Core::has_alien;
46
47   if(    $Wx::build::MakeMaker::Core::has_alien
48       && Alien::wxWidgets->version < 2.006 ) {
49     my $rsrc = join ' ', grep { /wx/ } split ' ', `$wx_config --rezflags`;
50     $rfile = sprintf <<EOR, $rsrc;
51         echo '#include <Carbon.r>' > cpp/wxPerl.osx/wxPerl.r
52         cat %s >> cpp/wxPerl.osx/wxPerl.r
53 EOR
54   } else {
55     $rfile = <<EOE;
56         echo '#include <Carbon.r>' > cpp/wxPerl.osx/wxPerl.r
57 EOE
58   }
59
60   my $arch = $this->{INSTALLSITEARCH};
61   $arch =~ s/\$\(SITEPREFIX\)/$this->{PREFIX}/e;
62   $arch =~ s/\$\(INSTALL_BASE\)/$this->{INSTALL_BASE}/e;
63   write_string( 'cpp/wxPerl.osx/wxPerl.c', sprintf <<EOT, $arch );
64 #include <unistd.h>
65 #include <stdlib.h>
66 #include <stdio.h>
67
68 int main( int argc, char **argv )
69 {
70     argv[0] = "%s/auto/Wx/wxPerl.app/Contents/MacOS/wxPerl";
71     execv( argv[0], argv );
72     perror( "wxPerl: execv" );
73     exit( 1 );
74 }
75 EOT
76
77   my $arch_flags = join ' ',
78                         ( Alien::wxWidgets->c_flags =~ /(^|\s)(-arch\s+\w+)/g );
79
80   $text .= sprintf <<'EOT', $rfile, $arch_flags, $arch_flags;
81
82 wxPerl : Makefile
83 %s      # cd cpp/wxPerl.osx && xcodebuild -project wxPerl.xcode
84         cd cpp/wxPerl.osx && make ARCH_FLAGS='%s'
85         cp -p $(PERL) `find cpp -name wxPerl.app`/Contents/MacOS/wxPerl
86         mkdir -p $(INST_ARCHLIB)/auto/Wx
87         cp -rp `find cpp -name wxPerl.app` $(INST_ARCHLIB)/auto/Wx
88         $(CC) %s cpp/wxPerl.osx/wxPerl.c -o wxPerl
89
90 install_wxperl :
91         mkdir -p $(DESTINSTALLBIN)
92         cp -p wxPerl $(DESTINSTALLBIN)
93
94 EOT
95
96   return $text;
97 }
98
99 1;
100
101 # local variables:
102 # mode: cperl
103 # end: