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

Reply via email to