bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

versioning of XSUB interfaces


From: Patrice Dumas
Subject: versioning of XSUB interfaces
Date: Tue, 18 Aug 2015 11:52:02 +0200
User-agent: Mutt/1.5.20 (2009-12-10)

Hello,

First thing, I think that there should be no versionning for XSUB shared
object, as they are dlopened, not real libraries.  The corresponding
libtool option should -avoid-version.

To avoid incompatible perl XSUB (binary) interfaces, there is a check
that the version used in XSParagraph.pm when calling bootstrap is the
same as what was used when compiling the xsub code, (either with
-DVERSION or -DXS_VERSION or both?).  Currently $VERSION is used, which 
corresponds to the number in XSParagrah/configure.ac. I wonder if it 
wouldn't be better to have a number for this check that would only
change when the (binary) interface changes, a bit like what is used for
versioning libraries using sonames (libtool -version-info or -release),
maybe like a serial number.  For example a variable named
XSParagraph_INTERFACE_VERSION, would be set in configure.ac and used in
Makefile.am (and in Makefile.PL for the standalone module if building 
a standalone module is still possible) for -DXS_VERSION (and -DVERSION?)
and independently set in XSParagraph.pm for the bootstrap XSUB
initialization version check.  This manual setting would make sure that
XSParagraph.pm is updated when incompatible changes in the interface are
done.

Another possibility would be to disable checking, with xsubpp option
-noversioncheck.

-- 
Pat



reply via email to

[Prev in Thread] Current Thread [Next in Thread]