]> granicus.if.org Git - curl/commitdiff
Introduced the configure option --enable-soname-bump that lets a user enforce
authorDaniel Stenberg <daniel@haxx.se>
Sun, 24 Aug 2008 21:26:42 +0000 (21:26 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Sun, 24 Aug 2008 21:26:42 +0000 (21:26 +0000)
an SONAME bump.

configure.ac
lib/Makefile.am
lib/README.curl_off_t

index 2959b68c83db1dc8554fd63b29f3f447f89280db..d2bd200435a4a2c90700e3b70558d6b8752ed217 100644 (file)
@@ -2492,6 +2492,29 @@ AC_HELP_STRING([--disable-hidden-symbols],[Leave all symbols with default visibi
        AC_MSG_RESULT(no)
 )
 
+dnl ************************************************************
+dnl enforce SONAME bump
+dnl 
+
+soname_bump=no
+
+AC_MSG_CHECKING([whether to enforce SONAME bump])
+AC_ARG_ENABLE(soname-bump,
+AC_HELP_STRING([--enable-soname-bump],[Enable enforced SONAME bump])
+AC_HELP_STRING([--disable-soname-bump],[Disable enforced SONAME bump]),
+[ case "$enableval" in
+  yes)   AC_MSG_RESULT(yes)
+         soname_bump=yes
+         ;;
+  *)
+         AC_MSG_RESULT(nope: $enableval)
+         ;;
+  esac ],
+        AC_MSG_RESULT(nono)
+)
+AM_CONDITIONAL(SONAME_BUMP, test x$soname_bump = xyes)
+
+
 dnl ************************************************************
 if test ! -z "$winsock_LIB"; then
 
index 903e1a95993d851343ce05bb85da9690cd74e8e0..ff974f4d4605bfa8ca92f17ec210db353f3c5c41 100644 (file)
@@ -58,7 +58,20 @@ INCLUDES = -I$(top_builddir)/include \
            -I$(top_builddir)/lib     \
            -I$(top_srcdir)/lib
 
-VERSION=-version-info 5:0:1
+if SONAME_BUMP
+#
+# Bumping of SONAME conditionally may seem like a weird thing to do, and yeah
+# it is. The problem is that we try to avoid the bump as hard as possible, but
+# yet it is still necessary for a few rare situations. The configure script will
+# attempt to figure out these situations, and it can be forced to consider this
+# to be such a case! See README.curl_off_t for further details.
+#
+# This conditional soname bump SHOULD be removed at next "proper" bump.
+#
+VERSIONINFO=-version-info 6:0:1
+else
+VERSIONINFO=-version-info 5:0:1
+endif
 
 # This flag accepts an argument of the form current[:revision[:age]]. So,
 # passing -version-info 3:12:1 sets current to 3, revision to 12, and age to
@@ -99,7 +112,7 @@ if MIMPURE
 MIMPURE = -mimpure-text
 endif
 
-libcurl_la_LDFLAGS = $(UNDEF) $(VERSION) $(MIMPURE) $(LIBCURL_LIBS)
+libcurl_la_LDFLAGS = $(UNDEF) $(VERSIONINFO) $(MIMPURE) $(LIBCURL_LIBS)
 
 # Makefile.inc provides the CSOURCES and HHEADERS defines
 include Makefile.inc
index fa687c67b1cf9f58cf58e02428d8cbc1b555f58a..b60179da04e2ce06755b705526fd8b2a67fee74b 100644 (file)
@@ -42,7 +42,14 @@ track and detect by users of libcurl.
 SONAME
 ------
 
-We opted to not bump the soname for the library, simply because soname bumping
-is causing a lot of grief and moaning all over the community so we try to keep
-that at minimum. Also, our selected design path should be 100% backwards
-compatible for the vast majority of all libcurl users.
+We opted to not bump the soname for the library unconditionally, simply
+because soname bumping is causing a lot of grief and moaning all over the
+community so we try to keep that at minimum. Also, our selected design path
+should be 100% backwards compatible for the vast majority of all libcurl
+users.
+
+Enforce SONAME bump
+-------------------
+
+If configure doesn't detect your case where a bump is necessary, re-run it
+with the --enable-soname-bump command line option!