From 3913ad3e28a19811e1b52338112344a487057e4f Mon Sep 17 00:00:00 2001
From: Victor Kamensky <victor.kamensky7@gmail.com>
Date: Mon, 18 Dec 2023 03:13:38 +0000
Subject: [PATCH 1/2] configure.ac: fix broken libdebuginfod library auto
 detection

After 2e67b053e3796ee7cf29a39f9698729b52078406 "configury: rework debuginfod searches"
commit, libdebuginfod.so library auto detection is broken. It was reported by Martin Jansa
on openembedded-core mailing list [1].

Currently configure.ac does "AC_DEFINE([HAVE_LIBDEBUGINFOD], [1] ..." as long as
no --without-debuginfod option is passed, regardless PKG_CHECK_MODULES check result.
It seems to be bad copy/paste. Address the issue by moving the AC_DEFINE back to
PKG_CHECK_MODULES action-if-found block.

To reproduce the issue on FC system, one can do the following
"sudo dnf remove elfutils-debuginfod-client-devel" and then try to build SystemTap
util.cxx will fail to compile because of missing elfutils/debuginfod.h because
config.h will have "#define HAVE_LIBDEBUGINFOD 1", while config.log and configure
output indicates that check for libdebuginfod library failed.

[1] https://lists.openembedded.org/g/openembedded-core/message/192109?p=%2C%2C%2C20%2C0%2C0%2C0%3A%3Acreated%2C0%2Csystemtap%2C20%2C2%2C0%2C102987514

Upstream-Status: Submitted [https://sourceware.org/pipermail/systemtap/2023q4/027914.html]
Signed-off-by: Victor Kamensky <victor.kamensky7@gmail.com>
---
 configure.ac | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac
index d9559c5c3..18cd7f84a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -219,12 +219,11 @@ dnl take the user at his or her word
 elif test "x$with_debuginfod" != xno; then
 dnl check in the system pkgconfig
   PKG_CHECK_MODULES([debuginfod], [libdebuginfod >= 0.179],
-    [have_debuginfod=1],
+    [have_debuginfod=1
+     AC_DEFINE([HAVE_LIBDEBUGINFOD], [1], [Define to 1 if debuginfod is enabled.])],
     [if test "x$with_debuginfod" = xyes; then
        AC_MSG_ERROR(["--with-debuginfod was given, but libdebuginfod is missing or unusable."])
      fi])
-  AC_DEFINE([HAVE_LIBDEBUGINFOD], [1], [Define to 1 if debuginfod is enabled.])
-  AC_MSG_RESULT([yes])  
 else
   AC_MSG_RESULT([no])
 fi
-- 
2.31.1

