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