configure.in
author Sam Lantinga <slouken@libsdl.org>
Fri, 14 Sep 2001 04:34:15 +0000
changeset 185 34d316d5e744
parent 178 1fc1a101bf23
child 191 c151cfc43c07
permissions -rw-r--r--
Added support for the GNU Pth thread lib (thanks Mandin!)
     1 dnl Process this file with autoconf to produce a configure script.
     2 AC_INIT(README)
     3 
     4 dnl Set various version strings - taken gratefully from the GTk sources
     5 #
     6 # Making releases:
     7 # Edit include/SDL/SDL_version.h and change the version, then:
     8 #   SDL_MICRO_VERSION += 1;
     9 #   SDL_INTERFACE_AGE += 1;
    10 #   SDL_BINARY_AGE += 1;
    11 # if any functions have been added, set SDL_INTERFACE_AGE to 0.
    12 # if backwards compatibility has been broken,
    13 # set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0.
    14 #
    15 SDL_MAJOR_VERSION=1
    16 SDL_MINOR_VERSION=2
    17 SDL_MICRO_VERSION=3
    18 SDL_INTERFACE_AGE=3
    19 SDL_BINARY_AGE=3
    20 SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
    21 
    22 AC_SUBST(SDL_MAJOR_VERSION)
    23 AC_SUBST(SDL_MINOR_VERSION)
    24 AC_SUBST(SDL_MICRO_VERSION)
    25 AC_SUBST(SDL_INTERFACE_AGE)
    26 AC_SUBST(SDL_BINARY_AGE)
    27 AC_SUBST(SDL_VERSION)
    28 
    29 # libtool versioning
    30 LT_RELEASE=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION
    31 LT_CURRENT=`expr $SDL_MICRO_VERSION - $SDL_INTERFACE_AGE`
    32 LT_REVISION=$SDL_INTERFACE_AGE
    33 LT_AGE=`expr $SDL_BINARY_AGE - $SDL_INTERFACE_AGE`
    34 
    35 AC_SUBST(LT_RELEASE)
    36 AC_SUBST(LT_CURRENT)
    37 AC_SUBST(LT_REVISION)
    38 AC_SUBST(LT_AGE)
    39 
    40 dnl Detect the canonical host and target build environment
    41 AC_CANONICAL_HOST
    42 AC_CANONICAL_TARGET
    43 
    44 dnl Setup for automake
    45 AM_INIT_AUTOMAKE(SDL, $SDL_VERSION)
    46 
    47 dnl Check for tools
    48 
    49 AC_LIBTOOL_WIN32_DLL
    50 AM_PROG_LIBTOOL
    51 AC_PROG_MAKE_SET
    52 AC_PROG_CC
    53 AC_C_INLINE
    54 AC_C_CONST
    55 case "$target" in
    56     *-*-beos*)
    57         AC_PROG_CXX
    58         ;;
    59     *-*-aix*)
    60         AC_PROG_CXX
    61         ;;
    62     # This is stupid, but necessary on some versions of Linux (joysticks)
    63     *-*-linux*)
    64         AC_PROG_CXX
    65         ;;
    66 esac
    67 AC_PROG_INSTALL
    68 AC_FUNC_ALLOCA
    69 
    70 dnl The alpha architecture needs special flags for binary portability
    71 case "$target" in
    72     alpha*-*-linux*)
    73         if test x$ac_cv_prog_gcc = xyes; then
    74             CFLAGS="$CFLAGS -mcpu=ev4 -Wa,-mall"
    75         fi
    76         ;;
    77 esac
    78 
    79 dnl Add compiler-specific optimization flags
    80 
    81 dnl See if the user wants aggressive optimizations of the code
    82 AC_ARG_ENABLE(debug,
    83 [  --enable-debug          Disable aggressive optimizations [default=yes]],
    84               , enable_debug=yes)
    85 if test x$enable_debug != xyes; then
    86     if test x$ac_cv_prog_gcc = xyes; then
    87         CFLAGS="$CFLAGS -fexpensive-optimizations"
    88         # Ack! This breaks the MMX YV12 conversion on gcc 2.95.2
    89         # CFLAGS="$CFLAGS -fomit-frame-pointer"
    90     fi
    91     case "$target" in
    92         i486-*-*)
    93             if test x$ac_cv_prog_gcc = xyes; then
    94                 CFLAGS="$CFLAGS -march=486"
    95             fi
    96             ;;
    97         i?86-*-*)
    98             if test x$ac_cv_prog_gcc = xyes; then
    99                 CFLAGS="$CFLAGS -march=pentium -mcpu=pentiumpro"
   100             fi
   101             ;;
   102         *-*-osf*)
   103             if test x$ac_cv_prog_gcc != xyes; then
   104                 CFLAGS="-g3 -fast -arch host"
   105             fi
   106             ;;
   107     esac
   108 fi
   109 
   110 dnl Add verbose warnings by default, and allow ANSI compliance checking
   111 AC_ARG_ENABLE(strict-ansi,
   112 [  --enable-strict-ansi    Enable strict ANSI compliance build [default=no]],
   113               , enable_strict_ansi=no)
   114 if test x$ac_cv_prog_gcc = xyes; then
   115     CFLAGS="$CFLAGS -Wall"
   116     if test x$enable_strict_ansi = xyes; then
   117         CFLAGS="$CFLAGS -ansi -pedantic -D_XOPEN_SOURCE"
   118     fi
   119 fi
   120 
   121 dnl Initialize the compiler and linker flags for SDL applications
   122 
   123 SDL_CFLAGS=""
   124 SDL_LIBS="-lSDL"
   125 
   126 dnl Add the math library for the new gamma correction support
   127 
   128 case "$target" in
   129     *-*-cygwin* | *-*-mingw32*)
   130         MATHLIB=""
   131         ;;
   132     *-*-beos*)
   133         MATHLIB=""
   134         ;;
   135     *-*-darwin*)
   136         MATHLIB=""
   137         ;;
   138     *)
   139         MATHLIB="-lm"
   140         ;;
   141 esac
   142 SYSTEM_LIBS="$SYSTEM_LIBS $MATHLIB"
   143 
   144 dnl Enable/disable various subsystems of the SDL library
   145 
   146 AC_ARG_ENABLE(audio,
   147 [  --enable-audio          Enable the audio subsystem [default=yes]],
   148               , enable_audio=yes)
   149 if test x$enable_audio = xyes; then
   150     SDL_EXTRADIRS="$SDL_EXTRADIRS audio"
   151     SDL_EXTRALIBS="$SDL_EXTRALIBS audio/libaudio.la"
   152 else
   153     CFLAGS="$CFLAGS -DDISABLE_AUDIO"
   154 fi
   155 AC_ARG_ENABLE(video,
   156 [  --enable-video          Enable the video subsystem [default=yes]],
   157               , enable_video=yes)
   158 if test x$enable_video = xyes; then
   159     SDL_EXTRADIRS="$SDL_EXTRADIRS video"
   160     SDL_EXTRALIBS="$SDL_EXTRALIBS video/libvideo.la"
   161 else
   162     CFLAGS="$CFLAGS -DDISABLE_VIDEO"
   163 fi
   164 AC_ARG_ENABLE(events,
   165 [  --enable-events         Enable the events subsystem [default=yes]],
   166               , enable_events=yes)
   167 if test x$enable_video = xyes -a x$enable_events = xyes; then
   168     SDL_EXTRADIRS="$SDL_EXTRADIRS events"
   169     SDL_EXTRALIBS="$SDL_EXTRALIBS events/libevents.la"
   170 else
   171     CFLAGS="$CFLAGS -DDISABLE_EVENTS"
   172 fi
   173 AC_ARG_ENABLE(joystick,
   174 [  --enable-joystick       Enable the joystick subsystem [default=yes]],
   175               , enable_joystick=yes)
   176 if test x$enable_joystick = xyes; then
   177     SDL_EXTRADIRS="$SDL_EXTRADIRS joystick"
   178     SDL_EXTRALIBS="$SDL_EXTRALIBS joystick/libjoystick.la"
   179 else
   180     CFLAGS="$CFLAGS -DDISABLE_JOYSTICK"
   181 fi
   182 AC_ARG_ENABLE(cdrom,
   183 [  --enable-cdrom          Enable the cdrom subsystem [default=yes]],
   184               , enable_cdrom=yes)
   185 if test x$enable_cdrom = xyes; then
   186     SDL_EXTRADIRS="$SDL_EXTRADIRS cdrom"
   187     SDL_EXTRALIBS="$SDL_EXTRALIBS cdrom/libcdrom.la"
   188 else
   189     CFLAGS="$CFLAGS -DDISABLE_CDROM"
   190 fi
   191 AC_ARG_ENABLE(threads,
   192 [  --enable-threads        Enable the threading subsystem [default=yes]],
   193               , enable_threads=yes)
   194 SDL_EXTRADIRS="$SDL_EXTRADIRS thread"
   195 SDL_EXTRALIBS="$SDL_EXTRALIBS thread/libthread.la"
   196 if test x$enable_threads != xyes; then
   197     CFLAGS="$CFLAGS -DDISABLE_THREADS"
   198     COPY_ARCH_SRC(src/thread, generic, SDL_systhread.c)
   199     COPY_ARCH_SRC(src/thread, generic, SDL_systhread_c.h)
   200     COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c)
   201     COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
   202     COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
   203     COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
   204     COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
   205     COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
   206 fi
   207 AC_ARG_ENABLE(timers,
   208 [  --enable-timers         Enable the timer subsystem [default=yes]],
   209               , enable_timers=yes)
   210 if test x$enable_timers = xyes; then
   211     SDL_EXTRADIRS="$SDL_EXTRADIRS timer"
   212     SDL_EXTRALIBS="$SDL_EXTRALIBS timer/libtimer.la"
   213 else
   214     CFLAGS="$CFLAGS -DDISABLE_TIMERS"
   215 fi
   216 AC_ARG_ENABLE(endian,
   217 [  --enable-endian         Enable the endian subsystem [default=yes]],
   218               , enable_endian=yes)
   219 if test x$enable_endian = xyes; then
   220     SDL_EXTRADIRS="$SDL_EXTRADIRS endian"
   221     SDL_EXTRALIBS="$SDL_EXTRALIBS endian/libendian.la"
   222 else
   223     CFLAGS="$CFLAGS -DDISABLE_ENDIAN"
   224 fi
   225 AC_ARG_ENABLE(file,
   226 [  --enable-file           Enable the file subsystem [default=yes]],
   227               , enable_file=yes)
   228 if test x$enable_file = xyes; then
   229     SDL_EXTRADIRS="$SDL_EXTRADIRS file"
   230     SDL_EXTRALIBS="$SDL_EXTRALIBS file/libfile.la"
   231 else
   232     CFLAGS="$CFLAGS -DDISABLE_FILE"
   233 fi
   234 
   235 dnl See if the OSS audio interface is supported
   236 CheckOSS()
   237 {
   238     AC_ARG_ENABLE(oss,
   239 [  --enable-oss            support the OSS audio API [default=yes]],
   240                   , enable_oss=yes)
   241     if test x$enable_audio = xyes -a x$enable_oss = xyes; then
   242         AC_MSG_CHECKING(for OSS audio support)
   243         have_oss=no
   244         if test x$have_oss != xyes; then
   245             AC_TRY_COMPILE([
   246               #include <sys/soundcard.h>
   247             ],[
   248               int arg = SNDCTL_DSP_SETFRAGMENT;
   249             ],[
   250             have_oss=yes
   251             ])
   252         fi
   253         if test x$have_oss != xyes; then
   254             AC_TRY_COMPILE([
   255               #include <soundcard.h>
   256             ],[
   257               int arg = SNDCTL_DSP_SETFRAGMENT;
   258             ],[
   259             have_oss=yes
   260             CFLAGS="$CFLAGS -DOSS_USE_SOUNDCARD_H"
   261             ])
   262         fi
   263         AC_MSG_RESULT($have_oss)
   264         if test x$have_oss = xyes; then
   265             CFLAGS="$CFLAGS -DOSS_SUPPORT"
   266             AUDIO_SUBDIRS="$AUDIO_SUBDIRS dsp"
   267             AUDIO_DRIVERS="$AUDIO_DRIVERS dsp/libaudio_dsp.la"
   268             AUDIO_SUBDIRS="$AUDIO_SUBDIRS dma"
   269             AUDIO_DRIVERS="$AUDIO_DRIVERS dma/libaudio_dma.la"
   270         fi
   271     fi
   272 }
   273 
   274 dnl See if the ALSA audio interface is supported
   275 CheckALSA()
   276 {
   277     AC_ARG_ENABLE(alsa,
   278 [  --enable-alsa           support the ALSA audio API [default=yes]],
   279                   , enable_alsa=yes)
   280     if test x$enable_audio = xyes -a x$enable_alsa = xyes; then
   281         have_alsa=no
   282         AC_CHECK_HEADER(sys/asoundlib.h, have_alsa_hdr=yes)
   283         AC_CHECK_LIB(asound, snd_pcm_open, have_alsa_lib=yes)
   284         if test x$have_alsa_hdr = xyes -a x$have_alsa_lib = xyes; then
   285             CFLAGS="$CFLAGS -DALSA_SUPPORT"
   286             SYSTEM_LIBS="$SYSTEM_LIBS -lasound"
   287             AUDIO_SUBDIRS="$AUDIO_SUBDIRS alsa"
   288             AUDIO_DRIVERS="$AUDIO_DRIVERS alsa/libaudio_alsa.la"
   289         fi
   290     fi
   291 }
   292 
   293 dnl Check whether we want to use OpenBSD native audio or not
   294 CheckOPENBSDAUDIO()
   295 {
   296     AC_ARG_ENABLE(openbsdaudio,
   297 [  --enable-openbsdaudio   OpenBSD native audio support [default=yes]],
   298                   , enable_openbsdaudio=yes)
   299     if test x$enable_audio = xyes -a x$enable_openbsdaudio = xyes; then
   300         CFLAGS="$CFLAGS -DOPENBSD_AUDIO_SUPPORT"
   301         AUDIO_SUBDIRS="$AUDIO_SUBDIRS openbsd"
   302         AUDIO_DRIVERS="$AUDIO_DRIVERS openbsd/libaudio_openbsd.la"
   303     fi
   304 }
   305 
   306 dnl Check whether we want to use IRIX 6.5+ native audio or not
   307 CheckDMEDIA()
   308 {
   309     if test x$enable_audio = xyes; then
   310         AC_MSG_CHECKING(for dmedia audio support)
   311         have_dmedia=no
   312         AC_TRY_COMPILE([
   313           #include <dmedia/audio.h>
   314         ],[
   315           ALport audio_port;
   316         ],[
   317         have_dmedia=yes
   318         ])
   319         # Set up files for the audio library
   320         if test x$have_dmedia = xyes; then
   321             CFLAGS="$CFLAGS -DDMEDIA_SUPPORT"
   322             AUDIO_SUBDIRS="$AUDIO_SUBDIRS dmedia"
   323             AUDIO_DRIVERS="$AUDIO_DRIVERS dmedia/libaudio_dmedia.la"
   324             SYSTEM_LIBS="$SYSTEM_LIBS -laudio"
   325         fi
   326     fi
   327 }
   328 
   329 dnl Find the ESD includes and libraries
   330 CheckESD()
   331 {
   332     AC_ARG_ENABLE(esd,
   333 [  --enable-esd            support the Enlightened Sound Daemon [default=yes]],
   334                   , enable_esd=yes)
   335     if test x$enable_audio = xyes -a x$enable_esd = xyes; then
   336         AM_PATH_ESD(0.2.8, [
   337             CFLAGS="$CFLAGS -DESD_SUPPORT $ESD_CFLAGS"
   338             SYSTEM_LIBS="$SYSTEM_LIBS $ESD_LIBS"
   339             AUDIO_SUBDIRS="$AUDIO_SUBDIRS esd"
   340             AUDIO_DRIVERS="$AUDIO_DRIVERS esd/libaudio_esd.la"
   341         ])
   342     fi
   343 }
   344 
   345 CheckARTSC()
   346 {
   347     AC_ARG_ENABLE(arts,
   348 [  --enable-arts           support the Analog Real Time Synthesizer [default=yes]],
   349                   , enable_arts=yes)
   350     if test x$enable_audio = xyes -a x$enable_arts = xyes; then
   351         AC_PATH_PROG(ARTSCCONFIG, artsc-config)
   352         if test x$ARTSCCONFIG = x -o x$ARTSCCONFIG = x'"$ARTSCCONFIG"'; then
   353             : # arts isn't installed
   354         else
   355             ARTSC_CFLAGS=`$ARTSCCONFIG --cflags`
   356             ARTSC_LIBS=`$ARTSCCONFIG --libs`
   357             AC_MSG_CHECKING(for aRts development environment)
   358             audio_arts=no
   359             save_CFLAGS="$CFLAGS"
   360             CFLAGS="$CFLAGS $ARTSC_CFLAGS"
   361             AC_TRY_COMPILE([
   362              #include <artsc.h>
   363             ],[
   364              arts_stream_t stream;
   365             ],[
   366             audio_arts=yes
   367             ])
   368             CFLAGS="$save_CFLAGS"
   369             AC_MSG_RESULT($audio_arts)
   370             if test x$audio_arts = xyes; then
   371                 CFLAGS="$CFLAGS -DARTSC_SUPPORT $ARTSC_CFLAGS"
   372                 SYSTEM_LIBS="$SYSTEM_LIBS $ARTSC_LIBS"
   373                 AUDIO_SUBDIRS="$AUDIO_SUBDIRS arts"
   374                 AUDIO_DRIVERS="$AUDIO_DRIVERS arts/libaudio_arts.la"
   375             fi
   376         fi
   377     fi
   378 }
   379 
   380 dnl See if the NAS audio interface is supported
   381 CheckNAS()
   382 {
   383     AC_ARG_ENABLE(nas,
   384 [  --enable-nas		  support the NAS audio API [default=yes]],
   385                   , enable_nas=yes)
   386     if test x$enable_audio = xyes -a x$enable_nas = xyes; then
   387         AC_MSG_CHECKING(for NAS audio support)
   388         have_nas=no
   389         if test -r /usr/X11R6/include/audio/audiolib.h; then
   390             have_nas=yes
   391         fi
   392         AC_MSG_RESULT($have_nas)
   393         if test x$have_nas = xyes; then
   394             CFLAGS="$CFLAGS -DNAS_SUPPORT"
   395             SYSTEM_LIBS="$SYSTEM_LIBS -laudio -lXt"
   396             AUDIO_SUBDIRS="$AUDIO_SUBDIRS nas"
   397             AUDIO_DRIVERS="$AUDIO_DRIVERS nas/libaudio_nas.la"
   398         fi
   399     fi
   400 }
   401 
   402 dnl rcg07142001 See if the user wants the disk writer audio driver...
   403 CheckDiskAudio()
   404 {
   405     AC_ARG_ENABLE(diskaudio,
   406 [  --enable-diskaudio  	  support the disk writer audio driver [default=yes]],
   407                   , enable_diskaudio=yes)
   408     if test x$enable_audio = xyes -a x$enable_diskaudio = xyes; then
   409         CFLAGS="$CFLAGS -DDISKAUD_SUPPORT"
   410         AUDIO_SUBDIRS="$AUDIO_SUBDIRS disk"
   411         AUDIO_DRIVERS="$AUDIO_DRIVERS disk/libaudio_disk.la"
   412     fi
   413 }
   414 
   415 dnl See if we can use x86 assembly blitters
   416 CheckNASM()
   417 {
   418     dnl Make sure we are running on an x86 platform
   419     case $target in
   420         i?86*)
   421             ;;
   422         *)
   423         # Nope, bail early.
   424             return
   425             ;;
   426     esac
   427     dnl Check for NASM (for assembly blit routines)
   428     AC_ARG_ENABLE(nasm,
   429 [  --enable-nasm           use nasm assembly blitters on x86 [default=yes]],
   430                   , enable_nasm=yes)
   431     if test x$enable_video = xyes -a x$enable_nasm = xyes; then
   432         AC_PATH_PROG(NASM, nasm)
   433         if test x$NASM = x -o x$NASM = x'"$NASM"'; then
   434             : # nasm isn't installed
   435         else
   436             CFLAGS="$CFLAGS -DUSE_ASMBLIT -I$srcdir/hermes"
   437             case $ARCH in
   438               win32)
   439                   NASMFLAGS="-f win32"
   440                   ;;
   441               *)
   442                   NASMFLAGS="-f elf"
   443                   ;;
   444             esac
   445             AC_SUBST(NASMFLAGS)
   446             CFLAGS="$CFLAGS -I\$(top_srcdir)/src/hermes"
   447             SDL_EXTRADIRS="$SDL_EXTRADIRS hermes"
   448             SDL_EXTRALIBS="$SDL_EXTRALIBS hermes/libhermes.la"
   449         fi
   450     fi
   451 }
   452 
   453 dnl Find the nanox include and library directories
   454 CheckNANOX()
   455 {
   456 	AC_ARG_ENABLE(video-nanox,
   457 		[  --enable-video-nanox use nanox video driver [default=no]],
   458 	        , enable_video_nanox=no)
   459 	AC_ARG_ENABLE(nanox-debug,  
   460 		[  --enable-nanox-debug print debug messages [default=no]],
   461 		, enable_nanox_debug=no)
   462 	AC_ARG_ENABLE(nanox-share-memory,  
   463 		[  --enable-nanox-share-memory use share memory [default=no]],
   464 		, enable_nanox_share_memory=no)
   465 
   466 	AC_ARG_WITH(nanox_pixel_type, 
   467 		[  --with-nanox-pixel-type=[rgb/0888/888/565/555/332/pal]])
   468 
   469 	if test x$enable_video = xyes -a x$enable_video_nanox = xyes; then
   470 		if test x$enable_nanox_debug = xyes; then
   471 			CFLAGS="$CFLAGS -DENABLE_NANOX_DEBUG"
   472 		fi
   473 
   474 		if test x$enable_nanox_share_memory = xyes; then
   475 			CFLAGS="$CFLAGS -DNANOX_SHARE_MEMORY"
   476 		fi
   477 
   478 		case "$with_nanox_pixel_type" in
   479 			 rgb) CFLAGS="$CFLAGS -DNANOX_PIXEL_RGB" ;;
   480 			0888) CFLAGS="$CFLAGS -DNANOX_PIXEL_0888" ;;
   481 			 888) CFLAGS="$CFLAGS -DNANOX_PIXEL_888"  ;;
   482 			 565) CFLAGS="$CFLAGS -DNANOX_PIXEL_565"  ;;
   483 			 555) CFLAGS="$CFLAGS -DNANOX_PIXEL_555"  ;;
   484 			 332) CFLAGS="$CFLAGS -DNANOX_PIXEL_332"  ;;
   485 			 pal) CFLAGS="$CFLAGS -DNANOX_PIXEL_PAL"  ;;
   486 			   *) AC_MSG_ERROR([Invalid nanox_pixel_type]);;
   487 		esac
   488 
   489 		CFLAGS="$CFLAGS $X_CFLAGS -DENABLE_NANOX"
   490 		SYSTEM_LIBS="$SYSTEM_LIBS -lnano-X"
   491 		VIDEO_SUBDIRS="$VIDEO_SUBDIRS nanox"
   492 		VIDEO_DRIVERS="$VIDEO_DRIVERS nanox/libvideo_nanox.la"
   493 	fi
   494 }
   495 
   496 dnl Find the X11 include and library directories
   497 CheckX11()
   498 {
   499     AC_ARG_ENABLE(video-x11,
   500 [  --enable-video-x11      use X11 video driver [default=yes]],
   501                   , enable_video_x11=yes)
   502     if test x$enable_video = xyes -a x$enable_video_x11 = xyes; then
   503         AC_PATH_X
   504         AC_PATH_XTRA
   505         if test x$have_x = xyes; then
   506             CFLAGS="$CFLAGS $X_CFLAGS -DENABLE_X11"
   507             if test x$ac_cv_func_shmat != xyes; then
   508                 CFLAGS="$CFLAGS -DNO_SHARED_MEMORY"
   509             fi
   510             SYSTEM_LIBS="$SYSTEM_LIBS $X_LIBS -lX11 -lXext"
   511             VIDEO_SUBDIRS="$VIDEO_SUBDIRS x11"
   512             VIDEO_DRIVERS="$VIDEO_DRIVERS x11/libvideo_x11.la"
   513 
   514             AC_ARG_ENABLE(video-x11-vm,
   515 [  --enable-video-x11-vm   use X11 VM extension for fullscreen [default=yes]],
   516                           , enable_video_x11_vm=yes)
   517             if test x$enable_video_x11_vm = xyes; then
   518                 AC_MSG_CHECKING(for XFree86 VidMode 1.0 support)
   519                 video_x11_vm=no
   520                 AC_TRY_COMPILE([
   521                  #include <X11/Xlib.h>
   522                  #include <X11/extensions/xf86vmode.h>
   523                 ],[
   524                 ],[
   525                 video_x11_vm=yes
   526                 ])
   527                 AC_MSG_RESULT($video_x11_vm)
   528                 if test x$video_x11_vm = xyes; then
   529                     CFLAGS="$CFLAGS -DXFREE86_VM"
   530                     # Check for nasty XFree86 4.0/Glide hack
   531                     AC_ARG_ENABLE(xfree86_glidehack,
   532 [  --enable-xfree86-glidehack Alternate vidmode lib for old Glide [default=no]],
   533                                   , enable_xfreeglidehack=no)
   534                     if test x$enable_xfree86_glidehack = xyes; then
   535                         ac_save_libs="$LIBS"
   536                         LIBS="$LIBS $X_LIBS -lX11 -lXext"
   537                         if test x$xfree86_glidehack = x; then
   538                             AC_CHECK_LIB(Xxf86vm, XF40VidModeQueryExtension, xfree86_glidehack=Xxf86vm)
   539                         fi
   540                         if test x$xfree86_glidehack = x; then
   541                             AC_CHECK_LIB(Xxf86vm40, XF40VidModeQueryExtension, xfree86_glidehack=Xxf86vm40)
   542                         fi
   543                         LIBS="$ac_save_libs"
   544                     fi
   545                     if test x$xfree86_glidehack != x; then
   546                         CFLAGS="$CFLAGS -DXFREE86_VM_DYNAMIC_HACK"
   547                         SYSTEM_LIBS="$SYSTEM_LIBS -l$xfree86_glidehack"
   548                     else
   549                         SYSTEM_LIBS="$SYSTEM_LIBS -lXxf86vm"
   550                     fi
   551                     AC_MSG_CHECKING(for XFree86 VidMode gamma support)
   552                     video_x11_vmgamma=no
   553                     AC_TRY_COMPILE([
   554                      #include <X11/Xlib.h>
   555                      #include <X11/extensions/xf86vmode.h>
   556                     ],[
   557                      XF86VidModeGamma gamma;
   558                     ],[
   559                     video_x11_vmgamma=yes
   560                     ])
   561                     AC_MSG_RESULT($video_x11_vmgamma)
   562                     if test x$video_x11_vmgamma = xyes; then
   563                         CFLAGS="$CFLAGS -DXFREE86_VMGAMMA"
   564                     fi
   565                 fi
   566             fi
   567             AC_ARG_ENABLE(dga,
   568 [  --enable-dga            allow use of X11 DGA code [default=yes]],
   569                           , enable_dga=yes)
   570             AC_ARG_ENABLE(video-x11-dgamouse,
   571 [  --enable-video-x11-dgamouse  use X11 DGA for mouse events [default=yes]],
   572                           , enable_video_x11_dgamouse=yes)
   573             if test x$enable_dga = xyes; then
   574                 AC_MSG_CHECKING(for XFree86 DGA 1.0 support)
   575                 video_x11_dga=no
   576                 AC_TRY_COMPILE([
   577                  #include <X11/Xlib.h>
   578                  #include <X11/extensions/xf86dga.h>
   579                 ],[
   580                 ],[
   581                 video_x11_dga=yes
   582                 ])
   583                 AC_MSG_RESULT($video_x11_dga)
   584                 if test x$video_x11_dga = xyes; then
   585                     CFLAGS="$CFLAGS -DXFREE86_DGAMOUSE"
   586                     if test x$enable_video_x11_dgamouse = xyes; then
   587                         CFLAGS="$CFLAGS -DDEFAULT_DGAMOUSE"
   588                     fi
   589                     SYSTEM_LIBS="$SYSTEM_LIBS -lXxf86dga"
   590                 fi
   591             fi
   592             AC_ARG_ENABLE(video-x11-xv,
   593 [  --enable-video-x11-xv   use X11 XvImage extension for video [default=yes]],
   594                           , enable_video_x11_xv=yes)
   595             if test x$enable_video_x11_xv = xyes; then
   596                 AC_MSG_CHECKING(for XFree86 XvImage support)
   597                 video_x11_xv=no
   598                 AC_TRY_COMPILE([
   599                  #include <X11/Xlib.h>
   600                  #include <sys/ipc.h>
   601                  #include <sys/shm.h>
   602                  #include <X11/extensions/XShm.h>
   603                  #include <X11/extensions/Xvlib.h>
   604                 ],[
   605                  XvImage *image;
   606                 ],[
   607                 video_x11_xv=yes
   608                 ])
   609                 AC_MSG_RESULT($video_x11_xv)
   610                 if test x$video_x11_xv = xyes; then
   611                     CFLAGS="$CFLAGS -DXFREE86_XV"
   612                     SYSTEM_LIBS="$SYSTEM_LIBS -lXv"
   613                 fi
   614             fi
   615         fi
   616     fi
   617 }
   618 CheckPHOTON()
   619 {
   620     AC_ARG_ENABLE(video-photon,
   621 [  --enable-video-photon   use QNX Photon video driver [default=yes]],
   622                   , enable_video_photon=yes)
   623     if test x$enable_video = xyes -a x$enable_video_photon = xyes; then
   624         AC_MSG_CHECKING(for QNX Photon support)
   625         video_photon=no
   626         AC_TRY_COMPILE([
   627           #include <Ph.h>
   628           #include <Pt.h>
   629           #include <photon/Pg.h>
   630           #include <photon/PdDirect.h>
   631         ],[
   632          PgDisplaySettings_t *visual;
   633         ],[
   634         video_photon=yes
   635         ])
   636         AC_MSG_RESULT($video_photon)
   637         if test x$video_photon = xyes; then
   638             CFLAGS="$CFLAGS -DENABLE_PHOTON"
   639             SYSTEM_LIBS="$SYSTEM_LIBS -lph"
   640             VIDEO_SUBDIRS="$VIDEO_SUBDIRS photon"
   641             VIDEO_DRIVERS="$VIDEO_DRIVERS photon/libvideo_photon.la"
   642         fi
   643     fi
   644 }
   645 
   646 dnl Find the X11 DGA 2.0 include and library directories
   647 CheckDGA()
   648 {
   649     AC_ARG_ENABLE(video-dga,
   650 [  --enable-video-dga      use DGA 2.0 video driver [default=yes]],
   651                   , enable_video_dga=yes)
   652     if test x$video_x11_dga = xyes -a x$enable_video_dga = xyes; then
   653         AC_MSG_CHECKING(for XFree86 DGA 2.0 support)
   654         video_x11_dga2=no
   655         AC_TRY_COMPILE([
   656          #include <X11/Xlib.h>
   657          #include <X11/extensions/xf86dga.h>
   658         ],[
   659          XDGAEvent xevent;
   660         ],[
   661         video_x11_dga2=yes
   662         ])
   663         AC_MSG_RESULT($video_x11_dga2)
   664         if test x$video_x11_dga2 = xyes; then
   665             CFLAGS="$CFLAGS -DENABLE_DGA"
   666             VIDEO_SUBDIRS="$VIDEO_SUBDIRS dga"
   667             VIDEO_DRIVERS="$VIDEO_DRIVERS dga/libvideo_dga.la"
   668         fi
   669     fi
   670 }
   671 
   672 dnl Find the framebuffer console includes
   673 CheckFBCON()
   674 {
   675     AC_ARG_ENABLE(video-fbcon,
   676 [  --enable-video-fbcon    use framebuffer console video driver [default=yes]],
   677                   , enable_video_fbcon=yes)
   678     if test x$enable_video = xyes -a x$enable_video_fbcon = xyes; then
   679         AC_MSG_CHECKING(for framebuffer console support)
   680         video_fbcon=no
   681         AC_TRY_COMPILE([
   682          #include <linux/fb.h>
   683          #include <linux/kd.h>
   684          #include <linux/keyboard.h>
   685         ],[
   686         ],[
   687         video_fbcon=yes
   688         ])
   689         AC_MSG_RESULT($video_fbcon)
   690         if test x$video_fbcon = xyes; then
   691             CFLAGS="$CFLAGS -DENABLE_FBCON"
   692             VIDEO_SUBDIRS="$VIDEO_SUBDIRS fbcon"
   693             VIDEO_DRIVERS="$VIDEO_DRIVERS fbcon/libvideo_fbcon.la"
   694         fi
   695     fi
   696 }
   697 
   698 dnl Find DirectFB
   699 CheckDirectFB()
   700 {
   701     AC_ARG_ENABLE(video-directfb,
   702 [  --enable-video-directfb    use DirectFB video driver [default=yes]],
   703                   , enable_video_directfb=yes)
   704     if test x$enable_video = xyes -a x$enable_video_directfb = xyes; then
   705         video_directfb=no
   706 
   707         AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
   708         if test x$PKG_CONFIG = xno ; then
   709             AC_MSG_WARN([*** pkg-config is required to build the DirectFB video driver.])
   710         else
   711             AC_MSG_CHECKING(for DirectFB support)
   712 
   713             if ! pkg-config --atleast-pkgconfig-version 0.5 ; then
   714                 AC_MSG_ERROR([*** pkg-config too old; version 0.5 or better required.])
   715             fi
   716 
   717             DIRECTFB_REQUIRED_VERSION=0.9.5
   718 
   719             if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb ; then
   720                 DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags directfb`
   721                 DIRECTFB_LIBS=`$PKG_CONFIG --libs directfb`
   722                 video_directfb=yes
   723             fi
   724         fi
   725 
   726         AC_MSG_RESULT($video_directfb)
   727         if test x$video_directfb = xyes; then
   728             CFLAGS="$CFLAGS -DENABLE_DIRECTFB"
   729             VIDEO_SUBDIRS="$VIDEO_SUBDIRS directfb"
   730             VIDEO_DRIVERS="$VIDEO_DRIVERS directfb/libvideo_directfb.la"
   731 
   732             AC_SUBST(DIRECTFB_CFLAGS)
   733             AC_SUBST(DIRECTFB_LIBS)
   734         fi
   735     fi
   736 }
   737 
   738 dnl See if we're running on PlayStation 2 hardware
   739 CheckPS2GS()
   740 {
   741     AC_ARG_ENABLE(video-ps2gs,
   742 [  --enable-video-ps2gs    use PlayStation 2 GS video driver [default=yes]],
   743                   , enable_video_ps2gs=yes)
   744     if test x$enable_video = xyes -a x$enable_video_ps2gs = xyes; then
   745         AC_MSG_CHECKING(for PlayStation 2 GS support)
   746         video_ps2gs=no
   747         AC_TRY_COMPILE([
   748          #include <linux/ps2/dev.h>
   749          #include <linux/ps2/gs.h>
   750         ],[
   751         ],[
   752         video_ps2gs=yes
   753         ])
   754         AC_MSG_RESULT($video_ps2gs)
   755         if test x$video_ps2gs = xyes; then
   756             CFLAGS="$CFLAGS -DENABLE_PS2GS"
   757             VIDEO_SUBDIRS="$VIDEO_SUBDIRS ps2gs"
   758             VIDEO_DRIVERS="$VIDEO_DRIVERS ps2gs/libvideo_ps2gs.la"
   759         fi
   760     fi
   761 }
   762 
   763 dnl Find the GGI includes
   764 CheckGGI()
   765 {
   766     AC_ARG_ENABLE(video-ggi,
   767 [  --enable-video-ggi      use GGI video driver [default=no]],
   768                   , enable_video_ggi=no)
   769     if test x$enable_video = xyes -a x$enable_video_ggi = xyes; then
   770         AC_MSG_CHECKING(for GGI support)
   771         video_ggi=no
   772         AC_TRY_COMPILE([
   773          #include <ggi/ggi.h>
   774          #include <ggi/gii.h>
   775         ],[
   776         ],[
   777         video_ggi=yes
   778         ])
   779         AC_MSG_RESULT($video_ggi)
   780         if test x$video_ggi = xyes; then
   781             CFLAGS="$CFLAGS $X_CFLAGS -DENABLE_GGI"
   782             SYSTEM_LIBS="$SYSTEM_LIBS -lggi -lgii -lgg"
   783 
   784             VIDEO_SUBDIRS="$VIDEO_SUBDIRS ggi"
   785             VIDEO_DRIVERS="$VIDEO_DRIVERS ggi/libvideo_ggi.la"
   786         fi
   787     fi
   788 }
   789 
   790 dnl Find the SVGAlib includes and libraries
   791 CheckSVGA()
   792 {
   793     AC_ARG_ENABLE(video-svga,
   794 [  --enable-video-svga     use SVGAlib video driver [default=no]],
   795                   , enable_video_svga=no)
   796     if test x$enable_video = xyes -a x$enable_video_svga = xyes; then
   797         AC_MSG_CHECKING(for SVGAlib (1.4.0+) support)
   798         video_svga=no
   799         AC_TRY_COMPILE([
   800          #include <vga.h>
   801          #include <vgamouse.h>
   802          #include <vgakeyboard.h>
   803         ],[
   804          if ( SCANCODE_RIGHTWIN && SCANCODE_LEFTWIN ) {
   805              exit(0);
   806          }
   807         ],[
   808         video_svga=yes
   809         ])
   810         AC_MSG_RESULT($video_svga)
   811         if test x$video_svga = xyes; then
   812             CFLAGS="$CFLAGS -DENABLE_SVGALIB"
   813             SYSTEM_LIBS="$SYSTEM_LIBS -lvga"
   814 
   815             VIDEO_SUBDIRS="$VIDEO_SUBDIRS svga"
   816             VIDEO_DRIVERS="$VIDEO_DRIVERS svga/libvideo_svga.la"
   817         fi
   818     fi
   819 }
   820 
   821 dnl Find the VGL includes and libraries
   822 CheckVGL()
   823 {
   824     AC_ARG_ENABLE(video-vgl,
   825 [  --enable-video-vgl     use VGL video driver [default=no]],
   826                   , enable_video_vgl=no)
   827     if test x$enable_video = xyes -a x$enable_video_vgl = xyes; then
   828         AC_MSG_CHECKING(for libVGL support)
   829         video_vgl=no
   830         AC_TRY_COMPILE([
   831          #include <sys/fbio.h>
   832          #include <sys/consio.h>
   833          #include <sys/kbio.h>
   834          #include <vgl.h>
   835         ],[
   836          VGLBitmap bitmap;
   837          exit(bitmap.Bitmap);
   838         ],[
   839         video_vgl=yes
   840         ])
   841         AC_MSG_RESULT($video_vgl)
   842         if test x$video_vgl = xyes; then
   843             CFLAGS="$CFLAGS -DENABLE_VGL"
   844             SYSTEM_LIBS="$SYSTEM_LIBS -lvgl"
   845 
   846             VIDEO_SUBDIRS="$VIDEO_SUBDIRS vgl"
   847             VIDEO_DRIVERS="$VIDEO_DRIVERS vgl/libvideo_vgl.la"
   848         fi
   849     fi
   850 }
   851 
   852 dnl Find the AAlib includes
   853 CheckAAlib()
   854 {
   855     AC_ARG_ENABLE(video-aalib,
   856 [  --enable-video-aalib    use AAlib video driver [default=no]],
   857                   , enable_video_aalib=no)
   858     if test x$enable_video = xyes -a x$enable_video_aalib = xyes; then
   859         AC_MSG_CHECKING(for AAlib support)
   860         video_aalib=no
   861         AC_TRY_COMPILE([
   862          #include <aalib.h>
   863         ],[
   864         ],[
   865         video_aalib=yes
   866         ])
   867         AC_MSG_RESULT($video_aalib)
   868         if test x$video_aalib = xyes; then
   869             CFLAGS="$CFLAGS -DENABLE_AALIB"
   870             SYSTEM_LIBS="$SYSTEM_LIBS -laa"
   871 
   872             VIDEO_SUBDIRS="$VIDEO_SUBDIRS aalib"
   873             VIDEO_DRIVERS="$VIDEO_DRIVERS aalib/libvideo_aa.la"
   874         fi
   875     fi
   876 }
   877 
   878 dnl rcg04172001 Set up the Null video driver.
   879 CheckDummyVideo()
   880 {
   881     AC_ARG_ENABLE(video-dummy,
   882 [  --enable-video-dummy    use dummy video driver [default=yes]],
   883                   , enable_video_dummy=yes)
   884     if test x$enable_video_dummy = xyes; then
   885       CFLAGS="$CFLAGS -DENABLE_DUMMYVIDEO"
   886       VIDEO_SUBDIRS="$VIDEO_SUBDIRS dummy"
   887       VIDEO_DRIVERS="$VIDEO_DRIVERS dummy/libvideo_null.la"
   888     fi
   889 }
   890 
   891 dnl Check to see if OpenGL support is desired
   892 AC_ARG_ENABLE(video-opengl,
   893 [  --enable-video-opengl   include OpenGL context creation [default=yes]],
   894               , enable_video_opengl=yes)
   895 
   896 dnl Find OpenGL
   897 CheckOpenGL()
   898 {
   899     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
   900         AC_MSG_CHECKING(for OpenGL (GLX) support)
   901         video_opengl=no
   902         AC_TRY_COMPILE([
   903          #include <GL/gl.h>
   904          #include <GL/glx.h>
   905          #include <dlfcn.h> /* For loading extensions */
   906         ],[
   907         ],[
   908         video_opengl=yes
   909         ])
   910         AC_MSG_RESULT($video_opengl)
   911         if test x$video_opengl = xyes; then
   912             CFLAGS="$CFLAGS -DHAVE_OPENGL"
   913             AC_CHECK_LIB(dl, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS -ldl")
   914         fi
   915     fi
   916 }
   917 
   918 dnl Check for BeOS OpenGL
   919 CheckBeGL()
   920 {
   921     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
   922         CFLAGS="$CFLAGS -DHAVE_OPENGL"
   923         SYSTEM_LIBS="$SYSTEM_LIBS -lGL"
   924     fi
   925 }
   926 
   927 dnl Check for MacOS OpenGL
   928 CheckMacGL()
   929 {
   930     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
   931         CFLAGS="$CFLAGS -DHAVE_OPENGL"
   932         case "$target" in
   933             *-*-darwin*)
   934                 SDL_LIBS="$SDL_LIBS -framework OpenGL -framework AGL"
   935         esac
   936     fi
   937 }
   938 
   939 dnl See if we can use the new unified event interface in Linux 2.4
   940 CheckInputEvents()
   941 {
   942     dnl Check for Linux 2.4 unified input event interface support
   943     AC_ARG_ENABLE(input-events,
   944 [  --enable-input-events   use Linux 2.4 unified input interface [default=no]],
   945                   , enable_input_events=no)
   946     if test x$enable_input_events = xyes; then
   947         AC_MSG_CHECKING(for Linux 2.4 unified input interface)
   948         use_input_events=no
   949         AC_TRY_COMPILE([
   950           #include <linux/input.h>
   951         ],[
   952           #ifndef EVIOCGNAME
   953           #error EVIOCGNAME() ioctl not available
   954           #endif
   955         ],[
   956         use_input_events=yes
   957         ])
   958         AC_MSG_RESULT($use_input_events)
   959         if test x$use_input_events = xyes; then
   960             CFLAGS="$CFLAGS -DUSE_INPUT_EVENTS"
   961         fi
   962     fi
   963 }
   964 
   965 dnl See what type of thread model to use on Linux and Solaris
   966 CheckPTHREAD()
   967 {
   968     dnl Check for pthread support
   969     AC_ARG_ENABLE(pthreads,
   970 [  --enable-pthreads       use POSIX threads for multi-threading [default=yes]],
   971                   , enable_pthreads=yes)
   972     dnl This is used on Linux for glibc binary compatibility (Doh!)
   973     AC_ARG_ENABLE(pthread-sem,
   974 [  --enable-pthread-sem    use pthread semaphores [default=yes]],
   975                   , enable_pthread_sem=yes)
   976     ac_save_libs="$LIBS"
   977     case "$target" in
   978         *-*-bsdi*)
   979             pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
   980             pthread_lib=""
   981             ;;
   982         *-*-darwin*)
   983             pthread_cflags="-D_THREAD_SAFE"
   984 # causes Carbon.p complaints?
   985 #            pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
   986             ;;
   987         *-*-freebsd*)
   988             pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
   989             pthread_lib="-pthread"
   990             ;;
   991         *-*-netbsd*)
   992             pthread_cflags="-I/usr/pkg/include -D_REENTRANT"
   993             pthread_lib="-L/usr/pkg/lib -lpthread -lsem"
   994             ;;
   995         *-*-openbsd*)
   996             pthread_cflags="-D_REENTRANT"
   997             pthread_lib="-pthread"
   998             ;;
   999         *-*-solaris*)
  1000             pthread_cflags="-D_REENTRANT"
  1001             pthread_lib="-lpthread -lposix4"
  1002             ;;
  1003         *-*-sysv5*)
  1004             pthread_cflags="-D_REENTRANT -Kthread"
  1005             pthread_lib=""
  1006             ;;
  1007         *-*-irix*)
  1008             pthread_cflags="-D_SGI_MP_SOURCE"
  1009             pthread_lib="-lpthread"
  1010             ;;
  1011         *-*-aix*)
  1012             pthread_cflags="-D_REENTRANT -mthreads"
  1013             pthread_lib="-lpthread"
  1014             ;;
  1015         *-*-qnx*)
  1016             pthread_cflags=""
  1017             pthread_lib=""
  1018             ;;
  1019         *)
  1020             pthread_cflags="-D_REENTRANT"
  1021             pthread_lib="-lpthread"
  1022             ;;
  1023     esac
  1024     LIBS="$LIBS $pthread_lib"
  1025     if test x$enable_threads = xyes -a x$enable_pthreads = xyes; then
  1026         AC_MSG_CHECKING(for pthreads)
  1027         use_pthreads=no
  1028         AC_TRY_LINK([
  1029          #include <pthread.h>
  1030         ],[
  1031          pthread_attr_t type;
  1032          pthread_attr_init(&type);
  1033         ],[
  1034         use_pthreads=yes
  1035         ])
  1036         AC_MSG_RESULT($use_pthreads)
  1037         if test x$use_pthreads = xyes; then
  1038             CFLAGS="$CFLAGS $pthread_cflags -DSDL_USE_PTHREADS"
  1039             SDL_CFLAGS="$SDL_CFLAGS $pthread_cflags"
  1040             SDL_LIBS="$SDL_LIBS $pthread_lib"
  1041 
  1042             # Check to see if recursive mutexes are available
  1043             AC_MSG_CHECKING(for recursive mutexes)
  1044             has_recursive_mutexes=no
  1045             AC_TRY_LINK([
  1046               #include <pthread.h>
  1047             ],[
  1048               pthread_mutexattr_t attr;
  1049               #ifdef linux
  1050               pthread_mutexattr_setkind_np(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
  1051               #else
  1052               pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
  1053               #endif
  1054             ],[
  1055             has_recursive_mutexes=yes
  1056             ])
  1057             # Some systems have broken recursive mutex implementations
  1058             case "$target" in
  1059                 *-*-solaris*)
  1060                     has_recursive_mutexes=no
  1061                     ;;
  1062             esac
  1063             AC_MSG_RESULT($has_recursive_mutexes)
  1064             if test x$has_recursive_mutexes != xyes; then
  1065                 CFLAGS="$CFLAGS -DPTHREAD_NO_RECURSIVE_MUTEX"
  1066             fi
  1067 
  1068             # Check to see if pthread semaphore support is missing
  1069             if test x$enable_pthread_sem = xyes; then
  1070                 AC_MSG_CHECKING(for pthread semaphores)
  1071                 have_pthread_sem=no
  1072                 AC_TRY_COMPILE([
  1073                   #include <pthread.h>
  1074                   #include <semaphore.h>
  1075                 ],[
  1076                 ],[
  1077                 have_pthread_sem=yes
  1078                 ])
  1079                 AC_MSG_RESULT($have_pthread_sem)
  1080             fi
  1081 
  1082             # Check to see if this is broken glibc 2.0 pthreads
  1083             case "$target" in
  1084                 *-*-linux*)
  1085                     AC_MSG_CHECKING(for broken glibc 2.0 pthreads)
  1086                     glibc20_pthreads=no
  1087                     AC_TRY_COMPILE([
  1088                       #include <features.h>
  1089                       #if (__GLIBC__ == 2) && (__GLIBC_MINOR__ == 0)
  1090                       #warning Working around a bug in glibc 2.0 pthreads
  1091                       #else
  1092                       #error pthread implementation okay
  1093                       #endif /* glibc 2.0 */
  1094                     ],[
  1095                     ],[
  1096                     glibc20_pthreads=yes
  1097                     ])
  1098                     AC_MSG_RESULT($glibc20_pthreads)
  1099             esac
  1100         fi
  1101     fi
  1102     LIBS="$ac_save_libs"
  1103 
  1104     AC_MSG_CHECKING(whether semun is defined in /usr/include/sys/sem.h)
  1105     have_semun=no
  1106     AC_TRY_COMPILE([
  1107       #include <sys/types.h>
  1108       #include <sys/sem.h>
  1109     ],[
  1110       union semun t;
  1111     ],[
  1112     have_semun=yes
  1113     ])
  1114     AC_MSG_RESULT($have_semun)
  1115     if test x$have_semun = xyes; then
  1116         CFLAGS="$CFLAGS -DHAVE_SEMUN"
  1117     fi
  1118 
  1119     # See if we can use clone() on Linux directly
  1120     use_clone=no
  1121     if test x$enable_threads = xyes -a x$use_pthreads != xyes; then
  1122         case "$target" in
  1123             *-*-linux*)
  1124                 use_clone=yes
  1125                 ;;
  1126             *)
  1127                 CFLAGS="$CFLAGS -DFORK_HACK"
  1128                 ;;
  1129         esac
  1130     fi
  1131     AM_CONDITIONAL(USE_CLONE, test x$use_clone = xyes)
  1132 }
  1133 
  1134 dnl See if we can use GNU pth library for threads
  1135 CheckPTH()
  1136 {
  1137     dnl Check for pth support
  1138     AC_ARG_ENABLE(pth,
  1139 [  --enable-pth            use GNU pth library for multi-threading [default=yes]],
  1140                   , enable_pth=yes)
  1141     if test x$enable_threads = xyes -a x$enable_pth = xyes; then
  1142         AC_PATH_PROG(PTH_CONFIG, pth-config, no)
  1143         if test "$PTH_CONFIG" = "no"; then
  1144             use_pth=no
  1145         else
  1146             PTH_CFLAGS=`$PTH_CONFIG --cflags`
  1147             PTH_LIBS=`$PTH_CONFIG --libs`
  1148             SDL_CFLAGS="$SDL_CFLAGS $PTH_CFLAGS"
  1149             SDL_LIBS="$SDL_LIBS $PTH_LIBS"
  1150             use_pth=yes
  1151         fi
  1152         AC_MSG_CHECKING(pth)
  1153         if test "x$use_pth" = xyes; then
  1154             AC_MSG_RESULT(yes)
  1155         else
  1156             AC_MSG_RESULT(no)
  1157         fi
  1158     fi
  1159 }
  1160 
  1161 dnl Determine whether the compiler can produce Win32 executables
  1162 CheckWIN32()
  1163 {
  1164     AC_MSG_CHECKING(Win32 compiler)
  1165     have_win32_gcc=no
  1166     AC_TRY_COMPILE([
  1167      #include <windows.h>
  1168     ],[
  1169     ],[
  1170     have_win32_gcc=yes
  1171     ])
  1172     AC_MSG_RESULT($have_win32_gcc)
  1173     if test x$have_win32_gcc != xyes; then
  1174        AC_MSG_ERROR([
  1175 *** Your compiler ($CC) does not produce Win32 executables!
  1176        ])
  1177     fi
  1178 
  1179     dnl See if the user wants to redirect standard output to files
  1180     AC_ARG_ENABLE(stdio-redirect,
  1181 [  --enable-stdio-redirect Redirect STDIO to files on Win32 [default=yes]],
  1182                   , enable_stdio_redirect=yes)
  1183     if test x$enable_stdio_redirect != xyes; then
  1184         CFLAGS="$CFLAGS -DNO_STDIO_REDIRECT"
  1185     fi
  1186 }
  1187 
  1188 dnl Find the DirectX includes and libraries
  1189 CheckDIRECTX()
  1190 {
  1191     AC_ARG_ENABLE(directx,
  1192 [  --enable-directx        use DirectX for Win32 audio/video [default=yes]],
  1193                   , enable_directx=yes)
  1194     if test x$enable_directx = xyes; then
  1195         AC_MSG_CHECKING(for DirectX headers and libraries)
  1196         use_directx=no
  1197         AC_TRY_COMPILE([
  1198          #include "src/video/windx5/directx.h"
  1199         ],[
  1200         ],[
  1201         use_directx=yes
  1202         ])
  1203         AC_MSG_RESULT($use_directx)
  1204     fi
  1205     AM_CONDITIONAL(USE_DIRECTX, test x$use_directx = xyes)
  1206 
  1207     CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video/wincommon"
  1208     SYSTEM_LIBS="$SYSTEM_LIBS -luser32 -lgdi32 -lwinmm"
  1209     VIDEO_SUBDIRS="$VIDEO_SUBDIRS wincommon"
  1210     VIDEO_DRIVERS="$VIDEO_DRIVERS wincommon/libvideo_wincommon.la"
  1211     # Enable the DIB driver
  1212     CFLAGS="$CFLAGS -DENABLE_WINDIB"
  1213     VIDEO_SUBDIRS="$VIDEO_SUBDIRS windib"
  1214     VIDEO_DRIVERS="$VIDEO_DRIVERS windib/libvideo_windib.la"
  1215     # See if we should enable the DirectX driver
  1216     if test x$use_directx = xyes; then
  1217         CFLAGS="$CFLAGS -DENABLE_DIRECTX"
  1218         SYSTEM_LIBS="$SYSTEM_LIBS -ldxguid"
  1219         VIDEO_SUBDIRS="$VIDEO_SUBDIRS windx5"
  1220         VIDEO_DRIVERS="$VIDEO_DRIVERS windx5/libvideo_windx5.la"
  1221     fi
  1222 }
  1223 
  1224 dnl Set up the BWindow video driver on BeOS
  1225 CheckBWINDOW()
  1226 {
  1227     CFLAGS="$CFLAGS -DENABLE_BWINDOW"
  1228     VIDEO_SUBDIRS="$VIDEO_SUBDIRS bwindow"
  1229     VIDEO_DRIVERS="$VIDEO_DRIVERS bwindow/libvideo_bwindow.la"
  1230 }
  1231 
  1232 dnl Set up the Mac toolbox video driver for Mac OS 7-9
  1233 CheckTOOLBOX()
  1234 {
  1235     VIDEO_SUBDIRS="$VIDEO_SUBDIRS maccommon"
  1236     VIDEO_DRIVERS="$VIDEO_DRIVERS maccommon/libvideo_maccommon.la"
  1237     VIDEO_SUBDIRS="$VIDEO_SUBDIRS macrom"
  1238     VIDEO_DRIVERS="$VIDEO_DRIVERS macrom/libvideo_macrom.la"
  1239 }
  1240 
  1241 dnl Set up the Mac toolbox video driver for Mac OS X
  1242 CheckCARBON()
  1243 {
  1244     # "MACOSX" is not an official definition, but it's commonly
  1245     # accepted as a way to differentiate between what runs on X
  1246     # and what runs on older Macs - while in theory "Carbon" defns
  1247     # are consistent between the two, in practice Carbon is still
  1248     # changing. -sts Aug 2000
  1249     mac_autoconf_target_workaround="MAC"
  1250     CFLAGS="$CFLAGS -I/System/Library/Frameworks/Carbon.framework/Headers \
  1251       -fpascal-strings -DENABLE_TOOLBOX -DMACOSX -DTARGET_API_${mac_autoconf_target_workaround}_CARBON=1 -I\$(top_srcdir)/src/video/maccommon -I\$(top_srcdir)/src/video/macrom -I\$(top_srcdir)/src/video/macdsp"
  1252     VIDEO_SUBDIRS="$VIDEO_SUBDIRS maccommon"
  1253     VIDEO_DRIVERS="$VIDEO_DRIVERS maccommon/libvideo_maccommon.la"
  1254     VIDEO_SUBDIRS="$VIDEO_SUBDIRS macrom"
  1255     VIDEO_DRIVERS="$VIDEO_DRIVERS macrom/libvideo_macrom.la"
  1256 }
  1257 
  1258 dnl Set up the Mac toolbox video driver for Mac OS X
  1259 CheckQUARTZ()
  1260 {
  1261     # "MACOSX" is not an official definition, but it's commonly
  1262     # accepted as a way to differentiate between what runs on X
  1263     # and what runs on older Macs - while in theory "Carbon" defns
  1264     # are consistent between the two, in practice Carbon is still
  1265     # changing. -sts Aug 2000
  1266     mac_autoconf_target_workaround="MAC"
  1267     CFLAGS="$CFLAGS -I/System/Library/Frameworks/Carbon.framework/Headers \
  1268       -I/System/Library/Frameworks/Cocoa.framework/Headers -fpascal-strings \
  1269       -DENABLE_QUARTZ -DMACOSX -DTARGET_API_${mac_autoconf_target_workaround}_CARBON=1 -I\$(top_srcdir)/src/video/quartz"
  1270     VIDEO_SUBDIRS="$VIDEO_SUBDIRS quartz"
  1271     VIDEO_DRIVERS="$VIDEO_DRIVERS quartz/libvideo_quartz.la"
  1272 }
  1273 
  1274 case "$target" in
  1275     *-*-linux*)
  1276         ARCH=linux
  1277         CheckDummyVideo
  1278         CheckDiskAudio
  1279         CheckNASM
  1280         CheckOSS
  1281         CheckALSA
  1282         CheckARTSC
  1283         CheckESD
  1284         CheckNAS
  1285         CheckX11
  1286         CheckNANOX
  1287         CheckDGA
  1288         CheckFBCON
  1289         CheckDirectFB
  1290         CheckPS2GS
  1291         CheckGGI
  1292         CheckSVGA
  1293         CheckAAlib
  1294         CheckOpenGL
  1295         CheckInputEvents
  1296         CheckPTHREAD
  1297         # Set up files for the main() stub
  1298         COPY_ARCH_SRC(src/main, linux, SDL_main.c)
  1299         # Set up files for the audio library
  1300         # We use the OSS and ALSA API's, not the Sun audio API
  1301         #if test x$enable_audio = xyes; then
  1302         #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  1303         #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  1304         #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  1305         #fi
  1306         # Set up files for the joystick library
  1307         if test x$enable_joystick = xyes; then
  1308             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS linux"
  1309             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS linux/libjoystick_linux.la"
  1310         fi
  1311         # Set up files for the cdrom library
  1312         if test x$enable_cdrom = xyes; then
  1313             CDROM_SUBDIRS="$CDROM_SUBDIRS linux"
  1314             CDROM_DRIVERS="$CDROM_DRIVERS linux/libcdrom_linux.la"
  1315         fi
  1316         # Set up files for the thread library
  1317         if test x$enable_threads = xyes; then
  1318             if test x$use_pthreads != xyes; then
  1319                 COPY_ARCH_SRC(src/thread, linux, clone.S)
  1320             fi
  1321             COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c)
  1322             COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
  1323             if test x$use_pthreads = xyes -a x$have_pthread_sem != xyes; then
  1324                 COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
  1325             else
  1326                 COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
  1327             fi
  1328             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1329             if test x$glibc20_pthreads = xyes; then
  1330                 COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c)
  1331                 COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
  1332                 COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  1333                 COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  1334             else
  1335                 COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  1336                 COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  1337                 COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c)
  1338                 COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  1339             fi
  1340         fi
  1341         # Set up files for the timer library
  1342         if test x$enable_timers = xyes; then
  1343             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  1344         fi
  1345         ;;
  1346     *-*-bsdi*)
  1347         ARCH=bsdi
  1348         CheckDummyVideo
  1349         CheckDiskAudio
  1350         CheckNASM
  1351         CheckOSS
  1352         CheckARTSC
  1353         CheckESD
  1354         CheckNAS
  1355         CheckX11
  1356         CheckDGA
  1357         CheckSVGA
  1358         CheckAAlib
  1359         CheckOpenGL
  1360         CheckPTHREAD
  1361         # Set up files for the main() stub
  1362         COPY_ARCH_SRC(src/main, linux, SDL_main.c)
  1363         # Set up files for the audio library
  1364         # We use the OSS and ALSA API's, not the Sun audio API
  1365         #if test x$enable_audio = xyes; then
  1366         #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  1367         #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  1368         #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  1369         #fi
  1370         # Set up files for the joystick library
  1371         # (No joystick support yet)
  1372         if test x$enable_joystick = xyes; then
  1373             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  1374             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  1375         fi
  1376         # Set up files for the cdrom library
  1377         if test x$enable_cdrom = xyes; then
  1378             CDROM_SUBDIRS="$CDROM_SUBDIRS bsdi"
  1379             CDROM_DRIVERS="$CDROM_DRIVERS bsdi/libcdrom_bsdi.la"
  1380         fi
  1381         # Set up files for the thread library
  1382         SDL_LIBS="$SDL_LIBS -lsem"
  1383         if test x$enable_threads = xyes; then
  1384             COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c)
  1385             COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
  1386             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  1387             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  1388             COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
  1389             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1390             COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c)
  1391             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  1392         fi
  1393         # Set up files for the timer library
  1394         if test x$enable_timers = xyes; then
  1395             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  1396         fi
  1397         ;;
  1398     *-*-freebsd*)
  1399         ARCH=freebsd
  1400         CheckDummyVideo
  1401         CheckDiskAudio
  1402         CheckVGL
  1403         CheckNASM
  1404         CheckOSS
  1405         CheckARTSC
  1406         CheckESD
  1407         CheckNAS
  1408         CheckX11
  1409         CheckDGA
  1410         CheckSVGA
  1411         CheckAAlib
  1412         CheckOpenGL
  1413         CheckPTHREAD
  1414         # Set up files for the main() stub
  1415         COPY_ARCH_SRC(src/main, linux, SDL_main.c)
  1416         # Set up files for the audio library
  1417         # We use the OSS and ALSA API's, not the Sun audio API
  1418         #if test x$enable_audio = xyes; then
  1419         #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  1420         #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  1421         #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  1422         #fi
  1423         # Set up files for the joystick library
  1424         # (No joystick support yet)
  1425         if test x$enable_joystick = xyes; then
  1426             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  1427             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  1428         fi
  1429         # Set up files for the cdrom library
  1430         if test x$enable_cdrom = xyes; then
  1431             CDROM_SUBDIRS="$CDROM_SUBDIRS freebsd"
  1432             CDROM_DRIVERS="$CDROM_DRIVERS freebsd/libcdrom_freebsd.la"
  1433         fi
  1434         # Set up files for the thread library
  1435         if test x$enable_threads = xyes; then
  1436             COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c)
  1437             COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
  1438             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  1439             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  1440             if test x$use_pthreads = xyes -a x$have_pthread_sem != xyes; then
  1441                 COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
  1442             else
  1443                 COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
  1444             fi
  1445             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1446             COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c)
  1447             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  1448         fi
  1449         # Set up files for the timer library
  1450         if test x$enable_timers = xyes; then
  1451             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  1452         fi
  1453         ;;
  1454     *-*-netbsd*)
  1455         ARCH=netbsd
  1456         CheckDummyVideo
  1457         CheckDiskAudio
  1458         CheckNASM
  1459         CheckOSS
  1460         CheckARTSC
  1461         CheckESD
  1462         CheckNAS
  1463         CheckX11
  1464         CheckAAlib
  1465         CheckOpenGL
  1466         CheckPTHREAD
  1467         # Set up files for the main() stub
  1468         COPY_ARCH_SRC(src/main, linux, SDL_main.c)
  1469         # Set up files for the audio library
  1470         if test x$enable_audio = xyes; then
  1471             CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  1472             AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  1473             AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  1474         fi
  1475         # Set up files for the joystick library
  1476         # (No joystick support yet)
  1477         if test x$enable_joystick = xyes; then
  1478             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  1479             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  1480         fi
  1481         # Set up files for the cdrom library
  1482         if test x$enable_cdrom = xyes; then
  1483             CDROM_SUBDIRS="$CDROM_SUBDIRS openbsd"
  1484             CDROM_DRIVERS="$CDROM_DRIVERS openbsd/libcdrom_openbsd.la"
  1485         fi
  1486         # Set up files for the thread library
  1487         if test x$enable_threads = xyes; then
  1488             COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c)
  1489             COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
  1490             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  1491             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  1492             if test x$use_pthreads = xyes -a x$have_pthread_sem != xyes; then
  1493                 COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
  1494             else
  1495                 COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
  1496             fi
  1497             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1498             COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c)
  1499             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  1500         fi
  1501         # Set up files for the timer library
  1502         if test x$enable_timers = xyes; then
  1503             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  1504         fi
  1505         # NetBSD does not define "unix"
  1506         CFLAGS="$CFLAGS -Dunix -D_POSIX_THREAD_SYSCALL_SOFT=1"
  1507         ;;
  1508     *-*-openbsd*)
  1509         ARCH=openbsd
  1510         CheckDummyVideo
  1511         CheckDiskAudio
  1512         CheckOPENBSDAUDIO
  1513         CheckNASM
  1514         CheckOSS
  1515         CheckARTSC
  1516         CheckESD
  1517         CheckNAS
  1518         CheckX11
  1519         CheckAAlib
  1520         CheckOpenGL
  1521         CheckPTHREAD
  1522         # Set up files for the main() stub
  1523         COPY_ARCH_SRC(src/main, linux, SDL_main.c)
  1524         # Set up files for the audio library
  1525         # We use the OSS and native API's, not the Sun audio API
  1526         #if test x$enable_audio = xyes; then
  1527         #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  1528         #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  1529         #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  1530         #fi
  1531         # OpenBSD needs linking with ossaudio emulation library
  1532         if test x$have_oss = xyes; then
  1533             SYSTEM_LIBS="$SYSTEM_LIBS -lossaudio"
  1534         fi
  1535         # Set up files for the joystick library
  1536         # (No joystick support yet)
  1537         if test x$enable_joystick = xyes; then
  1538             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  1539             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  1540         fi
  1541         # Set up files for the cdrom library
  1542         if test x$enable_cdrom = xyes; then
  1543             CDROM_SUBDIRS="$CDROM_SUBDIRS openbsd"
  1544             CDROM_DRIVERS="$CDROM_DRIVERS openbsd/libcdrom_openbsd.la"
  1545         fi
  1546         # Set up files for the thread library
  1547         if test x$enable_threads = xyes; then
  1548             COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c)
  1549             COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
  1550             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  1551             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  1552             if test x$use_pthreads = xyes -a x$have_pthread_sem != xyes; then
  1553                 COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
  1554             else
  1555                 COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
  1556             fi
  1557             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1558             COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c)
  1559             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  1560         fi
  1561         # Set up files for the timer library
  1562         if test x$enable_timers = xyes; then
  1563             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  1564         fi
  1565         # OpenBSD does not define "unix"
  1566         CFLAGS="$CFLAGS -Dunix"
  1567         ;;
  1568     *-*-sysv5*)
  1569         ARCH=sysv5
  1570         CheckDummyVideo
  1571         CheckDiskAudio
  1572         CheckNASM
  1573         CheckOSS
  1574         CheckARTSC
  1575         CheckESD
  1576         CheckNAS
  1577         CheckX11
  1578         CheckAAlib
  1579         CheckOpenGL
  1580         CheckPTHREAD
  1581         # Set up files for the main() stub
  1582         COPY_ARCH_SRC(src/main, linux, SDL_main.c)
  1583         # Set up files for the audio library
  1584         if test x$enable_audio = xyes; then
  1585             CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  1586             AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  1587             AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  1588         fi
  1589         # Set up files for the joystick library
  1590         # (No joystick support yet)
  1591         if test x$enable_joystick = xyes; then
  1592             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  1593             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  1594         fi
  1595         # Set up files for the cdrom library
  1596         if test x$enable_cdrom = xyes; then
  1597             CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
  1598             CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
  1599         fi
  1600         # Set up files for the thread library
  1601         if test x$enable_threads = xyes; then
  1602             COPY_ARCH_SRC(src/thread, generic, SDL_systhread.c)
  1603             COPY_ARCH_SRC(src/thread, generic, SDL_systhread_c.h)
  1604             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c)
  1605             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
  1606             COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
  1607             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1608             COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  1609             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  1610         fi
  1611         # Set up files for the timer library
  1612         if test x$enable_timers = xyes; then
  1613             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  1614         fi
  1615         ;;
  1616     *-*-solaris*)
  1617         ARCH=solaris
  1618         CFLAGS="$CFLAGS -D__ELF__" # Fix for nasm on Solaris x86
  1619         CheckDummyVideo
  1620         CheckDiskAudio
  1621         CheckNASM
  1622         CheckOSS
  1623         CheckARTSC
  1624         CheckESD
  1625         CheckNAS
  1626         CheckX11
  1627         CheckAAlib
  1628         CheckOpenGL
  1629         CheckPTHREAD
  1630         # Set up files for the main() stub
  1631         COPY_ARCH_SRC(src/main, linux, SDL_main.c)
  1632         # Set up files for the audio library
  1633         if test x$enable_audio = xyes; then
  1634             CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  1635             AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  1636             AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  1637         fi
  1638         # Set up files for the joystick library
  1639         # (No joystick support yet)
  1640         if test x$enable_joystick = xyes; then
  1641             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  1642             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  1643         fi
  1644         # Set up files for the cdrom library
  1645         if test x$enable_cdrom = xyes; then
  1646             CDROM_SUBDIRS="$CDROM_SUBDIRS linux"
  1647             CDROM_DRIVERS="$CDROM_DRIVERS linux/libcdrom_linux.la"
  1648         fi
  1649         # Set up files for the thread library
  1650         if test x$enable_threads = xyes; then
  1651             COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c)
  1652             COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
  1653             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  1654             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  1655             COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
  1656             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1657             COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  1658             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  1659         fi
  1660         # Set up files for the timer library
  1661         if test x$enable_timers = xyes; then
  1662             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  1663         fi
  1664         ;;
  1665     *-*-irix*)
  1666         ARCH=irix
  1667         CheckDummyVideo
  1668         CheckDiskAudio
  1669         CheckDMEDIA
  1670         CheckESD
  1671         CheckNAS
  1672         CheckX11
  1673         CheckAAlib
  1674         CheckOpenGL
  1675         CheckPTHREAD
  1676         # Set up files for the main() stub
  1677         COPY_ARCH_SRC(src/main, linux, SDL_main.c)
  1678         # We use the dmedia audio API, not the Sun audio API
  1679         #if test x$enable_audio = xyes; then
  1680         #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  1681         #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  1682         #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  1683         #fi
  1684         # Set up files for the joystick library
  1685         # (No joystick support yet)
  1686         if test x$enable_joystick = xyes; then
  1687             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  1688             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  1689         fi
  1690         # Set up files for the cdrom library
  1691         # (No CD-ROM support yet)
  1692         if test x$enable_cdrom = xyes; then
  1693             CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
  1694             CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
  1695         fi
  1696         # Set up files for the thread library
  1697         if test x$enable_threads = xyes; then
  1698             if test x$use_pthreads = xyes; then
  1699                 COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c)
  1700                 COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
  1701                 COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  1702                 COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  1703                 if test x$have_pthread_sem != xyes; then
  1704                     COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
  1705                 else
  1706                     COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
  1707                 fi
  1708                 COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1709                 COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c)
  1710                 COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  1711             else
  1712                 COPY_ARCH_SRC(src/thread, irix, SDL_systhread.c)
  1713                 COPY_ARCH_SRC(src/thread, irix, SDL_systhread_c.h)
  1714                 COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  1715                 COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  1716                 COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
  1717                 COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1718                 COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  1719                 COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  1720             fi
  1721         fi
  1722         # Set up files for the timer library
  1723         if test x$enable_timers = xyes; then
  1724             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  1725         fi
  1726         ;;
  1727     *-*-hpux*)
  1728         ARCH=hpux
  1729         CheckDummyVideo
  1730         CheckDiskAudio
  1731         CheckOSS
  1732         CheckNAS
  1733         CheckX11
  1734         CheckGGI
  1735         CheckAAlib
  1736         CheckOpenGL
  1737         CheckPTHREAD
  1738         # Set up files for the main() stub
  1739         COPY_ARCH_SRC(src/main, linux, SDL_main.c)
  1740         # Set up files for the audio library
  1741         if test x$enable_audio = xyes; then
  1742             CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  1743             AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  1744             AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  1745         fi
  1746         # Set up files for the joystick library
  1747         # (No joystick support yet)
  1748         if test x$enable_joystick = xyes; then
  1749             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  1750             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  1751         fi
  1752         # Set up files for the cdrom library
  1753         # (No CD-ROM support yet)
  1754         if test x$enable_cdrom = xyes; then
  1755             CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
  1756             CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
  1757         fi
  1758         # Set up files for the thread library
  1759         if test x$enable_threads = xyes; then
  1760             COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c)
  1761             COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
  1762             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  1763             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  1764             COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
  1765             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1766             COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c)
  1767             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  1768         fi
  1769         # Set up files for the timer library
  1770         if test x$enable_timers = xyes; then
  1771             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  1772         fi
  1773         ;;
  1774     *-*-aix*)
  1775         ARCH=aix
  1776         CheckDummyVideo
  1777         CheckDiskAudio
  1778         CheckOSS
  1779         CheckNAS
  1780         CheckX11
  1781         CheckGGI
  1782         CheckAAlib
  1783         CheckOpenGL
  1784         CheckPTHREAD
  1785         # Set up files for the main() stub
  1786         COPY_ARCH_SRC(src/main, linux, SDL_main.c)
  1787         # Set up files for the audio library
  1788         if test x$enable_audio = xyes; then
  1789             AUDIO_SUBDIRS="$AUDIO_SUBDIRS paudio"
  1790             AUDIO_DRIVERS="$AUDIO_DRIVERS paudio/libaudio_paudio.la"
  1791         fi
  1792         # Set up files for the joystick library
  1793         # (No joystick support yet)
  1794         if test x$enable_joystick = xyes; then
  1795             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  1796             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  1797         fi
  1798         # Set up files for the cdrom library
  1799         if test x$enable_cdrom = xyes; then
  1800             CDROM_SUBDIRS="$CDROM_SUBDIRS aix"
  1801             CDROM_DRIVERS="$CDROM_DRIVERS aix/libcdrom_aix.la"
  1802         fi
  1803         # Set up files for the thread library
  1804         if test x$enable_threads = xyes; then
  1805             COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c)
  1806             COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
  1807             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  1808             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  1809             COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
  1810             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1811             COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c)
  1812             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  1813         fi
  1814         # Set up files for the timer library
  1815         if test x$enable_timers = xyes; then
  1816             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  1817         fi
  1818         ;;
  1819     *-*-osf*)
  1820         ARCH=osf
  1821         CheckDummyVideo
  1822         CheckDiskAudio
  1823         CheckNAS
  1824         CheckX11
  1825         CheckGGI
  1826         CheckAAlib
  1827         CheckOpenGL
  1828         CheckPTHREAD
  1829         # Set up files for the main() stub
  1830         COPY_ARCH_SRC(src/main, linux, SDL_main.c)
  1831         # Set up files for the audio library
  1832         if test x$enable_audio = xyes; then
  1833             CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  1834             AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  1835             AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  1836         fi
  1837         # Set up files for the joystick library
  1838         # (No joystick support yet)
  1839         if test x$enable_joystick = xyes; then
  1840             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  1841             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  1842         fi
  1843         # Set up files for the cdrom library
  1844         # (No cdrom support yet)
  1845         if test x$enable_cdrom = xyes; then
  1846             CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
  1847             CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
  1848         fi
  1849         # Set up files for the thread library
  1850         if test x$enable_threads = xyes; then
  1851             COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c)
  1852             COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
  1853             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  1854             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  1855             COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
  1856             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1857             COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c)
  1858             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  1859         fi
  1860         # Set up files for the timer library
  1861         if test x$enable_timers = xyes; then
  1862             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  1863         fi
  1864         ;;
  1865     *-*-qnx*)
  1866         ARCH=qnx
  1867         CheckDummyVideo
  1868         CheckDiskAudio
  1869         CheckNAS
  1870         CheckPHOTON
  1871         CheckX11
  1872         CheckOpenGL
  1873         CheckPTHREAD
  1874         # Set up files for the main() stub
  1875         COPY_ARCH_SRC(src/main, linux, SDL_main.c)
  1876         # Set up files for the audio library
  1877         if test x$enable_audio = xyes; then
  1878             CFLAGS="$CFLAGS -DALSA_SUPPORT"
  1879             SYSTEM_LIBS="$SYSTEM_LIBS -lasound"
  1880             AUDIO_SUBDIRS="$AUDIO_SUBDIRS nto"
  1881             AUDIO_DRIVERS="$AUDIO_DRIVERS nto/libaudio_nto.la"
  1882         fi
  1883         # Set up files for the joystick library
  1884         if test x$enable_joystick = xyes; then
  1885         # (No joystick support yet)
  1886             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  1887             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  1888         fi
  1889         # Set up files for the cdrom library
  1890         if test x$enable_cdrom = xyes; then
  1891             CDROM_SUBDIRS="$CDROM_SUBDIRS qnx"
  1892             CDROM_DRIVERS="$CDROM_DRIVERS qnx/libcdrom_qnx.la"
  1893         fi
  1894         # Set up files for the thread library
  1895         if test x$enable_threads = xyes; then
  1896             COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c)
  1897             COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
  1898             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  1899             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  1900             COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
  1901             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1902             COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c)
  1903             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  1904         fi
  1905         # Set up files for the timer library
  1906         if test x$enable_timers = xyes; then
  1907             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  1908         fi
  1909         ;;
  1910     *-*-cygwin* | *-*-mingw32*)
  1911         ARCH=win32
  1912         if test "$build" != "$target"; then # cross-compiling
  1913             # Default cross-compile location
  1914             ac_default_prefix=/usr/local/cross-tools/i386-mingw32msvc
  1915         else
  1916             # Look for the location of the tools and install there
  1917             if [ "$BUILD_PREFIX" != "" ]; then
  1918                 ac_default_prefix=$BUILD_PREFIX
  1919             fi
  1920         fi
  1921         CheckDummyVideo
  1922         CheckDiskAudio
  1923         CheckWIN32
  1924         CheckDIRECTX
  1925         CheckNASM
  1926         # Set up files for the main() stub
  1927         COPY_ARCH_SRC(src/main, win32, SDL_main.c)
  1928         # Set up files for the audio library
  1929         if test x$enable_audio = xyes; then
  1930             AUDIO_SUBDIRS="$AUDIO_SUBDIRS windib"
  1931             AUDIO_DRIVERS="$AUDIO_DRIVERS windib/libaudio_windib.la"
  1932             if test x$use_directx = xyes; then
  1933                 AUDIO_SUBDIRS="$AUDIO_SUBDIRS windx5"
  1934                 AUDIO_DRIVERS="$AUDIO_DRIVERS windx5/libaudio_windx5.la"
  1935             fi
  1936         fi
  1937         # Set up files for the joystick library
  1938         if test x$enable_joystick = xyes; then
  1939             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS win32"
  1940             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS win32/libjoystick_winmm.la"
  1941         fi
  1942         # Set up files for the cdrom library
  1943         if test x$enable_cdrom = xyes; then
  1944             CDROM_SUBDIRS="$CDROM_SUBDIRS win32"
  1945             CDROM_DRIVERS="$CDROM_DRIVERS win32/libcdrom_win32.la"
  1946         fi
  1947         # Set up files for the thread library
  1948         if test x$enable_threads = xyes; then
  1949             COPY_ARCH_SRC(src/thread, win32, SDL_systhread.c)
  1950             COPY_ARCH_SRC(src/thread, win32, SDL_systhread_c.h)
  1951             COPY_ARCH_SRC(src/thread, win32, SDL_sysmutex.c)
  1952             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
  1953             COPY_ARCH_SRC(src/thread, win32, SDL_syssem.c)
  1954             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1955             COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  1956             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  1957         fi
  1958         # Set up files for the timer library
  1959         if test x$enable_timers = xyes; then
  1960             COPY_ARCH_SRC(src/timer, win32, SDL_systimer.c)
  1961         fi
  1962         # The Win32 platform requires special setup
  1963         SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
  1964         case "$target" in
  1965             *-*-cygwin*)
  1966                 CFLAGS="$CFLAGS -I/usr/include/mingw -DWIN32 -Uunix"
  1967                 SDL_CFLAGS="$SDL_CFLAGS -I/usr/include/mingw -DWIN32 -Uunix"
  1968                 LIBS="$LIBS -mno-cygwin"
  1969                 SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows -mno-cygwin"
  1970                 ;;
  1971             *-*-mingw32*)
  1972                 SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows"
  1973                 ;;
  1974         esac
  1975         ;;
  1976     *-*-beos*)
  1977         ARCH=beos
  1978         ac_default_prefix=/boot/develop/tools/gnupro
  1979         CheckDummyVideo
  1980         CheckDiskAudio
  1981         CheckNASM
  1982         CheckBWINDOW
  1983         CheckBeGL
  1984         # Set up files for the main() stub
  1985         COPY_ARCH_SRC(src/main, linux, SDL_main.c)
  1986         COPY_ARCH_SRC(src/main, beos, SDL_BeApp.cc)
  1987         COPY_ARCH_SRC(src/main, beos, SDL_BeApp.h)
  1988         # Set up files for the audio library
  1989         if test x$enable_audio = xyes; then
  1990             AUDIO_SUBDIRS="$AUDIO_SUBDIRS baudio"
  1991             AUDIO_DRIVERS="$AUDIO_DRIVERS baudio/libaudio_baudio.la"
  1992         fi
  1993         # Set up files for the joystick library
  1994         if test x$enable_joystick = xyes; then
  1995             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS beos"
  1996             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS beos/libjoystick_beos.la"
  1997         fi
  1998         # Set up files for the cdrom library
  1999         if test x$enable_cdrom = xyes; then
  2000             CDROM_SUBDIRS="$CDROM_SUBDIRS beos"
  2001             CDROM_DRIVERS="$CDROM_DRIVERS beos/libcdrom_beos.la"
  2002         fi
  2003         # Set up files for the thread library
  2004         if test x$enable_threads = xyes; then
  2005             COPY_ARCH_SRC(src/thread, beos, SDL_systhread.c)
  2006             COPY_ARCH_SRC(src/thread, beos, SDL_systhread_c.h)
  2007             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c)
  2008             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
  2009             COPY_ARCH_SRC(src/thread, beos, SDL_syssem.c)
  2010             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  2011             COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  2012             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  2013         fi
  2014         # Set up files for the timer library
  2015         if test x$enable_timers = xyes; then
  2016             COPY_ARCH_SRC(src/timer, beos, SDL_systimer.c)
  2017         fi
  2018         # The BeOS platform requires special libraries
  2019         SYSTEM_LIBS="$SYSTEM_LIBS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding"
  2020         ;;
  2021     *-*-macos*)
  2022         # This would be used if cross-compiling to MacOS 9.  No way to
  2023         # use it at present, but Apple is working on a X-to-9 compiler
  2024         # for which this case would be handy.
  2025         ARCH=macos
  2026         CheckDummyVideo
  2027         CheckDiskAudio
  2028         CheckTOOLBOX
  2029         CheckMacGL
  2030         # Set up files for the main() stub
  2031         COPY_ARCH_SRC(src/main, macos, SDL_main.c)
  2032         # Set up files for the audio library
  2033         if test x$enable_audio = xyes; then
  2034             AUDIO_SUBDIRS="$AUDIO_SUBDIRS macrom"
  2035             AUDIO_DRIVERS="$AUDIO_DRIVERS macrom/libaudio_macrom.la"
  2036         fi
  2037         # Set up files for the joystick library
  2038         if test x$enable_joystick = xyes; then
  2039             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS macos"
  2040             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS macos/libjoystick_macos.la"
  2041         fi
  2042         # Set up files for the cdrom library
  2043         if test x$enable_cdrom = xyes; then
  2044             CDROM_SUBDIRS="$CDROM_SUBDIRS macos"
  2045             CDROM_DRIVERS="$CDROM_DRIVERS macos/libcdrom_macos.la"
  2046         fi
  2047         # Set up files for the thread library
  2048         if test x$enable_threads = xyes; then
  2049             COPY_ARCH_SRC(src/thread, macos, SDL_systhread.c)
  2050             COPY_ARCH_SRC(src/thread, macos, SDL_systhread_c.h)
  2051             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c)
  2052             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
  2053             COPY_ARCH_SRC(src/thread, macos, SDL_syssem.c)
  2054             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  2055             COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  2056             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  2057         fi
  2058         # Set up files for the timer library
  2059         if test x$enable_timers = xyes; then
  2060             COPY_ARCH_SRC(src/timer, macos, SDL_systimer.c)
  2061         fi
  2062         # The MacOS platform requires special setup
  2063         SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
  2064         SDL_LIBS="-lSDLmain $SDL_LIBS"
  2065         ;;
  2066     *-*-darwin* )
  2067         # Strictly speaking, we want "Mac OS X", not "Darwin", which is
  2068         # just the OS X kernel sans upper layers like Carbon and Cocoa.
  2069         # But config.guess comes back with "darwin", so go with the flow.
  2070         ARCH=macosx
  2071         CheckDummyVideo
  2072         CheckDiskAudio
  2073         CheckQUARTZ
  2074         CheckMacGL
  2075         CheckPTHREAD
  2076         # Set up files for the main() stub
  2077         COPY_ARCH_SRC(src/main, macosx, SDLmain.m)
  2078         COPY_ARCH_SRC(src/main, macosx, SDLmain.h)
  2079         # Set up files for the audio library
  2080         if test x$enable_audio = xyes; then
  2081             AUDIO_SUBDIRS="$AUDIO_SUBDIRS macrom"
  2082             AUDIO_DRIVERS="$AUDIO_DRIVERS macrom/libaudio_macrom.la"
  2083         fi
  2084         # Set up files for the joystick library
  2085         if test x$enable_joystick = xyes; then
  2086             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS darwin"
  2087             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS darwin/libjoystick_darwin.la"
  2088         fi
  2089         # Set up files for the cdrom library
  2090         if test x$enable_cdrom = xyes; then
  2091             CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
  2092             CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
  2093         fi
  2094         # Set up files for the thread library
  2095         if test x$enable_threads = xyes; then
  2096             COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c)
  2097             COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
  2098             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  2099             COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  2100             if test x$use_pthreads = xyes -a x$have_pthread_sem != xyes; then
  2101                 COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
  2102             else
  2103                 COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
  2104             fi
  2105             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  2106             COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  2107             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  2108         fi
  2109         # Set up files for the timer library
  2110         if test x$enable_timers = xyes; then
  2111             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2112         fi
  2113         # The MacOS X platform requires special setup
  2114         SDL_CFLAGS="$SDL_CFLAGS -F/System/Library/Frameworks/Carbon.framework -F/System/Library/Frameworks/Cocoa.framework"
  2115         SDL_LIBS="-lSDLmain $SDL_LIBS -framework Carbon -framework Cocoa"
  2116         ;;
  2117     *)
  2118         AC_MSG_ERROR(Unsupported target:  Please add to configure.in)
  2119         ;;
  2120 esac
  2121 AC_SUBST(ARCH)
  2122 
  2123 # Set the conditional variables for this target
  2124 AM_CONDITIONAL(TARGET_LINUX, test $ARCH = linux)
  2125 AM_CONDITIONAL(TARGET_SOLARIS, test $ARCH = solaris)
  2126 AM_CONDITIONAL(TARGET_IRIX, test $ARCH = irix)
  2127 AM_CONDITIONAL(TARGET_BSDI, test $ARCH = bsdi)
  2128 AM_CONDITIONAL(TARGET_FREEBSD, test $ARCH = freebsd)
  2129 AM_CONDITIONAL(TARGET_NETBSD, test $ARCH = netbsd)
  2130 AM_CONDITIONAL(TARGET_OPENBSD, test $ARCH = openbsd)
  2131 AM_CONDITIONAL(TARGET_AIX, test $ARCH = aix)
  2132 AM_CONDITIONAL(TARGET_WIN32, test $ARCH = win32)
  2133 AM_CONDITIONAL(TARGET_BEOS, test $ARCH = beos)
  2134 AM_CONDITIONAL(TARGET_MACOS, test $ARCH = macos)
  2135 AM_CONDITIONAL(TARGET_MACOSX, test $ARCH = macosx)
  2136 
  2137 # Set conditional variables for shared and static library selection.
  2138 # These are not used in any Makefile.am but in sdl-config.in.
  2139 AM_CONDITIONAL([ENABLE_SHARED], [test "$enable_shared" = yes])
  2140 AM_CONDITIONAL([ENABLE_STATIC], [test "$enable_static" = yes])
  2141 
  2142 # Set runtime shared library paths as needed
  2143 
  2144 if test $ARCH = linux -o $ARCH = freebsd -o $ARCH = bsdi; then
  2145   SDL_RLD_FLAGS="-Wl,-rpath,\${exec_prefix}/lib"
  2146 fi
  2147 
  2148 if test $ARCH = solaris; then
  2149   SDL_RLD_FLAGS="-R\${exec_prefix}/lib"
  2150 fi
  2151 
  2152 if test $ARCH = openbsd; then
  2153   SDL_RLD_FLAGS="-Wl,-rpath,\${exec_prefix}/lib $SYSTEM_LIBS"
  2154 fi
  2155 
  2156 dnl Output the video drivers we use
  2157 if test x$enable_video = xtrue; then
  2158     if test "$VIDEO_SUBDIRS" = ""; then
  2159         AC_MSG_ERROR(*** No video drivers are enabled!)
  2160     fi
  2161 fi
  2162 AC_SUBST(AUDIO_SUBDIRS)
  2163 AC_SUBST(AUDIO_DRIVERS)
  2164 AC_SUBST(VIDEO_SUBDIRS)
  2165 AC_SUBST(VIDEO_DRIVERS)
  2166 AC_SUBST(JOYSTICK_SUBDIRS)
  2167 AC_SUBST(JOYSTICK_DRIVERS)
  2168 AC_SUBST(CDROM_SUBDIRS)
  2169 AC_SUBST(CDROM_DRIVERS)
  2170 AC_SUBST(SDL_EXTRADIRS)
  2171 AC_SUBST(SDL_EXTRALIBS)
  2172 AC_SUBST(SYSTEM_LIBS)
  2173 
  2174 dnl Expand the cflags and libraries needed by apps using SDL
  2175 AC_SUBST(SDL_CFLAGS)
  2176 AC_SUBST(SDL_LIBS)
  2177 AC_SUBST(SDL_RLD_FLAGS)
  2178 
  2179 dnl Expand the libraries needed for static linking
  2180 AC_SUBST(SYSTEM_LIBS)
  2181 dnl Expand the include directories for building SDL
  2182 CFLAGS="$CFLAGS -I\$(top_srcdir)/include"
  2183 CFLAGS="$CFLAGS -I\$(top_srcdir)/include/SDL"
  2184 CFLAGS="$CFLAGS -I\$(top_srcdir)/src -I\$(top_srcdir)/src/$ARCH"
  2185 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/main"
  2186 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/audio"
  2187 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video"
  2188 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/events"
  2189 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/joystick"
  2190 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/cdrom"
  2191 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/thread"
  2192 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/timer"
  2193 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/endian"
  2194 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/file"
  2195 CXXFLAGS="$CFLAGS"
  2196 
  2197 
  2198 # Check for darwin at the very end and set up the Objective C compiler
  2199 # We do this here so that we get the full CFLAGS into OBJCFLAGS
  2200 case "$target" in
  2201     *-*-darwin*)
  2202         OBJC="cc"
  2203         OBJCFLAGS="$CFLAGS"
  2204         AC_SUBST(OBJC)
  2205         AC_SUBST(OBJCFLAGS)
  2206         ;;
  2207 esac
  2208 
  2209 # Finally create all the generated files
  2210 dnl Important: Any directory that you want to be in the distcheck should
  2211 dnl            have a file listed here, so that configure generates the
  2212 dnl            subdirectories on the build target.
  2213 AC_OUTPUT([
  2214 Makefile
  2215 docs/Makefile
  2216 docs/html/Makefile
  2217 docs/man3/Makefile
  2218 include/Makefile
  2219 src/Makefile
  2220 src/main/Makefile
  2221 src/main/macosx/Makefile
  2222 src/main/macosx/Info.plist
  2223 src/audio/Makefile
  2224 src/audio/alsa/Makefile
  2225 src/audio/arts/Makefile
  2226 src/audio/baudio/Makefile
  2227 src/audio/dma/Makefile
  2228 src/audio/dmedia/Makefile
  2229 src/audio/dsp/Makefile
  2230 src/audio/esd/Makefile
  2231 src/audio/macrom/Makefile
  2232 src/audio/nas/Makefile
  2233 src/audio/nto/Makefile
  2234 src/audio/openbsd/Makefile
  2235 src/audio/paudio/Makefile
  2236 src/audio/sun/Makefile
  2237 src/audio/ums/Makefile
  2238 src/audio/windib/Makefile
  2239 src/audio/windx5/Makefile
  2240 src/audio/disk/Makefile
  2241 src/video/Makefile
  2242 src/video/cybergfx/Makefile
  2243 src/video/x11/Makefile
  2244 src/video/dga/Makefile
  2245 src/video/nanox/Makefile
  2246 src/video/fbcon/Makefile
  2247 src/video/directfb/Makefile
  2248 src/video/ps2gs/Makefile
  2249 src/video/ggi/Makefile
  2250 src/video/maccommon/Makefile
  2251 src/video/macdsp/Makefile
  2252 src/video/macrom/Makefile
  2253 src/video/quartz/Makefile
  2254 src/video/svga/Makefile
  2255 src/video/vgl/Makefile
  2256 src/video/aalib/Makefile
  2257 src/video/wincommon/Makefile
  2258 src/video/windib/Makefile
  2259 src/video/windx5/Makefile
  2260 src/video/bwindow/Makefile
  2261 src/video/photon/Makefile
  2262 src/video/epoc/Makefile
  2263 src/video/dummy/Makefile
  2264 src/events/Makefile
  2265 src/joystick/Makefile
  2266 src/joystick/amigaos/Makefile
  2267 src/joystick/beos/Makefile
  2268 src/joystick/darwin/Makefile
  2269 src/joystick/dummy/Makefile
  2270 src/joystick/linux/Makefile
  2271 src/joystick/macos/Makefile
  2272 src/joystick/win32/Makefile
  2273 src/cdrom/Makefile
  2274 src/cdrom/aix/Makefile
  2275 src/cdrom/beos/Makefile
  2276 src/cdrom/dummy/Makefile
  2277 src/cdrom/bsdi/Makefile
  2278 src/cdrom/freebsd/Makefile
  2279 src/cdrom/linux/Makefile
  2280 src/cdrom/macos/Makefile
  2281 src/cdrom/openbsd/Makefile
  2282 src/cdrom/qnx/Makefile
  2283 src/cdrom/win32/Makefile
  2284 src/thread/Makefile
  2285 src/timer/Makefile
  2286 src/endian/Makefile
  2287 src/file/Makefile
  2288 src/hermes/Makefile
  2289 sdl-config
  2290 SDL.spec
  2291 ], [chmod +x sdl-config])