From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
Dmitry Fleytman <dmitry.fleytman@gmail.com>,
sheepdog@lists.wpkg.org,
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>,
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
qemu-devel@nongnu.org, "Richard W.M. Jones" <rjones@redhat.com>,
Keith Busch <keith.busch@intel.com>,
Max Filippov <jcmvbkbc@gmail.com>,
Gerd Hoffmann <kraxel@redhat.com>,
"Edgar E. Iglesias" <edgar.iglesias@gmail.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
Subject: Re: [PATCH] qemu: include generated files with <> and not ""
Date: Tue, 20 Mar 2018 14:12:24 +0200 [thread overview]
Message-ID: <20180320141107-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20180320094406.GD4530@redhat.com>
On Tue, Mar 20, 2018 at 09:44:06AM +0000, Daniel P. Berrangé wrote:
> On Tue, Mar 20, 2018 at 09:58:23AM +0100, Laurent Vivier wrote:
> > Le 20/03/2018 à 02:54, Michael S. Tsirkin a écrit :
> > > QEMU coding style at the moment asks for all non-system
> > > include files to be used with #include "foo.h".
> > > However this rule actually does not make sense and
> > > creates issues for when the included file is generated.
> >
> > If you change that, we can have issue when a system include has the same
> > name as our local include. With "<FILE>", system header are taken first.
>
> > > In C, include "file" means look in current directory,
> > > then on include search path. Current directory here
> > > means the source file directory.
> > > By comparison include <file> means look on include search path.
> >
> > Not exactly, there is the notion of "system header" too.
> >
> > https://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html
> >
> > #include <file>
> > This variant is used for system header files. It searches for a file
> > named file in a standard list of system directories. You can prepend
> > directories to this list with the -I option (see Invocation).
> >
> > #include "file"
> > This variant is used for header files of your own program. It searches
> > for a file named file first in the directory containing the current
> > file, then in the quote directories and then the same directories used
> > for <file>. You can prepend directories to the list of quote directories
> > with the -iquote option.
> >
> > > As generated files are not in the search directory (unless the build
> > > directory happens to match the source directory), it does not make sense
> > > to include them with "" - doing so is merely more work for preprocessor
> > > and a source or errors if a stale file happens to exist in the source
> > > directory.
> >
> > I agree there is a problem with stale files. But linux, for instance,
> > asks for a "make mrproper" to avoid this.
>
> We can follow what autoconf does, and add a check to configure to see if
> there are generated files left in the source dir, when configuring with
> builddir != srcdir, and exit with error, telling user to clean their
> src dir first.
>
> > > This changes include directives for all generated files, across the
> > > tree. The idea is to avoid sending a huge amount of email. But when
> > > merging, the changes will be split with one commit per file, e.g. for
> > > ease of bisect in case of build failures, and to ease merging.
> > >
> > > Note that should some generated files be missed by this tree-wide
> > > refactoring, it isn't a big deal - this merely maintains the status quo,
> > > and this can be addressed by a separate patch on top.
> > >
> > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> >
> > I think your idea conflicts with what Markus has started to do:
>
> Yes, I don't think we should revert what Markus started. Both ways of
> referencing QEMU headers have downsides, but I think "..." has fewer
> downsides that "<....">.
Could you please explain what the advantage of "" is?
It seems to be gone since we moved headers away from
source.
> The problem Michael is tackling should be pretty rare, because moist
> developers aren't frequently switching between srcdir==builddir and
> srcdir!=biulddir setups - they have their preference for which to use
> and stick with it. As long as we get ./configure to warn about the
> dirty srcdir it should be good enough
>
> Regards,
> Daniel
> --
> |: 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 :|
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2018-03-20 12:12 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-20 1:54 [PATCH] qemu: include generated files with <> and not "" Michael S. Tsirkin
2018-03-20 8:58 ` Laurent Vivier
2018-03-20 9:44 ` Daniel P. Berrangé
2018-03-20 10:01 ` Peter Maydell
2018-03-20 10:27 ` Daniel P. Berrangé
2018-03-20 11:52 ` Michael S. Tsirkin
2018-03-20 12:12 ` Michael S. Tsirkin [this message]
2018-03-20 12:18 ` Daniel P. Berrangé
2018-03-20 12:28 ` Michael S. Tsirkin
2018-03-20 12:39 ` Daniel P. Berrangé
2018-03-20 12:44 ` Michael S. Tsirkin
2018-03-20 13:32 ` Gerd Hoffmann
2018-03-20 13:41 ` Daniel P. Berrangé
2018-03-20 13:50 ` Michael S. Tsirkin
2018-03-20 13:58 ` Daniel P. Berrangé
2018-03-20 14:02 ` Michael S. Tsirkin
2018-03-20 13:54 ` Max Reitz
2018-03-20 17:12 ` Michael S. Tsirkin
2018-03-20 13:46 ` Thomas Huth
2018-03-20 13:53 ` Michael S. Tsirkin
2018-03-20 12:05 ` Michael S. Tsirkin
2018-03-21 7:16 ` [Qemu-ppc] " Thomas Huth
2018-03-21 13:08 ` Michael S. Tsirkin
2018-03-21 13:15 ` Stefan Weil
2018-03-21 13:24 ` Michael S. Tsirkin
2018-03-21 13:29 ` Daniel P. Berrangé
2018-03-21 13:42 ` Michael S. Tsirkin
2018-03-20 13:05 ` Michael S. Tsirkin
2018-03-20 13:10 ` [Qemu-block] " Stefan Hajnoczi
2018-03-20 13:30 ` Michael S. Tsirkin
2018-03-20 16:12 ` Eric Blake
2018-03-20 16:40 ` Daniel P. Berrangé
2018-03-20 16:51 ` Michael S. Tsirkin
2018-03-20 16:33 ` [Qemu-devel] " Stefan Weil
2018-03-20 17:10 ` Michael S. Tsirkin
2018-03-20 17:34 ` Daniel P. Berrangé
2018-03-20 17:49 ` Michael S. Tsirkin
2018-03-20 17:36 ` Daniel P. Berrangé
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=20180320141107-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=berrange@redhat.com \
--cc=berto@igalia.com \
--cc=david@redhat.com \
--cc=dmitry.fleytman@gmail.com \
--cc=eblake@redhat.com \
--cc=edgar.iglesias@gmail.com \
--cc=jcmvbkbc@gmail.com \
--cc=jcody@redhat.com \
--cc=jdurgin@redhat.com \
--cc=jiri@resnulli.us \
--cc=keith.busch@intel.com \
--cc=kraxel@redhat.com \
--cc=lizhijian@cn.fujitsu.com \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=mdroth@linux.vnet.ibm.com \
--cc=mtosatti@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=rjones@redhat.com \
--cc=ronniesahlberg@gmail.com \
--cc=sheepdog@lists.wpkg.org \
--cc=sstabellini@kernel.org \
--cc=sundeep.lkml@gmail.com \
--cc=zhangckid@gmail.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