qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: qemu-devel@nongnu.org, "Thomas Huth" <thuth@redhat.com>,
	"Laurent Vivier" <laurent@vivier.eu>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Dmitry Fleytman" <dmitry.fleytman@gmail.com>,
	"Ronnie Sahlberg" <ronniesahlberg@gmail.com>,
	"Li Zhijian" <lizhijian@cn.fujitsu.com>,
	"David Hildenbrand" <david@redhat.com>,
	"Jeff Cody" <jcody@redhat.com>,
	"Zhang Chen" <zhangckid@gmail.com>,
	"BALATON Zoltan" <balaton@eik.bme.hu>,
	"Keith Busch" <keith.busch@intel.com>,
	"Max Filippov" <jcmvbkbc@gmail.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Jiri Pirko" <jiri@resnulli.us>,
	"Subbaraya Sundeep" <sundeep.lkml@gmail.com>,
	"Eric Blake" <eblake@redhat.com>,
	"Michael Roth" <mdroth@linux.vnet.ibm.com>,
	"Marcelo Tosatti" <mtosatti@redhat.com>,
	"Josh Durgin" <jdurgin@redhat.com>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Alberto Garcia" <berto@igalia.com>,
	zhanghailiang <zhang.zhanghailiang@huawei.com>,
	"Ben Warren" <ben@skyportsystems.com>,
	"Marcel Apfelbaum" <marcel@redhat.com>,
	"Yongbok Kim" <yongbok.kim@mips.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Stefan Berger" <stefanb@linux.vnet.ibm.com>,
	"Christian Borntraeger" <borntraeger@de.ibm.com>,
	kvm@vger.kernel.org, "Hervé Poussineau" <hpoussin@reactos.org>,
	"Shannon Zhao" <zhaoshenglong@huawei.com>,
	"Anthony Perard" <anthony.perard@citrix.com>,
	"Liu Yuan" <namei.unix@gmail.com>,
	"David Gibson" <david@gibson.dropbear.id.au>,
	"Andrzej Zaborowski" <balrogg@gmail.com>,
	"Jason Wang" <jasowang@redhat.com>,
	"Artyom Tarasenko" <atar4qemu@gmail.com>,
	"Riku Voipio" <riku.voipio@iki.fi>, "Fam Zheng" <famz@redhat.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Corey Minyard" <minyard@acm.org>, "Amit Shah" <amit@kernel.org>,
	"Pavel Dovgalyuk" <pavel.dovgaluk@ispras.ru>,
	"Stefan Weil" <sw@weilnetz.de>,
	"Xie Changlong" <xiechanglong.d@gmail.com>,
	"Alistair Francis" <alistair@alistair23.me>,
	"Peter Lieven" <pl@kamp.de>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	"Greg Kurz" <groug@kaod.org>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Alex Williamson" <alex.williamson@redhat.com>,
	qemu-arm@nongnu.org, "Peter Chubb" <peter.chubb@nicta.com.au>,
	"Yuval Shaia" <yuval.shaia@oracle.com>,
	"Stefan Hajnoczi" <stefanha@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org, "John Snow" <jsnow@redhat.com>,
	"Richard Henderson" <rth@twiddle.net>,
	"Kevin Wolf" <kwolf@redhat.com>,
	qemu-block@nongnu.org,
	"Peter Crosthwaite" <crosthwaite.peter@gmail.com>,
	"Hitoshi Mitake" <mitake.hitoshi@lab.ntt.co.jp>,
	"Wen Congyang" <wencongyang2@huawei.com>,
	qemu-s390x@nongnu.org, "Cornelia Huck" <cohuck@redhat.com>,
	"Richard W.M. Jones" <rjones@redhat.com>,
	"Juan Quintela" <quintela@redhat.com>,
	"Max Reitz" <mreitz@redhat.com>,
	"Michael Walle" <michael@walle.cc>,
	qemu-ppc@nongnu.org, "Andreas Färber" <afaerber@suse.de>,
	"Igor Mammedov" <imammedo@redhat.com>,
	"Hannes Reinecke" <hare@suse.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Subject: Re: [Qemu-devel] [PATCH v2 1/2] make: move generated headers to qemu-build/
Date: Fri, 23 Mar 2018 16:52:13 +0300	[thread overview]
Message-ID: <20180323162223-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20180323102227.GF16270@redhat.com>

On Fri, Mar 23, 2018 at 10:22:27AM +0000, Daniel P. Berrangé wrote:
> On Thu, Mar 22, 2018 at 09:27:55PM +0200, Michael S. Tsirkin wrote:
> > Make sure all generated files go into qemu-build subdirectory.
> > We can then include them like this:
> >  #include "qemu-build/trace.h"
> > 
> > This serves two purposes:
> > - make it easy to detect which files are in the source
> >   directory (a bit more work for writers, easier for readers)
> > - reduce chances of conflicts with possible stale files in source
> >   directory (which could be left over from e.g. old patches, etc)
> 
> If people care about this, then they can just be doing a build
> with  srcdir != builddir config.

Helps with the second point but I do not see how this will help address
the first point.

I see include "x.h" in source, it's natural to ask where it is.

I look for it in the c file directory. Not there.

I look for it in the include, it's not there. Where then?

qemu source root on the include path. Not there.

Oh tcg directory is in the include path for some reason. Not there.

Some other tree coming from a submodule maybe?

Oh *maybe* it will be generated by some script, I need to run
build to find out.

For the record, more remains to be done.
Here's a list from and oot build of virtio, with some comments:

cc -iquote /home/mst/qemu-oot/hw/virtio


 -iquote hw/virtio 

<- same directory repeated twice.

<- also this is here just for trace.h . Better to just change code to point at the right trace header -
   will look into it.

