# 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])
# ---------------------------------------------------------------------------
AC_DEFUN([AX_LIB_ELFUTILS], [
m4_pushdef([major_version], [$1])
m4_pushdef([minor_version], [$2])
+ m4_pushdef([true_action], m4_default([$3], [:]))
+ m4_pushdef([false_action], m4_default(
+ [$4], [AC_MSG_ERROR(elfutils >= major_version.minor_version is required)]
+ ))
- AC_MSG_CHECKING([for elfutils version >= major_version.minor_version])
- m4_if([$#], 3, [
- m4_pushdef([true_action], [$3])
- ], [
- m4_pushdef([true_action], [])
- ])
-
- m4_if([$#], 4, [
- m4_pushdef([false_action], [$4])
- ], [
- m4_pushdef([false_action], [
- AC_MSG_ERROR(elfutils >= major_version.minor_version is required)])
- ])
+ 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>
- 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])