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