1 configure: re-order SSL libs when linking
3 When doing static builds, the ordering of libs is important, as the
4 linker does not back-pedal to previous libraries specified on the
5 command line to find missing symbols, and only searches for those
6 missing symbols in the following libs.
8 Thus, as -lssl needs symbols from -lcrypto, it needs to come before
11 And globally, we do *not* append new libraries, we prepend them.
13 Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
15 diff -durN a/configure.in b/configure.in
16 --- a/configure.in 2014-10-16 11:12:08.000000000 +0200
17 +++ b/configure.in 2015-05-30 15:44:25.540329788 +0200
19 [AC_MSG_ERROR([header file <openssl/ssl.h> is required for OpenSSL, use --with-openssl-path=PATH])]
21 AC_CHECK_LIB([crypto],[CRYPTO_new_ex_data],
22 - [SSL_LIBADD="$SSL_LIBADD -lcrypto"],
23 - [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])]
24 + [SSL_LIBADD="-lcrypto $SSL_LIBADD"],
25 + [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])],
28 AC_CHECK_LIB([ssl],[SSL_library_init],
29 - [SSL_LIBADD="$SSL_LIBADD -lssl"],
30 - [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])]
31 + [SSL_LIBADD="-lssl $SSL_LIBADD"],
32 + [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])],