Peter Maydell <peter.mayd...@linaro.org> writes: > On 11 January 2016 at 15:19, Daniel P. Berrange <berra...@redhat.com> wrote: >> On Mon, Dec 07, 2015 at 04:23:42PM +0000, Peter Maydell wrote: >>> We've had some discussion previously (on list and IRC) about adding an >>> include of "qemu/osdep.h" to everything. The basic idea is that every >>> .c file should include "qemu/osdep.h" as its first include; then every >>> other header (and the .c file itself) can rely on the facilities that >>> osdep.h provides. >>> >>> This patchset is mostly here to get comment and review on the script >>> I've written to do the job of automatically updating the source files. > > In the absence of any other comments from anybody I guess we can > go ahead and commit this series... (the osdep.h patch it depends > on has been committed already). > >>> Patches 2 and 3 are examples of its output, produced via >>> scripts/clean-includes --git target-arm target-arm/*.c >>> scripts/clean-includes --git hw/arm hw/arm/*.c >>> >>> NB: the script assumes my patch to make osdep.h include >>> glib-compat.h has already been applied: >>> http://patchwork.ozlabs.org/patch/552828/ >>> >>> Once we're happy with the set of transformations it produces the >>> next question is how we want to apply it to the tree. The good >>> news is that the changes to the .c files are idempotent and don't >>> depend on each other, so we could send things via different >>> submaintainer trees. Or we could have a single patchseries which we >>> apply all at once on the theory that this minimises the pain overall. >> >> I think either approach would work as long as we don't let it drag >> out too long in sub-maintainer trees. ie aim to get every file >> cleaned & merged before 2.6 rc. > > I guess I'll start off with some series for the obviously maintained > areas of the tree and then we can mop up the rest later. > > (At some point a script which identifies files which haven't been > cleaned up yet would be handy.)
Do what you think is best. I'd go for a single patch fixing up the complete tree. >>> A question I had about including osdep.h everywhere: >>> are there any files in the tree where we *can't* include it? >>> (Obvious possible candidates would be standalone test programs >>> and the guest-agent code.) >> >> I think even guest-agent code & tests could include it in order to >> get clean includes, even if they don't use any of the QEMU functions >> defined in it. So I think its simplest to just say every .c file must >> use it and leave it at that. > > OK, let's assume that works. If it doesn't, we need a header with just configuration results that is included in every .c file first. Just like config.h should be when using autoconf.