From 02a9fcfd3f42be8ba441894355ff06cfc94ef8a2 Mon Sep 17 00:00:00 2001 From: Thomas Klausner Date: Mon, 31 Jul 2017 20:49:26 +0000 Subject: [PATCH] Fix build on NetBSD. (cherry picked from commit 1236c7644508227b616e97e29e123b34257e36d1) git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@1835 7f0cb862-5218-0410-a997-914c9d46530a --- src/fg_joystick.c | 59 ------------------------------------------- src/x11/fg_joystick_x11.c | 61 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 59 deletions(-) diff --git a/src/fg_joystick.c b/src/fg_joystick.c index e548c04..b24476a 100644 --- a/src/fg_joystick.c +++ b/src/fg_joystick.c @@ -40,65 +40,6 @@ #define JS_TRUE 1 #define JS_FALSE 0 -/* BSD defines from "jsBSD.cxx" around lines 42-270 */ - -#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) - -# ifdef HAVE_USB_JS -# if defined(__NetBSD__) -# ifdef HAVE_USBHID_H -# include -# else -# include -# endif -# include -# elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) -# ifdef HAVE_USBHID_H -# include -# else -# include -# endif -# include -# endif -# include - -/* Compatibility with older usb.h revisions */ -# if !defined(USB_MAX_DEVNAMES) && defined(MAXDEVNAMES) -# define USB_MAX_DEVNAMES MAXDEVNAMES -# endif -# endif - -struct os_specific_s { - char fname [128 ]; - int fd; - int is_analog; - /* The following structure members are specific to analog joysticks */ - struct joystick ajs; -# ifdef HAVE_USB_JS - /* The following structure members are specific to USB joysticks */ - struct hid_item *hids; - int hid_dlen; - int hid_offset; - char *hid_data_buf; - int axes_usage [ _JS_MAX_AXES ]; -# endif - /* We keep button and axes state ourselves, as they might not be updated - * on every read of a USB device - */ - int cache_buttons; - float cache_axes [ _JS_MAX_AXES ]; -}; - -/* Idents lower than USB_IDENT_OFFSET are for analog joysticks. */ -# define USB_IDENT_OFFSET 2 - -# define USBDEV "/dev/usb" -# define UHIDDEV "/dev/uhid" -# define AJSDEV "/dev/joy" - - -#endif - /* * Functions associated with the "jsJoystick" class in PLIB */ diff --git a/src/x11/fg_joystick_x11.c b/src/x11/fg_joystick_x11.c index 30ad4b5..8c75bbe 100644 --- a/src/x11/fg_joystick_x11.c +++ b/src/x11/fg_joystick_x11.c @@ -42,8 +42,68 @@ #include +/* BSD defines from "jsBSD.cxx" around lines 42-270 */ + +#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) + +# ifdef HAVE_USB_JS +# if defined(__NetBSD__) +# ifdef HAVE_USBHID_H +# include +# else +# include +# endif +# include +# elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) +# ifdef HAVE_USBHID_H +# include +# else +# include +# endif +# include +# endif +# include + +/* Compatibility with older usb.h revisions */ +# if !defined(USB_MAX_DEVNAMES) && defined(MAXDEVNAMES) +# define USB_MAX_DEVNAMES MAXDEVNAMES +# endif +# endif + +struct os_specific_s { + char fname [128 ]; + int fd; + int is_analog; + /* The following structure members are specific to analog joysticks */ + struct joystick ajs; +# ifdef HAVE_USB_JS + /* The following structure members are specific to USB joysticks */ + struct hid_item *hids; + int hid_dlen; + int hid_offset; + char *hid_data_buf; + int axes_usage [ _JS_MAX_AXES ]; +# endif + /* We keep button and axes state ourselves, as they might not be updated + * on every read of a USB device + */ + int cache_buttons; + float cache_axes [ _JS_MAX_AXES ]; +}; + +/* Idents lower than USB_IDENT_OFFSET are for analog joysticks. */ +# define USB_IDENT_OFFSET 2 + +# define USBDEV "/dev/usb" +# define UHIDDEV "/dev/uhid" +# define AJSDEV "/dev/joy" + + +#endif + #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) static int hatmap_x[9] = {0, 0, 1, 1, 1, 0, -1, -1, -1}; static int hatmap_y[9] = {0, 1, 1, 0, -1, -1, -1, 0, 1}; @@ -104,6 +164,7 @@ static int fghJoystickFindUSBdev(char *name, char *out, int outlen) } return 0; } +#endif static int fghJoystickInitializeHID(struct os_specific_s *os, int *num_axes, int *num_buttons) -- 1.7.10.4