Commit e315927a authored by Pierre Chapuis's avatar Pierre Chapuis Committed by Daniel Stenberg
Browse files

autoconf: improve handling of versioned symbols

It checks whether versioned symbols should be enabled before checking
whether it is possible (i.e. the linker supports --version-script) or
not. This avoids a useless warning when building cURL on a platform that
does not use GNU ld.

Moreover, it fixes broken indentation of this chunk of code.
parent 03c1bcf4
Loading
Loading
Loading
Loading
+23 −27
Original line number Diff line number Diff line
@@ -2387,25 +2387,20 @@ 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)
    AC_MSG_CHECKING([if libraries can be versioned])
    GLD=`$LD --help < /dev/null 2>/dev/null | grep version-script`
    if test -z "$GLD"; then
        AC_MSG_RESULT(no)
        AC_MSG_WARN([You need an ld version supporting the --version-script option])
    else
        AC_MSG_RESULT(yes)
        if test "x$OPENSSL_ENABLED" = "x1"; then
          versioned_symbols_flavour="OPENSSL_"
        elif test "x$GNUTLS_ENABLED" == "x1"; then
@@ -2422,6 +2417,7 @@ AC_HELP_STRING([--disable-versioned-symbols], [Disable versioned symbols in shar
          versioned_symbols_flavour=""
        fi
        versioned_symbols="yes"
    fi
    ;;

  *)   AC_MSG_RESULT(no)