From bea35c980063a697ff8984ca36455b49a03ebc69 Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Fri, 13 Jan 2023 16:29:19 +0100 Subject: [PATCH] Update CTF's ctf_dict_t detection As ctf_dict_t can be an opaque type depending on the version of ctf-api.h, using AC_CHECK_TYPE won't work to detect it because that macro invokes sizeof(ctf_dict_t). With this change, we don't require that ctf_dict_t be fully defined. * configure.ac: Use AC_COMPILE_IFELSE to try and compile a code snippet that doesn't need that ctf_dict_t be fully defined. Signed-off-by: Dodji Seketeli --- configure.ac | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index d19c2f96..4d214b1c 100644 --- a/configure.ac +++ b/configure.ac @@ -334,11 +334,12 @@ if test x$ENABLE_CTF != xno; then fi if test x$LIBCTF = xyes; then - dnl Test if struct btf_enum64 is present. - AC_CHECK_TYPE([struct ctf_dict_t], - [HAVE_CTF_DICT_T=yes], - [HAVE_CTF_DICT_T=no], - [#include ]) + dnl Test if struct struct ctf_dict_t is present. + AC_LANG(C++) + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include + ctf_dict_t* c;]])], + [HAVE_CTF_DICT_T=yes], + [HAVE_CTF_DICT_T=no]) if test x$HAVE_CTF_DICT_T = xyes; then AC_DEFINE([HAVE_CTF_DICT_T], 1, [struct ctf_dict_t is present]) -- 2.34.1