ObjFW  Check-in [82da883fa6]

Overview
Comment:Compile OHEvdevGameController separately
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 82da883fa697a72286d3ce3b08aac87738d4f0ab644a16df541e4911e898968e
User & Date: js on 2024-06-03 19:53:02
Other Links: manifest | tags
Context
2024-06-04
23:51
Add OHGamepad check-in: c45b04b1f8 user: js tags: trunk
2024-06-03
19:53
Compile OHEvdevGameController separately check-in: 82da883fa6 user: js tags: trunk
19:45
Rename OHGameController{Mapping -> Profile} check-in: f333689336 user: js tags: trunk
Changes

Modified configure.ac from [003a5317d9] to [6db61d455a].

2344
2345
2346
2347
2348
2349
2350








2351
2352
2353
2354
2355
2356
2357
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365







+
+
+
+
+
+
+
+







			OBJCFLAGS="$old_OBJCFLAGS"
		], [
			AC_MSG_RESULT(yes)
			OBJCFLAGS="$old_OBJCFLAGS -Wno-gnu-imaginary-constant"
		])
	])
])

case "$host_os" in
linux*)
	AS_IF([test x"$enable_files" != x"no"], [
		AC_SUBST(USE_SRCS_EVDEV, '${SRCS_EVDEV}')
	])
	;;
esac

AS_IF([test x"$cross_compiling" = x"yes"], [
	AC_SUBST(BIN_PREFIX, "${host_alias}-")

	case "$host" in
	i?86-*-mingw*)
		AC_CHECK_PROG(WINE, wine, wine)

Modified extra.mk.in from [ee60b335fa] to [6abfed9392].

93
94
95
96
97
98
99

100
101
102
103
104
105
106
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107







+







TESTS_STATIC_LIB = @TESTS_STATIC_LIB@
TLS = @TLS@
TLS_CPPFLAGS = @TLS_CPPFLAGS@
TLS_LIBS = @TLS_LIBS@
UNICODE_M = @UNICODE_M@
USE_INCLUDES_ATOMIC = @USE_INCLUDES_ATOMIC@
USE_SRCS_APPLETALK = @USE_SRCS_APPLETALK@
USE_SRCS_EVDEV = @USE_SRCS_EVDEV@
USE_SRCS_FILES = @USE_SRCS_FILES@
USE_SRCS_IPX = @USE_SRCS_IPX@
USE_SRCS_PLUGINS = @USE_SRCS_PLUGINS@
USE_SRCS_SCTP = @USE_SRCS_SCTP@
USE_SRCS_SOCKETS = @USE_SRCS_SOCKETS@
USE_SRCS_SUBPROCESSES = @USE_SRCS_SUBPROCESSES@
USE_SRCS_TAGGED_POINTERS = @USE_SRCS_TAGGED_POINTERS@

Modified src/hid/Makefile from [3c44019c78] to [c92a9269e5].

10
11
12
13
14
15
16
17



18
19
20
21
22
23
24
10
11
12
13
14
15
16

17
18
19
20
21
22
23
24
25
26







-
+
+
+







LIB_PATCH = ${OBJFWHID_LIB_PATCH}

SRCS = OHGameController.m		\
       OHGameControllerAxis.m		\
       OHGameControllerButton.m		\
       OHGameControllerDirectionalPad.m	\
       OHGameControllerElement.m	\
       OHGameControllerProfile.m
       OHGameControllerProfile.m	\
       ${USE_SRCS_EVDEV}
SRCS_EVDEV = OHEvdevGameController.m

INCLUDES := ${SRCS:.m=.h}	\
	    ObjFWHID.h

SRCS += OHGameControllerEmulatedAxis.m		\
	OHGameControllerEmulatedButton.m

Modified src/hid/OHEvdevGameController.m from [4225244e9f] to [4aad12f123].

531
532
533
534
535
536
537
538


539

540
541
542
543
544
545
546
531
532
533
534
535
536
537

538
539
540
541
542
543
544
545
546
547
548







-
+
+

+







		OFString *name;
		OHGameControllerButton *button;
		OHEvdevGameControllerAxis *axis;

		errno = 0;

		if (read(_fd, &event, sizeof(event)) < (int)sizeof(event)) {
			if (errno == EWOULDBLOCK)
			if (errno == EWOULDBLOCK) {
				objc_autoreleasePoolPop(pool);
				return;
			}

			@throw [OFReadFailedException
			    exceptionWithObject: self
				requestedLength: sizeof(event)
					  errNo: errno];
		}

587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
589
590
591
592
593
594
595


596
597
598
599
600
601
602







-
-








			axis.value = scale(event.value,
			   axis->_minValue, axis->_maxValue);

			break;
		}
	}

	objc_autoreleasePoolPop(pool);
}

- (OFComparisonResult)compare: (OHEvdevGameController *)otherController
{
	unsigned long long selfIndex, otherIndex;

	if (![otherController isKindOfClass: [OHEvdevGameController class]])

Modified src/hid/OHGameController.m from [981f445f69] to [350c5f09f7].

79
80
81
82
83
84
85
86
87
88
89
79
80
81
82
83
84
85











-
-
-
-
		    self.class, self.name, self.vendorID.unsignedShortValue,
		    self.productID.unsignedShortValue];
	else
		return [OFString stringWithFormat: @"<%@: %@>",
						   self.class, self.name];
}
@end

#if defined(OF_LINUX) && defined(OF_HAVE_FILES)
# include "OHEvdevGameController.m"
#endif