From: Pekka Riikonen Date: Thu, 28 Nov 2002 15:20:09 +0000 (+0000) Subject: Added library versioning for shared libraries X-Git-Tag: silc.server.0.9.9~10 X-Git-Url: http://git.silcnet.org/gitweb/?a=commitdiff_plain;h=b8aa72ed94853c96b9b2df64268c066d04111fe6;p=silc.git Added library versioning for shared libraries --- diff --git a/CHANGES b/CHANGES index 15b5754a..813a3d4e 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,8 @@ +Thu Nov 28 16:19:18 CET 2002 Pekka Riikonen + + * Added library versioning for shared libraries. Affected + files configure.in.pre and lib/Makefile.am.pre. + Wed Nov 27 21:51:52 CET 2002 Jochen Eisinger * Display INVITE and BAN lists as specified by SILC 1.2 diff --git a/configure.in.pre b/configure.in.pre index 56728eda..2dffa23e 100644 --- a/configure.in.pre +++ b/configure.in.pre @@ -60,6 +60,47 @@ if test "$GCC"; then CFLAGS="-Wall -finline-functions $CFLAGS" fi +# +# Library versioning. +# +# Do the releases and library versioning according to following rules: +# +# - If any code has changed in library, increment [LIB]_REVISION +# - If functions were added, set [LIB]_REVISION to 0 +# - If functions were added, removed or changed, increment [LIB]_CURRENT +# - If functions were added, increment [LIB]_AGE +# - If functions were removed, set [LIB]_AGE to 0 +# +# where [LIB] is LIBSILC and LIBSILCCLIENT, and where "functions" means +# functions public interfaces. +# +# The LIB_BASE_VERSION defines the SILC software major.minor version and +# it is increment only when these version numbers actually change. +# + +# Base version for libraries. Do not change this unless SILC version +# changes too. +LIB_BASE_VERSION=1.0 + +# libsilc versions +LIBSILC_CURRENT=0 +LIBSILC_REVISION=0 +LIBSILC_AGE=0 + +# libsilcclient versions +LIBSILCCLIENT_CURRENT=0 +LIBSILCCLIENT_REVISION=0 +LIBSILCCLIENT_AGE=0 + +# Substitute the version numbers +AC_SUBST(LIB_BASE_VERSION) +AC_SUBST(LIBSILC_CURRENT) +AC_SUBST(LIBSILC_REVISION) +AC_SUBST(LIBSILC_AGE) +AC_SUBST(LIBSILCCLIENT_CURRENT) +AC_SUBST(LIBSILCCLIENT_REVISION) +AC_SUBST(LIBSILCCLIENT_AGE) + # # Program checking # @@ -1085,7 +1126,7 @@ if test "x$silc_dist" = "xsilc-server" || test "x$silc_dist" = "xsilc-toolkit"; then silcd="yes" if test x$without_silcd = xtrue; then - without_silcd="no" + silcd="no" fi echo " Compile SILC Server ...........: $silcd" echo " Server configuration file .....: $summary_silcd_configfile" diff --git a/lib/Makefile.am.pre b/lib/Makefile.am.pre index 626978ad..952b0eaf 100644 --- a/lib/Makefile.am.pre +++ b/lib/Makefile.am.pre @@ -88,15 +88,25 @@ silcclient.dll: libsilcclient.a -mno-cygwin -o silcclient.dll libsilcclient.a -L. -lsilc -lwsock32 endif +LIB_BASE_VERSION=@LIB_BASE_VERSION@ +LIBSILC_CURRENT=@LIBSILC_CURRENT@ +LIBSILC_REVISION=@LIBSILC_REVISION@ +LIBSILC_AGE=@LIBSILC_AGE@ +LIBSILCCLIENT_CURRENT=@LIBSILCCLIENT_CURRENT@ +LIBSILCCLIENT_REVISION=@LIBSILCCLIENT_REVISION@ +LIBSILCCLIENT_AGE=@LIBSILCCLIENT_AGE@ + libsilc.a: find $(SILCLIB_DIRS) -type f -name *.lo | xargs \ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \ - -rpath $(libdir) -o libsilc.la + -version-info $(LIBSILC_CURRENT):$(LIBSILC_REVISION):$(LIBSILC_AGE) \ + -release $(LIB_BASE_VERSION) -rpath $(libdir) -o libsilc.la libsilcclient.a: find $(SILCCLIENTLIB_DIRS) -type f -name *.lo | xargs \ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \ - -rpath $(libdir) -o libsilcclient.la + -version-info $(LIBSILCCLIENT_CURRENT):$(LIBSILCCLIENT_REVISION):$(LIBSILCCLIENT_AGE) \ + -release $(LIB_BASE_VERSION) -rpath $(libdir) -o libsilcclient.la if SILC_DIST_TOOLKIT SILC_EXTRA_DIST = doc