1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
8 SDESC[standard]= Cross-platform multimedia development API
9 HOMEPAGE= http://www.libsdl.org/
13 SITES[main]= http://www.libsdl.org/release/
15 DISTFILE[1]= SDL-1.2.15.tar.gz:main
17 SPKGS[standard]= complete
24 OPTIONS_AVAILABLE= AALIB OSS SNDIO PULSEAUDIO OPENGL X11
25 OPTIONS_STANDARD= AALIB OSS SNDIO PULSEAUDIO OPENGL X11
26 OPTGROUP_UNLIMITED= AUDIO
27 OPTDESCR[AUDIO]= Audio Support
28 OPTGROUP[AUDIO]= AALIB OSS SNDIO PULSEAUDIO
30 OPT_ON[all]= AALIB OPENGL X11
31 OPT_ON[dragonfly]= OSS
33 BUILD_DEPENDS= nasm:primary:standard
35 USES= cpe gmake libtool pkgconfig iconv fbsd10fix
39 LICENSE= LGPL21+:primary
40 LICENSE_TERMS= primary:{{WRKDIR}}/TERMS
41 LICENSE_FILE= LGPL21+:{{WRKSRC}}/COPYING
42 LICENSE_AWK= TERMS:"SDL_config"
43 LICENSE_SOURCE= TERMS:{{WRKSRC}}/src/SDL.c
46 CPE_PRODUCT= simple_directmedia_layer
48 FPC_EQUIVALENT= devel/sdl12
51 CONFIGURE_ARGS= --disable-alsa
54 --disable-video-directfb
56 CONFIGURE_ENV= ac_cv_header_libusbhid_h=no
58 [OPENGL].BUILDRUN_DEPENDS_ON= libglvnd:primary:standard
59 [OPENGL].BUILD_DEPENDS_ON= libglvnd:dev:standard
60 [OPENGL].CONFIGURE_ENABLE_BOTH= video-opengl
62 [SNDIO].BUILDRUN_DEPENDS_ON= sndio:single:standard
63 [SNDIO].CONFIGURE_ENABLE_BOTH= sndio
65 [AALIB].BUILDRUN_DEPENDS_ON= aalib:single:standard
66 [AALIB].CONFIGURE_ENABLE_BOTH= video-aalib
68 [PULSEAUDIO].BROKEN_ON= not yet implemented
70 [OSS].CONFIGURE_ENABLE_BOTH= oss
72 [X11].CONFIGURE_ENABLE_BOTH= video-x11
73 [X11].XORG_COMPONENTS_ON= x11
79 ${REINPLACE_CMD} -e '/EXTRA_LDFLAGS/s/-liconv/${ICONV_LIB}/' \
83 @${MKDIR} ${WRKSRC}/src/audio/sndio
84 ${CP} ${FILESDIR}/SDL_sndioaudio.* ${WRKSRC}/src/audio/sndio
87 @${MKDIR} ${STAGEDIR}${STD_DOCDIR} ${STAGEDIR}${STD_EXAMPLESDIR}
88 .for doc in BUGS CREDITS README README-SDL.txt WhatsNew docs.html
89 ${INSTALL_DATA} ${WRKSRC}/${doc} ${STAGEDIR}${STD_DOCDIR}/
91 (cd ${WRKSRC} && ${COPYTREE_SHARE} docs \
92 ${STAGEDIR}${STD_DOCDIR}/ "! -regex .*/man3.*")
93 .for exam in test/*.c test/*.bmp test/*.dat test/*.xbm test/*.wav
94 ${INSTALL_DATA} ${WRKSRC}/${exam} ${STAGEDIR}${STD_EXAMPLESDIR}/
96 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libSDL-1.2.so.0
98 [FILE:385:descriptions/desc.primary]
99 The SDL library (series 1) is designed to make it easy to write games that
100 run on UNIX, Win32 and BeOS using the various native high-performance media
101 interfaces, (for video, audio, etc) and presenting a single source-code
102 level API to your application. This is a fairly low level API, but using
103 this, completely portable applications can be written with a great deal of
108 d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00 3920622 SDL-1.2.15.tar.gz
111 [FILE:59:manifests/plist.primary]
118 [FILE:3805:manifests/plist.man]
126 SDL_BuildAudioCVT.3.gz
135 SDL_CDPlayTracks.3.gz
142 SDL_CondBroadcast.3.gz
145 SDL_CondWaitTimeout.3.gz
146 SDL_ConvertAudio.3.gz
147 SDL_ConvertSurface.3.gz
149 SDL_CreateCursor.3.gz
151 SDL_CreateRGBSurface.3.gz
152 SDL_CreateRGBSurfaceFrom.3.gz
153 SDL_CreateSemaphore.3.gz
154 SDL_CreateThread.3.gz
155 SDL_CreateYUVOverlay.3.gz
158 SDL_DestroyMutex.3.gz
159 SDL_DestroySemaphore.3.gz
160 SDL_DisplayFormat.3.gz
161 SDL_DisplayFormatAlpha.3.gz
162 SDL_DisplayYUVOverlay.3.gz
163 SDL_EnableKeyRepeat.3.gz
164 SDL_EnableUNICODE.3.gz
173 SDL_FreeYUVOverlay.3.gz
174 SDL_GL_GetAttribute.3.gz
175 SDL_GL_GetProcAddress.3.gz
176 SDL_GL_LoadLibrary.3.gz
177 SDL_GL_SetAttribute.3.gz
178 SDL_GL_SwapBuffers.3.gz
181 SDL_GetAudioStatus.3.gz
185 SDL_GetEventFilter.3.gz
187 SDL_GetGammaRamp.3.gz
191 SDL_GetMouseState.3.gz
194 SDL_GetRelativeMouseState.3.gz
197 SDL_GetVideoInfo.3.gz
198 SDL_GetVideoSurface.3.gz
200 SDL_InitSubSystem.3.gz
201 SDL_JoyAxisEvent.3.gz
202 SDL_JoyBallEvent.3.gz
203 SDL_JoyButtonEvent.3.gz
205 SDL_JoystickClose.3.gz
206 SDL_JoystickEventState.3.gz
207 SDL_JoystickGetAxis.3.gz
208 SDL_JoystickGetBall.3.gz
209 SDL_JoystickGetButton.3.gz
210 SDL_JoystickGetHat.3.gz
211 SDL_JoystickIndex.3.gz
212 SDL_JoystickName.3.gz
213 SDL_JoystickNumAxes.3.gz
214 SDL_JoystickNumBalls.3.gz
215 SDL_JoystickNumButtons.3.gz
216 SDL_JoystickNumHats.3.gz
217 SDL_JoystickOpen.3.gz
218 SDL_JoystickOpened.3.gz
219 SDL_JoystickUpdate.3.gz
220 SDL_KeyboardEvent.3.gz
227 SDL_LockYUVOverlay.3.gz
231 SDL_MouseButtonEvent.3.gz
232 SDL_MouseMotionEvent.3.gz
233 SDL_NumJoysticks.3.gz
245 SDL_QuitSubSystem.3.gz
255 SDL_SemWaitTimeout.3.gz
261 SDL_SetEventFilter.3.gz
263 SDL_SetGammaRamp.3.gz
267 SDL_SetVideoMode.3.gz
273 SDL_UnlockSurface.3.gz
274 SDL_UnlockYUVOverlay.3.gz
278 SDL_VideoDriverName.3.gz
281 SDL_WM_GetCaption.3.gz
282 SDL_WM_GrabInput.3.gz
283 SDL_WM_IconifyWindow.3.gz
284 SDL_WM_SetCaption.3.gz
286 SDL_WM_ToggleFullScreen.3.gz
296 [FILE:531:manifests/plist.dev]
338 [FILE:541:patches/patch-Makefile.in]
339 --- Makefile.in.orig 2012-01-19 06:30:05 UTC
341 @@ -49,7 +49,7 @@ LT_AGE = @LT_AGE@
342 LT_CURRENT = @LT_CURRENT@
343 LT_RELEASE = @LT_RELEASE@
344 LT_REVISION = @LT_REVISION@
345 -LT_LDFLAGS = -no-undefined -rpath $(DESTDIR)$(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
346 +LT_LDFLAGS = -no-undefined -rpath $(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
348 all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET)
352 [FILE:4283:patches/patch-configure]
353 --- configure.orig 2012-01-19 06:30:12 UTC
355 @@ -2039,12 +2039,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
357 ac_config_headers="$ac_config_headers include/SDL_config.h"
360 -cat >>confdefs.h <<\_ACEOF
361 -#define _GNU_SOURCE 1
366 for ac_dir in $srcdir/build-scripts; do
367 if test -f "$ac_dir/install-sh"; then
368 @@ -4209,7 +4203,7 @@ darwin* | rhapsody*)
369 lt_cv_deplibs_check_method=pass_all
372 -freebsd* | dragonfly*)
373 +freebsd* | dragonfly* | midnight*)
374 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
377 @@ -8411,7 +8405,7 @@ if test -z "$aix_libpath"; then aix_libp
380 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
381 - freebsd* | dragonfly*)
382 + freebsd* | dragonfly* | midnight*)
383 archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
384 hardcode_libdir_flag_spec='-R$libdir'
386 @@ -9290,7 +9284,7 @@ freebsd1*)
390 -freebsd* | dragonfly*)
391 +freebsd* | dragonfly* | midnight*)
392 # DragonFly does not have aout. When/if they implement a new
393 # versioning mechanism, adjust this.
394 if test -x /usr/bin/objformat; then
395 @@ -13308,7 +13302,7 @@ if test -z "$aix_libpath"; then aix_libp
396 archive_cmds_need_lc_CXX=no
399 - freebsd* | dragonfly*)
400 + freebsd* | dragonfly* | midnight*)
401 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
404 @@ -14258,7 +14252,7 @@ echo $ECHO_N "checking for $compiler opt
408 - freebsd* | dragonfly*)
409 + freebsd* | dragonfly* | midnight*)
410 # FreeBSD uses GNU C++
412 hpux9* | hpux10* | hpux11*)
413 @@ -15062,7 +15056,7 @@ freebsd1*)
417 -freebsd* | dragonfly*)
418 +freebsd* | dragonfly* | midnight*)
419 # DragonFly does not have aout. When/if they implement a new
420 # versioning mechanism, adjust this.
421 if test -x /usr/bin/objformat; then
422 @@ -15826,7 +15820,7 @@ case "$host" in
423 BASE_LDFLAGS="-mno-cygwin"
426 - BASE_CFLAGS="-D_GNU_SOURCE=1"
431 @@ -20999,6 +20993,16 @@ _ACEOF
438 +if test "x${enable_sndio}" = "xyes"; then :
439 + SOURCES="$SOURCES $srcdir/src/audio/sndio/SDL_sndioaudio.c"
440 + EXTRA_CFLAGS="$EXTRA_CFLAGS -DSDL_AUDIO_DRIVER_SNDIO=1"
441 + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lsndio"
448 @@ -26934,7 +26938,7 @@ fi
449 # causes Carbon.p complaints?
450 # pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
452 - *-*-freebsd*|*-*-dragonfly*)
453 + *-*-freebsd*|*-*-dragonfly*|*-*-midnight*)
454 pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
455 pthread_lib="-pthread"
457 @@ -29518,7 +29522,7 @@ _ACEOF
461 - *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-irix*|*-*-aix*|*-*-osf*)
462 + *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-irix*|*-*-aix*|*-*-osf*|*-*-midnight*)
464 *-*-linux*) ARCH=linux ;;
465 *-*-uclinux*) ARCH=linux ;;
466 @@ -29529,6 +29533,7 @@ _ACEOF
467 *-*-bsdi*) ARCH=bsdi ;;
468 *-*-freebsd*) ARCH=freebsd ;;
469 *-*-dragonfly*) ARCH=freebsd ;;
470 + *-*-midnightbsd*) ARCH=freebsd ;;
471 *-*-netbsd*) ARCH=netbsd ;;
472 *-*-openbsd*) ARCH=openbsd ;;
473 *-*-sysv5*) ARCH=sysv5 ;;
474 @@ -29551,6 +29556,7 @@ _ACEOF
482 @@ -29628,7 +29634,7 @@ _ACEOF
483 SOURCES="$SOURCES $srcdir/src/cdrom/linux/*.c"
487 + *freebsd*|*midnight*)
488 cat >>confdefs.h <<\_ACEOF
489 #define SDL_CDROM_FREEBSD 1
493 [FILE:474:patches/patch-sdl-config.in]
495 # Temporary hack to provide iconv include directory is well
496 # (sdl explicitly includes iconv.h)
498 --- sdl-config.in.orig 2012-01-19 06:30:06 UTC
500 @@ -42,7 +42,7 @@ while test $# -gt 0; do
504 - echo -I@includedir@/SDL @SDL_CFLAGS@
505 + echo -I@includedir@/SDL -I@includedir@ @SDL_CFLAGS@
507 @ENABLE_SHARED_TRUE@ --libs)
508 @ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
511 [FILE:276:patches/patch-sdl.pc.in]
512 --- sdl.pc.in.orig 2012-01-19 06:30:06 UTC
514 @@ -12,4 +12,4 @@ Requires:
516 Libs: -L${libdir} @SDL_RLD_FLAGS@ @SDL_LIBS@
517 Libs.private: @SDL_STATIC_LIBS@
518 -Cflags: -I${includedir}/SDL @SDL_CFLAGS@
519 +Cflags: -I${includedir}/SDL -I${includedir} @SDL_CFLAGS@
522 [FILE:478:patches/patch-src_audio_SDL__audio.c]
523 $OpenBSD: patch-src_audio_SDL_audio_c,v 1.17 2012/03/02 09:10:38 dcoppa Exp $
524 --- src/audio/SDL_audio.c.orig 2012-01-19 06:30:06 UTC
525 +++ src/audio/SDL_audio.c
528 /* Available audio drivers */
529 static AudioBootStrap *bootstrap[] = {
531 #if SDL_AUDIO_DRIVER_PULSE
534 #if SDL_AUDIO_DRIVER_ALSA
537 +#if SDL_AUDIO_DRIVER_SNDIO
540 #if SDL_AUDIO_DRIVER_BSD
541 &BSD_AUDIO_bootstrap,
545 [FILE:449:patches/patch-src_audio_SDL__sysaudio.h]
546 $OpenBSD: patch-src_audio_SDL_sysaudio_h,v 1.6 2012/03/02 09:10:38 dcoppa Exp $
547 --- src/audio/SDL_sysaudio.h.orig 2012-01-19 06:30:06 UTC
548 +++ src/audio/SDL_sysaudio.h
549 @@ -105,6 +105,9 @@ typedef struct AudioBootStrap {
550 #if SDL_AUDIO_DRIVER_BSD
551 extern AudioBootStrap BSD_AUDIO_bootstrap;
553 +#if SDL_AUDIO_DRIVER_SNDIO
554 +extern AudioBootStrap SNDIO_bootstrap;
556 #if SDL_AUDIO_DRIVER_PULSE
557 extern AudioBootStrap PULSE_bootstrap;
561 [FILE:469:patches/patch-src_cdrom_freebsd_SDL_syscdrom.c]
562 --- src/cdrom/freebsd/SDL_syscdrom.c.orig 2012-01-19 06:30:06 UTC
563 +++ src/cdrom/freebsd/SDL_syscdrom.c
564 @@ -188,7 +188,7 @@ int SDL_SYS_CDInit(void)
567 for ( j=checklist[i][1]; exists; ++j ) {
568 - SDL_snprintf(drive, SDL_arraysize(drive), "/dev/%sc", &checklist[i][3]);
569 + SDL_snprintf(drive, SDL_arraysize(drive), "/dev/%s", &checklist[i][3]);
570 insert = SDL_strchr(drive, '?');
571 if ( insert != NULL ) {
575 [FILE:7860:patches/patch-src_joystick_bsd_SDL_sysjoystick.c]
576 --- src/joystick/bsd/SDL_sysjoystick.c.orig 2012-01-19 06:30:06 UTC
577 +++ src/joystick/bsd/SDL_sysjoystick.c
579 #define MAX_JOYS (MAX_UHID_JOYS + MAX_JOY_JOYS)
582 -#if defined(__FREEBSD__) && (__FreeBSD_kernel_version > 800063)
583 +#if defined(__FREEBSD__) && (__FreeBSD_kernel_version > 900000)
584 + void *buf; /* Buffer */
585 +#elif defined(__FREEBSD__) && (__FreeBSD_kernel_version > 800063)
586 struct usb_gen_descriptor *buf; /* Buffer */
588 struct usb_ctl_report *buf; /* Buffer */
589 @@ -148,8 +150,10 @@ static char *joydevnames[MAX_JOYS];
590 static int report_alloc(struct report *, struct report_desc *, int);
591 static void report_free(struct report *);
593 -#if defined(USBHID_UCR_DATA) || defined(__FreeBSD_kernel__)
594 +#if defined(USBHID_UCR_DATA) || (defined(__FreeBSD_kernel__) && __FreeBSD_kernel_version <= 800063)
595 #define REP_BUF_DATA(rep) ((rep)->buf->ucr_data)
596 +#elif (defined(__FREEBSD__) && (__FreeBSD_kernel_version > 900000))
597 +#define REP_BUF_DATA(rep) ((rep)->buf)
598 #elif (defined(__FREEBSD__) && (__FreeBSD_kernel_version > 800063))
599 #define REP_BUF_DATA(rep) ((rep)->buf->ugd_data)
601 @@ -411,47 +415,47 @@ SDL_SYS_JoystickUpdate(SDL_Joystick *joy
602 struct joystick gameport;
604 if (joy->hwdata->type == BSDJOY_JOY) {
605 - if (read(joy->hwdata->fd, &gameport, sizeof gameport) != sizeof gameport)
607 - if (abs(joy->hwdata->x - gameport.x) > 8) {
608 - joy->hwdata->x = gameport.x;
609 - if (joy->hwdata->x < joy->hwdata->xmin) {
610 - joy->hwdata->xmin = joy->hwdata->x;
612 - if (joy->hwdata->x > joy->hwdata->xmax) {
613 - joy->hwdata->xmax = joy->hwdata->x;
615 - if (joy->hwdata->xmin == joy->hwdata->xmax) {
616 - joy->hwdata->xmin--;
617 - joy->hwdata->xmax++;
619 - v = (Sint32)joy->hwdata->x;
620 - v -= (joy->hwdata->xmax + joy->hwdata->xmin + 1)/2;
621 - v *= 32768/((joy->hwdata->xmax - joy->hwdata->xmin + 1)/2);
622 - SDL_PrivateJoystickAxis(joy, 0, v);
624 - if (abs(joy->hwdata->y - gameport.y) > 8) {
625 - joy->hwdata->y = gameport.y;
626 - if (joy->hwdata->y < joy->hwdata->ymin) {
627 - joy->hwdata->ymin = joy->hwdata->y;
628 + while (read(joy->hwdata->fd, &gameport, sizeof gameport) == sizeof gameport) {
629 + if (abs(joy->hwdata->x - gameport.x) > 8) {
630 + joy->hwdata->x = gameport.x;
631 + if (joy->hwdata->x < joy->hwdata->xmin) {
632 + joy->hwdata->xmin = joy->hwdata->x;
634 + if (joy->hwdata->x > joy->hwdata->xmax) {
635 + joy->hwdata->xmax = joy->hwdata->x;
637 + if (joy->hwdata->xmin == joy->hwdata->xmax) {
638 + joy->hwdata->xmin--;
639 + joy->hwdata->xmax++;
641 + v = (Sint32)joy->hwdata->x;
642 + v -= (joy->hwdata->xmax + joy->hwdata->xmin + 1)/2;
643 + v *= 32768/((joy->hwdata->xmax - joy->hwdata->xmin + 1)/2);
644 + SDL_PrivateJoystickAxis(joy, 0, v);
646 + if (abs(joy->hwdata->y - gameport.y) > 8) {
647 + joy->hwdata->y = gameport.y;
648 + if (joy->hwdata->y < joy->hwdata->ymin) {
649 + joy->hwdata->ymin = joy->hwdata->y;
651 + if (joy->hwdata->y > joy->hwdata->ymax) {
652 + joy->hwdata->ymax = joy->hwdata->y;
654 + if (joy->hwdata->ymin == joy->hwdata->ymax) {
655 + joy->hwdata->ymin--;
656 + joy->hwdata->ymax++;
658 + v = (Sint32)joy->hwdata->y;
659 + v -= (joy->hwdata->ymax + joy->hwdata->ymin + 1)/2;
660 + v *= 32768/((joy->hwdata->ymax - joy->hwdata->ymin + 1)/2);
661 + SDL_PrivateJoystickAxis(joy, 1, v);
663 - if (joy->hwdata->y > joy->hwdata->ymax) {
664 - joy->hwdata->ymax = joy->hwdata->y;
665 + if (gameport.b1 != joy->buttons[0]) {
666 + SDL_PrivateJoystickButton(joy, 0, gameport.b1);
668 - if (joy->hwdata->ymin == joy->hwdata->ymax) {
669 - joy->hwdata->ymin--;
670 - joy->hwdata->ymax++;
671 + if (gameport.b2 != joy->buttons[1]) {
672 + SDL_PrivateJoystickButton(joy, 1, gameport.b2);
674 - v = (Sint32)joy->hwdata->y;
675 - v -= (joy->hwdata->ymax + joy->hwdata->ymin + 1)/2;
676 - v *= 32768/((joy->hwdata->ymax - joy->hwdata->ymin + 1)/2);
677 - SDL_PrivateJoystickAxis(joy, 1, v);
679 - if (gameport.b1 != joy->buttons[0]) {
680 - SDL_PrivateJoystickButton(joy, 0, gameport.b1);
682 - if (gameport.b2 != joy->buttons[1]) {
683 - SDL_PrivateJoystickButton(joy, 1, gameport.b2);
687 @@ -459,65 +463,61 @@ SDL_SYS_JoystickUpdate(SDL_Joystick *joy
689 rep = &joy->hwdata->inreport;
691 - if (read(joy->hwdata->fd, REP_BUF_DATA(rep), rep->size) != rep->size) {
694 + while (read(joy->hwdata->fd, REP_BUF_DATA(rep), rep->size) == rep->size) {
695 #if defined(USBHID_NEW) || (defined(__FREEBSD__) && __FreeBSD_kernel_version >= 500111) || defined(__FreeBSD_kernel__)
696 - hdata = hid_start_parse(joy->hwdata->repdesc, 1 << hid_input, rep->rid);
697 + hdata = hid_start_parse(joy->hwdata->repdesc, 1 << hid_input, rep->rid);
699 - hdata = hid_start_parse(joy->hwdata->repdesc, 1 << hid_input);
700 + hdata = hid_start_parse(joy->hwdata->repdesc, 1 << hid_input);
702 - if (hdata == NULL) {
703 - fprintf(stderr, "%s: Cannot start HID parser\n",
704 - joy->hwdata->path);
707 + if (hdata == NULL) {
708 + /*fprintf(stderr, "%s: Cannot start HID parser\n", joy->hwdata->path);*/
712 - for (nbutton = 0; hid_get_item(hdata, &hitem) > 0;) {
713 - switch (hitem.kind) {
715 - switch (HID_PAGE(hitem.usage)) {
716 - case HUP_GENERIC_DESKTOP: {
717 - unsigned usage = HID_USAGE(hitem.usage);
718 - int joyaxe = usage_to_joyaxe(usage);
720 - naxe = joy->hwdata->axis_map[joyaxe];
722 - v = (Sint32)hid_get_data(REP_BUF_DATA(rep),
724 - v -= (hitem.logical_maximum + hitem.logical_minimum + 1)/2;
725 - v *= 32768/((hitem.logical_maximum - hitem.logical_minimum + 1)/2);
726 - if (v != joy->axes[naxe]) {
727 - SDL_PrivateJoystickAxis(joy, naxe, v);
728 + for (nbutton = 0; hid_get_item(hdata, &hitem) > 0;) {
729 + switch (hitem.kind) {
731 + switch (HID_PAGE(hitem.usage)) {
732 + case HUP_GENERIC_DESKTOP: {
733 + unsigned usage = HID_USAGE(hitem.usage);
734 + int joyaxe = usage_to_joyaxe(usage);
736 + naxe = joy->hwdata->axis_map[joyaxe];
738 + v = (Sint32)hid_get_data(REP_BUF_DATA(rep),
740 + v -= (hitem.logical_maximum + hitem.logical_minimum + 1)/2;
741 + v *= 32768/((hitem.logical_maximum - hitem.logical_minimum + 1)/2);
742 + if (v != joy->axes[naxe]) {
743 + SDL_PrivateJoystickAxis(joy, naxe, v);
745 + } else if (usage == HUG_HAT_SWITCH) {
746 + v = (Sint32)hid_get_data(REP_BUF_DATA(rep),
748 + SDL_PrivateJoystickHat(joy, 0,
749 + hatval_to_sdl(v)-hitem.logical_minimum);
753 - } else if (usage == HUG_HAT_SWITCH) {
754 - v = (Sint32)hid_get_data(REP_BUF_DATA(rep),
756 - SDL_PrivateJoystickHat(joy, 0,
757 - hatval_to_sdl(v)-hitem.logical_minimum);
762 - v = (Sint32)hid_get_data(REP_BUF_DATA(rep),
764 - if (joy->buttons[nbutton] != v) {
765 - SDL_PrivateJoystickButton(joy,
768 + v = (Sint32)hid_get_data(REP_BUF_DATA(rep),
770 + if (joy->buttons[nbutton] != v) {
771 + SDL_PrivateJoystickButton(joy,
789 + hid_end_parse(hdata);
791 - hid_end_parse(hdata);
796 /* Function to close a joystick after use */
797 @@ -582,8 +582,12 @@ report_alloc(struct report *r, struct re
801 +#if defined(__FREEBSD__) && (__FreeBSD_kernel_version > 900000)
802 + r->buf = SDL_malloc(r->size);
804 r->buf = SDL_malloc(sizeof(*r->buf) - sizeof(REP_BUF_DATA(r)) +
807 if (r->buf == NULL) {
812 [FILE:498:patches/patch-src_video_x11_SDL_x11sym.h]
813 --- src/video/x11/SDL_x11sym.h.orig 2012-01-19 06:30:06 UTC
814 +++ src/video/x11/SDL_x11sym.h
815 @@ -165,7 +165,7 @@ SDL_X11_SYM(Bool,XShmQueryExtension,(Dis
818 SDL_X11_MODULE(IO_32BIT)
819 -SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
820 +SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return)
821 SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),)
826 [FILE:5310:files/SDL_sndioaudio.c]
828 * Copyright (c) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org>
830 * Permission to use, copy, modify, and distribute this software for any
831 * purpose with or without fee is hereby granted, provided that the above
832 * copyright notice and this permission notice appear in all copies.
834 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
835 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
836 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
837 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
838 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
839 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
840 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
843 #include "SDL_config.h"
845 /* Allow access to a raw mixing buffer */
852 #include "SDL_timer.h"
853 #include "SDL_audio.h"
854 #include "../SDL_audiomem.h"
855 #include "../SDL_audio_c.h"
856 #include "../SDL_audiodev_c.h"
857 #include "SDL_sndioaudio.h"
859 /* The tag name used by sndio audio */
860 #define SNDIO_DRIVER_NAME "sndio"
862 /* Audio driver functions */
863 static int SNDIO_OpenAudio(_THIS, SDL_AudioSpec *spec);
864 static void SNDIO_WaitAudio(_THIS);
865 static void SNDIO_PlayAudio(_THIS);
866 static Uint8 *SNDIO_GetAudioBuf(_THIS);
867 static void SNDIO_CloseAudio(_THIS);
869 /* Audio driver bootstrap functions */
871 static int Audio_Available(void)
873 struct sio_hdl *this_hdl;
876 if ( (this_hdl = sio_open(SIO_DEVANY, SIO_PLAY, 0)) != NULL ) {
884 static void Audio_DeleteDevice(SDL_AudioDevice *device)
886 SDL_free(device->hidden);
890 static SDL_AudioDevice *Audio_CreateDevice(int devindex)
892 SDL_AudioDevice *this;
894 /* Initialize all variables that we clean on shutdown */
895 this = (SDL_AudioDevice *)SDL_malloc(sizeof(SDL_AudioDevice));
897 SDL_memset(this, 0, (sizeof *this));
898 this->hidden = (struct SDL_PrivateAudioData *)
899 SDL_malloc((sizeof *this->hidden));
901 if ( (this == NULL) || (this->hidden == NULL) ) {
908 SDL_memset(this->hidden, 0, (sizeof *this->hidden));
910 /* Set the function pointers */
911 this->OpenAudio = SNDIO_OpenAudio;
912 this->WaitAudio = SNDIO_WaitAudio;
913 this->PlayAudio = SNDIO_PlayAudio;
914 this->GetAudioBuf = SNDIO_GetAudioBuf;
915 this->CloseAudio = SNDIO_CloseAudio;
917 this->free = Audio_DeleteDevice;
924 AudioBootStrap SNDIO_bootstrap = {
925 SNDIO_DRIVER_NAME, "sndio",
926 Audio_Available, Audio_CreateDevice
931 /* This function waits until it is possible to write a full sound buffer */
932 static void SNDIO_WaitAudio(_THIS)
934 /* nothing, we're using the blocking api */
937 static void SNDIO_PlayAudio(_THIS)
941 /* Write the audio data */
942 written = sio_write(hdl, mixbuf, mixlen);
944 /* If we couldn't write, assume fatal error for now */
945 if ( written == 0 ) {
949 fprintf(stderr, "Wrote %d bytes of audio data\n", written);
953 static Uint8 *SNDIO_GetAudioBuf(_THIS)
958 static void SNDIO_CloseAudio(_THIS)
960 if ( mixbuf != NULL ) {
961 SDL_FreeAudioMem(mixbuf);
970 static int SNDIO_OpenAudio(_THIS, SDL_AudioSpec *spec)
976 if ((hdl = sio_open(NULL, SIO_PLAY, 0)) == NULL) {
977 SDL_SetError("sio_open() failed");
983 switch (spec->format) {
1013 SDL_SetError("SNDIO unknown format");
1017 par.rate = spec->freq;
1018 par.pchan = spec->channels;
1019 par.round = spec->samples;
1020 par.appbufsz = par.round * 2;
1022 if (sio_setpar(hdl, &par) == 0) {
1023 SDL_SetError("sio_setpar() failed");
1027 if (sio_getpar(hdl, &par) == 0) {
1028 SDL_SetError("sio_getpar() failed");
1032 if (par.bits == 16) {
1033 if (par.sig && par.le) {
1034 spec->format = AUDIO_S16LSB;
1035 } else if (par.sig && !par.le) {
1036 spec->format = AUDIO_S16MSB;
1037 } else if (!par.sig && par.le) {
1038 spec->format = AUDIO_U16LSB;
1040 spec->format = AUDIO_U16MSB;
1041 } else if (par.bits == 8) {
1042 spec->format = par.sig ? AUDIO_S8 : AUDIO_U8;
1044 SDL_SetError("SNDIO couldn't configure a suitable format");
1048 spec->freq = par.rate;
1049 spec->channels = par.pchan;
1050 spec->samples = par.round;
1052 SDL_CalculateAudioSpec(spec);
1054 /* Allocate mixing buffer */
1055 mixlen = spec->size;
1056 mixbuf = (Uint8 *)SDL_AllocAudioMem(mixlen);
1057 if ( mixbuf == NULL ) {
1060 SDL_memset(mixbuf, spec->silence, spec->size);
1062 if ( sio_start(hdl) == 0 ) {
1063 SDL_SetError("sio_start() failed");
1067 /* We're ready to rock and roll. :-) */
1072 [FILE:1512:files/SDL_sndioaudio.h]
1074 * Copyright (c) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org>
1076 * Permission to use, copy, modify, and distribute this software for any
1077 * purpose with or without fee is hereby granted, provided that the above
1078 * copyright notice and this permission notice appear in all copies.
1080 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1081 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1082 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1083 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1084 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1085 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1086 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1089 #include "SDL_config.h"
1091 #ifndef _SDL_sndioaudio_h
1092 #define _SDL_sndioaudio_h
1096 #include "../SDL_sysaudio.h"
1098 /* Hidden "this" pointer for the video functions */
1099 #define _THIS SDL_AudioDevice *this
1101 struct SDL_PrivateAudioData {
1102 /* The stream descriptor for the audio device */
1103 struct sio_hdl *hdl;
1105 /* The parent process id, to detect when application quits */
1108 /* Raw mixing buffer */
1114 /* Old variable names */
1115 #define stream (this->hidden->stream)
1116 #define parent (this->hidden->parent)
1117 #define mixbuf (this->hidden->mixbuf)
1118 #define mixlen (this->hidden->mixlen)
1119 #define hdl (this->hidden->hdl)
1121 #endif /* _SDL_sndioaudio_h */