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