]> granicus.if.org Git - recode/commitdiff
Version the shared library (fix #22)
authorReuben Thomas <rrt@sc3d.org>
Mon, 19 Aug 2019 18:54:17 +0000 (19:54 +0100)
committerReuben Thomas <rrt@sc3d.org>
Mon, 19 Aug 2019 18:54:17 +0000 (19:54 +0100)
configure.ac
src/Makefile.am

index 538558497210526a34603157869b533763e0afd4..b0415c99b36c649ed91b40cf4e3327ea769ceb11 100644 (file)
@@ -10,6 +10,29 @@ AM_INIT_AUTOMAKE
 AC_CONFIG_MACRO_DIR(m4)
 AC_CANONICAL_HOST
 
+dnl Release number rules:
+dnl This is derived from "Versioning" chapter of info libtool documentation.
+dnl Format is MAJOR:MINOR:MICRO
+dnl     4a) Increment major when removing or changing interfaces.
+dnl     4a) 5) Increment minor when adding interfaces.
+dnl     6) Set minor to zero when removing or changing interfaces.
+dnl     3) Increment micro when interfaces not changed at all,
+dnl               only bug fixes or internal changes made.
+dnl     4b) Set micro to zero when adding, removing or changing interfaces.
+
+dnl First extract pieces from the version number string
+RECODE_MAJOR_VERSION=`echo $VERSION | awk -F. '{print $1}'`
+RECODE_MINOR_VERSION=`echo $VERSION | awk -F. '{print $2}'`
+RECODE_MICRO_VERSION=`echo $VERSION | awk -F. '{print $3}'`
+
+dnl Version info for libraries = CURRENT:REVISION:AGE
+RECODE_SONUM=$RECODE_MAJOR_VERSION
+AGE=$RECODE_MINOR_VERSION
+REVISION=$RECODE_MICRO_VERSION
+CURRENT=`expr $RECODE_SONUM + $AGE`
+VERSION_INFO=$CURRENT:$REVISION:$AGE
+AC_SUBST(VERSION_INFO)
+
 AC_PROG_CC_C99
 gl_EARLY
 LT_INIT
index 20b66c121c8f52a0c1df64c90e6dcf62b74ff155..5821f949422815b48e3969ccd5a0c32cc2ab6a7e 100644 (file)
@@ -54,7 +54,7 @@ recode_LDADD = librecode.la
 librecode_la_SOURCES = charname.c combine.c fr-charname.c iconv.c \
 names.c outer.c recode.c request.c strip-pool.c task.c $(ALL_STEPS) \
 $(include_HEADERS) $(noinst_HEADERS) $(H_STEPS)
-librecode_la_LDFLAGS = -version-info 0:0:0
+librecode_la_LDFLAGS = -version-info $(VERSION_INFO)
 librecode_la_LIBADD = ../lib/libgnu.la libmerged.la
 
 libmerged_la_SOURCES = merged.c