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