[PATCH] configure: Add --with-elfutils and remove --with-lib{dw,elf} options
Dodji Seketeli
dodji@seketeli.org
Thu Aug 27 16:25:15 GMT 2026
Hello,
It does not make sense to have --with-libdw= and --with-libelf=
options to define where to find these elfutils libraries. Just have
one option as the prefix under which to find all elfutils makes much
more sense.
The patch introduces --with-elfutils= to specify the prefix under
which libelf.so, libdw.so and the header files are to be found. It
thus removes the previous --with-lib{dw,elf} redundant options.
OK to apply to the multithreading branch ? I am sending a corresponding
patch to the buildbot mainling list to adjust the CI bots accordingly.
* configure.ac: Remove definitions and references to --with-libdw
and --with-libelf options. Add support for the new
--with-elfutils. Adjust. Add a new configuration description
message for the elfutils prefix that is actually used by
Libabigail.
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
---
configure.ac | 48 +++++++++++++++++++++++++-----------------------
1 file changed, 25 insertions(+), 23 deletions(-)
diff --git a/configure.ac b/configure.ac
index 22b0bfbe..8e25b2fa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -258,19 +258,11 @@ AC_ARG_ENABLE(inlined-xxhash,
ENABLE_INLINED_XXHASH=$enableval,
ENABLE_INLINED_XXHASH=no)
-WITH_DW_LIBS_PATH=auto
-AC_ARG_WITH(libdw,
- AS_HELP_STRING([--with-libdw=/path/to/libdw-library/prefix],
- [Set the path to the libdw library prefix]),
- WITH_DW_LIBS_PATH=$withval,
- WITH_DW_LIBS_PATH=auto)
-
-WITH_ELF_LIBS_PATH=auto
-AC_ARG_WITH(libelf,
- AS_HELP_STRING([--with-libelf=/path/to/libelf-library/prefix],
- [Set the path to the libelf library prefix]),
- WITH_ELF_LIBS_PATH=$withval,
- WITH_ELF_LIBS_PATH=auto)
+AC_ARG_WITH(elfutils,
+ AS_HELP_STRING([--with-elfutils=/path/to/elfutils/prefix],
+ [Set the path to the prefix for elfutils libraries]),
+ WITH_ELFUTILS_PATH=$withval,
+ WITH_ELFUTILS_PATH=auto)
WITH_LIBXML2_PATH=auto
AC_ARG_WITH(libxml2,
@@ -358,26 +350,26 @@ dnl Those were added in version 0.165.
dnl look for libelf
ELF_LIBS_VERSION=0.171
SAVED_PKG_CONFIG_PATH=$PKG_CONFIG_PATH
-if test $WITH_ELF_LIBS_PATH != xauto; then
- export PKG_CONFIG_PATH="$WITH_ELF_LIBS_PATH/lib/pkgconfig:$PKG_CONFIG_PATH"
+if test x$WITH_ELFUTILS_PATH != xauto; then
+ export PKG_CONFIG_PATH="$WITH_ELFUTILS_PATH/lib/pkgconfig:$PKG_CONFIG_PATH"
fi
-AC_MSG_NOTICE([used PKG_CONFIG_PATH=$PKG_CONFIG_PATH to check for libelf]);
+AC_MSG_NOTICE([using PKG_CONFIG_PATH=$PKG_CONFIG_PATH to check for libelf]);
PKG_CHECK_MODULES(ELF, libelf >= $ELF_LIBS_VERSION)
-if test $WITH_ELF_LIBS_PATH != xauto; then
+if test x$WITH_ELFUTILS_PATH != xauto; then
PKG_CONFIG_PATH=$SAVED_PKG_CONFIG_PATH
fi
dnl Look for libdw
DW_LIBS_VERSION=0.171
SAVED_PKG_CONFIG_PATH=$PKG_CONFIG_PATH
-if test $WITH_DW_LIBS_PATH != xauto; then
- export PKG_CONFIG_PATH="$WITH_DW_LIBS_PATH/lib/pkgconfig:$PKG_CONFIG_PATH"
+if test x$WITH_ELFUTILS_PATH != xauto; then
+ export PKG_CONFIG_PATH="$WITH_ELFUTILS_PATH/lib/pkgconfig:$PKG_CONFIG_PATH"
fi
AC_MSG_NOTICE([used PKG_CONFIG_PATH=$PKG_CONFIG_PATH to check for libdw]);
PKG_CHECK_MODULES(DW, libdw >= $DW_LIBS_VERSION)
-if test $WITH_DW_LIBS_PATH != xauto; then
+if test x$WITH_ELFUTILS_PATH != xauto; then
PKG_CONFIG_PATH=$SAVED_PKG_CONFIG_PATH
fi
@@ -1019,9 +1011,17 @@ AC_SUBST(HELGRIND_TRACK_DESTROY)
ELFUTILS_HAS_THREAD_SAFETY=no
+dnl By default, look for elfutils in the default system prefix.
+eu_prefix=$prefix
+
if test x$ENABLE_MULTITHREADING != xno; then
-saved_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="-I${prefix}/include $CPPFLAGS"
+ saved_CPPFLAGS="$CPPFLAGS"
+
+ if test x$WITH_ELFUTILS_PATH != xauto; then
+ eu_prefix=$WITH_ELFUTILS_PATH
+ fi
+
+ CPPFLAGS="-I$eu_prefix/include $CPPFLAGS"
AC_CHECK_HEADER([elfutils/version.h],
[HAS_ELFUTILS_VERSION=yes],
[AC_MSG_NOTICE([could not find elfutils/version.h])])
@@ -1040,7 +1040,8 @@ CPPFLAGS="-I${prefix}/include $CPPFLAGS"
AC_MSG_NOTICE([I haven't detected multithreading support in elfutils/version.h])
ENABLE_MULTITHREADING=no
fi
-CPPFLAGS="$saved_CPPFLAGS"
+
+ CPPFLAGS="$saved_CPPFLAGS"
fi
if test x$ENABLE_MULTITHREADING = xyes; then
@@ -1758,6 +1759,7 @@ AC_MSG_NOTICE([
C++ Compiler : ${CXX}
GCC visibility attribute supported : ${SUPPORTS_GCC_VISIBILITY_ATTRIBUTE}
CXXFLAGS : ${CXXFLAGS}
+ ELFUTILS prefix : ${eu_prefix}
ELF_LIBS : ${ELF_LIBS}
ELF_CFLAGS : ${ELF_CFLAGS}
DW_LIBS : ${DW_LIBS}
--
2.55.0
--
Dodji
More information about the Libabigail
mailing list