diff --git a/CMakeLists.txt b/CMakeLists.txt index 429c50374..95cba53e9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -368,8 +368,8 @@ endif() # Configuration # ===================================== -message(STATUS "Configuration summary:") -message(STATUS "----------------------") +message(STATUS "Configuration details:") +message(STATUS "---------------------") if (DEBUG_CMAKE) message(STATUS "CMAKE_HOST_SYSTEM: ${CMAKE_HOST_SYSTEM}") @@ -404,13 +404,6 @@ if (DEBUG_CMAKE) message(STATUS "----------------------") endif() -buildinfo_item("libelf" "yes") -buildinfo_item("libelf" "no") -buildinfo_item("libelf" "DO HAVE") -buildinfo_item("libelf" "DON'T HAVE") - -buildinfo_output() - if(HAVE_LIBELF) message(STATUS "DO HAVE libelf") else() @@ -503,3 +496,11 @@ else() endif() message(STATUS "----------------------") + +buildinfo_item("libelf" "yes") +buildinfo_item("libelf" "no") +buildinfo_item("libelf" "DO HAVE") +buildinfo_item("libelf" "DON'T HAVE") + +# print the output collected by earlier calls to buildinfo_item() +buildinfo_output() diff --git a/src/build-helpers/buildinfo.cmake b/src/build-helpers/buildinfo.cmake index 7bcc95b55..bd85e867e 100644 --- a/src/build-helpers/buildinfo.cmake +++ b/src/build-helpers/buildinfo.cmake @@ -1,5 +1,19 @@ function(buildinfo_setup) message(STATUS "BEGIN buildinfo_setup") + string(CONCAT BUILDINFO_INCLUDE_TOP + " /* buildinfo-include.c - DO NOT MODIFY THIS FILE! */\n" + " /* This include file buildinfo-include.c is AUTOGENERATED by configure. */\n" + " /* This file is meant to be \#include'ed, but is not a header file. */\n" + ) + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/src/buildinfo-include.c" + "${BUILDINFO_INCLUDE_TOP}") + string(CONCAT BUILDINFO_SUMMARY_TOP + "Configuration summary:\n" + "----------------------\n" + "\n" + ) + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/buildinfo-summary.txt" + "${BUILDINFO_SUMMARY_TOP}") message(STATUS "END buildinfo_setup") endfunction() @@ -7,12 +21,22 @@ function(buildinfo_item KEY VAL) cmake_parse_arguments(arg "" "" "" ${ARGN}) message(STATUS "BEGIN buildinfo_item") message(STATUS " K,V: ${KEY}, ${VAL}") + file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/src/buildinfo-include.c" + " {\"AUTO-BUIDLINFO ${KEY}\", \"${VAL}\"},\n") + file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/buildinfo-summary.txt" + " * ${KEY}: ${VAL}\n") message(STATUS "END buildinfo_item") endfunction() function(buildinfo_output) message(STATUS "BEGIN buildinfo_output") - message(STATUS "END buildinfo_output") + file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/src/buildinfo-include.c" + " /* end of buildinfo-include.c */\n") + #file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/buildinfo-summary.txt" + # "\nThe End.\n") + file(READ "${CMAKE_CURRENT_BINARY_DIR}/buildinfo-summary.txt" msg) + message("\n${msg}") + # message(STATUS "END buildinfo_output") endfunction() buildinfo_setup() diff --git a/src/build-helpers/buildinfo.m4 b/src/build-helpers/buildinfo.m4 index 866b7d22b..1d4cd3741 100644 --- a/src/build-helpers/buildinfo.m4 +++ b/src/build-helpers/buildinfo.m4 @@ -13,15 +13,16 @@ m4_pattern_forbid([^BUILDINFO_SETUP])dnl dnl AC_DEFUN([BUILDINFO_SETUP], [dnl dnl AC_MSG_NOTICE([BEGIN ][[$0]]) -cat>auto-buildinfo.msg<buildinfo-summary.txt<auto-buildinfo.c<buildinfo-include.c<> auto-buildinfo.msg -printf " {\"AUTO-BUILDINFO %s\", \"%s\"},\n" "$1" "$2" >> auto-buildinfo.c +printf " * %-15s %s\n" "$1:" "$2" >> buildinfo-summary.txt +printf " {\"AUTO-BUILDINFO %s\", \"%s\"},\n" "$1" "$2" >> buildinfo-include.c dnl AC_MSG_NOTICE([END ][[$0]]) ])dnl dnl @@ -51,15 +52,15 @@ dnl AC_DEFUN([BUILDINFO_OUTPUT], [dnl dnl AC_MSG_NOTICE([BEGIN ][[$0]]) AC_REQUIRE([BUILDINFO_SETUP]) -cat>>auto-buildinfo.msg<>buildinfo-summary.txt<>auto-buildinfo.c<>buildinfo-include.c< +#include {"libelf", #ifdef HAVE_LIBELF diff --git a/src/configure.ac b/src/configure.ac index 2457af6c7..7eee50ddc 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -729,6 +729,8 @@ BUILDINFO_ITEM([libelf], [yes]) BUILDINFO_ITEM([libelf], [no]) BUILDINFO_ITEM([libelf], [DO HAVE]) BUILDINFO_ITEM([libelf], [DON'T HAVE]) + +# print the output collected by earlier calls to BUILDINFO_ITEM() BUILDINFO_OUTPUT() echo ""