-----BEGIN PGP SIGNED MESSAGE----- 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)' | | -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -mms-bitfields -DDEBUGGING | -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 ltmain.sh (2.2) starting at line ~5268 (grep "Not a shared"). | Do you have an example? http://cygwin-ports.cvs.sourceforge.net/*checkout*/cygwin-ports/ports/kde/kdevelop/kdevelop-3.5.1-1.src.patch http://cygwin-ports.cvs.sourceforge.net/*checkout*/cygwin-ports/ports/media/vlc/vlc-0.8.6d-1.cygport http://cygwin-ports.cvs.sourceforge.net/*checkout*/cygwin-ports/ports/ocaml/ocamlnet/ocaml-ocamlnet-2.2.9-1.cygport http://cygwin-ports.cvs.sourceforge.net/*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). Yaakov -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Cygwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEAREIAAYFAkgjq/4ACgkQpiWmPGlmQSMXSQCgj3e+ScH4hBz1sC6JjGmUrwrp 8GcAn34Xh/nWGorSt8QQCp9tmk78ZrX4 =wj8D -----END PGP SIGNATURE-----