X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=m4%2Fae_lib_elfutils.m4;fp=m4%2Fae_lib_elfutils.m4;h=50300913baae762a33c7c80d20a651c2e8478d68;hp=0000000000000000000000000000000000000000;hb=1c482ed8da42029e59b4258c86739e5c046be600;hpb=435aa29aff0527d36aafa1b657ae70b9db5f9ea5 diff --git a/m4/ae_lib_elfutils.m4 b/m4/ae_lib_elfutils.m4 new file mode 100644 index 00000000..50300913 --- /dev/null +++ b/m4/ae_lib_elfutils.m4 @@ -0,0 +1,51 @@ +# SPDX-License-Identifier: MIT +# +# Copyright (C) 2016 Jérémie Galarneau +# Copyright (C) 2020 Michael Jeanson +# +# ae_lib_elfutils.m4 -- Check elfutils version +# +# Check the currently installed version of elfutils by using the +# `_ELFUTILS_PREREQ` macro defined in . +# +# The cache variable for this test is `ae_cv_lib_elfutils`. +# +# AE_LIB_ELFUTILS(MAJOR_VERSION, MINOR_VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +# --------------------------------------------------------------------------- +AC_DEFUN([AE_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_CACHE_CHECK( + [for elfutils version >= major_version.minor_version], + [ae_cv_lib_elfutils], [ + AC_LANG_PUSH([C]) + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([ + #include + + #if (!_ELFUTILS_PREREQ(][]major_version[][, ][]minor_version[][)) + #error "elfutils minimum required version not met." + #endif + + void main(void) { + return; + } + ])], + [ae_cv_lib_elfutils=yes], + [ae_cv_lib_elfutils=no] + ) + AC_LANG_POP([C]) +]) + +AS_IF([test "x$ae_cv_lib_elfutils" = "xyes"], [true_action], [false_action]) + +m4_popdef([false_action]) +m4_popdef([true_action]) +m4_popdef([minor_version]) +m4_popdef([major_version]) +])