Linux Input/HID development
 help / color / mirror / Atom feed
* [PATCH -next] hid-example: fix some build issues
       [not found] <201104142149.p3ELnnoF008424@imap1.linux-foundation.org>
@ 2011-04-18 18:12 ` Randy Dunlap
  2011-04-19  8:48   ` Jiri Kosina
  0 siblings, 1 reply; 3+ messages in thread
From: Randy Dunlap @ 2011-04-18 18:12 UTC (permalink / raw)
  To: linux-kernel, linux-input; +Cc: akpm, jkosina, Alan Ott

From: Randy Dunlap <randy.dunlap@oracle.com>

samples/hid-example.o needs some Kconfig and Makefile additions
in order to build.  It should use <linux/*.h> headers from
the build tree, so use HEADERS_CHECK to require that those
header files be present.

Change the kconfig symbol from tristate to bool since
userspace cannot be built as loadable modules.

However, I don't understand why the userspace header files are
not present as reported in Andrew's build log, since it builds
OK on x86_64 without any of these changes.

Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Alan Ott <alan@signal11.us>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: linux-input@vger.kernel.org
---
 samples/Kconfig         |    4 ++--
 samples/hidraw/Makefile |    2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

--- linux-next-20110418.orig/samples/hidraw/Makefile
+++ linux-next-20110418/samples/hidraw/Makefile
@@ -6,3 +6,5 @@ hostprogs-y := hid-example
 
 # Tell kbuild to always build the programs
 always := $(hostprogs-y)
+
+HOSTCFLAGS_hid-example.o += -I$(objtree)/usr/include
--- linux-next-20110418.orig/samples/Kconfig
+++ linux-next-20110418/samples/Kconfig
@@ -62,8 +62,8 @@ config SAMPLE_KDB
 	  command to the kdb shell.
 
 config SAMPLE_HIDRAW
-	tristate "Build simple hidraw example"
-	depends on HIDRAW
+	bool "Build simple hidraw example"
+	depends on HIDRAW && HEADERS_CHECK
 	help
 	  Build an example of how to use hidraw from userspace.
 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH -next] hid-example: fix some build issues
  2011-04-18 18:12 ` [PATCH -next] hid-example: fix some build issues Randy Dunlap
@ 2011-04-19  8:48   ` Jiri Kosina
  2011-04-19  9:13     ` Michal Marek
  0 siblings, 1 reply; 3+ messages in thread
From: Jiri Kosina @ 2011-04-19  8:48 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: linux-kernel, linux-input, Andrew Morton, Alan Ott, Michal Marek


[ adding Michal Marek to CC ]

On Mon, 18 Apr 2011, Randy Dunlap wrote:

> From: Randy Dunlap <randy.dunlap@oracle.com>
> 
> samples/hid-example.o needs some Kconfig and Makefile additions
> in order to build.  It should use <linux/*.h> headers from
> the build tree, so use HEADERS_CHECK to require that those
> header files be present.
> 
> Change the kconfig symbol from tristate to bool since
> userspace cannot be built as loadable modules.
> 
> However, I don't understand why the userspace header files are
> not present as reported in Andrew's build log, since it builds
> OK on x86_64 without any of these changes.

Yes, I have no idea how the build failure Andrew is reporting happens. 
Andrew -- what exact command are you using that leads to that failure?

Thanks.

> 
> Reported-by: Andrew Morton <akpm@linux-foundation.org>
> Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
> Cc: Alan Ott <alan@signal11.us>
> Cc: Jiri Kosina <jkosina@suse.cz>
> Cc: linux-input@vger.kernel.org
> ---
>  samples/Kconfig         |    4 ++--
>  samples/hidraw/Makefile |    2 ++
>  2 files changed, 4 insertions(+), 2 deletions(-)
> 
> --- linux-next-20110418.orig/samples/hidraw/Makefile
> +++ linux-next-20110418/samples/hidraw/Makefile
> @@ -6,3 +6,5 @@ hostprogs-y := hid-example
>  
>  # Tell kbuild to always build the programs
>  always := $(hostprogs-y)
> +
> +HOSTCFLAGS_hid-example.o += -I$(objtree)/usr/include
> --- linux-next-20110418.orig/samples/Kconfig
> +++ linux-next-20110418/samples/Kconfig
> @@ -62,8 +62,8 @@ config SAMPLE_KDB
>  	  command to the kdb shell.
>  
>  config SAMPLE_HIDRAW
> -	tristate "Build simple hidraw example"
> -	depends on HIDRAW
> +	bool "Build simple hidraw example"
> +	depends on HIDRAW && HEADERS_CHECK
>  	help
>  	  Build an example of how to use hidraw from userspace.
>  
> 

-- 
Jiri Kosina
SUSE Labs, Novell Inc.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH -next] hid-example: fix some build issues
  2011-04-19  8:48   ` Jiri Kosina
@ 2011-04-19  9:13     ` Michal Marek
  0 siblings, 0 replies; 3+ messages in thread
From: Michal Marek @ 2011-04-19  9:13 UTC (permalink / raw)
  To: Jiri Kosina
  Cc: Randy Dunlap, linux-kernel, linux-input, Andrew Morton, Alan Ott

On Tue, Apr 19, 2011 at 10:48:26AM +0200, Jiri Kosina wrote:
> 
> [ adding Michal Marek to CC ]
> 
> On Mon, 18 Apr 2011, Randy Dunlap wrote:
> 
> > From: Randy Dunlap <randy.dunlap@oracle.com>
> > 
> > samples/hid-example.o needs some Kconfig and Makefile additions
> > in order to build.  It should use <linux/*.h> headers from
> > the build tree, so use HEADERS_CHECK to require that those
> > header files be present.
> > 
> > Change the kconfig symbol from tristate to bool since
> > userspace cannot be built as loadable modules.
> > 
> > However, I don't understand why the userspace header files are
> > not present as reported in Andrew's build log, since it builds
> > OK on x86_64 without any of these changes.
> 
> Yes, I have no idea how the build failure Andrew is reporting happens. 
> Andrew -- what exact command are you using that leads to that failure?

I believe Andrew was trying to build samples/hidraw/hid-example.o
directly, which unfortunatelly does not work (kbuild limitation). For
reference, this is the reply I sent privately to Andrew:

| The samples/hidraw/ directory does not appear in the output, I I guess 
| samples/hidraw/hid-example already existed? Back to the original 
| problem, I can reproduce the bug with
| 
| $ make  samples/hidraw/hid-example.o
|    CHK     include/linux/version.h
|    CHK     include/generated/utsrelease.h
|    CALL    scripts/checksyscalls.sh
|    CC      samples/hidraw/hid-example.o
| samples/hidraw/hid-example.c:29:23: fatal error: sys/ioctl.h: No such 
| file or directory
| 
| Because for %.o there is a rule in the toplevel Makefile passes control 
| to scripts/Makefile.build, while you would need scripts/Makefile.host in 
| this case. I don't know how to fix this, when Makefile.build is told to 
| build foo.o, it builds it as kernel code, it doesn't inspect the 
| hostprogs-y variable to see if perhaps foo.o is in the foodchain of some 
| host program. However, 'make  samples/hidraw/' works fine for me. So 
| what command exactly did you use?

Michal

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-04-19  9:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <201104142149.p3ELnnoF008424@imap1.linux-foundation.org>
2011-04-18 18:12 ` [PATCH -next] hid-example: fix some build issues Randy Dunlap
2011-04-19  8:48   ` Jiri Kosina
2011-04-19  9:13     ` Michal Marek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox