Cope with cross-compiling when checking for a random-number source.
authorTom Lane <[email protected]>
Tue, 30 Nov 2021 22:18:04 +0000 (17:18 -0500)
committerTom Lane <[email protected]>
Tue, 30 Nov 2021 22:18:04 +0000 (17:18 -0500)
Commit 16f96c74d neglected to consider the possibility of cross-compiling,
causing cross-compiles to fail at the configure stage unless you'd
selected --with-openssl.  Since we're now more or less assuming that
/dev/urandom is available everywhere, it seems reasonable to assume
that the cross-compile target has it too, rather than failing.

Per complaint from Vincas Dargis.  Back-patch to v14 where this came in.

Discussion: https://postgr.es/m/0dc14a31-acaf-8cae-0df4-a87339b22bd9@gmail.com

configure
configure.ac

index f8c81644280cf9a355cf299643cede4e619d264f..5d72ee3fdea197d62d00b7d507a8d756820bca6f 100755 (executable)
--- a/configure
+++ b/configure
@@ -10474,7 +10474,7 @@ $as_echo "${python_libspec} ${python_additional_libs}" >&6; }
 
 fi
 
-if test "$cross_compiling" = yes && test -z "$with_system_tzdata"; then
+if test x"$cross_compiling" = x"yes" && test -z "$with_system_tzdata"; then
   if test -z "$ZIC"; then
   for ac_prog in zic
 do
@@ -18679,6 +18679,9 @@ $as_echo "OpenSSL" >&6; }
 elif test x"$PORTNAME" = x"win32" ; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: Windows native" >&5
 $as_echo "Windows native" >&6; }
+elif test x"$cross_compiling" = x"yes"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming /dev/urandom" >&5
+$as_echo "assuming /dev/urandom" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: /dev/urandom" >&5
 $as_echo "/dev/urandom" >&6; }
index a5c10b8d56604e1b7340ec2fb74e8601505a901c..03ca3a4dc059e6db226656c0e51480c598461b0a 100644 (file)
@@ -1132,7 +1132,7 @@ if test "$with_python" = yes; then
   PGAC_CHECK_PYTHON_EMBED_SETUP
 fi
 
-if test "$cross_compiling" = yes && test -z "$with_system_tzdata"; then
+if test x"$cross_compiling" = x"yes" && test -z "$with_system_tzdata"; then
   PGAC_PATH_PROGS(ZIC, zic)
   if test -z "$ZIC"; then
     AC_MSG_ERROR([
@@ -2287,6 +2287,8 @@ if test x"$with_ssl" = x"openssl" ; then
   AC_MSG_RESULT([OpenSSL])
 elif test x"$PORTNAME" = x"win32" ; then
   AC_MSG_RESULT([Windows native])
+elif test x"$cross_compiling" = x"yes"; then
+  AC_MSG_RESULT([assuming /dev/urandom])
 else
   AC_MSG_RESULT([/dev/urandom])
   AC_CHECK_FILE([/dev/urandom], [], [])