[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Xen-devel] [PATCH v2] qemu: replace "" with <> in headers
- To: qemu-devel@xxxxxxxxxx, Daniel P. Berrangé <berrange@xxxxxxxxxx>
- From: "Michael S. Tsirkin" <mst@xxxxxxxxxx>
- Date: Wed, 21 Mar 2018 16:46:32 +0200
- Cc: Peter Maydell <peter.maydell@xxxxxxxxxx>, Dmitry Fleytman <dmitry.fleytman@xxxxxxxxx>, Pavel Dovgalyuk <pavel.dovgaluk@xxxxxxxxx>, Li Zhijian <lizhijian@xxxxxxxxxxxxxx>, David Hildenbrand <david@xxxxxxxxxx>, Jeff Cody <jcody@xxxxxxxxxx>, Stefan Hajnoczi <stefanha@xxxxxxxxxx>, BALATON Zoltan <balaton@xxxxxxxxxx>, Keith Busch <keith.busch@xxxxxxxxx>, Max Filippov <jcmvbkbc@xxxxxxxxx>, Hannes Reinecke <hare@xxxxxxxx>, Gerd Hoffmann <kraxel@xxxxxxxxxx>, Fam Zheng <famz@xxxxxxxxxx>, Max Reitz <mreitz@xxxxxxxxxx>, Eric Blake <eblake@xxxxxxxxxx>, Josh Durgin <jdurgin@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Alberto Garcia <berto@xxxxxxxxxx>, zhanghailiang <zhang.zhanghailiang@xxxxxxxxxx>, Ben Warren <ben@xxxxxxxxxxxxxxxxxx>, Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>, Yongbok Kim <yongbok.kim@xxxxxxxx>, Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>, "Richard W.M. Jones" <rjones@xxxxxxxxxx>, Christian Borntraeger <borntraeger@xxxxxxxxxx>, Hervé Poussineau <hpoussin@xxxxxxxxxxx>, Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>, Shannon Zhao <zhaoshenglong@xxxxxxxxxx>, Marcel Apfelbaum <marcel@xxxxxxxxxx>, Liu Yuan <namei.unix@xxxxxxxxx>, Richard Henderson <rth@xxxxxxxxxxx>, Andrzej Zaborowski <balrogg@xxxxxxxxx>, Jason Wang <jasowang@xxxxxxxxxx>, Artyom Tarasenko <atar4qemu@xxxxxxxxx>, Thomas Huth <thuth@xxxxxxxxxx>, Alistair Francis <alistair@xxxxxxxxxxxxx>, Jiri Pirko <jiri@xxxxxxxxxxx>, Eduardo Habkost <ehabkost@xxxxxxxxxx>, Corey Minyard <minyard@xxxxxxx>, Amit Shah <amit@xxxxxxxxxx>, Stefan Weil <sw@xxxxxxxxxxx>, Xie Changlong <xiechanglong.d@xxxxxxxxx>, Riku Voipio <riku.voipio@xxxxxx>, Peter Lieven <pl@xxxxxxx>, "Dr. David Alan Gilbert" <dgilbert@xxxxxxxxxx>, Yuval Shaia <yuval.shaia@xxxxxxxxxx>, Greg Kurz <groug@xxxxxxxx>, Anthony Perard <anthony.perard@xxxxxxxxxx>, Alex Williamson <alex.williamson@xxxxxxxxxx>, qemu-arm@xxxxxxxxxx, Peter Chubb <peter.chubb@xxxxxxxxxxxx>, Ronnie Sahlberg <ronniesahlberg@xxxxxxxxx>, Zhang Chen <zhangckid@xxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx, John Snow <jsnow@xxxxxxxxxx>, David Gibson <david@xxxxxxxxxxxxxxxxxxxxx>, Kevin Wolf <kwolf@xxxxxxxxxx>, kvm@xxxxxxxxxxxxxxx, qemu-block@xxxxxxxxxx, Peter Crosthwaite <crosthwaite.peter@xxxxxxxxx>, Hitoshi Mitake <mitake.hitoshi@xxxxxxxxxxxxx>, Markus Armbruster <armbru@xxxxxxxxxx>, qemu-s390x@xxxxxxxxxx, Marcelo Tosatti <mtosatti@xxxxxxxxxx>, Laurent Vivier <laurent@xxxxxxxxx>, Juan Quintela <quintela@xxxxxxxxxx>, Subbaraya Sundeep <sundeep.lkml@xxxxxxxxx>, Michael Walle <michael@xxxxxxxx>, Igor Mammedov <imammedo@xxxxxxxxxx>, qemu-ppc@xxxxxxxxxx, Wen Congyang <wencongyang2@xxxxxxxxxx>, Cornelia Huck <cohuck@xxxxxxxxxx>, Paolo Bonzini <pbonzini@xxxxxxxxxx>, Andreas Färber <afaerber@xxxxxxx>, Philippe Mathieu-Daudé <f4bug@xxxxxxxxx>
- Delivery-date: Wed, 21 Mar 2018 14:47:09 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
Our current scheme is to use
#include ""
for internal headers, and
#include <>
for external ones.
Unfortunately this is not based on compiler support: from C point of
view, the "" form merely looks up headers in the current directory
and then falls back on <> directories.
Thus, for example, a system header trace.h - should it be present - will
conflict with our local trace.h
As another example of problems, a header by the same name in the source
directory will always be picked up first - before any headers in
the include directory.
Let's change the scheme: make sure all headers that are not
in the source directory are included through a path
starting with qemu/ , thus:
#include <>
headers in the same directory as source are included with
#include ""
as per standard.
This (untested) patch is just to start the discussion and does not
change all of the codebase. If there's agreement, this will be
run on all code to converting code to this scheme.
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
---
scripts/changeheaders.pl | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
create mode 100755 scripts/changeheaders.pl
diff --git a/scripts/changeheaders.pl b/scripts/changeheaders.pl
new file mode 100755
index 0000000..22bd5b8
--- /dev/null
+++ b/scripts/changeheaders.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/perl -pi
+
+if (m@^\s*#include\s+"([^"+]"@o) {
+ next;
+}
+
+my $hdr = $1;
+my $file = $ARGV;
+$file =~ s@/[^/]+$@@g;
+$file .= $hdr;
+
+if (-e $file) {
+ next;
+}
+
+if (m@^\s*#include\s+"qemu/@o) {
+ s@^(\s*#include\s+)"qemu/([^"]+)"(.*)$@$1<qemu/common/$2>$3@o) {
+} else {
+ s@^(\s*#include\s+)"([^"]+)"(.*)$@$1<qemu/$2>$3@o) {
+}
--
MST
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|