1package platform::mingw; 2 3use strict; 4use warnings; 5use Carp; 6 7use vars qw(@ISA); 8 9require platform::Unix; 10@ISA = qw(platform::Unix); 11 12# Assume someone set @INC right before loading this module 13use configdata; 14 15sub binext { '.exe' } 16sub objext { '.obj' } 17sub libext { '.a' } 18sub dsoext { '.dll' } 19sub defext { '.def' } 20 21# Other extra that aren't defined in platform::BASE 22sub resext { '.res.obj' } 23sub shlibext { '.dll' } 24sub shlibextimport { $target{shared_import_extension} || '.dll.a' } 25sub shlibextsimple { undef } 26sub makedepcmd { $disabled{makedepend} ? undef : $config{makedepcmd} } 27 28(my $sover_filename = $config{shlib_version}) =~ s|\.|_|g; 29sub shlib_version_as_filename { 30 return $sover_filename; 31} 32sub sharedname { 33 return platform::BASE::__concat(platform::BASE->sharedname($_[1]), 34 "-", 35 $_[0]->shlib_version_as_filename(), 36 ($config{target} eq "mingw64" 37 ? "-x64" : "")); 38} 39 40# With Mingw and other DLL producers, there isn't any "simpler" shared 41# library name. However, there is a static import library. 42sub sharedlib_simple { 43 return undef; 44} 45 46sub sharedlib_import { 47 return platform::BASE::__concat(platform::BASE->sharedname($_[1]), 48 $_[0]->shlibextimport()); 49} 50 511; 52