diff options
author | Aaron Merey <amerey@redhat.com> | 2019-10-28 13:29:26 -0400 |
---|---|---|
committer | Mark Wielaard <mark@klomp.org> | 2019-11-22 22:49:21 +0100 |
commit | 288f6b199a8b1a60d4fb1f54ca7b883cdd5afca2 (patch) | |
tree | b7d6a0dbcc0773de051aacdef8947d4adf72c941 /configure.ac | |
parent | 4bad7d1eada6a0690ab30eed2e5ae42c6fd7dacd (diff) |
debuginfod 1/2: client side
Introduce the debuginfod/ subdirectory, containing the client for a
new debuginfo-over-http service, in shared-library and command-line
forms. Two functions in libdwfl make calls into the client library to
fetch elf/dwarf files by buildid, as a fallback. Instead of normal
dynamic linking (thus pulling in a variety of curl dependencies),
the libdwfl hooks use dlopen/dlsym. Server & tests coming in patch 2.
Signed-off-by: Aaron Merey <amerey@redhat.com>
Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index 7fc3acb6..8a3ed3af 100644 --- a/configure.ac +++ b/configure.ac @@ -60,6 +60,8 @@ AC_CONFIG_FILES([m4/Makefile]) dnl The RPM spec file. We substitute a few values in the file. AC_CONFIG_FILES([elfutils.spec:config/elfutils.spec.in]) +dnl debuginfo-server client & server parts. +AC_CONFIG_FILES([debuginfod/Makefile]) AC_CANONICAL_HOST @@ -86,6 +88,8 @@ AS_IF([test "$use_locks" = yes], AH_TEMPLATE([USE_LOCKS], [Defined if libraries should be thread-safe.]) AC_PROG_CC +AC_PROG_CXX +AX_CXX_COMPILE_STDCXX(11, noext, optional) AC_PROG_RANLIB AC_PROG_YACC AM_PROG_LEX @@ -567,7 +571,7 @@ AM_CONDITIONAL(STANDALONE, false)dnl Used in tests/Makefile.am, which see. AC_CONFIG_FILES([tests/Makefile]) dnl pkgconfig files -AC_CONFIG_FILES([config/libelf.pc config/libdw.pc]) +AC_CONFIG_FILES([config/libelf.pc config/libdw.pc config/libdebuginfod.pc]) # Get the definitions necessary to create the Makefiles in the po # subdirectories. This is a small subset of the gettext rules. @@ -670,6 +674,22 @@ if test "$HAVE_BUNZIP2" = "no"; then AC_MSG_WARN([No bunzip2, needed to run make check]) fi +# Look for libmicrohttpd, libcurl, libarchive, sqlite for debuginfo server +# minimum versions as per rhel7. Single --enable-* option arranges to build +# both client libs and server process. + +PKG_PROG_PKG_CONFIG +AC_ARG_ENABLE([debuginfod], AC_HELP_STRING([--enable-debuginfod], [Build debuginfo server and client solib])) +AS_IF([test "x$enable_debuginfod" = "xyes"], [ + AC_DEFINE([ENABLE_DEBUGINFOD],[1],[Build debuginfo-server]) + PKG_CHECK_MODULES([libmicrohttpd],[libmicrohttpd >= 0.9.33]) + PKG_CHECK_MODULES([libcurl],[libcurl >= 7.29.0]) + PKG_CHECK_MODULES([sqlite3],[sqlite3 >= 3.7.17]) + PKG_CHECK_MODULES([libarchive],[libarchive >= 3.1.2]) +], [enable_debuginfod="no"]) +AM_CONDITIONAL([DEBUGINFOD],[test "x$enable_debuginfod" = "xyes"]) + + AC_OUTPUT AC_MSG_NOTICE([ @@ -699,6 +719,7 @@ AC_MSG_NOTICE([ Deterministic archives by default : ${default_ar_deterministic} Native language support : ${USE_NLS} Extra Valgrind annotations : ${use_vg_annotations} + Debuginfo client/server support : ${enable_debuginfod} EXTRA TEST FEATURES (used with make check) have bunzip2 installed (required) : ${HAVE_BUNZIP2} |