configure: add symbols versioning option
Allow, at configure time, the production of versioned symbols. The symbols will look like "CURL_<FLAVOUR>_<VERSION> <SYMBOL>", where <FLAVOUR> represents the SSL flavour (e.g. OPENSSL, GNUTLS, NSS, ...), <VERSION> is the major SONAME version and <SYMBOL> is the actual symbol name. If no SSL library is enabled the symbols will be just "CURL_<VERSION> <SYMBOL>".
This commit is contained in:
committed by
Daniel Stenberg
parent
3c18b38dcc
commit
7cc2e8b349
55
configure.ac
55
configure.ac
@@ -2346,6 +2346,60 @@ if test X"$OPT_LIBRTMP" != Xno; then
|
||||
|
||||
fi
|
||||
|
||||
dnl **********************************************************************
|
||||
dnl Check for linker switch for versioned symbols
|
||||
dnl **********************************************************************
|
||||
|
||||
AC_MSG_CHECKING([if libraries can be versioned])
|
||||
GLD=`$LD --help < /dev/null 2>/dev/null | grep version-script`
|
||||
if test -z "$GLD"; then
|
||||
versioned_symbols_flavour=
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_WARN(***
|
||||
*** You need an ld version supporting the --version-script option.
|
||||
)
|
||||
else
|
||||
AC_MSG_RESULT(yes)
|
||||
|
||||
AC_MSG_CHECKING([whether versioned symbols are wanted])
|
||||
versioned_symbols_flavour=
|
||||
|
||||
AC_ARG_ENABLE(versioned-symbols,
|
||||
AC_HELP_STRING([--enable-versioned-symbols], [Enable versioned symbols in shared library])
|
||||
AC_HELP_STRING([--disable-versioned-symbols], [Disable versioned symbols in shared library]),
|
||||
[ case "$enableval" in
|
||||
yes) AC_MSG_RESULT(yes)
|
||||
if test "x$OPENSSL_ENABLED" = "x1"; then
|
||||
versioned_symbols_flavour="OPENSSL_"
|
||||
elif test "x$GNUTLS_ENABLED" == "x1"; then
|
||||
versioned_symbols_flavour="GNUTLS_"
|
||||
elif test "x$NSS_ENABLED" == "x1"; then
|
||||
versioned_symbols_flavour="NSS_"
|
||||
elif test "x$POLARSSL_ENABLED" == "x1"; then
|
||||
versioned_symbols_flavour="POLARSSL_"
|
||||
elif test "x$CYASSL_ENABLED" == "x1"; then
|
||||
versioned_symbols_flavour="CYASSL_"
|
||||
elif test "x$AXTLS_ENABLED" == "x1"; then
|
||||
versioned_symbols_flavour="AXTLS_"
|
||||
else
|
||||
versioned_symbols_flavour=""
|
||||
fi
|
||||
versioned_symbols="yes"
|
||||
;;
|
||||
|
||||
*) AC_MSG_RESULT(no)
|
||||
;;
|
||||
esac
|
||||
], [
|
||||
AC_MSG_RESULT(no)
|
||||
]
|
||||
)
|
||||
fi
|
||||
|
||||
AC_SUBST(VERSIONED_FLAVOUR, ["$versioned_symbols_flavour"])
|
||||
AM_CONDITIONAL(VERSIONED_SYMBOLS, test "x$versioned_symbols" = "xyes")
|
||||
|
||||
|
||||
dnl **********************************************************************
|
||||
dnl Check for the presence of IDN libraries and headers
|
||||
dnl **********************************************************************
|
||||
@@ -3215,6 +3269,7 @@ AC_CONFIG_FILES([Makefile \
|
||||
include/curl/Makefile \
|
||||
src/Makefile \
|
||||
lib/Makefile \
|
||||
lib/libcurl.vers \
|
||||
tests/Makefile \
|
||||
tests/data/Makefile \
|
||||
tests/server/Makefile \
|
||||
|
||||
Reference in New Issue
Block a user