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