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