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.