diff mbox

qemu/configure: fix CFLAGS handling for i386

Message ID 20120330152436.GA31016@aepfle.de
State New
Headers show

Commit Message

Olaf Hering March 30, 2012, 3:24 p.m. UTC
configure will generate incorrect CFLAGS which will lead to compile
errors due to unknown gcc options, IFF CFLAGS was already in the
environment during configure invocation.

Add a space before the -march=i486 gcc option.

This patch is against the qemu-xen tree, but it should apply also to
qemu.git since it has the same issue. Please apply to both trees.

Signed-off-by: Olaf Hering <olaf@aepfle.de>

---
 configure |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Andreas Färber March 31, 2012, 3:41 p.m. UTC | #1
Hi Olaf,

Am 30.03.2012 17:24, schrieb Olaf Hering:
> 
> configure will generate incorrect CFLAGS which will lead to compile
> errors due to unknown gcc options, IFF CFLAGS was already in the
> environment during configure invocation.
> 
> Add a space before the -march=i486 gcc option.
> 
> This patch is against the qemu-xen tree, but it should apply also to
> qemu.git since it has the same issue. Please apply to both trees.
> 
> Signed-off-by: Olaf Hering <olaf@aepfle.de>

The patch applies fine to upstream QEMU (we should strip leading qemu/
from the commit message though).

This is the only usage of += outside Makefile fragments, so I wonder if
its use may have been by accident. Is it safe in a POSIX context?
Or should we better use CFLAGS="$CFLAGS -march=486"?
For QEMU_CFLAGS we use the pattern QEMU_CFLAGS="-options $QEMU_CFLAGS"
to allow overriding options.

Andreas

> 
> ---
>  configure |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> Index: qemu-xen-dir-remote/configure
> ===================================================================
> --- qemu-xen-dir-remote.orig/configure
> +++ qemu-xen-dir-remote/configure
> @@ -2637,7 +2637,7 @@ int main(int argc, char **argv)
>  }
>  EOF
>    if ! compile_prog "" "" ; then
> -    CFLAGS+="-march=i486"
> +    CFLAGS+=" -march=i486"
>    fi
>  fi
>
Olaf Hering March 31, 2012, 4:46 p.m. UTC | #2
On Sat, Mar 31, Andreas Färber wrote:

> This is the only usage of += outside Makefile fragments, so I wonder if
> its use may have been by accident. Is it safe in a POSIX context?
> Or should we better use CFLAGS="$CFLAGS -march=486"?

Now that I look at the shebang, configure is a sh script and += is most
likely a bash feature. So your suggestion for the assignment is correct.

Olaf
Peter Maydell March 31, 2012, 4:52 p.m. UTC | #3
On 31 March 2012 16:41, Andreas Färber <afaerber@suse.de> wrote:
> This is the only usage of += outside Makefile fragments, so I wonder if
> its use may have been by accident. Is it safe in a POSIX context?
> Or should we better use CFLAGS="$CFLAGS -march=486"?
> For QEMU_CFLAGS we use the pattern QEMU_CFLAGS="-options $QEMU_CFLAGS"
> to allow overriding options.

For that matter, should this be setting QEMU_CFLAGS instead of
CFLAGS? I have to say I'm not entirely sure what the difference
is...

-- PMM
Olaf Hering March 31, 2012, 4:55 p.m. UTC | #4
On Sat, Mar 31, Peter Maydell wrote:

> On 31 March 2012 16:41, Andreas Färber <afaerber@suse.de> wrote:
> > This is the only usage of += outside Makefile fragments, so I wonder if
> > its use may have been by accident. Is it safe in a POSIX context?
> > Or should we better use CFLAGS="$CFLAGS -march=486"?
> > For QEMU_CFLAGS we use the pattern QEMU_CFLAGS="-options $QEMU_CFLAGS"
> > to allow overriding options.
> 
> For that matter, should this be setting QEMU_CFLAGS instead of
> CFLAGS? I have to say I'm not entirely sure what the difference
> is...

I havent looked into qemu build internals, but there is most likely a
concept of HOST_TOOLS_CFLAGS and TARGET_CFLAGS in qemus Makefiles.

Olaf
Andreas Färber April 2, 2012, 7:54 a.m. UTC | #5
Am 31.03.2012 18:46, schrieb Olaf Hering:
> On Sat, Mar 31, Andreas Färber wrote:
> 
>> This is the only usage of += outside Makefile fragments, so I wonder if
>> its use may have been by accident. Is it safe in a POSIX context?
>> Or should we better use CFLAGS="$CFLAGS -march=486"?
> 
> Now that I look at the shebang, configure is a sh script and += is most
> likely a bash feature. So your suggestion for the assignment is correct.

...apart from the missing i in i486, obviously. ;)

Andreas
diff mbox

Patch

Index: qemu-xen-dir-remote/configure
===================================================================
--- qemu-xen-dir-remote.orig/configure
+++ qemu-xen-dir-remote/configure
@@ -2637,7 +2637,7 @@  int main(int argc, char **argv)
 }
 EOF
   if ! compile_prog "" "" ; then
-    CFLAGS+="-march=i486"
+    CFLAGS+=" -march=i486"
   fi
 fi