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