configure.in
author Sam Lantinga <slouken@libsdl.org>
Fri, 20 May 2005 07:34:34 +0000
changeset 1062 3e637850c02b
parent 1047 ffaaf7ecf685
child 1127 fb8818ee9112
permissions -rw-r--r--
Date: Tue, 22 Mar 2005 23:50:20 +0100
From: Johannes Schmidt
Subject: [PATCH] Re: [SDL] SDL 1.2.8 Prerelease

On Saturday 18 December 2004 13:59, Stephane Marchesin wrote:
> >#error "The kernel sources in /usr/src/linux are not yet configured."
> >#error "Please run 'make cloneconfig && make dep' in /usr/src/linux/"
> >#error "to get a kernel that is configured like the running kernel."
> >#error "Alternatively, you can copy one of the config files"
> >#error "arch/$ARCH/defconfig.* to .config, and run"
> >#error "'make oldconfig && make dep' to configure the kernel"
> >#error "for that configuration."
> >-
>
> That's the Suse kernel sources...
> I think the only way out is to add a test in ./configure

Attached is a patch (it works for me[TM]) which adds a CheckLinuxVersion() to
configure.in and a check for HAVE_LINUX_VERSION_H to
src/cdrom/linux/SDL_syscdrom.c.
     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 case "$target" in
  1868     *-*-linux*|*-*-gnu*|*-*-k*bsd*-gnu)
  1869         case "$target" in
  1870           *-*-linux*) ARCH=linux ;;
  1871           *-*-kfreebsd*-gnu) ARCH=kfreebsd-gnu ;;
  1872           *-*-knetbsd*-gnu) ARCH=knetbsd-gnu ;;
  1873           *-*-kopenbsd*-gnu) ARCH=kopenbsd-gnu ;;
  1874           *-*-gnu*) ARCH=gnu ;; # must be last
  1875         esac
  1876         CheckDummyVideo
  1877         CheckDiskAudio
  1878         CheckDLOPEN
  1879         CheckNASM
  1880         CheckOSS
  1881         CheckALSA
  1882         CheckARTSC
  1883         CheckESD
  1884         CheckNAS
  1885         CheckX11
  1886         CheckNANOX
  1887         CheckDGA
  1888         CheckFBCON
  1889         CheckDirectFB
  1890         CheckPS2GS
  1891         CheckGGI
  1892         CheckSVGA
  1893         CheckAAlib
  1894         CheckQtopia
  1895         CheckPicoGUI
  1896         CheckOpenGL
  1897         CheckInputEvents
  1898         CheckPTHREAD
  1899         CheckSIGACTION
  1900         CheckAltivec
  1901         CheckLinuxVersion
  1902 
  1903         # Set up files for the main() stub
  1904         if test "x$video_qtopia" = "xyes"; then
  1905           SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
  1906           SDL_LIBS="-lSDLmain $SDL_LIBS"
  1907         fi
  1908         # Set up files for the audio library
  1909         # We use the OSS and ALSA API's, not the Sun audio API
  1910         #if test x$enable_audio = xyes; then
  1911         #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  1912         #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  1913         #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  1914         #fi
  1915         # Set up files for the joystick library
  1916         if test x$enable_joystick = xyes; then
  1917 	  case $ARCH in
  1918 	    linux)
  1919               JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS linux"
  1920               JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS linux/libjoystick_linux.la"
  1921 	    ;;
  1922 	    gnu)
  1923               JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  1924               JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  1925 	    ;;
  1926 	    k*bsd-gnu)
  1927               JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS bsd"
  1928               JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS bsd/libjoystick_bsd.la"
  1929 	    ;;
  1930 	  esac
  1931         fi
  1932         # Set up files for the cdrom library
  1933         if test x$enable_cdrom = xyes; then
  1934 	  case $ARCH in
  1935 	    linux)
  1936               CDROM_SUBDIRS="$CDROM_SUBDIRS linux"
  1937               CDROM_DRIVERS="$CDROM_DRIVERS linux/libcdrom_linux.la"
  1938 	    ;;
  1939 	    gnu)
  1940               CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
  1941               CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
  1942 	    ;;
  1943 	    kfreebsd-gnu)
  1944               CDROM_SUBDIRS="$CDROM_SUBDIRS freebsd"
  1945               CDROM_DRIVERS="$CDROM_DRIVERS freebsd/libcdrom_freebsd.la"
  1946 	    ;;
  1947 	    knetbsd-gnu|kopenbsd-gnu)
  1948               CDROM_SUBDIRS="$CDROM_SUBDIRS openbsd"
  1949               CDROM_DRIVERS="$CDROM_DRIVERS openbsd/libcdrom_openbsd.la"
  1950 	    ;;
  1951 	  esac
  1952         fi
  1953         # Set up files for the thread library
  1954         if test x$enable_threads = xyes; then
  1955             CopyUnixThreadSource
  1956         fi
  1957         # Set up files for the timer library
  1958         if test x$enable_timers = xyes; then
  1959             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  1960         fi
  1961         ;;
  1962     *-*-bsdi*)
  1963         ARCH=bsdi
  1964         CheckDummyVideo
  1965         CheckDiskAudio
  1966         CheckDLOPEN
  1967         CheckNASM
  1968         CheckOSS
  1969         CheckARTSC
  1970         CheckESD
  1971         CheckNAS
  1972         CheckX11
  1973         CheckDGA
  1974         CheckSVGA
  1975         CheckAAlib
  1976         CheckOpenGL
  1977         CheckPTHREAD
  1978         CheckSIGACTION
  1979         # Set up files for the audio library
  1980         # We use the OSS and ALSA API's, not the Sun audio API
  1981         #if test x$enable_audio = xyes; then
  1982         #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  1983         #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  1984         #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  1985         #fi
  1986         # Set up files for the joystick library
  1987         # (No joystick support yet)
  1988         if test x$enable_joystick = xyes; then
  1989             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  1990             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  1991         fi
  1992         # Set up files for the cdrom library
  1993         if test x$enable_cdrom = xyes; then
  1994             CDROM_SUBDIRS="$CDROM_SUBDIRS bsdi"
  1995             CDROM_DRIVERS="$CDROM_DRIVERS bsdi/libcdrom_bsdi.la"
  1996         fi
  1997         # Set up files for the thread library
  1998         if test x$enable_threads = xyes; then
  1999             CopyUnixThreadSource
  2000         fi
  2001         # Set up files for the timer library
  2002         if test x$enable_timers = xyes; then
  2003             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2004         fi
  2005         ;;
  2006     *-*-freebsd*)
  2007         ARCH=freebsd
  2008         CheckDummyVideo
  2009         CheckDiskAudio
  2010         CheckDLOPEN
  2011         CheckVGL
  2012         CheckNASM
  2013         CheckOSS
  2014         CheckARTSC
  2015         CheckESD
  2016         CheckNAS
  2017         CheckX11
  2018         CheckDGA
  2019         CheckSVGA
  2020         CheckAAlib
  2021         CheckOpenGL
  2022         CheckPTHREAD
  2023         CheckSIGACTION
  2024         CheckUSBHID
  2025         # Set up files for the audio library
  2026         # We use the OSS and ALSA API's, not the Sun audio API
  2027         #if test x$enable_audio = xyes; then
  2028         #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  2029         #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  2030         #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  2031         #fi
  2032         # Set up files for the cdrom library
  2033         if test x$enable_cdrom = xyes; then
  2034             CDROM_SUBDIRS="$CDROM_SUBDIRS freebsd"
  2035             CDROM_DRIVERS="$CDROM_DRIVERS freebsd/libcdrom_freebsd.la"
  2036         fi
  2037         # Set up files for the thread library
  2038         if test x$enable_threads = xyes; then
  2039             CopyUnixThreadSource
  2040         fi
  2041         # Set up files for the timer library
  2042         if test x$enable_timers = xyes; then
  2043             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2044         fi
  2045         ;;
  2046     *-*-netbsd*)
  2047         ARCH=netbsd
  2048         CheckDummyVideo
  2049         CheckDiskAudio
  2050         CheckDLOPEN
  2051         CheckNASM
  2052         CheckOSS
  2053         CheckARTSC
  2054         CheckESD
  2055         CheckNAS
  2056         CheckX11
  2057         CheckAAlib
  2058         CheckOpenGL
  2059         CheckPTHREAD
  2060         CheckSIGACTION
  2061         CheckUSBHID
  2062         # Set up files for the audio library
  2063         if test x$enable_audio = xyes; then
  2064             CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  2065             AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  2066             AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  2067         fi
  2068         # Set up files for the cdrom library
  2069         if test x$enable_cdrom = xyes; then
  2070             CDROM_SUBDIRS="$CDROM_SUBDIRS openbsd"
  2071             CDROM_DRIVERS="$CDROM_DRIVERS openbsd/libcdrom_openbsd.la"
  2072         fi
  2073         # Set up files for the thread library
  2074         if test x$enable_threads = xyes; then
  2075             if test x$use_pthreads = xyes; then
  2076                 CFLAGS="$CFLAGS -D_POSIX_THREAD_SYSCALL_SOFT=1"
  2077             fi
  2078             CopyUnixThreadSource
  2079         fi
  2080         # Set up files for the timer library
  2081         if test x$enable_timers = xyes; then
  2082             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2083         fi
  2084         # NetBSD does not define "unix"
  2085         CFLAGS="$CFLAGS -Dunix"
  2086         ;;
  2087     *-*-openbsd*)
  2088         ARCH=openbsd
  2089         CheckDummyVideo
  2090         CheckDiskAudio
  2091         CheckDLOPEN
  2092         CheckNASM
  2093         CheckOSS
  2094         CheckARTSC
  2095         CheckESD
  2096         CheckNAS
  2097         CheckX11
  2098         CheckAAlib
  2099         CheckOpenGL
  2100         CheckPTHREAD
  2101         CheckSIGACTION
  2102         CheckUSBHID
  2103         # Set up files for the audio library
  2104         if test x$enable_audio = xyes; then
  2105             CFLAGS="$CFLAGS -DOPENBSD_AUDIO_SUPPORT"
  2106             AUDIO_SUBDIRS="$AUDIO_SUBDIRS openbsd"
  2107             AUDIO_DRIVERS="$AUDIO_DRIVERS openbsd/libaudio_openbsd.la"
  2108         fi
  2109         # OpenBSD needs linking with ossaudio emulation library
  2110         if test x$have_oss = xyes; then
  2111             SYSTEM_LIBS="$SYSTEM_LIBS -lossaudio"
  2112         fi
  2113         # Set up files for the cdrom library
  2114         if test x$enable_cdrom = xyes; then
  2115             CDROM_SUBDIRS="$CDROM_SUBDIRS openbsd"
  2116             CDROM_DRIVERS="$CDROM_DRIVERS openbsd/libcdrom_openbsd.la"
  2117         fi
  2118         # Set up files for the thread library
  2119         if test x$enable_threads = xyes; then
  2120             CopyUnixThreadSource
  2121         fi
  2122         # Set up files for the timer library
  2123         if test x$enable_timers = xyes; then
  2124             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2125         fi
  2126         # OpenBSD does not define "unix"
  2127         CFLAGS="$CFLAGS -Dunix"
  2128         ;;
  2129     *-*-sysv5*)
  2130         ARCH=sysv5
  2131         CheckDummyVideo
  2132         CheckDiskAudio
  2133         CheckDLOPEN
  2134         CheckNASM
  2135         CheckOSS
  2136         CheckARTSC
  2137         CheckESD
  2138         CheckNAS
  2139         CheckX11
  2140         CheckAAlib
  2141         CheckOpenGL
  2142         CheckPTHREAD
  2143         CheckSIGACTION
  2144         # Set up files for the audio library
  2145         if test x$enable_audio = xyes; then
  2146             CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  2147             AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  2148             AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  2149         fi
  2150         # Set up files for the joystick library
  2151         # (No joystick support yet)
  2152         if test x$enable_joystick = xyes; then
  2153             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  2154             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  2155         fi
  2156         # Set up files for the cdrom library
  2157         if test x$enable_cdrom = xyes; then
  2158             CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
  2159             CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
  2160         fi
  2161         # Set up files for the thread library
  2162         if test x$enable_threads = xyes; then
  2163             CopyUnixThreadSource
  2164         fi
  2165         # Set up files for the timer library
  2166         if test x$enable_timers = xyes; then
  2167             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2168         fi
  2169         ;;
  2170     *-*-solaris*)
  2171         ARCH=solaris
  2172         CFLAGS="$CFLAGS -D__ELF__" # Fix for nasm on Solaris x86
  2173         CheckDummyVideo
  2174         CheckDiskAudio
  2175         CheckDLOPEN
  2176         CheckNASM
  2177         CheckOSS
  2178         CheckARTSC
  2179         CheckESD
  2180         CheckNAS
  2181         CheckX11
  2182         CheckAAlib
  2183         CheckOpenGL
  2184         CheckPTHREAD
  2185         CheckSIGACTION
  2186         # Set up files for the audio library
  2187         if test x$enable_audio = xyes; then
  2188             CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  2189             AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  2190             AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  2191         fi
  2192         # Set up files for the joystick library
  2193         # (No joystick support yet)
  2194         if test x$enable_joystick = xyes; then
  2195             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  2196             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  2197         fi
  2198         # Set up files for the cdrom library
  2199         if test x$enable_cdrom = xyes; then
  2200             CDROM_SUBDIRS="$CDROM_SUBDIRS linux"
  2201             CDROM_DRIVERS="$CDROM_DRIVERS linux/libcdrom_linux.la"
  2202         fi
  2203         # Set up files for the thread library
  2204         if test x$enable_threads = xyes; then
  2205             CopyUnixThreadSource
  2206         fi
  2207         # Set up files for the timer library
  2208         if test x$enable_timers = xyes; then
  2209             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2210         fi
  2211         ;;
  2212     *-*-irix*)
  2213         ARCH=irix
  2214         CheckDummyVideo
  2215         CheckDiskAudio
  2216         CheckDLOPEN
  2217         CheckDMEDIA
  2218         CheckESD
  2219         CheckNAS
  2220         CheckX11
  2221         CheckAAlib
  2222         CheckOpenGL
  2223         CheckPTHREAD
  2224         CheckSIGACTION
  2225         # We use the dmedia audio API, not the Sun audio API
  2226         #if test x$enable_audio = xyes; then
  2227         #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  2228         #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  2229         #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  2230         #fi
  2231         # Set up files for the joystick library
  2232         # (No joystick support yet)
  2233         if test x$enable_joystick = xyes; then
  2234             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  2235             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  2236         fi
  2237         # Set up files for the cdrom library
  2238         # (No CD-ROM support yet)
  2239         if test x$enable_cdrom = xyes; then
  2240             CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
  2241             CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
  2242         fi
  2243         # Set up files for the thread library
  2244         if test x$enable_threads = xyes; then
  2245             if test x$use_pthreads = xyes -o x$use_pth = xyes; then
  2246                 CopyUnixThreadSource
  2247             else
  2248                 COPY_ARCH_SRC(src/thread, irix, SDL_systhread.c)
  2249                 COPY_ARCH_SRC(src/thread, irix, SDL_systhread_c.h)
  2250                 COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
  2251                 COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
  2252                 COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
  2253                 COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  2254                 COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  2255                 COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  2256             fi
  2257         fi
  2258         # Set up files for the timer library
  2259         if test x$enable_timers = xyes; then
  2260             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2261         fi
  2262         ;;
  2263     *-*-hpux*)
  2264         ARCH=hpux
  2265         CheckDummyVideo
  2266         CheckDiskAudio
  2267         CheckDLOPEN
  2268         CheckOSS
  2269         CheckNAS
  2270         CheckX11
  2271         CheckGGI
  2272         CheckAAlib
  2273         CheckOpenGL
  2274         CheckPTHREAD
  2275         CheckSIGACTION
  2276         # Set up files for the audio library
  2277         if test x$enable_audio = xyes; then
  2278             CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  2279             AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  2280             AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  2281         fi
  2282         # Set up files for the joystick library
  2283         # (No joystick support yet)
  2284         if test x$enable_joystick = xyes; then
  2285             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  2286             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  2287         fi
  2288         # Set up files for the cdrom library
  2289         # (No CD-ROM support yet)
  2290         if test x$enable_cdrom = xyes; then
  2291             CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
  2292             CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
  2293         fi
  2294         # Set up files for the thread library
  2295         if test x$enable_threads = xyes; then
  2296             CopyUnixThreadSource
  2297         fi
  2298         # Set up files for the timer library
  2299         if test x$enable_timers = xyes; then
  2300             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2301         fi
  2302         ;;
  2303     *-*-aix*)
  2304         ARCH=aix
  2305         CheckDummyVideo
  2306         CheckDiskAudio
  2307         CheckDLOPEN
  2308         CheckOSS
  2309         CheckNAS
  2310         CheckX11
  2311         CheckGGI
  2312         CheckAAlib
  2313         CheckOpenGL
  2314         CheckPTHREAD
  2315         CheckSIGACTION
  2316         # Set up files for the audio library
  2317         if test x$enable_audio = xyes; then
  2318             AUDIO_SUBDIRS="$AUDIO_SUBDIRS paudio"
  2319             AUDIO_DRIVERS="$AUDIO_DRIVERS paudio/libaudio_paudio.la"
  2320         fi
  2321         # Set up files for the joystick library
  2322         # (No joystick support yet)
  2323         if test x$enable_joystick = xyes; then
  2324             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  2325             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  2326         fi
  2327         # Set up files for the cdrom library
  2328         if test x$enable_cdrom = xyes; then
  2329             CDROM_SUBDIRS="$CDROM_SUBDIRS aix"
  2330             CDROM_DRIVERS="$CDROM_DRIVERS aix/libcdrom_aix.la"
  2331         fi
  2332         # Set up files for the thread library
  2333         if test x$enable_threads = xyes; then
  2334             CopyUnixThreadSource
  2335         fi
  2336         # Set up files for the timer library
  2337         if test x$enable_timers = xyes; then
  2338             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2339         fi
  2340         ;;
  2341     *-*-osf*)
  2342         ARCH=osf
  2343         CheckDummyVideo
  2344         CheckDiskAudio
  2345         CheckDLOPEN
  2346         CheckNAS
  2347         CheckX11
  2348         CheckGGI
  2349         CheckAAlib
  2350         CheckOpenGL
  2351         CheckPTHREAD
  2352         CheckSIGACTION
  2353         # Set up files for the audio library
  2354         if test x$enable_audio = xyes; then
  2355             CFLAGS="$CFLAGS -I/usr/include/mme -DMMEAUDIO_SUPPORT"
  2356             SYSTEM_LIBS="$SYSTEM_LIBS -lmme"
  2357             AUDIO_SUBDIRS="$AUDIO_SUBDIRS mme"
  2358             AUDIO_DRIVERS="$AUDIO_DRIVERS mme/libaudio_mme.la"
  2359         fi
  2360         # Set up files for the joystick library
  2361         # (No joystick support yet)
  2362         if test x$enable_joystick = xyes; then
  2363             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  2364             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  2365         fi
  2366         # Set up files for the cdrom library
  2367         # (No cdrom support yet)
  2368         if test x$enable_cdrom = xyes; then
  2369             CDROM_SUBDIRS="$CDROM_SUBDIRS osf"
  2370             CDROM_DRIVERS="$CDROM_DRIVERS osf/libcdrom_osf.la"
  2371         fi
  2372         # Set up files for the thread library
  2373         if test x$enable_threads = xyes; then
  2374             CopyUnixThreadSource
  2375         fi
  2376         # Set up files for the timer library
  2377         if test x$enable_timers = xyes; then
  2378             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2379         fi
  2380         ;;
  2381     *-*-qnx*)
  2382         ARCH=qnx
  2383         CheckDummyVideo
  2384         CheckDiskAudio
  2385         # CheckNASM
  2386         CheckDLOPEN
  2387         CheckNAS
  2388         CheckPHOTON
  2389         CheckX11
  2390         CheckOpenGL
  2391         CheckPTHREAD
  2392         CheckSIGACTION
  2393         # Set up files for the audio library
  2394         if test x$enable_audio = xyes; then
  2395             CFLAGS="$CFLAGS -DQNXNTOAUDIO_SUPPORT"
  2396             SYSTEM_LIBS="$SYSTEM_LIBS -lasound"
  2397             AUDIO_SUBDIRS="$AUDIO_SUBDIRS nto"
  2398             AUDIO_DRIVERS="$AUDIO_DRIVERS nto/libaudio_nto.la"
  2399         fi
  2400         # Set up files for the joystick library
  2401         if test x$enable_joystick = xyes; then
  2402         # (No joystick support yet)
  2403             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
  2404             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
  2405         fi
  2406         # Set up files for the cdrom library
  2407         if test x$enable_cdrom = xyes; then
  2408             CDROM_SUBDIRS="$CDROM_SUBDIRS qnx"
  2409             CDROM_DRIVERS="$CDROM_DRIVERS qnx/libcdrom_qnx.la"
  2410         fi
  2411         # Set up files for the thread library
  2412         if test x$enable_threads = xyes; then
  2413             CopyUnixThreadSource
  2414         fi
  2415         # Set up files for the timer library
  2416         if test x$enable_timers = xyes; then
  2417             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2418         fi
  2419         ;;
  2420     *-*-cygwin* | *-*-mingw32*)
  2421         ARCH=win32
  2422         if test "$build" != "$target"; then # cross-compiling
  2423             # Default cross-compile location
  2424             ac_default_prefix=/usr/local/cross-tools/i386-mingw32msvc
  2425         else
  2426             # Look for the location of the tools and install there
  2427             if test "$BUILD_PREFIX" != ""; then
  2428                 ac_default_prefix=$BUILD_PREFIX
  2429             fi
  2430         fi
  2431         CheckDummyVideo
  2432         CheckDiskAudio
  2433         CheckWIN32
  2434         CheckDIRECTX
  2435         CheckNASM
  2436         # Set up files for the audio library
  2437         if test x$enable_audio = xyes; then
  2438             AUDIO_SUBDIRS="$AUDIO_SUBDIRS windib"
  2439             AUDIO_DRIVERS="$AUDIO_DRIVERS windib/libaudio_windib.la"
  2440             if test x$use_directx = xyes; then
  2441                 AUDIO_SUBDIRS="$AUDIO_SUBDIRS windx5"
  2442                 AUDIO_DRIVERS="$AUDIO_DRIVERS windx5/libaudio_windx5.la"
  2443             fi
  2444         fi
  2445         # Set up files for the joystick library
  2446         if test x$enable_joystick = xyes; then
  2447             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS win32"
  2448             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS win32/libjoystick_winmm.la"
  2449         fi
  2450         # Set up files for the cdrom library
  2451         if test x$enable_cdrom = xyes; then
  2452             CDROM_SUBDIRS="$CDROM_SUBDIRS win32"
  2453             CDROM_DRIVERS="$CDROM_DRIVERS win32/libcdrom_win32.la"
  2454         fi
  2455         # Set up files for the thread library
  2456         if test x$enable_threads = xyes; then
  2457             COPY_ARCH_SRC(src/thread, win32, SDL_systhread.c)
  2458             COPY_ARCH_SRC(src/thread, win32, SDL_systhread_c.h)
  2459             COPY_ARCH_SRC(src/thread, win32, SDL_sysmutex.c)
  2460             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
  2461             COPY_ARCH_SRC(src/thread, win32, SDL_syssem.c)
  2462             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  2463             COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  2464             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  2465         fi
  2466         # Set up files for the timer library
  2467         if test x$enable_timers = xyes; then
  2468             COPY_ARCH_SRC(src/timer, win32, SDL_systimer.c)
  2469         fi
  2470         # The Win32 platform requires special setup
  2471         SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
  2472         case "$target" in
  2473             *-*-cygwin*)
  2474                 CFLAGS="$CFLAGS -I/usr/include/mingw -DWIN32 -Uunix -mno-cygwin"
  2475                 SDL_CFLAGS="$SDL_CFLAGS -I/usr/include/mingw -DWIN32 -Uunix -mno-cygwin"
  2476                 LIBS="$LIBS -mno-cygwin"
  2477                 SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows -mno-cygwin"
  2478                 ;;
  2479             *-*-mingw32*)
  2480                 SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows"
  2481                 ;;
  2482         esac
  2483         ;;
  2484     *-*-beos*)
  2485         ARCH=beos
  2486         ac_default_prefix=/boot/develop/tools/gnupro
  2487         CheckDummyVideo
  2488         CheckDiskAudio
  2489         CheckNASM
  2490         CheckBWINDOW
  2491         CheckBeGL
  2492         # Set up files for the audio library
  2493         if test x$enable_audio = xyes; then
  2494             AUDIO_SUBDIRS="$AUDIO_SUBDIRS baudio"
  2495             AUDIO_DRIVERS="$AUDIO_DRIVERS baudio/libaudio_baudio.la"
  2496         fi
  2497         # Set up files for the joystick library
  2498         if test x$enable_joystick = xyes; then
  2499             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS beos"
  2500             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS beos/libjoystick_beos.la"
  2501         fi
  2502         # Set up files for the cdrom library
  2503         if test x$enable_cdrom = xyes; then
  2504             CDROM_SUBDIRS="$CDROM_SUBDIRS beos"
  2505             CDROM_DRIVERS="$CDROM_DRIVERS beos/libcdrom_beos.la"
  2506         fi
  2507         # Set up files for the thread library
  2508         if test x$enable_threads = xyes; then
  2509             COPY_ARCH_SRC(src/thread, beos, SDL_systhread.c)
  2510             COPY_ARCH_SRC(src/thread, beos, SDL_systhread_c.h)
  2511             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c)
  2512             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
  2513             COPY_ARCH_SRC(src/thread, beos, SDL_syssem.c)
  2514             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  2515             COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  2516             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  2517         fi
  2518         # Set up files for the timer library
  2519         if test x$enable_timers = xyes; then
  2520             COPY_ARCH_SRC(src/timer, beos, SDL_systimer.c)
  2521         fi
  2522         # The BeOS platform requires special libraries
  2523         SYSTEM_LIBS="$SYSTEM_LIBS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding"
  2524         ;;
  2525     *-*-macos*)
  2526         # This would be used if cross-compiling to MacOS 9.  No way to
  2527         # use it at present, but Apple is working on a X-to-9 compiler
  2528         # for which this case would be handy.
  2529         ARCH=macos
  2530         CheckDummyVideo
  2531         CheckDiskAudio
  2532         CheckTOOLBOX
  2533         CheckMacGL
  2534         # Set up files for the audio library
  2535         if test x$enable_audio = xyes; then
  2536             AUDIO_SUBDIRS="$AUDIO_SUBDIRS macrom"
  2537             AUDIO_DRIVERS="$AUDIO_DRIVERS macrom/libaudio_macrom.la"
  2538         fi
  2539         # Set up files for the joystick library
  2540         if test x$enable_joystick = xyes; then
  2541             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS macos"
  2542             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS macos/libjoystick_macos.la"
  2543         fi
  2544         # Set up files for the cdrom library
  2545         if test x$enable_cdrom = xyes; then
  2546             CDROM_SUBDIRS="$CDROM_SUBDIRS macos"
  2547             CDROM_DRIVERS="$CDROM_DRIVERS macos/libcdrom_macos.la"
  2548         fi
  2549         # Set up files for the thread library
  2550         if test x$enable_threads = xyes; then
  2551             COPY_ARCH_SRC(src/thread, macos, SDL_systhread.c)
  2552             COPY_ARCH_SRC(src/thread, macos, SDL_systhread_c.h)
  2553             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c)
  2554             COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
  2555             COPY_ARCH_SRC(src/thread, macos, SDL_syssem.c)
  2556             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  2557             COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
  2558             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  2559         fi
  2560         # Set up files for the timer library
  2561         if test x$enable_timers = xyes; then
  2562             COPY_ARCH_SRC(src/timer, macos, SDL_systimer.c)
  2563         fi
  2564         # The MacOS platform requires special setup
  2565         SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
  2566         SDL_LIBS="-lSDLmain $SDL_LIBS"
  2567         ;;
  2568     *-*-darwin* )
  2569         # Strictly speaking, we want "Mac OS X", not "Darwin", which is
  2570         # just the OS X kernel sans upper layers like Carbon and Cocoa.
  2571         # But config.guess comes back with "darwin", so go with the flow.
  2572         ARCH=macosx
  2573         CheckDummyVideo
  2574         CheckDiskAudio
  2575         CheckQUARTZ
  2576         CheckMacGL
  2577         CheckPTHREAD
  2578         CheckSIGACTION
  2579         CheckAltivec
  2580         # If either the audio or CD driver is used, add the AudioUnit framework
  2581         if test x$enable_audio = xyes -o x$enable_cdrom = xyes; then
  2582             SYSTEM_LIBS="$SYSTEM_LIBS -framework AudioToolbox -framework AudioUnit"
  2583         fi
  2584         # Set up files for the audio library
  2585         if test x$enable_audio = xyes; then
  2586             AUDIO_SUBDIRS="$AUDIO_SUBDIRS macosx"
  2587             AUDIO_DRIVERS="$AUDIO_DRIVERS macosx/libaudio_macosx.la"
  2588             AUDIO_SUBDIRS="$AUDIO_SUBDIRS macrom"
  2589             AUDIO_DRIVERS="$AUDIO_DRIVERS macrom/libaudio_macrom.la"
  2590         fi
  2591         # Set up files for the joystick library
  2592         if test x$enable_joystick = xyes; then
  2593             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS darwin"
  2594             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS darwin/libjoystick_darwin.la"
  2595             SYSTEM_LIBS="$SYSTEM_LIBS -framework IOKit"
  2596         fi
  2597         # Set up files for the cdrom library
  2598         if test x$enable_cdrom = xyes; then
  2599             CDROM_SUBDIRS="$CDROM_SUBDIRS macosx"
  2600             CDROM_DRIVERS="$CDROM_DRIVERS macosx/libcdrom_macosx.la"
  2601             SYSTEM_LIBS="$SYSTEM_LIBS -lstdc++"
  2602         fi
  2603         # Set up files for the thread library
  2604         if test x$enable_threads = xyes; then
  2605             CopyUnixThreadSource
  2606         fi
  2607         # Set up files for the timer library
  2608         if test x$enable_timers = xyes; then
  2609             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2610         fi
  2611         # The MacOS X platform requires special setup.
  2612         SDL_LIBS="-lSDLmain $SDL_LIBS"
  2613         # The Cocoa backend still needs Carbon, and the YUV code QuickTime
  2614         SYSTEM_LIBS="$SYSTEM_LIBS -framework Cocoa -framework Carbon -framework QuickTime"
  2615         ;;
  2616     *-*-mint*)
  2617         ARCH=mint
  2618         CheckDummyVideo
  2619         CheckDiskAudio
  2620         CheckAtariBiosEvent
  2621         CheckAtariXbiosVideo
  2622         CheckAtariGemVideo
  2623         CheckAtariAudio
  2624         CheckAtariLdg
  2625 		CheckAtariOSMesa
  2626         CheckPTH
  2627         # Set up files for the audio library
  2628         if test x$enable_threads = xyes -a x$enable_pth = xyes; then
  2629             if test x$enable_audio = xyes; then
  2630                 CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
  2631                 AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
  2632                 AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
  2633             fi
  2634         fi
  2635         # Set up files for the joystick library
  2636         if test x$enable_joystick = xyes; then
  2637             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS mint"
  2638             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS mint/libjoystick_mint.la"
  2639         fi
  2640         # Set up files for the cdrom library
  2641         if test x$enable_cdrom = xyes; then
  2642             CDROM_SUBDIRS="$CDROM_SUBDIRS mint"
  2643             CDROM_DRIVERS="$CDROM_DRIVERS mint/libcdrom_mint.la"
  2644         fi
  2645         # Set up files for the thread library
  2646         if test x$enable_threads = xyes; then
  2647             CopyUnixThreadSource
  2648         fi
  2649         # Set up files for the timer library
  2650         if test x$enable_timers = xyes; then
  2651             if test x$enable_threads = xyes -a x$enable_pth = xyes; then
  2652                 COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
  2653             else
  2654                 COPY_ARCH_SRC(src/timer, mint, SDL_systimer.c)
  2655             fi
  2656         fi
  2657         # MiNT does not define "unix"
  2658         CFLAGS="$CFLAGS -Dunix"
  2659         ;;
  2660     *-riscos)
  2661         ARCH=riscos
  2662         # Set up files for the video library
  2663         if test x$enable_video = xyes; then
  2664             VIDEO_SUBDIRS="$VIDEO_SUBDIRS riscos"
  2665             VIDEO_DRIVERS="$VIDEO_DRIVERS riscos/libvideo_riscos.la"
  2666         fi
  2667         # Set up files for the audio library
  2668         if test x$enable_audio = xyes; then
  2669             CFLAGS="$CFLAGS -DOSS_SUPPORT"
  2670             AUDIO_SUBDIRS="$AUDIO_SUBDIRS dsp"
  2671             AUDIO_DRIVERS="$AUDIO_DRIVERS dsp/libaudio_dsp.la"
  2672             AUDIO_SUBDIRS="$AUDIO_SUBDIRS dma"
  2673             AUDIO_DRIVERS="$AUDIO_DRIVERS dma/libaudio_dma.la"
  2674         fi
  2675         # Set up files for the joystick library
  2676         if test x$enable_joystick = xyes; then
  2677             JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS riscos"
  2678             JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS riscos/libjoystick_riscos.la"
  2679         fi
  2680         # Set up files for the cdrom library
  2681         if test x$enable_cdrom = xyes; then
  2682             CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
  2683             CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
  2684         fi
  2685         # Set up files for the thread library
  2686         if test x$enable_threads = xyes; then
  2687             COPY_ARCH_SRC(src/thread, riscos, SDL_systhread.c)
  2688             COPY_ARCH_SRC(src/thread, riscos, SDL_systhread_c.h)
  2689             COPY_ARCH_SRC(src/thread, riscos, SDL_sysmutex.c)
  2690             COPY_ARCH_SRC(src/thread, riscos, SDL_sysmutex_c.h)
  2691             COPY_ARCH_SRC(src/thread, riscos, SDL_syssem.c)
  2692             COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
  2693             COPY_ARCH_SRC(src/thread, riscos, SDL_syscond.c)
  2694             COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
  2695         else
  2696             CFLAGS="$CFLAGS -DDISABLE_THREADS"
  2697         fi
  2698         # Set up files for the timer library
  2699         if test x$enable_timers = xyes; then
  2700             COPY_ARCH_SRC(src/timer, riscos, SDL_systimer.c)
  2701         fi
  2702 
  2703         CFLAGS="$CFLAGS -DENABLE_RISCOS"
  2704 
  2705         SYSTEM_LIBS="$SYSTEM_LIBS -ljpeg -ltiff -lpng -lz"
  2706         ;;
  2707     *)
  2708         AC_MSG_ERROR(Unsupported target:  Please add to configure.in)
  2709         ;;
  2710 esac
  2711 AC_SUBST(ARCH)
  2712 
  2713 # Set the conditional variables for this target
  2714 AM_CONDITIONAL(TARGET_LINUX, test $ARCH = linux)
  2715 AM_CONDITIONAL(TARGET_QTOPIA, test "x$video_qtopia" = "xyes")
  2716 AM_CONDITIONAL(TARGET_SOLARIS, test $ARCH = solaris)
  2717 AM_CONDITIONAL(TARGET_IRIX, test $ARCH = irix)
  2718 AM_CONDITIONAL(TARGET_BSDI, test $ARCH = bsdi)
  2719 AM_CONDITIONAL(TARGET_FREEBSD, test $ARCH = freebsd)
  2720 AM_CONDITIONAL(TARGET_NETBSD, test $ARCH = netbsd)
  2721 AM_CONDITIONAL(TARGET_OPENBSD, test $ARCH = openbsd)
  2722 AM_CONDITIONAL(TARGET_AIX, test $ARCH = aix)
  2723 AM_CONDITIONAL(TARGET_WIN32, test $ARCH = win32)
  2724 AM_CONDITIONAL(TARGET_BEOS, test $ARCH = beos)
  2725 AM_CONDITIONAL(TARGET_MACOS, test $ARCH = macos)
  2726 AM_CONDITIONAL(TARGET_MACOSX, test $ARCH = macosx)
  2727 AM_CONDITIONAL(TARGET_QNX, test $ARCH = qnx)
  2728 AM_CONDITIONAL(TARGET_MINT, test $ARCH = mint)
  2729 
  2730 # More automake conditionals
  2731 AM_CONDITIONAL(USE_DIRECTX, test x$use_directx = xyes)
  2732 AM_CONDITIONAL(USE_CLONE, test x$use_clone = xyes)
  2733 AM_CONDITIONAL(HAVE_NASM, test x$use_nasm = xyes)
  2734 
  2735 # Set conditional variables for shared and static library selection.
  2736 # These are not used in any Makefile.am but in sdl-config.in.
  2737 AM_CONDITIONAL([ENABLE_SHARED], [test "$enable_shared" = yes])
  2738 AM_CONDITIONAL([ENABLE_STATIC], [test "$enable_static" = yes])
  2739 
  2740 # Set runtime shared library paths as needed
  2741 
  2742 if test $ARCH = linux -o $ARCH = freebsd -o $ARCH = bsdi; then
  2743   SDL_RLD_FLAGS="-Wl,-rpath,\${exec_prefix}/lib"
  2744 fi
  2745 if test $ARCH = solaris; then
  2746   SDL_RLD_FLAGS="-R\${exec_prefix}/lib"
  2747 fi
  2748 
  2749 case "$ARCH" in
  2750   openbsd | netbsd | bsdi)
  2751     SHARED_SYSTEM_LIBS="$SYSTEM_LIBS"
  2752     ;;
  2753   qnx)
  2754     SHARED_SYSTEM_LIBS="$SYSTEM_LIBS"
  2755     ;;
  2756   macosx)
  2757     SHARED_SYSTEM_LIBS="-framework Cocoa"
  2758     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  2759       SHARED_SYSTEM_LIBS="$SHARED_SYSTEM_LIBS -framework OpenGL"
  2760     fi
  2761     ;;
  2762   *)
  2763     SHARED_SYSTEM_LIBS=""
  2764     ;;
  2765 esac
  2766 
  2767 case "$ARCH" in
  2768   macosx)
  2769     # Evil hack to allow static linking on Mac OS X
  2770     SDL_STATIC_LIBS="\${exec_prefix}/lib/libSDLmain.a \${exec_prefix}/lib/libSDL.a"
  2771     ;;
  2772   *)
  2773     SDL_STATIC_LIBS="$SDL_LIBS"
  2774     ;;
  2775 esac
  2776 
  2777 
  2778 STATIC_SYSTEM_LIBS="$SYSTEM_LIBS"
  2779 
  2780 dnl Output the video drivers we use
  2781 if test x$enable_video = xtrue; then
  2782     if test "$VIDEO_SUBDIRS" = ""; then
  2783         AC_MSG_ERROR(*** No video drivers are enabled!)
  2784     fi
  2785 fi
  2786 AC_SUBST(AUDIO_SUBDIRS)
  2787 AC_SUBST(AUDIO_DRIVERS)
  2788 AC_SUBST(VIDEO_SUBDIRS)
  2789 AC_SUBST(VIDEO_DRIVERS)
  2790 AC_SUBST(JOYSTICK_SUBDIRS)
  2791 AC_SUBST(JOYSTICK_DRIVERS)
  2792 AC_SUBST(CDROM_SUBDIRS)
  2793 AC_SUBST(CDROM_DRIVERS)
  2794 AC_SUBST(SDL_EXTRADIRS)
  2795 AC_SUBST(SDL_EXTRALIBS)
  2796 
  2797 dnl Expand the cflags and libraries needed by apps using SDL
  2798 AC_SUBST(SDL_CFLAGS)
  2799 AC_SUBST(SDL_LIBS)
  2800 AC_SUBST(SDL_STATIC_LIBS)
  2801 AC_SUBST(SDL_RLD_FLAGS)
  2802 
  2803 dnl Expand the libraries needed for static and dynamic linking
  2804 AC_SUBST(STATIC_SYSTEM_LIBS)
  2805 AC_SUBST(SHARED_SYSTEM_LIBS)
  2806 AC_SUBST(SYSTEM_LIBS)
  2807 
  2808 dnl Expand the include directories for building SDL
  2809 CFLAGS="$CFLAGS -I\$(top_srcdir)/include"
  2810 CFLAGS="$CFLAGS -I\$(top_srcdir)/include/SDL"
  2811 CFLAGS="$CFLAGS -I\$(top_srcdir)/src -I\$(top_srcdir)/src/main/$ARCH"
  2812 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/audio"
  2813 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video"
  2814 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video/XFree86/extensions"
  2815 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/events"
  2816 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/joystick"
  2817 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/cdrom"
  2818 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/thread"
  2819 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/timer"
  2820 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/endian"
  2821 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/file"
  2822 CFLAGS="$CFLAGS -I\$(top_builddir)/src/thread"
  2823 CXXFLAGS="$CFLAGS"
  2824 
  2825 
  2826 # Check for darwin at the very end and set up the Objective C compiler
  2827 # We do this here so that we get the full CFLAGS into OBJCFLAGS
  2828 case "$target" in
  2829     *-*-darwin*)
  2830         dnl AC_PROG_OBJC doesn't seem to exist, this is the SDL workaround
  2831         AC_MSG_CHECKING(for an Objective-C compiler)
  2832         OBJC="$CC"
  2833         AC_SUBST(OBJC)
  2834         OBJCFLAGS="$CFLAGS"
  2835         AC_SUBST(OBJCFLAGS)
  2836         dnl _AM_DEPENDENCIES(OBJC) doesn't work, so hard code OBJCDEPMODE here
  2837         dnl _AM_DEPENDENCIES(OBJC)
  2838         dnl Of course, hard coding doesn't work for some versions of automake
  2839         OBJCDEPMODE="depmode=gcc"
  2840         AC_SUBST(OBJCDEPMODE)
  2841         dnl Trying this to satisfy everybody...
  2842         AC_MSG_RESULT(not implemented yet)
  2843         ;;
  2844 esac
  2845 
  2846 # Finally create all the generated files
  2847 dnl Important: Any directory that you want to be in the distcheck should
  2848 dnl            have a file listed here, so that configure generates the
  2849 dnl            subdirectories on the build target.
  2850 AC_OUTPUT([
  2851 Makefile
  2852 docs/Makefile
  2853 docs/html/Makefile
  2854 docs/man3/Makefile
  2855 include/Makefile
  2856 src/Makefile
  2857 src/main/Makefile
  2858 src/main/macosx/Makefile
  2859 src/main/macosx/Info.plist
  2860 src/audio/Makefile
  2861 src/audio/alsa/Makefile
  2862 src/audio/arts/Makefile
  2863 src/audio/baudio/Makefile
  2864 src/audio/dc/Makefile
  2865 src/audio/disk/Makefile
  2866 src/audio/dma/Makefile
  2867 src/audio/dmedia/Makefile
  2868 src/audio/dsp/Makefile
  2869 src/audio/esd/Makefile
  2870 src/audio/macosx/Makefile
  2871 src/audio/macrom/Makefile
  2872 src/audio/mint/Makefile
  2873 src/audio/mme/Makefile
  2874 src/audio/nas/Makefile
  2875 src/audio/nto/Makefile
  2876 src/audio/openbsd/Makefile
  2877 src/audio/paudio/Makefile
  2878 src/audio/sun/Makefile
  2879 src/audio/ums/Makefile
  2880 src/audio/windib/Makefile
  2881 src/audio/windx5/Makefile
  2882 src/video/Makefile
  2883 src/video/aalib/Makefile
  2884 src/video/ataricommon/Makefile
  2885 src/video/bwindow/Makefile
  2886 src/video/cybergfx/Makefile
  2887 src/video/dc/Makefile
  2888 src/video/dga/Makefile
  2889 src/video/directfb/Makefile
  2890 src/video/dummy/Makefile
  2891 src/video/epoc/Makefile
  2892 src/video/fbcon/Makefile
  2893 src/video/gem/Makefile
  2894 src/video/ggi/Makefile
  2895 src/video/maccommon/Makefile
  2896 src/video/macdsp/Makefile
  2897 src/video/macrom/Makefile
  2898 src/video/nanox/Makefile
  2899 src/video/photon/Makefile
  2900 src/video/picogui/Makefile
  2901 src/video/ps2gs/Makefile
  2902 src/video/qtopia/Makefile
  2903 src/video/quartz/Makefile
  2904 src/video/riscos/Makefile
  2905 src/video/svga/Makefile
  2906 src/video/vgl/Makefile
  2907 src/video/wincommon/Makefile
  2908 src/video/windib/Makefile
  2909 src/video/windx5/Makefile
  2910 src/video/x11/Makefile
  2911 src/video/xbios/Makefile
  2912 src/video/XFree86/Makefile
  2913 src/video/XFree86/extensions/Makefile
  2914 src/video/XFree86/Xinerama/Makefile
  2915 src/video/XFree86/Xv/Makefile
  2916 src/video/XFree86/Xxf86dga/Makefile
  2917 src/video/XFree86/Xxf86vm/Makefile
  2918 src/events/Makefile
  2919 src/joystick/Makefile
  2920 src/joystick/amigaos/Makefile
  2921 src/joystick/beos/Makefile
  2922 src/joystick/bsd/Makefile
  2923 src/joystick/darwin/Makefile
  2924 src/joystick/dc/Makefile
  2925 src/joystick/dummy/Makefile
  2926 src/joystick/linux/Makefile
  2927 src/joystick/macos/Makefile
  2928 src/joystick/mint/Makefile
  2929 src/joystick/riscos/Makefile
  2930 src/joystick/win32/Makefile
  2931 src/cdrom/Makefile
  2932 src/cdrom/aix/Makefile
  2933 src/cdrom/beos/Makefile
  2934 src/cdrom/dc/Makefile
  2935 src/cdrom/dummy/Makefile
  2936 src/cdrom/bsdi/Makefile
  2937 src/cdrom/freebsd/Makefile
  2938 src/cdrom/linux/Makefile
  2939 src/cdrom/macos/Makefile
  2940 src/cdrom/macosx/Makefile
  2941 src/cdrom/mint/Makefile
  2942 src/cdrom/openbsd/Makefile
  2943 src/cdrom/osf/Makefile
  2944 src/cdrom/qnx/Makefile
  2945 src/cdrom/win32/Makefile
  2946 src/thread/Makefile
  2947 src/timer/Makefile
  2948 src/endian/Makefile
  2949 src/file/Makefile
  2950 src/cpuinfo/Makefile
  2951 src/hermes/Makefile
  2952 sdl-config
  2953 SDL.spec
  2954 SDL.qpg
  2955 ], [chmod +x sdl-config])