1
0
mirror of https://github.com/moparisthebest/curl synced 2024-08-13 17:03:50 -04:00

Introduced the configure option --enable-soname-bump that lets a user enforce

an SONAME bump.
This commit is contained in:
Daniel Stenberg 2008-08-24 21:26:42 +00:00
parent a104a365e3
commit 8dabd34432
3 changed files with 49 additions and 6 deletions

View File

@ -2492,6 +2492,29 @@ AC_HELP_STRING([--disable-hidden-symbols],[Leave all symbols with default visibi
AC_MSG_RESULT(no) 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 ************************************************************ dnl ************************************************************
if test ! -z "$winsock_LIB"; then if test ! -z "$winsock_LIB"; then

View File

@ -58,7 +58,20 @@ INCLUDES = -I$(top_builddir)/include \
-I$(top_builddir)/lib \ -I$(top_builddir)/lib \
-I$(top_srcdir)/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, # 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 # 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 MIMPURE = -mimpure-text
endif 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 # Makefile.inc provides the CSOURCES and HHEADERS defines
include Makefile.inc include Makefile.inc

View File

@ -42,7 +42,14 @@ track and detect by users of libcurl.
SONAME SONAME
------ ------
We opted to not bump the soname for the library, simply because soname bumping We opted to not bump the soname for the library unconditionally, simply
is causing a lot of grief and moaning all over the community so we try to keep because soname bumping is causing a lot of grief and moaning all over the
that at minimum. Also, our selected design path should be 100% backwards community so we try to keep that at minimum. Also, our selected design path
compatible for the vast majority of all libcurl users. 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!