]> granicus.if.org Git - libevent/commitdiff
Use -version-info, not -release.
authorNick Mathewson <nickm@torproject.org>
Mon, 13 Jul 2009 20:02:49 +0000 (20:02 +0000)
committerNick Mathewson <nickm@torproject.org>
Mon, 13 Jul 2009 20:02:49 +0000 (20:02 +0000)
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

index 3fe7f4acecd94d1a08f84206192a5277a080b9df..ae7584bff1b6ec0aae4d685ccc3c2c971fa72cb1 100644 (file)
@@ -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 \