qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] How to I trigger a rebuild?


From: Peter Maydell
Subject: Re: [Qemu-devel] How to I trigger a rebuild?
Date: Sun, 14 Apr 2019 19:12:37 +0100

On Sun, 14 Apr 2019 at 17:08, Joachim Durchholz <address@hidden> wrote:
>
> Am 14.04.19 um 03:15 schrieb Max Filippov:
> > On Sat, Apr 13, 2019 at 8:28 AM Joachim Durchholz <address@hidden> wrote:
> >> I did the usual ./configure; make dance.
> >> Then modified a source file (ui/curses.c), called make again, but didn't
> >> see curses.c recompiled, and the change was indeed ineffective.
> >> make clean; make didn't help either.
> >
> > Perhaps you don't have CONFIG_CURSES enabled?
> > Did you call configure with --enable-curses ?
>
> Strange. "make help" tells me that everything is enabled by default if
> possible, and I didn't tell configure to do anything specific.
>
> But I find that curses is disabled indeed.
> Heh. An explicit --enable-curses tells me it was missing the dev version
> of ncurses.

Configure's default behaviour is "enable everything that we can
enable, but don't complain about not enabling optional features
which we can't build (eg because of missing -dev libraries)".
For "insist that foo is built and error out if it can't be done",
use "--enable-foo". For "definitely don't build foo even if we
could", use --disable-foo.

> However... even with curses enabled, "make" does not do anything  after
> modifying ui/curses.c.
> In fact, just "make" tell's me I should have run ./config (WTF I did??),
> and "make all"
> But after ./configure is recompiles everything... nothing of this is
> something that "make" should do, so I'm pretty confused.

This sounds like maybe you got confused somewhere along the line
about whether you'd (re-)run configure or not (or didn't
do a 'make clean' after running configure with the curses
support enabled).

The other thing that might confuse you is that make will try
to spot when it needs to rerun configure and will rerun it
for you.

I recommend doing builds only in a separate directory, by the way:
 mkdir build
 (cd build && ../configure [configure args])
 make -C build -j8

Then you can always just rm -rf the build dir and it doesn't
leave stuff lying around in the source tree. You can also
do multiple different builds with different configure
setups without having to do a complete build from clean.
(If you've previously done an in-source-directory build
you'll need to 'make distclean' it before doing out of tree
builds.)

thanks
-- PMM



reply via email to

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