From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54253) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZykXr-0004NG-KX for qemu-devel@nongnu.org; Tue, 17 Nov 2015 12:59:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZykXn-0002K2-KA for qemu-devel@nongnu.org; Tue, 17 Nov 2015 12:59:55 -0500 Received: from mx1.redhat.com ([209.132.183.28]:38232) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZykXn-0002Jp-F0 for qemu-devel@nongnu.org; Tue, 17 Nov 2015 12:59:51 -0500 From: "Daniel P. Berrange" Date: Tue, 17 Nov 2015 17:59:45 +0000 Message-Id: <1447783185-32019-1-git-send-email-berrange@redhat.com> Subject: [Qemu-devel] [PATCH] configure: preserve various environment variables in config.status List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , Gerd Hoffmann , "Dr. David Alan Gilbert" 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 --- 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 <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