lnx_io.c uses the linux/version.h to attempt to autodetect which
version of the kernel headers are installed in order to determine
wether a struct member is named "rate" or "period" and set
a macro to remove the difference essentially.
The linux/version.h header however is a glibc header, and the kernel
version present in it is not necessarily of the versioning that
applications might think it is.
The reliance on the kernel header should probably be removed, and some
other check implemented instead which is more neutral. This is
a preventative maintenance for now, but it will be a problem in
several months likely.
Shouldn't this be easily handlable in an autoconf check now?
Created attachment 5848 [details] [review]
Handle the kbd_repeat field name via autoconf
This patch adds some autoconf magic to test whether the field name is called
"period". If it's not, it's assumed that it's "rate" instead.
Once there are more than these two alternatives, the check needs to be
extended, but I guess it's good enough for now.
Tested on Linux 2.6.16.
Created attachment 5849 [details] [review]
Forgot to patch lnx_kbd.c as well.
Fixed in 39b2f7b2182aedb1ab45415efb4c263012ace512.