[PATCH] Makefile: include arch/*/include/generated/uapi before .../generated

From: Michal Marek
Date: Thu Jan 08 2015 - 10:17:57 EST


The introduction of the uapi directories in v3.7-rc1 moved some of the
generated headers from arch/*/include/generated to the uapi directory,
keeping the #include directives intact. This creates a problem when
bisecting, because the unversioned files are not cleaned automatically
by git and the compiler might include stale headers as a result. Instead
of cleaning them in the Makefiles, promote arch/*/include/generated/uapi
in the search path. Under normal circumstances, there is no overlap
between this uapi subdirectory and its parent, so the include choices
remain the same. We keep arch/*/include/generated/uapi in the
USERINCLUDE variable so that it is usable standalone.

Note that we cannot completely swap the order of the uapi and
kernel-only directories, since the headers in include/uapi/asm-generic
are meant to be wrapped by their include/asm-generic counterparts when
building kernel code.

Reported-by: "Nicholas A. Bellinger" <nab@xxxxxxxxxxxxxxx>
Reported-by: David Drysdale <dmd@xxxxxxxxxxxx>
Signed-off-by: Michal Marek <mmarek@xxxxxxx>
---
Makefile | 1 +
1 file changed, 1 insertion(+)

diff --git a/Makefile b/Makefile
index eb4eca5..87f0c05 100644
--- a/Makefile
+++ b/Makefile
@@ -391,6 +391,7 @@ USERINCLUDE := \
# Needed to be compatible with the O= option
LINUXINCLUDE := \
-I$(srctree)/arch/$(hdr-arch)/include \
+ -Iarch/$(hdr-arch)/include/generated/uapi \
-Iarch/$(hdr-arch)/include/generated \
$(if $(KBUILD_SRC), -I$(srctree)/include) \
-Iinclude \
--
2.1.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/