Ravenports generated: 27 Oct 2023 17:09
[ravenports.git] / bucket_13 / sdl1
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               sdl1
4 VERSION=                1.2.15
5 REVISION=               2
6 KEYWORDS=               devel
7 VARIANTS=               standard
8 SDESC[standard]=        Cross-platform multimedia development API
9 HOMEPAGE=               http://www.libsdl.org/
10 CONTACT=                nobody
11
12 DOWNLOAD_GROUPS=        main
13 SITES[main]=            http://www.libsdl.org/release/
14                         SF/libsdl/SDL/1.2.15
15 DISTFILE[1]=            SDL-1.2.15.tar.gz:main
16 DF_INDEX=               1
17 SPKGS[standard]=        complete
18                         primary
19                         docs
20                         examples
21                         man
22                         dev
23
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
29 OPT_ON[freebsd]=        OSS
30 OPT_ON[all]=            AALIB OPENGL X11
31 OPT_ON[dragonfly]=      OSS
32
33 BUILD_DEPENDS=          nasm:primary:standard
34
35 USES=                   cpe gmake libtool pkgconfig iconv fbsd10fix
36
37 DISTNAME=               SDL-1.2.15
38
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
44 LICENSE_SCHEME=         solo
45
46 CPE_PRODUCT=            simple_directmedia_layer
47 CPE_VENDOR=             libsdl
48 FPC_EQUIVALENT=         devel/sdl12
49
50 MUST_CONFIGURE=         gnu
51 CONFIGURE_ARGS=         --disable-alsa
52                         --disable-alsatest
53                         --disable-arts
54                         --disable-video-directfb
55                         --disable-video-ggi
56 CONFIGURE_ENV=          ac_cv_header_libusbhid_h=no
57
58 [OPENGL].BUILDRUN_DEPENDS_ON=           libglvnd:primary:standard
59 [OPENGL].BUILD_DEPENDS_ON=              libglvnd:dev:standard
60 [OPENGL].CONFIGURE_ENABLE_BOTH=         video-opengl
61
62 [SNDIO].BUILDRUN_DEPENDS_ON=            sndio:single:standard
63 [SNDIO].CONFIGURE_ENABLE_BOTH=          sndio
64
65 [AALIB].BUILDRUN_DEPENDS_ON=            aalib:single:standard
66 [AALIB].CONFIGURE_ENABLE_BOTH=          video-aalib
67
68 [PULSEAUDIO].BROKEN_ON=                 not yet implemented
69
70 [OSS].CONFIGURE_ENABLE_BOTH=            oss
71
72 [X11].CONFIGURE_ENABLE_BOTH=            video-x11
73 [X11].XORG_COMPONENTS_ON=               x11
74                                         xrender
75                                         xrandr
76                                         xext
77
78 post-patch:
79         ${REINPLACE_CMD} -e '/EXTRA_LDFLAGS/s/-liconv/${ICONV_LIB}/' \
80                 ${WRKSRC}/configure
81
82 post-patch-SNDIO-ON:
83         @${MKDIR} ${WRKSRC}/src/audio/sndio
84         ${CP} ${FILESDIR}/SDL_sndioaudio.* ${WRKSRC}/src/audio/sndio
85
86 post-install:
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}/
90 .endfor
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}/
95 .endfor
96         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libSDL-1.2.so.0
97
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
104 flexibility.
105
106
107 [FILE:96:distinfo]
108 d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00      3920622 SDL-1.2.15.tar.gz
109
110
111 [FILE:59:manifests/plist.primary]
112 bin/sdl-config
113 lib/
114  libSDL-1.2.so.0
115  libSDL-1.2.so.0.11.4
116
117
118 [FILE:3805:manifests/plist.man]
119 share/man/man3/
120  SDLKey.3.gz
121  SDL_ActiveEvent.3.gz
122  SDL_AddTimer.3.gz
123  SDL_AudioCVT.3.gz
124  SDL_AudioSpec.3.gz
125  SDL_BlitSurface.3.gz
126  SDL_BuildAudioCVT.3.gz
127  SDL_CD.3.gz
128  SDL_CDClose.3.gz
129  SDL_CDEject.3.gz
130  SDL_CDName.3.gz
131  SDL_CDNumDrives.3.gz
132  SDL_CDOpen.3.gz
133  SDL_CDPause.3.gz
134  SDL_CDPlay.3.gz
135  SDL_CDPlayTracks.3.gz
136  SDL_CDResume.3.gz
137  SDL_CDStatus.3.gz
138  SDL_CDStop.3.gz
139  SDL_CDtrack.3.gz
140  SDL_CloseAudio.3.gz
141  SDL_Color.3.gz
142  SDL_CondBroadcast.3.gz
143  SDL_CondSignal.3.gz
144  SDL_CondWait.3.gz
145  SDL_CondWaitTimeout.3.gz
146  SDL_ConvertAudio.3.gz
147  SDL_ConvertSurface.3.gz
148  SDL_CreateCond.3.gz
149  SDL_CreateCursor.3.gz
150  SDL_CreateMutex.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
156  SDL_Delay.3.gz
157  SDL_DestroyCond.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
165  SDL_Event.3.gz
166  SDL_EventState.3.gz
167  SDL_ExposeEvent.3.gz
168  SDL_FillRect.3.gz
169  SDL_Flip.3.gz
170  SDL_FreeCursor.3.gz
171  SDL_FreeSurface.3.gz
172  SDL_FreeWAV.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
179  SDL_GLattr.3.gz
180  SDL_GetAppState.3.gz
181  SDL_GetAudioStatus.3.gz
182  SDL_GetClipRect.3.gz
183  SDL_GetCursor.3.gz
184  SDL_GetError.3.gz
185  SDL_GetEventFilter.3.gz
186  SDL_GetGamma.3.gz
187  SDL_GetGammaRamp.3.gz
188  SDL_GetKeyName.3.gz
189  SDL_GetKeyState.3.gz
190  SDL_GetModState.3.gz
191  SDL_GetMouseState.3.gz
192  SDL_GetRGB.3.gz
193  SDL_GetRGBA.3.gz
194  SDL_GetRelativeMouseState.3.gz
195  SDL_GetThreadID.3.gz
196  SDL_GetTicks.3.gz
197  SDL_GetVideoInfo.3.gz
198  SDL_GetVideoSurface.3.gz
199  SDL_Init.3.gz
200  SDL_InitSubSystem.3.gz
201  SDL_JoyAxisEvent.3.gz
202  SDL_JoyBallEvent.3.gz
203  SDL_JoyButtonEvent.3.gz
204  SDL_JoyHatEvent.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
221  SDL_KillThread.3.gz
222  SDL_ListModes.3.gz
223  SDL_LoadBMP.3.gz
224  SDL_LoadWAV.3.gz
225  SDL_LockAudio.3.gz
226  SDL_LockSurface.3.gz
227  SDL_LockYUVOverlay.3.gz
228  SDL_MapRGB.3.gz
229  SDL_MapRGBA.3.gz
230  SDL_MixAudio.3.gz
231  SDL_MouseButtonEvent.3.gz
232  SDL_MouseMotionEvent.3.gz
233  SDL_NumJoysticks.3.gz
234  SDL_OpenAudio.3.gz
235  SDL_Overlay.3.gz
236  SDL_Palette.3.gz
237  SDL_PauseAudio.3.gz
238  SDL_PeepEvents.3.gz
239  SDL_PixelFormat.3.gz
240  SDL_PollEvent.3.gz
241  SDL_PumpEvents.3.gz
242  SDL_PushEvent.3.gz
243  SDL_Quit.3.gz
244  SDL_QuitEvent.3.gz
245  SDL_QuitSubSystem.3.gz
246  SDL_RWFromFile.3.gz
247  SDL_Rect.3.gz
248  SDL_RemoveTimer.3.gz
249  SDL_ResizeEvent.3.gz
250  SDL_SaveBMP.3.gz
251  SDL_SemPost.3.gz
252  SDL_SemTryWait.3.gz
253  SDL_SemValue.3.gz
254  SDL_SemWait.3.gz
255  SDL_SemWaitTimeout.3.gz
256  SDL_SetAlpha.3.gz
257  SDL_SetClipRect.3.gz
258  SDL_SetColorKey.3.gz
259  SDL_SetColors.3.gz
260  SDL_SetCursor.3.gz
261  SDL_SetEventFilter.3.gz
262  SDL_SetGamma.3.gz
263  SDL_SetGammaRamp.3.gz
264  SDL_SetModState.3.gz
265  SDL_SetPalette.3.gz
266  SDL_SetTimer.3.gz
267  SDL_SetVideoMode.3.gz
268  SDL_ShowCursor.3.gz
269  SDL_Surface.3.gz
270  SDL_SysWMEvent.3.gz
271  SDL_ThreadID.3.gz
272  SDL_UnlockAudio.3.gz
273  SDL_UnlockSurface.3.gz
274  SDL_UnlockYUVOverlay.3.gz
275  SDL_UpdateRect.3.gz
276  SDL_UpdateRects.3.gz
277  SDL_UserEvent.3.gz
278  SDL_VideoDriverName.3.gz
279  SDL_VideoInfo.3.gz
280  SDL_VideoModeOK.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
285  SDL_WM_SetIcon.3.gz
286  SDL_WM_ToggleFullScreen.3.gz
287  SDL_WaitEvent.3.gz
288  SDL_WaitThread.3.gz
289  SDL_WarpMouse.3.gz
290  SDL_WasInit.3.gz
291  SDL_keysym.3.gz
292  SDL_mutexP.3.gz
293  SDL_mutexV.3.gz
294
295
296 [FILE:531:manifests/plist.dev]
297 include/SDL/
298  SDL.h
299  SDL_active.h
300  SDL_audio.h
301  SDL_byteorder.h
302  SDL_cdrom.h
303  SDL_config.h
304  SDL_cpuinfo.h
305  SDL_endian.h
306  SDL_error.h
307  SDL_events.h
308  SDL_getenv.h
309  SDL_joystick.h
310  SDL_keyboard.h
311  SDL_keysym.h
312  SDL_loadso.h
313  SDL_main.h
314  SDL_mouse.h
315  SDL_mutex.h
316  SDL_name.h
317  SDL_opengl.h
318  SDL_platform.h
319  SDL_quit.h
320  SDL_rwops.h
321  SDL_stdinc.h
322  SDL_syswm.h
323  SDL_thread.h
324  SDL_timer.h
325  SDL_types.h
326  SDL_version.h
327  SDL_video.h
328  begin_code.h
329  close_code.h
330 lib/
331  libSDL.a
332  libSDL.so
333  libSDLmain.a
334 lib/pkgconfig/sdl.pc
335 share/aclocal/sdl.m4
336
337
338 [FILE:541:patches/patch-Makefile.in]
339 --- Makefile.in.orig    2012-01-19 06:30:05 UTC
340 +++ Makefile.in
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)
347  
348  all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET)
349  
350
351
352 [FILE:4283:patches/patch-configure]
353 --- configure.orig      2012-01-19 06:30:12 UTC
354 +++ configure
355 @@ -2039,12 +2039,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
356  
357  ac_config_headers="$ac_config_headers include/SDL_config.h"
358  
359 -
360 -cat >>confdefs.h <<\_ACEOF
361 -#define _GNU_SOURCE 1
362 -_ACEOF
363 -
364 -
365  ac_aux_dir=
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
370    ;;
371  
372 -freebsd* | dragonfly*)
373 +freebsd* | dragonfly* | midnight*)
374    if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
375      case $host_cpu in
376      i*86 )
377 @@ -8411,7 +8405,7 @@ if test -z "$aix_libpath"; then aix_libp
378        ;;
379  
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'
385        hardcode_direct=yes
386 @@ -9290,7 +9284,7 @@ freebsd1*)
387    dynamic_linker=no
388    ;;
389  
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
397          ;;
398  
399 -      freebsd* | dragonfly*)
400 +      freebsd* | dragonfly* | midnight*)
401          # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
402          # conventions
403          ld_shlibs_CXX=yes
404 @@ -14258,7 +14252,7 @@ echo $ECHO_N "checking for $compiler opt
405             ;;
406         esac
407         ;;
408 -      freebsd* | dragonfly*)
409 +      freebsd* | dragonfly* | midnight*)
410         # FreeBSD uses GNU C++
411         ;;
412        hpux9* | hpux10* | hpux11*)
413 @@ -15062,7 +15056,7 @@ freebsd1*)
414    dynamic_linker=no
415    ;;
416  
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"
424          ;;
425      *)
426 -        BASE_CFLAGS="-D_GNU_SOURCE=1"
427 +        BASE_CFLAGS=""
428          BASE_LDFLAGS=""
429          ;;
430  esac
431 @@ -20999,6 +20993,16 @@ _ACEOF
432          fi
433      fi
434  }
435
436 +CheckSndio()
437 +{
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"
442 +  have_audio=yes
443 +fi
444 +}
445  
446  CheckPulseAudio()
447  {
448 @@ -26934,7 +26938,7 @@ fi
449  # causes Carbon.p complaints?
450  #            pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
451              ;;
452 -        *-*-freebsd*|*-*-dragonfly*)
453 +        *-*-freebsd*|*-*-dragonfly*|*-*-midnight*)
454              pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
455              pthread_lib="-pthread"
456              ;;
457 @@ -29518,7 +29522,7 @@ _ACEOF
458              have_timers=yes
459          fi
460          ;;
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*)
463          case "$host" in
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
475          CheckALSA
476          CheckARTSC
477          CheckESD
478 +        CheckSndio
479          CheckPulseAudio
480          CheckNAS
481          CheckX11
482 @@ -29628,7 +29634,7 @@ _ACEOF
483                  SOURCES="$SOURCES $srcdir/src/cdrom/linux/*.c"
484                  have_cdrom=yes
485              ;;
486 -            *freebsd*)
487 +            *freebsd*|*midnight*)
488                  cat >>confdefs.h <<\_ACEOF
489  #define SDL_CDROM_FREEBSD 1
490  _ACEOF
491
492
493 [FILE:474:patches/patch-sdl-config.in]
494 #
495 # Temporary hack to provide iconv include directory is well
496 # (sdl explicitly includes iconv.h)
497 #
498 --- sdl-config.in.orig  2012-01-19 06:30:06 UTC
499 +++ sdl-config.in
500 @@ -42,7 +42,7 @@ while test $# -gt 0; do
501        echo @SDL_VERSION@
502        ;;
503      --cflags)
504 -      echo -I@includedir@/SDL @SDL_CFLAGS@
505 +      echo -I@includedir@/SDL -I@includedir@ @SDL_CFLAGS@
506        ;;
507  @ENABLE_SHARED_TRUE@    --libs)
508  @ENABLE_SHARED_TRUE@      echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
509
510
511 [FILE:276:patches/patch-sdl.pc.in]
512 --- sdl.pc.in.orig      2012-01-19 06:30:06 UTC
513 +++ sdl.pc.in
514 @@ -12,4 +12,4 @@ Requires:
515  Conflicts:
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@
520
521
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
526 @@ -36,12 +36,16 @@
527  
528  /* Available audio drivers */
529  static AudioBootStrap *bootstrap[] = {
530 +
531  #if SDL_AUDIO_DRIVER_PULSE
532         &PULSE_bootstrap,
533  #endif
534  #if SDL_AUDIO_DRIVER_ALSA
535         &ALSA_bootstrap,
536  #endif
537 +#if SDL_AUDIO_DRIVER_SNDIO
538 +       &SNDIO_bootstrap,
539 +#endif
540  #if SDL_AUDIO_DRIVER_BSD
541         &BSD_AUDIO_bootstrap,
542  #endif
543
544
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;
552  #endif
553 +#if SDL_AUDIO_DRIVER_SNDIO
554 +extern AudioBootStrap SNDIO_bootstrap;
555 +#endif
556  #if SDL_AUDIO_DRIVER_PULSE
557  extern AudioBootStrap PULSE_bootstrap;
558  #endif
559
560
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)
565                         char *insert;
566                         exists = 1;
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 ) {
572                                         *insert = j;
573
574
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
578 @@ -82,7 +82,9 @@
579  #define MAX_JOYS       (MAX_UHID_JOYS + MAX_JOY_JOYS)
580  
581  struct report {
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 */
587  #else
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 *);
592  
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)
600  #else
601 @@ -411,47 +415,47 @@ SDL_SYS_JoystickUpdate(SDL_Joystick *joy
602         struct joystick gameport;
603   
604         if (joy->hwdata->type == BSDJOY_JOY) {
605 -               if (read(joy->hwdata->fd, &gameport, sizeof gameport) != sizeof gameport)
606 -                       return;
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;
611 -                       }
612 -                       if (joy->hwdata->x > joy->hwdata->xmax) {
613 -                               joy->hwdata->xmax = joy->hwdata->x;
614 -                       }
615 -                       if (joy->hwdata->xmin == joy->hwdata->xmax) {
616 -                               joy->hwdata->xmin--;
617 -                               joy->hwdata->xmax++;
618 -                       }
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);
623 -               }
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;
633 +                               }
634 +                               if (joy->hwdata->x > joy->hwdata->xmax) {
635 +                                       joy->hwdata->xmax = joy->hwdata->x;
636 +                               }
637 +                               if (joy->hwdata->xmin == joy->hwdata->xmax) {
638 +                                       joy->hwdata->xmin--;
639 +                                       joy->hwdata->xmax++;
640 +                               }
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);
645 +                       }
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;
650 +                               }
651 +                               if (joy->hwdata->y > joy->hwdata->ymax) {
652 +                                       joy->hwdata->ymax = joy->hwdata->y;
653 +                               }
654 +                               if (joy->hwdata->ymin == joy->hwdata->ymax) {
655 +                                       joy->hwdata->ymin--;
656 +                                       joy->hwdata->ymax++;
657 +                               }
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);
662                         }
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);
667                         }
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);
673                         }
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);
678 -               }
679 -               if (gameport.b1 != joy->buttons[0]) {
680 -                       SDL_PrivateJoystickButton(joy, 0, gameport.b1);
681 -               }
682 -               if (gameport.b2 != joy->buttons[1]) {
683 -                       SDL_PrivateJoystickButton(joy, 1, gameport.b2);
684                 }
685                 return;
686         }
687 @@ -459,65 +463,61 @@ SDL_SYS_JoystickUpdate(SDL_Joystick *joy
688         
689         rep = &joy->hwdata->inreport;
690  
691 -       if (read(joy->hwdata->fd, REP_BUF_DATA(rep), rep->size) != rep->size) {
692 -               return;
693 -       }
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);
698  #else
699 -       hdata = hid_start_parse(joy->hwdata->repdesc, 1 << hid_input);
700 +               hdata = hid_start_parse(joy->hwdata->repdesc, 1 << hid_input);
701  #endif
702 -       if (hdata == NULL) {
703 -               fprintf(stderr, "%s: Cannot start HID parser\n",
704 -                   joy->hwdata->path);
705 -               return;
706 -       }
707 +               if (hdata == NULL) {
708 +                       /*fprintf(stderr, "%s: Cannot start HID parser\n", joy->hwdata->path);*/
709 +                       continue;
710 +               }
711  
712 -       for (nbutton = 0; hid_get_item(hdata, &hitem) > 0;) {
713 -               switch (hitem.kind) {
714 -               case hid_input:
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);
719 -                           if (joyaxe >= 0) {
720 -                               naxe = joy->hwdata->axis_map[joyaxe];
721 -                               /* scaleaxe */
722 -                               v = (Sint32)hid_get_data(REP_BUF_DATA(rep),
723 -                                                        &hitem);
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) {
730 +                       case hid_input:
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);
735 +                                       if (joyaxe >= 0) {
736 +                                       naxe = joy->hwdata->axis_map[joyaxe];
737 +                                       /* scaleaxe */
738 +                                       v = (Sint32)hid_get_data(REP_BUF_DATA(rep),
739 +                                                                &hitem);
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);
744 +                                       }
745 +                                       } else if (usage == HUG_HAT_SWITCH) {
746 +                                       v = (Sint32)hid_get_data(REP_BUF_DATA(rep),
747 +                                                                &hitem);
748 +                                       SDL_PrivateJoystickHat(joy, 0,
749 +                                               hatval_to_sdl(v)-hitem.logical_minimum);
750 +                                       }
751 +                                       break;
752                                 }
753 -                           } else if (usage == HUG_HAT_SWITCH) {
754 -                               v = (Sint32)hid_get_data(REP_BUF_DATA(rep),
755 -                                                        &hitem);
756 -                               SDL_PrivateJoystickHat(joy, 0,
757 -                                       hatval_to_sdl(v)-hitem.logical_minimum);
758 -                           }
759 -                           break;
760 -                       }
761 -                       case HUP_BUTTON:
762 -                               v = (Sint32)hid_get_data(REP_BUF_DATA(rep),
763 -                                   &hitem);
764 -                               if (joy->buttons[nbutton] != v) {
765 -                                       SDL_PrivateJoystickButton(joy,
766 -                                           nbutton, v);
767 +                               case HUP_BUTTON:
768 +                                       v = (Sint32)hid_get_data(REP_BUF_DATA(rep),
769 +                                               &hitem);
770 +                                       if (joy->buttons[nbutton] != v) {
771 +                                               SDL_PrivateJoystickButton(joy,
772 +                                                       nbutton, v);
773 +                                       }
774 +                                       nbutton++;
775 +                                       break;
776 +                               default:
777 +                                       continue;
778                                 }
779 -                               nbutton++;
780                                 break;
781                         default:
782 -                               continue;
783 +                               break;
784                         }
785 -                       break;
786 -               default:
787 -                       break;
788                 }
789 +               hid_end_parse(hdata);
790         }
791 -       hid_end_parse(hdata);
792 -
793 -       return;
794  }
795  
796  /* Function to close a joystick after use */
797 @@ -582,8 +582,12 @@ report_alloc(struct report *r, struct re
798         r->size = len;
799  
800         if (r->size > 0) {
801 +#if defined(__FREEBSD__) && (__FreeBSD_kernel_version > 900000)
802 +               r->buf = SDL_malloc(r->size);
803 +#else
804                 r->buf = SDL_malloc(sizeof(*r->buf) - sizeof(REP_BUF_DATA(r)) +
805                     r->size);
806 +#endif
807                 if (r->buf == NULL) {
808                         SDL_OutOfMemory();
809                         return (-1);
810
811
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
816   */
817  #ifdef LONG64
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),)
822  #endif
823  
824
825
826 [FILE:5310:files/SDL_sndioaudio.c]
827 /*
828  * Copyright (c) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org>
829  *
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.
833  *
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.
841  */
842
843 #include "SDL_config.h"
844
845 /* Allow access to a raw mixing buffer */
846
847 #ifdef HAVE_SIGNAL_H
848 #include <signal.h>
849 #endif
850 #include <unistd.h>
851
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"
858
859 /* The tag name used by sndio audio */
860 #define SNDIO_DRIVER_NAME         "sndio"
861
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);
868
869 /* Audio driver bootstrap functions */
870
871 static int Audio_Available(void)
872 {
873         struct sio_hdl *this_hdl;
874         int available = 0;
875
876         if ( (this_hdl = sio_open(SIO_DEVANY, SIO_PLAY, 0)) != NULL ) {
877                 sio_close(this_hdl);
878                 available = 1;
879         }
880
881         return available;
882 }
883
884 static void Audio_DeleteDevice(SDL_AudioDevice *device)
885 {
886         SDL_free(device->hidden);
887         SDL_free(device);
888 }
889
890 static SDL_AudioDevice *Audio_CreateDevice(int devindex)
891 {
892         SDL_AudioDevice *this;
893
894         /* Initialize all variables that we clean on shutdown */
895         this = (SDL_AudioDevice *)SDL_malloc(sizeof(SDL_AudioDevice));
896         if ( this ) {
897                 SDL_memset(this, 0, (sizeof *this));
898                 this->hidden = (struct SDL_PrivateAudioData *)
899                                 SDL_malloc((sizeof *this->hidden));
900         }
901         if ( (this == NULL) || (this->hidden == NULL) ) {
902                 SDL_OutOfMemory();
903                 if ( this ) {
904                         SDL_free(this);
905                 }
906                 return(0);
907         }
908         SDL_memset(this->hidden, 0, (sizeof *this->hidden));
909
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;
916
917         this->free = Audio_DeleteDevice;
918
919         hdl = NULL;
920
921         return this;
922 }
923
924 AudioBootStrap SNDIO_bootstrap = {
925         SNDIO_DRIVER_NAME, "sndio",
926         Audio_Available, Audio_CreateDevice
927 };
928
929
930
931 /* This function waits until it is possible to write a full sound buffer */
932 static void SNDIO_WaitAudio(_THIS)
933 {
934         /* nothing, we're using the blocking api */
935 }
936
937 static void SNDIO_PlayAudio(_THIS)
938 {
939         int written;
940
941         /* Write the audio data */
942         written = sio_write(hdl, mixbuf, mixlen);
943         
944         /* If we couldn't write, assume fatal error for now */
945         if ( written == 0 ) {
946                 this->enabled = 0;
947         }
948 #ifdef DEBUG_AUDIO
949         fprintf(stderr, "Wrote %d bytes of audio data\n", written);
950 #endif
951 }
952
953 static Uint8 *SNDIO_GetAudioBuf(_THIS)
954 {
955         return(mixbuf);
956 }
957
958 static void SNDIO_CloseAudio(_THIS)
959 {
960         if ( mixbuf != NULL ) {
961                 SDL_FreeAudioMem(mixbuf);
962                 mixbuf = NULL;
963         }
964         if ( hdl != NULL ) {
965                 sio_close(hdl);
966                 hdl = NULL;
967         }
968 }
969
970 static int SNDIO_OpenAudio(_THIS, SDL_AudioSpec *spec)
971 {
972         struct sio_par par;
973
974         mixbuf = NULL;
975
976         if ((hdl = sio_open(NULL, SIO_PLAY, 0)) == NULL) {
977                 SDL_SetError("sio_open() failed");
978                 return(-1);
979         }
980
981         sio_initpar(&par);
982
983         switch (spec->format) {
984         case AUDIO_S16LSB:
985                 par.bits = 16;
986                 par.sig = 1;
987                 par.le = 1;
988                 break;
989         case AUDIO_S16MSB:
990                 par.bits = 16;
991                 par.sig = 1;
992                 par.le = 0;
993                 break;
994         case AUDIO_S8:
995                 par.bits = 8;
996                 par.sig = 1;
997                 break;
998         case AUDIO_U16LSB:
999                 par.bits = 16;
1000                 par.sig = 0;
1001                 par.le = 1;
1002                 break;
1003         case AUDIO_U16MSB:
1004                 par.bits = 16;
1005                 par.sig = 0;
1006                 par.le = 0;
1007                 break;
1008         case AUDIO_U8:
1009                 par.bits = 8;
1010                 par.sig = 0;
1011                 break;
1012         default:
1013                 SDL_SetError("SNDIO unknown format");
1014                 return(-1);
1015         }
1016
1017         par.rate = spec->freq;
1018         par.pchan = spec->channels;
1019         par.round = spec->samples;
1020         par.appbufsz = par.round * 2;
1021
1022         if (sio_setpar(hdl, &par) == 0) {
1023                 SDL_SetError("sio_setpar() failed");
1024                 return(-1);
1025         }
1026
1027         if (sio_getpar(hdl, &par) == 0) {
1028                 SDL_SetError("sio_getpar() failed");
1029                 return(-1);
1030         }
1031
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;
1039                 } else 
1040                         spec->format = AUDIO_U16MSB;
1041         } else if (par.bits == 8) {
1042                 spec->format = par.sig ? AUDIO_S8 : AUDIO_U8;
1043         } else {
1044                 SDL_SetError("SNDIO couldn't configure a suitable format");
1045                 return(-1);
1046         }
1047
1048         spec->freq = par.rate;
1049         spec->channels = par.pchan;
1050         spec->samples = par.round;
1051
1052         SDL_CalculateAudioSpec(spec);
1053
1054         /* Allocate mixing buffer */
1055         mixlen = spec->size;
1056         mixbuf = (Uint8 *)SDL_AllocAudioMem(mixlen);
1057         if ( mixbuf == NULL ) {
1058                 return(-1);
1059         }
1060         SDL_memset(mixbuf, spec->silence, spec->size);
1061
1062         if ( sio_start(hdl) == 0 ) {
1063                 SDL_SetError("sio_start() failed");
1064                 return(-1);
1065         }
1066
1067         /* We're ready to rock and roll. :-) */
1068         return(0);
1069 }
1070
1071
1072 [FILE:1512:files/SDL_sndioaudio.h]
1073 /*
1074  * Copyright (c) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org>
1075  *
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.
1079  *
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.
1087  */
1088
1089 #include "SDL_config.h"
1090
1091 #ifndef _SDL_sndioaudio_h
1092 #define _SDL_sndioaudio_h
1093
1094 #include <sndio.h>
1095
1096 #include "../SDL_sysaudio.h"
1097
1098 /* Hidden "this" pointer for the video functions */
1099 #define _THIS   SDL_AudioDevice *this
1100
1101 struct SDL_PrivateAudioData {
1102         /* The stream descriptor for the audio device */
1103         struct sio_hdl *hdl;
1104
1105         /* The parent process id, to detect when application quits */
1106         pid_t parent;
1107
1108         /* Raw mixing buffer */
1109         Uint8 *mixbuf;
1110         int    mixlen;
1111
1112 };
1113
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)
1120
1121 #endif /* _SDL_sndioaudio_h */
1122
1123