]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
oauth: Run Autoconf tests with correct compiler flags
authorJacob Champion <jchampion@postgresql.org>
Fri, 11 Jul 2025 17:06:41 +0000 (10:06 -0700)
committerJacob Champion <jchampion@postgresql.org>
Fri, 11 Jul 2025 17:06:41 +0000 (10:06 -0700)
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

config/programs.m4
configure

index 0ad1e58b48d6bf044f02d9a0947c07e812704ead..c73d9307ea8a911fee2d8fbe1f5b2f3e53115034 100644 (file)
@@ -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
index cfaf3757dd7bda5a9d4da200972e79c3f979d728..6d7c22e153fea4f3589c0a7242b529053fce5b2b 100755 (executable)
--- a/configure
+++ b/configure
 
 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