> > There are two things that don't work too well with this. First this > causes the build to break if the build machine doesn't have the new > public header (include/uapi/linux/dma-buf.h) installed yet. So the only > way to make this work would be by building the kernel once with SAMPLES > disabled, install the headers and then build again with SAMPLES enabled. > Which really isn't very nice. > > One other option that I've tried is to modify the include path so that > the test program would get the in-tree copy of the public header file, > but that didn't build properly either because the header files aren't > properly sanitized and therefore the compiler complains about it > (include/uapi/linux/types.h). > > One other disadvantage of carrying the sample program in the tree is > that there's only infrastructure to build programs natively on the build > machine. That's somewhat unfortunate because if you want to run the test > program on a different architecture you have to either compile the > kernel natively on that architecture (which isn't very practical on many > embedded devices) or cross-compile manually. > > I think a much nicer solution would be to add infrastructure to cross- > compile these test programs, so that they end up being built for the > same architecture as the kernel image (i.e. using CROSS_COMPILE). > > Adding Michal and the linux-kbuild mailing list, perhaps this has been > discussed before, or maybe somebody has a better idea on how to solve > this. I actually looked into this some time ago. May try to dust off the patch. IIRC the kernel provided headers were used for building - not the one installed on the machine. And crosscompile were supported. Sam -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html