Cleaned up the OpenBSD port, thanks to Peter Valchev
authorSam Lantinga <slouken@lokigames.com>
Sun, 08 Jul 2001 09:00:06 +0000
changeset 94ae6e6b73333f
parent 93 fc774f445e10
child 95 d84a06e0c358
Cleaned up the OpenBSD port, thanks to Peter Valchev
configure.in
include/SDL_syswm.h
src/audio/SDL_audio.c
src/audio/SDL_audiodev.c
src/audio/SDL_sysaudio.h
src/audio/dma/SDL_dmaaudio.c
src/audio/dsp/SDL_dspaudio.c
src/audio/openbsd/SDL_openbsdaudio.c
src/thread/linux/SDL_syssem.c
     1.1 --- a/configure.in	Sat Jul 07 23:27:29 2001 +0000
     1.2 +++ b/configure.in	Sun Jul 08 09:00:06 2001 +0000
     1.3 @@ -245,13 +245,25 @@
     1.4      if test x$enable_audio = xyes -a x$enable_oss = xyes; then
     1.5          AC_MSG_CHECKING(for OSS audio support)
     1.6          have_oss=no
     1.7 -        AC_TRY_COMPILE([
     1.8 -          #include <sys/soundcard.h>
     1.9 -        ],[
    1.10 -          int arg = SNDCTL_DSP_SETFRAGMENT;
    1.11 -        ],[
    1.12 -        have_oss=yes
    1.13 -        ])
    1.14 +        if test x$have_oss != xyes; then
    1.15 +            AC_TRY_COMPILE([
    1.16 +              #include <sys/soundcard.h>
    1.17 +            ],[
    1.18 +              int arg = SNDCTL_DSP_SETFRAGMENT;
    1.19 +            ],[
    1.20 +            have_oss=yes
    1.21 +            ])
    1.22 +        fi
    1.23 +        if test x$have_oss != xyes; then
    1.24 +            AC_TRY_COMPILE([
    1.25 +              #include <soundcard.h>
    1.26 +            ],[
    1.27 +              int arg = SNDCTL_DSP_SETFRAGMENT;
    1.28 +            ],[
    1.29 +            have_oss=yes
    1.30 +            CFLAGS="$CFLAGS -DOSS_USE_SOUNDCARD_H"
    1.31 +            ])
    1.32 +        fi
    1.33          AC_MSG_RESULT($have_oss)
    1.34          if test x$have_oss = xyes; then
    1.35              CFLAGS="$CFLAGS -DOSS_SUPPORT"
    1.36 @@ -286,10 +298,10 @@
    1.37  CheckOPENBSDAUDIO()
    1.38  {
    1.39      AC_ARG_ENABLE(openbsdaudio,
    1.40 -[  --enable-openbsdaudio   OpenBSD native audio support [default=no]],
    1.41 -                  , enable_openbsdaudio=no)
    1.42 +[  --enable-openbsdaudio   OpenBSD native audio support [default=yes]],
    1.43 +                  , enable_openbsdaudio=yes)
    1.44      if test x$enable_audio = xyes -a x$enable_openbsdaudio = xyes; then
    1.45 -        SYSTEM_LIBS="$SYSTEM_LIBS $ESD_LIBS"
    1.46 +        CFLAGS="$CFLAGS -DOBSD_SUPPORT"
    1.47          AUDIO_SUBDIRS="$AUDIO_SUBDIRS openbsd"
    1.48          AUDIO_DRIVERS="$AUDIO_DRIVERS openbsd/libaudio_openbsd.la"
    1.49      fi
    1.50 @@ -994,6 +1006,20 @@
    1.51                  CFLAGS="$CFLAGS -DPTHREAD_NO_RECURSIVE_MUTEX"
    1.52              fi
    1.53  
    1.54 +            # Check to see if pthread semaphore support is missing
    1.55 +            if test x$enable_pthread_sem = xyes; then
    1.56 +                AC_MSG_CHECKING(for pthread semaphores)
    1.57 +                have_pthread_sem=no
    1.58 +                AC_TRY_COMPILE([
    1.59 +                  #include <pthread.h>
    1.60 +                  #include <semaphore.h>
    1.61 +                ],[
    1.62 +                ],[
    1.63 +                have_pthread_sem=yes
    1.64 +                ])
    1.65 +                AC_MSG_RESULT($have_pthread_sem)
    1.66 +            fi
    1.67 +
    1.68              # Check to see if this is broken glibc 2.0 pthreads
    1.69              case "$target" in
    1.70                  *-*-linux*)
    1.71 @@ -1196,7 +1222,7 @@
    1.72              fi
    1.73              COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c)
    1.74              COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
    1.75 -            if test x$use_pthreads = xyes -a x$enable_pthread_sem != xyes; then
    1.76 +            if test x$use_pthreads = xyes -a x$have_pthread_sem != xyes; then
    1.77                  COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
    1.78              else
    1.79                  COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
    1.80 @@ -1303,7 +1329,7 @@
    1.81              COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
    1.82              COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
    1.83              COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
    1.84 -            if test x$use_pthreads = xyes -a x$enable_pthread_sem != xyes; then
    1.85 +            if test x$use_pthreads = xyes -a x$have_pthread_sem != xyes; then
    1.86                  COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
    1.87              else
    1.88                  COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
    1.89 @@ -1353,7 +1379,7 @@
    1.90              COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
    1.91              COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
    1.92              COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
    1.93 -            if test x$use_pthreads = xyes -a x$enable_pthread_sem != xyes; then
    1.94 +            if test x$use_pthreads = xyes -a x$have_pthread_sem != xyes; then
    1.95                  COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
    1.96              else
    1.97                  COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
    1.98 @@ -1373,6 +1399,7 @@
    1.99          ARCH=openbsd
   1.100          CheckDummyVideo
   1.101          CheckDiskAudio
   1.102 +        CheckOPENBSDAUDIO
   1.103          CheckNASM
   1.104          CheckOSS
   1.105          CheckARTSC
   1.106 @@ -1385,7 +1412,15 @@
   1.107          # Set up files for the main() stub
   1.108          COPY_ARCH_SRC(src/main, linux, SDL_main.c)
   1.109          # Set up files for the audio library
   1.110 -        CheckOPENBSDAUDIO
   1.111 +        # We use the OSS and native API's, not the Sun audio API
   1.112 +        #if test x$enable_audio = xyes; then
   1.113 +        #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
   1.114 +        #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
   1.115 +        #fi
   1.116 +        # OpenBSD needs linking with ossaudio emulation library
   1.117 +        if test x$have_oss = xyes; then
   1.118 +            SYSTEM_LIBS="$SYSTEM_LIBS -lossaudio"
   1.119 +        fi
   1.120          # Set up files for the joystick library
   1.121          # (No joystick support yet)
   1.122          if test x$enable_joystick = xyes; then
   1.123 @@ -1402,7 +1437,7 @@
   1.124              COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
   1.125              COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
   1.126              COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
   1.127 -            if test x$use_pthreads = xyes -a x$enable_pthread_sem != xyes; then
   1.128 +            if test x$use_pthreads = xyes -a x$have_pthread_sem != xyes; then
   1.129                  COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
   1.130              else
   1.131                  COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
   1.132 @@ -1528,7 +1563,7 @@
   1.133          if test x$enable_audio = xyes; then
   1.134              AUDIO_SUBDIRS="$AUDIO_SUBDIRS dmedia"
   1.135              AUDIO_DRIVERS="$AUDIO_DRIVERS dmedia/libaudio_dmedia.la"
   1.136 -            LIBS="$LIBS -laudio"
   1.137 +            SYSTEM_LIBS="$SYSTEM_LIBS -laudio"
   1.138          fi
   1.139          # Set up files for the joystick library
   1.140          # (No joystick support yet)
   1.141 @@ -1548,7 +1583,7 @@
   1.142                  COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
   1.143                  COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
   1.144                  COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
   1.145 -                if test x$enable_pthread_sem != xyes; then
   1.146 +                if test x$have_pthread_sem != xyes; then
   1.147                      COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
   1.148                  else
   1.149                      COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
   1.150 @@ -1937,7 +1972,7 @@
   1.151              COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
   1.152              COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
   1.153              COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
   1.154 -            if test x$use_pthreads = xyes -a x$enable_pthread_sem != xyes; then
   1.155 +            if test x$use_pthreads = xyes -a x$have_pthread_sem != xyes; then
   1.156                  COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
   1.157              else
   1.158                  COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
   1.159 @@ -1989,7 +2024,7 @@
   1.160  fi
   1.161  
   1.162  if test $ARCH = openbsd; then
   1.163 -  SDL_RLD_FLAGS="-L${X11BASE}/lib -Wl,-rpath,\${exec_prefix}/lib -Wl,-rpath,${X11BASE}/lib"
   1.164 +  SDL_RLD_FLAGS="-Wl,-rpath,\${exec_prefix}/lib $SYSTEM_LIBS"
   1.165  fi
   1.166  
   1.167  dnl Output the video drivers we use
     2.1 --- a/include/SDL_syswm.h	Sat Jul 07 23:27:29 2001 +0000
     2.2 +++ b/include/SDL_syswm.h	Sun Jul 08 09:00:06 2001 +0000
     2.3 @@ -49,7 +49,7 @@
     2.4  #else
     2.5  
     2.6  /* This is the structure for custom window manager events */
     2.7 -#if (defined(unix) || defined(__unix__) || defined(_AIX)) && \
     2.8 +#if (defined(unix) || defined(__unix__) || defined(_AIX) || defined(__OpenBSD__)) && \
     2.9      (!defined(DISABLE_X11) && !defined(__CYGWIN32__))
    2.10   /* AIX is unix, of course, but the native compiler CSet doesn't define unix */
    2.11  #include <X11/Xlib.h>
     3.1 --- a/src/audio/SDL_audio.c	Sat Jul 07 23:27:29 2001 +0000
     3.2 +++ b/src/audio/SDL_audio.c	Sun Jul 08 09:00:06 2001 +0000
     3.3 @@ -40,6 +40,9 @@
     3.4  
     3.5  /* Available audio drivers */
     3.6  static AudioBootStrap *bootstrap[] = {
     3.7 +#ifdef OBSD_SUPPORT
     3.8 +	&OBSD_bootstrap,
     3.9 +#endif
    3.10  #ifdef OSS_SUPPORT
    3.11  	&DSP_bootstrap,
    3.12  	&DMA_bootstrap,
    3.13 @@ -47,9 +50,6 @@
    3.14  #ifdef ALSA_SUPPORT
    3.15  	&ALSA_bootstrap,
    3.16  #endif
    3.17 -#ifdef __OpenBSD__
    3.18 -	&OBSD_bootstrap,
    3.19 -#endif
    3.20  #if (defined(unix) && !defined(__CYGWIN32__)) && \
    3.21      !defined(OSS_SUPPORT) && !defined(ALSA_SUPPORT)
    3.22  	&AUDIO_bootstrap,
     4.1 --- a/src/audio/SDL_audiodev.c	Sat Jul 07 23:27:29 2001 +0000
     4.2 +++ b/src/audio/SDL_audiodev.c	Sun Jul 08 09:00:06 2001 +0000
     4.3 @@ -39,7 +39,11 @@
     4.4  #include "SDL_audiodev_c.h"
     4.5  
     4.6  #ifndef _PATH_DEV_DSP
     4.7 -#define _PATH_DEV_DSP	"/dev/dsp"
     4.8 +#ifdef __OpenBSD__
     4.9 +#define _PATH_DEV_DSP  "/dev/audio"
    4.10 +#else
    4.11 +#define _PATH_DEV_DSP  "/dev/dsp"
    4.12 +#endif
    4.13  #endif
    4.14  #ifndef _PATH_DEV_DSP24
    4.15  #define _PATH_DEV_DSP24	"/dev/sound/dsp"
     5.1 --- a/src/audio/SDL_sysaudio.h	Sat Jul 07 23:27:29 2001 +0000
     5.2 +++ b/src/audio/SDL_sysaudio.h	Sun Jul 08 09:00:06 2001 +0000
     5.3 @@ -99,6 +99,9 @@
     5.4  	SDL_AudioDevice *(*create)(int devindex);
     5.5  } AudioBootStrap;
     5.6  
     5.7 +#ifdef OBSD_SUPPORT
     5.8 +extern AudioBootStrap OBSD_bootstrap;
     5.9 +#endif
    5.10  #ifdef OSS_SUPPORT
    5.11  extern AudioBootStrap DSP_bootstrap;
    5.12  extern AudioBootStrap DMA_bootstrap;
    5.13 @@ -106,9 +109,6 @@
    5.14  #ifdef ALSA_SUPPORT
    5.15  extern AudioBootStrap ALSA_bootstrap;
    5.16  #endif
    5.17 -#ifdef __OpenBSD__
    5.18 -extern AudioBootStrap OBSD_bootstrap;
    5.19 -#endif
    5.20  #if (defined(unix) && !defined(__CYGWIN32__)) && \
    5.21      !defined(OSS_SUPPORT) && !defined(ALSA_SUPPORT)
    5.22  extern AudioBootStrap AUDIO_bootstrap;
     6.1 --- a/src/audio/dma/SDL_dmaaudio.c	Sat Jul 07 23:27:29 2001 +0000
     6.2 +++ b/src/audio/dma/SDL_dmaaudio.c	Sun Jul 08 09:00:06 2001 +0000
     6.3 @@ -39,7 +39,13 @@
     6.4  #include <sys/ioctl.h>
     6.5  #include <sys/stat.h>
     6.6  #include <sys/mman.h>
     6.7 +#ifdef OSS_USE_SOUNDCARD_H
     6.8 +/* This is installed on some systems */
     6.9 +#include <soundcard.h>
    6.10 +#else
    6.11 +/* This is recommended by OSS */
    6.12  #include <sys/soundcard.h>
    6.13 +#endif
    6.14  
    6.15  #ifndef MAP_FAILED
    6.16  #define MAP_FAILED	((Uint8 *)-1)
     7.1 --- a/src/audio/dsp/SDL_dspaudio.c	Sat Jul 07 23:27:29 2001 +0000
     7.2 +++ b/src/audio/dsp/SDL_dspaudio.c	Sun Jul 08 09:00:06 2001 +0000
     7.3 @@ -37,7 +37,13 @@
     7.4  #include <sys/time.h>
     7.5  #include <sys/ioctl.h>
     7.6  #include <sys/stat.h>
     7.7 +#ifdef OSS_USE_SOUNDCARD_H
     7.8 +/* This is installed on some systems */
     7.9 +#include <soundcard.h>
    7.10 +#else
    7.11 +/* This is recommended by OSS */
    7.12  #include <sys/soundcard.h>
    7.13 +#endif
    7.14  
    7.15  #include "SDL_audio.h"
    7.16  #include "SDL_error.h"
     8.1 --- a/src/audio/openbsd/SDL_openbsdaudio.c	Sat Jul 07 23:27:29 2001 +0000
     8.2 +++ b/src/audio/openbsd/SDL_openbsdaudio.c	Sun Jul 08 09:00:06 2001 +0000
     8.3 @@ -140,83 +140,95 @@
     8.4  static void
     8.5  OBSD_WaitAudio(_THIS)
     8.6  {
     8.7 -#ifndef USE_BLOCKING_WRITES
     8.8 -    fd_set fdset;
     8.9 +	/* Check to see if the thread-parent process is still alive */
    8.10 +	{ static int cnt = 0;
    8.11 +		/* Note that this only works with thread implementations 
    8.12 +		   that use a different process id for each thread.
    8.13 +		*/
    8.14 +		if (parent && (((++cnt)%10) == 0)) { /* Check every 10 loops */
    8.15 +			if ( kill(parent, 0) < 0 ) {
    8.16 +				this->enabled = 0;
    8.17 +			}
    8.18 +		}
    8.19 +	}
    8.20  
    8.21 -    /* Check to see if the thread-parent process is still alive */
    8.22 -    {
    8.23 -	static int cnt = 0;
    8.24 -	/* Note that this only works with thread implementations 
    8.25 -	   that use a different process id for each thread. */
    8.26 -	if(parent && (((++cnt)%10) == 0)) { /* Check every 10 loops */
    8.27 -	    if(kill(parent, 0) < 0)
    8.28 -		this->enabled = 0;
    8.29 +#ifndef USE_BLOCKING_WRITES /* Not necessary when using blocking writes */
    8.30 +	/* See if we need to use timed audio synchronization */
    8.31 +	if ( frame_ticks ) {
    8.32 +		/* Use timer for general audio synchronization */
    8.33 +		Sint32 ticks;
    8.34 +
    8.35 +		ticks = ((Sint32)(next_frame - SDL_GetTicks()))-FUDGE_TICKS;
    8.36 +		if ( ticks > 0 ) {
    8.37 +			SDL_Delay(ticks);
    8.38 +		}
    8.39 +	} else {
    8.40 +		/* Use select() for audio synchronization */
    8.41 +		fd_set fdset;
    8.42 +		struct timeval timeout;
    8.43 +
    8.44 +		FD_ZERO(&fdset);
    8.45 +		FD_SET(audio_fd, &fdset);
    8.46 +		timeout.tv_sec = 10;
    8.47 +		timeout.tv_usec = 0;
    8.48 +#ifdef DEBUG_AUDIO
    8.49 +		fprintf(stderr, "Waiting for audio to get ready\n");
    8.50 +#endif
    8.51 +		if ( select(audio_fd+1, NULL, &fdset, NULL, &timeout) <= 0 ) {
    8.52 +			const char *message =
    8.53 +			"Audio timeout - buggy audio driver? (disabled)";
    8.54 +			/* In general we should never print to the screen,
    8.55 +			   but in this case we have no other way of letting
    8.56 +			   the user know what happened.
    8.57 +			*/
    8.58 +			fprintf(stderr, "SDL: %s\n", message);
    8.59 +			this->enabled = 0;
    8.60 +			/* Don't try to close - may hang */
    8.61 +			audio_fd = -1;
    8.62 +#ifdef DEBUG_AUDIO
    8.63 +			fprintf(stderr, "Done disabling audio\n");
    8.64 +#endif
    8.65 +		}
    8.66 +#ifdef DEBUG_AUDIO
    8.67 +		fprintf(stderr, "Ready!\n");
    8.68 +#endif
    8.69  	}
    8.70 -    }
    8.71 -
    8.72 -#ifdef USE_TIMER_SYNC
    8.73 -    /* See if we need to use timed audio synchronization */
    8.74 -    if(frame_ticks)
    8.75 -    {
    8.76 -	/* Use timer for general audio synchronization */
    8.77 -	Sint32 ticks;
    8.78 -
    8.79 -	ticks = ((Sint32)(next_frame - SDL_GetTicks())) - FUDGE_TICKS;
    8.80 -	if(ticks > 0)
    8.81 -	    SDL_Delay(ticks);
    8.82 -    }
    8.83 -    else
    8.84 -#endif /* USE_TIMER_SYNC */
    8.85 -    {
    8.86 -	/* Use select() for audio synchronization */
    8.87 -	struct timeval timeout;
    8.88 -	FD_ZERO(&fdset);
    8.89 -	FD_SET(audio_fd, &fdset);
    8.90 -	timeout.tv_sec = 10;
    8.91 -	timeout.tv_usec = 0;
    8.92 -	
    8.93 -#if defined(DEBUG_AUDIO_STREAM) && defined(DEBUG_AUDIO_STREAM)
    8.94 -	OBSD_Status(this);
    8.95 -#endif
    8.96 -	if(select(audio_fd+1, NULL, &fdset, NULL, &timeout) <= 0)
    8.97 -	{
    8.98 -	    const char *message =
    8.99 -		"Audio timeout - buggy audio driver? (disabled)";
   8.100 -	    fprintf(stderr, "SDL: %s\n", message);
   8.101 -	    this->enabled = 0;
   8.102 -	    audio_fd = -1;
   8.103 -	}
   8.104 -    }
   8.105  #endif /* !USE_BLOCKING_WRITES */
   8.106 -
   8.107  }
   8.108  
   8.109  static void
   8.110  OBSD_PlayAudio(_THIS)
   8.111  {
   8.112 -    int written;
   8.113 +	int written, p=0;
   8.114  
   8.115 -    /* Write the audio data, checking for EAGAIN on broken audio drivers */
   8.116 -    do
   8.117 -    {
   8.118 -	written = write(audio_fd, mixbuf, mixlen);
   8.119 -	if((written < 0) && ((errno == 0) || (errno == EAGAIN)))
   8.120 -	    SDL_Delay(1);
   8.121 -    }
   8.122 -    while((written < 0) &&
   8.123 -	((errno == 0) || (errno == EAGAIN) || (errno == EINTR)));
   8.124 +	/* Write the audio data, checking for EAGAIN on broken audio drivers */
   8.125 +	do {
   8.126 +		written = write(audio_fd, &mixbuf[p], mixlen-p);
   8.127 +		if (written>0)
   8.128 +		   p += written;
   8.129 +		if (written == -1 && errno != 0 && errno != EAGAIN && errno != EINTR)
   8.130 +		{
   8.131 +		   /* Non recoverable error has occurred. It should be reported!!! */
   8.132 +		   perror("audio");
   8.133 +		   break;
   8.134 +		}
   8.135  
   8.136 -#ifdef USE_TIMER_SYNC
   8.137 -    if(frame_ticks)
   8.138 -	next_frame += frame_ticks;
   8.139 -#endif
   8.140 +		if ( p < written || ((written < 0) && ((errno == 0) || (errno == EAGAIN))) ) {
   8.141 +			SDL_Delay(1);	/* Let a little CPU time go by */
   8.142 +		}
   8.143 +	} while ( p < written );
   8.144  
   8.145 -    /* If we couldn't write, assume fatal error for now */
   8.146 -    if(written < 0)
   8.147 -	this->enabled = 0;
   8.148 +	/* If timer synchronization is enabled, set the next write frame */
   8.149 +	if ( frame_ticks ) {
   8.150 +		next_frame += frame_ticks;
   8.151 +	}
   8.152  
   8.153 -#ifdef DEBUG_AUDIO_STREAM
   8.154 -    fprintf(stderr, "Wrote %d bytes of audio data\n", written);
   8.155 +	/* If we couldn't write, assume fatal error for now */
   8.156 +	if ( written < 0 ) {
   8.157 +		this->enabled = 0;
   8.158 +	}
   8.159 +#ifdef DEBUG_AUDIO
   8.160 +	fprintf(stderr, "Wrote %d bytes of audio data\n", written);
   8.161  #endif
   8.162  }
   8.163  
     9.1 --- a/src/thread/linux/SDL_syssem.c	Sat Jul 07 23:27:29 2001 +0000
     9.2 +++ b/src/thread/linux/SDL_syssem.c	Sun Jul 08 09:00:06 2001 +0000
     9.3 @@ -48,7 +48,7 @@
     9.4  #ifdef SDL_USE_PTHREADS
     9.5  
     9.6  #ifdef SDL_NO_PTHREAD_SEMAPHORES
     9.7 -#include "generic/SDL_sem.c"
     9.8 +#include "generic/SDL_syssem.c"
     9.9  #else
    9.10  
    9.11  #include <stdio.h>