From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32846) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VYLh5-0003Vk-KB for qemu-devel@nongnu.org; Mon, 21 Oct 2013 16:03:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VYLh4-0005sw-5B for qemu-devel@nongnu.org; Mon, 21 Oct 2013 16:03:15 -0400 Received: from v6.chiark.greenend.org.uk ([2001:ba8:1e3::]:49812 helo=chiark.greenend.org.uk) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VYLh3-0005pm-V4 for qemu-devel@nongnu.org; Mon, 21 Oct 2013 16:03:14 -0400 From: Peter Maydell Date: Mon, 21 Oct 2013 21:03:06 +0100 Message-Id: <1382385786-9178-1-git-send-email-peter.maydell@linaro.org> Sender: Peter Maydell Subject: [Qemu-devel] [PATCH for-1.7] configure: Explicitly set ARFLAGS so we can build with GNU Make 4.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Ken Moffat , Anthony Liguori , patches@linaro.org Our rules.mak adds '-rR' to MAKEFLAGS to indicate that we will be explicitly specifying everything and not relying on any default variables or rules. However we were accidentally relying on the default ARFLAGS ("rv"). This went unnoticed because of a bug in GNU Make 3.82 and earlier which meant that adding -rR to MAKEFLAGS only affected submakes, not the currently running instance. Explicitly set ARFLAGS in config-host.mak, in the same way we handle CFLAGS and LDFLAGS; this will allow us to work with Make 4.0. Thanks to Paul Smith for analyzing this bug for us. Reported-by: Ken Moffat Signed-off-by: Peter Maydell --- Ken: I think this should work (and it doesn't break building with old makes), but I don't have a make 4.0 to hand; if you could test it I'd appreciate it. configure | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/configure b/configure index 57ee62a..4eb3a07 100755 --- a/configure +++ b/configure @@ -308,6 +308,9 @@ query_pkg_config() { pkg_config=query_pkg_config sdl_config="${SDL_CONFIG-${cross_prefix}sdl-config}" +# If the user hasn't specified ARFLAGS, default to 'rv', just as make does. +ARFLAGS="${ARFLAGS-rv}" + # default flags for all hosts QEMU_CFLAGS="-fno-strict-aliasing $QEMU_CFLAGS" QEMU_CFLAGS="-Wall -Wundef -Wwrite-strings -Wmissing-prototypes $QEMU_CFLAGS" @@ -3664,6 +3667,7 @@ echo "C compiler $cc" echo "Host C compiler $host_cc" echo "C++ compiler $cxx" echo "Objective-C compiler $objcc" +echo "ARFLAGS $ARFLAGS" echo "CFLAGS $CFLAGS" echo "QEMU_CFLAGS $QEMU_CFLAGS" echo "LDFLAGS $LDFLAGS" @@ -4239,6 +4243,7 @@ echo "HOST_CC=$host_cc" >> $config_host_mak echo "CXX=$cxx" >> $config_host_mak echo "OBJCC=$objcc" >> $config_host_mak echo "AR=$ar" >> $config_host_mak +echo "ARFLAGS=$ARFLAGS" >> $config_host_mak echo "AS=$as" >> $config_host_mak echo "CPP=$cpp" >> $config_host_mak echo "OBJCOPY=$objcopy" >> $config_host_mak -- 1.7.11.4