libtool
[Top][All Lists]
Advanced

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

versioning of shared libraries


From: Stefan Solbrig
Subject: versioning of shared libraries
Date: Thu, 30 Jul 2009 12:30:41 +0200

Hi,

I'm sorry if this question is a FAQ, but I couldn't find an answer in
the mailing list archives:

I'd like to understand the rationale of different behaviors of the
"-version-info" option for libtool.
If I set   " -version-info $current:$revision:$age "

I get these files under Linux:
    libsomething.so   (soft link to:)  libsomething.so.$(( $current - $age ))
    libsomething.so.$(( $current - $age ))   (soft link to:)
libsomething.so.$(( $current - $age )).$age.$revision
    libsomething.so.$(( $current - $age )).$age.$revision

However, under Netbsd, I get:
    libsomething.so   (soft link to:)  libsomething.so.$current.$revision
    libsomething.so.$current  (soft link to:)  $libsomething.$current.$revision
    libsomething.so.$current.$revision

According to the libtool info page, one should increment both $current
and $age  for a backward compatible API change, e.g., if one adds a
function to the library and fixes some minor bugs, but does not change
the API otherwise.  Under linux, existing tools that link dynamically
to "libsomething"  will profit from that change and link to the new
library, whereas under NetBSD, one has to re-compile the tool

I know that I can use  the "-version-number" option to get the same
behavior across different operation systems, but  I'm wondering if
this is merely a BSD convention, or if there is a deeper technical
reason.

Thanks in advance,
Stefan




reply via email to

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