graphics/freeglut: Fix build after joy(4) removal

Fix build of graphics/freeglut after the removal of the joy(4) driver in
FreeBSD CURRENT.  The same fix is applied for all FreeBSD versions though.
Simply remove the include of sys/joystick.h, and instead bring in the
definition of struct joystick from that file into the freeglut source.  None
of the ioctls in sys/joystick.h are ever used in freeglut.

Please note that juystick support in freeglut on FreeBSD is not really
tested, so no promises are made about it.

Reported by:	goshanecr on the FreeBSD forum
in collaboration with:	imp
This commit is contained in:
Niclas Zeising 2018-10-25 18:48:23 +00:00
parent 18198f0f12
commit 77a52f9d83
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=482977
2 changed files with 15 additions and 6 deletions

View File

@ -3,7 +3,7 @@
PORTNAME= freeglut
PORTVERSION= 3.0.0
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= graphics
MASTER_SITES= SF

View File

@ -1,6 +1,6 @@
--- src/x11/fg_internal_x11.h.orig 2014-10-20 15:27:04 UTC
+++ src/x11/fg_internal_x11.h
@@ -136,8 +136,42 @@ struct tagSFG_PlatformWindowState
@@ -136,11 +136,50 @@ struct tagSFG_PlatformWindowState
#include <string.h>
# if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__)
@ -35,15 +35,24 @@
+# endif
+# include <dev/usb/usb.h>
+# include <dev/usb/usbhid.h>
+
+/* Compatibility with older usb.h revisions */
+# if !defined(USB_MAX_DEVNAMES) && defined(MAXDEVNAMES)
+# define USB_MAX_DEVNAMES MAXDEVNAMES
+# endif
+
# if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
# include <sys/joystick.h>
@@ -189,6 +223,30 @@ struct tagSFG_PlatformWindowState
-# include <sys/joystick.h>
+struct joystick {
+ int x;
+ int y;
+ int b1;
+ int b2;
+};
# else
/*
* XXX NetBSD/amd64 systems may find that they have to steal the
@@ -189,6 +228,30 @@ struct tagSFG_PlatformWindowState
*/
# define _JS_MAX_AXES 16
typedef struct tagSFG_PlatformJoystick SFG_PlatformJoystick;