Re: ExtUtils-Depends 0.300 on Cygwin
- From: Torsten Schoenfeld <kaffeetisch gmx de>
- To: gtk-perl-list gnome org
- Subject: Re: ExtUtils-Depends 0.300 on Cygwin
- Date: Mon, 31 Mar 2008 20:42:01 +0200
On Sun, 2008-03-30 at 13:02 -0500, Yaakov (Cygwin Ports) wrote:
I tried today's release of EU-D 0.300, with the added support for
inter-module deps on Cygwin. Unfortunately it doesn't quite work yet
for perl-5.10.
Thanks for testing.
While Cygwin's perl-5.8 used perlld for linking, which is a script that
would create an import library (libFoo.dll.a) when calling the linker,
perl-5.10 behaves exactly as on *NIX and calls gcc directly. This means
that import libraries are no longer generated. But since one can link
directly against the DLL, the fix would be to change:
cygwin => sub { 'lib' . $_[0] . '.dll.a'},
to the following:
cygwin => sub { $_[0] . '.dll'},
Oh, I didn't know that the libFoo.dll.a thing was perl-specific. Will
linking against just Foo.dll work on perl 5.8.x, too?
But when that is done, I get the following:
Unrecognized argument in LIBS ignored:
'/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Glib/Glib.dll'
Unrecognized argument in LIBS ignored:
'/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Gtk2/Gtk2.dll'
Unrecognized argument in LIBS ignored:
'/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/Cairo/Cairo.dll'
This comes from ExtUtils::Liblist::Kid, which doesn't seem to like a
full pathname to the DLL in LIBS. I don't follow the code there, so I'm
not sure if this would this happen on Linux as well, or not.
Yeah, I stumbled upon this, too:
<http://rt.cpan.org/Ticket/Display.html?id=21430>. Also related:
<http://rt.cpan.org/Ticket/Display.html?id=14505> and
<http://rt.cpan.org/Ticket/Display.html?id=32894>.
The problem is that EU::MM simply swallows every linker flag it doesn't
recognize, which I think is a bug.ï
~From there, perhaps we can figure out if EU::Liblist::Kid needs to be
patched, or if EU::D can work around this.
In <http://bugzilla.gnome.org/show_bug.cgi?id=371464>, Dirk Froemberg
suggests using "-L/path/to/Foo -lFoo" instead of the full path. That's
recognized by EU::MM and thus not ignored.
--
Bye,
-Torsten
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]