m4/ax_lib_elfutils.m4: use m4_default() for optional args.
[babeltrace.git] / m4 / ax_lib_elfutils.m4
index fcfe06b997176c9f0bb41eaad65ca4ed124ea693..5cefc748bf14a06a545533ebe2bd15f919c003a5 100644 (file)
 # 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])
This page took 0.023093 seconds and 4 git commands to generate.