I think I just fixed it by taking out all the '64' stuff (I figured it had something to do with 64-bit machines) at the end of the joystick.h file. At least it configured without the error...
I'll report back after I compile, package, and test it.
Edit:
************************************************
Well it compiled and installed just fine. kxmame detected my Logitech Gamepad upon startup and I was able to select games in the menu using it! However, when I tried to run a game it wouldn't work with my joypad. The kxmame conf GUI allows you to select if you want to have 'no joystick' or an 'SDL joystick'. It *should* also have an option for 'Standard Joystick' or something similar but it isn't there. The 'SDL joystick' option has never worked for me in this program, but the missing option does.
After playing around with my copy of xmame (xmame.SDL from linuxpackages) by itself I realized that perhaps my joystick is considered a SDL joystick as xmame.SDL runs my games with -jt 5 (SDL joystick) instead of -jt 1 (Standard Joystick). The funny thing is that kxmame griped about "joytype 1 is not available" when I had selected SDL joystick! So, obviously something is wrong with this program's GUI as it isn't even sending xmame what I am telling it to! An issue for another thread perhaps...
At any rate, I believe I successfully managed to compile this program with my hacks. Thanks osor for pointing out to me the obvious thing I should have done. Sometimes when you've been working on something for a long time you miss something obvious like checking the config log.
Here is what the end of the original /usr/include/linux/joystick.h looked like
Code:
struct JS_DATA_SAVE_TYPE_64 {
__s32 JS_TIMEOUT;
__s32 BUSY;
__s64 JS_EXPIRETIME;
__s64 JS_TIMELIMIT;
struct JS_DATA_TYPE JS_SAVE;
struct JS_DATA_TYPE JS_CORR;
};
#ifdef __KERNEL__
#if BITS_PER_LONG == 64
#define JS_DATA_SAVE_TYPE JS_DATA_SAVE_TYPE_64
#elif BITS_PER_LONG == 32
#define JS_DATA_SAVE_TYPE JS_DATA_SAVE_TYPE_32
#else
#error Unexpected BITS_PER_LONG
#endif
#endif
#endif /* _LINUX_JOYSTICK_H */
and here is my hack to get this program to compile with joystick support...I just took out the '64' stuff.
Code:
#ifdef __KERNEL__
#if BITS_PER_LONG == 32
#define JS_DATA_SAVE_TYPE JS_DATA_SAVE_TYPE_32
#else
#error Unexpected BITS_PER_LONG
#endif
#endif
#endif /* _LINUX_JOYSTICK_H */
the reason I did this was because of the error message show in the config.log file
Code:
/usr/include/linux/joystick.h:131: error: expected specifier-qualifier-list before '__s64'
I'm wondering if this joystick.h error should be reported to someone... But who should be taking a look at this? I mean is it the kernel headers fault, autoconfs fault, or the fault of a bad configure.in file (ie the kxmame developers fault)?
I'm guessing probably the latter considering the problems with the GUI and the fact that I haven't seen this problem crop up thus far.