configure.in
author Sam Lantinga <slouken@libsdl.org>
Wed, 26 Jul 2006 03:06:07 +0000
changeset 1940 255fb6feae0d
parent 1939 37a7580357d1
child 1942 4371d679ee12
permissions -rw-r--r--
Removing DGA support for SDL 1.3 - it's still buggy years later, and now
it's deprecated by the developers in favor of the render APIs.
     1 dnl Process this file with autoconf to produce a configure script.
     2 AC_INIT(README)
     3 AC_CONFIG_HEADER(include/SDL_config.h)
     4 AC_GNU_SOURCE
     5 
     6 dnl Set various version strings - taken gratefully from the GTk sources
     7 #
     8 # Making releases:
     9 # Edit include/SDL/SDL_version.h and change the version, then:
    10 #   SDL_MICRO_VERSION += 1;
    11 #   SDL_INTERFACE_AGE += 1;
    12 #   SDL_BINARY_AGE += 1;
    13 # if any functions have been added, set SDL_INTERFACE_AGE to 0.
    14 # if backwards compatibility has been broken,
    15 # set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0.
    16 #
    17 SDL_MAJOR_VERSION=1
    18 SDL_MINOR_VERSION=3
    19 SDL_MICRO_VERSION=0
    20 SDL_INTERFACE_AGE=0
    21 SDL_BINARY_AGE=0
    22 SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
    23 
    24 AC_SUBST(SDL_MAJOR_VERSION)
    25 AC_SUBST(SDL_MINOR_VERSION)
    26 AC_SUBST(SDL_MICRO_VERSION)
    27 AC_SUBST(SDL_INTERFACE_AGE)
    28 AC_SUBST(SDL_BINARY_AGE)
    29 AC_SUBST(SDL_VERSION)
    30 
    31 # libtool versioning
    32 LT_RELEASE=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION
    33 LT_CURRENT=`expr $SDL_MICRO_VERSION - $SDL_INTERFACE_AGE`
    34 LT_REVISION=$SDL_INTERFACE_AGE
    35 LT_AGE=`expr $SDL_BINARY_AGE - $SDL_INTERFACE_AGE`
    36 
    37 AC_SUBST(LT_RELEASE)
    38 AC_SUBST(LT_CURRENT)
    39 AC_SUBST(LT_REVISION)
    40 AC_SUBST(LT_AGE)
    41 
    42 dnl Detect the canonical build and host environments
    43 AC_CONFIG_AUX_DIRS($srcdir/build-scripts)
    44 AC_CANONICAL_HOST
    45 AC_C_BIGENDIAN
    46 if test x$ac_cv_c_bigendian = xyes; then
    47     AC_DEFINE(SDL_BYTEORDER, 4321)
    48 else
    49     AC_DEFINE(SDL_BYTEORDER, 1234)
    50 fi
    51 
    52 dnl Set up the compiler and linker flags
    53 INCLUDE="-I$srcdir/include"
    54 if test x$srcdir != x.; then
    55     # Remove SDL_config.h from the source directory, since it's the
    56     # default one, and we want to include the one that we generate.
    57     if test -f $srcdir/include/SDL_config.h; then
    58         rm $srcdir/include/SDL_config.h
    59     fi
    60     INCLUDE="-Iinclude $INCLUDE"
    61 fi
    62 case "$host" in
    63     *-*-cygwin*)
    64         # We build SDL on cygwin without the UNIX emulation layer
    65         BASE_CFLAGS="-I/usr/include/mingw -mno-cygwin"
    66         BASE_LDFLAGS="-mno-cygwin"
    67         ;;
    68     *)
    69         BASE_CFLAGS="-D_GNU_SOURCE=1"
    70         BASE_LDFLAGS=""
    71         ;;
    72 esac
    73 BUILD_CFLAGS="$CFLAGS $CPPFLAGS"
    74 EXTRA_CFLAGS="$INCLUDE $BASE_CFLAGS"
    75 BUILD_LDFLAGS="$LDFLAGS"
    76 EXTRA_LDFLAGS="$BASE_LDFLAGS"
    77 # I can't remember why I added this.  I'm sure it'll come to me...
    78 #for path in /usr/local; do
    79 #    if test -d $path/include; then
    80 #        EXTRA_CFLAGS="$EXTRA_CFLAGS -I$path/include"
    81 #    fi
    82 #    if test -d $path/lib; then
    83 #        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -L$path/lib"
    84 #    fi
    85 #done
    86 SDL_CFLAGS="$BASE_CFLAGS"
    87 SDL_LIBS="-lSDL $BASE_LDFLAGS"
    88 CPPFLAGS="$CPPFLAGS $EXTRA_CFLAGS"
    89 CFLAGS="$CFLAGS $EXTRA_CFLAGS"
    90 LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS"
    91 
    92 dnl Check for tools
    93 AC_LIBTOOL_WIN32_DLL
    94 AC_PROG_LIBTOOL
    95 AC_PROG_CC
    96 AC_PROG_CXX
    97 AC_PROG_INSTALL
    98 AC_PROG_MAKE_SET
    99 
   100 dnl Check for compiler characteristics
   101 AC_C_CONST
   102 AC_C_INLINE
   103 AC_C_VOLATILE
   104 
   105 dnl See whether we are allowed to use the system C library
   106 AC_ARG_ENABLE(libc,
   107 AC_HELP_STRING([--enable-libc], [Use the system C library [[default=yes]]]),
   108               , enable_libc=yes)
   109 if test x$enable_libc = xyes; then
   110     AC_DEFINE(HAVE_LIBC)
   111 
   112     dnl Check for C library headers
   113     AC_HEADER_STDC
   114     AC_CHECK_HEADERS(sys/types.h stdio.h stdlib.h stddef.h stdarg.h malloc.h memory.h string.h strings.h inttypes.h stdint.h ctype.h math.h iconv.h signal.h)
   115 
   116     dnl Check for typedefs, structures, etc.
   117     AC_TYPE_SIZE_T
   118     if test x$ac_cv_header_inttypes_h = xyes -o x$ac_cv_header_stdint_h = xyes; then
   119         AC_CHECK_TYPE(int64_t)
   120         if test x$ac_cv_type_int64_t = xyes; then
   121             AC_DEFINE(SDL_HAS_64BIT_TYPE)
   122         fi
   123         have_inttypes=yes
   124     fi
   125 
   126     dnl Checks for library functions.
   127     AC_FUNC_ALLOCA
   128     AC_FUNC_MEMCMP
   129     if test x$ac_cv_func_memcmp_working = xyes; then
   130         AC_DEFINE(HAVE_MEMCMP)
   131     fi
   132     AC_FUNC_STRTOD
   133     if test x$ac_cv_func_strtod = xyes; then
   134         AC_DEFINE(HAVE_STRTOD)
   135     fi
   136     AC_CHECK_FUNCS(malloc calloc realloc free getenv putenv unsetenv qsort abs bcopy memset memcpy memmove strlen strlcpy strlcat strdup _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp sscanf snprintf vsnprintf iconv sigaction setjmp nanosleep)
   137 
   138     AC_CHECK_LIB(iconv, libiconv_open, [EXTRA_LDFLAGS="$EXTRA_LDFLAGS -liconv"])
   139     AC_CHECK_LIB(m, pow, [EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm"])
   140 fi
   141 
   142 if test x$have_inttypes != xyes; then
   143     AC_CHECK_SIZEOF(char, 1)
   144     AC_CHECK_SIZEOF(short, 2)
   145     AC_CHECK_SIZEOF(int, 4)
   146     AC_CHECK_SIZEOF(long, 4)
   147     AC_CHECK_SIZEOF(long long, 8)
   148     if test x$ac_cv_sizeof_char = x1; then
   149         AC_DEFINE(int8_t, signed char)
   150         AC_DEFINE(uint8_t, unsigned char)
   151     fi
   152     if test x$ac_cv_sizeof_short = x2; then
   153         AC_DEFINE(int16_t, signed short)
   154         AC_DEFINE(uint16_t, unsigned short)
   155     else
   156         if test x$ac_cv_sizeof_int = x2; then
   157             AC_DEFINE(int16_t, signed int)
   158             AC_DEFINE(uint16_t, unsigned int)
   159         fi
   160     fi
   161     if test x$ac_cv_sizeof_int = x4; then
   162         AC_DEFINE(int32_t, signed int)
   163         AC_DEFINE(uint32_t, unsigned int)
   164     else
   165         if test x$ac_cv_sizeof_long = x4; then
   166             AC_DEFINE(int32_t, signed long)
   167             AC_DEFINE(uint32_t, unsigned long)
   168         fi
   169     fi
   170     if test x$ac_cv_sizeof_long = x8; then
   171         AC_DEFINE(int64_t, signed long)
   172         AC_DEFINE(uint64_t, unsigned long)
   173         AC_DEFINE(SDL_HAS_64BIT_TYPE)
   174     else
   175         if test x$ac_cv_sizeof_long_long = x8; then
   176             AC_DEFINE(int64_t, signed long long)
   177             AC_DEFINE(uint64_t, unsigned long long)
   178             AC_DEFINE(SDL_HAS_64BIT_TYPE)
   179         fi
   180     fi
   181     AC_DEFINE(size_t, unsigned int)
   182     AC_DEFINE(uintptr_t, unsigned long)
   183 fi
   184 
   185 # Standard C sources
   186 SOURCES="$SOURCES $srcdir/src/*.c"
   187 SOURCES="$SOURCES $srcdir/src/audio/*.c"
   188 SOURCES="$SOURCES $srcdir/src/cdrom/*.c"
   189 SOURCES="$SOURCES $srcdir/src/cpuinfo/*.c"
   190 SOURCES="$SOURCES $srcdir/src/events/*.c"
   191 SOURCES="$SOURCES $srcdir/src/file/*.c"
   192 SOURCES="$SOURCES $srcdir/src/joystick/*.c"
   193 SOURCES="$SOURCES $srcdir/src/stdlib/*.c"
   194 SOURCES="$SOURCES $srcdir/src/thread/*.c"
   195 SOURCES="$SOURCES $srcdir/src/timer/*.c"
   196 SOURCES="$SOURCES $srcdir/src/video/*.c"
   197 
   198 dnl Enable/disable various subsystems of the SDL library
   199 
   200 AC_ARG_ENABLE(audio,
   201 AC_HELP_STRING([--enable-audio], [Enable the audio subsystem [[default=yes]]]),
   202               , enable_audio=yes)
   203 if test x$enable_audio != xyes; then
   204     AC_DEFINE(SDL_AUDIO_DISABLED)
   205 fi
   206 AC_ARG_ENABLE(video,
   207 AC_HELP_STRING([--enable-video], [Enable the video subsystem [[default=yes]]]),
   208               , enable_video=yes)
   209 if test x$enable_video != xyes; then
   210     AC_DEFINE(SDL_VIDEO_DISABLED)
   211 fi
   212 AC_ARG_ENABLE(events,
   213 AC_HELP_STRING([--enable-events], [Enable the events subsystem [[default=yes]]]),
   214               , enable_events=yes)
   215 if test x$enable_events != xyes; then
   216     AC_DEFINE(SDL_EVENTS_DISABLED)
   217 fi
   218 AC_ARG_ENABLE(joystick,
   219 AC_HELP_STRING([--enable-joystick], [Enable the joystick subsystem [[default=yes]]]),
   220               , enable_joystick=yes)
   221 if test x$enable_joystick != xyes; then
   222     AC_DEFINE(SDL_JOYSTICK_DISABLED)
   223 fi
   224 AC_ARG_ENABLE(cdrom,
   225 AC_HELP_STRING([--enable-cdrom], [Enable the cdrom subsystem [[default=yes]]]),
   226               , enable_cdrom=yes)
   227 if test x$enable_cdrom != xyes; then
   228     AC_DEFINE(SDL_CDROM_DISABLED)
   229 fi
   230 AC_ARG_ENABLE(threads,
   231 AC_HELP_STRING([--enable-threads], [Enable the threading subsystem [[default=yes]]]),
   232               , enable_threads=yes)
   233 if test x$enable_threads != xyes; then
   234     AC_DEFINE(SDL_THREADS_DISABLED)
   235 fi
   236 AC_ARG_ENABLE(timers,
   237 AC_HELP_STRING([--enable-timers], [Enable the timer subsystem [[default=yes]]]),
   238               , enable_timers=yes)
   239 if test x$enable_timers != xyes; then
   240     AC_DEFINE(SDL_TIMERS_DISABLED)
   241 fi
   242 AC_ARG_ENABLE(file,
   243 AC_HELP_STRING([--enable-file], [Enable the file subsystem [[default=yes]]]),
   244               , enable_file=yes)
   245 if test x$enable_file != xyes; then
   246     AC_DEFINE(SDL_FILE_DISABLED)
   247 fi
   248 AC_ARG_ENABLE(loadso,
   249 AC_HELP_STRING([--enable-loadso], [Enable the shared object loading subsystem [[default=yes]]]),
   250               , enable_loadso=yes)
   251 if test x$enable_loadso != xyes; then
   252     AC_DEFINE(SDL_LOADSO_DISABLED)
   253 fi
   254 AC_ARG_ENABLE(cpuinfo,
   255 AC_HELP_STRING([--enable-cpuinfo], [Enable the cpuinfo subsystem [[default=yes]]]),
   256               , enable_cpuinfo=yes)
   257 if test x$enable_cpuinfo != xyes; then
   258     AC_DEFINE(SDL_CPUINFO_DISABLED)
   259 fi
   260 AC_ARG_ENABLE(assembly,
   261 AC_HELP_STRING([--enable-assembly], [Enable assembly routines [[default=yes]]]),
   262               , enable_assembly=yes)
   263 if test x$enable_assembly = xyes; then
   264     AC_DEFINE(SDL_ASSEMBLY_ROUTINES)
   265 fi
   266 
   267 dnl See if the OSS audio interface is supported
   268 CheckOSS()
   269 {
   270     AC_ARG_ENABLE(oss,
   271 AC_HELP_STRING([--enable-oss], [support the OSS audio API [[default=yes]]]),
   272                   , enable_oss=yes)
   273     if test x$enable_audio = xyes -a x$enable_oss = xyes; then
   274         AC_MSG_CHECKING(for OSS audio support)
   275         have_oss=no
   276         if test x$have_oss != xyes; then
   277             AC_TRY_COMPILE([
   278               #include <sys/soundcard.h>
   279             ],[
   280               int arg = SNDCTL_DSP_SETFRAGMENT;
   281             ],[
   282             have_oss=yes
   283             ])
   284         fi
   285         if test x$have_oss != xyes; then
   286             AC_TRY_COMPILE([
   287               #include <soundcard.h>
   288             ],[
   289               int arg = SNDCTL_DSP_SETFRAGMENT;
   290             ],[
   291             have_oss=yes
   292             AC_DEFINE(SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H)
   293             ])
   294         fi
   295         AC_MSG_RESULT($have_oss)
   296         if test x$have_oss = xyes; then
   297             AC_DEFINE(SDL_AUDIO_DRIVER_OSS)
   298             SOURCES="$SOURCES $srcdir/src/audio/dsp/*.c"
   299             SOURCES="$SOURCES $srcdir/src/audio/dma/*.c"
   300             have_audio=yes
   301 
   302             # We may need to link with ossaudio emulation library
   303             case "$host" in
   304                 *-*-openbsd*|*-*-netbsd*)
   305                     EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lossaudio";;
   306             esac
   307         fi
   308     fi
   309 }
   310 
   311 dnl See if the ALSA audio interface is supported
   312 CheckALSA()
   313 {
   314     AC_ARG_ENABLE(alsa,
   315 AC_HELP_STRING([--enable-alsa], [support the ALSA audio API [[default=yes]]]),
   316                   , enable_alsa=yes)
   317     if test x$enable_audio = xyes -a x$enable_alsa = xyes; then
   318         AM_PATH_ALSA(0.9.0, have_alsa=yes, have_alsa=no)
   319         # Restore all flags from before the ALSA detection runs
   320         CFLAGS="$alsa_save_CFLAGS"
   321         LDFLAGS="$alsa_save_LDFLAGS"
   322         LIBS="$alsa_save_LIBS"
   323         if test x$have_alsa = xyes; then
   324             AC_ARG_ENABLE(alsa-shared,
   325 AC_HELP_STRING([--enable-alsa-shared], [dynamically load ALSA audio support [[default=yes]]]),
   326                           , enable_alsa_shared=yes)
   327             if test "x`echo $ALSA_LIBS | grep -- -L`" = "x"; then
   328                 if test "x`ls /lib/libasound.so.* 2> /dev/null`" != "x"; then
   329                     ALSA_LIBS="-L/lib $ALSA_LIBS"
   330                 elif test "x`ls /usr/lib/libasound.so.* 2> /dev/null`" != "x"; then
   331                     ALSA_LIBS="-L/usr/lib $ALSA_LIBS"
   332                 elif test "x`ls /usr/local/lib/libasound.so.* 2> /dev/null`" != "x"; then
   333                     ALSA_LIBS="-L/usr/local/lib $ALSA_LIBS"
   334                 fi
   335             fi
   336             alsa_lib_spec=`echo $ALSA_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libasound.so.*/'`
   337             alsa_lib=`ls -- $alsa_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
   338             echo "-- $alsa_lib_spec -> $alsa_lib"
   339 
   340             AC_DEFINE(SDL_AUDIO_DRIVER_ALSA)
   341             SOURCES="$SOURCES $srcdir/src/audio/alsa/*.c"
   342             EXTRA_CFLAGS="$EXTRA_CFLAGS $ALSA_CFLAGS"
   343             if test x$have_loadso != xyes && \
   344                test x$enable_alsa_shared = xyes; then
   345                 AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic ALSA loading])
   346             fi
   347             if test x$have_loadso = xyes && \
   348                test x$enable_alsa_shared = xyes && test x$alsa_lib != x; then
   349                 AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ALSA_DYNAMIC, "$alsa_lib")
   350             else
   351                 EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ALSA_LIBS"
   352             fi
   353             have_audio=yes
   354         fi
   355     fi
   356 }
   357 
   358 dnl Check whether we want to use IRIX 6.5+ native audio or not
   359 CheckDMEDIA()
   360 {
   361     if test x$enable_audio = xyes; then
   362         AC_MSG_CHECKING(for dmedia audio support)
   363         have_dmedia=no
   364         AC_TRY_COMPILE([
   365           #include <dmedia/audio.h>
   366         ],[
   367           ALport audio_port;
   368         ],[
   369         have_dmedia=yes
   370         ])
   371         AC_MSG_RESULT($have_dmedia)
   372         # Set up files for the audio library
   373         if test x$have_dmedia = xyes; then
   374             AC_DEFINE(SDL_AUDIO_DRIVER_DMEDIA)
   375             SOURCES="$SOURCES $srcdir/src/audio/dmedia/*.c"
   376             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -laudio"
   377             have_audio=yes
   378         fi
   379     fi
   380 }
   381 
   382 dnl Check whether we want to use Tru64 UNIX native audio or not
   383 CheckMME()
   384 {
   385     dnl Make sure we are running on an Tru64 UNIX
   386     case $ARCH in
   387         osf)
   388             ;;
   389         *)
   390             return
   391             ;;
   392     esac
   393     if test x$enable_audio = xyes; then
   394         AC_MSG_CHECKING(for MME audio support)
   395         MME_CFLAGS="-I/usr/include/mme"
   396         MME_LIBS="-lmme"
   397         have_mme=no
   398         save_CFLAGS="$CFLAGS"
   399         CFLAGS="$CFLAGS $MME_CFLAGS"
   400         AC_TRY_COMPILE([
   401           #include <mme_api.h>
   402         ],[
   403           HWAVEOUT sound;
   404         ],[
   405         have_mme=yes
   406         ])
   407         CFLAGS="$save_CFLAGS"
   408         AC_MSG_RESULT($have_mme)
   409         # Set up files for the audio library
   410         if test x$have_mme = xyes; then
   411             AC_DEFINE(SDL_AUDIO_DRIVER_MMEAUDIO)
   412             SOURCES="$SOURCES $srcdir/src/audio/mme/*.c"
   413             EXTRA_CFLAGS="$EXTRA_CFLAGS $MME_CFLAGS"
   414             EXTRA_LDFLAGS="$EXTRA_LDFLAGS $MME_LIBS"
   415             have_audio=yes
   416         fi
   417     fi
   418 }
   419 
   420 dnl Find the ESD includes and libraries
   421 CheckESD()
   422 {
   423     AC_ARG_ENABLE(esd,
   424 AC_HELP_STRING([--enable-esd], [support the Enlightened Sound Daemon [[default=yes]]]),
   425                   , enable_esd=yes)
   426     if test x$enable_audio = xyes -a x$enable_esd = xyes; then
   427         AM_PATH_ESD(0.2.8, have_esd=yes, have_esd=no)
   428         if test x$have_esd = xyes; then
   429             AC_ARG_ENABLE(esd-shared,
   430 AC_HELP_STRING([--enable-esd-shared], [dynamically load ESD audio support [[default=yes]]]),
   431                           , enable_esd_shared=yes)
   432             esd_lib_spec=`echo $ESD_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libesd.so.*/'`
   433             esd_lib=`ls -- $esd_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
   434             echo "-- $esd_lib_spec -> $esd_lib"
   435 
   436             AC_DEFINE(SDL_AUDIO_DRIVER_ESD)
   437             SOURCES="$SOURCES $srcdir/src/audio/esd/*.c"
   438             EXTRA_CFLAGS="$EXTRA_CFLAGS $ESD_CFLAGS"
   439             if test x$have_loadso != xyes && \
   440                test x$enable_esd_shared = xyes; then
   441                 AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic ESD loading])
   442             fi
   443             if test x$have_loadso = xyes && \
   444                test x$enable_esd_shared = xyes && test x$esd_lib != x; then
   445                 AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ESD_DYNAMIC, "$esd_lib")
   446             else
   447                 EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ESD_LIBS"
   448             fi
   449             have_audio=yes
   450         fi
   451     fi
   452 }
   453 
   454 CheckARTSC()
   455 {
   456     AC_ARG_ENABLE(arts,
   457 AC_HELP_STRING([--enable-arts], [support the Analog Real Time Synthesizer [[default=yes]]]),
   458                   , enable_arts=yes)
   459     if test x$enable_audio = xyes -a x$enable_arts = xyes; then
   460         AC_PATH_PROG(ARTSCONFIG, artsc-config)
   461         if test x$ARTSCONFIG = x -o x$ARTSCONFIG = x'"$ARTSCONFIG"'; then
   462             : # arts isn't installed
   463         else
   464             ARTS_CFLAGS=`$ARTSCONFIG --cflags`
   465             ARTS_LIBS=`$ARTSCONFIG --libs`
   466             ARTS_PREFIX=`$ARTSCONFIG --arts-prefix`
   467             AC_MSG_CHECKING(for aRts development environment)
   468             audio_arts=no
   469             save_CFLAGS="$CFLAGS"
   470             CFLAGS="$CFLAGS $ARTS_CFLAGS"
   471             AC_TRY_COMPILE([
   472              #include <artsc.h>
   473             ],[
   474              arts_stream_t stream;
   475             ],[
   476             audio_arts=yes
   477             ])
   478             CFLAGS="$save_CFLAGS"
   479             AC_MSG_RESULT($audio_arts)
   480             if test x$audio_arts = xyes; then
   481                 AC_ARG_ENABLE(arts-shared,
   482 AC_HELP_STRING([--enable-arts-shared], [dynamically load aRts audio support [[default=yes]]]),
   483                               , enable_arts_shared=yes)
   484                 arts_lib_spec="$ARTS_PREFIX/lib/libartsc.so.*"
   485                 arts_lib=`ls -- $arts_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
   486                 echo "-- $arts_lib_spec -> $arts_lib"
   487 
   488                 AC_DEFINE(SDL_AUDIO_DRIVER_ARTS)
   489                 SOURCES="$SOURCES $srcdir/src/audio/arts/*.c"
   490                 EXTRA_CFLAGS="$EXTRA_CFLAGS $ARTS_CFLAGS"
   491                 if test x$have_loadso != xyes && \
   492                    test x$enable_arts_shared = xyes; then
   493                     AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic ARTS loading])
   494                 fi
   495                 if test x$have_loadso = xyes && \
   496                    test x$enable_arts_shared = xyes && test x$arts_lib != x; then
   497                     AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ARTS_DYNAMIC, "$arts_lib")
   498                 else
   499                     EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ARTS_LIBS"
   500                 fi
   501                 have_audio=yes
   502             fi
   503         fi
   504     fi
   505 }
   506 
   507 dnl See if the NAS audio interface is supported
   508 CheckNAS()
   509 {
   510     AC_ARG_ENABLE(nas,
   511 AC_HELP_STRING([--enable-nas], [support the NAS audio API [[default=yes]]]),
   512                   , enable_nas=yes)
   513     if test x$enable_audio = xyes -a x$enable_nas = xyes; then
   514         AC_MSG_CHECKING(for NAS audio support)
   515         have_nas=no
   516         if test -r /usr/X11R6/include/audio/audiolib.h; then
   517             have_nas=yes
   518             NAS_CFLAGS="-I/usr/X11R6/include/"
   519             NAS_LIBS="-L/usr/X11R6/lib -laudio -lXt"
   520 
   521         dnl On IRIX, the NAS includes are in a different directory,
   522         dnl and libnas must be explicitly linked in
   523 
   524         elif test -r /usr/freeware/include/nas/audiolib.h; then
   525             have_nas=yes
   526             NAS_LIBS="-lnas -lXt"
   527         fi
   528         AC_MSG_RESULT($have_nas)
   529         if test x$have_nas = xyes; then
   530             AC_DEFINE(SDL_AUDIO_DRIVER_NAS)
   531             SOURCES="$SOURCES $srcdir/src/audio/nas/*.c"
   532             EXTRA_CFLAGS="$EXTRA_CFLAGS $NAS_CFLAGS"
   533             EXTRA_LDFLAGS="$EXTRA_LDFLAGS $NAS_LIBS"
   534             have_audio=yes
   535         fi
   536     fi
   537 }
   538 
   539 dnl rcg07142001 See if the user wants the disk writer audio driver...
   540 CheckDiskAudio()
   541 {
   542     AC_ARG_ENABLE(diskaudio,
   543 AC_HELP_STRING([--enable-diskaudio], [support the disk writer audio driver [[default=yes]]]),
   544                   , enable_diskaudio=yes)
   545     if test x$enable_audio = xyes -a x$enable_diskaudio = xyes; then
   546         AC_DEFINE(SDL_AUDIO_DRIVER_DISK)
   547         SOURCES="$SOURCES $srcdir/src/audio/disk/*.c"
   548     fi
   549 }
   550 
   551 dnl rcg03142006 See if the user wants the dummy audio driver...
   552 CheckDummyAudio()
   553 {
   554     AC_ARG_ENABLE(dummyaudio,
   555 AC_HELP_STRING([--enable-dummyaudio], [support the dummy audio driver [[default=yes]]]),
   556                   , enable_dummyaudio=yes)
   557     if test x$enable_audio = xyes -a x$enable_dummyaudio = xyes; then
   558         AC_DEFINE(SDL_AUDIO_DRIVER_DUMMY)
   559         SOURCES="$SOURCES $srcdir/src/audio/dummy/*.c"
   560     fi
   561 }
   562 
   563 dnl Set up the Atari Audio driver
   564 CheckAtariAudio()
   565 {
   566     AC_ARG_ENABLE(mintaudio,
   567 AC_HELP_STRING([--enable-mintaudio], [support Atari audio driver [[default=yes]]]),
   568                   , enable_mintaudio=yes)
   569     if test x$enable_audio = xyes -a x$enable_mintaudio = xyes; then
   570         mintaudio=no
   571         AC_CHECK_HEADER(mint/falcon.h, have_mint_falcon_hdr=yes)
   572         if test x$have_mint_falcon_hdr = xyes; then
   573             mintaudio=yes
   574             AC_DEFINE(SDL_AUDIO_DRIVER_MINT)
   575             SOURCES="$SOURCES $srcdir/src/audio/mint/*.c"
   576             SOURCES="$SOURCES $srcdir/src/audio/mint/*.S"
   577             have_audio=yes
   578         fi
   579     fi
   580 }
   581 
   582 dnl See if we can use x86 assembly blitters
   583 # NASM is available from: http://nasm.sourceforge.net
   584 CheckNASM()
   585 {
   586     dnl Make sure we are running on an x86 platform
   587     case $host in
   588         i?86*)
   589             ;;
   590         *)
   591         # Nope, bail early.
   592             return
   593             ;;
   594     esac
   595     dnl Check for NASM (for assembly blit routines)
   596     AC_ARG_ENABLE(nasm,
   597 AC_HELP_STRING([--enable-nasm], [use nasm assembly blitters on x86 [[default=yes]]]),
   598                   , enable_nasm=yes)
   599     if test x$enable_video = xyes -a x$enable_assembly = xyes -a x$enable_nasm = xyes; then
   600         AC_PATH_PROG(NASM, yasm)
   601         if test "x$NASM" = x -o "x$NASM" = x'"$NASM"'; then
   602             AC_PATH_PROG(NASM, nasm)
   603         fi
   604         if test "x$NASM" != x -a "x$NASM" != x'"$NASM"'; then
   605             AC_DEFINE(SDL_HERMES_BLITTERS)
   606             SOURCES="$SOURCES $srcdir/src/hermes/*.asm"
   607             if test x"$NASMFLAGS" = x; then
   608                 case $ARCH in
   609                   win32)
   610                       NASMFLAGS="-f win32"
   611                       ;;
   612                   openbsd)
   613                       NASMFLAGS="-f aoutb"
   614                       ;;
   615                   macosx)
   616                       NASMFLAGS="-f macho"
   617                       ;;
   618                   *)
   619                       NASMFLAGS="-f elf"
   620                       ;;
   621                 esac
   622             fi
   623             NASMFLAGS="$NASMFLAGS -i $srcdir/src/hermes/"
   624 
   625             dnl See if hidden visibility is supported
   626             echo "GLOBAL _bar:function hidden" > nasm_vis.asm
   627             echo "_bar:" >>nasm_vis.asm
   628             if $NASM $NASMFLAGS nasm_vis.asm -o nasm_vis.o >&AS_MESSAGE_LOG_FD 2>&1; then
   629                 NASMFLAGS="$NASMFLAGS -DHIDDEN_VISIBILITY"
   630             fi
   631             rm -f nasm_vis.asm nasm_vis.o
   632 
   633             AC_SUBST(NASM)
   634             AC_SUBST(NASMFLAGS)
   635 
   636             case "$host" in
   637                 # this line is needed for QNX, because it's not defined the __ELF__
   638                 *-*-qnx*)
   639                      EXTRA_CFLAGS="$EXTRA_CFLAGS -D__ELF__";;
   640                 *-*-solaris*)
   641                      EXTRA_CFLAGS="$EXTRA_CFLAGS -D__ELF__";;
   642             esac
   643         fi
   644     fi
   645 }
   646 
   647 dnl Check for altivec instruction support using gas syntax
   648 CheckAltivec()
   649 {
   650     AC_ARG_ENABLE(altivec,
   651 AC_HELP_STRING([--enable-altivec], [use altivec assembly blitters on PPC [[default=yes]]]),
   652                   , enable_altivec=yes)
   653     if test x$enable_video = xyes -a x$enable_assembly = xyes -a x$enable_altivec = xyes; then
   654         have_altivec_h_hdr=no
   655         AC_CHECK_HEADER(altivec.h, have_altivec_h_hdr=yes)
   656 
   657         save_CFLAGS="$CFLAGS"
   658         have_gcc_altivec=no
   659         AC_MSG_CHECKING(for Altivec with GCC -maltivec option)
   660         altivec_CFLAGS="-maltivec"
   661         CFLAGS="$save_CFLAGS $altivec_CFLAGS"
   662 
   663         if test x$have_altivec_h_hdr = xyes; then
   664           AC_TRY_COMPILE([
   665           #include <altivec.h>
   666           vector unsigned int vzero() {
   667               return vec_splat_u32(0);
   668           }
   669           ],[
   670           ],[
   671           have_gcc_altivec=yes
   672           ])
   673           AC_MSG_RESULT($have_gcc_altivec)
   674         else
   675           AC_TRY_COMPILE([
   676           vector unsigned int vzero() {
   677               return vec_splat_u32(0);
   678           }
   679           ],[
   680           ],[
   681           have_gcc_altivec=yes
   682           ])
   683           AC_MSG_RESULT($have_gcc_altivec)
   684         fi
   685 
   686         if test x$have_gcc_altivec = xno; then
   687             AC_MSG_CHECKING(for Altivec with GCC -faltivec option)
   688             altivec_CFLAGS="-faltivec"
   689             CFLAGS="$save_CFLAGS $altivec_CFLAGS"
   690             if test x$have_altivec_h_hdr = xyes; then
   691               AC_TRY_COMPILE([
   692               #include <altivec.h>
   693               vector unsigned int vzero() {
   694                   return vec_splat_u32(0);
   695               }
   696               ],[
   697               ],[
   698               have_gcc_altivec=yes
   699               ])
   700               AC_MSG_RESULT($have_gcc_altivec)
   701             else
   702               AC_TRY_COMPILE([
   703               vector unsigned int vzero() {
   704                   return vec_splat_u32(0);
   705               }
   706               ],[
   707               ],[
   708               have_gcc_altivec=yes
   709               ])
   710               AC_MSG_RESULT($have_gcc_altivec)
   711             fi
   712         fi
   713         CFLAGS="$save_CFLAGS"
   714 
   715         if test x$have_gcc_altivec = xyes; then
   716             AC_DEFINE(SDL_ALTIVEC_BLITTERS)
   717             if test x$have_altivec_h_hdr = xyes; then
   718               AC_DEFINE(HAVE_ALTIVEC_H)
   719             fi
   720             EXTRA_CFLAGS="$EXTRA_CFLAGS $altivec_CFLAGS"
   721         fi
   722     fi
   723 }
   724 
   725 dnl See if GCC's -fvisibility=hidden is supported (gcc4 and later, usually).
   726 dnl  Details of this flag are here: http://gcc.gnu.org/wiki/Visibility
   727 CheckVisibilityHidden()
   728 {
   729     AC_MSG_CHECKING(for GCC -fvisibility=hidden option)
   730     have_gcc_fvisibility=no
   731 
   732     visibility_CFLAGS="-fvisibility=hidden"
   733     save_CFLAGS="$CFLAGS"
   734     CFLAGS="$save_CFLAGS $visibility_CFLAGS"
   735     AC_TRY_COMPILE([
   736     #if !defined(__GNUC__) || __GNUC__ < 4
   737     #error SDL only uses visibility attributes in GCC 4 or newer
   738     #endif
   739     ],[
   740     ],[
   741     have_gcc_fvisibility=yes
   742     ])
   743     AC_MSG_RESULT($have_gcc_fvisibility)
   744     CFLAGS="$save_CFLAGS"
   745 
   746     if test x$have_gcc_fvisibility = xyes; then
   747         EXTRA_CFLAGS="$EXTRA_CFLAGS $visibility_CFLAGS"
   748     fi
   749 }
   750 
   751 
   752 dnl Do the iPod thing
   753 CheckIPod()
   754 {
   755     AC_ARG_ENABLE(ipod,
   756 AC_HELP_STRING([--enable-ipod], [configure SDL to work with iPodLinux [default=yes on arm-elf]]),
   757         , enable_ipod=yes)
   758 
   759     if test x$enable_ipod = xyes; then
   760         EXTRA_CFLAGS="$EXTRA_CFLAGS -DIPOD"
   761         AC_DEFINE(SDL_VIDEO_DRIVER_IPOD)
   762         SOURCES="$SOURCES $srcdir/src/video/ipod/*.c"
   763     fi
   764 }
   765 
   766 dnl Find the nanox include and library directories
   767 CheckNANOX()
   768 {
   769     AC_ARG_ENABLE(video-nanox,
   770         AC_HELP_STRING([--enable-video-nanox], [use nanox video driver [[default=no]]]),
   771         , enable_video_nanox=no)
   772 
   773     if test x$enable_video = xyes -a x$enable_video_nanox = xyes; then
   774         AC_ARG_ENABLE(nanox-debug,  
   775             AC_HELP_STRING([--enable-nanox-debug], [print debug messages [[default=no]]]),
   776             , enable_nanox_debug=no)
   777         if test x$enable_nanox_debug = xyes; then
   778             EXTRA_CFLAGS="$EXTRA_CFLAGS -DENABLE_NANOX_DEBUG"
   779         fi
   780 
   781         AC_ARG_ENABLE(nanox-share-memory,  
   782             AC_HELP_STRING([--enable-nanox-share-memory], [use share memory [[default=no]]]),
   783             , enable_nanox_share_memory=no)
   784         if test x$enable_nanox_share_memory = xyes; then
   785             EXTRA_CFLAGS="$EXTRA_CFLAGS -DNANOX_SHARE_MEMORY"
   786         fi
   787 
   788         AC_ARG_ENABLE(nanox_direct_fb, 
   789             AC_HELP_STRING([--enable-nanox-direct-fb], [use direct framebuffer access [[default=no]]]),
   790             , enable_nanox_direct_fb=no)
   791         if test x$enable_nanox_direct_fb = xyes; then
   792             EXTRA_CFLAGS="$EXTRA_CFLAGS -DENABLE_NANOX_DIRECT_FB"
   793         fi
   794 
   795         AC_DEFINE(SDL_VIDEO_DRIVER_NANOX)
   796         SOURCES="$SOURCES $srcdir/src/video/nanox/*.c"
   797         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lnano-X"
   798         have_video=yes
   799     fi
   800 }
   801 
   802 dnl Find the X11 include and library directories
   803 CheckX11()
   804 {
   805     AC_ARG_ENABLE(video-x11,
   806 AC_HELP_STRING([--enable-video-x11], [use X11 video driver [[default=yes]]]),
   807                   , enable_video_x11=yes)
   808     if test x$enable_video = xyes -a x$enable_video_x11 = xyes; then
   809         case "$host" in
   810             *-*-darwin*)
   811                 # This isn't necessary for X11, but fixes GLX detection
   812                 if test "x$x_includes" = xNONE && test "x$x_libraries" = xNONE; then
   813                     x_includes="/usr/X11R6/include"
   814                     x_libraries="/usr/X11R6/lib"
   815                 fi
   816                 ;;
   817         esac
   818         AC_PATH_X
   819         AC_PATH_XTRA
   820         if test x$have_x = xyes; then
   821             # Only allow dynamically loaded X11 if the X11 function pointers
   822             # will not end up in the global namespace, which causes problems
   823             # with other libraries calling X11 functions.
   824             x11_symbols_private=$have_gcc_fvisibility
   825 
   826             AC_ARG_ENABLE(x11-shared,
   827 AC_HELP_STRING([--enable-x11-shared], [dynamically load X11 support [[default=maybe]]]),
   828                           , enable_x11_shared=maybe)
   829 
   830             case "$host" in
   831                 *-*-darwin*) # Latest Mac OS X actually ships with Xrandr/Xrender libs...
   832                     x11_symbols_private=yes
   833                     x11_lib='/usr/X11R6/lib/libX11.6.dylib'
   834                     x11ext_lib='/usr/X11R6/lib/libXext.6.dylib'
   835                     xrender_lib='/usr/X11R6/lib/libXrender.1.dylib'
   836                     xrandr_lib='/usr/X11R6/lib/libXrandr.2.dylib'
   837                     ;;
   838                 *-*-osf*)
   839                     x11_lib='libX11.so'
   840                     x11ext_lib='libXext.so'
   841                     ;;
   842                 *-*-irix*) # IRIX 6.5 requires that we use /usr/lib32
   843                     x11_lib='libX11.so'
   844                     x11ext_lib='libXext.so'
   845                     ;;
   846                 *)
   847                     x11_lib_spec=[`echo $X_LIBS | sed 's/.*-L\([^ ]*\).*/\1/'`]
   848                     for path in $x11_lib_path /usr/lib /usr/X11/lib /usr/X11R6/lib; do
   849                         if test "x$x11_lib" = "x"; then
   850                             x11_lib=[`ls -- $path/libX11.so.[0-9] 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
   851                             if test "x$x11_lib" = "x"; then
   852                                 x11_lib=[`ls -- $path/libX11.so.[0-9]* 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
   853                             fi
   854                         fi
   855                         if test "x$x11ext_lib" = "x"; then
   856                             x11ext_lib=[`ls -- $path/libXext.so.[0-9] 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
   857                             if test "x$x11ext_lib" = "x"; then
   858                                 x11ext_lib=[`ls -- $path/libXext.so.[0-9]* 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
   859                             fi
   860                         fi
   861                         if test "x$xrender_lib" = "x"; then
   862                             xrender_lib=[`ls -- $path/libXrender.so.[0-9] 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
   863                             if test "x$xrender_lib" = "x"; then
   864                                 xrender_lib=[`ls -- $path/libXrender.so.[0-9]* 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
   865                             fi
   866                         fi
   867                         if test "x$xrandr_lib" = "x"; then
   868                             xrandr_lib=[`ls -- $path/libXrandr.so.[0-9] 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
   869                             if test "x$xrandr_lib" = "x"; then
   870                                 xrandr_lib=[`ls -- $path/libXrandr.so.[0-9]* 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
   871                             fi
   872                         fi
   873                     done
   874                     ;;
   875             esac
   876 
   877             X_CFLAGS="$X_CFLAGS -DXTHREADS"
   878             if test x$ac_cv_func_shmat != xyes; then
   879                 X_CFLAGS="$X_CFLAGS -DNO_SHARED_MEMORY"
   880             fi
   881             CFLAGS="$CFLAGS $X_CFLAGS"
   882             LDFLAGS="$LDFLAGS $X_LIBS"
   883 
   884             AC_DEFINE(SDL_VIDEO_DRIVER_X11)
   885             SOURCES="$SOURCES $srcdir/src/video/x11/*.c"
   886             EXTRA_CFLAGS="$EXTRA_CFLAGS $X_CFLAGS"
   887 
   888             if test x$enable_x11_shared = xmaybe; then
   889                 enable_x11_shared=$x11_symbols_private
   890             fi
   891             if test x$have_loadso != xyes && \
   892                test x$enable_x11_shared = xyes; then
   893                 AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic X11 loading])
   894                 enable_x11_shared=no
   895             fi
   896             if test x$x11_symbols_private != xyes && \
   897                test x$enable_x11_shared = xyes; then
   898                 AC_MSG_WARN([You must have gcc4 (-fvisibility=hidden) for dynamic X11 loading])
   899                 enable_x11_shared=no
   900             fi
   901 
   902             if test x$have_loadso = xyes && \
   903                test x$enable_x11_shared = xyes && test x$x11_lib != x && test x$x11ext_lib != x; then
   904                 echo "-- dynamic libX11 -> $x11_lib"
   905                 echo "-- dynamic libX11ext -> $x11ext_lib"
   906                 AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC, "$x11_lib")
   907                 AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT, "$x11ext_lib")
   908             else
   909                 enable_x11_shared=no
   910                 EXTRA_LDFLAGS="$EXTRA_LDFLAGS $X_LIBS -lX11 -lXext"
   911             fi
   912             have_video=yes
   913 
   914             AC_ARG_ENABLE(video-x11-vm,
   915 AC_HELP_STRING([--enable-video-x11-vm], [use X11 VM extension for fullscreen [[default=yes]]]),
   916                           , enable_video_x11_vm=yes)
   917             if test x$enable_video_x11_vm = xyes; then
   918                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_VIDMODE)
   919                 SOURCES="$SOURCES $srcdir/src/video/Xext/Xxf86vm/*.c"
   920             fi
   921             AC_ARG_ENABLE(video-x11-xv,
   922 AC_HELP_STRING([--enable-video-x11-xv], [use X11 XvImage extension for video [[default=yes]]]),
   923                           , enable_video_x11_xv=yes)
   924             if test x$enable_video_x11_xv = xyes; then
   925                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XV)
   926                 SOURCES="$SOURCES $srcdir/src/video/Xext/Xv/*.c"
   927             fi
   928             AC_ARG_ENABLE(video-x11-xinerama,
   929 AC_HELP_STRING([--enable-video-x11-xinerama], [enable X11 Xinerama support [[default=yes]]]),
   930                             , enable_video_x11_xinerama=yes)
   931             if test x$enable_video_x11_xinerama = xyes; then
   932                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XINERAMA)
   933                 SOURCES="$SOURCES $srcdir/src/video/Xext/Xinerama/*.c"
   934             fi
   935             AC_ARG_ENABLE(video-x11-xme,
   936 AC_HELP_STRING([--enable-video-x11-xme], [enable Xi Graphics XME for fullscreen [[default=yes]]]),
   937                             , enable_video_x11_xme=yes)
   938             if test x$enable_video_x11_xme = xyes; then
   939                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XME)
   940                 SOURCES="$SOURCES $srcdir/src/video/Xext/XME/*.c"
   941             fi
   942             AC_ARG_ENABLE(video-x11-xrandr,
   943 AC_HELP_STRING([--enable-video-x11-xrandr], [enable X11 Xrandr extension for fullscreen [[default=yes]]]),
   944                             , enable_video_x11_xrandr=yes)
   945             if test x$enable_video_x11_xrandr = xyes; then
   946                 definitely_enable_video_x11_xrandr=no
   947                 AC_CHECK_HEADER(X11/extensions/Xrandr.h,
   948                                 have_xrandr_h_hdr=yes,
   949                                 have_xrandr_h_hdr=no,
   950                                 [#include <X11/Xlib.h>
   951                                 ])
   952                 if test x$have_xrandr_h_hdr = xyes; then
   953                     if test x$enable_x11_shared = xyes && test x$xrandr_lib != x ; then
   954                         echo "-- dynamic libXrender -> $xrender_lib"
   955                         echo "-- dynamic libXrandr -> $xrandr_lib"
   956                         AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER, "$xrender_lib")
   957                         AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR, "$xrandr_lib")
   958                         definitely_enable_video_x11_xrandr=yes
   959                     else
   960                         AC_CHECK_LIB(Xrender, XRenderQueryExtension, have_xrender_lib=yes)
   961                         AC_CHECK_LIB(Xrandr, XRRQueryExtension, have_xrandr_lib=yes)
   962                         if test x$have_xrender_lib = xyes && test x$have_xrandr_lib = xyes ; then
   963                             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXrandr -lXrender"
   964                             definitely_enable_video_x11_xrandr=yes
   965                         fi
   966                     fi
   967                 fi
   968             fi
   969             if test x$definitely_enable_video_x11_xrandr = xyes; then
   970                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XRANDR)
   971             fi
   972             AC_ARG_ENABLE(video-x11-dpms,
   973 AC_HELP_STRING([--enable-video-x11-dpms], [enable X11 DPMS extension [[default=yes]]]),
   974                             , enable_video_x11_dpms=yes)
   975             if test x$enable_video_x11_dpms = xyes; then
   976                 AC_CHECK_HEADER(X11/extensions/dpms.h,
   977                                 have_dpms_h_hdr=yes,
   978                                 have_dpms_h_hdr=no,
   979                                 [#include <X11/Xlib.h>
   980                                 ])
   981                 if test x$have_dpms_h_hdr = xyes; then
   982                     AC_DEFINE(SDL_VIDEO_DRIVER_X11_DPMS)
   983                 fi
   984             fi
   985         fi
   986     fi
   987 }
   988 
   989 dnl Check for QNX photon video driver
   990 CheckPHOTON()
   991 {
   992     AC_ARG_ENABLE(video-photon,
   993 AC_HELP_STRING([--enable-video-photon], [use QNX Photon video driver [[default=yes]]]),
   994                   , enable_video_photon=yes)
   995     if test x$enable_video = xyes -a x$enable_video_photon = xyes; then
   996         AC_MSG_CHECKING(for QNX Photon support)
   997         video_photon=no
   998         AC_TRY_COMPILE([
   999           #include <Ph.h>
  1000           #include <Pt.h>
  1001           #include <photon/Pg.h>
  1002           #include <photon/PdDirect.h>
  1003         ],[
  1004          PgDisplaySettings_t *visual;
  1005         ],[
  1006         video_photon=yes
  1007         ])
  1008         AC_MSG_RESULT($video_photon)
  1009         if test x$video_photon = xyes; then
  1010             AC_DEFINE(SDL_VIDEO_DRIVER_PHOTON)
  1011             SOURCES="$SOURCES $srcdir/src/video/photon/*.c"
  1012             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lph"
  1013             have_video=yes
  1014 
  1015             CheckOpenGLQNX
  1016         fi
  1017     fi
  1018 }
  1019 
  1020 dnl Set up the BWindow video driver if enabled
  1021 CheckBWINDOW()
  1022 {
  1023     if test x$enable_video = xyes; then
  1024         AC_DEFINE(SDL_VIDEO_DRIVER_BWINDOW)
  1025         SOURCES="$SOURCES $srcdir/src/video/bwindow/*.cc"
  1026         have_video=yes
  1027     fi
  1028 }
  1029 
  1030 dnl Set up the Cocoa video driver for Mac OS X (but not Darwin)
  1031 CheckCOCOA()
  1032 {
  1033     AC_ARG_ENABLE(video-cocoa,
  1034 AC_HELP_STRING([--enable-video-cocoa], [use Cocoa video driver [[default=yes]]]),
  1035                   , enable_video_cocoa=yes)
  1036     if test x$enable_video = xyes -a x$enable_video_cocoa = xyes; then
  1037         save_CFLAGS="$CFLAGS"
  1038         dnl work around that we don't have Objective-C support in autoconf
  1039         CFLAGS="$CFLAGS -x objective-c"
  1040         AC_MSG_CHECKING(for Cocoa framework)
  1041         have_cocoa=no
  1042         AC_TRY_COMPILE([
  1043           #import <Cocoa/Cocoa.h>
  1044         ],[
  1045         ],[
  1046         have_cocoa=yes
  1047         ])
  1048         AC_MSG_RESULT($have_cocoa)
  1049         CFLAGS="$save_CFLAGS"
  1050         if test x$have_cocoa = xyes; then
  1051             AC_DEFINE(SDL_VIDEO_DRIVER_COCOA)
  1052             SOURCES="$SOURCES $srcdir/src/video/cocoa/*.m"
  1053             have_video=yes
  1054         fi
  1055     fi
  1056 }
  1057 
  1058 dnl Find the framebuffer console includes
  1059 CheckFBCON()
  1060 {
  1061     AC_ARG_ENABLE(video-fbcon,
  1062 AC_HELP_STRING([--enable-video-fbcon], [use framebuffer console video driver [[default=yes]]]),
  1063                   , enable_video_fbcon=yes)
  1064     if test x$enable_video = xyes -a x$enable_video_fbcon = xyes; then
  1065         AC_MSG_CHECKING(for framebuffer console support)
  1066         video_fbcon=no
  1067         AC_TRY_COMPILE([
  1068          #include <linux/fb.h>
  1069          #include <linux/kd.h>
  1070          #include <linux/keyboard.h>
  1071         ],[
  1072         ],[
  1073         video_fbcon=yes
  1074         ])
  1075         AC_MSG_RESULT($video_fbcon)
  1076         if test x$video_fbcon = xyes; then
  1077             AC_DEFINE(SDL_VIDEO_DRIVER_FBCON)
  1078             SOURCES="$SOURCES $srcdir/src/video/fbcon/*.c"
  1079             have_video=yes
  1080         fi
  1081     fi
  1082 }
  1083 
  1084 dnl Find DirectFB
  1085 CheckDirectFB()
  1086 {
  1087     AC_ARG_ENABLE(video-directfb,
  1088 AC_HELP_STRING([--enable-video-directfb], [use DirectFB video driver [[default=yes]]]),
  1089                   , enable_video_directfb=yes)
  1090     if test x$enable_video = xyes -a x$enable_video_directfb = xyes; then
  1091         video_directfb=no
  1092 
  1093         DIRECTFB_REQUIRED_VERSION=0.9.15
  1094 
  1095         AC_PATH_PROG(DIRECTFBCONFIG, directfb-config, no)
  1096         if test x$DIRECTFBCONFIG = xno; then
  1097             AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
  1098             AC_MSG_CHECKING(for DirectFB $DIRECTFB_REQUIRED_VERSION support)
  1099             if test x$PKG_CONFIG != xno; then
  1100                 if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb; then
  1101                     DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags directfb`
  1102                     DIRECTFB_LIBS=`$PKG_CONFIG --libs directfb`
  1103                     video_directfb=yes
  1104                 fi
  1105             fi
  1106             AC_MSG_RESULT($video_directfb)
  1107         else
  1108             AC_MSG_CHECKING(for DirectFB $DIRECTFB_REQUIRED_VERSION support)
  1109             set -- `echo $DIRECTFB_REQUIRED_VERSION | sed 's/\./ /g'`
  1110             NEED_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3`
  1111             set -- `directfb-config --version | sed 's/\./ /g'`
  1112             HAVE_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3`
  1113             if test $HAVE_VERSION -ge $NEED_VERSION; then
  1114                 DIRECTFB_CFLAGS=`$DIRECTFBCONFIG --cflags`
  1115                 DIRECTFB_LIBS=`$DIRECTFBCONFIG --libs`
  1116                 video_directfb=yes
  1117             fi
  1118             AC_MSG_RESULT($video_directfb)
  1119         fi
  1120 
  1121         if test x$video_directfb = xyes; then
  1122             AC_DEFINE(SDL_VIDEO_DRIVER_DIRECTFB)
  1123             SOURCES="$SOURCES $srcdir/src/video/directfb/*.c"
  1124             EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS"
  1125             EXTRA_LDFLAGS="$EXTRA_LDFLAGS $DIRECTFB_LIBS"
  1126             have_video=yes
  1127         fi
  1128     fi
  1129 }
  1130 
  1131 dnl See if we're running on PlayStation 2 hardware
  1132 CheckPS2GS()
  1133 {
  1134     AC_ARG_ENABLE(video-ps2gs,
  1135 AC_HELP_STRING([--enable-video-ps2gs], [use PlayStation 2 GS video driver [[default=yes]]]),
  1136                   , enable_video_ps2gs=yes)
  1137     if test x$enable_video = xyes -a x$enable_video_ps2gs = xyes; then
  1138         AC_MSG_CHECKING(for PlayStation 2 GS support)
  1139         video_ps2gs=no
  1140         AC_TRY_COMPILE([
  1141          #include <linux/ps2/dev.h>
  1142          #include <linux/ps2/gs.h>
  1143         ],[
  1144         ],[
  1145         video_ps2gs=yes
  1146         ])
  1147         AC_MSG_RESULT($video_ps2gs)
  1148         if test x$video_ps2gs = xyes; then
  1149             AC_DEFINE(SDL_VIDEO_DRIVER_PS2GS)
  1150             SOURCES="$SOURCES $srcdir/src/video/ps2gs/*.c"
  1151             have_video=yes
  1152         fi
  1153     fi
  1154 }
  1155 
  1156 dnl Find the GGI includes
  1157 CheckGGI()
  1158 {
  1159     AC_ARG_ENABLE(video-ggi,
  1160 AC_HELP_STRING([--enable-video-ggi], [use GGI video driver [[default=no]]]),
  1161                   , enable_video_ggi=no)
  1162     if test x$enable_video = xyes -a x$enable_video_ggi = xyes; then
  1163         AC_MSG_CHECKING(for GGI support)
  1164         video_ggi=no
  1165         AC_TRY_COMPILE([
  1166          #include <ggi/ggi.h>
  1167          #include <ggi/gii.h>
  1168         ],[
  1169         ],[
  1170         video_ggi=yes
  1171         ])
  1172         AC_MSG_RESULT($video_ggi)
  1173         if test x$video_ggi = xyes; then
  1174             AC_DEFINE(SDL_VIDEO_DRIVER_GGI)
  1175             SOURCES="$SOURCES $srcdir/src/video/ggi/*.c"
  1176             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lggi -lgii -lgg"
  1177             have_video=yes
  1178         fi
  1179     fi
  1180 }
  1181 
  1182 dnl Find the SVGAlib includes and libraries
  1183 CheckSVGA()
  1184 {
  1185     AC_ARG_ENABLE(video-svga,
  1186 AC_HELP_STRING([--enable-video-svga], [use SVGAlib video driver [[default=yes]]]),
  1187                   , enable_video_svga=yes)
  1188     if test x$enable_video = xyes -a x$enable_video_svga = xyes; then
  1189         AC_MSG_CHECKING(for SVGAlib (1.4.0+) support)
  1190         video_svga=no
  1191         AC_TRY_COMPILE([
  1192          #include <vga.h>
  1193          #include <vgamouse.h>
  1194          #include <vgakeyboard.h>
  1195         ],[
  1196          if ( SCANCODE_RIGHTWIN && SCANCODE_LEFTWIN ) {
  1197              exit(0);
  1198          }
  1199         ],[
  1200         video_svga=yes
  1201         ])
  1202         AC_MSG_RESULT($video_svga)
  1203         if test x$video_svga = xyes; then
  1204             AC_DEFINE(SDL_VIDEO_DRIVER_SVGALIB)
  1205             SOURCES="$SOURCES $srcdir/src/video/svga/*.c"
  1206             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvga"
  1207             have_video=yes
  1208         fi
  1209     fi
  1210 }
  1211 
  1212 dnl Find the VGL includes and libraries
  1213 CheckVGL()
  1214 {
  1215     AC_ARG_ENABLE(video-vgl,
  1216 AC_HELP_STRING([--enable-video-vgl], [use VGL video driver [[default=yes]]]),
  1217                   , enable_video_vgl=yes)
  1218     if test x$enable_video = xyes -a x$enable_video_vgl = xyes; then
  1219         AC_MSG_CHECKING(for libVGL support)
  1220         video_vgl=no
  1221         AC_TRY_COMPILE([
  1222          #include <sys/fbio.h>
  1223          #include <sys/consio.h>
  1224          #include <sys/kbio.h>
  1225          #include <vgl.h>
  1226         ],[
  1227          VGLBitmap bitmap;
  1228          bitmap.Type = VIDBUF32;
  1229          bitmap.PixelBytes = 4;
  1230          exit(bitmap.Bitmap);
  1231         ],[
  1232         video_vgl=yes
  1233         ])
  1234         AC_MSG_RESULT($video_vgl)
  1235         if test x$video_vgl = xyes; then
  1236             AC_DEFINE(SDL_VIDEO_DRIVER_VGL)
  1237             SOURCES="$SOURCES $srcdir/src/video/vgl/*.c"
  1238             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvgl"
  1239             have_video=yes
  1240         fi
  1241     fi
  1242 }
  1243 
  1244 dnl Set up the wscons video driver if enabled
  1245 CheckWscons()
  1246 {
  1247     AC_ARG_ENABLE(video-wscons,
  1248 AC_HELP_STRING([--enable-video-wscons], [use wscons video driver [[default=yes]]]),
  1249                   , enable_video_wscons=yes)
  1250     if test x$enable_video = xyes -a x$enable_video_wscons = xyes; then
  1251         AC_MSG_CHECKING(for wscons support)
  1252         video_wscons=no
  1253         AC_TRY_COMPILE([
  1254          #include <sys/time.h>
  1255          #include <dev/wscons/wsconsio.h>
  1256          #include <dev/wscons/wsdisplay_usl_io.h>
  1257         ],[
  1258          int wsmode = WSDISPLAYIO_MODE_DUMBFB;
  1259         ],[
  1260         video_wscons=yes
  1261         ])
  1262         AC_MSG_RESULT($video_wscons)
  1263         if test x$video_wscons = xyes; then
  1264             AC_DEFINE(SDL_VIDEO_DRIVER_WSCONS)
  1265             SOURCES="$SOURCES $srcdir/src/video/wscons/*.c"
  1266             have_video=yes
  1267         fi
  1268     fi
  1269 }
  1270 
  1271 
  1272 dnl Find the AAlib includes
  1273 CheckAAlib()
  1274 {
  1275     AC_ARG_ENABLE(video-aalib,
  1276 AC_HELP_STRING([--enable-video-aalib], [use AAlib video driver [[default=no]]]),
  1277                   , enable_video_aalib=no)
  1278     if test x$enable_video = xyes -a x$enable_video_aalib = xyes; then
  1279         AC_MSG_CHECKING(for AAlib support)
  1280         video_aalib=no
  1281         AC_TRY_COMPILE([
  1282          #include <aalib.h>
  1283         ],[
  1284         ],[
  1285         video_aalib=yes
  1286         ])
  1287         AC_MSG_RESULT($video_aalib)
  1288         if test x$video_aalib = xyes; then
  1289             AC_DEFINE(SDL_VIDEO_DRIVER_AALIB)
  1290             SOURCES="$SOURCES $srcdir/src/video/aalib/*.c"
  1291             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -laa"
  1292             have_video=yes
  1293         fi
  1294     fi
  1295 }
  1296 
  1297 dnl Set up the QTopia video driver if enabled
  1298 CheckQtopia()
  1299 {
  1300     AC_ARG_ENABLE(video-qtopia,
  1301 AC_HELP_STRING([--enable-video-qtopia], [use Qtopia video driver [[default=no]]]),
  1302                   , enable_video_qtopia=no)
  1303     if test x$enable_video = xyes -a x$enable_video_qtopia = xyes; then
  1304         AC_MSG_CHECKING(for Qtopia support)
  1305         video_qtopia=no
  1306         QTOPIA_FLAGS="-DQT_QWS_EBX -DQT_QWS_CUSTOM -DQWS -I${QPEDIR}/include -I${QTDIR}/include/ -DNO_DEBUG -fno-rtti -fno-exceptions"
  1307         AC_LANG_CPLUSPLUS
  1308         OLD_CXX="$CXXFLAGS"
  1309         CXXFLAGS="$QTOPIA_FLAGS"
  1310         AC_TRY_COMPILE([
  1311          #include <qpe/qpeapplication.h>
  1312         ],[
  1313         ],[
  1314         video_qtopia=yes
  1315         ])
  1316         CXXFLAGS="$OLD_CXX"
  1317         AC_MSG_RESULT($video_qtopia)
  1318         if test x$video_qtopia = xyes; then
  1319             AC_DEFINE(SDL_VIDEO_DRIVER_QTOPIA)
  1320             SOURCES="$SOURCES $srcdir/src/video/qtopia/*.cc"
  1321             SDLMAIN_SOURCES="$srcdir/src/main/qtopia/*.cc"
  1322             EXTRA_CFLAGS="$EXTRA_CFLAGS $QTOPIA_FLAGS"
  1323             SDL_CFLAGS="$SDL_CFLAGS -DQWS -Dmain=SDL_main"
  1324             SDL_LIBS="-lSDLmain $SDL_LIBS -L${QPEDIR}/lib -L${QTDIR}/lib/ -lqpe -lqte"
  1325             have_video=yes
  1326         fi
  1327         AC_LANG_C
  1328     fi
  1329 }
  1330 
  1331 dnl Set up the PicoGUI video driver if enabled
  1332 CheckPicoGUI()
  1333 {
  1334     AC_ARG_ENABLE(video-picogui,
  1335 AC_HELP_STRING([--enable-video-picogui], [use PicoGUI video driver [[default=no]]]),
  1336                   , enable_video_picogui=no)
  1337     if test x$enable_video = xyes -a x$enable_video_picogui = xyes; then
  1338         AC_MSG_CHECKING(for PicoGUI support)
  1339         video_picogui=no
  1340         AC_TRY_COMPILE([
  1341          #include <picogui.h>
  1342         ],[
  1343         ],[
  1344         video_picogui=yes
  1345         ])
  1346         AC_MSG_RESULT($video_picogui)
  1347         if test x$video_picogui = xyes; then
  1348             AC_DEFINE(SDL_VIDEO_DRIVER_PICOGUI)
  1349             SOURCES="$SOURCES $srcdir/src/video/picogui/*.c"
  1350             SDL_LIBS="$SDL_LIBS -lpgui"
  1351             have_video=yes
  1352         fi
  1353     fi
  1354 }
  1355 
  1356 dnl Set up the Atari Bios keyboard driver
  1357 CheckAtariBiosEvent()
  1358 {
  1359     SOURCES="$SOURCES $srcdir/src/video/ataricommon/*.c"
  1360     SOURCES="$SOURCES $srcdir/src/video/ataricommon/*.S"
  1361 }
  1362 
  1363 dnl Set up the Atari Xbios driver
  1364 CheckAtariXbiosVideo()
  1365 {
  1366     AC_ARG_ENABLE(xbios,
  1367 AC_HELP_STRING([--enable-video-xbios], [use Atari Xbios video driver [[default=yes]]]),
  1368                   , enable_video_xbios=yes)
  1369     video_xbios=no
  1370     if test x$enable_video = xyes -a x$enable_video_xbios = xyes; then
  1371         video_xbios=yes
  1372         AC_DEFINE(SDL_VIDEO_DRIVER_XBIOS)
  1373         SOURCES="$SOURCES $srcdir/src/video/xbios/*.c"
  1374         have_video=yes
  1375     fi
  1376 }
  1377 
  1378 dnl Set up the Atari Gem driver
  1379 CheckAtariGemVideo()
  1380 {
  1381     AC_ARG_ENABLE(gem,
  1382 AC_HELP_STRING([--enable-video-gem], [use Atari Gem video driver [[default=yes]]]),
  1383                   , enable_video_gem=yes)
  1384     if test x$enable_video = xyes -a x$enable_video_gem = xyes; then
  1385         video_gem=no
  1386         AC_CHECK_HEADER(gem.h, have_gem_hdr=yes)
  1387         AC_CHECK_LIB(gem, appl_init, have_gem_lib=yes)
  1388         if test x$have_gem_hdr = xyes -a x$have_gem_lib = xyes; then
  1389             video_gem=yes
  1390             AC_DEFINE(SDL_VIDEO_DRIVER_GEM)
  1391             SOURCES="$SOURCES $srcdir/src/video/gem/*.c"
  1392             SDL_LIBS="$SDL_LIBS -lgem"
  1393             have_video=yes
  1394         fi
  1395     fi
  1396 }
  1397 
  1398 dnl rcg04172001 Set up the Null video driver.
  1399 CheckDummyVideo()
  1400 {
  1401     AC_ARG_ENABLE(video-dummy,
  1402 AC_HELP_STRING([--enable-video-dummy], [use dummy video driver [[default=yes]]]),
  1403                   , enable_video_dummy=yes)
  1404     if test x$enable_video_dummy = xyes; then
  1405         AC_DEFINE(SDL_VIDEO_DRIVER_DUMMY)
  1406         SOURCES="$SOURCES $srcdir/src/video/dummy/*.c"
  1407         have_video=yes
  1408     fi
  1409 }
  1410 
  1411 dnl Check to see if OpenGL support is desired
  1412 AC_ARG_ENABLE(video-opengl,
  1413 AC_HELP_STRING([--enable-video-opengl], [include OpenGL context creation [[default=yes]]]),
  1414               , enable_video_opengl=yes)
  1415 
  1416 dnl Find OpenGL
  1417 CheckOpenGLX11()
  1418 {
  1419     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1420         AC_MSG_CHECKING(for OpenGL (GLX) support)
  1421         video_opengl=no
  1422         AC_TRY_COMPILE([
  1423          #include <GL/gl.h>
  1424          #include <GL/glx.h>
  1425         ],[
  1426         ],[
  1427         video_opengl=yes
  1428         ])
  1429         AC_MSG_RESULT($video_opengl)
  1430         if test x$video_opengl = xyes; then
  1431             AC_DEFINE(SDL_VIDEO_OPENGL)
  1432             AC_DEFINE(SDL_VIDEO_OPENGL_GLX)
  1433         fi
  1434     fi
  1435 }
  1436 
  1437 dnl Find QNX RtP OpenGL
  1438 CheckOpenGLQNX()
  1439 {
  1440     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1441         AC_MSG_CHECKING(for OpenGL (Photon) support)
  1442         video_opengl=no
  1443         AC_TRY_COMPILE([
  1444          #include <GL/gl.h>
  1445         ],[
  1446         ],[
  1447         video_opengl=yes
  1448         ])
  1449         AC_MSG_RESULT($video_opengl)
  1450         if test x$video_opengl = xyes; then
  1451             AC_DEFINE(SDL_VIDEO_OPENGL)
  1452             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lGL"
  1453         fi
  1454     fi
  1455 }
  1456 
  1457 dnl Check for Win32 OpenGL
  1458 CheckWIN32GL()
  1459 {
  1460     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1461         AC_DEFINE(SDL_VIDEO_OPENGL)
  1462         AC_DEFINE(SDL_VIDEO_OPENGL_WGL)
  1463     fi
  1464 }
  1465 
  1466 dnl Check for BeOS OpenGL
  1467 CheckBeGL()
  1468 {
  1469     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1470         AC_DEFINE(SDL_VIDEO_OPENGL)
  1471         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lGL"
  1472     fi
  1473 }
  1474 
  1475 dnl Check for MacOS OpenGL
  1476 CheckMacGL()
  1477 {
  1478     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1479         AC_DEFINE(SDL_VIDEO_OPENGL)
  1480         case "$host" in
  1481             *-*-darwin*)
  1482                 if test x$enable_video_cocoa = xyes; then
  1483                     EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,OpenGL"
  1484                 fi
  1485         esac
  1486     fi
  1487 }
  1488 
  1489 dnl Find glSDL
  1490 CheckglSDL()
  1491 {
  1492     AC_ARG_ENABLE(video-glsdl,
  1493 [  --enable-video-glsdl    use glSDL video driver [default=yes]],
  1494                   , enable_video_glsdl=yes)
  1495     AC_MSG_CHECKING(for glSDL support)
  1496     AC_MSG_RESULT($video_opengl)
  1497     if test x$video_opengl = xyes -a x$enable_video_glsdl = xyes; then
  1498         AC_DEFINE(SDL_VIDEO_DRIVER_GLSDL)
  1499         SOURCES="$SOURCES $srcdir/src/video/glsdl/*.c"
  1500     fi
  1501 }
  1502 
  1503 dnl Check for Mesa offscreen rendering
  1504 CheckAtariOSMesa()
  1505 {
  1506     if test "x$enable_video" = "xyes" -a "x$enable_video_opengl" = "xyes"; then
  1507         AC_CHECK_HEADER(GL/osmesa.h, have_osmesa_hdr=yes)
  1508         AC_CHECK_LIB(OSMesa, OSMesaCreateContext, have_osmesa_lib=yes, have_osmesa_lib=no, -lm)
  1509 
  1510         # Static linking to -lOSMesa
  1511         AC_PATH_PROG(OSMESA_CONFIG, osmesa-config, no)
  1512         if test "x$OSMESA_CONFIG" = "xno" -o "x$enable_atari_ldg" = "xno"; then
  1513             # -lOSMesa is really the static library
  1514             if test "x$have_osmesa_hdr" = "xyes" -a "x$have_osmesa_lib" = "xyes"; then
  1515                 OSMESA_LIBS="-lOSMesa"
  1516             fi
  1517         else
  1518             # -lOSMesa is a loader for OSMesa.ldg
  1519             OSMESA_CFLAGS=`$OSMESA_CONFIG --cflags`
  1520             OSMESA_LIBS=`$OSMESA_CONFIG --libs`
  1521         fi
  1522         AC_DEFINE(SDL_VIDEO_OPENGL)
  1523         AC_DEFINE(SDL_VIDEO_OPENGL_OSMESA)
  1524         SDL_CFLAGS="$SDL_CFLAGS $OSMESA_CFLAGS"
  1525         SDL_LIBS="$SDL_LIBS $OSMESA_LIBS"
  1526 
  1527         AC_ARG_ENABLE(osmesa-shared,
  1528 AC_HELP_STRING([--enable-osmesa-shared], [dynamically load OSMesa OpenGL support [[default=yes]]]),
  1529                               , enable_osmesa_shared=yes)
  1530         if test "x$enable_osmesa_shared" = "xyes" -a "x$enable_atari_ldg" = "xyes"; then
  1531             # Dynamic linking
  1532             if test "x$have_osmesa_hdr" = "xyes"; then
  1533                 AC_DEFINE(SDL_VIDEO_OPENGL_OSMESA_DYNAMIC)
  1534             fi
  1535         fi
  1536     fi
  1537 }
  1538 
  1539 dnl See if we can use the new unified event interface in Linux 2.4
  1540 CheckInputEvents()
  1541 {
  1542     dnl Check for Linux 2.4 unified input event interface support
  1543     AC_ARG_ENABLE(input-events,
  1544 AC_HELP_STRING([--enable-input-events], [use Linux 2.4 unified input interface [[default=yes]]]),
  1545                   , enable_input_events=yes)
  1546     if test x$enable_input_events = xyes; then
  1547         AC_MSG_CHECKING(for Linux 2.4 unified input interface)
  1548         use_input_events=no
  1549         AC_TRY_COMPILE([
  1550           #include <linux/input.h>
  1551         ],[
  1552           #ifndef EVIOCGNAME
  1553           #error EVIOCGNAME() ioctl not available
  1554           #endif
  1555         ],[
  1556         use_input_events=yes
  1557         ])
  1558         AC_MSG_RESULT($use_input_events)
  1559         if test x$use_input_events = xyes; then
  1560             AC_DEFINE(SDL_INPUT_LINUXEV)
  1561         fi
  1562     fi
  1563 }
  1564 
  1565 dnl See if we can use the Touchscreen input library
  1566 CheckTslib()
  1567 {
  1568     AC_ARG_ENABLE(input-tslib,
  1569 AC_HELP_STRING([--enable-input-tslib], [use the Touchscreen library for input [[default=yes]]]),
  1570                   , enable_input_tslib=yes)
  1571     if test x$enable_input_tslib = xyes; then
  1572         AC_MSG_CHECKING(for Touchscreen library support)
  1573         enable_input_tslib=no
  1574         AC_TRY_COMPILE([
  1575           #include "tslib.h"
  1576         ],[
  1577         ],[
  1578         enable_input_tslib=yes
  1579         ])
  1580         AC_MSG_RESULT($enable_input_tslib)
  1581         if test x$enable_input_tslib = xyes; then
  1582             AC_DEFINE(SDL_INPUT_TSLIB)
  1583             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lts"
  1584         fi
  1585     fi
  1586 }
  1587 
  1588 dnl See if we can use GNU pth library for threads
  1589 CheckPTH()
  1590 {
  1591     dnl Check for pth support
  1592     AC_ARG_ENABLE(pth,
  1593 AC_HELP_STRING([--enable-pth], [use GNU pth library for multi-threading [[default=yes]]]),
  1594                   , enable_pth=yes)
  1595     if test x$enable_threads = xyes -a x$enable_pth = xyes; then
  1596         AC_PATH_PROG(PTH_CONFIG, pth-config, no)
  1597         if test "$PTH_CONFIG" = "no"; then
  1598             use_pth=no
  1599         else
  1600             use_pth=yes
  1601         fi
  1602         AC_MSG_CHECKING(pth)
  1603         AC_MSG_RESULT($use_pth)
  1604         if test "x$use_pth" = xyes; then
  1605             AC_DEFINE(SDL_THREAD_PTH)
  1606             SOURCES="$SOURCES $srcdir/src/thread/pth/*.c"
  1607             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syssem.c"
  1608             SDL_CFLAGS="$SDL_CFLAGS `$PTH_CONFIG --cflags`"
  1609             SDL_LIBS="$SDL_LIBS `$PTH_CONFIG --libs --all`"
  1610             have_threads=yes
  1611         fi
  1612     fi
  1613 }
  1614 
  1615 dnl See what type of thread model to use on Linux and Solaris
  1616 CheckPTHREAD()
  1617 {
  1618     dnl Check for pthread support
  1619     AC_ARG_ENABLE(pthreads,
  1620 AC_HELP_STRING([--enable-pthreads], [use POSIX threads for multi-threading [[default=yes]]]),
  1621                   , enable_pthreads=yes)
  1622     dnl This is used on Linux for glibc binary compatibility (Doh!)
  1623     AC_ARG_ENABLE(pthread-sem,
  1624 AC_HELP_STRING([--enable-pthread-sem], [use pthread semaphores [[default=yes]]]),
  1625                   , enable_pthread_sem=yes)
  1626     case "$host" in
  1627         *-*-linux*|*-*-uclinux*)
  1628             pthread_cflags="-D_REENTRANT"
  1629             pthread_lib="-lpthread"
  1630             ;;
  1631         *-*-bsdi*)
  1632             pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1633             pthread_lib=""
  1634             ;;
  1635         *-*-darwin*)
  1636             pthread_cflags="-D_THREAD_SAFE"
  1637 # causes Carbon.p complaints?
  1638 #            pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1639             ;;
  1640         *-*-freebsd*|*-*-dragonfly*)
  1641             pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1642             pthread_lib="-pthread"
  1643             ;;
  1644         *-*-netbsd*)
  1645             pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1646             pthread_lib="-L/usr/lib -lpthread"
  1647             ;;
  1648         *-*-openbsd*)
  1649             pthread_cflags="-D_REENTRANT"
  1650             pthread_lib="-pthread"
  1651             ;;
  1652         *-*-solaris*)
  1653             pthread_cflags="-D_REENTRANT"
  1654             pthread_lib="-lpthread -lposix4"
  1655             ;;
  1656         *-*-sysv5*)
  1657             pthread_cflags="-D_REENTRANT -Kthread"
  1658             pthread_lib=""
  1659             ;;
  1660         *-*-irix*)
  1661             pthread_cflags="-D_SGI_MP_SOURCE"
  1662             pthread_lib="-lpthread"
  1663             ;;
  1664         *-*-aix*)
  1665             pthread_cflags="-D_REENTRANT -mthreads"
  1666             pthread_lib="-lpthread"
  1667             ;;
  1668         *-*-hpux11*)
  1669             pthread_cflags="-D_REENTRANT"
  1670             pthread_lib="-L/usr/lib -lpthread"
  1671             ;;
  1672         *-*-qnx*)
  1673             pthread_cflags=""
  1674             pthread_lib=""
  1675             ;;
  1676         *-*-osf*)
  1677             pthread_cflags="-D_REENTRANT"
  1678             if test x$ac_cv_prog_gcc = xyes; then
  1679                 pthread_lib="-lpthread -lrt"
  1680             else
  1681                 pthread_lib="-lpthread -lexc -lrt"
  1682             fi
  1683             ;;
  1684         *)
  1685             pthread_cflags="-D_REENTRANT"
  1686             pthread_lib="-lpthread"
  1687             ;;
  1688     esac
  1689     if test x$enable_threads = xyes -a x$enable_pthreads = xyes -a x$enable_ipod != xyes; then
  1690         # Save the original compiler flags and libraries
  1691         ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
  1692         # Add the pthread compiler flags and libraries
  1693         CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
  1694         # Check to see if we have pthread support on this system
  1695         AC_MSG_CHECKING(for pthreads)
  1696         use_pthreads=no
  1697         AC_TRY_LINK([
  1698          #include <pthread.h>
  1699         ],[
  1700          pthread_attr_t type;
  1701          pthread_attr_init(&type);
  1702         ],[
  1703         use_pthreads=yes
  1704         ])
  1705         AC_MSG_RESULT($use_pthreads)
  1706         # Restore the compiler flags and libraries
  1707         CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
  1708 
  1709         # Do futher testing if we have pthread support...
  1710         if test x$use_pthreads = xyes; then
  1711             AC_DEFINE(SDL_THREAD_PTHREAD)
  1712             EXTRA_CFLAGS="$EXTRA_CFLAGS $pthread_cflags"
  1713             EXTRA_LDFLAGS="$EXTRA_LDFLAGS $pthread_lib"
  1714             SDL_CFLAGS="$SDL_CFLAGS $pthread_cflags"
  1715             SDL_LIBS="$SDL_LIBS $pthread_lib"
  1716 
  1717             # Save the original compiler flags and libraries
  1718             ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
  1719             # Add the pthread compiler flags and libraries
  1720             CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
  1721 
  1722             # Check to see if recursive mutexes are available
  1723             AC_MSG_CHECKING(for recursive mutexes)
  1724             has_recursive_mutexes=no
  1725             if test x$has_recursive_mutexes = xno; then
  1726                 AC_TRY_COMPILE([
  1727                   #include <pthread.h>
  1728                 ],[
  1729                   pthread_mutexattr_t attr;
  1730                   pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
  1731                 ],[
  1732                 has_recursive_mutexes=yes
  1733                 AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX)
  1734                 ])
  1735             fi
  1736             if test x$has_recursive_mutexes = xno; then
  1737                 AC_TRY_COMPILE([
  1738                   #include <pthread.h>
  1739                 ],[
  1740                   pthread_mutexattr_t attr;
  1741                   pthread_mutexattr_setkind_np(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
  1742                 ],[
  1743                 has_recursive_mutexes=yes
  1744                 AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP)
  1745                 ])
  1746             fi
  1747             AC_MSG_RESULT($has_recursive_mutexes)
  1748 
  1749             # Check to see if pthread semaphore support is missing
  1750             if test x$enable_pthread_sem = xyes; then
  1751                 AC_MSG_CHECKING(for pthread semaphores)
  1752                 have_pthread_sem=no
  1753                 AC_TRY_COMPILE([
  1754                   #include <pthread.h>
  1755                   #include <semaphore.h>
  1756                 ],[
  1757                 ],[
  1758                 have_pthread_sem=yes
  1759                 ])
  1760                 AC_MSG_RESULT($have_pthread_sem)
  1761             fi
  1762 
  1763             # Restore the compiler flags and libraries
  1764             CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
  1765 
  1766             # Basic thread creation functions
  1767             SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_systhread.c"
  1768 
  1769             # Semaphores
  1770             # We can fake these with mutexes and condition variables if necessary
  1771             if test x$have_pthread_sem = xyes; then
  1772                 SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syssem.c"
  1773             else
  1774                 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syssem.c"
  1775             fi
  1776 
  1777             # Mutexes
  1778             # We can fake these with semaphores if necessary
  1779             SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_sysmutex.c"
  1780 
  1781             # Condition variables
  1782             # We can fake these with semaphores and mutexes if necessary
  1783             SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syscond.c"
  1784 
  1785             have_threads=yes
  1786         else
  1787             CheckPTH
  1788         fi
  1789     fi
  1790 }
  1791 
  1792 dnl Determine whether the compiler can produce Win32 executables
  1793 CheckWIN32()
  1794 {
  1795     AC_MSG_CHECKING(Win32 compiler)
  1796     have_win32_gcc=no
  1797     AC_TRY_COMPILE([
  1798      #include <windows.h>
  1799     ],[
  1800     ],[
  1801     have_win32_gcc=yes
  1802     ])
  1803     AC_MSG_RESULT($have_win32_gcc)
  1804     if test x$have_win32_gcc != xyes; then
  1805        AC_MSG_ERROR([
  1806 *** Your compiler ($CC) does not produce Win32 executables!
  1807        ])
  1808     fi
  1809 
  1810     dnl See if the user wants to redirect standard output to files
  1811     AC_ARG_ENABLE(stdio-redirect,
  1812 AC_HELP_STRING([--enable-stdio-redirect], [Redirect STDIO to files on Win32 [[default=yes]]]),
  1813                   , enable_stdio_redirect=yes)
  1814     if test x$enable_stdio_redirect != xyes; then
  1815         EXTRA_CFLAGS="$EXTRA_CFLAGS -DNO_STDIO_REDIRECT"
  1816     fi
  1817 }
  1818 
  1819 dnl Find the DirectX includes and libraries
  1820 CheckDIRECTX()
  1821 {
  1822     AC_ARG_ENABLE(directx,
  1823 AC_HELP_STRING([--enable-directx], [use DirectX for Win32 audio/video [[default=yes]]]),
  1824                   , enable_directx=yes)
  1825     if test x$enable_directx = xyes; then
  1826         AC_CHECK_HEADER(d3d9.h, have_d3d=yes)
  1827         AC_CHECK_HEADER(dsound.h, have_dsound=yes)
  1828         AC_CHECK_HEADER(dinput.h, use_dinput=yes)
  1829     fi
  1830 }
  1831 
  1832 dnl Check for the dlfcn.h interface for dynamically loading objects
  1833 CheckDLOPEN()
  1834 {
  1835     AC_ARG_ENABLE(sdl-dlopen,
  1836 AC_HELP_STRING([--enable-sdl-dlopen], [use dlopen for shared object loading [[default=yes]]]),
  1837                   , enable_sdl_dlopen=yes)
  1838     if test x$enable_sdl_dlopen = xyes; then
  1839         AC_MSG_CHECKING(for dlopen)
  1840         have_dlopen=no
  1841         AC_TRY_COMPILE([
  1842          #include <dlfcn.h>
  1843         ],[
  1844          #if defined(MAC_OS_X_VERSION_MIN_REQUIRED) && MAC_OS_X_VERSION_MIN_REQUIRED <= 1020
  1845          #error Use dlcompat for Mac OS X 10.2 compatibility
  1846          #endif
  1847         ],[
  1848         have_dlopen=yes
  1849         ])
  1850         AC_MSG_RESULT($have_dlopen)
  1851 
  1852         if test x$have_dlopen = xyes; then
  1853             AC_CHECK_LIB(c, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS",
  1854                AC_CHECK_LIB(dl, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ldl",
  1855                   AC_CHECK_LIB(ltdl, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lltdl")))
  1856             AC_CHECK_LIB(dl, dlvsym, have_dlvsym=yes)
  1857             if test x$have_dlvsym = xyes; then
  1858                 AC_DEFINE(HAVE_DLVSYM)
  1859             fi
  1860             AC_DEFINE(SDL_LOADSO_DLOPEN)
  1861             SOURCES="$SOURCES $srcdir/src/loadso/dlopen/*.c"
  1862             have_loadso=yes
  1863         fi
  1864     fi
  1865 }
  1866 
  1867 dnl Set up the Atari LDG (shared object loader)
  1868 CheckAtariLdg()
  1869 {
  1870     AC_ARG_ENABLE(atari-ldg,
  1871 AC_HELP_STRING([--enable-atari-ldg], [use Atari LDG for shared object loading [[default=yes]]]),
  1872                   , enable_atari_ldg=yes)
  1873     if test x$video_gem = xyes -a x$enable_atari_ldg = xyes; then
  1874         AC_CHECK_HEADER(ldg.h, have_ldg_hdr=yes)
  1875         AC_CHECK_LIB(ldg, ldg_open, have_ldg_lib=yes, have_ldg_lib=no, -lgem)
  1876         if test x$have_ldg_hdr = xyes -a x$have_ldg_lib = xyes; then
  1877             AC_DEFINE(SDL_LOADSO_LDG)
  1878             SOURCES="$SOURCES $srcdir/src/loadso/mint/*.c"
  1879             SDL_LIBS="$SDL_LIBS -lldg -lgem"
  1880             have_loadso=yes
  1881         fi
  1882     fi
  1883 }
  1884 
  1885 dnl Check for the usbhid(3) library on *BSD
  1886 CheckUSBHID()
  1887 {
  1888     if test x$enable_joystick = xyes; then
  1889         AC_CHECK_LIB(usbhid, hid_init, have_libusbhid=yes)
  1890         if test x$have_libusbhid = xyes; then
  1891             AC_CHECK_HEADER(usbhid.h, [USB_CFLAGS="-DHAVE_USBHID_H"])
  1892             AC_CHECK_HEADER(libusbhid.h, [USB_CFLAGS="-DHAVE_LIBUSBHID_H"])
  1893             USB_LIBS="$USB_LIBS -lusbhid"
  1894         else
  1895             AC_CHECK_HEADER(usb.h, [USB_CFLAGS="-DHAVE_USB_H"])
  1896             AC_CHECK_HEADER(libusb.h, [USB_CFLAGS="-DHAVE_LIBUSB_H"])
  1897             AC_CHECK_LIB(usb, hid_init, [USB_LIBS="$USB_LIBS -lusb"])
  1898         fi
  1899             
  1900         save_CFLAGS="$CFLAGS"
  1901         CFLAGS="$CFLAGS $USB_CFLAGS"
  1902 
  1903         AC_MSG_CHECKING(for usbhid)
  1904         have_usbhid=no
  1905         AC_TRY_COMPILE([
  1906           #include <sys/types.h>
  1907           #if defined(HAVE_USB_H)
  1908           #include <usb.h>
  1909           #endif
  1910           #ifdef __DragonFly__
  1911           # include <bus/usb/usb.h>
  1912           # include <bus/usb/usbhid.h>
  1913           #else
  1914           # include <dev/usb/usb.h>
  1915           # include <dev/usb/usbhid.h>
  1916           #endif
  1917           #if defined(HAVE_USBHID_H)
  1918           #include <usbhid.h>
  1919           #elif defined(HAVE_LIBUSB_H)
  1920           #include <libusb.h>
  1921           #elif defined(HAVE_LIBUSBHID_H)
  1922           #include <libusbhid.h>
  1923           #endif
  1924         ],[
  1925           struct report_desc *repdesc;
  1926           struct usb_ctl_report *repbuf;
  1927           hid_kind_t hidkind;
  1928         ],[
  1929         have_usbhid=yes
  1930         ])
  1931         AC_MSG_RESULT($have_usbhid)
  1932 
  1933         if test x$have_usbhid = xyes; then
  1934             AC_MSG_CHECKING(for ucr_data member of usb_ctl_report)
  1935             have_usbhid_ucr_data=no
  1936             AC_TRY_COMPILE([
  1937               #include <sys/types.h>
  1938               #if defined(HAVE_USB_H)
  1939               #include <usb.h>
  1940               #endif
  1941               #ifdef __DragonFly__
  1942               # include <bus/usb/usb.h>
  1943               # include <bus/usb/usbhid.h>
  1944               #else
  1945               # include <dev/usb/usb.h>
  1946               # include <dev/usb/usbhid.h>
  1947               #endif
  1948               #if defined(HAVE_USBHID_H)
  1949               #include <usbhid.h>
  1950               #elif defined(HAVE_LIBUSB_H)
  1951               #include <libusb.h>
  1952               #elif defined(HAVE_LIBUSBHID_H)
  1953               #include <libusbhid.h>
  1954               #endif
  1955             ],[
  1956               struct usb_ctl_report buf;
  1957               if (buf.ucr_data) { }
  1958             ],[
  1959             have_usbhid_ucr_data=yes
  1960             ])
  1961             if test x$have_usbhid_ucr_data = xyes; then
  1962                 USB_CFLAGS="$USB_CFLAGS -DUSBHID_UCR_DATA"
  1963             fi
  1964             AC_MSG_RESULT($have_usbhid_ucr_data)
  1965             
  1966             AC_MSG_CHECKING(for new usbhid API)
  1967             have_usbhid_new=no
  1968             AC_TRY_COMPILE([
  1969               #include <sys/types.h>
  1970               #if defined(HAVE_USB_H)
  1971               #include <usb.h>
  1972               #endif
  1973               #include <dev/usb/usb.h>
  1974               #include <dev/usb/usbhid.h>
  1975               #if defined(HAVE_USBHID_H)
  1976               #include <usbhid.h>
  1977               #elif defined(HAVE_LIBUSB_H)
  1978               #include <libusb.h>
  1979               #elif defined(HAVE_LIBUSBHID_H)
  1980               #include <libusbhid.h>
  1981               #endif
  1982             ],[
  1983               report_desc_t d;
  1984               hid_start_parse(d, 1, 1);
  1985             ],[
  1986             have_usbhid_new=yes
  1987             ])
  1988             if test x$have_usbhid_new = xyes; then
  1989                 USB_CFLAGS="$USB_CFLAGS -DUSBHID_NEW"
  1990             fi
  1991             AC_MSG_RESULT($have_usbhid_new)
  1992 
  1993             AC_MSG_CHECKING(for struct joystick in machine/joystick.h)
  1994             have_machine_joystick=no
  1995             AC_TRY_COMPILE([
  1996               #include <machine/joystick.h>
  1997             ],[
  1998               struct joystick t;
  1999             ],[
  2000             have_machine_joystick=yes
  2001             ])
  2002             if test x$have_machine_joystick = xyes; then
  2003                 AC_DEFINE(SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H)
  2004             fi
  2005             AC_MSG_RESULT($have_machine_joystick)
  2006 
  2007             AC_DEFINE(SDL_JOYSTICK_USBHID)
  2008             SOURCES="$SOURCES $srcdir/src/joystick/bsd/*.c"
  2009             EXTRA_CFLAGS="$EXTRA_CFLAGS $USB_CFLAGS"
  2010             EXTRA_LDFLAGS="$EXTRA_LDFLAGS $USB_LIBS"
  2011             have_joystick=yes
  2012         fi
  2013         CFLAGS="$save_CFLAGS"
  2014     fi
  2015 }
  2016 
  2017 dnl Check for clock_gettime()
  2018 CheckClockGettime()
  2019 {
  2020     AC_ARG_ENABLE(clock_gettime,
  2021 AC_HELP_STRING([--enable-clock_gettime], [use clock_gettime() instead of gettimeofday() on UNIX [[default=no]]]),
  2022                   , enable_clock_gettime=no)
  2023     if test x$enable_clock_gettime = xyes; then
  2024         AC_CHECK_LIB(rt, clock_gettime, have_clock_gettime=yes)
  2025         if test x$have_clock_gettime = xyes; then
  2026             AC_DEFINE(HAVE_CLOCK_GETTIME)
  2027             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lrt"
  2028         fi
  2029     fi
  2030 }
  2031 
  2032 dnl Check for a valid linux/version.h
  2033 CheckLinuxVersion()
  2034 {
  2035     AC_CHECK_HEADER(linux/version.h, have_linux_version_h=yes)
  2036     if test x$have_linux_version_h = xyes; then
  2037         EXTRA_CFLAGS="$EXTRA_CFLAGS -DHAVE_LINUX_VERSION_H"
  2038     fi
  2039 }
  2040 
  2041 dnl Check if we want to use RPATH
  2042 CheckRPATH()
  2043 {
  2044     AC_ARG_ENABLE(rpath,
  2045 AC_HELP_STRING([--enable-rpath], [use an rpath when linking SDL [[default=yes]]]),
  2046                   , enable_rpath=yes)
  2047 }
  2048 
  2049 dnl Set up the configuration based on the host platform!
  2050 case "$host" in
  2051     arm-*-elf*) # FIXME: Can we get more specific for iPodLinux?
  2052         ARCH=linux
  2053         CheckDummyVideo
  2054         CheckIPod
  2055         # Set up files for the timer library
  2056         if test x$enable_timers = xyes; then
  2057             AC_DEFINE(SDL_TIMER_UNIX)
  2058             SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  2059             have_timers=yes
  2060         fi
  2061         ;;
  2062     *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-irix*|*-*-aix*|*-*-osf*)
  2063         case "$host" in
  2064             *-*-linux*)         ARCH=linux ;;
  2065             *-*-uclinux*)       ARCH=linux ;;
  2066             *-*-kfreebsd*-gnu)  ARCH=kfreebsd-gnu ;;
  2067             *-*-knetbsd*-gnu)   ARCH=knetbsd-gnu ;;
  2068             *-*-kopenbsd*-gnu)  ARCH=kopenbsd-gnu ;;
  2069             *-*-gnu*)           ARCH=gnu ;; # must be last of the gnu variants
  2070             *-*-bsdi*)          ARCH=bsdi ;;
  2071             *-*-freebsd*)       ARCH=freebsd ;;
  2072             *-*-dragonfly*)     ARCH=freebsd ;;
  2073             *-*-netbsd*)        ARCH=netbsd ;;
  2074             *-*-openbsd*)       ARCH=openbsd ;;
  2075             *-*-sysv5*)         ARCH=sysv5 ;;
  2076             *-*-solaris*)       ARCH=solaris ;;
  2077             *-*-hpux*)          ARCH=hpux ;;
  2078             *-*-irix*)          ARCH=irix ;;
  2079             *-*-aix*)           ARCH=aix ;;
  2080             *-*-osf*)           ARCH=osf ;;
  2081         esac
  2082         CheckVisibilityHidden
  2083         CheckDummyVideo
  2084         CheckDiskAudio
  2085         CheckDummyAudio
  2086         CheckDLOPEN
  2087         CheckNASM
  2088         CheckAltivec
  2089         CheckOSS
  2090         CheckDMEDIA
  2091         CheckMME
  2092         CheckALSA
  2093         CheckARTSC
  2094         CheckESD
  2095         CheckNAS
  2096         CheckX11
  2097         CheckNANOX
  2098         CheckFBCON
  2099         CheckDirectFB
  2100         CheckPS2GS
  2101         CheckGGI
  2102         CheckSVGA
  2103         CheckVGL
  2104         CheckWscons
  2105         CheckAAlib
  2106         CheckQtopia
  2107         CheckPicoGUI
  2108         CheckOpenGLX11
  2109         CheckglSDL
  2110         CheckInputEvents
  2111         CheckTslib
  2112         CheckUSBHID
  2113         CheckPTHREAD
  2114         CheckClockGettime
  2115         CheckLinuxVersion
  2116         CheckRPATH
  2117         # Set up files for the audio library
  2118         if test x$enable_audio = xyes; then
  2119           case $ARCH in
  2120             sysv5|solaris|hpux)
  2121                 AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO)
  2122                 SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
  2123                 have_audio=yes
  2124             ;;
  2125             netbsd|openbsd)
  2126                 AC_DEFINE(SDL_AUDIO_DRIVER_BSD)
  2127                 SOURCES="$SOURCES $srcdir/src/audio/bsd/*.c"
  2128                 have_audio=yes
  2129             ;;
  2130             aix)
  2131                 AC_DEFINE(SDL_AUDIO_DRIVER_PAUD)
  2132                 SOURCES="$SOURCES $srcdir/src/audio/paudio/*.c"
  2133                 have_audio=yes
  2134             ;;
  2135           esac
  2136         fi
  2137         # Set up files for the joystick library
  2138         if test x$enable_joystick = xyes; then
  2139           case $ARCH in
  2140             linux)
  2141                 AC_DEFINE(SDL_JOYSTICK_LINUX)
  2142                 SOURCES="$SOURCES $srcdir/src/joystick/linux/*.c"
  2143                 have_joystick=yes
  2144             ;;
  2145           esac
  2146         fi
  2147         # Set up files for the cdrom library
  2148         if test x$enable_cdrom = xyes; then
  2149           case $ARCH in
  2150             linux|solaris)
  2151                 AC_DEFINE(SDL_CDROM_LINUX)
  2152                 SOURCES="$SOURCES $srcdir/src/cdrom/linux/*.c"
  2153                 have_cdrom=yes
  2154             ;;
  2155             *freebsd*)
  2156                 AC_DEFINE(SDL_CDROM_FREEBSD)
  2157                 SOURCES="$SOURCES $srcdir/src/cdrom/freebsd/*.c"
  2158                 have_cdrom=yes
  2159             ;;
  2160             *openbsd*|*netbsd*)
  2161                 AC_DEFINE(SDL_CDROM_OPENBSD)
  2162                 SOURCES="$SOURCES $srcdir/src/cdrom/openbsd/*.c"
  2163                 have_cdrom=yes
  2164             ;;
  2165             bsdi)
  2166                 AC_DEFINE(SDL_CDROM_BSDI)
  2167                 SOURCES="$SOURCES $srcdir/src/cdrom/bsdi/*.c"
  2168                 have_cdrom=yes
  2169             ;;
  2170             aix)
  2171                 AC_DEFINE(SDL_CDROM_AIX)
  2172                 SOURCES="$SOURCES $srcdir/src/cdrom/aix/*.c"
  2173                 have_cdrom=yes
  2174             ;;
  2175             osf)
  2176                 AC_DEFINE(SDL_CDROM_OSF)
  2177                 SOURCES="$SOURCES $srcdir/src/cdrom/osf/*.c"
  2178                 have_cdrom=yes
  2179             ;;
  2180           esac
  2181         fi
  2182         # Set up files for the thread library
  2183         if test x$enable_threads = xyes -a x$use_pthreads != xyes -a x$use_pth != xyes -a x$ARCH = xirix; then
  2184             AC_DEFINE(SDL_THREAD_SPROC)
  2185             SOURCES="$SOURCES $srcdir/src/thread/irix/*.c"
  2186             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c"
  2187             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
  2188             have_threads=yes
  2189         fi
  2190         # Set up files for the timer library
  2191         if test x$enable_timers = xyes; then
  2192             AC_DEFINE(SDL_TIMER_UNIX)
  2193             SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  2194             have_timers=yes
  2195         fi
  2196         ;;
  2197     *-*-qnx*)
  2198         ARCH=qnx
  2199         CheckDummyVideo
  2200         CheckDiskAudio
  2201         CheckDummyAudio
  2202         # CheckNASM
  2203         CheckDLOPEN
  2204         CheckNAS
  2205         CheckPHOTON
  2206         CheckX11
  2207         CheckOpenGLX11
  2208         CheckglSDL
  2209         CheckPTHREAD
  2210         # Set up files for the audio library
  2211         if test x$enable_audio = xyes; then
  2212             AC_DEFINE(SDL_AUDIO_DRIVER_QNXNTO)
  2213             SOURCES="$SOURCES $srcdir/src/audio/nto/*.c"
  2214             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lasound"
  2215             have_audio=yes
  2216         fi
  2217         # Set up files for the cdrom library
  2218         if test x$enable_cdrom = xyes; then
  2219             AC_DEFINE(SDL_CDROM_QNX)
  2220             SOURCES="$SOURCES $srcdir/src/cdrom/qnx/*.c"
  2221             have_cdrom=yes
  2222         fi
  2223         # Set up files for the timer library
  2224         if test x$enable_timers = xyes; then
  2225             AC_DEFINE(SDL_TIMER_UNIX)
  2226             SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  2227             have_timers=yes
  2228         fi
  2229         ;;
  2230     *-*-cygwin* | *-*-mingw32*)
  2231         ARCH=win32
  2232         if test "$build" != "$host"; then # cross-compiling
  2233             # Default cross-compile location
  2234             ac_default_prefix=/usr/local/cross-tools/i386-mingw32msvc
  2235         else
  2236             # Look for the location of the tools and install there
  2237             if test "$BUILD_PREFIX" != ""; then
  2238                 ac_default_prefix=$BUILD_PREFIX
  2239             fi
  2240         fi
  2241         CheckDummyVideo
  2242         CheckDiskAudio
  2243         CheckDummyAudio
  2244         CheckWIN32
  2245         CheckWIN32GL
  2246         CheckglSDL
  2247         CheckDIRECTX
  2248         CheckNASM
  2249         # Set up files for the video library
  2250         if test x$enable_video = xyes; then
  2251             AC_DEFINE(SDL_VIDEO_DRIVER_WIN32)
  2252             SOURCES="$SOURCES $srcdir/src/video/win32/*.c"
  2253             have_video=yes
  2254             AC_ARG_ENABLE(render-gdi,
  2255 AC_HELP_STRING([--enable-render-gdi], [enable the GDI render driver [[default=yes]]]),
  2256                                 , enable_render_gdi=yes)
  2257             if test x$enable_render_gdi = xyes; then
  2258                 AC_DEFINE(SDL_VIDEO_RENDER_GDI)
  2259             fi
  2260             AC_ARG_ENABLE(render-d3d,
  2261 AC_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[default=yes]]]),
  2262                                 , enable_render_d3d=yes)
  2263             if test x$enable_render_d3d = xyes -a x$have_d3d = xyes; then
  2264                 AC_DEFINE(SDL_VIDEO_RENDER_D3D)
  2265             fi
  2266         fi
  2267         # Set up files for the audio library
  2268         if test x$enable_audio = xyes; then
  2269             AC_DEFINE(SDL_AUDIO_DRIVER_WAVEOUT)
  2270             SOURCES="$SOURCES $srcdir/src/audio/windib/*.c"
  2271             if test x$have_dsound = xyes; then
  2272                 AC_DEFINE(SDL_AUDIO_DRIVER_DSOUND)
  2273                 SOURCES="$SOURCES $srcdir/src/audio/windx5/*.c"
  2274             fi
  2275             have_audio=yes
  2276         fi
  2277         # Set up files for the joystick library
  2278         if test x$enable_joystick = xyes; then
  2279             if test x$have_dinput = xyes; then
  2280                 AC_DEFINE(SDL_JOYSTICK_DINPUT)
  2281                 SOURCES="$SOURCES $srcdir/src/joystick/win32/SDL_dxjoystick.c"
  2282             else
  2283                 AC_DEFINE(SDL_JOYSTICK_WINMM)
  2284                 SOURCES="$SOURCES $srcdir/src/joystick/win32/SDL_mmjoystick.c"
  2285             fi
  2286             have_joystick=yes
  2287         fi
  2288         # Set up files for the cdrom library
  2289         if test x$enable_cdrom = xyes; then
  2290             AC_DEFINE(SDL_CDROM_WIN32)
  2291             SOURCES="$SOURCES $srcdir/src/cdrom/win32/*.c"
  2292             have_cdrom=yes
  2293         fi
  2294         # Set up files for the thread library
  2295         if test x$enable_threads = xyes; then
  2296             AC_DEFINE(SDL_THREAD_WIN32)
  2297             SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_sysmutex.c"
  2298             SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_syssem.c"
  2299             SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_systhread.c"
  2300             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
  2301             have_threads=yes
  2302         fi
  2303         # Set up files for the timer library
  2304         if test x$enable_timers = xyes; then
  2305             AC_DEFINE(SDL_TIMER_WIN32)
  2306             SOURCES="$SOURCES $srcdir/src/timer/win32/*.c"
  2307             have_timers=yes
  2308         fi
  2309         # Set up files for the shared object loading library
  2310         if test x$enable_loadso = xyes; then
  2311             AC_DEFINE(SDL_LOADSO_WIN32)
  2312             SOURCES="$SOURCES $srcdir/src/loadso/win32/*.c"
  2313             have_loadso=yes
  2314         fi
  2315         # Set up the system libraries we need
  2316         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -luser32 -lgdi32 -lmsimg32 -lwinmm"
  2317         # The Win32 platform requires special setup
  2318         SDLMAIN_SOURCES="$srcdir/src/main/win32/*.c"
  2319         SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
  2320         SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows"
  2321         ;;
  2322     *-*-beos*)
  2323         ARCH=beos
  2324         ac_default_prefix=/boot/develop/tools/gnupro
  2325         CheckDummyVideo
  2326         CheckDiskAudio
  2327         CheckDummyAudio
  2328         CheckNASM
  2329         CheckBWINDOW
  2330         CheckBeGL
  2331         CheckglSDL
  2332         # Set up files for the audio library
  2333         if test x$enable_audio = xyes; then
  2334             AC_DEFINE(SDL_AUDIO_DRIVER_BAUDIO)
  2335             SOURCES="$SOURCES $srcdir/src/audio/baudio/*.cc"
  2336             have_audio=yes
  2337         fi
  2338         # Set up files for the joystick library
  2339         if test x$enable_joystick = xyes; then
  2340             AC_DEFINE(SDL_JOYSTICK_BEOS)
  2341             SOURCES="$SOURCES $srcdir/src/joystick/beos/*.cc"
  2342             have_joystick=yes
  2343         fi
  2344         # Set up files for the cdrom library
  2345         if test x$enable_cdrom = xyes; then
  2346             AC_DEFINE(SDL_CDROM_BEOS)
  2347             SOURCES="$SOURCES $srcdir/src/cdrom/beos/*.cc"
  2348             have_cdrom=yes
  2349         fi
  2350         # Set up files for the thread library
  2351         if test x$enable_threads = xyes; then
  2352             AC_DEFINE(SDL_THREAD_BEOS)
  2353             SOURCES="$SOURCES $srcdir/src/thread/beos/*.c"
  2354             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c"
  2355             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
  2356             have_threads=yes
  2357         fi
  2358         # Set up files for the timer library
  2359         if test x$enable_timers = xyes; then
  2360             AC_DEFINE(SDL_TIMER_BEOS)
  2361             SOURCES="$SOURCES $srcdir/src/timer/beos/*.c"
  2362             have_timers=yes
  2363         fi
  2364         # Set up files for the shared object loading library
  2365         if test x$enable_loadso = xyes; then
  2366             AC_DEFINE(SDL_LOADSO_BEOS)
  2367             SOURCES="$SOURCES $srcdir/src/loadso/beos/*.c"
  2368             have_loadso=yes
  2369         fi
  2370         # The BeOS platform requires special setup.
  2371         SOURCES="$srcdir/src/main/beos/*.cc $SOURCES"
  2372         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding"
  2373         ;;
  2374     *-*-darwin* )
  2375         # This could be either full "Mac OS X", or plain "Darwin" which is
  2376         # just the OS X kernel sans upper layers like Carbon and Cocoa.
  2377         # Next line is broken, and a few files below require Mac OS X (full)
  2378         ARCH=macosx
  2379 
  2380         # Mac OS X builds with both the Carbon and OSX APIs at the moment
  2381         EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_CARBON"
  2382         EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_OSX"
  2383 
  2384         # HACK: Reset EXTRA_LDFLAGS; the only thing it contains at this point
  2385         # is -lm which is not needed under Mac OS X. But for some reasons it
  2386         # also tends to contain spurious -L switches, which we don't want to
  2387         # use here or in sdl-config. Hence we reset it.
  2388         EXTRA_LDFLAGS=""
  2389 
  2390         CheckVisibilityHidden
  2391         CheckDummyVideo
  2392         CheckDiskAudio
  2393         CheckDummyAudio
  2394         CheckDLOPEN
  2395 
  2396         # Temporarily disabled:
  2397         # ld: mmxp2_32.o has external relocation entries in non-writable section (__TEXT,__text) for symbols: _mmxreturn
  2398         #CheckNASM
  2399 
  2400         # Set up files for the shared object loading library
  2401         # (this needs to be done before the dynamic X11 check)
  2402         if test x$enable_loadso = xyes -a x$have_dlopen != xyes; then
  2403             AC_DEFINE(SDL_LOADSO_DLCOMPAT)
  2404             SOURCES="$SOURCES $srcdir/src/loadso/macosx/*.c"
  2405             have_loadso=yes
  2406         fi
  2407 
  2408         CheckCOCOA
  2409         CheckX11
  2410         CheckMacGL
  2411         CheckOpenGLX11
  2412         CheckglSDL
  2413         CheckPTHREAD
  2414         CheckAltivec
  2415 
  2416         # Need this or things might misbuild on a G3.
  2417         EXTRA_CFLAGS="$EXTRA_CFLAGS -force_cpusubtype_ALL"
  2418 
  2419         # Set up files for the audio library
  2420         if test x$enable_audio = xyes; then
  2421             AC_DEFINE(SDL_AUDIO_DRIVER_COREAUDIO)
  2422             SOURCES="$SOURCES $srcdir/src/audio/macosx/*.c"
  2423             AC_DEFINE(SDL_AUDIO_DRIVER_SNDMGR)
  2424             SOURCES="$SOURCES $srcdir/src/audio/macrom/*.c"
  2425             have_audio=yes
  2426         fi
  2427         # Set up files for the joystick library
  2428         if test x$enable_joystick = xyes; then
  2429             AC_DEFINE(SDL_JOYSTICK_IOKIT)
  2430             SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c"
  2431             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit"
  2432             have_joystick=yes
  2433         fi
  2434         # Set up files for the cdrom library
  2435         if test x$enable_cdrom = xyes; then
  2436             AC_DEFINE(SDL_CDROM_MACOSX)
  2437             SOURCES="$SOURCES $srcdir/src/cdrom/macosx/*.c"
  2438             have_cdrom=yes
  2439         fi
  2440         # Set up files for the timer library
  2441         if test x$enable_timers = xyes; then
  2442             AC_DEFINE(SDL_TIMER_UNIX)
  2443             SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  2444             have_timers=yes
  2445         fi
  2446         # The Mac OS X platform requires special setup.
  2447         EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"
  2448         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Cocoa"
  2449         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Carbon"
  2450         # If either the audio or CD driver is used, add the AudioUnit framework
  2451         if test x$enable_audio = xyes -o x$enable_cdrom = xyes; then
  2452             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit"
  2453         fi
  2454         ;;
  2455     *-*-mint*)
  2456         ARCH=mint
  2457         CheckDummyVideo
  2458         CheckDiskAudio
  2459         CheckDummyAudio
  2460         CheckAtariBiosEvent
  2461         CheckAtariXbiosVideo
  2462         CheckAtariGemVideo
  2463         CheckAtariAudio
  2464         CheckAtariLdg
  2465         CheckAtariOSMesa
  2466         CheckglSDL
  2467         CheckPTH
  2468         # Set up files for the audio library
  2469         if test x$enable_threads = xyes -a x$enable_pth = xyes; then
  2470             if test x$enable_audio = xyes; then
  2471                 AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO)
  2472                 SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
  2473                 have_audio=yes
  2474             fi
  2475         fi
  2476         # Set up files for the joystick library
  2477         if test x$enable_joystick = xyes; then
  2478             AC_DEFINE(SDL_JOYSTICK_MINT)
  2479             SOURCES="$SOURCES $srcdir/src/joystick/mint/*.c"
  2480             have_joystick=yes
  2481         fi
  2482         # Set up files for the cdrom library
  2483         if test x$enable_cdrom = xyes; then
  2484             AC_DEFINE(SDL_CDROM_MINT)
  2485             SOURCES="$SOURCES $srcdir/src/cdrom/mint/*.c"
  2486             have_cdrom=yes
  2487         fi
  2488         # Set up files for the timer library
  2489         if test x$enable_timers = xyes; then
  2490             if test x$enable_threads = xyes -a x$enable_pth = xyes; then
  2491                 AC_DEFINE(SDL_TIMER_UNIX)
  2492                 SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  2493             else
  2494                 AC_DEFINE(SDL_TIMER_MINT)
  2495                 SOURCES="$SOURCES $srcdir/src/timer/mint/*.c"
  2496                 SOURCES="$SOURCES $srcdir/src/timer/mint/*.S"
  2497             fi
  2498             have_timers=yes
  2499         fi
  2500         ;;
  2501     *-riscos)
  2502         ARCH=riscos
  2503         CheckOSS
  2504         CheckPTHREAD
  2505         # Set up files for the video library
  2506         if test x$enable_video = xyes; then
  2507             AC_DEFINE(SDL_VIDEO_DRIVER_RISCOS)
  2508             SOURCES="$SOURCES $srcdir/src/video/riscos/*.c"
  2509             SOURCES="$SOURCES $srcdir/src/video/riscos/*.S"
  2510             have_video=yes
  2511         fi
  2512         # Set up files for the joystick library
  2513         if test x$enable_joystick = xyes; then
  2514             AC_DEFINE(SDL_JOYSTICK_RISCOS)
  2515             SOURCES="$SOURCES $srcdir/src/joystick/riscos/*.c"
  2516             have_joystick=yes
  2517         fi
  2518         # Set up files for the timer library
  2519         if test x$enable_timers = xyes; then
  2520             AC_DEFINE(SDL_TIMER_RISCOS)
  2521             SOURCES="$SOURCES $srcdir/src/timer/riscos/*.c"
  2522             have_timers=yes
  2523         fi
  2524         # The RISC OS platform requires special setup.
  2525         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ljpeg -ltiff -lpng -lz"
  2526         ;;
  2527     *)
  2528         AC_MSG_ERROR([
  2529 *** Unsupported host:  Please add to configure.in
  2530         ])
  2531         ;;
  2532 esac
  2533 
  2534 # Verify that we have all the platform specific files we need
  2535 if test x$have_joystick != xyes; then
  2536     if test x$enable_joystick = xyes; then
  2537         AC_DEFINE(SDL_JOYSTICK_DISABLED)
  2538     fi
  2539     SOURCES="$SOURCES $srcdir/src/joystick/dummy/*.c"
  2540 fi
  2541 if test x$have_cdrom != xyes; then
  2542     if test x$enable_cdrom = xyes; then
  2543         AC_DEFINE(SDL_CDROM_DISABLED)
  2544     fi
  2545     SOURCES="$SOURCES $srcdir/src/cdrom/dummy/*.c"
  2546 fi
  2547 if test x$have_threads != xyes; then
  2548     if test x$enable_threads = xyes; then
  2549         AC_DEFINE(SDL_THREADS_DISABLED)
  2550     fi
  2551     SOURCES="$SOURCES $srcdir/src/thread/generic/*.c"
  2552 fi
  2553 if test x$have_timers != xyes; then
  2554     if test x$enable_timers = xyes; then
  2555         AC_DEFINE(SDL_TIMERS_DISABLED)
  2556     fi
  2557     SOURCES="$SOURCES $srcdir/src/timer/dummy/*.c"
  2558 fi
  2559 if test x$have_loadso != xyes; then
  2560     if test x$enable_loadso = xyes; then
  2561         AC_DEFINE(SDL_LOADSO_DISABLED)
  2562     fi
  2563     SOURCES="$SOURCES $srcdir/src/loadso/dummy/*.c"
  2564 fi
  2565 if test x$SDLMAIN_SOURCES = x; then
  2566     SDLMAIN_SOURCES="$srcdir/src/main/dummy/*.c"
  2567 fi
  2568 
  2569 OBJECTS=`echo $SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.asm,$(objects)/\1.lo,g'`
  2570 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.lo,g'`
  2571 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.m,$(objects)/\1.lo,g'`
  2572 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
  2573 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.S,$(objects)/\1.lo,g'`
  2574 
  2575 SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.o,g'`
  2576 SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'`
  2577 
  2578 # Set runtime shared library paths as needed
  2579 
  2580 if test "x$enable_rpath" = "xyes"; then
  2581   if test $ARCH = bsdi -o $ARCH = freebsd -o $ARCH = irix -o $ARCH = linux -o $ARCH = netbsd; then
  2582     SDL_RLD_FLAGS="-Wl,-rpath,\${exec_prefix}/lib"
  2583   fi
  2584   if test $ARCH = solaris; then
  2585     SDL_RLD_FLAGS="-R\${exec_prefix}/lib"
  2586   fi
  2587 else
  2588   SDL_RLD_FLAGS=""
  2589 fi
  2590 
  2591 case "$ARCH" in
  2592   macosx)
  2593     # Evil hack to allow static linking on Mac OS X
  2594     SDL_STATIC_LIBS="\${exec_prefix}/lib/libSDL.a $EXTRA_LDFLAGS"
  2595     ;;
  2596   *)
  2597     SDL_STATIC_LIBS="$SDL_LIBS"
  2598     ;;
  2599 esac
  2600 
  2601 dnl Expand the cflags and libraries needed by apps using SDL
  2602 AC_SUBST(SDL_CFLAGS)
  2603 AC_SUBST(SDL_LIBS)
  2604 AC_SUBST(SDL_STATIC_LIBS)
  2605 AC_SUBST(SDL_RLD_FLAGS)
  2606 if test x$enable_shared = xyes; then
  2607     ENABLE_SHARED_TRUE=
  2608     ENABLE_SHARED_FALSE="#"
  2609 else
  2610     ENABLE_SHARED_TRUE="#"
  2611     ENABLE_SHARED_FALSE=
  2612 fi
  2613 if test x$enable_static = xyes; then
  2614     ENABLE_STATIC_TRUE=
  2615     ENABLE_STATIC_FALSE="#"
  2616 else
  2617     ENABLE_STATIC_TRUE="#"
  2618     ENABLE_STATIC_FALSE=
  2619 fi
  2620 AC_SUBST(ENABLE_SHARED_TRUE)
  2621 AC_SUBST(ENABLE_SHARED_FALSE)
  2622 AC_SUBST(ENABLE_STATIC_TRUE)
  2623 AC_SUBST(ENABLE_STATIC_FALSE)
  2624 
  2625 dnl Expand the sources and objects needed to build the library
  2626 AC_SUBST(ac_aux_dir)
  2627 AC_SUBST(INCLUDE)
  2628 AC_SUBST(SOURCES)
  2629 AC_SUBST(OBJECTS)
  2630 AC_SUBST(SDLMAIN_SOURCES)
  2631 AC_SUBST(SDLMAIN_OBJECTS)
  2632 AC_SUBST(BUILD_CFLAGS)
  2633 AC_SUBST(EXTRA_CFLAGS)
  2634 AC_SUBST(BUILD_LDFLAGS)
  2635 AC_SUBST(EXTRA_LDFLAGS)
  2636 
  2637 AC_OUTPUT([
  2638     Makefile sdl-config SDL.spec SDL.qpg sdl.pc
  2639 ], [
  2640     : >build-deps
  2641     if test x"$MAKE" = x; then MAKE=make; fi; $MAKE depend
  2642 ])