Add libwx-perl
[pkg-perl] / deb-src / libwx-perl / libwx-perl-0.96 / blib / lib / Wx / build / MakeMaker / Win32.pm
diff --git a/deb-src/libwx-perl/libwx-perl-0.96/blib/lib/Wx/build/MakeMaker/Win32.pm b/deb-src/libwx-perl/libwx-perl-0.96/blib/lib/Wx/build/MakeMaker/Win32.pm
new file mode 100755 (executable)
index 0000000..368aad6
--- /dev/null
@@ -0,0 +1,89 @@
+package Wx::build::MakeMaker::Win32;
+
+use strict;
+use base 'Wx::build::MakeMaker::Any_OS';
+use Wx::build::Utils;
+use Config;
+
+sub is_mingw() { $Config{cc} =~ /gcc/ }
+sub is_msvc() { $Config{cc} =~ /cl/ }
+
+sub get_flags {
+  my $this = shift;
+  my %config = $this->SUPER::get_flags;
+
+  $config{CC} = Alien::wxWidgets->compiler;
+  $config{LD} = Alien::wxWidgets->linker;
+  # used to be CCFLAGS, but overrode CCFLAGS from MakeMaker
+  $config{CC} .= ' ' . Alien::wxWidgets->c_flags . ' ';
+#  $config{dynamic_lib}{OTHERLDFLAGS} = Alien::wxWidgets->link_flags;
+  $config{clean}{FILES} .= is_mingw ? ' dll.base dll.exp '
+                                    :' *.pdb *.pdb *_def.old ';
+  $config{DEFINE} .= Alien::wxWidgets->defines . ' ';
+  $config{INC} .= Alien::wxWidgets->include_path;
+
+  if( $this->_debug ) {
+    $config{OPTIMIZE} = ' ';
+  }
+
+  if( is_mingw() ) {
+      # add $MINGWDIR/lib to lib search path, to stop perl from complaining...
+      my $path = Wx::build::Utils::path_search( 'gcc.exe' )
+        or warn "Unable to find gcc";
+      $path =~ s{bin[\\/]gcc\.exe$}{}i;
+      $config{LIBS} = "-L${path}lib " . ( $config{LIBS} || '' );
+  } else {
+      $config{DEFINE} .= '-D_CRT_SECURE_NO_DEPRECATE ';
+  }
+
+  return %config;
+}
+
+sub configure_core {
+  my $this = shift;
+  my %config = $this->SUPER::configure_core( @_ );
+
+  my $res = $this->_res_file;
+  $config{depend}      = { $res => 'Wx.rc ' };
+  $config{LDFROM}     .= "\$(OBJECT) $res ";
+  $config{dynamic_lib}{INST_DYNAMIC_DEP} .= " $res";
+  $config{clean}{FILES} .= " $res Wx_def.old";
+
+  return %config;
+}
+
+sub postamble_core {
+  my $this = shift;
+  my $text = $this->SUPER::postamble_core( @_ );
+
+  return $text unless $Wx::build::MakeMaker::Core::has_alien;
+
+  my $wxdir = Alien::wxWidgets->wx_base_directory;
+  my $command = $this->_res_command;
+  my $res_file = $this->_res_file;
+
+  $command =~ s/%incdir/$wxdir\\include/;
+  $command =~ s/%src/Wx.rc/;
+  $command =~ s/%dest/$res_file/;
+  my $strip = $this->_strip_command;
+
+  $text .= sprintf <<'EOT', $res_file, $command, $strip;
+
+%s : Wx.rc
+       %s
+
+# for compatibility
+ppmdist : ppm
+
+ppm : pure_all
+%s
+       perl script/make_ppm.pl
+
+EOT
+}
+
+1;
+
+# local variables:
+# mode: cperl
+# end: