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


Reply via email to