-iquote /home/mst/qemu/tcg

<- why does everyone want tcg? better to just include with tcg/

 -iquote /home/mst/qemu/tcg/i386

<- and i386 specifically?

 -I/home/mst/qemu/linux-headers

<- ok this is so we can override with our own version of headers

 -I/home/mst/qemu-oot/linux-headers

<- why do we have these at all?
   oh it's because we have asm-<arch> tricks like linux used to use years ago,
   then we copy the correct asm headers:
     ls linux-headers/asm/
     bitsperlong.h  hyperv.h  kvm.h  kvm_para.h  unistd_32.h  unistd_64.h  unistd.h  unistd_x32.h

   a better strategy would be to have headers in arch/<arch>/asm like Linux does now,
   no code generation tricks.

 -iquote .

<- build directory. No headers there at all.

 -iquote /home/mst/qemu 

<- turns out we still have headers in source root. Why not move them to include/ ?

-iquote /home/mst/qemu/accel/tcg 

<- more tcg goodness for everyone?

-iquote /home/mst/qemu/include 

<- ok that's expected. Why isn't this first on the list though?

-I/usr/include/pixman-1

<- should be limited to ui files I guess?

  -I/usr/include/glib-2.0 

<- ok we need that

-I/usr/lib64/glib-2.0/include 

<- but that one does not exist

  -I/usr/include/p11-kit-1     -I/usr/include/libpng16  -I/usr/include/libdrm

<- more GUI things?

  -I/home/mst/qemu/capstone/include

<- ok a bunch of disasm things.
	ls capstone/include/
	arm64.h  arm.h  capstone.h  mips.h  platform.h  ppc.h  sparc.h  systemz.h  x86.h  xcore.h
   can we add this just to disas.c?

  -I../linux-headers

<- all together now: same as qemu-oot but with a relative path now.

 -iquote ..

<- build directory - no headers there

 -iquote /home/mst/qemu/target/arm

<- this is a good idea why?

 -iquote /home/mst/qemu/include

<- deja vu

Wow that was fun.

>  If people are using srcdir == builddir
> then they likely *want* all the generated files in their srcdir.
> 
> IMHO it would be valid for us to consider if we could just mandate
> srcdir != builddir, but if people object to such a proposal, then I
> don't think we should arbitrarily move all generated source files
> in this way, as that's effectively the same thing forced onto devs.
> 
> Regards,
> Daniel

People don't really care.





> -- 
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

      parent reply	other threads:[~2018-03-23 13:52 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-22 19:27 [Qemu-devel] [PATCH v2 1/2] make: move generated headers to qemu-build/ Michael S. Tsirkin
2018-03-22 19:28 ` [Qemu-devel] [PATCH v2 2/2] qemu: move generated files to qemu-build Michael S. Tsirkin
2018-03-22 19:42 ` [Qemu-devel] [PATCH v2 1/2] make: move generated headers to qemu-build/ Eric Blake
2018-03-22 20:04   ` Michael S. Tsirkin
2018-03-23 10:22 ` Daniel P. Berrangé
2018-03-23 11:21   ` Kevin Wolf
2018-03-23 13:52   ` Michael S. Tsirkin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180323162223-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=afaerber@suse.de \
    --cc=alex.williamson@redhat.com \
    --cc=alistair@alistair23.me \
    --cc=amit@kernel.org \
    --cc=anthony.perard@citrix.com \
    --cc=armbru@redhat.com \
    --cc=atar4qemu@gmail.com \
    --cc=balaton@eik.bme.hu \
    --cc=balrogg@gmail.com \
    --cc=ben@skyportsystems.com \
    --cc=berrange@redhat.com \
    --cc=berto@igalia.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=crosthwaite.peter@gmail.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=david@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=dmitry.fleytman@gmail.com \
    --cc=eblake@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=famz@redhat.com \
    --cc=groug@kaod.org \
    --cc=hare@suse.com \
    --cc=hpoussin@reactos.org \
    --cc=imammedo@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=jcmvbkbc@gmail.com \
    --cc=jcody@redhat.com \
    --cc=jdurgin@redhat.com \
    --cc=jiri@resnulli.us \
    --cc=jsnow@redhat.com \
    --cc=keith.busch@intel.com \
    --cc=kraxel@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwolf@redhat.com \
    --cc=laurent@vivier.eu \
    --cc=lizhijian@cn.fujitsu.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=marcel@redhat.com \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=michael@walle.cc \
    --cc=minyard@acm.org \
    --cc=mitake.hitoshi@lab.ntt.co.jp \
    --cc=mreitz@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=namei.unix@gmail.com \
    --cc=pavel.dovgaluk@ispras.ru \
    --cc=pbonzini@redhat.com \
    --cc=peter.chubb@nicta.com.au \
    --cc=peter.maydell@linaro.org \
    --cc=pl@kamp.de \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=riku.voipio@iki.fi \
    --cc=rjones@redhat.com \
    --cc=ronniesahlberg@gmail.com \
    --cc=rth@twiddle.net \
    --cc=sstabellini@kernel.org \
    --cc=stefanb@linux.vnet.ibm.com \
    --cc=stefanha@redhat.com \
    --cc=sundeep.lkml@gmail.com \
    --cc=sw@weilnetz.de \
    --cc=thuth@redhat.com \
    --cc=wencongyang2@huawei.com \
    --cc=xen-devel@lists.xenproject.org \
    --cc=xiechanglong.d@gmail.com \
    --cc=yongbok.kim@mips.com \
    --cc=yuval.shaia@oracle.com \
    --cc=zhang.zhanghailiang@huawei.com \
    --cc=zhangckid@gmail.com \
    --cc=zhaoshenglong@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).