From 0cc10e419c6d1bca947a31315138d32d5addf480 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 13 Jul 2009 20:02:49 +0000 Subject: [PATCH] Use -version-info, not -release. Patch from Zack Weinberg. His description: This one might be a little more controversial. Libtool's -release and -version-info options are supposed to be mutually exclusive, but it doesn't either enforce that or make it sufficiently clear in the manual. Using both makes the -version-info switch ineffective; you will get sonames like "libevent-2.0.so.1", "libevent-2.1.so.1", etc., even though version 2.1 will presumably be backward ABI compatible with 2.0. This patch just takes out the -release switches and bumps the -version-info value to 2:0:0 so that people looking at the files in /usr/lib will not be confused (it'll be "libevent.so.2"). This does change the soname, but the current release is labeled an alpha, and it would be better to stop using both switches as soon as possible, before someone over at libtool headquarters decides to enforce the mutual exclusivity here... Note that libevent_pthreads is not being linked with any versioning switches I didn't change that because I wasn't sure whether it was intentional. svn:r1339 --- Makefile.am | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/Makefile.am b/Makefile.am index 3fe7f4ac..ae7584bf 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,10 +1,6 @@ AUTOMAKE_OPTIONS = foreign ACLOCAL_AMFLAGS = -I m4 -# This is the point release for libevent. It shouldn't include any -# a/b/c/d/e notations. -RELEASE = 2.0 - # This is the version info for the libevent binary API. It has three # numbers: # Current -- the number of the binary API that we're implementing @@ -26,14 +22,14 @@ RELEASE = 2.0 # since we're backward compatible with no previous APIs. Set Revision # to 0 too. # -# Version history: -# 1.4: -# 2 -- Libevent ??? ..Libevent 1.4.10 -# [Gap left for possible intermediate versions] +# ABI version history for this package effectively begins with package +# version 2.0, because package version 1.4 erroneously applied both +# -release and -version-info to the same libraries; -release takes +# precedence, so the -version-info history of 1.4 libraries is moot. +# We are starting the numbering at 2 rather than 1 to avoid confusion. # -# 2.0 -# 1 -- Libevent 2.0.1-alpha. -VERSION_INFO = 1:0:0 +# 2:0:0 -- Libevent 2.0.1-alpha. +VERSION_INFO = 2:0:0 bin_SCRIPTS = event_rpcgen.py @@ -118,11 +114,11 @@ EXTRA_SRC = event_tagging.c http.c evdns.c evrpc.c libevent_la_SOURCES = $(CORE_SRC) $(EXTRA_SRC) libevent_la_LIBADD = @LTLIBOBJS@ $(SYS_LIBS) -libevent_la_LDFLAGS = -release $(RELEASE) -version-info $(VERSION_INFO) +libevent_la_LDFLAGS = -version-info $(VERSION_INFO) libevent_core_la_SOURCES = $(CORE_SRC) libevent_core_la_LIBADD = @LTLIBOBJS@ $(SYS_LIBS) -libevent_core_la_LDFLAGS = -release $(RELEASE) -version-info $(VERSION_INFO) +libevent_core_la_LDFLAGS = -version-info $(VERSION_INFO) if PTHREADS libevent_pthreads_la_SOURCES = evthread_pthread.c @@ -130,7 +126,7 @@ endif libevent_extra_la_SOURCES = $(EXTRA_SRC) libevent_extra_la_LIBADD = -libevent_extra_la_LDFLAGS = -release $(RELEASE) -version-info $(VERSION_INFO) +libevent_extra_la_LDFLAGS = -version-info $(VERSION_INFO) noinst_HEADERS = util-internal.h mm-internal.h ipv6-internal.h \ evrpc-internal.h strlcpy-internal.h evbuffer-internal.h \