configure: do not echo most inherited LDFLAGS to config files

`libcurl.pc` `Libs.private` (since 8.11.0, and in `Libs` before 7.20.0)
and `curl-config` `--static-libs` (since 7.17.1, and in `Libs` between
7.7.2-7.25.0). This included all flags inherited from the environment,
in addition to those coming from dependency detections.

To avoid spilling all linker flags inherited from the environment to
the libcurl config files, this patch omits them all, except `-L`, `-F`,
`--library-path=` and `-framework` options, which are still passed.
The rationale for the exceptions is that `LIBS` is passed as-is, and
`LDFLAGS`, `LIBS` are the canonical way to pass custom libs options
to a build. `LIBS` may not work without a matching custom libpath.

This brings autotools behaviour closer to cmake, and `curl-config`
closer to `libcurl.pc`.

Follow-up to 9f56bb608e #14681
Follow-up to 4c8adc8fee
Reported-by: Peter Marko
Fixes #15533
Closes #15550
This commit is contained in:
Viktor Szakats 2024-11-11 13:21:58 +01:00
parent 2638570241
commit e244d50064
No known key found for this signature in database
GPG Key ID: B5ABD165E2AEF201
14 changed files with 116 additions and 11 deletions

View File

@ -2054,7 +2054,6 @@ if(NOT CURL_DISABLE_INSTALL)
else()
set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}")
endif()
set(LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
# "a" (Linux) or "lib" (Windows)
string(REPLACE "." "" libext "${CMAKE_STATIC_LIBRARY_SUFFIX}")
@ -2135,11 +2134,12 @@ if(NOT CURL_DISABLE_INSTALL)
if(LIBCURL_PC_LIBS_PRIVATE)
string(REPLACE ";" " " LIBCURL_PC_LIBS_PRIVATE "${LIBCURL_PC_LIBS_PRIVATE}")
endif()
set(LIBCURL_PC_LDFLAGS_PRIVATE "${CMAKE_SHARED_LINKER_FLAGS}")
if(_ldflags)
list(REMOVE_DUPLICATES _ldflags)
string(REPLACE ";" " " _ldflags "${_ldflags}")
set(LDFLAGS "${LDFLAGS} ${_ldflags}")
string(STRIP "${LDFLAGS}" LDFLAGS)
set(LIBCURL_PC_LDFLAGS_PRIVATE "${LIBCURL_PC_LDFLAGS_PRIVATE} ${_ldflags}")
string(STRIP "${LIBCURL_PC_LDFLAGS_PRIVATE}" LIBCURL_PC_LDFLAGS_PRIVATE)
endif()
set(LIBCURL_PC_CFLAGS_PRIVATE "-DCURL_STATICLIB")
@ -2171,8 +2171,8 @@ if(NOT CURL_DISABLE_INSTALL)
# ENABLE_STATIC
# exec_prefix
# includedir
# LDFLAGS
# LIBCURL_PC_CFLAGS
# LIBCURL_PC_LDFLAGS_PRIVATE
# LIBCURL_PC_LIBS_PRIVATE
# libdir
# libext
@ -2196,9 +2196,9 @@ if(NOT CURL_DISABLE_INSTALL)
# CURLVERSION
# exec_prefix
# includedir
# LDFLAGS
# LIBCURL_PC_CFLAGS
# LIBCURL_PC_CFLAGS_PRIVATE
# LIBCURL_PC_LDFLAGS_PRIVATE
# LIBCURL_PC_LIBS
# LIBCURL_PC_LIBS_PRIVATE
# LIBCURL_PC_REQUIRES

View File

@ -1513,6 +1513,7 @@ AS_HELP_STRING([--without-brotli], [disable BROTLI]),
if test X"$OPT_BROTLI" != Xno; then
dnl backup the pre-brotli variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -1548,6 +1549,7 @@ if test X"$OPT_BROTLI" != Xno; then
fi
LDFLAGS="$LDFLAGS $LD_BROTLI"
LDFLAGSPC="$LDFLAGSPC $LD_BROTLI"
CPPFLAGS="$CPPFLAGS $CPP_BROTLI"
LIBS="$LIB_BROTLI $LIBS"
@ -1581,6 +1583,7 @@ if test X"$OPT_BROTLI" != Xno; then
else
dnl no brotli, revert back to clean variables
LDFLAGS=$CLEANLDFLAGS
LDFLAGSPC=$CLEANLDFLAGSPC
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
fi
@ -1600,6 +1603,7 @@ AS_HELP_STRING([--without-zstd], [disable libzstd]),
if test X"$OPT_ZSTD" != Xno; then
dnl backup the pre-zstd variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -1635,6 +1639,7 @@ if test X"$OPT_ZSTD" != Xno; then
fi
LDFLAGS="$LDFLAGS $LD_ZSTD"
LDFLAGSPC="$LDFLAGSPC $LD_ZSTD"
CPPFLAGS="$CPPFLAGS $CPP_ZSTD"
LIBS="$LIB_ZSTD $LIBS"
@ -1669,6 +1674,7 @@ if test X"$OPT_ZSTD" != Xno; then
else
dnl no zstd, revert back to clean variables
LDFLAGS=$CLEANLDFLAGS
LDFLAGSPC=$CLEANLDFLAGSPC
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
fi
@ -2013,6 +2019,7 @@ if test x"$want_gss" = xyes; then
if test -n "$gnu_gss"; then
curl_gss_msg="enabled (GNU GSS)"
LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
LDFLAGSPC="$LDFLAGSPC $GSSAPI_LIB_DIR"
LIBS="-lgss $LIBS"
elif test -z "$GSSAPI_LIB_DIR"; then
case $host in
@ -2050,6 +2057,7 @@ if test x"$want_gss" = xyes; then
if test "$GSSAPI_ROOT" != "yes"; then
LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
LDFLAGSPC="$LDFLAGSPC -L$GSSAPI_ROOT/lib$libsuff"
LIBS="-l$gss_libname $LIBS"
else
LIBS="-l$gss_libname $LIBS"
@ -2059,6 +2067,7 @@ if test x"$want_gss" = xyes; then
esac
else
LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
LDFLAGSPC="$LDFLAGSPC $GSSAPI_LIB_DIR"
case $host in
*-hp-hpux*)
LIBS="-lgss $LIBS"
@ -2257,6 +2266,7 @@ AS_HELP_STRING([--without-libpsl], [disable LIBPSL]),
if test X"$OPT_LIBPSL" != Xno; then
dnl backup the pre-libpsl variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -2289,6 +2299,7 @@ if test X"$OPT_LIBPSL" != Xno; then
fi
LDFLAGS="$LDFLAGS $LD_PSL"
LDFLAGSPC="$LDFLAGSPC $LD_PSL"
CPPFLAGS="$CPPFLAGS $CPP_PSL"
LIBS="$LIB_PSL $LIBS"
@ -2304,6 +2315,7 @@ if test X"$OPT_LIBPSL" != Xno; then
],
dnl not found, revert back to clean variables
LDFLAGS=$CLEANLDFLAGS
LDFLAGSPC=$CLEANLDFLAGSPC
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
)
@ -2367,6 +2379,7 @@ AS_HELP_STRING([--with-wolfssh], [enable wolfssh]),
if test X"$OPT_LIBSSH2" != Xno; then
dnl backup the pre-libssh2 variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -2402,6 +2415,7 @@ if test X"$OPT_LIBSSH2" != Xno; then
fi
LDFLAGS="$LDFLAGS $LD_SSH2"
LDFLAGSPC="$LDFLAGSPC $LD_SSH2"
CPPFLAGS="$CPPFLAGS $CPP_SSH2"
LIBS="$LIB_SSH2 $LIBS"
@ -2436,12 +2450,14 @@ if test X"$OPT_LIBSSH2" != Xno; then
else
dnl no libssh2, revert back to clean variables
LDFLAGS=$CLEANLDFLAGS
LDFLAGSPC=$CLEANLDFLAGSPC
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
fi
elif test X"$OPT_LIBSSH" != Xno; then
dnl backup the pre-libssh variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -2477,6 +2493,7 @@ elif test X"$OPT_LIBSSH" != Xno; then
fi
LDFLAGS="$LDFLAGS $LD_SSH"
LDFLAGSPC="$LDFLAGSPC $LD_SSH"
CPPFLAGS="$CPPFLAGS $CPP_SSH"
LIBS="$LIB_SSH $LIBS"
@ -2514,18 +2531,22 @@ elif test X"$OPT_LIBSSH" != Xno; then
else
dnl no libssh, revert back to clean variables
LDFLAGS=$CLEANLDFLAGS
LDFLAGSPC=$CLEANLDFLAGSPC
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
fi
elif test X"$OPT_WOLFSSH" != Xno; then
dnl backup the pre-wolfssh variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
if test "$OPT_WOLFSSH" != yes; then
WOLFCONFIG="$OPT_WOLFSSH/bin/wolfssh-config"
LDFLAGS="$LDFLAGS `$WOLFCONFIG --libs`"
WOLFSSH_LIBS=`$WOLFCONFIG --libs`
LDFLAGS="$LDFLAGS $WOLFSSH_LIBS"
LDFLAGSPC="$LDFLAGSPC $WOLFSSH_LIBS"
CPPFLAGS="$CPPFLAGS `$WOLFCONFIG --cflags`"
fi
@ -2553,6 +2574,7 @@ AS_HELP_STRING([--without-librtmp], [disable LIBRTMP]),
if test X"$OPT_LIBRTMP" != Xno; then
dnl backup the pre-librtmp variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -2593,6 +2615,7 @@ if test X"$OPT_LIBRTMP" != Xno; then
fi
LDFLAGS="$LDFLAGS $LD_RTMP"
LDFLAGSPC="$LDFLAGSPC $LD_RTMP"
CPPFLAGS="$CPPFLAGS $CPP_RTMP"
LIBS="$LIB_RTMP $LIBS"
@ -2608,6 +2631,7 @@ if test X"$OPT_LIBRTMP" != Xno; then
],
dnl not found, revert back to clean variables
LDFLAGS=$CLEANLDFLAGS
LDFLAGSPC=$CLEANLDFLAGSPC
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
)
@ -2736,6 +2760,7 @@ AS_HELP_STRING([--without-winidn], [disable Windows native IDN]),
dnl WinIDN library support has been requested
clean_CPPFLAGS="$CPPFLAGS"
clean_LDFLAGS="$LDFLAGS"
clean_LDFLAGSPC="$LDFLAGSPC"
clean_LIBS="$LIBS"
WINIDN_LIBS="-lnormaliz"
WINIDN_CPPFLAGS=""
@ -2749,6 +2774,7 @@ AS_HELP_STRING([--without-winidn], [disable Windows native IDN]),
#
CPPFLAGS="$CPPFLAGS $WINIDN_CPPFLAGS"
LDFLAGS="$LDFLAGS $WINIDN_LDFLAGS"
LDFLAGSPC="$LDFLAGSPC $WINIDN_LDFLAGS"
LIBS="$WINIDN_LIBS $LIBS"
#
AC_MSG_CHECKING([if IdnToUnicode can be linked])
@ -2782,6 +2808,7 @@ AS_HELP_STRING([--without-winidn], [disable Windows native IDN]),
AC_MSG_WARN([Cannot find libraries for IDN support: IDN disabled])
CPPFLAGS="$clean_CPPFLAGS"
LDFLAGS="$clean_LDFLAGS"
LDFLAGSPC="$clean_LDFLAGSPC"
LIBS="$clean_LIBS"
fi
fi
@ -2871,6 +2898,7 @@ if test "$want_idn" = "yes"; then
dnl idn library support has been requested
clean_CPPFLAGS="$CPPFLAGS"
clean_LDFLAGS="$LDFLAGS"
clean_LDFLAGSPC="$LDFLAGSPC"
clean_LIBS="$LIBS"
PKGCONFIG="no"
#
@ -2921,6 +2949,7 @@ if test "$want_idn" = "yes"; then
#
CPPFLAGS="$CPPFLAGS $IDN_CPPFLAGS"
LDFLAGS="$LDFLAGS $IDN_LDFLAGS"
LDFLAGSPC="$LDFLAGSPC $IDN_LDFLAGS"
LIBS="$IDN_LIBS $LIBS"
#
AC_MSG_CHECKING([if idn2_lookup_ul can be linked])
@ -2952,6 +2981,7 @@ if test "$want_idn" = "yes"; then
AC_MSG_WARN([Cannot find libidn2])
CPPFLAGS="$clean_CPPFLAGS"
LDFLAGS="$clean_LDFLAGS"
LDFLAGSPC="$clean_LDFLAGSPC"
LIBS="$clean_LIBS"
want_idn="no"
fi
@ -2994,6 +3024,7 @@ esac
if test X"$want_nghttp2" != Xno; then
dnl backup the pre-nghttp2 variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -3027,6 +3058,7 @@ if test X"$want_nghttp2" != Xno; then
fi
LDFLAGS="$LDFLAGS $LD_H2"
LDFLAGSPC="$LDFLAGSPC $LD_H2"
CPPFLAGS="$CPPFLAGS $CPP_H2"
LIBS="$LIB_H2 $LIBS"
@ -3048,6 +3080,7 @@ if test X"$want_nghttp2" != Xno; then
],
dnl not found, revert back to clean variables
LDFLAGS=$CLEANLDFLAGS
LDFLAGSPC=$CLEANLDFLAGSPC
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
)
@ -3094,6 +3127,7 @@ if test X"$want_tcp2" != Xno; then
dnl backup the pre-ngtcp2 variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -3113,6 +3147,7 @@ if test X"$want_tcp2" != Xno; then
AC_MSG_NOTICE([-L is $LD_TCP2])
LDFLAGS="$LDFLAGS $LD_TCP2"
LDFLAGSPC="$LDFLAGSPC $LD_TCP2"
CPPFLAGS="$CPPFLAGS $CPP_TCP2"
LIBS="$LIB_TCP2 $LIBS"
@ -3133,6 +3168,7 @@ if test X"$want_tcp2" != Xno; then
],
dnl not found, revert back to clean variables
LDFLAGS=$CLEANLDFLAGS
LDFLAGSPC=$CLEANLDFLAGSPC
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
)
@ -3150,6 +3186,7 @@ fi
if test "x$NGTCP2_ENABLED" = "x1" -a "x$OPENSSL_ENABLED" = "x1" -a "x$OPENSSL_IS_BORINGSSL" != "x1"; then
dnl backup the pre-ngtcp2_crypto_quictls variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -3169,6 +3206,7 @@ if test "x$NGTCP2_ENABLED" = "x1" -a "x$OPENSSL_ENABLED" = "x1" -a "x$OPENSSL_IS
AC_MSG_NOTICE([-L is $LD_NGTCP2_CRYPTO_QUICTLS])
LDFLAGS="$LDFLAGS $LD_NGTCP2_CRYPTO_QUICTLS"
LDFLAGSPC="$LDFLAGSPC $LD_NGTCP2_CRYPTO_QUICTLS"
CPPFLAGS="$CPPFLAGS $CPP_NGTCP2_CRYPTO_QUICTLS"
LIBS="$LIB_NGTCP2_CRYPTO_QUICTLS $LIBS"
@ -3189,6 +3227,7 @@ if test "x$NGTCP2_ENABLED" = "x1" -a "x$OPENSSL_ENABLED" = "x1" -a "x$OPENSSL_IS
],
dnl not found, revert back to clean variables
LDFLAGS=$CLEANLDFLAGS
LDFLAGSPC=$CLEANLDFLAGSPC
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
)
@ -3206,6 +3245,7 @@ fi
if test "x$NGTCP2_ENABLED" = "x1" -a "x$OPENSSL_ENABLED" = "x1" -a "x$OPENSSL_IS_BORINGSSL" = "x1"; then
dnl backup the pre-ngtcp2_crypto_boringssl variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -3225,6 +3265,7 @@ if test "x$NGTCP2_ENABLED" = "x1" -a "x$OPENSSL_ENABLED" = "x1" -a "x$OPENSSL_IS
AC_MSG_NOTICE([-L is $LD_NGTCP2_CRYPTO_BORINGSSL])
LDFLAGS="$LDFLAGS $LD_NGTCP2_CRYPTO_BORINGSSL"
LDFLAGSPC="$LDFLAGSPC $LD_NGTCP2_CRYPTO_BORINGSSL"
CPPFLAGS="$CPPFLAGS $CPP_NGTCP2_CRYPTO_BORINGSSL"
LIBS="$LIB_NGTCP2_CRYPTO_BORINGSSL $LIBS"
@ -3245,6 +3286,7 @@ if test "x$NGTCP2_ENABLED" = "x1" -a "x$OPENSSL_ENABLED" = "x1" -a "x$OPENSSL_IS
],
dnl not found, revert back to clean variables
LDFLAGS=$CLEANLDFLAGS
LDFLAGSPC=$CLEANLDFLAGSPC
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
)
@ -3262,6 +3304,7 @@ fi
if test "x$NGTCP2_ENABLED" = "x1" -a "x$GNUTLS_ENABLED" = "x1"; then
dnl backup the pre-ngtcp2_crypto_gnutls variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -3281,6 +3324,7 @@ if test "x$NGTCP2_ENABLED" = "x1" -a "x$GNUTLS_ENABLED" = "x1"; then
AC_MSG_NOTICE([-L is $LD_NGTCP2_CRYPTO_GNUTLS])
LDFLAGS="$LDFLAGS $LD_NGTCP2_CRYPTO_GNUTLS"
LDFLAGSPC="$LDFLAGSPC $LD_NGTCP2_CRYPTO_GNUTLS"
CPPFLAGS="$CPPFLAGS $CPP_NGTCP2_CRYPTO_GNUTLS"
LIBS="$LIB_NGTCP2_CRYPTO_GNUTLS $LIBS"
@ -3301,6 +3345,7 @@ if test "x$NGTCP2_ENABLED" = "x1" -a "x$GNUTLS_ENABLED" = "x1"; then
],
dnl not found, revert back to clean variables
LDFLAGS=$CLEANLDFLAGS
LDFLAGSPC=$CLEANLDFLAGSPC
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
)
@ -3318,6 +3363,7 @@ fi
if test "x$NGTCP2_ENABLED" = "x1" -a "x$WOLFSSL_ENABLED" = "x1"; then
dnl backup the pre-ngtcp2_crypto_wolfssl variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -3337,6 +3383,7 @@ if test "x$NGTCP2_ENABLED" = "x1" -a "x$WOLFSSL_ENABLED" = "x1"; then
AC_MSG_NOTICE([-L is $LD_NGTCP2_CRYPTO_WOLFSSL])
LDFLAGS="$LDFLAGS $LD_NGTCP2_CRYPTO_WOLFSSL"
LDFLAGSPC="$LDFLAGSPC $LD_NGTCP2_CRYPTO_WOLFSSL"
CPPFLAGS="$CPPFLAGS $CPP_NGTCP2_CRYPTO_WOLFSSL"
LIBS="$LIB_NGTCP2_CRYPTO_WOLFSSL $LIBS"
@ -3357,6 +3404,7 @@ if test "x$NGTCP2_ENABLED" = "x1" -a "x$WOLFSSL_ENABLED" = "x1"; then
],
dnl not found, revert back to clean variables
LDFLAGS=$CLEANLDFLAGS
LDFLAGSPC=$CLEANLDFLAGSPC
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
)
@ -3453,6 +3501,7 @@ if test X"$want_nghttp3" != Xno; then
dnl backup the pre-nghttp3 variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -3472,6 +3521,7 @@ if test X"$want_nghttp3" != Xno; then
AC_MSG_NOTICE([-L is $LD_NGHTTP3])
LDFLAGS="$LDFLAGS $LD_NGHTTP3"
LDFLAGSPC="$LDFLAGSPC $LD_NGHTTP3"
CPPFLAGS="$CPPFLAGS $CPP_NGHTTP3"
LIBS="$LIB_NGHTTP3 $LIBS"
@ -3491,6 +3541,7 @@ if test X"$want_nghttp3" != Xno; then
],
dnl not found, revert back to clean variables
LDFLAGS=$CLEANLDFLAGS
LDFLAGSPC=$CLEANLDFLAGSPC
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
)
@ -3572,6 +3623,7 @@ if test X"$want_quiche" != Xno; then
dnl backup the pre-quiche variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -3591,6 +3643,7 @@ if test X"$want_quiche" != Xno; then
AC_MSG_NOTICE([-L is $LD_QUICHE])
LDFLAGS="$LDFLAGS $LD_QUICHE"
LDFLAGSPC="$LDFLAGSPC $LD_QUICHE"
CPPFLAGS="$CPPFLAGS $CPP_QUICHE"
LIBS="$LIB_QUICHE $LIBS"
@ -3684,6 +3737,7 @@ if test X"$want_msh3" != Xno; then
dnl backup the pre-msh3 variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -3692,6 +3746,7 @@ if test X"$want_msh3" != Xno; then
CPP_MSH3="-I$want_msh3_path/include"
DIR_MSH3="$want_msh3_path/lib"
LDFLAGS="$LDFLAGS $LD_MSH3"
LDFLAGSPC="$LDFLAGSPC $LD_MSH3"
CPPFLAGS="$CPPFLAGS $CPP_MSH3"
fi
LIBS="-lmsh3 $LIBS"
@ -3712,6 +3767,7 @@ if test X"$want_msh3" != Xno; then
],
dnl not found, revert back to clean variables
LDFLAGS=$CLEANLDFLAGS
LDFLAGSPC=$CLEANLDFLAGSPC
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
)
@ -3750,6 +3806,7 @@ if test X"$want_libuv" != Xno; then
dnl backup the pre-libuv variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -3769,6 +3826,7 @@ if test X"$want_libuv" != Xno; then
AC_MSG_NOTICE([-L is $LD_LIBUV])
LDFLAGS="$LDFLAGS $LD_LIBUV"
LDFLAGSPC="$LDFLAGSPC $LD_LIBUV"
CPPFLAGS="$CPPFLAGS $CPP_LIBUV"
LIBS="$LIB_LIBUV $LIBS"
@ -3789,6 +3847,7 @@ if test X"$want_libuv" != Xno; then
],
dnl not found, revert back to clean variables
LDFLAGS=$CLEANLDFLAGS
LDFLAGSPC=$CLEANLDFLAGSPC
CPPFLAGS=$CLEANCPPFLAGS
LIBS=$CLEANLIBS
)
@ -5013,8 +5072,27 @@ CURL_CONFIGURE_SYMBOL_HIDING
dnl
dnl All the library dependencies put into $LIB apply to libcurl only.
dnl
LIBCURL_PC_LDFLAGS_PRIVATE=''
dnl Do not quote $INITIAL_LDFLAGS
set -- $INITIAL_LDFLAGS
while [ "$#" -gt 0 ]; do
case "$1" in
-L* | --library-path=* | -F*)
LIBCURL_PC_LDFLAGS_PRIVATE="$LIBCURL_PC_LDFLAGS_PRIVATE $1"
;;
-framework)
if [ "$#" -gt 1 ]; then
LIBCURL_PC_LDFLAGS_PRIVATE="$LIBCURL_PC_LDFLAGS_PRIVATE $1 $2"
shift
fi
;;
esac
shift
done
LIBCURL_PC_LDFLAGS_PRIVATE="$LIBCURL_PC_LDFLAGS_PRIVATE $LDFLAGSPC"
LIBCURL_PC_LIBS_PRIVATE="$LIBS$PTHREAD"
AC_SUBST(LIBCURL_PC_LDFLAGS_PRIVATE)
AC_SUBST(LIBCURL_PC_LIBS_PRIVATE)
AC_SUBST(CURL_NETWORK_LIBS)
AC_SUBST(CURL_NETWORK_AND_TIME_LIBS)
@ -5352,6 +5430,7 @@ squeeze DEFS
squeeze LDFLAGS
squeeze LIBS
squeeze LIBCURL_PC_LDFLAGS_PRIVATE
squeeze LIBCURL_PC_LIBS_PRIVATE
squeeze CURL_NETWORK_LIBS
squeeze CURL_NETWORK_AND_TIME_LIBS
@ -5414,6 +5493,7 @@ AC_MSG_NOTICE([Configured to build curl/libcurl:
CFLAGS extras: ${CURL_CFLAG_EXTRAS}
CPPFLAGS: ${CPPFLAGS}
LDFLAGS: ${LDFLAGS}
curl-config: ${LIBCURL_PC_LDFLAGS_PRIVATE}
LIBS: ${LIBS}
curl version: ${CURLVERSION}

View File

@ -173,7 +173,7 @@ while test "$#" -gt 0; do
--static-libs)
if test 'X@ENABLE_STATIC@' != 'Xno'; then
echo "@libdir@/libcurl.@libext@ @LDFLAGS@ @LIBCURL_PC_LIBS_PRIVATE@"
echo "@libdir@/libcurl.@libext@ @LIBCURL_PC_LDFLAGS_PRIVATE@ @LIBCURL_PC_LIBS_PRIVATE@"
else
echo 'curl was built with static libraries disabled' >&2
exit 1

View File

@ -36,6 +36,6 @@ Version: @CURLVERSION@
Requires: @LIBCURL_PC_REQUIRES@
Requires.private: @LIBCURL_PC_REQUIRES_PRIVATE@
Libs: -L${libdir} -lcurl @LIBCURL_PC_LIBS@
Libs.private: @LDFLAGS@ @LIBCURL_PC_LIBS_PRIVATE@
Libs.private: @LIBCURL_PC_LDFLAGS_PRIVATE@ @LIBCURL_PC_LIBS_PRIVATE@
Cflags: -I${includedir} @LIBCURL_PC_CFLAGS@
Cflags.private: @LIBCURL_PC_CFLAGS_PRIVATE@

View File

@ -30,6 +30,7 @@ dnl ----------------------------------------------------
if test "x$OPT_BEARSSL" != xno; then
_cppflags=$CPPFLAGS
_ldflags=$LDFLAGS
_ldflagspc=$LDFLAGSPC
ssl_msg=
if test X"$OPT_BEARSSL" != Xno; then
@ -65,6 +66,7 @@ if test "x$OPT_BEARSSL" != xno; then
bearssllib=$OPT_BEARSSL/lib$libsuff
LDFLAGS="$LDFLAGS $addld"
LDFLAGSPC="$LDFLAGSPC $addld"
if test "$addcflags" != "-I/usr/include"; then
CPPFLAGS="$CPPFLAGS $addcflags"
fi
@ -81,6 +83,7 @@ if test "x$OPT_BEARSSL" != xno; then
[
CPPFLAGS=$_cppflags
LDFLAGS=$_ldflags
LDFLAGSPC=$_ldflagspc
], -lbearssl)
fi

