[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Qemu-ppc] [PATCH] qemu: include generated files with <> and not ""
On Wed, Mar 21, 2018 at 01:29:53PM +0000, Daniel P. Berrangé wrote: > On Wed, Mar 21, 2018 at 03:08:36PM +0200, Michael S. Tsirkin wrote: > > On Wed, Mar 21, 2018 at 08:16:00AM +0100, Thomas Huth wrote: > > > On 20.03.2018 13:05, Michael S. Tsirkin 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. > > > > > > > > Are you sure? I just tested and that is not the case with > > > > either gcc or clang. > > > > > > > >>> 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). > > > > > > > > This is exactly what we do. > > > > > > > >> #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. > > > > > > > > Since we do not use -iquote, "" just adds the current directory. > > > > > > So why don't we simply switch to use -iquote instead of -I for adding > > > search paths for our own headers? We then would get a clean separation > > > of QEMU headers from system headers. > > > > > > Thomas > > > > It still leaves us with a host of problems e.g. the problem of stale > > headers in the source directory. > > We have a patch on list which effectively solves the problem of stale > generated files in source directory, so that's largely a non-issue at > this point IMHO. > > Regards, > Daniel That was just one, and the solution is just to fail build. I think we can strive to address at least some of the following: - make sure that an incorrect use of a header fails to build - make it easier for new developers to understand the codebase - build correctly rather than fail in as many configurations as possible - actually support a mix of in and out of tree builds I think my patch under discussion does not address all issues here. I'll post a new proposal now. > -- > |: 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@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |