configure.in
author Sam Lantinga
Sun, 23 Jul 2006 09:11:10 +0000
changeset 1931 103c6fec2a60
parent 1910 c26194009c9c
child 1939 37a7580357d1
permissions -rw-r--r--
The Mac OS X Cocoa video driver is under construction...
Note that SDLmain is no longer necessary on Mac OS X. :)
     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(dga,
   915 AC_HELP_STRING([--enable-dga], [allow use of X11 DGA code [[default=yes]]]),
   916                           , enable_dga=yes)
   917             if test x$enable_dga = xyes; then
   918                 SOURCES="$SOURCES $srcdir/src/video/Xext/Xxf86dga/*.c"
   919             fi
   920             AC_ARG_ENABLE(video-dga,
   921 AC_HELP_STRING([--enable-video-dga], [use DGA 2.0 video driver [[default=yes]]]),
   922                   , enable_video_dga=yes)
   923             if test x$enable_dga = xyes -a x$enable_video_dga = xyes; then
   924                 AC_DEFINE(SDL_VIDEO_DRIVER_DGA)
   925                 SOURCES="$SOURCES $srcdir/src/video/dga/*.c"
   926             fi
   927             AC_ARG_ENABLE(video-x11-dgamouse,
   928 AC_HELP_STRING([--enable-video-x11-dgamouse], [use X11 DGA for mouse events [[default=yes]]]),
   929                           , enable_video_x11_dgamouse=yes)
   930             if test x$enable_dga = xyes -a x$enable_video_x11_dgamouse = xyes; then
   931                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_DGAMOUSE)
   932             fi
   933             AC_ARG_ENABLE(video-x11-vm,
   934 AC_HELP_STRING([--enable-video-x11-vm], [use X11 VM extension for fullscreen [[default=yes]]]),
   935                           , enable_video_x11_vm=yes)
   936             if test x$enable_video_x11_vm = xyes; then
   937                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_VIDMODE)
   938                 SOURCES="$SOURCES $srcdir/src/video/Xext/Xxf86vm/*.c"
   939             fi
   940             AC_ARG_ENABLE(video-x11-xv,
   941 AC_HELP_STRING([--enable-video-x11-xv], [use X11 XvImage extension for video [[default=yes]]]),
   942                           , enable_video_x11_xv=yes)
   943             if test x$enable_video_x11_xv = xyes; then
   944                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XV)
   945                 SOURCES="$SOURCES $srcdir/src/video/Xext/Xv/*.c"
   946             fi
   947             AC_ARG_ENABLE(video-x11-xinerama,
   948 AC_HELP_STRING([--enable-video-x11-xinerama], [enable X11 Xinerama support [[default=yes]]]),
   949                             , enable_video_x11_xinerama=yes)
   950             if test x$enable_video_x11_xinerama = xyes; then
   951                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XINERAMA)
   952                 SOURCES="$SOURCES $srcdir/src/video/Xext/Xinerama/*.c"
   953             fi
   954             AC_ARG_ENABLE(video-x11-xme,
   955 AC_HELP_STRING([--enable-video-x11-xme], [enable Xi Graphics XME for fullscreen [[default=yes]]]),
   956                             , enable_video_x11_xme=yes)
   957             if test x$enable_video_x11_xme = xyes; then
   958                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XME)
   959                 SOURCES="$SOURCES $srcdir/src/video/Xext/XME/*.c"
   960             fi
   961             AC_ARG_ENABLE(video-x11-xrandr,
   962 AC_HELP_STRING([--enable-video-x11-xrandr], [enable X11 Xrandr extension for fullscreen [[default=yes]]]),
   963                             , enable_video_x11_xrandr=yes)
   964             if test x$enable_video_x11_xrandr = xyes; then
   965                 definitely_enable_video_x11_xrandr=no
   966                 AC_CHECK_HEADER(X11/extensions/Xrandr.h,
   967                                 have_xrandr_h_hdr=yes,
   968                                 have_xrandr_h_hdr=no,
   969                                 [#include <X11/Xlib.h>
   970                                 ])
   971                 if test x$have_xrandr_h_hdr = xyes; then
   972                     if test x$enable_x11_shared = xyes && test x$xrandr_lib != x ; then
   973                         echo "-- dynamic libXrender -> $xrender_lib"
   974                         echo "-- dynamic libXrandr -> $xrandr_lib"
   975                         AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER, "$xrender_lib")
   976                         AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR, "$xrandr_lib")
   977                         definitely_enable_video_x11_xrandr=yes
   978                     else
   979                         AC_CHECK_LIB(Xrender, XRenderQueryExtension, have_xrender_lib=yes)
   980                         AC_CHECK_LIB(Xrandr, XRRQueryExtension, have_xrandr_lib=yes)
   981                         if test x$have_xrender_lib = xyes && test x$have_xrandr_lib = xyes ; then
   982                             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXrandr -lXrender"
   983                             definitely_enable_video_x11_xrandr=yes
   984                         fi
   985                     fi
   986                 fi
   987             fi
   988             if test x$definitely_enable_video_x11_xrandr = xyes; then
   989                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XRANDR)
   990             fi
   991             AC_ARG_ENABLE(video-x11-dpms,
   992 AC_HELP_STRING([--enable-video-x11-dpms], [enable X11 DPMS extension [[default=yes]]]),
   993                             , enable_video_x11_dpms=yes)
   994             if test x$enable_video_x11_dpms = xyes; then
   995                 AC_CHECK_HEADER(X11/extensions/dpms.h,
   996                                 have_dpms_h_hdr=yes,
   997                                 have_dpms_h_hdr=no,
   998                                 [#include <X11/Xlib.h>
   999                                 ])
  1000                 if test x$have_dpms_h_hdr = xyes; then
  1001                     AC_DEFINE(SDL_VIDEO_DRIVER_X11_DPMS)
  1002                 fi
  1003             fi
  1004         fi
  1005     fi
  1006 }
  1007 
  1008 dnl Check for QNX photon video driver
  1009 CheckPHOTON()
  1010 {
  1011     AC_ARG_ENABLE(video-photon,
  1012 AC_HELP_STRING([--enable-video-photon], [use QNX Photon video driver [[default=yes]]]),
  1013                   , enable_video_photon=yes)
  1014     if test x$enable_video = xyes -a x$enable_video_photon = xyes; then
  1015         AC_MSG_CHECKING(for QNX Photon support)
  1016         video_photon=no
  1017         AC_TRY_COMPILE([
  1018           #include <Ph.h>
  1019           #include <Pt.h>
  1020           #include <photon/Pg.h>
  1021           #include <photon/PdDirect.h>
  1022         ],[
  1023          PgDisplaySettings_t *visual;
  1024         ],[
  1025         video_photon=yes
  1026         ])
  1027         AC_MSG_RESULT($video_photon)
  1028         if test x$video_photon = xyes; then
  1029             AC_DEFINE(SDL_VIDEO_DRIVER_PHOTON)
  1030             SOURCES="$SOURCES $srcdir/src/video/photon/*.c"
  1031             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lph"
  1032             have_video=yes
  1033 
  1034             CheckOpenGLQNX
  1035         fi
  1036     fi
  1037 }
  1038 
  1039 dnl Set up the BWindow video driver if enabled
  1040 CheckBWINDOW()
  1041 {
  1042     if test x$enable_video = xyes; then
  1043         AC_DEFINE(SDL_VIDEO_DRIVER_BWINDOW)
  1044         SOURCES="$SOURCES $srcdir/src/video/bwindow/*.cc"
  1045         have_video=yes
  1046     fi
  1047 }
  1048 
  1049 dnl Set up the Cocoa video driver for Mac OS X (but not Darwin)
  1050 CheckCOCOA()
  1051 {
  1052     AC_ARG_ENABLE(video-cocoa,
  1053 AC_HELP_STRING([--enable-video-cocoa], [use Cocoa video driver [[default=yes]]]),
  1054                   , enable_video_cocoa=yes)
  1055     if test x$enable_video = xyes -a x$enable_video_cocoa = xyes; then
  1056         save_CFLAGS="$CFLAGS"
  1057         dnl work around that we don't have Objective-C support in autoconf
  1058         CFLAGS="$CFLAGS -x objective-c"
  1059         AC_MSG_CHECKING(for Cocoa framework)
  1060         have_cocoa=no
  1061         AC_TRY_COMPILE([
  1062           #import <Cocoa/Cocoa.h>
  1063         ],[
  1064         ],[
  1065         have_cocoa=yes
  1066         ])
  1067         AC_MSG_RESULT($have_cocoa)
  1068         CFLAGS="$save_CFLAGS"
  1069         if test x$have_cocoa = xyes; then
  1070             AC_DEFINE(SDL_VIDEO_DRIVER_COCOA)
  1071             SOURCES="$SOURCES $srcdir/src/video/cocoa/*.m"
  1072             have_video=yes
  1073         fi
  1074     fi
  1075 }
  1076 
  1077 dnl Find the framebuffer console includes
  1078 CheckFBCON()
  1079 {
  1080     AC_ARG_ENABLE(video-fbcon,
  1081 AC_HELP_STRING([--enable-video-fbcon], [use framebuffer console video driver [[default=yes]]]),
  1082                   , enable_video_fbcon=yes)
  1083     if test x$enable_video = xyes -a x$enable_video_fbcon = xyes; then
  1084         AC_MSG_CHECKING(for framebuffer console support)
  1085         video_fbcon=no
  1086         AC_TRY_COMPILE([
  1087          #include <linux/fb.h>
  1088          #include <linux/kd.h>
  1089          #include <linux/keyboard.h>
  1090         ],[
  1091         ],[
  1092         video_fbcon=yes
  1093         ])
  1094         AC_MSG_RESULT($video_fbcon)
  1095         if test x$video_fbcon = xyes; then
  1096             AC_DEFINE(SDL_VIDEO_DRIVER_FBCON)
  1097             SOURCES="$SOURCES $srcdir/src/video/fbcon/*.c"
  1098             have_video=yes
  1099         fi
  1100     fi
  1101 }
  1102 
  1103 dnl Find DirectFB
  1104 CheckDirectFB()
  1105 {
  1106     AC_ARG_ENABLE(video-directfb,
  1107 AC_HELP_STRING([--enable-video-directfb], [use DirectFB video driver [[default=yes]]]),
  1108                   , enable_video_directfb=yes)
  1109     if test x$enable_video = xyes -a x$enable_video_directfb = xyes; then
  1110         video_directfb=no
  1111 
  1112         DIRECTFB_REQUIRED_VERSION=0.9.15
  1113 
  1114         AC_PATH_PROG(DIRECTFBCONFIG, directfb-config, no)
  1115         if test x$DIRECTFBCONFIG = xno; then
  1116             AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
  1117             AC_MSG_CHECKING(for DirectFB $DIRECTFB_REQUIRED_VERSION support)
  1118             if test x$PKG_CONFIG != xno; then
  1119                 if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb; then
  1120                     DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags directfb`
  1121                     DIRECTFB_LIBS=`$PKG_CONFIG --libs directfb`
  1122                     video_directfb=yes
  1123                 fi
  1124             fi
  1125             AC_MSG_RESULT($video_directfb)
  1126         else
  1127             AC_MSG_CHECKING(for DirectFB $DIRECTFB_REQUIRED_VERSION support)
  1128             set -- `echo $DIRECTFB_REQUIRED_VERSION | sed 's/\./ /g'`
  1129             NEED_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3`
  1130             set -- `directfb-config --version | sed 's/\./ /g'`
  1131             HAVE_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3`
  1132             if test $HAVE_VERSION -ge $NEED_VERSION; then
  1133                 DIRECTFB_CFLAGS=`$DIRECTFBCONFIG --cflags`
  1134                 DIRECTFB_LIBS=`$DIRECTFBCONFIG --libs`
  1135                 video_directfb=yes
  1136             fi
  1137             AC_MSG_RESULT($video_directfb)
  1138         fi
  1139 
  1140         if test x$video_directfb = xyes; then
  1141             AC_DEFINE(SDL_VIDEO_DRIVER_DIRECTFB)
  1142             SOURCES="$SOURCES $srcdir/src/video/directfb/*.c"
  1143             EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS"
  1144             EXTRA_LDFLAGS="$EXTRA_LDFLAGS $DIRECTFB_LIBS"
  1145             have_video=yes
  1146         fi
  1147     fi
  1148 }
  1149 
  1150 dnl See if we're running on PlayStation 2 hardware
  1151 CheckPS2GS()
  1152 {
  1153     AC_ARG_ENABLE(video-ps2gs,
  1154 AC_HELP_STRING([--enable-video-ps2gs], [use PlayStation 2 GS video driver [[default=yes]]]),
  1155                   , enable_video_ps2gs=yes)
  1156     if test x$enable_video = xyes -a x$enable_video_ps2gs = xyes; then
  1157         AC_MSG_CHECKING(for PlayStation 2 GS support)
  1158         video_ps2gs=no
  1159         AC_TRY_COMPILE([
  1160          #include <linux/ps2/dev.h>
  1161          #include <linux/ps2/gs.h>
  1162         ],[
  1163         ],[
  1164         video_ps2gs=yes
  1165         ])
  1166         AC_MSG_RESULT($video_ps2gs)
  1167         if test x$video_ps2gs = xyes; then
  1168             AC_DEFINE(SDL_VIDEO_DRIVER_PS2GS)
  1169             SOURCES="$SOURCES $srcdir/src/video/ps2gs/*.c"
  1170             have_video=yes
  1171         fi
  1172     fi
  1173 }
  1174 
  1175 dnl Find the GGI includes
  1176 CheckGGI()
  1177 {
  1178     AC_ARG_ENABLE(video-ggi,
  1179 AC_HELP_STRING([--enable-video-ggi], [use GGI video driver [[default=no]]]),
  1180                   , enable_video_ggi=no)
  1181     if test x$enable_video = xyes -a x$enable_video_ggi = xyes; then
  1182         AC_MSG_CHECKING(for GGI support)
  1183         video_ggi=no
  1184         AC_TRY_COMPILE([
  1185          #include <ggi/ggi.h>
  1186          #include <ggi/gii.h>
  1187         ],[
  1188         ],[
  1189         video_ggi=yes
  1190         ])
  1191         AC_MSG_RESULT($video_ggi)
  1192         if test x$video_ggi = xyes; then
  1193             AC_DEFINE(SDL_VIDEO_DRIVER_GGI)
  1194             SOURCES="$SOURCES $srcdir/src/video/ggi/*.c"
  1195             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lggi -lgii -lgg"
  1196             have_video=yes
  1197         fi
  1198     fi
  1199 }
  1200 
  1201 dnl Find the SVGAlib includes and libraries
  1202 CheckSVGA()
  1203 {
  1204     AC_ARG_ENABLE(video-svga,
  1205 AC_HELP_STRING([--enable-video-svga], [use SVGAlib video driver [[default=yes]]]),
  1206                   , enable_video_svga=yes)
  1207     if test x$enable_video = xyes -a x$enable_video_svga = xyes; then
  1208         AC_MSG_CHECKING(for SVGAlib (1.4.0+) support)
  1209         video_svga=no
  1210         AC_TRY_COMPILE([
  1211          #include <vga.h>
  1212          #include <vgamouse.h>
  1213          #include <vgakeyboard.h>
  1214         ],[
  1215          if ( SCANCODE_RIGHTWIN && SCANCODE_LEFTWIN ) {
  1216              exit(0);
  1217          }
  1218         ],[
  1219         video_svga=yes
  1220         ])
  1221         AC_MSG_RESULT($video_svga)
  1222         if test x$video_svga = xyes; then
  1223             AC_DEFINE(SDL_VIDEO_DRIVER_SVGALIB)
  1224             SOURCES="$SOURCES $srcdir/src/video/svga/*.c"
  1225             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvga"
  1226             have_video=yes
  1227         fi
  1228     fi
  1229 }
  1230 
  1231 dnl Find the VGL includes and libraries
  1232 CheckVGL()
  1233 {
  1234     AC_ARG_ENABLE(video-vgl,
  1235 AC_HELP_STRING([--enable-video-vgl], [use VGL video driver [[default=yes]]]),
  1236                   , enable_video_vgl=yes)
  1237     if test x$enable_video = xyes -a x$enable_video_vgl = xyes; then
  1238         AC_MSG_CHECKING(for libVGL support)
  1239         video_vgl=no
  1240         AC_TRY_COMPILE([
  1241          #include <sys/fbio.h>
  1242          #include <sys/consio.h>
  1243          #include <sys/kbio.h>
  1244          #include <vgl.h>
  1245         ],[
  1246          VGLBitmap bitmap;
  1247          bitmap.Type = VIDBUF32;
  1248          bitmap.PixelBytes = 4;
  1249          exit(bitmap.Bitmap);
  1250         ],[
  1251         video_vgl=yes
  1252         ])
  1253         AC_MSG_RESULT($video_vgl)
  1254         if test x$video_vgl = xyes; then
  1255             AC_DEFINE(SDL_VIDEO_DRIVER_VGL)
  1256             SOURCES="$SOURCES $srcdir/src/video/vgl/*.c"
  1257             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvgl"
  1258             have_video=yes
  1259         fi
  1260     fi
  1261 }
  1262 
  1263 dnl Set up the wscons video driver if enabled
  1264 CheckWscons()
  1265 {
  1266     AC_ARG_ENABLE(video-wscons,
  1267 AC_HELP_STRING([--enable-video-wscons], [use wscons video driver [[default=yes]]]),
  1268                   , enable_video_wscons=yes)
  1269     if test x$enable_video = xyes -a x$enable_video_wscons = xyes; then
  1270         AC_MSG_CHECKING(for wscons support)
  1271         video_wscons=no
  1272         AC_TRY_COMPILE([
  1273          #include <sys/time.h>
  1274          #include <dev/wscons/wsconsio.h>
  1275          #include <dev/wscons/wsdisplay_usl_io.h>
  1276         ],[
  1277          int wsmode = WSDISPLAYIO_MODE_DUMBFB;
  1278         ],[
  1279         video_wscons=yes
  1280         ])
  1281         AC_MSG_RESULT($video_wscons)
  1282         if test x$video_wscons = xyes; then
  1283             AC_DEFINE(SDL_VIDEO_DRIVER_WSCONS)
  1284             SOURCES="$SOURCES $srcdir/src/video/wscons/*.c"
  1285             have_video=yes
  1286         fi
  1287     fi
  1288 }
  1289 
  1290 
  1291 dnl Find the AAlib includes
  1292 CheckAAlib()
  1293 {
  1294     AC_ARG_ENABLE(video-aalib,
  1295 AC_HELP_STRING([--enable-video-aalib], [use AAlib video driver [[default=no]]]),
  1296                   , enable_video_aalib=no)
  1297     if test x$enable_video = xyes -a x$enable_video_aalib = xyes; then
  1298         AC_MSG_CHECKING(for AAlib support)
  1299         video_aalib=no
  1300         AC_TRY_COMPILE([
  1301          #include <aalib.h>
  1302         ],[
  1303         ],[
  1304         video_aalib=yes
  1305         ])
  1306         AC_MSG_RESULT($video_aalib)
  1307         if test x$video_aalib = xyes; then
  1308             AC_DEFINE(SDL_VIDEO_DRIVER_AALIB)
  1309             SOURCES="$SOURCES $srcdir/src/video/aalib/*.c"
  1310             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -laa"
  1311             have_video=yes
  1312         fi
  1313     fi
  1314 }
  1315 
  1316 dnl Set up the QTopia video driver if enabled
  1317 CheckQtopia()
  1318 {
  1319     AC_ARG_ENABLE(video-qtopia,
  1320 AC_HELP_STRING([--enable-video-qtopia], [use Qtopia video driver [[default=no]]]),
  1321                   , enable_video_qtopia=no)
  1322     if test x$enable_video = xyes -a x$enable_video_qtopia = xyes; then
  1323         AC_MSG_CHECKING(for Qtopia support)
  1324         video_qtopia=no
  1325         QTOPIA_FLAGS="-DQT_QWS_EBX -DQT_QWS_CUSTOM -DQWS -I${QPEDIR}/include -I${QTDIR}/include/ -DNO_DEBUG -fno-rtti -fno-exceptions"
  1326         AC_LANG_CPLUSPLUS
  1327         OLD_CXX="$CXXFLAGS"
  1328         CXXFLAGS="$QTOPIA_FLAGS"
  1329         AC_TRY_COMPILE([
  1330          #include <qpe/qpeapplication.h>
  1331         ],[
  1332         ],[
  1333         video_qtopia=yes
  1334         ])
  1335         CXXFLAGS="$OLD_CXX"
  1336         AC_MSG_RESULT($video_qtopia)
  1337         if test x$video_qtopia = xyes; then
  1338             AC_DEFINE(SDL_VIDEO_DRIVER_QTOPIA)
  1339             SOURCES="$SOURCES $srcdir/src/video/qtopia/*.cc"
  1340             SDLMAIN_SOURCES="$srcdir/src/main/qtopia/*.cc"
  1341             EXTRA_CFLAGS="$EXTRA_CFLAGS $QTOPIA_FLAGS"
  1342             SDL_CFLAGS="$SDL_CFLAGS -DQWS -Dmain=SDL_main"
  1343             SDL_LIBS="-lSDLmain $SDL_LIBS -L${QPEDIR}/lib -L${QTDIR}/lib/ -lqpe -lqte"
  1344             have_video=yes
  1345         fi
  1346         AC_LANG_C
  1347     fi
  1348 }
  1349 
  1350 dnl Set up the PicoGUI video driver if enabled
  1351 CheckPicoGUI()
  1352 {
  1353     AC_ARG_ENABLE(video-picogui,
  1354 AC_HELP_STRING([--enable-video-picogui], [use PicoGUI video driver [[default=no]]]),
  1355                   , enable_video_picogui=no)
  1356     if test x$enable_video = xyes -a x$enable_video_picogui = xyes; then
  1357         AC_MSG_CHECKING(for PicoGUI support)
  1358         video_picogui=no
  1359         AC_TRY_COMPILE([
  1360          #include <picogui.h>
  1361         ],[
  1362         ],[
  1363         video_picogui=yes
  1364         ])
  1365         AC_MSG_RESULT($video_picogui)
  1366         if test x$video_picogui = xyes; then
  1367             AC_DEFINE(SDL_VIDEO_DRIVER_PICOGUI)
  1368             SOURCES="$SOURCES $srcdir/src/video/picogui/*.c"
  1369             SDL_LIBS="$SDL_LIBS -lpgui"
  1370             have_video=yes
  1371         fi
  1372     fi
  1373 }
  1374 
  1375 dnl Set up the Atari Bios keyboard driver
  1376 CheckAtariBiosEvent()
  1377 {
  1378     SOURCES="$SOURCES $srcdir/src/video/ataricommon/*.c"
  1379     SOURCES="$SOURCES $srcdir/src/video/ataricommon/*.S"
  1380 }
  1381 
  1382 dnl Set up the Atari Xbios driver
  1383 CheckAtariXbiosVideo()
  1384 {
  1385     AC_ARG_ENABLE(xbios,
  1386 AC_HELP_STRING([--enable-video-xbios], [use Atari Xbios video driver [[default=yes]]]),
  1387                   , enable_video_xbios=yes)
  1388     video_xbios=no
  1389     if test x$enable_video = xyes -a x$enable_video_xbios = xyes; then
  1390         video_xbios=yes
  1391         AC_DEFINE(SDL_VIDEO_DRIVER_XBIOS)
  1392         SOURCES="$SOURCES $srcdir/src/video/xbios/*.c"
  1393         have_video=yes
  1394     fi
  1395 }
  1396 
  1397 dnl Set up the Atari Gem driver
  1398 CheckAtariGemVideo()
  1399 {
  1400     AC_ARG_ENABLE(gem,
  1401 AC_HELP_STRING([--enable-video-gem], [use Atari Gem video driver [[default=yes]]]),
  1402                   , enable_video_gem=yes)
  1403     if test x$enable_video = xyes -a x$enable_video_gem = xyes; then
  1404         video_gem=no
  1405         AC_CHECK_HEADER(gem.h, have_gem_hdr=yes)
  1406         AC_CHECK_LIB(gem, appl_init, have_gem_lib=yes)
  1407         if test x$have_gem_hdr = xyes -a x$have_gem_lib = xyes; then
  1408             video_gem=yes
  1409             AC_DEFINE(SDL_VIDEO_DRIVER_GEM)
  1410             SOURCES="$SOURCES $srcdir/src/video/gem/*.c"
  1411             SDL_LIBS="$SDL_LIBS -lgem"
  1412             have_video=yes
  1413         fi
  1414     fi
  1415 }
  1416 
  1417 dnl rcg04172001 Set up the Null video driver.
  1418 CheckDummyVideo()
  1419 {
  1420     AC_ARG_ENABLE(video-dummy,
  1421 AC_HELP_STRING([--enable-video-dummy], [use dummy video driver [[default=yes]]]),
  1422                   , enable_video_dummy=yes)
  1423     if test x$enable_video_dummy = xyes; then
  1424         AC_DEFINE(SDL_VIDEO_DRIVER_DUMMY)
  1425         SOURCES="$SOURCES $srcdir/src/video/dummy/*.c"
  1426         have_video=yes
  1427     fi
  1428 }
  1429 
  1430 dnl Check to see if OpenGL support is desired
  1431 AC_ARG_ENABLE(video-opengl,
  1432 AC_HELP_STRING([--enable-video-opengl], [include OpenGL context creation [[default=yes]]]),
  1433               , enable_video_opengl=yes)
  1434 
  1435 dnl Find OpenGL
  1436 CheckOpenGLX11()
  1437 {
  1438     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1439         AC_MSG_CHECKING(for OpenGL (GLX) support)
  1440         video_opengl=no
  1441         AC_TRY_COMPILE([
  1442          #include <GL/gl.h>
  1443          #include <GL/glx.h>
  1444         ],[
  1445         ],[
  1446         video_opengl=yes
  1447         ])
  1448         AC_MSG_RESULT($video_opengl)
  1449         if test x$video_opengl = xyes; then
  1450             AC_DEFINE(SDL_VIDEO_OPENGL)
  1451             AC_DEFINE(SDL_VIDEO_OPENGL_GLX)
  1452         fi
  1453     fi
  1454 }
  1455 
  1456 dnl Find QNX RtP OpenGL
  1457 CheckOpenGLQNX()
  1458 {
  1459     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1460         AC_MSG_CHECKING(for OpenGL (Photon) support)
  1461         video_opengl=no
  1462         AC_TRY_COMPILE([
  1463          #include <GL/gl.h>
  1464         ],[
  1465         ],[
  1466         video_opengl=yes
  1467         ])
  1468         AC_MSG_RESULT($video_opengl)
  1469         if test x$video_opengl = xyes; then
  1470             AC_DEFINE(SDL_VIDEO_OPENGL)
  1471             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lGL"
  1472         fi
  1473     fi
  1474 }
  1475 
  1476 dnl Check for Win32 OpenGL
  1477 CheckWIN32GL()
  1478 {
  1479     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1480         AC_DEFINE(SDL_VIDEO_OPENGL)
  1481         AC_DEFINE(SDL_VIDEO_OPENGL_WGL)
  1482     fi
  1483 }
  1484 
  1485 dnl Check for BeOS OpenGL
  1486 CheckBeGL()
  1487 {
  1488     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1489         AC_DEFINE(SDL_VIDEO_OPENGL)
  1490         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lGL"
  1491     fi
  1492 }
  1493 
  1494 dnl Check for MacOS OpenGL
  1495 CheckMacGL()
  1496 {
  1497     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1498         AC_DEFINE(SDL_VIDEO_OPENGL)
  1499         case "$host" in
  1500             *-*-darwin*)
  1501                 if test x$enable_video_cocoa = xyes; then
  1502                     EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,OpenGL"
  1503                 fi
  1504         esac
  1505     fi
  1506 }
  1507 
  1508 dnl Find glSDL
  1509 CheckglSDL()
  1510 {
  1511     AC_ARG_ENABLE(video-glsdl,
  1512 [  --enable-video-glsdl    use glSDL video driver [default=yes]],
  1513                   , enable_video_glsdl=yes)
  1514     AC_MSG_CHECKING(for glSDL support)
  1515     AC_MSG_RESULT($video_opengl)
  1516     if test x$video_opengl = xyes -a x$enable_video_glsdl = xyes; then
  1517         AC_DEFINE(SDL_VIDEO_DRIVER_GLSDL)
  1518         SOURCES="$SOURCES $srcdir/src/video/glsdl/*.c"
  1519     fi
  1520 }
  1521 
  1522 dnl Check for Mesa offscreen rendering
  1523 CheckAtariOSMesa()
  1524 {
  1525     if test "x$enable_video" = "xyes" -a "x$enable_video_opengl" = "xyes"; then
  1526         AC_CHECK_HEADER(GL/osmesa.h, have_osmesa_hdr=yes)
  1527         AC_CHECK_LIB(OSMesa, OSMesaCreateContext, have_osmesa_lib=yes, have_osmesa_lib=no, -lm)
  1528 
  1529         # Static linking to -lOSMesa
  1530         AC_PATH_PROG(OSMESA_CONFIG, osmesa-config, no)
  1531         if test "x$OSMESA_CONFIG" = "xno" -o "x$enable_atari_ldg" = "xno"; then
  1532             # -lOSMesa is really the static library
  1533             if test "x$have_osmesa_hdr" = "xyes" -a "x$have_osmesa_lib" = "xyes"; then
  1534                 OSMESA_LIBS="-lOSMesa"
  1535             fi
  1536         else
  1537             # -lOSMesa is a loader for OSMesa.ldg
  1538             OSMESA_CFLAGS=`$OSMESA_CONFIG --cflags`
  1539             OSMESA_LIBS=`$OSMESA_CONFIG --libs`
  1540         fi
  1541         AC_DEFINE(SDL_VIDEO_OPENGL)
  1542         AC_DEFINE(SDL_VIDEO_OPENGL_OSMESA)
  1543         SDL_CFLAGS="$SDL_CFLAGS $OSMESA_CFLAGS"
  1544         SDL_LIBS="$SDL_LIBS $OSMESA_LIBS"
  1545 
  1546         AC_ARG_ENABLE(osmesa-shared,
  1547 AC_HELP_STRING([--enable-osmesa-shared], [dynamically load OSMesa OpenGL support [[default=yes]]]),
  1548                               , enable_osmesa_shared=yes)
  1549         if test "x$enable_osmesa_shared" = "xyes" -a "x$enable_atari_ldg" = "xyes"; then
  1550             # Dynamic linking
  1551             if test "x$have_osmesa_hdr" = "xyes"; then
  1552                 AC_DEFINE(SDL_VIDEO_OPENGL_OSMESA_DYNAMIC)
  1553             fi
  1554         fi
  1555     fi
  1556 }
  1557 
  1558 dnl See if we can use the new unified event interface in Linux 2.4
  1559 CheckInputEvents()
  1560 {
  1561     dnl Check for Linux 2.4 unified input event interface support
  1562     AC_ARG_ENABLE(input-events,
  1563 AC_HELP_STRING([--enable-input-events], [use Linux 2.4 unified input interface [[default=yes]]]),
  1564                   , enable_input_events=yes)
  1565     if test x$enable_input_events = xyes; then
  1566         AC_MSG_CHECKING(for Linux 2.4 unified input interface)
  1567         use_input_events=no
  1568         AC_TRY_COMPILE([
  1569           #include <linux/input.h>
  1570         ],[
  1571           #ifndef EVIOCGNAME
  1572           #error EVIOCGNAME() ioctl not available
  1573           #endif
  1574         ],[
  1575         use_input_events=yes
  1576         ])
  1577         AC_MSG_RESULT($use_input_events)
  1578         if test x$use_input_events = xyes; then
  1579             AC_DEFINE(SDL_INPUT_LINUXEV)
  1580         fi
  1581     fi
  1582 }
  1583 
  1584 dnl See if we can use the Touchscreen input library
  1585 CheckTslib()
  1586 {
  1587     AC_ARG_ENABLE(input-tslib,
  1588 AC_HELP_STRING([--enable-input-tslib], [use the Touchscreen library for input [[default=yes]]]),
  1589                   , enable_input_tslib=yes)
  1590     if test x$enable_input_tslib = xyes; then
  1591         AC_MSG_CHECKING(for Touchscreen library support)
  1592         enable_input_tslib=no
  1593         AC_TRY_COMPILE([
  1594           #include "tslib.h"
  1595         ],[
  1596         ],[
  1597         enable_input_tslib=yes
  1598         ])
  1599         AC_MSG_RESULT($enable_input_tslib)
  1600         if test x$enable_input_tslib = xyes; then
  1601             AC_DEFINE(SDL_INPUT_TSLIB)
  1602             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lts"
  1603         fi
  1604     fi
  1605 }
  1606 
  1607 dnl See if we can use GNU pth library for threads
  1608 CheckPTH()
  1609 {
  1610     dnl Check for pth support
  1611     AC_ARG_ENABLE(pth,
  1612 AC_HELP_STRING([--enable-pth], [use GNU pth library for multi-threading [[default=yes]]]),
  1613                   , enable_pth=yes)
  1614     if test x$enable_threads = xyes -a x$enable_pth = xyes; then
  1615         AC_PATH_PROG(PTH_CONFIG, pth-config, no)
  1616         if test "$PTH_CONFIG" = "no"; then
  1617             use_pth=no
  1618         else
  1619             use_pth=yes
  1620         fi
  1621         AC_MSG_CHECKING(pth)
  1622         AC_MSG_RESULT($use_pth)
  1623         if test "x$use_pth" = xyes; then
  1624             AC_DEFINE(SDL_THREAD_PTH)
  1625             SOURCES="$SOURCES $srcdir/src/thread/pth/*.c"
  1626             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syssem.c"
  1627             SDL_CFLAGS="$SDL_CFLAGS `$PTH_CONFIG --cflags`"
  1628             SDL_LIBS="$SDL_LIBS `$PTH_CONFIG --libs --all`"
  1629             have_threads=yes
  1630         fi
  1631     fi
  1632 }
  1633 
  1634 dnl See what type of thread model to use on Linux and Solaris
  1635 CheckPTHREAD()
  1636 {
  1637     dnl Check for pthread support
  1638     AC_ARG_ENABLE(pthreads,
  1639 AC_HELP_STRING([--enable-pthreads], [use POSIX threads for multi-threading [[default=yes]]]),
  1640                   , enable_pthreads=yes)
  1641     dnl This is used on Linux for glibc binary compatibility (Doh!)
  1642     AC_ARG_ENABLE(pthread-sem,
  1643 AC_HELP_STRING([--enable-pthread-sem], [use pthread semaphores [[default=yes]]]),
  1644                   , enable_pthread_sem=yes)
  1645     case "$host" in
  1646         *-*-linux*|*-*-uclinux*)
  1647             pthread_cflags="-D_REENTRANT"
  1648             pthread_lib="-lpthread"
  1649             ;;
  1650         *-*-bsdi*)
  1651             pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1652             pthread_lib=""
  1653             ;;
  1654         *-*-darwin*)
  1655             pthread_cflags="-D_THREAD_SAFE"
  1656 # causes Carbon.p complaints?
  1657 #            pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1658             ;;
  1659         *-*-freebsd*|*-*-dragonfly*)
  1660             pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1661             pthread_lib="-pthread"
  1662             ;;
  1663         *-*-netbsd*)
  1664             pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1665             pthread_lib="-L/usr/lib -lpthread"
  1666             ;;
  1667         *-*-openbsd*)
  1668             pthread_cflags="-D_REENTRANT"
  1669             pthread_lib="-pthread"
  1670             ;;
  1671         *-*-solaris*)
  1672             pthread_cflags="-D_REENTRANT"
  1673             pthread_lib="-lpthread -lposix4"
  1674             ;;
  1675         *-*-sysv5*)
  1676             pthread_cflags="-D_REENTRANT -Kthread"
  1677             pthread_lib=""
  1678             ;;
  1679         *-*-irix*)
  1680             pthread_cflags="-D_SGI_MP_SOURCE"
  1681             pthread_lib="-lpthread"
  1682             ;;
  1683         *-*-aix*)
  1684             pthread_cflags="-D_REENTRANT -mthreads"
  1685             pthread_lib="-lpthread"
  1686             ;;
  1687         *-*-hpux11*)
  1688             pthread_cflags="-D_REENTRANT"
  1689             pthread_lib="-L/usr/lib -lpthread"
  1690             ;;
  1691         *-*-qnx*)
  1692             pthread_cflags=""
  1693             pthread_lib=""
  1694             ;;
  1695         *-*-osf*)
  1696             pthread_cflags="-D_REENTRANT"
  1697             if test x$ac_cv_prog_gcc = xyes; then
  1698                 pthread_lib="-lpthread -lrt"
  1699             else
  1700                 pthread_lib="-lpthread -lexc -lrt"
  1701             fi
  1702             ;;
  1703         *)
  1704             pthread_cflags="-D_REENTRANT"
  1705             pthread_lib="-lpthread"
  1706             ;;
  1707     esac
  1708     if test x$enable_threads = xyes -a x$enable_pthreads = xyes -a x$enable_ipod != xyes; then
  1709         # Save the original compiler flags and libraries
  1710         ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
  1711         # Add the pthread compiler flags and libraries
  1712         CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
  1713         # Check to see if we have pthread support on this system
  1714         AC_MSG_CHECKING(for pthreads)
  1715         use_pthreads=no
  1716         AC_TRY_LINK([
  1717          #include <pthread.h>
  1718         ],[
  1719          pthread_attr_t type;
  1720          pthread_attr_init(&type);
  1721         ],[
  1722         use_pthreads=yes
  1723         ])
  1724         AC_MSG_RESULT($use_pthreads)
  1725         # Restore the compiler flags and libraries
  1726         CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
  1727 
  1728         # Do futher testing if we have pthread support...
  1729         if test x$use_pthreads = xyes; then
  1730             AC_DEFINE(SDL_THREAD_PTHREAD)
  1731             EXTRA_CFLAGS="$EXTRA_CFLAGS $pthread_cflags"
  1732             EXTRA_LDFLAGS="$EXTRA_LDFLAGS $pthread_lib"
  1733             SDL_CFLAGS="$SDL_CFLAGS $pthread_cflags"
  1734             SDL_LIBS="$SDL_LIBS $pthread_lib"
  1735 
  1736             # Save the original compiler flags and libraries
  1737             ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
  1738             # Add the pthread compiler flags and libraries
  1739             CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
  1740 
  1741             # Check to see if recursive mutexes are available
  1742             AC_MSG_CHECKING(for recursive mutexes)
  1743             has_recursive_mutexes=no
  1744             if test x$has_recursive_mutexes = xno; then
  1745                 AC_TRY_COMPILE([
  1746                   #include <pthread.h>
  1747                 ],[
  1748                   pthread_mutexattr_t attr;
  1749                   pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
  1750                 ],[
  1751                 has_recursive_mutexes=yes
  1752                 AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX)
  1753                 ])
  1754             fi
  1755             if test x$has_recursive_mutexes = xno; then
  1756                 AC_TRY_COMPILE([
  1757                   #include <pthread.h>
  1758                 ],[
  1759                   pthread_mutexattr_t attr;
  1760                   pthread_mutexattr_setkind_np(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
  1761                 ],[
  1762                 has_recursive_mutexes=yes
  1763                 AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP)
  1764                 ])
  1765             fi
  1766             AC_MSG_RESULT($has_recursive_mutexes)
  1767 
  1768             # Check to see if pthread semaphore support is missing
  1769             if test x$enable_pthread_sem = xyes; then
  1770                 AC_MSG_CHECKING(for pthread semaphores)
  1771                 have_pthread_sem=no
  1772                 AC_TRY_COMPILE([
  1773                   #include <pthread.h>
  1774                   #include <semaphore.h>
  1775                 ],[
  1776                 ],[
  1777                 have_pthread_sem=yes
  1778                 ])
  1779                 AC_MSG_RESULT($have_pthread_sem)
  1780             fi
  1781 
  1782             # Restore the compiler flags and libraries
  1783             CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
  1784 
  1785             # Basic thread creation functions
  1786             SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_systhread.c"
  1787 
  1788             # Semaphores
  1789             # We can fake these with mutexes and condition variables if necessary
  1790             if test x$have_pthread_sem = xyes; then
  1791                 SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syssem.c"
  1792             else
  1793                 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syssem.c"
  1794             fi
  1795 
  1796             # Mutexes
  1797             # We can fake these with semaphores if necessary
  1798             SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_sysmutex.c"
  1799 
  1800             # Condition variables
  1801             # We can fake these with semaphores and mutexes if necessary
  1802             SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syscond.c"
  1803 
  1804             have_threads=yes
  1805         else
  1806             CheckPTH
  1807         fi
  1808     fi
  1809 }
  1810 
  1811 dnl Determine whether the compiler can produce Win32 executables
  1812 CheckWIN32()
  1813 {
  1814     AC_MSG_CHECKING(Win32 compiler)
  1815     have_win32_gcc=no
  1816     AC_TRY_COMPILE([
  1817      #include <windows.h>
  1818     ],[
  1819     ],[
  1820     have_win32_gcc=yes
  1821     ])
  1822     AC_MSG_RESULT($have_win32_gcc)
  1823     if test x$have_win32_gcc != xyes; then
  1824        AC_MSG_ERROR([
  1825 *** Your compiler ($CC) does not produce Win32 executables!
  1826        ])
  1827     fi
  1828 
  1829     dnl See if the user wants to redirect standard output to files
  1830     AC_ARG_ENABLE(stdio-redirect,
  1831 AC_HELP_STRING([--enable-stdio-redirect], [Redirect STDIO to files on Win32 [[default=yes]]]),
  1832                   , enable_stdio_redirect=yes)
  1833     if test x$enable_stdio_redirect != xyes; then
  1834         EXTRA_CFLAGS="$EXTRA_CFLAGS -DNO_STDIO_REDIRECT"
  1835     fi
  1836 }
  1837 
  1838 dnl Find the DirectX includes and libraries
  1839 CheckDIRECTX()
  1840 {
  1841     AC_ARG_ENABLE(directx,
  1842 AC_HELP_STRING([--enable-directx], [use DirectX for Win32 audio/video [[default=yes]]]),
  1843                   , enable_directx=yes)
  1844     if test x$enable_directx = xyes; then
  1845         AC_CHECK_HEADER(d3d9.h, have_d3d=yes)
  1846         AC_CHECK_HEADER(dsound.h, have_dsound=yes)
  1847         AC_CHECK_HEADER(dinput.h, use_dinput=yes)
  1848     fi
  1849 }
  1850 
  1851 dnl Check for the dlfcn.h interface for dynamically loading objects
  1852 CheckDLOPEN()
  1853 {
  1854     AC_ARG_ENABLE(sdl-dlopen,
  1855 AC_HELP_STRING([--enable-sdl-dlopen], [use dlopen for shared object loading [[default=yes]]]),
  1856                   , enable_sdl_dlopen=yes)
  1857     if test x$enable_sdl_dlopen = xyes; then
  1858         AC_MSG_CHECKING(for dlopen)
  1859         have_dlopen=no
  1860         AC_TRY_COMPILE([
  1861          #include <dlfcn.h>
  1862         ],[
  1863          #if defined(MAC_OS_X_VERSION_MIN_REQUIRED) && MAC_OS_X_VERSION_MIN_REQUIRED <= 1020
  1864          #error Use dlcompat for Mac OS X 10.2 compatibility
  1865          #endif
  1866         ],[
  1867         have_dlopen=yes
  1868         ])
  1869         AC_MSG_RESULT($have_dlopen)
  1870 
  1871         if test x$have_dlopen = xyes; then
  1872             AC_CHECK_LIB(c, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS",
  1873                AC_CHECK_LIB(dl, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ldl",
  1874                   AC_CHECK_LIB(ltdl, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lltdl")))
  1875             AC_CHECK_LIB(dl, dlvsym, have_dlvsym=yes)
  1876             if test x$have_dlvsym = xyes; then
  1877                 AC_DEFINE(HAVE_DLVSYM)
  1878             fi
  1879             AC_DEFINE(SDL_LOADSO_DLOPEN)
  1880             SOURCES="$SOURCES $srcdir/src/loadso/dlopen/*.c"
  1881             have_loadso=yes
  1882         fi
  1883     fi
  1884 }
  1885 
  1886 dnl Set up the Atari LDG (shared object loader)
  1887 CheckAtariLdg()
  1888 {
  1889     AC_ARG_ENABLE(atari-ldg,
  1890 AC_HELP_STRING([--enable-atari-ldg], [use Atari LDG for shared object loading [[default=yes]]]),
  1891                   , enable_atari_ldg=yes)
  1892     if test x$video_gem = xyes -a x$enable_atari_ldg = xyes; then
  1893         AC_CHECK_HEADER(ldg.h, have_ldg_hdr=yes)
  1894         AC_CHECK_LIB(ldg, ldg_open, have_ldg_lib=yes, have_ldg_lib=no, -lgem)
  1895         if test x$have_ldg_hdr = xyes -a x$have_ldg_lib = xyes; then
  1896             AC_DEFINE(SDL_LOADSO_LDG)
  1897             SOURCES="$SOURCES $srcdir/src/loadso/mint/*.c"
  1898             SDL_LIBS="$SDL_LIBS -lldg -lgem"
  1899             have_loadso=yes
  1900         fi
  1901     fi
  1902 }
  1903 
  1904 dnl Check for the usbhid(3) library on *BSD
  1905 CheckUSBHID()
  1906 {
  1907     if test x$enable_joystick = xyes; then
  1908         AC_CHECK_LIB(usbhid, hid_init, have_libusbhid=yes)
  1909         if test x$have_libusbhid = xyes; then
  1910             AC_CHECK_HEADER(usbhid.h, [USB_CFLAGS="-DHAVE_USBHID_H"])
  1911             AC_CHECK_HEADER(libusbhid.h, [USB_CFLAGS="-DHAVE_LIBUSBHID_H"])
  1912             USB_LIBS="$USB_LIBS -lusbhid"
  1913         else
  1914             AC_CHECK_HEADER(usb.h, [USB_CFLAGS="-DHAVE_USB_H"])
  1915             AC_CHECK_HEADER(libusb.h, [USB_CFLAGS="-DHAVE_LIBUSB_H"])
  1916             AC_CHECK_LIB(usb, hid_init, [USB_LIBS="$USB_LIBS -lusb"])
  1917         fi
  1918             
  1919         save_CFLAGS="$CFLAGS"
  1920         CFLAGS="$CFLAGS $USB_CFLAGS"
  1921 
  1922         AC_MSG_CHECKING(for usbhid)
  1923         have_usbhid=no
  1924         AC_TRY_COMPILE([
  1925           #include <sys/types.h>
  1926           #if defined(HAVE_USB_H)
  1927           #include <usb.h>
  1928           #endif
  1929           #ifdef __DragonFly__
  1930           # include <bus/usb/usb.h>
  1931           # include <bus/usb/usbhid.h>
  1932           #else
  1933           # include <dev/usb/usb.h>
  1934           # include <dev/usb/usbhid.h>
  1935           #endif
  1936           #if defined(HAVE_USBHID_H)
  1937           #include <usbhid.h>
  1938           #elif defined(HAVE_LIBUSB_H)
  1939           #include <libusb.h>
  1940           #elif defined(HAVE_LIBUSBHID_H)
  1941           #include <libusbhid.h>
  1942           #endif
  1943         ],[
  1944           struct report_desc *repdesc;
  1945           struct usb_ctl_report *repbuf;
  1946           hid_kind_t hidkind;
  1947         ],[
  1948         have_usbhid=yes
  1949         ])
  1950         AC_MSG_RESULT($have_usbhid)
  1951 
  1952         if test x$have_usbhid = xyes; then
  1953             AC_MSG_CHECKING(for ucr_data member of usb_ctl_report)
  1954             have_usbhid_ucr_data=no
  1955             AC_TRY_COMPILE([
  1956               #include <sys/types.h>
  1957               #if defined(HAVE_USB_H)
  1958               #include <usb.h>
  1959               #endif
  1960               #ifdef __DragonFly__
  1961               # include <bus/usb/usb.h>
  1962               # include <bus/usb/usbhid.h>
  1963               #else
  1964               # include <dev/usb/usb.h>
  1965               # include <dev/usb/usbhid.h>
  1966               #endif
  1967               #if defined(HAVE_USBHID_H)
  1968               #include <usbhid.h>
  1969               #elif defined(HAVE_LIBUSB_H)
  1970               #include <libusb.h>
  1971               #elif defined(HAVE_LIBUSBHID_H)
  1972               #include <libusbhid.h>
  1973               #endif
  1974             ],[
  1975               struct usb_ctl_report buf;
  1976               if (buf.ucr_data) { }
  1977             ],[
  1978             have_usbhid_ucr_data=yes
  1979             ])
  1980             if test x$have_usbhid_ucr_data = xyes; then
  1981                 USB_CFLAGS="$USB_CFLAGS -DUSBHID_UCR_DATA"
  1982             fi
  1983             AC_MSG_RESULT($have_usbhid_ucr_data)
  1984             
  1985             AC_MSG_CHECKING(for new usbhid API)
  1986             have_usbhid_new=no
  1987             AC_TRY_COMPILE([
  1988               #include <sys/types.h>
  1989               #if defined(HAVE_USB_H)
  1990               #include <usb.h>
  1991               #endif
  1992               #include <dev/usb/usb.h>
  1993               #include <dev/usb/usbhid.h>
  1994               #if defined(HAVE_USBHID_H)
  1995               #include <usbhid.h>
  1996               #elif defined(HAVE_LIBUSB_H)
  1997               #include <libusb.h>
  1998               #elif defined(HAVE_LIBUSBHID_H)
  1999               #include <libusbhid.h>
  2000               #endif
  2001             ],[
  2002               report_desc_t d;
  2003               hid_start_parse(d, 1, 1);
  2004             ],[
  2005             have_usbhid_new=yes
  2006             ])
  2007             if test x$have_usbhid_new = xyes; then
  2008                 USB_CFLAGS="$USB_CFLAGS -DUSBHID_NEW"
  2009             fi
  2010             AC_MSG_RESULT($have_usbhid_new)
  2011 
  2012             AC_MSG_CHECKING(for struct joystick in machine/joystick.h)
  2013             have_machine_joystick=no
  2014             AC_TRY_COMPILE([
  2015               #include <machine/joystick.h>
  2016             ],[
  2017               struct joystick t;
  2018             ],[
  2019             have_machine_joystick=yes
  2020             ])
  2021             if test x$have_machine_joystick = xyes; then
  2022                 AC_DEFINE(SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H)
  2023             fi
  2024             AC_MSG_RESULT($have_machine_joystick)
  2025 
  2026             AC_DEFINE(SDL_JOYSTICK_USBHID)
  2027             SOURCES="$SOURCES $srcdir/src/joystick/bsd/*.c"
  2028             EXTRA_CFLAGS="$EXTRA_CFLAGS $USB_CFLAGS"
  2029             EXTRA_LDFLAGS="$EXTRA_LDFLAGS $USB_LIBS"
  2030             have_joystick=yes
  2031         fi
  2032         CFLAGS="$save_CFLAGS"
  2033     fi
  2034 }
  2035 
  2036 dnl Check for clock_gettime()
  2037 CheckClockGettime()
  2038 {
  2039     AC_ARG_ENABLE(clock_gettime,
  2040 AC_HELP_STRING([--enable-clock_gettime], [use clock_gettime() instead of gettimeofday() on UNIX [[default=no]]]),
  2041                   , enable_clock_gettime=no)
  2042     if test x$enable_clock_gettime = xyes; then
  2043         AC_CHECK_LIB(rt, clock_gettime, have_clock_gettime=yes)
  2044         if test x$have_clock_gettime = xyes; then
  2045             AC_DEFINE(HAVE_CLOCK_GETTIME)
  2046             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lrt"
  2047         fi
  2048     fi
  2049 }
  2050 
  2051 dnl Check for a valid linux/version.h
  2052 CheckLinuxVersion()
  2053 {
  2054     AC_CHECK_HEADER(linux/version.h, have_linux_version_h=yes)
  2055     if test x$have_linux_version_h = xyes; then
  2056         EXTRA_CFLAGS="$EXTRA_CFLAGS -DHAVE_LINUX_VERSION_H"
  2057     fi
  2058 }
  2059 
  2060 dnl Check if we want to use RPATH
  2061 CheckRPATH()
  2062 {
  2063     AC_ARG_ENABLE(rpath,
  2064 AC_HELP_STRING([--enable-rpath], [use an rpath when linking SDL [[default=yes]]]),
  2065                   , enable_rpath=yes)
  2066 }
  2067 
  2068 dnl Set up the configuration based on the host platform!
  2069 case "$host" in
  2070     arm-*-elf*) # FIXME: Can we get more specific for iPodLinux?
  2071         ARCH=linux
  2072         CheckDummyVideo
  2073         CheckIPod
  2074         # Set up files for the timer library
  2075         if test x$enable_timers = xyes; then
  2076             AC_DEFINE(SDL_TIMER_UNIX)
  2077             SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  2078             have_timers=yes
  2079         fi
  2080         ;;
  2081     *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-irix*|*-*-aix*|*-*-osf*)
  2082         case "$host" in
  2083             *-*-linux*)         ARCH=linux ;;
  2084             *-*-uclinux*)       ARCH=linux ;;
  2085             *-*-kfreebsd*-gnu)  ARCH=kfreebsd-gnu ;;
  2086             *-*-knetbsd*-gnu)   ARCH=knetbsd-gnu ;;
  2087             *-*-kopenbsd*-gnu)  ARCH=kopenbsd-gnu ;;
  2088             *-*-gnu*)           ARCH=gnu ;; # must be last of the gnu variants
  2089             *-*-bsdi*)          ARCH=bsdi ;;
  2090             *-*-freebsd*)       ARCH=freebsd ;;
  2091             *-*-dragonfly*)     ARCH=freebsd ;;
  2092             *-*-netbsd*)        ARCH=netbsd ;;
  2093             *-*-openbsd*)       ARCH=openbsd ;;
  2094             *-*-sysv5*)         ARCH=sysv5 ;;
  2095             *-*-solaris*)       ARCH=solaris ;;
  2096             *-*-hpux*)          ARCH=hpux ;;
  2097             *-*-irix*)          ARCH=irix ;;
  2098             *-*-aix*)           ARCH=aix ;;
  2099             *-*-osf*)           ARCH=osf ;;
  2100         esac
  2101         CheckVisibilityHidden
  2102         CheckDummyVideo
  2103         CheckDiskAudio
  2104         CheckDummyAudio
  2105         CheckDLOPEN
  2106         CheckNASM
  2107         CheckAltivec
  2108         CheckOSS
  2109         CheckDMEDIA
  2110         CheckMME
  2111         CheckALSA
  2112         CheckARTSC
  2113         CheckESD
  2114         CheckNAS
  2115         CheckX11
  2116         CheckNANOX
  2117         CheckFBCON
  2118         CheckDirectFB
  2119         CheckPS2GS
  2120         CheckGGI
  2121         CheckSVGA
  2122         CheckVGL
  2123         CheckWscons
  2124         CheckAAlib
  2125         CheckQtopia
  2126         CheckPicoGUI
  2127         CheckOpenGLX11
  2128         CheckglSDL
  2129         CheckInputEvents
  2130         CheckTslib
  2131         CheckUSBHID
  2132         CheckPTHREAD
  2133         CheckClockGettime
  2134         CheckLinuxVersion
  2135         CheckRPATH
  2136         # Set up files for the audio library
  2137         if test x$enable_audio = xyes; then
  2138           case $ARCH in
  2139             sysv5|solaris|hpux)
  2140                 AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO)
  2141                 SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
  2142                 have_audio=yes
  2143             ;;
  2144             netbsd|openbsd)
  2145                 AC_DEFINE(SDL_AUDIO_DRIVER_BSD)
  2146                 SOURCES="$SOURCES $srcdir/src/audio/bsd/*.c"
  2147                 have_audio=yes
  2148             ;;
  2149             aix)
  2150                 AC_DEFINE(SDL_AUDIO_DRIVER_PAUD)
  2151                 SOURCES="$SOURCES $srcdir/src/audio/paudio/*.c"
  2152                 have_audio=yes
  2153             ;;
  2154           esac
  2155         fi
  2156         # Set up files for the joystick library
  2157         if test x$enable_joystick = xyes; then
  2158           case $ARCH in
  2159             linux)
  2160                 AC_DEFINE(SDL_JOYSTICK_LINUX)
  2161                 SOURCES="$SOURCES $srcdir/src/joystick/linux/*.c"
  2162                 have_joystick=yes
  2163             ;;
  2164           esac
  2165         fi
  2166         # Set up files for the cdrom library
  2167         if test x$enable_cdrom = xyes; then
  2168           case $ARCH in
  2169             linux|solaris)
  2170                 AC_DEFINE(SDL_CDROM_LINUX)
  2171                 SOURCES="$SOURCES $srcdir/src/cdrom/linux/*.c"
  2172                 have_cdrom=yes
  2173             ;;
  2174             *freebsd*)
  2175                 AC_DEFINE(SDL_CDROM_FREEBSD)
  2176                 SOURCES="$SOURCES $srcdir/src/cdrom/freebsd/*.c"
  2177                 have_cdrom=yes
  2178             ;;
  2179             *openbsd*|*netbsd*)
  2180                 AC_DEFINE(SDL_CDROM_OPENBSD)
  2181                 SOURCES="$SOURCES $srcdir/src/cdrom/openbsd/*.c"
  2182                 have_cdrom=yes
  2183             ;;
  2184             bsdi)
  2185                 AC_DEFINE(SDL_CDROM_BSDI)
  2186                 SOURCES="$SOURCES $srcdir/src/cdrom/bsdi/*.c"
  2187                 have_cdrom=yes
  2188             ;;
  2189             aix)
  2190                 AC_DEFINE(SDL_CDROM_AIX)
  2191                 SOURCES="$SOURCES $srcdir/src/cdrom/aix/*.c"
  2192                 have_cdrom=yes
  2193             ;;
  2194             osf)
  2195                 AC_DEFINE(SDL_CDROM_OSF)
  2196                 SOURCES="$SOURCES $srcdir/src/cdrom/osf/*.c"
  2197                 have_cdrom=yes
  2198             ;;
  2199           esac
  2200         fi
  2201         # Set up files for the thread library
  2202         if test x$enable_threads = xyes -a x$use_pthreads != xyes -a x$use_pth != xyes -a x$ARCH = xirix; then
  2203             AC_DEFINE(SDL_THREAD_SPROC)
  2204             SOURCES="$SOURCES $srcdir/src/thread/irix/*.c"
  2205             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c"
  2206             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
  2207             have_threads=yes
  2208         fi
  2209         # Set up files for the timer library
  2210         if test x$enable_timers = xyes; then
  2211             AC_DEFINE(SDL_TIMER_UNIX)
  2212             SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  2213             have_timers=yes
  2214         fi
  2215         ;;
  2216     *-*-qnx*)
  2217         ARCH=qnx
  2218         CheckDummyVideo
  2219         CheckDiskAudio
  2220         CheckDummyAudio
  2221         # CheckNASM
  2222         CheckDLOPEN
  2223         CheckNAS
  2224         CheckPHOTON
  2225         CheckX11
  2226         CheckOpenGLX11
  2227         CheckglSDL
  2228         CheckPTHREAD
  2229         # Set up files for the audio library
  2230         if test x$enable_audio = xyes; then
  2231             AC_DEFINE(SDL_AUDIO_DRIVER_QNXNTO)
  2232             SOURCES="$SOURCES $srcdir/src/audio/nto/*.c"
  2233             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lasound"
  2234             have_audio=yes
  2235         fi
  2236         # Set up files for the cdrom library
  2237         if test x$enable_cdrom = xyes; then
  2238             AC_DEFINE(SDL_CDROM_QNX)
  2239             SOURCES="$SOURCES $srcdir/src/cdrom/qnx/*.c"
  2240             have_cdrom=yes
  2241         fi
  2242         # Set up files for the timer library
  2243         if test x$enable_timers = xyes; then
  2244             AC_DEFINE(SDL_TIMER_UNIX)
  2245             SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  2246             have_timers=yes
  2247         fi
  2248         ;;
  2249     *-*-cygwin* | *-*-mingw32*)
  2250         ARCH=win32
  2251         if test "$build" != "$host"; then # cross-compiling
  2252             # Default cross-compile location
  2253             ac_default_prefix=/usr/local/cross-tools/i386-mingw32msvc
  2254         else
  2255             # Look for the location of the tools and install there
  2256             if test "$BUILD_PREFIX" != ""; then
  2257                 ac_default_prefix=$BUILD_PREFIX
  2258             fi
  2259         fi
  2260         CheckDummyVideo
  2261         CheckDiskAudio
  2262         CheckDummyAudio
  2263         CheckWIN32
  2264         CheckWIN32GL
  2265         CheckglSDL
  2266         CheckDIRECTX
  2267         CheckNASM
  2268         # Set up files for the video library
  2269         if test x$enable_video = xyes; then
  2270             AC_DEFINE(SDL_VIDEO_DRIVER_WIN32)
  2271             SOURCES="$SOURCES $srcdir/src/video/win32/*.c"
  2272             have_video=yes
  2273             AC_ARG_ENABLE(render-gdi,
  2274 AC_HELP_STRING([--enable-render-gdi], [enable the GDI render driver [[default=yes]]]),
  2275                                 , enable_render_gdi=yes)
  2276             if test x$enable_render_gdi = xyes; then
  2277                 AC_DEFINE(SDL_VIDEO_RENDER_GDI)
  2278             fi
  2279             AC_ARG_ENABLE(render-d3d,
  2280 AC_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[default=yes]]]),
  2281                                 , enable_render_d3d=yes)
  2282             if test x$enable_render_d3d = xyes -a x$have_d3d = xyes; then
  2283                 AC_DEFINE(SDL_VIDEO_RENDER_D3D)
  2284             fi
  2285         fi
  2286         # Set up files for the audio library
  2287         if test x$enable_audio = xyes; then
  2288             AC_DEFINE(SDL_AUDIO_DRIVER_WAVEOUT)
  2289             SOURCES="$SOURCES $srcdir/src/audio/windib/*.c"
  2290             if test x$have_dsound = xyes; then
  2291                 AC_DEFINE(SDL_AUDIO_DRIVER_DSOUND)
  2292                 SOURCES="$SOURCES $srcdir/src/audio/windx5/*.c"
  2293             fi
  2294             have_audio=yes
  2295         fi
  2296         # Set up files for the joystick library
  2297         if test x$enable_joystick = xyes; then
  2298             if test x$have_dinput = xyes; then
  2299                 AC_DEFINE(SDL_JOYSTICK_DINPUT)
  2300                 SOURCES="$SOURCES $srcdir/src/joystick/win32/SDL_dxjoystick.c"
  2301             else
  2302                 AC_DEFINE(SDL_JOYSTICK_WINMM)
  2303                 SOURCES="$SOURCES $srcdir/src/joystick/win32/SDL_mmjoystick.c"
  2304             fi
  2305             have_joystick=yes
  2306         fi
  2307         # Set up files for the cdrom library
  2308         if test x$enable_cdrom = xyes; then
  2309             AC_DEFINE(SDL_CDROM_WIN32)
  2310             SOURCES="$SOURCES $srcdir/src/cdrom/win32/*.c"
  2311             have_cdrom=yes
  2312         fi
  2313         # Set up files for the thread library
  2314         if test x$enable_threads = xyes; then
  2315             AC_DEFINE(SDL_THREAD_WIN32)
  2316             SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_sysmutex.c"
  2317             SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_syssem.c"
  2318             SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_systhread.c"
  2319             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
  2320             have_threads=yes
  2321         fi
  2322         # Set up files for the timer library
  2323         if test x$enable_timers = xyes; then
  2324             AC_DEFINE(SDL_TIMER_WIN32)
  2325             SOURCES="$SOURCES $srcdir/src/timer/win32/*.c"
  2326             have_timers=yes
  2327         fi
  2328         # Set up files for the shared object loading library
  2329         if test x$enable_loadso = xyes; then
  2330             AC_DEFINE(SDL_LOADSO_WIN32)
  2331             SOURCES="$SOURCES $srcdir/src/loadso/win32/*.c"
  2332             have_loadso=yes
  2333         fi
  2334         # Set up the system libraries we need
  2335         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -luser32 -lgdi32 -lmsimg32 -lwinmm"
  2336         # The Win32 platform requires special setup
  2337         SDLMAIN_SOURCES="$srcdir/src/main/win32/*.c"
  2338         SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
  2339         SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows"
  2340         ;;
  2341     *-*-beos*)
  2342         ARCH=beos
  2343         ac_default_prefix=/boot/develop/tools/gnupro
  2344         CheckDummyVideo
  2345         CheckDiskAudio
  2346         CheckDummyAudio
  2347         CheckNASM
  2348         CheckBWINDOW
  2349         CheckBeGL
  2350         CheckglSDL
  2351         # Set up files for the audio library
  2352         if test x$enable_audio = xyes; then
  2353             AC_DEFINE(SDL_AUDIO_DRIVER_BAUDIO)
  2354             SOURCES="$SOURCES $srcdir/src/audio/baudio/*.cc"
  2355             have_audio=yes
  2356         fi
  2357         # Set up files for the joystick library
  2358         if test x$enable_joystick = xyes; then
  2359             AC_DEFINE(SDL_JOYSTICK_BEOS)
  2360             SOURCES="$SOURCES $srcdir/src/joystick/beos/*.cc"
  2361             have_joystick=yes
  2362         fi
  2363         # Set up files for the cdrom library
  2364         if test x$enable_cdrom = xyes; then
  2365             AC_DEFINE(SDL_CDROM_BEOS)
  2366             SOURCES="$SOURCES $srcdir/src/cdrom/beos/*.cc"
  2367             have_cdrom=yes
  2368         fi
  2369         # Set up files for the thread library
  2370         if test x$enable_threads = xyes; then
  2371             AC_DEFINE(SDL_THREAD_BEOS)
  2372             SOURCES="$SOURCES $srcdir/src/thread/beos/*.c"
  2373             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c"
  2374             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
  2375             have_threads=yes
  2376         fi
  2377         # Set up files for the timer library
  2378         if test x$enable_timers = xyes; then
  2379             AC_DEFINE(SDL_TIMER_BEOS)
  2380             SOURCES="$SOURCES $srcdir/src/timer/beos/*.c"
  2381             have_timers=yes
  2382         fi
  2383         # Set up files for the shared object loading library
  2384         if test x$enable_loadso = xyes; then
  2385             AC_DEFINE(SDL_LOADSO_BEOS)
  2386             SOURCES="$SOURCES $srcdir/src/loadso/beos/*.c"
  2387             have_loadso=yes
  2388         fi
  2389         # The BeOS platform requires special setup.
  2390         SOURCES="$srcdir/src/main/beos/*.cc $SOURCES"
  2391         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding"
  2392         ;;
  2393     *-*-darwin* )
  2394         # This could be either full "Mac OS X", or plain "Darwin" which is
  2395         # just the OS X kernel sans upper layers like Carbon and Cocoa.
  2396         # Next line is broken, and a few files below require Mac OS X (full)
  2397         ARCH=macosx
  2398 
  2399         # Mac OS X builds with both the Carbon and OSX APIs at the moment
  2400         EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_CARBON"
  2401         EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_OSX"
  2402 
  2403         # HACK: Reset EXTRA_LDFLAGS; the only thing it contains at this point
  2404         # is -lm which is not needed under Mac OS X. But for some reasons it
  2405         # also tends to contain spurious -L switches, which we don't want to
  2406         # use here or in sdl-config. Hence we reset it.
  2407         EXTRA_LDFLAGS=""
  2408 
  2409         CheckVisibilityHidden
  2410         CheckDummyVideo
  2411         CheckDiskAudio
  2412         CheckDummyAudio
  2413         CheckDLOPEN
  2414 
  2415         # Temporarily disabled:
  2416         # ld: mmxp2_32.o has external relocation entries in non-writable section (__TEXT,__text) for symbols: _mmxreturn
  2417         #CheckNASM
  2418 
  2419         # Set up files for the shared object loading library
  2420         # (this needs to be done before the dynamic X11 check)
  2421         if test x$enable_loadso = xyes -a x$have_dlopen != xyes; then
  2422             AC_DEFINE(SDL_LOADSO_DLCOMPAT)
  2423             SOURCES="$SOURCES $srcdir/src/loadso/macosx/*.c"
  2424             have_loadso=yes
  2425         fi
  2426 
  2427         CheckCOCOA
  2428         CheckX11
  2429         CheckMacGL
  2430         CheckOpenGLX11
  2431         CheckglSDL
  2432         CheckPTHREAD
  2433         CheckAltivec
  2434 
  2435         # Need this or things might misbuild on a G3.
  2436         EXTRA_CFLAGS="$EXTRA_CFLAGS -force_cpusubtype_ALL"
  2437 
  2438         # Set up files for the audio library
  2439         if test x$enable_audio = xyes; then
  2440             AC_DEFINE(SDL_AUDIO_DRIVER_COREAUDIO)
  2441             SOURCES="$SOURCES $srcdir/src/audio/macosx/*.c"
  2442             AC_DEFINE(SDL_AUDIO_DRIVER_SNDMGR)
  2443             SOURCES="$SOURCES $srcdir/src/audio/macrom/*.c"
  2444             have_audio=yes
  2445         fi
  2446         # Set up files for the joystick library
  2447         if test x$enable_joystick = xyes; then
  2448             AC_DEFINE(SDL_JOYSTICK_IOKIT)
  2449             SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c"
  2450             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit"
  2451             have_joystick=yes
  2452         fi
  2453         # Set up files for the cdrom library
  2454         if test x$enable_cdrom = xyes; then
  2455             AC_DEFINE(SDL_CDROM_MACOSX)
  2456             SOURCES="$SOURCES $srcdir/src/cdrom/macosx/*.c"
  2457             have_cdrom=yes
  2458         fi
  2459         # Set up files for the timer library
  2460         if test x$enable_timers = xyes; then
  2461             AC_DEFINE(SDL_TIMER_UNIX)
  2462             SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  2463             have_timers=yes
  2464         fi
  2465         # The Mac OS X platform requires special setup.
  2466         EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"
  2467         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Cocoa"
  2468         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Carbon"
  2469         # If either the audio or CD driver is used, add the AudioUnit framework
  2470         if test x$enable_audio = xyes -o x$enable_cdrom = xyes; then
  2471             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit"
  2472         fi
  2473         ;;
  2474     *-*-mint*)
  2475         ARCH=mint
  2476         CheckDummyVideo
  2477         CheckDiskAudio
  2478         CheckDummyAudio
  2479         CheckAtariBiosEvent
  2480         CheckAtariXbiosVideo
  2481         CheckAtariGemVideo
  2482         CheckAtariAudio
  2483         CheckAtariLdg
  2484         CheckAtariOSMesa
  2485         CheckglSDL
  2486         CheckPTH
  2487         # Set up files for the audio library
  2488         if test x$enable_threads = xyes -a x$enable_pth = xyes; then
  2489             if test x$enable_audio = xyes; then
  2490                 AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO)
  2491                 SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
  2492                 have_audio=yes
  2493             fi
  2494         fi
  2495         # Set up files for the joystick library
  2496         if test x$enable_joystick = xyes; then
  2497             AC_DEFINE(SDL_JOYSTICK_MINT)
  2498             SOURCES="$SOURCES $srcdir/src/joystick/mint/*.c"
  2499             have_joystick=yes
  2500         fi
  2501         # Set up files for the cdrom library
  2502         if test x$enable_cdrom = xyes; then
  2503             AC_DEFINE(SDL_CDROM_MINT)
  2504             SOURCES="$SOURCES $srcdir/src/cdrom/mint/*.c"
  2505             have_cdrom=yes
  2506         fi
  2507         # Set up files for the timer library
  2508         if test x$enable_timers = xyes; then
  2509             if test x$enable_threads = xyes -a x$enable_pth = xyes; then
  2510                 AC_DEFINE(SDL_TIMER_UNIX)
  2511                 SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  2512             else
  2513                 AC_DEFINE(SDL_TIMER_MINT)
  2514                 SOURCES="$SOURCES $srcdir/src/timer/mint/*.c"
  2515                 SOURCES="$SOURCES $srcdir/src/timer/mint/*.S"
  2516             fi
  2517             have_timers=yes
  2518         fi
  2519         ;;
  2520     *-riscos)
  2521         ARCH=riscos
  2522         CheckOSS
  2523         CheckPTHREAD
  2524         # Set up files for the video library
  2525         if test x$enable_video = xyes; then
  2526             AC_DEFINE(SDL_VIDEO_DRIVER_RISCOS)
  2527             SOURCES="$SOURCES $srcdir/src/video/riscos/*.c"
  2528             SOURCES="$SOURCES $srcdir/src/video/riscos/*.S"
  2529             have_video=yes
  2530         fi
  2531         # Set up files for the joystick library
  2532         if test x$enable_joystick = xyes; then
  2533             AC_DEFINE(SDL_JOYSTICK_RISCOS)
  2534             SOURCES="$SOURCES $srcdir/src/joystick/riscos/*.c"
  2535             have_joystick=yes
  2536         fi
  2537         # Set up files for the timer library
  2538         if test x$enable_timers = xyes; then
  2539             AC_DEFINE(SDL_TIMER_RISCOS)
  2540             SOURCES="$SOURCES $srcdir/src/timer/riscos/*.c"
  2541             have_timers=yes
  2542         fi
  2543         # The RISC OS platform requires special setup.
  2544         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ljpeg -ltiff -lpng -lz"
  2545         ;;
  2546     *)
  2547         AC_MSG_ERROR([
  2548 *** Unsupported host:  Please add to configure.in
  2549         ])
  2550         ;;
  2551 esac
  2552 
  2553 # Verify that we have all the platform specific files we need
  2554 if test x$have_joystick != xyes; then
  2555     if test x$enable_joystick = xyes; then
  2556         AC_DEFINE(SDL_JOYSTICK_DISABLED)
  2557     fi
  2558     SOURCES="$SOURCES $srcdir/src/joystick/dummy/*.c"
  2559 fi
  2560 if test x$have_cdrom != xyes; then
  2561     if test x$enable_cdrom = xyes; then
  2562         AC_DEFINE(SDL_CDROM_DISABLED)
  2563     fi
  2564     SOURCES="$SOURCES $srcdir/src/cdrom/dummy/*.c"
  2565 fi
  2566 if test x$have_threads != xyes; then
  2567     if test x$enable_threads = xyes; then
  2568         AC_DEFINE(SDL_THREADS_DISABLED)
  2569     fi
  2570     SOURCES="$SOURCES $srcdir/src/thread/generic/*.c"
  2571 fi
  2572 if test x$have_timers != xyes; then
  2573     if test x$enable_timers = xyes; then
  2574         AC_DEFINE(SDL_TIMERS_DISABLED)
  2575     fi
  2576     SOURCES="$SOURCES $srcdir/src/timer/dummy/*.c"
  2577 fi
  2578 if test x$have_loadso != xyes; then
  2579     if test x$enable_loadso = xyes; then
  2580         AC_DEFINE(SDL_LOADSO_DISABLED)
  2581     fi
  2582     SOURCES="$SOURCES $srcdir/src/loadso/dummy/*.c"
  2583 fi
  2584 if test x$SDLMAIN_SOURCES = x; then
  2585     SDLMAIN_SOURCES="$srcdir/src/main/dummy/*.c"
  2586 fi
  2587 
  2588 OBJECTS=`echo $SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.asm,$(objects)/\1.lo,g'`
  2589 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.lo,g'`
  2590 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.m,$(objects)/\1.lo,g'`
  2591 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
  2592 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.S,$(objects)/\1.lo,g'`
  2593 
  2594 SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.o,g'`
  2595 SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'`
  2596 
  2597 # Set runtime shared library paths as needed
  2598 
  2599 if test "x$enable_rpath" = "xyes"; then
  2600   if test $ARCH = bsdi -o $ARCH = freebsd -o $ARCH = irix -o $ARCH = linux -o $ARCH = netbsd; then
  2601     SDL_RLD_FLAGS="-Wl,-rpath,\${exec_prefix}/lib"
  2602   fi
  2603   if test $ARCH = solaris; then
  2604     SDL_RLD_FLAGS="-R\${exec_prefix}/lib"
  2605   fi
  2606 else
  2607   SDL_RLD_FLAGS=""
  2608 fi
  2609 
  2610 case "$ARCH" in
  2611   macosx)
  2612     SDL_LIBS="$SDL_LIBS -Wl,-framework,Cocoa"
  2613     # Evil hack to allow static linking on Mac OS X
  2614     SDL_STATIC_LIBS="\${exec_prefix}/lib/libSDL.a $EXTRA_LDFLAGS"
  2615     ;;
  2616   *)
  2617     SDL_STATIC_LIBS="$SDL_LIBS"
  2618     ;;
  2619 esac
  2620 
  2621 dnl Expand the cflags and libraries needed by apps using SDL
  2622 AC_SUBST(SDL_CFLAGS)
  2623 AC_SUBST(SDL_LIBS)
  2624 AC_SUBST(SDL_STATIC_LIBS)
  2625 AC_SUBST(SDL_RLD_FLAGS)
  2626 if test x$enable_shared = xyes; then
  2627     ENABLE_SHARED_TRUE=
  2628     ENABLE_SHARED_FALSE="#"
  2629 else
  2630     ENABLE_SHARED_TRUE="#"
  2631     ENABLE_SHARED_FALSE=
  2632 fi
  2633 if test x$enable_static = xyes; then
  2634     ENABLE_STATIC_TRUE=
  2635     ENABLE_STATIC_FALSE="#"
  2636 else
  2637     ENABLE_STATIC_TRUE="#"
  2638     ENABLE_STATIC_FALSE=
  2639 fi
  2640 AC_SUBST(ENABLE_SHARED_TRUE)
  2641 AC_SUBST(ENABLE_SHARED_FALSE)
  2642 AC_SUBST(ENABLE_STATIC_TRUE)
  2643 AC_SUBST(ENABLE_STATIC_FALSE)
  2644 
  2645 dnl Expand the sources and objects needed to build the library
  2646 AC_SUBST(ac_aux_dir)
  2647 AC_SUBST(INCLUDE)
  2648 AC_SUBST(SOURCES)
  2649 AC_SUBST(OBJECTS)
  2650 AC_SUBST(SDLMAIN_SOURCES)
  2651 AC_SUBST(SDLMAIN_OBJECTS)
  2652 AC_SUBST(BUILD_CFLAGS)
  2653 AC_SUBST(EXTRA_CFLAGS)
  2654 AC_SUBST(BUILD_LDFLAGS)
  2655 AC_SUBST(EXTRA_LDFLAGS)
  2656 
  2657 AC_OUTPUT([
  2658     Makefile sdl-config SDL.spec SDL.qpg sdl.pc
  2659 ], [
  2660     : >build-deps
  2661     if test x"$MAKE" = x; then MAKE=make; fi; $MAKE depend
  2662 ])