View File

@ -484,6 +484,7 @@ AC_DEFUN([CURL_CHECK_LIB_ARES], [
dnl c-ares library support has been requested
clean_CPPFLAGS="$CPPFLAGS"
clean_LDFLAGS="$LDFLAGS"
clean_LDFLAGSPC="$LDFLAGSPC"
clean_LIBS="$LIBS"
configure_runpath=`pwd`
if test -n "$want_ares_path"; then
@ -525,6 +526,7 @@ AC_DEFUN([CURL_CHECK_LIB_ARES], [
#
CPPFLAGS="$clean_CPPFLAGS $ares_CPPFLAGS"
LDFLAGS="$clean_LDFLAGS $ares_LDFLAGS"
LDFLAGSPC="$clean_LDFLAGSPC $ares_LDFLAGS"
LIBS="$ares_LIBS $clean_LIBS"
#
@ -553,6 +555,7 @@ AC_DEFUN([CURL_CHECK_LIB_ARES], [
dnl restore initial settings
CPPFLAGS="$clean_CPPFLAGS"
LDFLAGS="$clean_LDFLAGS"
LDFLAGSPC="$clean_LDFLAGSPC"
LIBS="$clean_LIBS"
# prevent usage
want_ares="no"

View File

@ -89,9 +89,11 @@ if test "x$OPT_GNUTLS" != xno; then
CLEANLIBS="$LIBS"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
LIBS="$addlib $LIBS"
LDFLAGS="$LDFLAGS $addld"
LDFLAGSPC="$LDFLAGSPC $addld"
if test "$addcflags" != "-I/usr/include"; then
CPPFLAGS="$CPPFLAGS $addcflags"
fi

View File

@ -30,6 +30,7 @@ AC_DEFUN([CURL_WITH_MBEDTLS], [
if test "x$OPT_MBEDTLS" != xno; then
_cppflags=$CPPFLAGS
_ldflags=$LDFLAGS
_ldflagspc=$LDFLAGSPC
ssl_msg=
if test X"$OPT_MBEDTLS" != Xno; then
@ -65,6 +66,7 @@ if test "x$OPT_MBEDTLS" != xno; then
mbedtlslib=$OPT_MBEDTLS/lib$libsuff
LDFLAGS="$LDFLAGS $addld"
LDFLAGSPC="$LDFLAGSPC $addld"
if test "$addcflags" != "-I/usr/include"; then
CPPFLAGS="$CPPFLAGS $addcflags"
fi
@ -81,6 +83,7 @@ if test "x$OPT_MBEDTLS" != xno; then
[
CPPFLAGS=$_cppflags
LDFLAGS=$_ldflags
LDFLAGSPC=$_ldflagspc
], -lmbedx509 -lmbedcrypto)
fi

View File

@ -35,6 +35,7 @@ if test "x$OPT_OPENSSL" != xno; then
dnl backup the pre-ssl variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLIBS="$LIBS"
@ -139,6 +140,7 @@ if test "x$OPT_OPENSSL" != xno; then
dnl finally, set flags to use SSL
CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS"
LDFLAGS="$LDFLAGS $SSL_LDFLAGS"
LDFLAGSPC="$LDFLAGSPC $SSL_LDFLAGS"
AC_CHECK_LIB(crypto, HMAC_Update,[
HAVECRYPTO="yes"
@ -146,6 +148,7 @@ if test "x$OPT_OPENSSL" != xno; then
],[
if test -n "$LIB_OPENSSL" ; then
LDFLAGS="$CLEANLDFLAGS -L$LIB_OPENSSL"
LDFLAGSPC="$CLEANLDFLAGSPC -L$LIB_OPENSSL"
fi
if test "$PKGCONFIG" = "no" -a -n "$PREFIX_OPENSSL" ; then
# only set this if pkg-config wasn't used
@ -190,6 +193,7 @@ if test "x$OPT_OPENSSL" != xno; then
[
AC_MSG_RESULT(no)
LDFLAGS="$CLEANLDFLAGS"
LDFLAGSPC="$CLEANLDFLAGSPC"
CPPFLAGS="$CLEANCPPFLAGS"
LIBS="$CLEANLIBS"
])

View File

@ -32,6 +32,7 @@ if test "x$OPT_RUSTLS" != xno; then
dnl backup the pre-ssl variables
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
CLEANCPPFLAGS="$CPPFLAGS"
## NEW CODE
@ -77,6 +78,7 @@ if test "x$OPT_RUSTLS" != xno; then
addcflags=-I$PREFIX_RUSTLS/include
LDFLAGS="$LDFLAGS $addld"
LDFLAGSPC="$LDFLAGSPC $addld"
if test "$addcflags" != "-I/usr/include"; then
CPPFLAGS="$CPPFLAGS $addcflags"
fi
@ -157,6 +159,7 @@ if test "x$OPT_RUSTLS" != xno; then
dnl finally, set flags to use this TLS backend
CPPFLAGS="$CLEANCPPFLAGS $SSL_CPPFLAGS"
LDFLAGS="$CLEANLDFLAGS $SSL_LDFLAGS"
LDFLAGSPC="$CLEANLDFLAGSPC $SSL_LDFLAGS"
if test "x$USE_RUSTLS" = "xyes"; then
AC_MSG_NOTICE([detected Rustls])

View File

@ -33,7 +33,9 @@ if test "x$OPT_SECURETRANSPORT" != xno; then
ssl_msg="Secure Transport"
test secure-transport != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
SECURETRANSPORT_ENABLED=1
LDFLAGS="$LDFLAGS -framework CoreFoundation -framework CoreServices -framework Security"
SECURETRANSPORT_LDFLAGS='-framework CoreFoundation -framework CoreServices -framework Security'
LDFLAGS="$LDFLAGS $SECURETRANSPORT_LDFLAGS"
LDFLAGSPC="$LDFLAGSPC $SECURETRANSPORT_LDFLAGS"
else
AC_MSG_RESULT(no)
fi

View File

@ -44,7 +44,9 @@ case $host in
])
if test "x$build_for_macos" != xno; then
AC_MSG_RESULT(yes)
LDFLAGS="$LDFLAGS -framework CoreFoundation -framework CoreServices -framework SystemConfiguration"
SYSCONFIG_LDFLAGS='-framework CoreFoundation -framework CoreServices -framework SystemConfiguration'
LDFLAGS="$LDFLAGS $SYSCONFIG_LDFLAGS"
LDFLAGSPC="$LDFLAGSPC $SYSCONFIG_LDFLAGS"
else
AC_MSG_RESULT(no)
fi

View File

@ -39,6 +39,7 @@ esac
if test "x$OPT_WOLFSSL" != xno; then
_cppflags=$CPPFLAGS
_ldflags=$LDFLAGS
_ldflagspc=$LDFLAGSPC
ssl_msg=
@ -78,6 +79,7 @@ if test "x$OPT_WOLFSSL" != xno; then
if test "x$USE_WOLFSSL" != "xyes"; then
LDFLAGS="$LDFLAGS $addld"
LDFLAGSPC="$LDFLAGSPC $addld"
AC_MSG_NOTICE([Add $addld to LDFLAGS])
if test "$addcflags" != "-I/usr/include"; then
CPPFLAGS="$CPPFLAGS $addcflags"
@ -114,6 +116,7 @@ if test "x$OPT_WOLFSSL" != xno; then
AC_MSG_RESULT(no)
CPPFLAGS=$_cppflags
LDFLAGS=$_ldflags
LDFLAGSPC=$_ldflagspc
wolfssllibpath=""
])
LIBS="$my_ac_save_LIBS"

View File

@ -48,7 +48,7 @@ LIBS = $(BLANK_AT_MAKETIME)
LDADD = $(top_builddir)/src/libcurltool.la \
$(top_builddir)/lib/libcurlu.la \
@LDFLAGS@ @LIBCURL_PC_LIBS_PRIVATE@
@LIBCURL_PC_LDFLAGS_PRIVATE@ @LIBCURL_PC_LIBS_PRIVATE@
AM_CPPFLAGS += -DCURL_STATICLIB -DUNITTESTS