summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Champion2025-07-11 17:06:41 +0000
committerJacob Champion2025-07-11 17:06:41 +0000
commit990571a08b66c76be85b077ddcba419fd4524952 (patch)
tree00b392e5397d9ecbde60840b1caae924835f1872
parent8d33fbacbac93ed70757ea47cd8a4b4fae61528a (diff)
oauth: Run Autoconf tests with correct compiler flags
Commit b0635bfda split off the CPPFLAGS/LDFLAGS/LDLIBS for libcurl into their own separate Makefile variables, but I neglected to move the existing AC_CHECKs for Curl into a place where they would make use of those variables. They instead tested the system libcurl, which 1) is unhelpful if a different Curl is being used for the build and 2) will fail the build entirely if no system libcurl exists. Correct the order of operations here. Reported-by: Ivan Kush <ivan.kush@tantorlabs.com> Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Reviewed-by: Ivan Kush <ivan.kush@tantorlabs.com> Discussion: https://postgr.es/m/8a611028-51a1-408c-b592-832e2e6e1fc9%40tantorlabs.com Backpatch-through: 18
-rw-r--r--config/programs.m418
-rwxr-xr-xconfigure18
2 files changed, 24 insertions, 12 deletions
diff --git a/config/programs.m4 b/config/programs.m4
index 0ad1e58b48d..c73d9307ea8 100644
--- a/config/programs.m4
+++ b/config/programs.m4
@@ -284,20 +284,26 @@ AC_DEFUN([PGAC_CHECK_STRIP],
AC_DEFUN([PGAC_CHECK_LIBCURL],
[
+ # libcurl compiler/linker flags are kept separate from the global flags, so
+ # they have to be added back temporarily for the following tests.
+ pgac_save_CPPFLAGS=$CPPFLAGS
+ pgac_save_LDFLAGS=$LDFLAGS
+ pgac_save_LIBS=$LIBS
+
+ CPPFLAGS="$LIBCURL_CPPFLAGS $CPPFLAGS"
+ LDFLAGS="$LIBCURL_LDFLAGS $LDFLAGS"
+
AC_CHECK_HEADER(curl/curl.h, [],
[AC_MSG_ERROR([header file <curl/curl.h> is required for --with-libcurl])])
+
+ # LIBCURL_LDLIBS is determined here. Like the compiler flags, it should not
+ # pollute the global LIBS setting.
AC_CHECK_LIB(curl, curl_multi_init, [
AC_DEFINE([HAVE_LIBCURL], [1], [Define to 1 if you have the `curl' library (-lcurl).])
AC_SUBST(LIBCURL_LDLIBS, -lcurl)
],
[AC_MSG_ERROR([library 'curl' does not provide curl_multi_init])])
- pgac_save_CPPFLAGS=$CPPFLAGS
- pgac_save_LDFLAGS=$LDFLAGS
- pgac_save_LIBS=$LIBS
-
- CPPFLAGS="$LIBCURL_CPPFLAGS $CPPFLAGS"
- LDFLAGS="$LIBCURL_LDFLAGS $LDFLAGS"
LIBS="$LIBCURL_LDLIBS $LIBS"
# Check to see whether the current platform supports threadsafe Curl
diff --git a/configure b/configure
index cfaf3757dd7..6d7c22e153f 100755
--- a/configure
+++ b/configure
@@ -12717,6 +12717,15 @@ fi
if test "$with_libcurl" = yes ; then
+ # libcurl compiler/linker flags are kept separate from the global flags, so
+ # they have to be added back temporarily for the following tests.
+ pgac_save_CPPFLAGS=$CPPFLAGS
+ pgac_save_LDFLAGS=$LDFLAGS
+ pgac_save_LIBS=$LIBS
+
+ CPPFLAGS="$LIBCURL_CPPFLAGS $CPPFLAGS"
+ LDFLAGS="$LIBCURL_LDFLAGS $LDFLAGS"
+
ac_fn_c_check_header_mongrel "$LINENO" "curl/curl.h" "ac_cv_header_curl_curl_h" "$ac_includes_default"
if test "x$ac_cv_header_curl_curl_h" = xyes; then :
@@ -12725,6 +12734,9 @@ else
fi
+
+ # LIBCURL_LDLIBS is determined here. Like the compiler flags, it should not
+ # pollute the global LIBS setting.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for curl_multi_init in -lcurl" >&5
$as_echo_n "checking for curl_multi_init in -lcurl... " >&6; }
if ${ac_cv_lib_curl_curl_multi_init+:} false; then :
@@ -12774,12 +12786,6 @@ else
fi
- pgac_save_CPPFLAGS=$CPPFLAGS
- pgac_save_LDFLAGS=$LDFLAGS
- pgac_save_LIBS=$LIBS
-
- CPPFLAGS="$LIBCURL_CPPFLAGS $CPPFLAGS"
- LDFLAGS="$LIBCURL_LDFLAGS $LDFLAGS"
LIBS="$LIBCURL_LDLIBS $LIBS"
# Check to see whether the current platform supports threadsafe Curl