On 1/2/2016 3:07 AM, Eli Zaretskii wrote:
Cc: [email protected]
From: Ken Brown <[email protected]>
Date: Fri, 1 Jan 2016 17:45:28 -0500
There is a similar linking problem on Cygwin, but the following patch fixes it:
Index: tp/Texinfo/Convert/XSParagraph/Makefile.am
===================================================================
--- tp/Texinfo/Convert/XSParagraph/Makefile.am (revision 6910)
+++ tp/Texinfo/Convert/XSParagraph/Makefile.am (working copy)
@@ -74,7 +74,7 @@
XSParagraph_la_CFLAGS += -DVERSION=\"$(VERSION)\"
-DXS_VERSION=\"$(XSPARAGRAPH_INTERFACE_VERSION)\" "-I$(PERL_INC)"
-XSParagraph_la_LDFLAGS=-no-undefined -avoid-version -module
$(PERL_CONF_cccdlflags)
+XSParagraph_la_LDFLAGS=-no-undefined -avoid-version -module
$(PERL_CONF_cccdlflags) -L$(PERL_INC) -lperl
I don't think it's correct to use literally "-L$(PERL_INC) -lperl",
although it might be in many installations. The correct values should
obtained from "perl -V:<variable>", and I already provided the
variables that should be used here. E.g., if the user has Active Perl
installed, like I do, the "-lperl" part should be replaced with
"-lperl520" (for Perl 5.20.X).
On Cygwin, "perl -V:libperl" returns "libperl='cygperl5_22.dll';", but
you wouldn't guess from this that you should use "-lperl" for linking
(i.e., the actual import library is libperl.dll.a).
Moreover, on Posix hosts I'm not sure it's TRT to link against
libperl.a, as that's a static library, and Unix doesn't need import
libraries to link against shared libraries at run time.
Are you sure that using -lperl on Posix hosts would link against
libperl.a rather than libperl.so? I thought the whole point of the '-l'
was so that the linker would choose the appropriate library, depending
on the context.
Ken