hc
2023-02-14 0cc9b7c44253c93447ddf73e206fbdbb3d9f16b1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
From 697ab0905c59561562dc52cd3b925781e07814f3 Mon Sep 17 00:00:00 2001
From: Philippe Proulx <eeppeliteloop@gmail.com>
Date: Wed, 2 Nov 2016 01:40:12 -0400
Subject: [PATCH] m4/ax_lib_elfutils.m4: add cache variable
 
This patch adds an autoconf cache variable to override the
AC_RUN_IFELSE() test result when cross-compiling.
 
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
[Philippe: grabbed from this pull request:
    https://github.com/efficios/babeltrace/pull/52
]
---
 m4/ax_lib_elfutils.m4 | 32 +++++++++++++++++---------------
 1 file changed, 17 insertions(+), 15 deletions(-)
 
diff --git a/m4/ax_lib_elfutils.m4 b/m4/ax_lib_elfutils.m4
index fcfe06b..f4fcb0d 100644
--- a/m4/ax_lib_elfutils.m4
+++ b/m4/ax_lib_elfutils.m4
@@ -21,7 +21,9 @@
 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #
 # Check the currently installed version of elfutils by using the
-# _ELFUTILS_PREREQ macro defined in elfutils/version.h.
+# `_ELFUTILS_PREREQ` macro defined in <elfutils/version.h>.
+#
+# The cache variable for this test is `bt_cv_lib_elfutils`.
 #
 # AX_LIB_ELFUTILS(MAJOR_VERSION, MINOR_VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
 # ---------------------------------------------------------------------------
@@ -29,7 +31,6 @@ AC_DEFUN([AX_LIB_ELFUTILS], [
     m4_pushdef([major_version], [$1])
     m4_pushdef([minor_version], [$2])
 
-    AC_MSG_CHECKING([for elfutils version >= major_version.minor_version])
     m4_if([$#], 3, [
         m4_pushdef([true_action], [$3])
     ], [
@@ -43,20 +44,21 @@ AC_DEFUN([AX_LIB_ELFUTILS], [
             AC_MSG_ERROR(elfutils >= major_version.minor_version is required)])
     ])
 
-    AC_RUN_IFELSE([
-        AC_LANG_SOURCE([
-            #include <stdlib.h>
-            #include <elfutils/version.h>
+    AC_CACHE_CHECK(
+        [for elfutils version >= major_version.minor_version],
+        [bt_cv_lib_elfutils], [
+            AC_RUN_IFELSE([AC_LANG_SOURCE([
+                #include <stdlib.h>
+                #include <elfutils/version.h>
+
+                int main(void) {
+                    return _ELFUTILS_PREREQ(major_version, minor_version) ? EXIT_SUCCESS : EXIT_FAILURE;
+                }
+            ])], [bt_cv_lib_elfutils=yes], [bt_cv_lib_elfutils=no])
+        ]
+    )
 
-            int main(void) {
-                return _ELFUTILS_PREREQ(major_version, minor_version) ? EXIT_SUCCESS : EXIT_FAILURE;
-            }
-        ])
-    ],
-        echo yes
-        true_action,
-        echo no
-        false_action)
+    AS_IF([test "x$bt_cv_lib_elfutils" = "xyes"], [true_action], [false_action])
 
     m4_popdef([false_action])
     m4_popdef([true_action])
-- 
2.9.3