Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: about libnamazu version infomation
On Thu, 10 Apr 2003 18:01:28 +0900
knok@xxxxxxxxxxxxx wrote:
> ううむ、OS によって値が変わるんですね... まあだからこそ libtool に
> LTVERSION という一段置くためのクッションがあるのでしょうけど。
LTVERSIONはlibtoolの機能ではありません。普通はMakefile.amに
libfoo_la_LDFLAGS = -version-info x:y:z
と書くのですが、このx:y:zの調節をしばしば忘れる危険性があったので
(というか、実際1.9.xの頃にそういう事故があった(^^;;)configure.in
にLTVERSIONを設定して目につくようにしたのです。
ちなみにGLibあたりはまた違うやり方をしています。参考までにGLib 1.2
のversioningを示しておきます(GLib2はまた微妙に違う)。というかNamazu
も最初からこうしておけばよかったのかも...
configure.inより:
# Making releases:
# GLIB_MICRO_VERSION += 1;
# GLIB_INTERFACE_AGE += 1;
# GLIB_BINARY_AGE += 1;
# if any functions have been added, set GLIB_INTERFACE_AGE to 0.
# if backwards compatibility has been broken,
# set GLIB_BINARY_AGE _and_ GLIB_INTERFACE_AGE to 0.
#
GLIB_MAJOR_VERSION=1
GLIB_MINOR_VERSION=2
GLIB_MICRO_VERSION=10
GLIB_INTERFACE_AGE=10
GLIB_BINARY_AGE=10
GLIB_VERSION=$GLIB_MAJOR_VERSION.$GLIB_MINOR_VERSION.$GLIB_MICRO_VERSION
(snip)
# libtool versioning
LT_RELEASE=$GLIB_MAJOR_VERSION.$GLIB_MINOR_VERSION
LT_CURRENT=`expr $GLIB_MICRO_VERSION - $GLIB_INTERFACE_AGE`
LT_REVISION=$GLIB_INTERFACE_AGE
LT_AGE=`expr $GLIB_BINARY_AGE - $GLIB_INTERFACE_AGE`
Makefile.amより:
libglib_la_LDFLAGS = \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-release $(LT_RELEASE) \
-export-dynamic
A A
= . . =
V
end
Ryuji Abe