configure.in
author Sam Lantinga <slouken@libsdl.org>
Tue, 02 Mar 2004 12:49:16 +0000
changeset 865 92615154bb68
parent 856 d3165b90ee42
child 868 e805075f6d94
permissions -rw-r--r--
Date: Sun, 29 Feb 2004 15:14:22 +0200
From: Martin_Storsj
Subject: Dynamic loading of ALSA

I recently discovered that SDL can dynamically load ESD and aRts, and
made a patch which adds this same functionality to ALSA.

The update for configure.in isn't too good (it should e.g. look for
libasound.so in other directories than /usr/lib), because I'm not too
good at shellscripting and autoconf.

The reason for using dlfcn.h and dlopen instead of SDL_LoadLibrary and
SDL_LoadFunction is that libasound uses versioned symbols, and it is
necessary to load the correct version using dlvsym. This isn't probably
any real portability issue, because ALSA is linux-only.
     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=7
    18 SDL_INTERFACE_AGE=0
    19 SDL_BINARY_AGE=7
    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_SYSTEM
    42 
    43 dnl Setup for automake
    44 AM_INIT_AUTOMAKE(SDL, $SDL_VERSION)
    45 
    46 dnl Check for tools
    47 
    48 AC_LIBTOOL_WIN32_DLL
    49 AM_PROG_LIBTOOL
    50 AC_PROG_MAKE_SET
    51 AC_PROG_CC
    52 AC_C_INLINE
    53 AC_C_CONST
    54 AC_PROG_CXX
    55 AC_PROG_INSTALL
    56 AC_FUNC_ALLOCA
    57 ASFLAGS=""
    58 AC_SUBST(ASFLAGS)
    59 CCAS="$CC"
    60 AC_SUBST(CCAS)
    61 CCASFLAGS=""
    62 AC_SUBST(CCASFLAGS)
    63 AM_CONDITIONAL([am__fastdepOBJC], false)
    64 
    65 dnl The alpha architecture needs special flags for binary portability
    66 case "$target" in
    67     alpha*-*-linux*)
    68         if test x$ac_cv_prog_gcc = xyes; then
    69             CFLAGS="$CFLAGS -mcpu=ev4 -Wa,-mall"
    70         fi
    71         ;;
    72 esac
    73 
    74 dnl Add compiler-specific optimization flags
    75 
    76 dnl See if the user wants aggressive optimizations of the code
    77 AC_ARG_ENABLE(debug,
    78 [  --enable-debug          Disable aggressive optimizations [default=yes]],
    79               , enable_debug=yes)
    80 if test x$enable_debug != xyes; then
    81     if test x$ac_cv_prog_gcc = xyes; then
    82         CFLAGS="$CFLAGS -fexpensive-optimizations"
    83         # Ack! This breaks the MMX YV12 conversion on gcc 2.95.2
    84         # CFLAGS="$CFLAGS -fomit-frame-pointer"
    85     fi
    86     case "$target" in
    87         i486-*-*)
    88             if test x$ac_cv_prog_gcc = xyes; then
    89                 CFLAGS="$CFLAGS -march=i486"
    90             fi
    91             ;;
    92         i?86-*-*)
    93             if test x$ac_cv_prog_gcc = xyes; then
    94                 CFLAGS="$CFLAGS -march=pentium -mcpu=pentiumpro"
    95             fi
    96             ;;
    97         *-*-osf*)
    98             if test x$ac_cv_prog_gcc != xyes; then
    99                 CFLAGS="-g3 -fast -arch host"
   100             fi
   101             ;;
   102     esac
   103 fi
   104 
   105 dnl Add verbose warnings by default, and allow ANSI compliance checking
   106 AC_ARG_ENABLE(strict-ansi,
   107 [  --enable-strict-ansi    Enable strict ANSI compliance build [default=no]],
   108               , enable_strict_ansi=no)
   109 if test x$ac_cv_prog_gcc = xyes; then
   110     CFLAGS="$CFLAGS -Wall"
   111     if test x$enable_strict_ansi = xyes; then
   112         CFLAGS="$CFLAGS -ansi -pedantic -D_XOPEN_SOURCE"
   113     fi
   114 fi
   115 
   116 dnl Initialize the compiler and linker flags for SDL applications
   117 
   118 SDL_CFLAGS=""
   119 SDL_LIBS="-lSDL"
   120 
   121 dnl Add the math library for the new gamma correction support
   122 
   123 case "$target" in
   124     *-*-cygwin* | *-*-mingw32*)
   125         MATHLIB=""
   126         ;;
   127     *-*-beos*)
   128         MATHLIB=""
   129         ;;
   130     *-*-darwin*)
   131         MATHLIB=""
   132         ;;
   133     *)
   134         MATHLIB="-lm"
   135         ;;
   136 esac
   137 SYSTEM_LIBS="$SYSTEM_LIBS $MATHLIB"
   138 
   139 dnl Enable/disable various subsystems of the SDL library
   140 
   141 AC_ARG_ENABLE(audio,
   142 [  --enable-audio          Enable the audio subsystem [default=yes]],
   143               , enable_audio=yes)
   144 if test x$enable_audio = xyes; then
   145     SDL_EXTRADIRS="$SDL_EXTRADIRS audio"
   146     SDL_EXTRALIBS="$SDL_EXTRALIBS audio/libaudio.la"
   147 else
   148     CFLAGS="$CFLAGS -DDISABLE_AUDIO"
   149 fi
   150 AC_ARG_ENABLE(video,
   151 [  --enable-video          Enable the video subsystem [default=yes]],
   152               , enable_video=yes)
   153 if test x$enable_video = xyes; then
   154     SDL_EXTRADIRS="$SDL_EXTRADIRS video"
   155     SDL_EXTRALIBS="$SDL_EXTRALIBS video/libvideo.la"
   156 else
   157     CFLAGS="$CFLAGS -DDISABLE_VIDEO"
   158 fi
   159 AC_ARG_ENABLE(events,
   160 [  --enable-events         Enable the events subsystem [default=yes]],
   161               , enable_events=yes)
   162 if test x$enable_video = xyes -a x$enable_events = xyes; then
   163     SDL_EXTRADIRS="$SDL_EXTRADIRS events"
   164     SDL_EXTRALIBS="$SDL_EXTRALIBS events/libevents.la"
   165 else
   166     CFLAGS="$CFLAGS -DDISABLE_EVENTS"
   167 fi
   168 AC_ARG_ENABLE(joystick,
   169 [  --enable-joystick       Enable the joystick subsystem [default=yes]],
   170               , enable_joystick=yes)
   171 if test x$enable_joystick = xyes; then
   172     SDL_EXTRADIRS="$SDL_EXTRADIRS joystick"
   173     SDL_EXTRALIBS="$SDL_EXTRALIBS joystick/libjoystick.la"
   174 else
   175     CFLAGS="$CFLAGS -DDISABLE_JOYSTICK"
   176 fi
   177 AC_ARG_ENABLE(cdrom,
   178 [  --enable-cdrom          Enable the cdrom subsystem [default=yes]],
   179               , enable_cdrom=yes)
   180 if test x$enable_cdrom = xyes; then
   181     SDL_EXTRADIRS="$SDL_EXTRADIRS cdrom"
   182     SDL_EXTRALIBS="$SDL_EXTRALIBS cdrom/libcdrom.la"
   183 else
   184     CFLAGS="$CFLAGS -DDISABLE_CDROM"
   185 fi
   186 AC_ARG_ENABLE(threads,
   187 [  --enable-threads        Enable the threading subsystem [default=yes]],
   188               , enable_threads=yes)
   189 SDL_EXTRADIRS="$SDL_EXTRADIRS thread"
   190 SDL_EXTRALIBS="$SDL_EXTRALIBS thread/libthread.la"
   191 if test x$enable_threads != xyes; then
   192     CFLAGS="$CFLAGS -DDISABLE_THREADS"
   193     COPY_ARCH_SRC(src/thread, generic, SDL_systhread.c)
   194     COPY_ARCH_SRC(src/thread, generic, SDL_systhread_c.h)
   195     COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c)
   196     COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
   197     COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
   198     COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
   199     COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
   200     COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
   201 fi
   202 AC_ARG_ENABLE(timers,
   203 [  --enable-timers         Enable the timer subsystem [default=yes]],
   204               , enable_timers=yes)
   205 if test x$enable_timers = xyes; then
   206     SDL_EXTRADIRS="$SDL_EXTRADIRS timer"
   207     SDL_EXTRALIBS="$SDL_EXTRALIBS timer/libtimer.la"
   208 else
   209     CFLAGS="$CFLAGS -DDISABLE_TIMERS"
   210 fi
   211 AC_ARG_ENABLE(endian,
   212 [  --enable-endian         Enable the endian subsystem [default=yes]],
   213               , enable_endian=yes)
   214 if test x$enable_endian = xyes; then
   215     SDL_EXTRADIRS="$SDL_EXTRADIRS endian"
   216     SDL_EXTRALIBS="$SDL_EXTRALIBS endian/libendian.la"
   217 else
   218     CFLAGS="$CFLAGS -DDISABLE_ENDIAN"
   219 fi
   220 AC_ARG_ENABLE(file,
   221 [  --enable-file           Enable the file subsystem [default=yes]],
   222               , enable_file=yes)
   223 if test x$enable_file = xyes; then
   224     SDL_EXTRADIRS="$SDL_EXTRADIRS file"
   225     SDL_EXTRALIBS="$SDL_EXTRALIBS file/libfile.la"
   226 else
   227     CFLAGS="$CFLAGS -DDISABLE_FILE"
   228 fi
   229 AC_ARG_ENABLE(cpuinfo,
   230 [  --enable-cpuinfo        Enable the cpuinfo subsystem [default=yes]],
   231               , enable_cpuinfo=yes)
   232 if test x$enable_cpuinfo = xyes; then
   233     SDL_EXTRADIRS="$SDL_EXTRADIRS cpuinfo"
   234     SDL_EXTRALIBS="$SDL_EXTRALIBS cpuinfo/libcpuinfo.la"
   235 else
   236     CFLAGS="$CFLAGS -DDISABLE_CPUINFO"
   237 fi
   238 
   239 dnl See if the OSS audio interface is supported
   240 CheckOSS()
   241 {
   242     AC_ARG_ENABLE(oss,
   243 [  --enable-oss            support the OSS audio API [default=yes]],
   244                   , enable_oss=yes)
   245     if test x$enable_audio = xyes -a x$enable_oss = xyes; then
   246         AC_MSG_CHECKING(for OSS audio support)
   247         have_oss=no
   248         if test x$have_oss != xyes; then
   249             AC_TRY_COMPILE([
   250               #include <sys/soundcard.h>
   251             ],[
   252               int arg = SNDCTL_DSP_SETFRAGMENT;
   253             ],[
   254             have_oss=yes
   255             ])
   256         fi
   257         if test x$have_oss != xyes; then
   258             AC_TRY_COMPILE([
   259               #include <soundcard.h>
   260             ],[
   261               int arg = SNDCTL_DSP_SETFRAGMENT;
   262             ],[
   263             have_oss=yes
   264             CFLAGS="$CFLAGS -DOSS_USE_SOUNDCARD_H"
   265             ])
   266         fi
   267         AC_MSG_RESULT($have_oss)
   268         if test x$have_oss = xyes; then
   269             CFLAGS="$CFLAGS -DOSS_SUPPORT"
   270             AUDIO_SUBDIRS="$AUDIO_SUBDIRS dsp"
   271             AUDIO_DRIVERS="$AUDIO_DRIVERS dsp/libaudio_dsp.la"
   272             AUDIO_SUBDIRS="$AUDIO_SUBDIRS dma"
   273             AUDIO_DRIVERS="$AUDIO_DRIVERS dma/libaudio_dma.la"
   274         fi
   275     fi
   276 }
   277 
   278 dnl See if the ALSA audio interface is supported
   279 CheckALSA()
   280 {
   281     AC_ARG_ENABLE(alsa,
   282 [  --enable-alsa           support the ALSA audio API [default=yes]],
   283                   , enable_alsa=yes)
   284     if test x$enable_audio = xyes -a x$enable_alsa = xyes; then
   285         AC_MSG_CHECKING(for ALSA audio support)
   286         have_alsa=no
   287         AC_TRY_COMPILE([
   288           #include <alsa/asoundlib.h>
   289         ],[
   290           #if SND_LIB_VERSION < ((0<<16)|(9<<8)|0)
   291           #error Your version of ALSA is too old
   292           #endif
   293           snd_pcm_t *pcm_handle;
   294         ],[
   295         AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes)
   296         ])
   297         if test x$have_alsa = xyes; then
   298             AC_ARG_ENABLE(alsa-shared,
   299 [  --enable-alsa-shared     dynamically load ALSA audio support [default=yes]],
   300                           , enable_alsa_shared=yes)
   301             alsa_lib=`ls /usr/lib/libasound.so.* | head -1 | sed 's/.*\/\(.*\)/\1/'`
   302             if test x$use_dlopen != xyes && \
   303                test x$enable_alsa_shared = xyes; then
   304                 AC_MSG_ERROR([You must have dlopen() support and use the --enable-dlopen option])
   305             fi
   306             if test x$use_dlopen = xyes && \
   307                test x$enable_alsa_shared = xyes && test x$alsa_lib != x; then
   308                 CFLAGS="$CFLAGS -DALSA_SUPPORT -DALSA_DYNAMIC=\$(alsa_lib)"
   309                 AC_SUBST(alsa_lib)
   310             else
   311                 CFLAGS="$CFLAGS -DALSA_SUPPORT"
   312                 SYSTEM_LIBS="$SYSTEM_LIBS -lasound"
   313             fi
   314             AUDIO_SUBDIRS="$AUDIO_SUBDIRS alsa"
   315             AUDIO_DRIVERS="$AUDIO_DRIVERS alsa/libaudio_alsa.la"
   316         else
   317             AC_MSG_RESULT($have_alsa)
   318         fi
   319     fi
   320 }
   321 
   322 dnl Check whether we want to use IRIX 6.5+ native audio or not
   323 CheckDMEDIA()
   324 {
   325     if test x$enable_audio = xyes; then
   326         AC_MSG_CHECKING(for dmedia audio support)
   327         have_dmedia=no
   328         AC_TRY_COMPILE([
   329           #include <dmedia/audio.h>
   330         ],[
   331           ALport audio_port;
   332         ],[
   333         have_dmedia=yes
   334         ])
   335         # Set up files for the audio library
   336         if test x$have_dmedia = xyes; then
   337             CFLAGS="$CFLAGS -DDMEDIA_SUPPORT"
   338             AUDIO_SUBDIRS="$AUDIO_SUBDIRS dmedia"
   339             AUDIO_DRIVERS="$AUDIO_DRIVERS dmedia/libaudio_dmedia.la"
   340             SYSTEM_LIBS="$SYSTEM_LIBS -laudio"
   341         fi
   342     fi
   343 }
   344 
   345 dnl Find the ESD includes and libraries
   346 CheckESD()
   347 {
   348     AC_ARG_ENABLE(esd,
   349 [  --enable-esd            support the Enlightened Sound Daemon [default=yes]],
   350                   , enable_esd=yes)
   351     if test x$enable_audio = xyes -a x$enable_esd = xyes; then
   352         use_esd=no
   353         AM_PATH_ESD(0.2.8, use_esd=yes)
   354         if test x$use_esd = xyes; then
   355             AC_ARG_ENABLE(esd-shared,
   356 [  --enable-esd-shared     dynamically load ESD audio support [default=yes]],
   357                           , enable_esd_shared=yes)
   358             esd_lib_spec=`echo $ESD_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libesd.so.*/'`
   359             esd_lib=`ls $esd_lib_spec | head -1 | sed 's/.*\/\(.*\)/\1/'`
   360             echo "-- $esd_lib_spec -> $esd_lib"
   361             if test x$use_dlopen != xyes && \
   362                test x$enable_esd_shared = xyes; then
   363                 AC_MSG_ERROR([You must have dlopen() support and use the --enable-dlopen option])
   364             fi
   365             if test x$use_dlopen = xyes && \
   366                test x$enable_esd_shared = xyes && test x$esd_lib != x; then
   367                 CFLAGS="$CFLAGS -DESD_SUPPORT -DESD_DYNAMIC=\$(esd_lib) $ESD_CFLAGS"
   368                 AC_SUBST(esd_lib)
   369             else
   370                 CFLAGS="$CFLAGS -DESD_SUPPORT $ESD_CFLAGS"
   371                 SYSTEM_LIBS="$SYSTEM_LIBS $ESD_LIBS"
   372             fi
   373             AUDIO_SUBDIRS="$AUDIO_SUBDIRS esd"
   374             AUDIO_DRIVERS="$AUDIO_DRIVERS esd/libaudio_esd.la"
   375         fi
   376     fi
   377 }
   378 
   379 CheckARTSC()
   380 {
   381     AC_ARG_ENABLE(arts,
   382 [  --enable-arts           support the Analog Real Time Synthesizer [default=yes]],
   383                   , enable_arts=yes)
   384     if test x$enable_audio = xyes -a x$enable_arts = xyes; then
   385         AC_PATH_PROG(ARTSCCONFIG, artsc-config)
   386         if test x$ARTSCCONFIG = x -o x$ARTSCCONFIG = x'"$ARTSCCONFIG"'; then
   387             : # arts isn't installed
   388         else
   389             ARTSC_CFLAGS=`$ARTSCCONFIG --cflags`
   390             ARTSC_LIBS=`$ARTSCCONFIG --libs`
   391             ARTSC_PREFIX=`$ARTSCCONFIG --arts-prefix`
   392             AC_MSG_CHECKING(for aRts development environment)
   393             audio_arts=no
   394             save_CFLAGS="$CFLAGS"
   395             CFLAGS="$CFLAGS $ARTSC_CFLAGS"
   396             AC_TRY_COMPILE([
   397              #include <artsc.h>
   398             ],[
   399              arts_stream_t stream;
   400             ],[
   401             audio_arts=yes
   402             ])
   403             CFLAGS="$save_CFLAGS"
   404             AC_MSG_RESULT($audio_arts)
   405             if test x$audio_arts = xyes; then
   406                 AC_ARG_ENABLE(arts-shared,
   407 [  --enable-arts-shared    dynamically load aRts audio support [default=yes]],
   408                               , enable_arts_shared=yes)
   409                 arts_lib_spec="$ARTSC_PREFIX/lib/libartsc.so.*"
   410                 arts_lib=`ls $arts_lib_spec | head -1 | sed 's/.*\/\(.*\)/\1/'`
   411                 echo "-- $arts_lib_spec -> $arts_lib"
   412                 if test x$use_dlopen != xyes && \
   413                    test x$enable_arts_shared = xyes; then
   414                     AC_MSG_ERROR([You must have dlopen() support and use the --enable-dlopen option])
   415                 fi
   416                 if test x$use_dlopen = xyes && \
   417                    test x$enable_arts_shared = xyes && test x$arts_lib != x; then
   418                     CFLAGS="$CFLAGS -DARTSC_SUPPORT -DARTSC_DYNAMIC=\$(arts_lib) $ARTSC_CFLAGS"
   419                     AC_SUBST(arts_lib)
   420                 else
   421                     CFLAGS="$CFLAGS -DARTSC_SUPPORT $ARTSC_CFLAGS"
   422                     SYSTEM_LIBS="$SYSTEM_LIBS $ARTSC_LIBS"
   423                 fi
   424                 AUDIO_SUBDIRS="$AUDIO_SUBDIRS arts"
   425                 AUDIO_DRIVERS="$AUDIO_DRIVERS arts/libaudio_arts.la"
   426             fi
   427         fi
   428     fi
   429 }
   430 
   431 dnl See if the NAS audio interface is supported
   432 CheckNAS()
   433 {
   434     AC_ARG_ENABLE(nas,
   435 [  --enable-nas            support the NAS audio API [default=yes]],
   436                   , enable_nas=yes)
   437     if test x$enable_audio = xyes -a x$enable_nas = xyes; then
   438         AC_MSG_CHECKING(for NAS audio support)
   439         have_nas=no
   440         if test -r /usr/X11R6/include/audio/audiolib.h; then
   441             have_nas=yes
   442             CFLAGS="$CFLAGS -DNAS_SUPPORT -I/usr/X11R6/include/"
   443             SYSTEM_LIBS="$SYSTEM_LIBS -laudio -lXt"
   444             AUDIO_SUBDIRS="$AUDIO_SUBDIRS nas"
   445             AUDIO_DRIVERS="$AUDIO_DRIVERS nas/libaudio_nas.la"
   446 
   447         dnl On IRIX, the NAS includes are in a different directory,
   448         dnl and libnas must be explicitly linked in
   449 
   450         elif test -r /usr/freeware/include/nas/audiolib.h; then
   451             have_nas=yes
   452             CFLAGS="$CFLAGS -DNAS_SUPPORT"
   453             SYSTEM_LIBS="$SYSTEM_LIBS -lnas -lXt"
   454             AUDIO_SUBDIRS="$AUDIO_SUBDIRS nas"
   455             AUDIO_DRIVERS="$AUDIO_DRIVERS nas/libaudio_nas.la"
   456         fi
   457         AC_MSG_RESULT($have_nas)
   458     fi
   459 }
   460 
   461 dnl rcg07142001 See if the user wants the disk writer audio driver...
   462 CheckDiskAudio()
   463 {
   464     AC_ARG_ENABLE(diskaudio,
   465 [  --enable-diskaudio      support the disk writer audio driver [default=yes]],
   466                   , enable_diskaudio=yes)
   467     if test x$enable_audio = xyes -a x$enable_diskaudio = xyes; then
   468         CFLAGS="$CFLAGS -DDISKAUD_SUPPORT"
   469         AUDIO_SUBDIRS="$AUDIO_SUBDIRS disk"
   470         AUDIO_DRIVERS="$AUDIO_DRIVERS disk/libaudio_disk.la"
   471     fi
   472 }
   473 
   474 dnl Set up the Atari Audio driver
   475 CheckAtariAudio()
   476 {
   477     AC_ARG_ENABLE(mintaudio,
   478 [  --enable-mintaudio      support Atari audio driver [default=yes]],
   479                   , enable_mintaudio=yes)
   480     if test x$enable_audio = xyes -a x$enable_mintaudio = xyes; then
   481         mintaudio=no
   482         AC_CHECK_HEADER(mint/falcon.h, have_mint_falcon_hdr=yes)
   483         if test x$have_mint_falcon_hdr = xyes; then
   484             mintaudio=yes
   485             CFLAGS="$CFLAGS -DMINTAUDIO_SUPPORT"
   486             AUDIO_SUBDIRS="$AUDIO_SUBDIRS mint"
   487             AUDIO_DRIVERS="$AUDIO_DRIVERS mint/libaudio_mintaudio.la"
   488         fi
   489     fi
   490 }
   491 
   492 dnl See if we can use x86 assembly blitters
   493 # NASM is available from: http://nasm.octium.net/
   494 CheckNASM()
   495 {
   496     dnl Make sure we are running on an x86 platform
   497     case $target in
   498         i?86*)
   499             ;;
   500         *)
   501         # Nope, bail early.
   502             return
   503             ;;
   504     esac
   505     dnl Check for NASM (for assembly blit routines)
   506     AC_ARG_ENABLE(nasm,
   507 [  --enable-nasm           use nasm assembly blitters on x86 [default=yes]],
   508                   , enable_nasm=yes)
   509     if test x$enable_video = xyes -a x$enable_nasm = xyes; then
   510         AC_PATH_PROG(NASM, nasm)
   511         if test x$NASM = x -o x$NASM = x'"$NASM"'; then
   512             : # nasm isn't installed
   513         else
   514             CFLAGS="$CFLAGS -DUSE_ASMBLIT -I$srcdir/hermes"
   515             case $ARCH in
   516               win32)
   517                   NASMFLAGS="-f win32"
   518                   ;;
   519               openbsd)
   520                   NASMFLAGS="-f aoutb"
   521                   ;;
   522               *)
   523                   NASMFLAGS="-f elf"
   524                   ;;
   525             esac
   526             AC_SUBST(NASMFLAGS)
   527             CFLAGS="$CFLAGS -I\$(top_srcdir)/src/hermes"
   528             SDL_EXTRADIRS="$SDL_EXTRADIRS hermes"
   529             SDL_EXTRALIBS="$SDL_EXTRALIBS hermes/libhermes.la"
   530             use_nasm=yes
   531         fi
   532     fi
   533 }
   534 
   535 dnl Find the nanox include and library directories
   536 CheckNANOX()
   537 {
   538     AC_ARG_ENABLE(video-nanox,
   539         [  --enable-video-nanox use nanox video driver [default=no]],
   540         , enable_video_nanox=no)
   541     AC_ARG_ENABLE(nanox-debug,  
   542         [  --enable-nanox-debug print debug messages [default=no]],
   543         , enable_nanox_debug=no)
   544     AC_ARG_ENABLE(nanox-share-memory,  
   545         [  --enable-nanox-share-memory use share memory [default=no]],
   546         , enable_nanox_share_memory=no)
   547     AC_ARG_ENABLE(nanox_direct_fb, 
   548         [  --enable-nanox-direct-fb use direct framebuffer access [default=no]],
   549         , enable_nanox_direct_fb=no)
   550 
   551     if test x$enable_video = xyes -a x$enable_video_nanox = xyes; then
   552         if test x$enable_nanox_debug = xyes; then
   553             CFLAGS="$CFLAGS -DENABLE_NANOX_DEBUG"
   554         fi
   555 
   556         if test x$enable_nanox_share_memory = xyes; then
   557             CFLAGS="$CFLAGS -DNANOX_SHARE_MEMORY"
   558         fi
   559 
   560         if test x$enable_nanox_direct_fb = xyes; then
   561             CFLAGS="$CFLAGS -DENABLE_NANOX_DIRECT_FB"
   562         fi
   563 
   564         CFLAGS="$CFLAGS $X_CFLAGS -DENABLE_NANOX"
   565         SYSTEM_LIBS="$SYSTEM_LIBS -lnano-X"
   566         VIDEO_SUBDIRS="$VIDEO_SUBDIRS nanox"
   567         VIDEO_DRIVERS="$VIDEO_DRIVERS nanox/libvideo_nanox.la"
   568     fi
   569 }
   570 
   571 dnl Find the X11 include and library directories
   572 CheckX11()
   573 {
   574     AC_ARG_ENABLE(video-x11,
   575 [  --enable-video-x11      use X11 video driver [default=yes]],
   576                   , enable_video_x11=yes)
   577     if test x$enable_video = xyes -a x$enable_video_x11 = xyes; then
   578         AC_PATH_X
   579         AC_PATH_XTRA
   580         if test x$have_x = xyes; then
   581             CFLAGS="$CFLAGS $X_CFLAGS -DENABLE_X11 -DXTHREADS -I$srcdir/include -I$srcdir/src/video"
   582             if test x$ac_cv_func_shmat != xyes; then
   583                 CFLAGS="$CFLAGS -DNO_SHARED_MEMORY"
   584             fi
   585             SYSTEM_LIBS="$SYSTEM_LIBS $X_LIBS -lX11 -lXext"
   586             VIDEO_SUBDIRS="$VIDEO_SUBDIRS x11"
   587             VIDEO_DRIVERS="$VIDEO_DRIVERS x11/libvideo_x11.la"
   588 
   589             AC_ARG_ENABLE(video-x11-vm,
   590 [  --enable-video-x11-vm   use X11 VM extension for fullscreen [default=yes]],
   591                           , enable_video_x11_vm=yes)
   592             if test x$enable_video_x11_vm = xyes; then
   593                 AC_MSG_CHECKING(for XFree86 VidMode 1.0 support)
   594                 video_x11_vm=no
   595                 AC_TRY_COMPILE([
   596                  #include <X11/Xlib.h>
   597                  #include <XFree86/extensions/xf86vmode.h>
   598                 ],[
   599                 ],[
   600                 video_x11_vm=yes
   601                 ])
   602                 AC_MSG_RESULT($video_x11_vm)
   603                 if test x$video_x11_vm = xyes; then
   604                     CFLAGS="$CFLAGS -DXFREE86_VM"
   605                     VIDEO_SUBDIRS="$VIDEO_SUBDIRS XFree86/Xxf86vm"
   606                     VIDEO_DRIVERS="$VIDEO_DRIVERS XFree86/Xxf86vm/libXFree86_Xxf86vm.la"
   607                     AC_MSG_CHECKING(for XFree86 VidMode gamma support)
   608                     video_x11_vmgamma=no
   609                     AC_TRY_COMPILE([
   610                      #include <X11/Xlib.h>
   611                      #include <XFree86/extensions/xf86vmode.h>
   612                     ],[
   613                      SDL_NAME(XF86VidModeGamma) gamma;
   614                     ],[
   615                     video_x11_vmgamma=yes
   616                     ])
   617                     AC_MSG_RESULT($video_x11_vmgamma)
   618                     if test x$video_x11_vmgamma = xyes; then
   619                         CFLAGS="$CFLAGS -DXFREE86_VMGAMMA"
   620                     fi
   621                 fi
   622             fi
   623             AC_ARG_ENABLE(dga,
   624 [  --enable-dga            allow use of X11 DGA code [default=yes]],
   625                           , enable_dga=yes)
   626             AC_ARG_ENABLE(video-x11-dgamouse,
   627 [  --enable-video-x11-dgamouse  use X11 DGA for mouse events [default=yes]],
   628                           , enable_video_x11_dgamouse=yes)
   629             if test x$enable_dga = xyes; then
   630                 AC_MSG_CHECKING(for XFree86 DGA 1.0 support)
   631                 video_x11_dga=no
   632                 AC_TRY_COMPILE([
   633                  #include <X11/Xlib.h>
   634                  #include <XFree86/extensions/xf86dga.h>
   635                 ],[
   636                 ],[
   637                 video_x11_dga=yes
   638                 ])
   639                 AC_MSG_RESULT($video_x11_dga)
   640                 if test x$video_x11_dga = xyes; then
   641                     CFLAGS="$CFLAGS -DXFREE86_DGAMOUSE"
   642                     if test x$enable_video_x11_dgamouse = xyes; then
   643                         CFLAGS="$CFLAGS -DDEFAULT_DGAMOUSE"
   644                     fi
   645                     VIDEO_SUBDIRS="$VIDEO_SUBDIRS XFree86/Xxf86dga"
   646                     VIDEO_DRIVERS="$VIDEO_DRIVERS XFree86/Xxf86dga/libXFree86_Xxf86dga.la"
   647                 fi
   648             fi
   649             AC_ARG_ENABLE(video-x11-xv,
   650 [  --enable-video-x11-xv   use X11 XvImage extension for video [default=yes]],
   651                           , enable_video_x11_xv=yes)
   652             if test x$enable_video_x11_xv = xyes; then
   653                 AC_MSG_CHECKING(for XFree86 XvImage support)
   654                 video_x11_xv=no
   655                 AC_TRY_COMPILE([
   656                  #include <X11/Xlib.h>
   657                  #include <sys/ipc.h>
   658                  #include <sys/shm.h>
   659                  #include <X11/extensions/XShm.h>
   660                  #include <XFree86/extensions/Xvlib.h>
   661                 ],[
   662                  SDL_NAME(XvImage) *image;
   663                 ],[
   664                 video_x11_xv=yes
   665                 ])
   666                 AC_MSG_RESULT($video_x11_xv)
   667                 if test x$video_x11_xv = xyes; then
   668                     CFLAGS="$CFLAGS -DXFREE86_XV"
   669                     VIDEO_SUBDIRS="$VIDEO_SUBDIRS XFree86/Xv"
   670                     VIDEO_DRIVERS="$VIDEO_DRIVERS XFree86/Xv/libXFree86_Xv.la"
   671                 fi
   672             fi
   673             AC_ARG_ENABLE(video-x11-xinerama,
   674 [  --enable-video-x11-xinerama   enable X11 Xinerama support [default=yes]],
   675                             , enable_video_x11_xinerama=yes)
   676             if test x$enable_video_x11_xinerama = xyes; then
   677                 AC_MSG_CHECKING(for X11 Xinerama support)
   678                 video_x11_xinerama=no
   679                 AC_TRY_COMPILE([
   680                  #include <X11/Xlib.h>
   681                  #include <XFree86/extensions/Xinerama.h>
   682                 ],[
   683                  SDL_NAME(XineramaScreenInfo) *xinerama;
   684                 ],[
   685                 video_x11_xinerama=yes
   686                 ])
   687                 AC_MSG_RESULT($video_x11_xinerama)
   688                 if test x$video_x11_xinerama = xyes; then
   689                     CFLAGS="$CFLAGS -DHAVE_XINERAMA"
   690                     VIDEO_SUBDIRS="$VIDEO_SUBDIRS XFree86/Xinerama"
   691                     VIDEO_DRIVERS="$VIDEO_DRIVERS XFree86/Xinerama/libXFree86_Xinerama.la"
   692                 fi
   693             fi
   694             AC_ARG_ENABLE(video-x11-xme,
   695 [  --enable-video-x11-xme  enable Xi Graphics XME for fullscreen [default=yes]],
   696                             , enable_video_x11_xme=yes)
   697             if test x$enable_video_x11_xme = xyes; then
   698                 AC_MSG_CHECKING(for Xi Graphics XiGMiscExtension support)
   699                 video_x11_xme=no
   700                 AC_TRY_COMPILE([
   701                  #include <X11/Xlib.h>
   702                  #include <X11/extensions/xme.h>
   703                 ],[
   704                  XiGMiscResolutionInfo *resolutions;
   705                 ],[
   706                 video_x11_xme=yes
   707                 ])
   708                 AC_MSG_RESULT($video_x11_xme)
   709                 if test x$video_x11_xme = xyes; then
   710                     CFLAGS="$CFLAGS -DHAVE_XIGXME"
   711                     SYSTEM_LIBS="$SYSTEM_LIBS -lxme"
   712                 fi
   713             fi
   714         fi
   715     fi
   716 }
   717 
   718 dnl Find the X11 DGA 2.0 include and library directories
   719 CheckDGA()
   720 {
   721     AC_ARG_ENABLE(video-dga,
   722 [  --enable-video-dga      use DGA 2.0 video driver [default=yes]],
   723                   , enable_video_dga=yes)
   724     if test x$video_x11_dga = xyes -a x$enable_video_dga = xyes; then
   725         save_CFLAGS="$CFLAGS"; CFLAGS="$CFLAGS -Isrc/video"
   726         AC_MSG_CHECKING(for XFree86 DGA 2.0 support)
   727         video_x11_dga2=no
   728         AC_TRY_COMPILE([
   729          #include <X11/Xlib.h>
   730          #include <XFree86/extensions/xf86dga.h>
   731         ],[
   732          SDL_NAME(XDGAEvent) xevent;
   733         ],[
   734         video_x11_dga2=yes
   735         ])
   736         AC_MSG_RESULT($video_x11_dga2)
   737         if test x$video_x11_dga2 = xyes; then
   738             CFLAGS="$CFLAGS -DENABLE_DGA"
   739             VIDEO_SUBDIRS="$VIDEO_SUBDIRS dga"
   740             VIDEO_DRIVERS="$VIDEO_DRIVERS dga/libvideo_dga.la"
   741         fi
   742     fi
   743 }
   744 
   745 CheckPHOTON()
   746 {
   747     AC_ARG_ENABLE(video-photon,
   748 [  --enable-video-photon   use QNX Photon video driver [default=yes]],
   749                   , enable_video_photon=yes)
   750     if test x$enable_video = xyes -a x$enable_video_photon = xyes; then
   751         AC_MSG_CHECKING(for QNX Photon support)
   752         video_photon=no
   753         AC_TRY_COMPILE([
   754           #include <Ph.h>
   755           #include <Pt.h>
   756           #include <photon/Pg.h>
   757           #include <photon/PdDirect.h>
   758         ],[
   759          PgDisplaySettings_t *visual;
   760         ],[
   761         video_photon=yes
   762         ])
   763         AC_MSG_RESULT($video_photon)
   764         if test x$video_photon = xyes; then
   765             CFLAGS="$CFLAGS -DENABLE_PHOTON"
   766             SYSTEM_LIBS="$SYSTEM_LIBS -lph"
   767             VIDEO_SUBDIRS="$VIDEO_SUBDIRS photon"
   768             VIDEO_DRIVERS="$VIDEO_DRIVERS photon/libvideo_photon.la"
   769             CheckOpenGLQNX
   770         fi
   771     fi
   772 }
   773 
   774 dnl Find the framebuffer console includes
   775 CheckFBCON()
   776 {
   777     AC_ARG_ENABLE(video-fbcon,
   778 [  --enable-video-fbcon    use framebuffer console video driver [default=yes]],
   779                   , enable_video_fbcon=yes)
   780     if test x$enable_video = xyes -a x$enable_video_fbcon = xyes; then
   781         AC_MSG_CHECKING(for framebuffer console support)
   782         video_fbcon=no
   783         AC_TRY_COMPILE([
   784          #include <linux/fb.h>
   785          #include <linux/kd.h>
   786          #include <linux/keyboard.h>
   787         ],[
   788         ],[
   789         video_fbcon=yes
   790         ])
   791         AC_MSG_RESULT($video_fbcon)
   792         if test x$video_fbcon = xyes; then
   793             CFLAGS="$CFLAGS -DENABLE_FBCON"
   794             VIDEO_SUBDIRS="$VIDEO_SUBDIRS fbcon"
   795             VIDEO_DRIVERS="$VIDEO_DRIVERS fbcon/libvideo_fbcon.la"
   796         fi
   797     fi
   798 }
   799 
   800 dnl Find DirectFB
   801 CheckDirectFB()
   802 {
   803     AC_ARG_ENABLE(video-directfb,
   804 [  --enable-video-directfb use DirectFB video driver [default=no]],
   805                   , enable_video_directfb=no)
   806     if test x$enable_video = xyes -a x$enable_video_directfb = xyes; then
   807         video_directfb=no
   808 
   809         AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
   810         if test x$PKG_CONFIG = xno ; then
   811             AC_MSG_WARN([*** pkg-config is required to build the DirectFB video driver.])
   812         else
   813             AC_MSG_CHECKING(for DirectFB support)
   814 
   815             if ! $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then
   816                 AC_MSG_ERROR([*** pkg-config too old; version 0.7 or better required.])
   817             fi
   818 
   819             DIRECTFB_REQUIRED_VERSION=0.9.15
   820 
   821             if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb ; then
   822                 DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags directfb`
   823                 DIRECTFB_LIBS=`$PKG_CONFIG --libs directfb`
   824                 video_directfb=yes
   825             fi
   826         fi
   827 
   828         AC_MSG_RESULT($video_directfb)
   829         if test x$video_directfb = xyes; then
   830             CFLAGS="$CFLAGS -DENABLE_DIRECTFB"
   831             VIDEO_SUBDIRS="$VIDEO_SUBDIRS directfb"
   832             VIDEO_DRIVERS="$VIDEO_DRIVERS directfb/libvideo_directfb.la"
   833 
   834             AC_SUBST(DIRECTFB_CFLAGS)
   835             AC_SUBST(DIRECTFB_LIBS)
   836         fi
   837     fi
   838 }
   839 
   840 dnl See if we're running on PlayStation 2 hardware
   841 CheckPS2GS()
   842 {
   843     AC_ARG_ENABLE(video-ps2gs,
   844 [  --enable-video-ps2gs    use PlayStation 2 GS video driver [default=yes]],
   845                   , enable_video_ps2gs=yes)
   846     if test x$enable_video = xyes -a x$enable_video_ps2gs = xyes; then
   847         AC_MSG_CHECKING(for PlayStation 2 GS support)
   848         video_ps2gs=no
   849         AC_TRY_COMPILE([
   850          #include <linux/ps2/dev.h>
   851          #include <linux/ps2/gs.h>
   852         ],[
   853         ],[
   854         video_ps2gs=yes
   855         ])
   856         AC_MSG_RESULT($video_ps2gs)
   857         if test x$video_ps2gs = xyes; then
   858             CFLAGS="$CFLAGS -DENABLE_PS2GS"
   859             VIDEO_SUBDIRS="$VIDEO_SUBDIRS ps2gs"
   860             VIDEO_DRIVERS="$VIDEO_DRIVERS ps2gs/libvideo_ps2gs.la"
   861         fi
   862     fi
   863 }
   864 
   865 dnl Find the GGI includes
   866 CheckGGI()
   867 {
   868     AC_ARG_ENABLE(video-ggi,
   869 [  --enable-video-ggi      use GGI video driver [default=no]],
   870                   , enable_video_ggi=no)
   871     if test x$enable_video = xyes -a x$enable_video_ggi = xyes; then
   872         AC_MSG_CHECKING(for GGI support)
   873         video_ggi=no
   874         AC_TRY_COMPILE([
   875          #include <ggi/ggi.h>
   876          #include <ggi/gii.h>
   877         ],[
   878         ],[
   879         video_ggi=yes
   880         ])
   881         AC_MSG_RESULT($video_ggi)
   882         if test x$video_ggi = xyes; then
   883             CFLAGS="$CFLAGS $X_CFLAGS -DENABLE_GGI"
   884             SYSTEM_LIBS="$SYSTEM_LIBS -lggi -lgii -lgg"
   885 
   886             VIDEO_SUBDIRS="$VIDEO_SUBDIRS ggi"
   887             VIDEO_DRIVERS="$VIDEO_DRIVERS ggi/libvideo_ggi.la"
   888         fi
   889     fi
   890 }
   891 
   892 dnl Find the SVGAlib includes and libraries
   893 CheckSVGA()
   894 {
   895     AC_ARG_ENABLE(video-svga,
   896 [  --enable-video-svga     use SVGAlib video driver [default=no]],
   897                   , enable_video_svga=no)
   898     if test x$enable_video = xyes -a x$enable_video_svga = xyes; then
   899         AC_MSG_CHECKING(for SVGAlib (1.4.0+) support)
   900         video_svga=no
   901         AC_TRY_COMPILE([
   902          #include <vga.h>
   903          #include <vgamouse.h>
   904          #include <vgakeyboard.h>
   905         ],[
   906          if ( SCANCODE_RIGHTWIN && SCANCODE_LEFTWIN ) {
   907              exit(0);
   908          }
   909         ],[
   910         video_svga=yes
   911         ])
   912         AC_MSG_RESULT($video_svga)
   913         if test x$video_svga = xyes; then
   914             CFLAGS="$CFLAGS -DENABLE_SVGALIB"
   915             SYSTEM_LIBS="$SYSTEM_LIBS -lvga"
   916 
   917             VIDEO_SUBDIRS="$VIDEO_SUBDIRS svga"
   918             VIDEO_DRIVERS="$VIDEO_DRIVERS svga/libvideo_svga.la"
   919         fi
   920     fi
   921 }
   922 
   923 dnl Find the VGL includes and libraries
   924 CheckVGL()
   925 {
   926     AC_ARG_ENABLE(video-vgl,
   927 [  --enable-video-vgl      use VGL video driver [default=no]],
   928                   , enable_video_vgl=no)
   929     if test x$enable_video = xyes -a x$enable_video_vgl = xyes; then
   930         AC_MSG_CHECKING(for libVGL support)
   931         video_vgl=no
   932         AC_TRY_COMPILE([
   933          #include <sys/fbio.h>
   934          #include <sys/consio.h>
   935          #include <sys/kbio.h>
   936          #include <vgl.h>
   937         ],[
   938          VGLBitmap bitmap;
   939          exit(bitmap.Bitmap);
   940         ],[
   941         video_vgl=yes
   942         ])
   943         AC_MSG_RESULT($video_vgl)
   944         if test x$video_vgl = xyes; then
   945             CFLAGS="$CFLAGS -DENABLE_VGL"
   946             SYSTEM_LIBS="$SYSTEM_LIBS -lvgl"
   947 
   948             VIDEO_SUBDIRS="$VIDEO_SUBDIRS vgl"
   949             VIDEO_DRIVERS="$VIDEO_DRIVERS vgl/libvideo_vgl.la"
   950         fi
   951     fi
   952 }
   953 
   954 dnl Find the AAlib includes
   955 CheckAAlib()
   956 {
   957     AC_ARG_ENABLE(video-aalib,
   958 [  --enable-video-aalib    use AAlib video driver [default=no]],
   959                   , enable_video_aalib=no)
   960     if test x$enable_video = xyes -a x$enable_video_aalib = xyes; then
   961         AC_MSG_CHECKING(for AAlib support)
   962         video_aalib=no
   963         AC_TRY_COMPILE([
   964          #include <aalib.h>
   965         ],[
   966         ],[
   967         video_aalib=yes
   968         ])
   969         AC_MSG_RESULT($video_aalib)
   970         if test x$video_aalib = xyes; then
   971             CFLAGS="$CFLAGS -DENABLE_AALIB"
   972             SYSTEM_LIBS="$SYSTEM_LIBS -laa"
   973 
   974             VIDEO_SUBDIRS="$VIDEO_SUBDIRS aalib"
   975             VIDEO_DRIVERS="$VIDEO_DRIVERS aalib/libvideo_aa.la"
   976         fi
   977     fi
   978 }
   979 
   980 dnl Set up the Atari Xbios driver
   981 CheckAtariXbiosVideo()
   982 {
   983     AC_ARG_ENABLE(xbios,
   984 [  --enable-video-xbios    use Atari Xbios video driver [default=yes]],
   985                   , enable_video_xbios=yes)
   986     video_xbios=no
   987     if test x$enable_video = xyes -a x$enable_video_xbios = xyes; then
   988         video_xbios=yes
   989         CFLAGS="$CFLAGS -DENABLE_XBIOS"
   990         VIDEO_SUBDIRS="$VIDEO_SUBDIRS xbios"
   991         VIDEO_DRIVERS="$VIDEO_DRIVERS xbios/libvideo_xbios.la"
   992     fi
   993 }
   994 
   995 dnl Set up the Atari Gem driver
   996 CheckAtariGemVideo()
   997 {
   998     AC_ARG_ENABLE(gem,
   999 [  --enable-video-gem      use Atari Gem video driver [default=yes]],
  1000                   , enable_video_gem=yes)
  1001     if test x$enable_video = xyes -a x$enable_video_gem = xyes; then
  1002         video_gem=no
  1003         AC_CHECK_HEADER(gem.h, have_gem_hdr=yes)
  1004         AC_CHECK_LIB(gem, appl_init, have_gem_lib=yes)
  1005         if test x$have_gem_hdr = xyes -a x$have_gem_lib = xyes; then
  1006             video_gem=yes
  1007             CFLAGS="$CFLAGS -DENABLE_GEM"
  1008             SYSTEM_LIBS="$SYSTEM_LIBS -lgem"
  1009             VIDEO_SUBDIRS="$VIDEO_SUBDIRS gem"
  1010             VIDEO_DRIVERS="$VIDEO_DRIVERS gem/libvideo_gem.la"
  1011         fi
  1012     fi
  1013 }
  1014 
  1015 dnl Set up the Atari Bios keyboard driver
  1016 CheckAtariBiosEvent()
  1017 {
  1018     CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video/ataricommon"
  1019     VIDEO_SUBDIRS="$VIDEO_SUBDIRS ataricommon"
  1020     VIDEO_DRIVERS="$VIDEO_DRIVERS ataricommon/libvideo_ataricommon.la"
  1021 }
  1022 
  1023 dnl rcg04172001 Set up the Null video driver.
  1024 CheckDummyVideo()
  1025 {
  1026     AC_ARG_ENABLE(video-dummy,
  1027 [  --enable-video-dummy    use dummy video driver [default=yes]],
  1028                   , enable_video_dummy=yes)
  1029     if test x$enable_video_dummy = xyes; then
  1030       CFLAGS="$CFLAGS -DENABLE_DUMMYVIDEO"
  1031       VIDEO_SUBDIRS="$VIDEO_SUBDIRS dummy"
  1032       VIDEO_DRIVERS="$VIDEO_DRIVERS dummy/libvideo_null.la"
  1033     fi
  1034 }
  1035 
  1036 dnl Check to see if OpenGL support is desired
  1037 AC_ARG_ENABLE(video-opengl,
  1038 [  --enable-video-opengl   include OpenGL context creation [default=yes]],
  1039               , enable_video_opengl=yes)
  1040 
  1041 dnl Find OpenGL
  1042 CheckOpenGL()
  1043 {
  1044     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1045         AC_MSG_CHECKING(for OpenGL (GLX) support)
  1046         video_opengl=no
  1047         AC_TRY_COMPILE([
  1048          #include <GL/gl.h>
  1049          #include <GL/glx.h>
  1050          #include <dlfcn.h> /* For loading extensions */
  1051         ],[
  1052         ],[
  1053         video_opengl=yes
  1054         ])
  1055         AC_MSG_RESULT($video_opengl)
  1056         if test x$video_opengl = xyes; then
  1057             CFLAGS="$CFLAGS -DHAVE_OPENGL"
  1058             if test x$use_dlopen != xyes; then
  1059                 AC_CHECK_LIB(dl, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS -ldl")
  1060             fi
  1061         fi
  1062     fi
  1063 }
  1064 
  1065 dnl Find QNX RtP OpenGL
  1066 CheckOpenGLQNX()
  1067 {
  1068     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1069         AC_MSG_CHECKING(for OpenGL (Photon) support)
  1070         video_opengl=no
  1071         AC_TRY_COMPILE([
  1072          #include <GL/gl.h>
  1073         ],[
  1074         ],[
  1075         video_opengl=yes
  1076         ])
  1077         AC_MSG_RESULT($video_opengl)
  1078         if test x$video_opengl = xyes; then
  1079             CFLAGS="$CFLAGS -DHAVE_OPENGL"
  1080             SYSTEM_LIBS="$SYSTEM_LIBS -lGL"
  1081             if test x$use_dlopen != xyes; then
  1082                 AC_CHECK_LIB(c, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS", AC_CHECK_LIB(ltdl, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS -lltdl"))
  1083             fi
  1084         fi
  1085     fi
  1086 }
  1087 
  1088 dnl Check for BeOS OpenGL
  1089 CheckBeGL()
  1090 {
  1091     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1092         CFLAGS="$CFLAGS -DHAVE_OPENGL"
  1093         SYSTEM_LIBS="$SYSTEM_LIBS -lGL"
  1094     fi
  1095 }
  1096 
  1097 dnl Check for MacOS OpenGL
  1098 CheckMacGL()
  1099 {
  1100     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1101         CFLAGS="$CFLAGS -DHAVE_OPENGL"
  1102         case "$target" in
  1103             *-*-darwin*)
  1104                 SYSTEM_LIBS="$SYSTEM_LIBS -framework OpenGL -framework AGL"
  1105         esac
  1106     fi
  1107 }
  1108 
  1109 dnl See if we can use the new unified event interface in Linux 2.4
  1110 CheckInputEvents()
  1111 {
  1112     dnl Check for Linux 2.4 unified input event interface support
  1113     AC_ARG_ENABLE(input-events,
  1114 [  --enable-input-events   use Linux 2.4 unified input interface [default=yes]],
  1115                   , enable_input_events=yes)
  1116     if test x$enable_input_events = xyes; then
  1117         AC_MSG_CHECKING(for Linux 2.4 unified input interface)
  1118         use_input_events=no
  1119         AC_TRY_COMPILE([
  1120           #include <linux/input.h>
  1121         ],[
  1122           #ifndef EVIOCGNAME
  1123           #error EVIOCGNAME() ioctl not available
  1124           #endif
  1125         ],[
  1126         use_input_events=yes
  1127         ])
  1128         AC_MSG_RESULT($use_input_events)
  1129         if test x$use_input_events = xyes; then
  1130             CFLAGS="$CFLAGS -DUSE_INPUT_EVENTS"
  1131         fi
  1132     fi
  1133 }
  1134 
  1135 dnl See if we can use GNU pth library for threads
  1136 CheckPTH()
  1137 {
  1138     dnl Check for pth support
  1139     AC_ARG_ENABLE(pth,
  1140 [  --enable-pth            use GNU pth library for multi-threading [default=yes]],
  1141                   , enable_pth=yes)
  1142     if test x$enable_threads = xyes -a x$enable_pth = xyes; then
  1143         AC_PATH_PROG(PTH_CONFIG, pth-config, no)
  1144         if test "$PTH_CONFIG" = "no"; then
  1145             use_pth=no
  1146         else
  1147             PTH_CFLAGS=`$PTH_CONFIG --cflags`
  1148             PTH_LIBS=`$PTH_CONFIG --libs --all`
  1149             SDL_CFLAGS="$SDL_CFLAGS $PTH_CFLAGS"
  1150             SDL_LIBS="$SDL_LIBS $PTH_LIBS"
  1151             CFLAGS="$CFLAGS -DENABLE_PTH"
  1152             use_pth=yes
  1153         fi
  1154         AC_MSG_CHECKING(pth)
  1155         if test "x$use_pth" = xyes; then
  1156             AC_MSG_RESULT(yes)
  1157         else
  1158             AC_MSG_RESULT(no)
  1159         fi
  1160     fi
  1161 }
  1162 
  1163 dnl See what type of thread model to use on Linux and Solaris
  1164 CheckPTHREAD()
  1165 {
  1166     dnl Check for pthread support
  1167     AC_ARG_ENABLE(pthreads,
  1168 [  --enable-pthreads       use POSIX threads for multi-threading [default=yes]],
  1169                   , enable_pthreads=yes)
  1170     dnl This is used on Linux for glibc binary compatibility (Doh!)
  1171     AC_ARG_ENABLE(pthread-sem,
  1172 [  --enable-pthread-sem    use pthread semaphores [default=yes]],
  1173                   , enable_pthread_sem=yes)
  1174     case "$target" in
  1175         *-*-bsdi*)
  1176             pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1177             pthread_lib=""
  1178             ;;
  1179         *-*-darwin*)
  1180             pthread_cflags="-D_THREAD_SAFE"
  1181 # causes Carbon.p complaints?
  1182 #            pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1183             ;;
  1184         *-*-freebsd*)
  1185             pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1186             pthread_lib="-pthread"
  1187             ;;
  1188         *-*-netbsd*)
  1189             pthread_cflags="-I/usr/pkg/include -D_REENTRANT"
  1190             pthread_lib="-L/usr/pkg/lib -lpthread -lsem"
  1191             ;;
  1192         *-*-openbsd*)
  1193             pthread_cflags="-D_REENTRANT"
  1194             pthread_lib="-pthread"
  1195             ;;
  1196         *-*-solaris*)
  1197             pthread_cflags="-D_REENTRANT"
  1198             pthread_lib="-lpthread -lposix4"
  1199             ;;
  1200         *-*-sysv5*)
  1201             pthread_cflags="-D_REENTRANT -Kthread"
  1202             pthread_lib=""
  1203             ;;
  1204         *-*-irix*)
  1205             pthread_cflags="-D_SGI_MP_SOURCE"
  1206             pthread_lib="-lpthread"
  1207             ;;
  1208         *-*-aix*)
  1209             pthread_cflags="-D_REENTRANT -mthreads"
  1210             pthread_lib="-lpthread"
  1211             ;;
  1212         *-*-hpux11*)
  1213             pthread_cflags="-D_REENTRANT"
  1214             pthread_lib="-L/usr/lib -lpthread"
  1215             ;;
  1216         *-*-qnx*)
  1217             pthread_cflags=""
  1218             pthread_lib=""
  1219             ;;
  1220         *)
  1221             pthread_cflags="-D_REENTRANT"
  1222             pthread_lib="-lpthread"
  1223             ;;
  1224     esac
  1225     if test x$enable_threads = xyes -a x$enable_pthreads = xyes; then
  1226         # Save the original compiler flags and libraries
  1227         ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
  1228         # Add the pthread compiler flags and libraries
  1229         CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
  1230         # Check to see if we have pthread support on this system
  1231         AC_MSG_CHECKING(for pthreads)
  1232         use_pthreads=no
  1233         AC_TRY_LINK([
  1234          #include <pthread.h>
  1235         ],[
  1236          pthread_attr_t type;
  1237          pthread_attr_init(&type);
  1238         ],[
  1239         use_pthreads=yes
  1240         ])
  1241         AC_MSG_RESULT($use_pthreads)
  1242         # Restore the compiler flags and libraries
  1243         CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
  1244         # Do futher testing if we have pthread support...
  1245         if test x$use_pthreads = xyes; then
  1246             CFLAGS="$CFLAGS $pthread_cflags -DSDL_USE_PTHREADS"
  1247             LIBS="$LIBS $pthread_lib"
  1248             SDL_CFLAGS="$SDL_CFLAGS $pthread_cflags"
  1249             SDL_LIBS="$SDL_LIBS $pthread_lib"
  1250 
  1251             # Check to see if recursive mutexes are available
  1252             AC_MSG_CHECKING(for recursive mutexes)
  1253             has_recursive_mutexes=no
  1254             AC_TRY_LINK([
  1255               #include <pthread.h>
  1256             ],[
  1257               pthread_mutexattr_t attr;
  1258               #if defined(linux) && !(defined(__arm__) && defined(QWS))
  1259               pthread_mutexattr_setkind_np(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
  1260               #else
  1261               pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
  1262               #endif
  1263             ],[
  1264             has_recursive_mutexes=yes
  1265             ])
  1266             # Some systems have broken recursive mutex implementations
  1267             case "$target" in
  1268                 *-*-darwin*)
  1269                     has_recursive_mutexes=no
  1270                     ;;
  1271                 *-*-solaris*)
  1272                     has_recursive_mutexes=no
  1273                     ;;
  1274             esac
  1275             AC_MSG_RESULT($has_recursive_mutexes)
  1276             if test x$has_recursive_mutexes != xyes; then
  1277                 CFLAGS="$CFLAGS -DPTHREAD_NO_RECURSIVE_MUTEX"
  1278             fi
  1279 
  1280             # Check to see if pthread semaphore support is missing
  1281             if test x$enable_pthread_sem = xyes; then
  1282                 AC_MSG_CHECKING(for pthread semaphores)
  1283                 have_pthread_sem=no
  1284                 AC_TRY_COMPILE([
  1285                   #include <pthread.h>
  1286                   #include <semaphore.h>
  1287                 ],[
  1288                 ],[
  1289                 have_pthread_sem=yes
  1290                 ])
  1291                 AC_MSG_RESULT($have_pthread_sem)
  1292             fi
  1293 
  1294             # Check to see if this is broken glibc 2.0 pthreads
  1295             case "$target" in
  1296                 *-*-linux*)
  1297                     AC_MSG_CHECKING(for broken glibc 2.0 pthreads)
  1298                     glibc20_pthreads=no
  1299                     AC_TRY_COMPILE([
  1300                       #include <features.h>
  1301                       #if (__GLIBC__ == 2) && (__GLIBC_MINOR__ == 0)
  1302                       #warning Working around a bug in glibc 2.0 pthreads
  1303                       #else
  1304                       #error pthread implementation okay
  1305                       #endif /* glibc 2.0 */
  1306                     ],[
  1307                     ],[
  1308                     glibc20_pthreads=yes
  1309                     ])
  1310                     AC_MSG_RESULT($glibc20_pthreads)
  1311             esac
  1312         fi
  1313     fi
  1314 
  1315     AC_MSG_CHECKING(whether semun is defined in /usr/include/sys/sem.h)
  1316     have_semun=no
  1317     AC_TRY_COMPILE([
  1318       #include <sys/types.h>
  1319       #include <sys/sem.h>
  1320     ],[
  1321       union semun t;
  1322     ],[
  1323     have_semun=yes
  1324     ])
  1325     AC_MSG_RESULT($have_semun)
  1326     if test x$have_semun = xyes; then
  1327         CFLAGS="$CFLAGS -DHAVE_SEMUN"
  1328     fi
  1329 
  1330     # See if we can use GNU Pth or clone() on Linux directly
  1331     if test x$enable_threads = xyes -a x$use_pthreads != xyes; then
  1332         CheckPTH
  1333         if test x$use_pth != xyes; then
  1334             case "$target" in
  1335                 *-*-linux*)
  1336                     use_clone=yes
  1337                     ;;
  1338             esac
  1339         fi
  1340     fi
  1341 }
  1342 
  1343 # Note that we need to have either semaphores or to have mutexes and
  1344 # condition variables to implement all thread synchronization primitives
  1345 CopyUnixThreadSource()
  1346 {
  1347     if test x$use_pthreads = xyes -o x$use_clone = xyes; then
  1348         # Basic thread creation functions
  1349         COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c)
  1350         COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
  1351 
  1352         # Semaphores
  1353         # We can fake these with mutexes and condition variables if necessary
  1354         if test x$use_pthreads = xyes -a x$have_pthread_sem != xyes; then
  1355             COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
  1356         else
  1357             COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
  1358         fi
  1359         COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1360 
  1361         # Mutexes
  1362         # We can fake these with semaphores if necessary
  1363         case "$target" in
  1364             *-*-bsdi*)
  1365                 COPY_ARCH_SRC(src/thread, bsdi, SDL_syssem.c)
  1366                 COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1367                 COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  1368                 COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  1369                 ;;
  1370             *)
  1371                 if test x$glibc20_pthreads = xyes; then
  1372                     COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c)
  1373                     COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
  1374                 else
  1375                     COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  1376                     COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  1377                 fi
  1378                 ;;
  1379         esac
  1380 
  1381         # Condition variables
  1382         # We can fake these with semaphores and mutexes if necessary
  1383         if test x$glibc20_pthreads = xyes -o x$has_recursive_mutexes != xyes; then
  1384             COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  1385         else
  1386             COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c)
  1387         fi
  1388         COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  1389 
  1390     elif test x$use_pth = xyes; then
  1391         COPY_ARCH_SRC(src/thread, pth, SDL_systhread.c)
  1392         COPY_ARCH_SRC(src/thread, pth, SDL_systhread_c.h)
  1393         COPY_ARCH_SRC(src/thread, pth, SDL_sysmutex.c)
  1394         COPY_ARCH_SRC(src/thread, pth, SDL_sysmutex_c.h)
  1395         COPY_ARCH_SRC(src/thread, pth, SDL_syscond.c)
  1396         COPY_ARCH_SRC(src/thread, pth, SDL_syscond_c.h)
  1397         COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
  1398         COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  1399     else
  1400        AC_MSG_ERROR([
  1401 *** No thread support detected
  1402        ])
  1403     fi
  1404 }
  1405 
  1406 dnl See if we can use sigaction() instead of signal()
  1407 CheckSIGACTION()
  1408 {
  1409     dnl Check for sigaction support
  1410     AC_ARG_ENABLE(sigaction,
  1411 [  --enable-sigaction      use sigaction instead of signal [default=yes]],
  1412                   , enable_sigaction=yes)
  1413     if test x$enable_sigaction = xyes; then
  1414         AC_MSG_CHECKING(sigaction)
  1415         have_sigaction=no
  1416         AC_TRY_COMPILE([
  1417          #include <signal.h>
  1418         ],[
  1419          struct sigaction junk;
  1420          sigaction(0, &junk, &junk);
  1421         ],[
  1422         have_sigaction=yes
  1423         ])
  1424         AC_MSG_RESULT($have_sigaction)
  1425         if test x$have_sigaction = xyes; then
  1426             CFLAGS="$CFLAGS -DHAVE_SIGACTION"
  1427         fi
  1428     fi
  1429 }
  1430 
  1431 dnl Determine whether the compiler can produce Win32 executables
  1432 CheckWIN32()
  1433 {
  1434     AC_MSG_CHECKING(Win32 compiler)
  1435     have_win32_gcc=no
  1436     AC_TRY_COMPILE([
  1437      #include <windows.h>
  1438     ],[
  1439     ],[
  1440     have_win32_gcc=yes
  1441     ])
  1442     AC_MSG_RESULT($have_win32_gcc)
  1443     if test x$have_win32_gcc != xyes; then
  1444        AC_MSG_ERROR([
  1445 *** Your compiler ($CC) does not produce Win32 executables!
  1446        ])
  1447     fi
  1448 
  1449     dnl See if the user wants to redirect standard output to files
  1450     AC_ARG_ENABLE(stdio-redirect,
  1451 [  --enable-stdio-redirect Redirect STDIO to files on Win32 [default=yes]],
  1452                   , enable_stdio_redirect=yes)
  1453     if test x$enable_stdio_redirect != xyes; then
  1454         CFLAGS="$CFLAGS -DNO_STDIO_REDIRECT"
  1455     fi
  1456 }
  1457 
  1458 dnl Find the DirectX includes and libraries
  1459 CheckDIRECTX()
  1460 {
  1461     AC_ARG_ENABLE(directx,
  1462 [  --enable-directx        use DirectX for Win32 audio/video [default=yes]],
  1463                   , enable_directx=yes)
  1464     if test x$enable_directx = xyes; then
  1465         AC_MSG_CHECKING(for DirectX headers and libraries)
  1466         use_directx=no
  1467         tmp_cflags=$CFLAGS
  1468         CFLAGS="$CFLAGS -I$srcdir"
  1469         AC_TRY_COMPILE([
  1470          #include "src/video/windx5/directx.h"
  1471         ],[
  1472         ],[
  1473         use_directx=yes
  1474         ])
  1475         CFLAGS=$tmp_cflags
  1476         AC_MSG_RESULT($use_directx)
  1477     fi
  1478 
  1479     CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video/wincommon"
  1480     SYSTEM_LIBS="$SYSTEM_LIBS -luser32 -lgdi32 -lwinmm"
  1481     VIDEO_SUBDIRS="$VIDEO_SUBDIRS wincommon"
  1482     VIDEO_DRIVERS="$VIDEO_DRIVERS wincommon/libvideo_wincommon.la"
  1483     # Enable the DIB driver
  1484     CFLAGS="$CFLAGS -DENABLE_WINDIB"
  1485     VIDEO_SUBDIRS="$VIDEO_SUBDIRS windib"
  1486     VIDEO_DRIVERS="$VIDEO_DRIVERS windib/libvideo_windib.la"
  1487     # See if we should enable the DirectX driver
  1488     if test x$use_directx = xyes; then
  1489         CFLAGS="$CFLAGS -DENABLE_DIRECTX"
  1490         SYSTEM_LIBS="$SYSTEM_LIBS -ldxguid"
  1491         VIDEO_SUBDIRS="$VIDEO_SUBDIRS windx5"
  1492         VIDEO_DRIVERS="$VIDEO_DRIVERS windx5/libvideo_windx5.la"
  1493     fi
  1494 }
  1495 
  1496 dnl Set up the BWindow video driver on BeOS
  1497 CheckBWINDOW()
  1498 {
  1499     CFLAGS="$CFLAGS -DENABLE_BWINDOW"
  1500     VIDEO_SUBDIRS="$VIDEO_SUBDIRS bwindow"
  1501     VIDEO_DRIVERS="$VIDEO_DRIVERS bwindow/libvideo_bwindow.la"
  1502 }
  1503 
  1504 dnl Set up the QTopia video driver if enabled
  1505 CheckQtopia()
  1506 {
  1507     AC_ARG_ENABLE(video-qtopia,
  1508 [  --enable-video-qtopia   use Qtopia video driver [default=no]],
  1509                   , enable_video_qtopia=no)
  1510     if test x$enable_video = xyes -a x$enable_video_qtopia = xyes; then
  1511         AC_MSG_CHECKING(for Qtopia support)
  1512         video_qtopia=no
  1513         AC_LANG_CPLUSPLUS
  1514         OLD_CXX="$CXXFLAGS"
  1515         CXXFLAGS="-DQT_QWS_EBX -fno-rtti -fno-exceptions -DQT_QWS_CUSTOM -DQWS -I${QPEDIR}/include -I${QTDIR}/include/ -DNO_DEBUG"
  1516         AC_TRY_COMPILE([
  1517          #include <qpe/qpeapplication.h>
  1518         ],[
  1519         ],[
  1520         video_qtopia=yes
  1521         ])
  1522         CXXFLAGS="$OLD_CXX"
  1523         AC_MSG_RESULT($video_qtopia)
  1524         if test x$video_qtopia = xyes; then
  1525             CFLAGS="$CFLAGS -DENABLE_QTOPIA -DQT_QWS_EBX -DQT_QWS_CUSTOM -DQWS -I${QPEDIR}/include -I${QTDIR}/include/ -DNO_DEBUG -fno-rtti -fno-exceptions"
  1526             SDL_LIBS="$SDL_LIBS -L${QPEDIR}/lib -L${QTDIR}/lib/ -lqpe -lqte"
  1527             SDL_CFLAGS="$SDL_CFLAGS -DQWS"	  
  1528             VIDEO_SUBDIRS="$VIDEO_SUBDIRS qtopia"
  1529             VIDEO_DRIVERS="$VIDEO_DRIVERS qtopia/libvideo_qtopia.la"
  1530         else
  1531 	AC_MSG_ERROR([
  1532 *** Failed to find Qtopia includes. Make sure that the QTDIR and QPEDIR
  1533 *** environment variables are set correctly.])
  1534         fi
  1535         AC_LANG_C
  1536     fi
  1537 }
  1538 
  1539 dnl Set up the PicoGUI video driver if enabled
  1540 CheckPicoGUI()
  1541 {
  1542     AC_ARG_ENABLE(video-picogui,
  1543 [  --enable-video-picogui  use PicoGUI video driver [default=no]],
  1544                   , enable_video_picogui=no)
  1545     if test x$enable_video = xyes -a x$enable_video_picogui = xyes; then
  1546         AC_MSG_CHECKING(for PicoGUI support)
  1547         video_picogui=no
  1548         AC_TRY_COMPILE([
  1549          #include <picogui.h>
  1550         ],[
  1551         ],[
  1552         video_picogui=yes
  1553         ])
  1554         AC_MSG_RESULT($video_picogui)
  1555         if test x$video_picogui = xyes; then
  1556 	    SDL_LIBS="$SDL_LIBS -lpgui"
  1557             CFLAGS="$CFLAGS -DENABLE_PICOGUI"
  1558             VIDEO_SUBDIRS="$VIDEO_SUBDIRS picogui"
  1559             VIDEO_DRIVERS="$VIDEO_DRIVERS picogui/libvideo_picogui.la"
  1560         fi
  1561         AC_LANG_C
  1562     fi
  1563 }
  1564 
  1565 dnl Set up the Mac toolbox video driver for Mac OS 7-9
  1566 CheckTOOLBOX()
  1567 {
  1568     VIDEO_SUBDIRS="$VIDEO_SUBDIRS maccommon"
  1569     VIDEO_DRIVERS="$VIDEO_DRIVERS maccommon/libvideo_maccommon.la"
  1570     VIDEO_SUBDIRS="$VIDEO_SUBDIRS macrom"
  1571     VIDEO_DRIVERS="$VIDEO_DRIVERS macrom/libvideo_macrom.la"
  1572 }
  1573 
  1574 dnl Set up the Mac toolbox video driver for Mac OS X
  1575 CheckCARBON()
  1576 {
  1577     # "MACOSX" is not an official definition, but it's commonly
  1578     # accepted as a way to differentiate between what runs on X
  1579     # and what runs on older Macs - while in theory "Carbon" defns
  1580     # are consistent between the two, in practice Carbon is still
  1581     # changing. -sts Aug 2000
  1582     mac_autoconf_target_workaround="MAC"
  1583     CFLAGS="$CFLAGS -I/System/Library/Frameworks/Carbon.framework/Headers \
  1584       -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"
  1585     VIDEO_SUBDIRS="$VIDEO_SUBDIRS maccommon"
  1586     VIDEO_DRIVERS="$VIDEO_DRIVERS maccommon/libvideo_maccommon.la"
  1587     VIDEO_SUBDIRS="$VIDEO_SUBDIRS macrom"
  1588     VIDEO_DRIVERS="$VIDEO_DRIVERS macrom/libvideo_macrom.la"
  1589 }
  1590 
  1591 dnl Set up the Mac toolbox video driver for Mac OS X
  1592 CheckQUARTZ()
  1593 {
  1594     # "MACOSX" is not an official definition, but it's commonly
  1595     # accepted as a way to differentiate between what runs on X
  1596     # and what runs on older Macs - while in theory "Carbon" defns
  1597     # are consistent between the two, in practice Carbon is still
  1598     # changing. -sts Aug 2000
  1599     mac_autoconf_target_workaround="MAC"
  1600     CFLAGS="$CFLAGS -I/System/Library/Frameworks/Carbon.framework/Headers \
  1601       -I/System/Library/Frameworks/Cocoa.framework/Headers -fpascal-strings \
  1602       -DENABLE_QUARTZ -DMACOSX -DTARGET_API_${mac_autoconf_target_workaround}_CARBON=1 -I\$(top_srcdir)/src/video/quartz"
  1603     VIDEO_SUBDIRS="$VIDEO_SUBDIRS quartz"
  1604     VIDEO_DRIVERS="$VIDEO_DRIVERS quartz/libvideo_quartz.la"
  1605 }
  1606 
  1607 dnl Check for the dlfcn.h interface for dynamically loading objects
  1608 CheckDLOPEN()
  1609 {
  1610     AC_ARG_ENABLE(sdl-dlopen,
  1611 [  --enable-sdl-dlopen     use dlopen for shared object loading [default=yes]],
  1612                   , enable_sdl_dlopen=yes)
  1613     if test x$enable_sdl_dlopen = xyes; then
  1614         AC_MSG_CHECKING(for dlopen)
  1615         use_dlopen=no
  1616         AC_TRY_COMPILE([
  1617          #include <dlfcn.h>
  1618         ],[
  1619         ],[
  1620         use_dlopen=yes
  1621         ])
  1622         AC_MSG_RESULT($use_dlopen)
  1623 
  1624         if test x$use_dlopen = xyes; then
  1625             CFLAGS="$CFLAGS -DUSE_DLOPEN"
  1626             AC_CHECK_LIB(c, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS",
  1627                AC_CHECK_LIB(dl, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS -ldl",
  1628                   AC_CHECK_LIB(ltdl, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS -lltdl")))
  1629         fi
  1630     fi
  1631 }
  1632 
  1633 dnl Set up the Atari LDG (shared object loader)
  1634 CheckAtariLdg()
  1635 {
  1636     AC_ARG_ENABLE(atari-ldg,
  1637 [  --enable-atari-ldg      use Atari LDG for shared object loading [default=yes]],
  1638                   , enable_atari_ldg=yes)
  1639     if test x$video_gem = xyes -a x$enable_atari_ldg = xyes; then
  1640         AC_CHECK_HEADER(ldg.h, have_ldg_hdr=yes)
  1641         AC_CHECK_LIB(ldg, ldg_open, have_ldg_lib=yes, have_ldg_lib=no, -lgem)
  1642         if test x$have_ldg_hdr = xyes -a x$have_ldg_lib = xyes; then
  1643             CFLAGS="$CFLAGS -DENABLE_LDG"
  1644             SYSTEM_LIBS="$SYSTEM_LIBS -lldg -lgem"
  1645         fi
  1646     fi
  1647 }
  1648 
  1649 dnl Check for the usbhid(3) library on *BSD
  1650 CheckUSBHID()
  1651 {
  1652     if test x$enable_joystick = xyes; then
  1653         have_libusbhid=no
  1654         have_libusb=no
  1655         AC_CHECK_LIB(usbhid, hid_init, have_libusbhid=yes)
  1656         AC_CHECK_LIB(usb, hid_init, have_libusb=yes)
  1657         if test x$have_libusbhid = xyes; then
  1658             SYSTEM_LIBS="$SYSTEM_LIBS -lusbhid"
  1659         fi
  1660         if test x$have_libusb = xyes; then
  1661             SYSTEM_LIBS="$SYSTEM_LIBS -lusb"
  1662         fi
  1663 
  1664         AC_CHECK_HEADER(usb.h, have_usb_h=yes)
  1665         AC_CHECK_HEADER(usbhid.h, have_usbhid_h=yes)
  1666         AC_CHECK_HEADER(libusb.h, have_libusb_h=yes)
  1667         AC_CHECK_HEADER(libusbhid.h, have_libusbhid_h=yes)
  1668         if test x$have_usb_h = xyes; then
  1669             CFLAGS="$CFLAGS -DHAVE_USB_H"
  1670         fi
  1671         if test x$have_usbhid_h = xyes; then
  1672             CFLAGS="$CFLAGS -DHAVE_USBHID_H"
  1673         fi
  1674         if test x$have_libusb_h = xyes; then
  1675             CFLAGS="$CFLAGS -DHAVE_LIBUSB_H"
  1676         fi
  1677         if test x$have_libusbhid_h = xyes; then
  1678             CFLAGS="$CFLAGS -DHAVE_LIBUSBHID_H"
  1679         fi
  1680 
  1681         AC_MSG_CHECKING(for usbhid)
  1682         have_usbhid=no
  1683         AC_TRY_COMPILE([
  1684           #include <sys/types.h>
  1685           #if defined(HAVE_USB_H)
  1686           #include <usb.h>
  1687           #endif
  1688           #include <dev/usb/usb.h>
  1689           #include <dev/usb/usbhid.h>
  1690           #if defined(HAVE_USBHID_H)
  1691           #include <usbhid.h>
  1692           #elif defined(HAVE_LIBUSB_H)
  1693           #include <libusb.h>
  1694           #elif defined(HAVE_LIBUSBHID_H)
  1695           #include <libusbhid.h>
  1696           #endif
  1697         ],[
  1698           struct report_desc *repdesc;
  1699           struct usb_ctl_report *repbuf;
  1700           hid_kind_t hidkind;
  1701         ],[
  1702         have_usbhid=yes
  1703         ])
  1704         AC_MSG_RESULT($have_usbhid)
  1705 
  1706         if test x$have_usbhid = xyes; then
  1707             AC_MSG_CHECKING(for ucr_data member of usb_ctl_report)
  1708             have_usbhid_ucr_data=no
  1709             AC_TRY_COMPILE([
  1710               #include <sys/types.h>
  1711               #if defined(HAVE_USB_H)
  1712               #include <usb.h>
  1713               #endif
  1714               #include <dev/usb/usb.h>
  1715               #include <dev/usb/usbhid.h>
  1716               #if defined(HAVE_USBHID_H)
  1717               #include <usbhid.h>
  1718               #elif defined(HAVE_LIBUSB_H)
  1719               #include <libusb.h>
  1720               #elif defined(HAVE_LIBUSBHID_H)
  1721               #include <libusbhid.h>
  1722               #endif
  1723             ],[
  1724               struct usb_ctl_report buf;
  1725               if (buf.ucr_data) { }
  1726             ],[
  1727             have_usbhid_ucr_data=yes
  1728             ])
  1729             if test x$have_usbhid_ucr_data = xyes; then
  1730                 CFLAGS="$CFLAGS -DUSBHID_UCR_DATA"
  1731             fi
  1732             AC_MSG_RESULT($have_usbhid_ucr_data)
  1733             
  1734 	    AC_MSG_CHECKING(for new usbhid API)
  1735             have_usbhid_new=no
  1736             AC_TRY_COMPILE([
  1737               #include <sys/types.h>
  1738               #if defined(HAVE_USB_H)
  1739               #include <usb.h>
  1740               #endif
  1741               #include <dev/usb/usb.h>
  1742               #include <dev/usb/usbhid.h>
  1743               #if defined(HAVE_USBHID_H)
  1744               #include <usbhid.h>
  1745               #elif defined(HAVE_LIBUSB_H)
  1746               #include <libusb.h>
  1747               #elif defined(HAVE_LIBUSBHID_H)
  1748               #include <libusbhid.h>
  1749               #endif
  1750             ],[
  1751               report_desc_t d;
  1752 	      hid_start_parse(d, 1, 1);
  1753             ],[
  1754             have_usbhid_new=yes
  1755             ])
  1756             if test x$have_usbhid_new = xyes; then
  1757                 CFLAGS="$CFLAGS -DUSBHID_NEW"
  1758             fi
  1759             AC_MSG_RESULT($have_usbhid_new)
  1760 
  1761             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS bsd"
  1762             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS bsd/libjoystick_bsd.la"
  1763         fi
  1764     fi
  1765 }
  1766 
  1767 dnl Check for altivec instruction support using gas syntax
  1768 CheckAltivec()
  1769 {
  1770     AC_MSG_CHECKING(for GCC Altivec instruction support)
  1771     have_gcc_altivec=no
  1772     AC_TRY_COMPILE([
  1773     ],[
  1774         asm volatile ("mtspr 256, %0\n\t"
  1775                       "vand %%v0, %%v0, %%v0"
  1776                       :
  1777                       : "r" (-1));
  1778     ],[
  1779     have_gcc_altivec=yes
  1780     ])
  1781     if test x$have_gcc_altivec = xyes; then
  1782         CFLAGS="$CFLAGS -DGCC_ALTIVEC"
  1783     fi
  1784     AC_MSG_RESULT($have_gcc_altivec)
  1785 }
  1786 
  1787 case "$target" in
  1788     *-*-linux*|*-*-gnu*|*-*-k*bsd*-gnu)
  1789         case "$target" in
  1790           *-*-linux*) ARCH=linux ;;
  1791           *-*-kfreebsd*-gnu) ARCH=kfreebsd-gnu ;;
  1792           *-*-knetbsd*-gnu) ARCH=knetbsd-gnu ;;
  1793           *-*-kopenbsd*-gnu) ARCH=kopenbsd-gnu ;;
  1794           *-*-gnu*) ARCH=gnu ;; # must be last
  1795         esac
  1796         CheckDummyVideo
  1797         CheckDiskAudio
  1798         CheckDLOPEN
  1799         CheckNASM
  1800         CheckOSS
  1801         CheckALSA
  1802         CheckARTSC
  1803         CheckESD
  1804         CheckNAS
  1805         CheckX11
  1806         CheckNANOX
  1807         CheckDGA
  1808         CheckFBCON
  1809         CheckDirectFB
  1810         CheckPS2GS
  1811         CheckGGI
  1812         CheckSVGA
  1813         CheckAAlib
  1814         CheckQtopia
  1815         CheckPicoGUI
  1816         CheckOpenGL
  1817         CheckInputEvents
  1818         CheckPTHREAD
  1819         CheckSIGACTION
  1820         CheckAltivec
  1821         # Set up files for the main() stub
  1822         if test "x$video_qtopia" = "xyes"; then
  1823           SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
  1824           SDL_LIBS="-lSDLmain $SDL_LIBS"
  1825         fi
  1826         # Set up files for the audio library
  1827         # We use the OSS and ALSA API's, not the Sun audio API
  1828         #if test x$enable_audio = xyes; then
  1829         #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  1830         #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  1831         #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  1832         #fi
  1833         # Set up files for the joystick library
  1834         if test x$enable_joystick = xyes; then
  1835 	  case $ARCH in
  1836 	    linux)
  1837               JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS linux"
  1838               JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS linux/libjoystick_linux.la"
  1839 	    ;;
  1840 	    gnu)
  1841               JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  1842               JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  1843 	    ;;
  1844 	    k*bsd-gnu)
  1845               JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS bsd"
  1846               JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS bsd/libjoystick_bsd.la"
  1847 	    ;;
  1848 	  esac
  1849         fi
  1850         # Set up files for the cdrom library
  1851         if test x$enable_cdrom = xyes; then
  1852 	  case $ARCH in
  1853 	    linux)
  1854               CDROM_SUBDIRS="$CDROM_SUBDIRS linux"
  1855               CDROM_DRIVERS="$CDROM_DRIVERS linux/libcdrom_linux.la"
  1856 	    ;;
  1857 	    gnu)
  1858               CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
  1859               CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
  1860 	    ;;
  1861 	    kfreebsd-gnu)
  1862               CDROM_SUBDIRS="$CDROM_SUBDIRS freebsd"
  1863               CDROM_DRIVERS="$CDROM_DRIVERS freebsd/libcdrom_freebsd.la"
  1864 	    ;;
  1865 	    knetbsd-gnu|kopenbsd-gnu)
  1866               CDROM_SUBDIRS="$CDROM_SUBDIRS openbsd"
  1867               CDROM_DRIVERS="$CDROM_DRIVERS openbsd/libcdrom_openbsd.la"
  1868 	    ;;
  1869 	  esac
  1870         fi
  1871         # Set up files for the thread library
  1872         if test x$enable_threads = xyes; then
  1873             CopyUnixThreadSource
  1874         fi
  1875         # Set up files for the timer library
  1876         if test x$enable_timers = xyes; then
  1877             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  1878         fi
  1879         ;;
  1880     *-*-bsdi*)
  1881         ARCH=bsdi
  1882         CheckDummyVideo
  1883         CheckDiskAudio
  1884         CheckDLOPEN
  1885         CheckNASM
  1886         CheckOSS
  1887         CheckARTSC
  1888         CheckESD
  1889         CheckNAS
  1890         CheckX11
  1891         CheckDGA
  1892         CheckSVGA
  1893         CheckAAlib
  1894         CheckOpenGL
  1895         CheckPTHREAD
  1896         CheckSIGACTION
  1897         # Set up files for the audio library
  1898         # We use the OSS and ALSA API's, not the Sun audio API
  1899         #if test x$enable_audio = xyes; then
  1900         #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  1901         #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  1902         #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  1903         #fi
  1904         # Set up files for the joystick library
  1905         # (No joystick support yet)
  1906         if test x$enable_joystick = xyes; then
  1907             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  1908             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  1909         fi
  1910         # Set up files for the cdrom library
  1911         if test x$enable_cdrom = xyes; then
  1912             CDROM_SUBDIRS="$CDROM_SUBDIRS bsdi"
  1913             CDROM_DRIVERS="$CDROM_DRIVERS bsdi/libcdrom_bsdi.la"
  1914         fi
  1915         # Set up files for the thread library
  1916         if test x$enable_threads = xyes; then
  1917             CopyUnixThreadSource
  1918         fi
  1919         # Set up files for the timer library
  1920         if test x$enable_timers = xyes; then
  1921             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  1922         fi
  1923         ;;
  1924     *-*-freebsd*)
  1925         ARCH=freebsd
  1926         CheckDummyVideo
  1927         CheckDiskAudio
  1928         CheckDLOPEN
  1929         CheckVGL
  1930         CheckNASM
  1931         CheckOSS
  1932         CheckARTSC
  1933         CheckESD
  1934         CheckNAS
  1935         CheckX11
  1936         CheckDGA
  1937         CheckSVGA
  1938         CheckAAlib
  1939         CheckOpenGL
  1940         CheckPTHREAD
  1941         CheckSIGACTION
  1942         CheckUSBHID
  1943         # Set up files for the audio library
  1944         # We use the OSS and ALSA API's, not the Sun audio API
  1945         #if test x$enable_audio = xyes; then
  1946         #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  1947         #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  1948         #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  1949         #fi
  1950         # Set up files for the cdrom library
  1951         if test x$enable_cdrom = xyes; then
  1952             CDROM_SUBDIRS="$CDROM_SUBDIRS freebsd"
  1953             CDROM_DRIVERS="$CDROM_DRIVERS freebsd/libcdrom_freebsd.la"
  1954         fi
  1955         # Set up files for the thread library
  1956         if test x$enable_threads = xyes; then
  1957             CopyUnixThreadSource
  1958         fi
  1959         # Set up files for the timer library
  1960         if test x$enable_timers = xyes; then
  1961             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  1962         fi
  1963         ;;
  1964     *-*-netbsd*)
  1965         ARCH=netbsd
  1966         CheckDummyVideo
  1967         CheckDiskAudio
  1968         CheckDLOPEN
  1969         CheckNASM
  1970         CheckOSS
  1971         CheckARTSC
  1972         CheckESD
  1973         CheckNAS
  1974         CheckX11
  1975         CheckAAlib
  1976         CheckOpenGL
  1977         CheckPTHREAD
  1978         CheckSIGACTION
  1979         CheckUSBHID
  1980         # Set up files for the audio library
  1981         if test x$enable_audio = xyes; then
  1982             CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  1983             AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  1984             AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  1985         fi
  1986         # Set up files for the cdrom library
  1987         if test x$enable_cdrom = xyes; then
  1988             CDROM_SUBDIRS="$CDROM_SUBDIRS openbsd"
  1989             CDROM_DRIVERS="$CDROM_DRIVERS openbsd/libcdrom_openbsd.la"
  1990         fi
  1991         # Set up files for the thread library
  1992         if test x$enable_threads = xyes; then
  1993             if test x$use_pthreads = xyes; then
  1994                 CFLAGS="$CFLAGS -D_POSIX_THREAD_SYSCALL_SOFT=1"
  1995             fi
  1996             CopyUnixThreadSource
  1997         fi
  1998         # Set up files for the timer library
  1999         if test x$enable_timers = xyes; then
  2000             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2001         fi
  2002         # NetBSD does not define "unix"
  2003         CFLAGS="$CFLAGS -Dunix"
  2004         ;;
  2005     *-*-openbsd*)
  2006         ARCH=openbsd
  2007         CheckDummyVideo
  2008         CheckDiskAudio
  2009         CheckDLOPEN
  2010         CheckNASM
  2011         CheckOSS
  2012         CheckARTSC
  2013         CheckESD
  2014         CheckNAS
  2015         CheckX11
  2016         CheckAAlib
  2017         CheckOpenGL
  2018         CheckPTHREAD
  2019         CheckSIGACTION
  2020         CheckUSBHID
  2021         # Set up files for the audio library
  2022         if test x$enable_audio = xyes; then
  2023             CFLAGS="$CFLAGS -DOPENBSD_AUDIO_SUPPORT"
  2024             AUDIO_SUBDIRS="$AUDIO_SUBDIRS openbsd"
  2025             AUDIO_DRIVERS="$AUDIO_DRIVERS openbsd/libaudio_openbsd.la"
  2026         fi
  2027         # OpenBSD needs linking with ossaudio emulation library
  2028         if test x$have_oss = xyes; then
  2029             SYSTEM_LIBS="$SYSTEM_LIBS -lossaudio"
  2030         fi
  2031         # Set up files for the cdrom library
  2032         if test x$enable_cdrom = xyes; then
  2033             CDROM_SUBDIRS="$CDROM_SUBDIRS openbsd"
  2034             CDROM_DRIVERS="$CDROM_DRIVERS openbsd/libcdrom_openbsd.la"
  2035         fi
  2036         # Set up files for the thread library
  2037         if test x$enable_threads = xyes; then
  2038             CopyUnixThreadSource
  2039         fi
  2040         # Set up files for the timer library
  2041         if test x$enable_timers = xyes; then
  2042             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2043         fi
  2044         # OpenBSD does not define "unix"
  2045         CFLAGS="$CFLAGS -Dunix"
  2046         ;;
  2047     *-*-sysv5*)
  2048         ARCH=sysv5
  2049         CheckDummyVideo
  2050         CheckDiskAudio
  2051         CheckDLOPEN
  2052         CheckNASM
  2053         CheckOSS
  2054         CheckARTSC
  2055         CheckESD
  2056         CheckNAS
  2057         CheckX11
  2058         CheckAAlib
  2059         CheckOpenGL
  2060         CheckPTHREAD
  2061         CheckSIGACTION
  2062         # Set up files for the audio library
  2063         if test x$enable_audio = xyes; then
  2064             CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  2065             AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  2066             AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  2067         fi
  2068         # Set up files for the joystick library
  2069         # (No joystick support yet)
  2070         if test x$enable_joystick = xyes; then
  2071             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  2072             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  2073         fi
  2074         # Set up files for the cdrom library
  2075         if test x$enable_cdrom = xyes; then
  2076             CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
  2077             CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
  2078         fi
  2079         # Set up files for the thread library
  2080         if test x$enable_threads = xyes; then
  2081             CopyUnixThreadSource
  2082         fi
  2083         # Set up files for the timer library
  2084         if test x$enable_timers = xyes; then
  2085             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2086         fi
  2087         ;;
  2088     *-*-solaris*)
  2089         ARCH=solaris
  2090         CFLAGS="$CFLAGS -D__ELF__" # Fix for nasm on Solaris x86
  2091         CheckDummyVideo
  2092         CheckDiskAudio
  2093         CheckDLOPEN
  2094         CheckNASM
  2095         CheckOSS
  2096         CheckARTSC
  2097         CheckESD
  2098         CheckNAS
  2099         CheckX11
  2100         CheckAAlib
  2101         CheckOpenGL
  2102         CheckPTHREAD
  2103         CheckSIGACTION
  2104         # Set up files for the audio library
  2105         if test x$enable_audio = xyes; then
  2106             CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  2107             AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  2108             AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  2109         fi
  2110         # Set up files for the joystick library
  2111         # (No joystick support yet)
  2112         if test x$enable_joystick = xyes; then
  2113             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  2114             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  2115         fi
  2116         # Set up files for the cdrom library
  2117         if test x$enable_cdrom = xyes; then
  2118             CDROM_SUBDIRS="$CDROM_SUBDIRS linux"
  2119             CDROM_DRIVERS="$CDROM_DRIVERS linux/libcdrom_linux.la"
  2120         fi
  2121         # Set up files for the thread library
  2122         if test x$enable_threads = xyes; then
  2123             CopyUnixThreadSource
  2124         fi
  2125         # Set up files for the timer library
  2126         if test x$enable_timers = xyes; then
  2127             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2128         fi
  2129         ;;
  2130     *-*-irix*)
  2131         ARCH=irix
  2132         CheckDummyVideo
  2133         CheckDiskAudio
  2134         CheckDLOPEN
  2135         CheckDMEDIA
  2136         CheckESD
  2137         CheckNAS
  2138         CheckX11
  2139         CheckAAlib
  2140         CheckOpenGL
  2141         CheckPTHREAD
  2142         CheckSIGACTION
  2143         # We use the dmedia audio API, not the Sun audio API
  2144         #if test x$enable_audio = xyes; then
  2145         #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  2146         #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  2147         #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  2148         #fi
  2149         # Set up files for the joystick library
  2150         # (No joystick support yet)
  2151         if test x$enable_joystick = xyes; then
  2152             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  2153             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  2154         fi
  2155         # Set up files for the cdrom library
  2156         # (No CD-ROM support yet)
  2157         if test x$enable_cdrom = xyes; then
  2158             CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
  2159             CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
  2160         fi
  2161         # Set up files for the thread library
  2162         if test x$enable_threads = xyes; then
  2163             if test x$use_pthreads = xyes -o x$use_pth = xyes; then
  2164                 CopyUnixThreadSource
  2165             else
  2166                 COPY_ARCH_SRC(src/thread, irix, SDL_systhread.c)
  2167                 COPY_ARCH_SRC(src/thread, irix, SDL_systhread_c.h)
  2168                 COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  2169                 COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  2170                 COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
  2171                 COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  2172                 COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  2173                 COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  2174             fi
  2175         fi
  2176         # Set up files for the timer library
  2177         if test x$enable_timers = xyes; then
  2178             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2179         fi
  2180         ;;
  2181     *-*-hpux*)
  2182         ARCH=hpux
  2183         CheckDummyVideo
  2184         CheckDiskAudio
  2185         CheckDLOPEN
  2186         CheckOSS
  2187         CheckNAS
  2188         CheckX11
  2189         CheckGGI
  2190         CheckAAlib
  2191         CheckOpenGL
  2192         CheckPTHREAD
  2193         CheckSIGACTION
  2194         # Set up files for the audio library
  2195         if test x$enable_audio = xyes; then
  2196             CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  2197             AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  2198             AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  2199         fi
  2200         # Set up files for the joystick library
  2201         # (No joystick support yet)
  2202         if test x$enable_joystick = xyes; then
  2203             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  2204             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  2205         fi
  2206         # Set up files for the cdrom library
  2207         # (No CD-ROM support yet)
  2208         if test x$enable_cdrom = xyes; then
  2209             CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
  2210             CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
  2211         fi
  2212         # Set up files for the thread library
  2213         if test x$enable_threads = xyes; then
  2214             CopyUnixThreadSource
  2215         fi
  2216         # Set up files for the timer library
  2217         if test x$enable_timers = xyes; then
  2218             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2219         fi
  2220         ;;
  2221     *-*-aix*)
  2222         ARCH=aix
  2223         CheckDummyVideo
  2224         CheckDiskAudio
  2225         CheckDLOPEN
  2226         CheckOSS
  2227         CheckNAS
  2228         CheckX11
  2229         CheckGGI
  2230         CheckAAlib
  2231         CheckOpenGL
  2232         CheckPTHREAD
  2233         CheckSIGACTION
  2234         # Set up files for the audio library
  2235         if test x$enable_audio = xyes; then
  2236             AUDIO_SUBDIRS="$AUDIO_SUBDIRS paudio"
  2237             AUDIO_DRIVERS="$AUDIO_DRIVERS paudio/libaudio_paudio.la"
  2238         fi
  2239         # Set up files for the joystick library
  2240         # (No joystick support yet)
  2241         if test x$enable_joystick = xyes; then
  2242             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  2243             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  2244         fi
  2245         # Set up files for the cdrom library
  2246         if test x$enable_cdrom = xyes; then
  2247             CDROM_SUBDIRS="$CDROM_SUBDIRS aix"
  2248             CDROM_DRIVERS="$CDROM_DRIVERS aix/libcdrom_aix.la"
  2249         fi
  2250         # Set up files for the thread library
  2251         if test x$enable_threads = xyes; then
  2252             CopyUnixThreadSource
  2253         fi
  2254         # Set up files for the timer library
  2255         if test x$enable_timers = xyes; then
  2256             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2257         fi
  2258         ;;
  2259     *-*-osf*)
  2260         ARCH=osf
  2261         CheckDummyVideo
  2262         CheckDiskAudio
  2263         CheckDLOPEN
  2264         CheckNAS
  2265         CheckX11
  2266         CheckGGI
  2267         CheckAAlib
  2268         CheckOpenGL
  2269         CheckPTHREAD
  2270         CheckSIGACTION
  2271         SDL_LIBS="$SDL_LIBS -lrt"
  2272         # Set up files for the audio library
  2273         if test x$enable_audio = xyes; then
  2274             CFLAGS="$CFLAGS -I/usr/include/mme -DMMEAUDIO_SUPPORT"
  2275             SYSTEM_LIBS="$SYSTEM_LIBS -lmme"
  2276             AUDIO_SUBDIRS="$AUDIO_SUBDIRS mme"
  2277             AUDIO_DRIVERS="$AUDIO_DRIVERS mme/libaudio_mme.la"
  2278         fi
  2279         # Set up files for the joystick library
  2280         # (No joystick support yet)
  2281         if test x$enable_joystick = xyes; then
  2282             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  2283             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  2284         fi
  2285         # Set up files for the cdrom library
  2286         # (No cdrom support yet)
  2287         if test x$enable_cdrom = xyes; then
  2288             CDROM_SUBDIRS="$CDROM_SUBDIRS osf"
  2289             CDROM_DRIVERS="$CDROM_DRIVERS osf/libcdrom_osf.la"
  2290         fi
  2291         # Set up files for the thread library
  2292         if test x$enable_threads = xyes; then
  2293             CopyUnixThreadSource
  2294         fi
  2295         # Set up files for the timer library
  2296         if test x$enable_timers = xyes; then
  2297             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2298         fi
  2299         ;;
  2300     *-*-qnx*)
  2301         ARCH=qnx
  2302         CheckDummyVideo
  2303         CheckDiskAudio
  2304         CheckDLOPEN
  2305         CheckNAS
  2306         CheckPHOTON
  2307         CheckX11
  2308         CheckOpenGL
  2309         CheckPTHREAD
  2310         CheckSIGACTION
  2311         # Set up files for the audio library
  2312         if test x$enable_audio = xyes; then
  2313             CFLAGS="$CFLAGS -DQNXNTOAUDIO_SUPPORT"
  2314             SYSTEM_LIBS="$SYSTEM_LIBS -lasound"
  2315             AUDIO_SUBDIRS="$AUDIO_SUBDIRS nto"
  2316             AUDIO_DRIVERS="$AUDIO_DRIVERS nto/libaudio_nto.la"
  2317         fi
  2318         # Set up files for the joystick library
  2319         if test x$enable_joystick = xyes; then
  2320         # (No joystick support yet)
  2321             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  2322             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  2323         fi
  2324         # Set up files for the cdrom library
  2325         if test x$enable_cdrom = xyes; then
  2326             CDROM_SUBDIRS="$CDROM_SUBDIRS qnx"
  2327             CDROM_DRIVERS="$CDROM_DRIVERS qnx/libcdrom_qnx.la"
  2328         fi
  2329         # Set up files for the thread library
  2330         if test x$enable_threads = xyes; then
  2331             CopyUnixThreadSource
  2332         fi
  2333         # Set up files for the timer library
  2334         if test x$enable_timers = xyes; then
  2335             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2336         fi
  2337         ;;
  2338     *-*-cygwin* | *-*-mingw32*)
  2339         ARCH=win32
  2340         if test "$build" != "$target"; then # cross-compiling
  2341             # Default cross-compile location
  2342             ac_default_prefix=/usr/local/cross-tools/i386-mingw32msvc
  2343         else
  2344             # Look for the location of the tools and install there
  2345             if test "$BUILD_PREFIX" != ""; then
  2346                 ac_default_prefix=$BUILD_PREFIX
  2347             fi
  2348         fi
  2349         CheckDummyVideo
  2350         CheckDiskAudio
  2351         CheckWIN32
  2352         CheckDIRECTX
  2353         CheckNASM
  2354         # Set up files for the audio library
  2355         if test x$enable_audio = xyes; then
  2356             AUDIO_SUBDIRS="$AUDIO_SUBDIRS windib"
  2357             AUDIO_DRIVERS="$AUDIO_DRIVERS windib/libaudio_windib.la"
  2358             if test x$use_directx = xyes; then
  2359                 AUDIO_SUBDIRS="$AUDIO_SUBDIRS windx5"
  2360                 AUDIO_DRIVERS="$AUDIO_DRIVERS windx5/libaudio_windx5.la"
  2361             fi
  2362         fi
  2363         # Set up files for the joystick library
  2364         if test x$enable_joystick = xyes; then
  2365             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS win32"
  2366             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS win32/libjoystick_winmm.la"
  2367         fi
  2368         # Set up files for the cdrom library
  2369         if test x$enable_cdrom = xyes; then
  2370             CDROM_SUBDIRS="$CDROM_SUBDIRS win32"
  2371             CDROM_DRIVERS="$CDROM_DRIVERS win32/libcdrom_win32.la"
  2372         fi
  2373         # Set up files for the thread library
  2374         if test x$enable_threads = xyes; then
  2375             COPY_ARCH_SRC(src/thread, win32, SDL_systhread.c)
  2376             COPY_ARCH_SRC(src/thread, win32, SDL_systhread_c.h)
  2377             COPY_ARCH_SRC(src/thread, win32, SDL_sysmutex.c)
  2378             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
  2379             COPY_ARCH_SRC(src/thread, win32, SDL_syssem.c)
  2380             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  2381             COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  2382             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  2383         fi
  2384         # Set up files for the timer library
  2385         if test x$enable_timers = xyes; then
  2386             COPY_ARCH_SRC(src/timer, win32, SDL_systimer.c)
  2387         fi
  2388         # The Win32 platform requires special setup
  2389         SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
  2390         case "$target" in
  2391             *-*-cygwin*)
  2392                 CFLAGS="$CFLAGS -I/usr/include/mingw -DWIN32 -Uunix -mno-cygwin"
  2393                 SDL_CFLAGS="$SDL_CFLAGS -I/usr/include/mingw -DWIN32 -Uunix -mno-cygwin"
  2394                 LIBS="$LIBS -mno-cygwin"
  2395                 SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows -mno-cygwin"
  2396                 ;;
  2397             *-*-mingw32*)
  2398                 SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows"
  2399                 ;;
  2400         esac
  2401         ;;
  2402     *-*-beos*)
  2403         ARCH=beos
  2404         ac_default_prefix=/boot/develop/tools/gnupro
  2405         CheckDummyVideo
  2406         CheckDiskAudio
  2407         CheckNASM
  2408         CheckBWINDOW
  2409         CheckBeGL
  2410         # Set up files for the audio library
  2411         if test x$enable_audio = xyes; then
  2412             AUDIO_SUBDIRS="$AUDIO_SUBDIRS baudio"
  2413             AUDIO_DRIVERS="$AUDIO_DRIVERS baudio/libaudio_baudio.la"
  2414         fi
  2415         # Set up files for the joystick library
  2416         if test x$enable_joystick = xyes; then
  2417             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS beos"
  2418             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS beos/libjoystick_beos.la"
  2419         fi
  2420         # Set up files for the cdrom library
  2421         if test x$enable_cdrom = xyes; then
  2422             CDROM_SUBDIRS="$CDROM_SUBDIRS beos"
  2423             CDROM_DRIVERS="$CDROM_DRIVERS beos/libcdrom_beos.la"
  2424         fi
  2425         # Set up files for the thread library
  2426         if test x$enable_threads = xyes; then
  2427             COPY_ARCH_SRC(src/thread, beos, SDL_systhread.c)
  2428             COPY_ARCH_SRC(src/thread, beos, SDL_systhread_c.h)
  2429             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c)
  2430             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
  2431             COPY_ARCH_SRC(src/thread, beos, SDL_syssem.c)
  2432             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  2433             COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  2434             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  2435         fi
  2436         # Set up files for the timer library
  2437         if test x$enable_timers = xyes; then
  2438             COPY_ARCH_SRC(src/timer, beos, SDL_systimer.c)
  2439         fi
  2440         # The BeOS platform requires special libraries
  2441         SYSTEM_LIBS="$SYSTEM_LIBS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding"
  2442         ;;
  2443     *-*-macos*)
  2444         # This would be used if cross-compiling to MacOS 9.  No way to
  2445         # use it at present, but Apple is working on a X-to-9 compiler
  2446         # for which this case would be handy.
  2447         ARCH=macos
  2448         CheckDummyVideo
  2449         CheckDiskAudio
  2450         CheckTOOLBOX
  2451         CheckMacGL
  2452         # Set up files for the audio library
  2453         if test x$enable_audio = xyes; then
  2454             AUDIO_SUBDIRS="$AUDIO_SUBDIRS macrom"
  2455             AUDIO_DRIVERS="$AUDIO_DRIVERS macrom/libaudio_macrom.la"
  2456         fi
  2457         # Set up files for the joystick library
  2458         if test x$enable_joystick = xyes; then
  2459             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS macos"
  2460             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS macos/libjoystick_macos.la"
  2461         fi
  2462         # Set up files for the cdrom library
  2463         if test x$enable_cdrom = xyes; then
  2464             CDROM_SUBDIRS="$CDROM_SUBDIRS macos"
  2465             CDROM_DRIVERS="$CDROM_DRIVERS macos/libcdrom_macos.la"
  2466         fi
  2467         # Set up files for the thread library
  2468         if test x$enable_threads = xyes; then
  2469             COPY_ARCH_SRC(src/thread, macos, SDL_systhread.c)
  2470             COPY_ARCH_SRC(src/thread, macos, SDL_systhread_c.h)
  2471             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c)
  2472             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
  2473             COPY_ARCH_SRC(src/thread, macos, SDL_syssem.c)
  2474             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  2475             COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  2476             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  2477         fi
  2478         # Set up files for the timer library
  2479         if test x$enable_timers = xyes; then
  2480             COPY_ARCH_SRC(src/timer, macos, SDL_systimer.c)
  2481         fi
  2482         # The MacOS platform requires special setup
  2483         SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
  2484         SDL_LIBS="-lSDLmain $SDL_LIBS"
  2485         ;;
  2486     *-*-darwin* )
  2487         # Strictly speaking, we want "Mac OS X", not "Darwin", which is
  2488         # just the OS X kernel sans upper layers like Carbon and Cocoa.
  2489         # But config.guess comes back with "darwin", so go with the flow.
  2490         ARCH=macosx
  2491         CheckDummyVideo
  2492         CheckDiskAudio
  2493         CheckQUARTZ
  2494         CheckMacGL
  2495         CheckPTHREAD
  2496         CheckSIGACTION
  2497         # Set up files for the audio library
  2498         if test x$enable_audio = xyes; then
  2499             AUDIO_SUBDIRS="$AUDIO_SUBDIRS macrom"
  2500             AUDIO_DRIVERS="$AUDIO_DRIVERS macrom/libaudio_macrom.la"
  2501         fi
  2502         # Set up files for the joystick library
  2503         if test x$enable_joystick = xyes; then
  2504             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS darwin"
  2505             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS darwin/libjoystick_darwin.la"
  2506             SYSTEM_LIBS="$SYSTEM_LIBS -framework IOKit"
  2507         fi
  2508         # Set up files for the cdrom library
  2509         if test x$enable_cdrom = xyes; then
  2510             CDROM_SUBDIRS="$CDROM_SUBDIRS macosx"
  2511             CDROM_DRIVERS="$CDROM_DRIVERS macosx/libcdrom_macosx.la"
  2512             SYSTEM_LIBS="$SYSTEM_LIBS -framework AudioToolbox -framework AudioUnit -lstdc++"
  2513         fi
  2514         # Set up files for the thread library
  2515         if test x$enable_threads = xyes; then
  2516             CopyUnixThreadSource
  2517         fi
  2518         # Set up files for the timer library
  2519         if test x$enable_timers = xyes; then
  2520             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2521         fi
  2522         # The MacOS X platform requires special setup.
  2523         SDL_LIBS="-lSDLmain $SDL_LIBS"
  2524         # The Cocoa backend still needs Carbon, and the YUV code QuickTime
  2525         SYSTEM_LIBS="$SYSTEM_LIBS -framework Cocoa -framework Carbon -framework QuickTime"
  2526         ;;
  2527     *-*-mint*)
  2528         ARCH=mint
  2529         CheckDummyVideo
  2530         CheckDiskAudio
  2531         CheckAtariBiosEvent
  2532         CheckAtariXbiosVideo
  2533         CheckAtariGemVideo
  2534         CheckAtariAudio
  2535         CheckAtariLdg
  2536         CheckPTH
  2537         # Set up files for the audio library
  2538         if test x$enable_threads = xyes -a x$enable_pth = xyes; then
  2539             if test x$enable_audio = xyes; then
  2540                 CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  2541                 AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  2542                 AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  2543             fi
  2544         fi
  2545         # Set up files for the joystick library
  2546         if test x$enable_joystick = xyes; then
  2547             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS mint"
  2548             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS mint/libjoystick_mint.la"
  2549         fi
  2550         # Set up files for the cdrom library
  2551         if test x$enable_cdrom = xyes; then
  2552             CDROM_SUBDIRS="$CDROM_SUBDIRS mint"
  2553             CDROM_DRIVERS="$CDROM_DRIVERS mint/libcdrom_mint.la"
  2554         fi
  2555         # Set up files for the thread library
  2556         if test x$enable_threads = xyes; then
  2557             CopyUnixThreadSource
  2558         fi
  2559         # Set up files for the timer library
  2560         if test x$enable_timers = xyes; then
  2561             if test x$enable_threads = xyes -a x$enable_pth = xyes; then
  2562                 COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2563             else
  2564                 COPY_ARCH_SRC(src/timer, mint, SDL_systimer.c)
  2565             fi
  2566         fi
  2567         # MiNT does not define "unix"
  2568         CFLAGS="$CFLAGS -Dunix"
  2569         ;;
  2570     *-*-riscos)
  2571         ARCH=riscos
  2572         JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS riscos"
  2573         JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS riscos/libjoystick_riscos.la"
  2574         COPY_ARCH_SRC(src/timer, riscos, SDL_systimer.c)
  2575         VIDEO_SUBDIRS="$VIDEO_SUBDIRS riscos"
  2576         VIDEO_DRIVERS="$VIDEO_DRIVERS riscos/libvideo_riscos.la"
  2577         AUDIO_SUBDIRS="$AUDIO_SUBDIRS riscos"
  2578         AUDIO_DRIVERS="$AUDIO_DRIVERS riscos/libaudio_riscos.la"
  2579 
  2580         if test x$enable_cdrom = xyes; then
  2581             CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
  2582             CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
  2583         fi
  2584 
  2585         CFLAGS="$CFLAGS -DDISABLE_THREADS -DENABLE_RISCOS -DDRENDERER_SUPPORT"
  2586 
  2587         SYSTEM_LIBS="$SYSTEM_LIBS -ljpeg -ltiff -lpng -lz"
  2588         ;;
  2589     *)
  2590         AC_MSG_ERROR(Unsupported target:  Please add to configure.in)
  2591         ;;
  2592 esac
  2593 AC_SUBST(ARCH)
  2594 
  2595 # Set the conditional variables for this target
  2596 AM_CONDITIONAL(TARGET_LINUX, test $ARCH = linux)
  2597 AM_CONDITIONAL(TARGET_QTOPIA, test "x$video_qtopia" = "xyes")
  2598 AM_CONDITIONAL(TARGET_SOLARIS, test $ARCH = solaris)
  2599 AM_CONDITIONAL(TARGET_IRIX, test $ARCH = irix)
  2600 AM_CONDITIONAL(TARGET_BSDI, test $ARCH = bsdi)
  2601 AM_CONDITIONAL(TARGET_FREEBSD, test $ARCH = freebsd)
  2602 AM_CONDITIONAL(TARGET_NETBSD, test $ARCH = netbsd)
  2603 AM_CONDITIONAL(TARGET_OPENBSD, test $ARCH = openbsd)
  2604 AM_CONDITIONAL(TARGET_AIX, test $ARCH = aix)
  2605 AM_CONDITIONAL(TARGET_WIN32, test $ARCH = win32)
  2606 AM_CONDITIONAL(TARGET_BEOS, test $ARCH = beos)
  2607 AM_CONDITIONAL(TARGET_MACOS, test $ARCH = macos)
  2608 AM_CONDITIONAL(TARGET_MACOSX, test $ARCH = macosx)
  2609 AM_CONDITIONAL(TARGET_QNX, test $ARCH = qnx)
  2610 AM_CONDITIONAL(TARGET_MINT, test $ARCH = mint)
  2611 
  2612 # More automake conditionals
  2613 AM_CONDITIONAL(USE_DIRECTX, test x$use_directx = xyes)
  2614 AM_CONDITIONAL(USE_CLONE, test x$use_clone = xyes)
  2615 AM_CONDITIONAL(HAVE_NASM, test x$use_nasm = xyes)
  2616 
  2617 # Set conditional variables for shared and static library selection.
  2618 # These are not used in any Makefile.am but in sdl-config.in.
  2619 AM_CONDITIONAL([ENABLE_SHARED], [test "$enable_shared" = yes])
  2620 AM_CONDITIONAL([ENABLE_STATIC], [test "$enable_static" = yes])
  2621 
  2622 # Set runtime shared library paths as needed
  2623 
  2624 if test $ARCH = linux -o $ARCH = freebsd -o $ARCH = bsdi; then
  2625   SDL_RLD_FLAGS="-Wl,-rpath,\${exec_prefix}/lib"
  2626 fi
  2627 if test $ARCH = solaris; then
  2628   SDL_RLD_FLAGS="-R\${exec_prefix}/lib"
  2629 fi
  2630 
  2631 case "$ARCH" in
  2632   openbsd | netbsd | bsdi)
  2633     SHARED_SYSTEM_LIBS="$SYSTEM_LIBS"
  2634     ;;
  2635   qnx)
  2636     SHARED_SYSTEM_LIBS="$SYSTEM_LIBS"
  2637     ;;
  2638   macosx)
  2639     SHARED_SYSTEM_LIBS="-framework Cocoa"
  2640     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  2641       SHARED_SYSTEM_LIBS="$SHARED_SYSTEM_LIBS -framework OpenGL"
  2642     fi
  2643     ;;
  2644   *)
  2645     SHARED_SYSTEM_LIBS=""
  2646     ;;
  2647 esac
  2648 
  2649 case "$ARCH" in
  2650   macosx)
  2651     # Evil hack to allow static linking on Mac OS X
  2652     SDL_STATIC_LIBS="\${exec_prefix}/lib/libSDLmain.a \${exec_prefix}/lib/libSDL.a"
  2653     ;;
  2654   *)
  2655     SDL_STATIC_LIBS="$SDL_LIBS"
  2656     ;;
  2657 esac
  2658 
  2659 
  2660 STATIC_SYSTEM_LIBS="$SYSTEM_LIBS"
  2661 
  2662 dnl Output the video drivers we use
  2663 if test x$enable_video = xtrue; then
  2664     if test "$VIDEO_SUBDIRS" = ""; then
  2665         AC_MSG_ERROR(*** No video drivers are enabled!)
  2666     fi
  2667 fi
  2668 AC_SUBST(AUDIO_SUBDIRS)
  2669 AC_SUBST(AUDIO_DRIVERS)
  2670 AC_SUBST(VIDEO_SUBDIRS)
  2671 AC_SUBST(VIDEO_DRIVERS)
  2672 AC_SUBST(JOYSTICK_SUBDIRS)
  2673 AC_SUBST(JOYSTICK_DRIVERS)
  2674 AC_SUBST(CDROM_SUBDIRS)
  2675 AC_SUBST(CDROM_DRIVERS)
  2676 AC_SUBST(SDL_EXTRADIRS)
  2677 AC_SUBST(SDL_EXTRALIBS)
  2678 
  2679 dnl Expand the cflags and libraries needed by apps using SDL
  2680 AC_SUBST(SDL_CFLAGS)
  2681 AC_SUBST(SDL_LIBS)
  2682 AC_SUBST(SDL_STATIC_LIBS)
  2683 AC_SUBST(SDL_RLD_FLAGS)
  2684 
  2685 dnl Expand the libraries needed for static and dynamic linking
  2686 AC_SUBST(STATIC_SYSTEM_LIBS)
  2687 AC_SUBST(SHARED_SYSTEM_LIBS)
  2688 AC_SUBST(SYSTEM_LIBS)
  2689 
  2690 dnl Expand the include directories for building SDL
  2691 CFLAGS="$CFLAGS -I\$(top_srcdir)/include"
  2692 CFLAGS="$CFLAGS -I\$(top_srcdir)/include/SDL"
  2693 CFLAGS="$CFLAGS -I\$(top_srcdir)/src -I\$(top_srcdir)/src/main/$ARCH"
  2694 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/audio"
  2695 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video"
  2696 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video/XFree86/extensions"
  2697 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/events"
  2698 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/joystick"
  2699 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/cdrom"
  2700 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/thread"
  2701 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/timer"
  2702 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/endian"
  2703 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/file"
  2704 CFLAGS="$CFLAGS -I\$(top_builddir)/src/thread"
  2705 CXXFLAGS="$CFLAGS"
  2706 
  2707 
  2708 # Check for darwin at the very end and set up the Objective C compiler
  2709 # We do this here so that we get the full CFLAGS into OBJCFLAGS
  2710 case "$target" in
  2711     *-*-darwin*)
  2712         dnl AC_PROG_OBJC doesn't seem to exist, this is the SDL workaround
  2713         AC_MSG_CHECKING(for an Objective-C compiler)
  2714         OBJC="$CC"
  2715         AC_SUBST(OBJC)
  2716         OBJCFLAGS="$CFLAGS"
  2717         AC_SUBST(OBJCFLAGS)
  2718         dnl _AM_DEPENDENCIES(OBJC) doesn't work, so hard code OBJCDEPMODE here
  2719         dnl _AM_DEPENDENCIES(OBJC)
  2720         dnl Of course, hard coding doesn't work for some versions of automake
  2721         OBJCDEPMODE="depmode=gcc"
  2722         AC_SUBST(OBJCDEPMODE)
  2723         dnl Trying this to satisfy everybody...
  2724         AC_MSG_RESULT(not implemented yet)
  2725         ;;
  2726 esac
  2727 
  2728 # Finally create all the generated files
  2729 dnl Important: Any directory that you want to be in the distcheck should
  2730 dnl            have a file listed here, so that configure generates the
  2731 dnl            subdirectories on the build target.
  2732 AC_OUTPUT([
  2733 Makefile
  2734 docs/Makefile
  2735 docs/html/Makefile
  2736 docs/man3/Makefile
  2737 include/Makefile
  2738 src/Makefile
  2739 src/main/Makefile
  2740 src/main/macosx/Makefile
  2741 src/main/macosx/Info.plist
  2742 src/audio/Makefile
  2743 src/audio/alsa/Makefile
  2744 src/audio/arts/Makefile
  2745 src/audio/baudio/Makefile
  2746 src/audio/dc/Makefile
  2747 src/audio/disk/Makefile
  2748 src/audio/dma/Makefile
  2749 src/audio/dmedia/Makefile
  2750 src/audio/dsp/Makefile
  2751 src/audio/esd/Makefile
  2752 src/audio/macrom/Makefile
  2753 src/audio/mint/Makefile
  2754 src/audio/mme/Makefile
  2755 src/audio/nas/Makefile
  2756 src/audio/nto/Makefile
  2757 src/audio/openbsd/Makefile
  2758 src/audio/paudio/Makefile
  2759 src/audio/riscos/Makefile
  2760 src/audio/sun/Makefile
  2761 src/audio/ums/Makefile
  2762 src/audio/windib/Makefile
  2763 src/audio/windx5/Makefile
  2764 src/video/Makefile
  2765 src/video/aalib/Makefile
  2766 src/video/ataricommon/Makefile
  2767 src/video/bwindow/Makefile
  2768 src/video/cybergfx/Makefile
  2769 src/video/dc/Makefile
  2770 src/video/dga/Makefile
  2771 src/video/directfb/Makefile
  2772 src/video/dummy/Makefile
  2773 src/video/epoc/Makefile
  2774 src/video/fbcon/Makefile
  2775 src/video/gem/Makefile
  2776 src/video/ggi/Makefile
  2777 src/video/maccommon/Makefile
  2778 src/video/macdsp/Makefile
  2779 src/video/macrom/Makefile
  2780 src/video/nanox/Makefile
  2781 src/video/photon/Makefile
  2782 src/video/picogui/Makefile
  2783 src/video/ps2gs/Makefile
  2784 src/video/qtopia/Makefile
  2785 src/video/quartz/Makefile
  2786 src/video/riscos/Makefile
  2787 src/video/svga/Makefile
  2788 src/video/vgl/Makefile
  2789 src/video/wincommon/Makefile
  2790 src/video/windib/Makefile
  2791 src/video/windx5/Makefile
  2792 src/video/x11/Makefile
  2793 src/video/xbios/Makefile
  2794 src/video/XFree86/Makefile
  2795 src/video/XFree86/extensions/Makefile
  2796 src/video/XFree86/Xinerama/Makefile
  2797 src/video/XFree86/Xv/Makefile
  2798 src/video/XFree86/Xxf86dga/Makefile
  2799 src/video/XFree86/Xxf86vm/Makefile
  2800 src/events/Makefile
  2801 src/joystick/Makefile
  2802 src/joystick/amigaos/Makefile
  2803 src/joystick/beos/Makefile
  2804 src/joystick/bsd/Makefile
  2805 src/joystick/darwin/Makefile
  2806 src/joystick/dc/Makefile
  2807 src/joystick/dummy/Makefile
  2808 src/joystick/linux/Makefile
  2809 src/joystick/macos/Makefile
  2810 src/joystick/mint/Makefile
  2811 src/joystick/riscos/Makefile
  2812 src/joystick/win32/Makefile
  2813 src/cdrom/Makefile
  2814 src/cdrom/aix/Makefile
  2815 src/cdrom/beos/Makefile
  2816 src/cdrom/dc/Makefile
  2817 src/cdrom/dummy/Makefile
  2818 src/cdrom/bsdi/Makefile
  2819 src/cdrom/freebsd/Makefile
  2820 src/cdrom/linux/Makefile
  2821 src/cdrom/macos/Makefile
  2822 src/cdrom/macosx/Makefile
  2823 src/cdrom/mint/Makefile
  2824 src/cdrom/openbsd/Makefile
  2825 src/cdrom/osf/Makefile
  2826 src/cdrom/qnx/Makefile
  2827 src/cdrom/win32/Makefile
  2828 src/thread/Makefile
  2829 src/timer/Makefile
  2830 src/endian/Makefile
  2831 src/file/Makefile
  2832 src/cpuinfo/Makefile
  2833 src/hermes/Makefile
  2834 sdl-config
  2835 SDL.spec
  2836 SDL.qpg
  2837 ], [chmod +x sdl-config])