Perl 5.10 stabilization
Reini Urban
rurban@x-ray.at
Thu May 8 17:45:00 GMT 2008
Yaakov (Cygwin Ports) schrieb:
> Reini Urban wrote:
> | I tried both ways.
> | The standard perl way with Win32CORE.a explicitly added to
> | the linker line via $Config{static_ext}, and
>
> Of course, but that makes things difficult when linking *other packages*
> against libperl with libtool. libtool won't link a shared library
> against a static one on Cygwin, so if DynaLoader.a and Win32CORE.a are
> among LIBS, libtool will complain, drop them, and the link will fail due
> to undefined symbols boot_{DynaLoader,Win32CORE).
>
> I don't want, nor need, perl to be built with libtool. All I want is to
> link other packages against libperl with libtool.
I see. To summarize:
DynaLoader.o is contained in libperl.dll.a,
Win32CORE.a not.
ExtUtils::Embed ldopts is correct, but not libtool compatible.
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
libtool will not link a dynamic lib with a static lib, but ld does. Hmm.
Is this really true?
Do you have an example?
perl-5.8.8 had the very same issue, there was even DynaLoader.a needed.
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.
And I'm more afraid to break some perl packages by defining static_ext,
but leaving out Win32CORE.a.
--
Reini Urban
http://phpwiki.org/ http://murbreak.at/
More information about the Cygwin-apps
mailing list