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