aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac23
-rw-r--r--lib/Makefile.am17
-rw-r--r--lib/README.curl_off_t15
3 files changed, 49 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac
index 2959b68c8..d2bd20043 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2493,6 +2493,29 @@ AC_HELP_STRING([--disable-hidden-symbols],[Leave all symbols with default visibi
)
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
dnl If ws2_32 is wanted, make sure it is the _last_ lib in LIBS (makes
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 903e1a959..ff974f4d4 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -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
diff --git a/lib/README.curl_off_t b/lib/README.curl_off_t
index fa687c67b..b60179da0 100644
--- a/lib/README.curl_off_t
+++ b/lib/README.curl_off_t
@@ -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!