Suggested in https://lists.gnu.org/archive/html/qemu-devel/2015-11/msg03298.html
The config.status script is auto-generated by configure upon completion. The intention is that config.status can be later invoked by the developer to re-detect the same environment that configure originally used. The current config.status script, however, only contains a record of the command line arguments to configure. Various environment variables have an effect on what configure will find. In particular the PKG_CONFIG_LIBDIR & PKG_CONFIG_PATH vars will affect what libraries pkg-config finds. The PATH var will affect what toolchain binaries and XXXX-config scripts are found. The LD_LIBRARY_PATH var will affect what libraries are found. All these key env variables should be recorded in the config.status script. Signed-off-by: Daniel P. Berrange <berra...@redhat.com> --- Open question: are there more env vars we should preserve ? configure | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/configure b/configure index d7472d7..9c9f6ac 100755 --- a/configure +++ b/configure @@ -5925,6 +5925,24 @@ cat <<EOD >config.status # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. EOD + +preserve_env() { + envname=$1 + + if test -n "${!envname}" + then + echo "$envname=\"${!envname}\"" >> config.status + echo "export $envname" >> config.status + fi +} + +# Preserve various env variables that influence what +# features/build target configure will detect +preserve_env PATH +preserve_env LD_LIBRARY_PATH +preserve_env PKG_CONFIG_LIBDIR +preserve_env PKG_CONFIG_PATH + printf "exec" >>config.status printf " '%s'" "$0" "$@" >>config.status echo >>config.status -- 2.5.0