On Mon, Jan 23, 2017 at 07:41:48PM +0000, Peter Maydell wrote:
> On 23 January 2017 at 19:32, James Hanley <jhan...@dgtlrift.com> wrote:
> > Changeset fails to compile:
> >
> > qemu/vl.c:3683:18: error: ‘QEMU_OPTION_enable_hax’ undeclared (first use in
> > this function)
> >              case QEMU_OPTION_enable_hax:
> >                   ^
> > I assume that there is details in
> >
> > ./qemu-options.def
> > ./qemu-options.hx
> >
> > that were not included with the commit?
> 
> Your source tree probably has a stale qemu-options.def in it
> from an attempt to do an in-tree build at some point in the
> past (and now you are doing out-of-tree builds). If you do a
> 'make distclean' in the source tree this will get rid of the
> stale junk and the build should work. (Or you can just git
> clone a fresh tree; or attempt to more carefully remove
> individual stale stuff, but that risks leaving some other
> stale file around.)
> 
> (The change to qemu-options.hx is sufficient, because we
> generate qemu-options.def from it in the build tree; but
> if you have a stale .def file in the source tree then
> gcc will pick that one up before the one in the build tree;
> which works until something requires a change that postdates
> the stale stuff.)
> 
> thanks
> -- PMM

Maybe we should change the include order to always prefer
the build tree files if there?
An alternative is to do what Linux does, create a
file in tree when doing a build, and then make an
out of tree one fail and suggest distclean.

-- 
MST

Reply via email to