[PATCH 2/2] Output information about buildable components

Ulf Hermann ulf.hermann@qt.io
Mon Feb 20 14:14:00 GMT 2017


If argp is missing we build without tools and tests. We might also
make libasm optional in the future, as it is only used in maintainer
mode. A libelf-only build without libdw and the ebl backends is also
feasible.

The user should be notified about what is actually buildable with a
given configuration.

Signed-off-by: Ulf Hermann <ulf.hermann@qt.io>
---
 ChangeLog    |  5 +++++
 configure.ac | 16 +++++++++++++++-
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index e93d05f..e97e02b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2017-02-20  Ulf Hermann  <ulf.hermann@qt.io>
 
+	* configure.ac: Track which components are enabled and output
+	a summary in the end.
+
+2017-02-20  Ulf Hermann  <ulf.hermann@qt.io>
+
 	* configure.ac: Don't abort if no argp is found. Only print a
 	warning, rename have_argp to with_argp (like lzma, bzip2 ..),
 	and use "yes"/"no" as values, as we do for other variables.
diff --git a/configure.ac b/configure.ac
index 60b8796..ed60be5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -403,6 +403,7 @@ dnl Support library.
 AC_CONFIG_FILES([lib/Makefile])
 
 dnl ELF library.
+enable_libelf="yes"
 AC_CONFIG_FILES([libelf/Makefile])
 
 dnl Higher-level ELF support library.
@@ -412,6 +413,7 @@ dnl DWARF-ELF Lower-level Functions support library.
 AC_CONFIG_FILES([libdwelf/Makefile])
 
 dnl DWARF library.
+enable_libdw="yes"
 AC_CONFIG_FILES([libdw/Makefile])
 
 dnl Higher-level DWARF support library.
@@ -421,7 +423,8 @@ dnl CPU handling library.
 AC_CONFIG_FILES([libcpu/Makefile])
 
 dnl Assembler library.
-AM_CONDITIONAL(HAVE_LIBASM, true)dnl Used in tests/Makefile.am, which see.
+enable_libasm="yes"
+AM_CONDITIONAL(HAVE_LIBASM, test "x$enable_libasm" = "xyes")dnl Used in tests/Makefile.am, which see.
 AC_CONFIG_FILES([libasm/Makefile])
 
 dnl CPU-specific backend libraries.
@@ -433,11 +436,15 @@ AC_CONFIG_FILES([po/Makefile.in])
 AM_CONDITIONAL(STANDALONE, false)dnl Used in tests/Makefile.am, which see.
 if test "x$with_argp" = "xyes"; then
 	dnl Tools.
+	enable_tools="yes"
 	AC_CONFIG_FILES([src/Makefile])
 
 	dnl Test suite.
+	enable_tests="yes"
 	AC_CONFIG_FILES([tests/Makefile])
 else
+	enable_tools="no"
+	enable_tests="no"
 	AC_MSG_WARN("Not building tools or tests.")
 fi
 
@@ -580,4 +587,11 @@ AC_MSG_NOTICE([
     gcc undefined behaviour sanitizer  : ${use_undefined}
     use rpath in tests                 : ${tests_use_rpath}
     test biarch                        : ${utrace_cv_cc_biarch}
+
+  BUILDABLE COMPONENTS
+    libasm                             : ${enable_libasm}
+    libelf                             : ${enable_libelf}
+    libdw and ebl backends             : ${enable_libdw}
+    tools                              : ${enable_tools}
+    tests                              : ${enable_tests}
 ])
-- 
2.1.4



More information about the Elfutils-devel mailing list