Message ID | 20160811060124.6604-1-mugunthanvnm@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 11/08/16 07:01, Mugunthan V N wrote: > Current make doesn't have support to pass kernel built directory > to find events.h kernel header file, so adding support for > KBUILD_OUTPUT support to Makefile. > > $ make CROSS_COMPILE=arm-linux-gnueabihf- -C tools/iio > make: Entering directory '/home/a0131834/workspace/git/mainline/linux/tools/iio' > arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -c -o iio_event_monitor.o iio_event_monitor.c > arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -c -o iio_utils.o iio_utils.c > arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -c -o lsiio.o lsiio.c > arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -c -o iio_generic_buffer.o iio_generic_buffer.c > arm-linux-gnueabihf-gcc lsiio.o iio_utils.o -o lsiio > arm-linux-gnueabihf-gcc iio_generic_buffer.o iio_utils.o -o iio_generic_buffer > iio_event_monitor.c:28:30: fatal error: linux/iio/events.h: No such file or directory > #include <linux/iio/events.h> > ^ > compilation terminated. > <builtin>: recipe for target 'iio_event_monitor.o' failed > make: *** [iio_event_monitor.o] Error 1 > make: Leaving directory '/home/a0131834/workspace/git/mainline/linux/tools/iio' > > Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> I can see where you are coming from, but wouldn't we normally expect the kernel headers for the relevant kernel to available as part of the toolchain being used to do the build? They often lag a bit I guess, so perhaps we do want to put this little bit of 'fudging' in place. What do others think? Jonathan > --- > > With this fix I am able to build the iio tools > > $ make CROSS_COMPILE=arm-linux-gnueabihf- -C tools/iio KBUILD_OUTPUT=`pwd` > make: Entering directory '/home/a0131834/workspace/git/mainline/linux/tools/iio' > arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -I/home/a0131834/workspace/git/mainline/linux/usr/include -c -o iio_event_monitor.o iio_event_monitor.c > arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -I/home/a0131834/workspace/git/mainline/linux/usr/include -c -o iio_utils.o iio_utils.c > arm-linux-gnueabihf-gcc iio_event_monitor.o iio_utils.o -o iio_event_monitor > arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -I/home/a0131834/workspace/git/mainline/linux/usr/include -c -o lsiio.o lsiio.c > arm-linux-gnueabihf-gcc lsiio.o iio_utils.o -o lsiio > arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -I/home/a0131834/workspace/git/mainline/linux/usr/include -c -o iio_generic_buffer.o iio_generic_buffer.c > arm-linux-gnueabihf-gcc iio_generic_buffer.o iio_utils.o -o iio_generic_buffer > make: Leaving directory '/home/a0131834/workspace/git/mainline/linux/tools/iio' > > --- > tools/iio/Makefile | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/tools/iio/Makefile b/tools/iio/Makefile > index 5446d62..0ec3ea0 100644 > --- a/tools/iio/Makefile > +++ b/tools/iio/Makefile > @@ -1,5 +1,6 @@ > CC = $(CROSS_COMPILE)gcc > -CFLAGS += -Wall -g -D_GNU_SOURCE > +KBUILD_OUTPUT ?= /lib/modules/$(shell uname -r)/build > +CFLAGS += -Wall -g -D_GNU_SOURCE -I$(KBUILD_OUTPUT)/usr/include > > BINDIR=usr/bin > INSTALL_PROGRAM=install -m 755 -p > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Jonathan On Monday 22 August 2016 12:35 AM, Jonathan Cameron wrote: > On 11/08/16 07:01, Mugunthan V N wrote: >> > Current make doesn't have support to pass kernel built directory >> > to find events.h kernel header file, so adding support for >> > KBUILD_OUTPUT support to Makefile. >> > >> > $ make CROSS_COMPILE=arm-linux-gnueabihf- -C tools/iio >> > make: Entering directory '/home/a0131834/workspace/git/mainline/linux/tools/iio' >> > arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -c -o iio_event_monitor.o iio_event_monitor.c >> > arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -c -o iio_utils.o iio_utils.c >> > arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -c -o lsiio.o lsiio.c >> > arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -c -o iio_generic_buffer.o iio_generic_buffer.c >> > arm-linux-gnueabihf-gcc lsiio.o iio_utils.o -o lsiio >> > arm-linux-gnueabihf-gcc iio_generic_buffer.o iio_utils.o -o iio_generic_buffer >> > iio_event_monitor.c:28:30: fatal error: linux/iio/events.h: No such file or directory >> > #include <linux/iio/events.h> >> > ^ >> > compilation terminated. >> > <builtin>: recipe for target 'iio_event_monitor.o' failed >> > make: *** [iio_event_monitor.o] Error 1 >> > make: Leaving directory '/home/a0131834/workspace/git/mainline/linux/tools/iio' >> > >> > Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> > I can see where you are coming from, but wouldn't we normally expect the kernel > headers for the relevant kernel to available as part of the toolchain being > used to do the build? If it is a native build, we can expect toolchain to provide kernel headers, but for a cross compile user has to provide where the kernel headers present for the target which is done this patch. > > They often lag a bit I guess, so perhaps we do want to put this little bit > of 'fudging' in place. > > What do others think? Any updates on the patch? Regards Mugunthan V N -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/tools/iio/Makefile b/tools/iio/Makefile index 5446d62..0ec3ea0 100644 --- a/tools/iio/Makefile +++ b/tools/iio/Makefile @@ -1,5 +1,6 @@ CC = $(CROSS_COMPILE)gcc -CFLAGS += -Wall -g -D_GNU_SOURCE +KBUILD_OUTPUT ?= /lib/modules/$(shell uname -r)/build +CFLAGS += -Wall -g -D_GNU_SOURCE -I$(KBUILD_OUTPUT)/usr/include BINDIR=usr/bin INSTALL_PROGRAM=install -m 755 -p
Current make doesn't have support to pass kernel built directory to find events.h kernel header file, so adding support for KBUILD_OUTPUT support to Makefile. $ make CROSS_COMPILE=arm-linux-gnueabihf- -C tools/iio make: Entering directory '/home/a0131834/workspace/git/mainline/linux/tools/iio' arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -c -o iio_event_monitor.o iio_event_monitor.c arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -c -o iio_utils.o iio_utils.c arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -c -o lsiio.o lsiio.c arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -c -o iio_generic_buffer.o iio_generic_buffer.c arm-linux-gnueabihf-gcc lsiio.o iio_utils.o -o lsiio arm-linux-gnueabihf-gcc iio_generic_buffer.o iio_utils.o -o iio_generic_buffer iio_event_monitor.c:28:30: fatal error: linux/iio/events.h: No such file or directory #include <linux/iio/events.h> ^ compilation terminated. <builtin>: recipe for target 'iio_event_monitor.o' failed make: *** [iio_event_monitor.o] Error 1 make: Leaving directory '/home/a0131834/workspace/git/mainline/linux/tools/iio' Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> --- With this fix I am able to build the iio tools $ make CROSS_COMPILE=arm-linux-gnueabihf- -C tools/iio KBUILD_OUTPUT=`pwd` make: Entering directory '/home/a0131834/workspace/git/mainline/linux/tools/iio' arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -I/home/a0131834/workspace/git/mainline/linux/usr/include -c -o iio_event_monitor.o iio_event_monitor.c arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -I/home/a0131834/workspace/git/mainline/linux/usr/include -c -o iio_utils.o iio_utils.c arm-linux-gnueabihf-gcc iio_event_monitor.o iio_utils.o -o iio_event_monitor arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -I/home/a0131834/workspace/git/mainline/linux/usr/include -c -o lsiio.o lsiio.c arm-linux-gnueabihf-gcc lsiio.o iio_utils.o -o lsiio arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -I/home/a0131834/workspace/git/mainline/linux/usr/include -c -o iio_generic_buffer.o iio_generic_buffer.c arm-linux-gnueabihf-gcc iio_generic_buffer.o iio_utils.o -o iio_generic_buffer make: Leaving directory '/home/a0131834/workspace/git/mainline/linux/tools/iio' --- tools/iio/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)