lua-users home
lua-l archive

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


At 01:18 27/1/2006, John Belmonte wrote:
Naming convention (lua5.1 vs. lua51)
------------------------------------
The naming convention prior to the lua5.1 package, specifically the lack of
delimiters in the version portion, lacked foresight.  The reason is that if
the version ever has more than one digit per component, the terser name will
be ambiguous.  Even if this will never be a problem in practice (will 61.1
clash with 6.11?), lua12.3 seems more friendly than lua123.

This is something that we can do in LuaBinaries, so we can maintain compatibility between LuaBinaries and the Debian package.


Library SONAME
--------------
As explained, each series of Lua (e.g. 5.0, 5.1) is treated as a completely
separate library.  Within a series, Libtool versioning is followed.  For
example, the first release of Lua 5.1 (5.1.0) will have a soname
"liblua5.1.so.0".  Let's say that 5.1.1 is later released, and it is binary
compatible with the previous version.  In that case, the soname will stay
the same, and existing applications do not need to relink.
Note that in this convention, along with the naming of interpreters, etc.,
as described previously, there has been a conscious compromise in the
granularity of the versions that may be specified.  That is, the
minor version number is considered significant in that it may break
compatibility, but not significant in calling out a version of Lua to
interpret a file, maintaining parallel versions for development, etc.

This is complicated for us. We do not use libtool, and library names are simply "lua<version>.lib" (in Windows) or "liblua<version>.so/.a" (in UNIX). And in UNIX everything can be solved with a file system link.

I checked Pyhon, Perl and TCL, and the SONAMEs are very different, but version numbers are indeed used with periods in the library name, like in "5.1".

We were using <version> as "51", but it seems to be reasonable to change to "5.1". Any comments?

Are there other Lua packages? Can we all converge to a common standard for names?

Thanks,
scuri