package platform::mingw; use strict; use warnings; use Carp; use vars qw(@ISA); require platform::Unix; @ISA = qw(platform::Unix); # Assume someone set @INC right before loading this module use configdata; sub binext { '.exe' } sub objext { '.obj' } sub libext { '.a' } sub dsoext { '.dll' } sub defext { '.def' } # Other extra that aren't defined in platform::BASE sub resext { '.res.obj' } sub shlibext { '.dll' } sub shlibextimport { $target{shared_import_extension} || '.dll.a' } sub shlibextsimple { undef } sub makedepcmd { $disabled{makedepend} ? undef : $config{makedepcmd} } (my $sover_filename = $config{shlib_version}) =~ s|\.|_|g; sub shlib_version_as_filename { return $sover_filename; } sub sharedname { return platform::BASE::__concat(platform::BASE->sharedname($_[1]), "-", $_[0]->shlib_version_as_filename(), ($config{target} eq "mingw64" ? "-x64" : "")); } # With Mingw and other DLL producers, there isn't any "simpler" shared # library name. However, there is a static import library. sub sharedlib_simple { return undef; } sub sharedlib_import { return platform::BASE::__concat(platform::BASE->sharedname($_[1]), $_[0]->shlibextimport()); } 1;