qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH RFC] configure: shorthand for only enabling nati


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH RFC] configure: shorthand for only enabling native softmmu target
Date: Wed, 14 Mar 2018 18:20:03 +0000

On 14 March 2018 at 12:09, Daniel P. Berrangé <address@hidden> wrote:
> With the huge number of QEMU targets, a default configuration will take
> a very long time to rebuild. When developing most code changes, it is
> sufficient to test compilation with a single target - rebuilding all
> targets just extends compile times while not detecting any new problems.
>
> Developers will often thus specify a single target for configure,
> commonly matching the host architecture. eg
>
>   ./configure --target-list=x86_64-softmmu
>
> This works fine, but is a bit of a verbose thing to type out everytime
> configure is invoked. There are already short-hand args to disable all
> user targets, all softmmu targets, or all tcg targets. This adds one
> further shorthand to disable all non-native architecture targets.
>
>   ./configure --native

How common actually is that, though? Almost all the time when
I'm picking targets I want something that's *not* the native
target...

More to the point, I actually only fairly rarely run configure
by hand at all. I have a source tree, with a subdir build/
which I have lots of subdirectories of for each config I
care about or have cared about. So if I want to do something
with sparc I'll just use 'make -C build/sparc' which will
automatically rerun configure with the right arguments, because
they're in the config.status in that build tree.

And as Alex points out you already usually want to feed
configure a pile of options, like --enable-debug. I also
like --with-pkgversion=foo, because without that the
version depends on the git commit hash, which means
every time the git hash changes multiple files and
executables get pointlessly rebuilt because the version
string changed. Keeping build dirs around means that
all this sort of customisation of options stays around.

So I'm not hugely keen on this patch, because it saves
20 characters on a command line that really ought not to
need typing more than once a month at most, but it
adds another messy case statement in configure that
knows about multiple architecture and subarchitecture
names.

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]