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