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