Skip Menu |
 

This queue is for tickets about the ExtUtils-Depends CPAN distribution.

Report information
The Basics
Id: 62455
Status: resolved
Priority: 0/
Queue: ExtUtils-Depends

People
Owner: Nobody in particular
Requestors: sisyphus [...] cpan.org
Cc: JDB [...] cpan.org
AdminCc:

Bug Information
Severity: Important
Broken in: 0.302
Fixed in: (no value)



Subject: [Win32] Incorrect assumptions re 'dlltool' and 'gcc
MIME-Version: 1.0
X-Mailer: MIME-tools 5.427 (Entity 5.427)
X-RT-Original-Encoding: utf-8
Content-Type: multipart/mixed; boundary="----------=_1288082764-2357-108"
Content-Length: 0
Content-Type: text/plain; charset="UTF-8"
Content-Disposition: inline
Content-Transfer-Encoding: binary
Content-Length: 318
Download (untitled) / with headers
text/plain 318b
Depends.pm currently assumes that if, on Win32, the gcc compiler is being used then $Config{cc} will match /^gcc/i . It also assumes that if the compiler is gcc, then the dlltool executable will be name 'dlltool'. Both assumptions are incorrect - attached is a patch that portably fixes the problem. Cheers, Rob
Subject: Depends_pm.diff
MIME-Version: 1.0
Content-Type: application/octet-stream; name="Depends_pm.diff"
X-Mailer: MIME-tools 5.427 (Entity 5.427)
Content-Disposition: inline; filename="Depends_pm.diff"
Content-Transfer-Encoding: base64
Content-Length: 847
Download Depends_pm.diff
text/x-diff 847b
--- Depends.pm_orig Tue Oct 26 19:32:58 2010 +++ Depends.pm Tue Oct 26 19:21:14 2010 @@ -348,15 +348,17 @@ sub static_lib { my $base = shift->SUPER::static_lib(@_); - return $base unless $^O =~ /MSWin32/ && $Config{cc} =~ /^gcc/i; + return $base unless $^O =~ /MSWin32/ && $Config{cc} =~ /\bgcc\b/i; - return <<'__EOM__'; + my $DLLTOOL = $Config{'dlltool'} || 'dlltool'; + + return " # This isn't actually a static lib, it just has the same name on Win32. -$(INST_DYNAMIC_LIB): $(INST_DYNAMIC) - dlltool --def $(EXPORT_LIST) --output-lib $@ --dllname $(BASEEXT).$(SO) $(INST_DYNAMIC) +\$(INST_DYNAMIC_LIB): \$(INST_DYNAMIC) + $DLLTOOL --def \$(EXPORT_LIST) --output-lib \$\@ --dllname \$(BASEEXT).\$(SO) \$(INST_DYNAMIC) -dynamic:: $(INST_DYNAMIC_LIB) -__EOM__ +dynamic:: \$(INST_DYNAMIC_LIB) +" } 1;


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.