You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.9 KiB
75 lines
2.9 KiB
2 years ago
|
From 3b0149cf3d235247b051b7cb7663bc3dadbb999b Mon Sep 17 00:00:00 2001
|
||
|
From: Pavel Raiskup <praiskup@redhat.com>
|
||
|
Date: Thu, 1 Apr 2021 17:17:52 +0200
|
||
|
Subject: [PATCH] configure.ac: avoid side-effects in AC_CACHE_VAL
|
||
|
|
||
|
In the COMMANDS-TO-SET-IT argument, per Autoconf docs:
|
||
|
https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Caching-Results.html
|
||
|
---
|
||
|
configure.ac | 7 +++++--
|
||
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/configure.ac b/configure.ac
|
||
|
index a106d35e..d333496d 100644
|
||
|
--- a/configure.ac
|
||
|
+++ b/configure.ac
|
||
|
@@ -220,11 +220,14 @@ void foo() { int i=0;}
|
||
|
int main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
|
||
|
if(self) { ptr1=dlsym(self,"foo"); ptr2=dlsym(self,"_foo");
|
||
|
if(ptr1 && !ptr2) exit(0); } exit(1); }
|
||
|
-], [sasl_cv_dlsym_adds_uscore=yes], sasl_cv_dlsym_adds_uscore=no
|
||
|
- AC_DEFINE(DLSYM_NEEDS_UNDERSCORE, [], [Do we need a leading _ for dlsym?]),
|
||
|
+], [sasl_cv_dlsym_adds_uscore=yes], sasl_cv_dlsym_adds_uscore=no,
|
||
|
AC_MSG_WARN(cross-compiler, we'll do our best)))
|
||
|
LIBS="$cmu_save_LIBS"
|
||
|
AC_MSG_RESULT($sasl_cv_dlsym_adds_uscore)
|
||
|
+
|
||
|
+ if test "$sasl_cv_dlsym_adds_uscore" = no; then
|
||
|
+ AC_DEFINE(DLSYM_NEEDS_UNDERSCORE, [], [Do we need a leading _ for dlsym?])
|
||
|
+ fi
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
From d3bcaf62f6213e7635e9c4a574f39a831e333980 Mon Sep 17 00:00:00 2001
|
||
|
From: Pavel Raiskup <praiskup@redhat.com>
|
||
|
Date: Thu, 1 Apr 2021 17:26:28 +0200
|
||
|
Subject: [PATCH] configure.ac: properly quote macro arguments
|
||
|
|
||
|
Autoconf 2.70+ is more picky about the quotation (even though with
|
||
|
previous versions the arguments should have been quoted, too). When we
|
||
|
don't quote macros inside the AC_CACHE_VAL macro - some of the Autoconf
|
||
|
initialization is wrongly ordered in ./configure script and we keep
|
||
|
seeing bugs like:
|
||
|
|
||
|
./configure: line 2165: ac_fn_c_try_run: command not found
|
||
|
|
||
|
Original report: https://bugzilla.redhat.com/1943013
|
||
|
---
|
||
|
configure.ac | 7 ++++---
|
||
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/configure.ac b/configure.ac
|
||
|
index d333496d..7281cba0 100644
|
||
|
--- a/configure.ac
|
||
|
+++ b/configure.ac
|
||
|
@@ -213,15 +213,16 @@ if test $sasl_cv_uscore = yes; then
|
||
|
AC_MSG_CHECKING(whether dlsym adds the underscore for us)
|
||
|
cmu_save_LIBS="$LIBS"
|
||
|
LIBS="$LIBS $SASL_DL_LIB"
|
||
|
- AC_CACHE_VAL(sasl_cv_dlsym_adds_uscore,AC_TRY_RUN( [
|
||
|
+ AC_CACHE_VAL([sasl_cv_dlsym_adds_uscore],
|
||
|
+ [AC_TRY_RUN([
|
||
|
#include <dlfcn.h>
|
||
|
#include <stdio.h>
|
||
|
void foo() { int i=0;}
|
||
|
int main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
|
||
|
if(self) { ptr1=dlsym(self,"foo"); ptr2=dlsym(self,"_foo");
|
||
|
if(ptr1 && !ptr2) exit(0); } exit(1); }
|
||
|
-], [sasl_cv_dlsym_adds_uscore=yes], sasl_cv_dlsym_adds_uscore=no,
|
||
|
- AC_MSG_WARN(cross-compiler, we'll do our best)))
|
||
|
+], [sasl_cv_dlsym_adds_uscore=yes], [sasl_cv_dlsym_adds_uscore=no],
|
||
|
+ [AC_MSG_WARN(cross-compiler, we'll do our best)])])
|
||
|
LIBS="$cmu_save_LIBS"
|
||
|
AC_MSG_RESULT($sasl_cv_dlsym_adds_uscore)
|
||
|
|