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