46 lines
1.4 KiB
Perl
46 lines
1.4 KiB
Perl
|
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' }
|
||
|
sub shlibext { '.dll' }
|
||
|
sub shlibextimport { $target{shared_import_extension} || '.dll.a' }
|
||
|
sub shlibextsimple { undef }
|
||
|
sub makedepprog { $disabled{makedepend} ? undef : $config{makedepprog} }
|
||
|
|
||
|
(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 really any "simpler"
|
||
|
# shared library name. However, there is a static import library, so
|
||
|
# we return that instead.
|
||
|
sub sharedlib_simple {
|
||
|
return platform::BASE::__concat(platform::BASE->sharedname($_[1]),
|
||
|
$_[0]->shlibextimport());
|
||
|
}
|
||
|
|
||
|
1;
|