qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 00/12] qemu-common.h/osdep.h refactoring


From: Daniel P. Berrange
Subject: Re: [Qemu-devel] [PATCH 00/12] qemu-common.h/osdep.h refactoring
Date: Fri, 31 Jul 2015 13:54:09 +0100
User-agent: Mutt/1.5.23 (2014-03-12)

On Wed, Jul 22, 2015 at 05:43:59PM +0100, Peter Maydell wrote:
> This series makes a start at cleaning up some of our headers
> to avoid the common problem of header files including qemu-common.h
> (which then in turn can lead to awkward circular includes).
> 
> One common cause of this is that we don't have any header
> which will include the basic things most header files require,
> except for qemu-common.h. This series fixes that by making
> 'osdep.h' that "common basic stuff" header. The idea is that:
>  * osdep.h can be included from anywhere, since it doesn't
>    include any other QEMU headers itself except a few very
>    restricted special purpose ones (config-host.h, compiler.h, etc)
>  * osdep.h provides:
>    + things everybody needs, like NULL, int32_t, container_of,
>      the CONFIG_* defines, etc
>    + things that will cause subtle problems if they're not
>      present everywhere (eg directly using system headers and
>      not getting the portability fixups will result in something
>      that builds on most but not all hosts)
> 
> So most places can just include osdep.h, not the full qemu-common.h.
> 
> (I initially thought about defining a new header for this
> purpose, "qemu/basics.h" or some such, but in fact osdep.h
> was already very close to what I wanted so it didn't really
> seem like it was very useful to switch everything over.)
> 
> The series has some minor cleanups, some shuffling around of
> things between qemu-common.h, osdep.h and compiler.h, and
> a couple of patches at the end that use osdep.h to allow
> dropping a qemu-common.h include from various header files,
> as a demonstration.
> 
> The real question here I guess is whether people like the
> direction I'm trying to go with this. If so, we can further
> reduce the number of qemu-common.h includes without too much
> difficulty with further patches.

I broadly like the direction of this change. I think it is
probably worth being strict about requiring #include of
osdep.h as the first header in every .c file. And validating
such a rule programmatically at make check time or equiv.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|



reply via email to

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