Perl 5.10 stabilization

Yaakov (Cygwin Ports)
Fri May 9 01:42:00 GMT 2008

Hash: SHA256

Reini Urban wrote:
| I see. To summarize:
|   DynaLoader.o is contained in libperl.dll.a,
|   Win32CORE.a not.
|   ExtUtils::Embed ldopts is correct, but not libtool compatible.

So far, correct.

| Note: the next -e 'cmd' looks weird, but is needed for the -e one-liner.
| $ perl5.10.0d -MExtUtils::Embed -e'ccflags; print ldopts(1)'
| -fno-strict-aliasing -pipe -I/usr/local/include -Wl,--enable-auto-import
| -Wl,--export-all-symbols -Wl,--stack,8388608
| -Wl,--enable-auto-image-base -L/usr/local/lib
| /usr/lib/perl5/5.10/i686-debug-cygwin/auto/Win32CORE/Win32CORE.a
|  -L/usr/lib/perl5/5.10/i686-debug-cygwin/CORE -lperl -ldl -lcrypt
| -lgdbm_compat

That -mms-bitfields flag doesn't belong; it's only for MSVC.

| libtool will not link a dynamic lib with a static lib, but ld does. Hmm.
| Is this really true?

Absolutely.  Look at (2.2) starting at line ~5268 (grep "Not a

| Do you have an example?*checkout*/cygwin-ports/ports/kde/kdevelop/kdevelop-3.5.1-1.src.patch*checkout*/cygwin-ports/ports/media/vlc/vlc-0.8.6d-1.cygport*checkout*/cygwin-ports/ports/ocaml/ocamlnet/ocaml-ocamlnet-2.2.9-1.cygport*checkout*/cygwin-ports/ports/python/pygobject/python-gobject2-2.14.1-1.cygport

| perl-5.8.8 had the very same issue, there was even DynaLoader.a needed.

Correct, this is not a regression.

| I would rather complain at libtool, because it inspects the libs and
| should know to get the -Wl,--Bstatic <staticlibs> -Wl,--Bdynamic
| <dynamiclibs> cmdline right in such a case.

As you said, the linker doesn't care, and doesn't need those flags
unless you're specifically trying to link against a static library where
a .dll.a also exists.  I'm not sure if libtool's behaviour is by design
(for fear of undefined symbols), or simply an oversight.  Chuck?

| And I'm more afraid to break some perl packages by defining static_ext,
| but leaving out Win32CORE.a.

AFAICS, that's what we have now with -3. :-)  It should only affect
those packages using EU::Embed (mod_perl and a few libtoolized packages).

Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla -


More information about the Cygwin-apps mailing list