configure.in
author Sam Lantinga <slouken@libsdl.org>
Thu, 10 Aug 2006 14:35:42 +0000
changeset 1977 754847f19490
parent 1952 420716272158
child 1981 3f21778e7433
permissions -rw-r--r--
David Hedbor is no longer maintaining the Qtopia code.
     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 Atari Bios keyboard driver
  1272 CheckAtariBiosEvent()
  1273 {
  1274     SOURCES="$SOURCES $srcdir/src/video/ataricommon/*.c"
  1275     SOURCES="$SOURCES $srcdir/src/video/ataricommon/*.S"
  1276 }
  1277 
  1278 dnl Set up the Atari Xbios driver
  1279 CheckAtariXbiosVideo()
  1280 {
  1281     AC_ARG_ENABLE(xbios,
  1282 AC_HELP_STRING([--enable-video-xbios], [use Atari Xbios video driver [[default=yes]]]),
  1283                   , enable_video_xbios=yes)
  1284     video_xbios=no
  1285     if test x$enable_video = xyes -a x$enable_video_xbios = xyes; then
  1286         video_xbios=yes
  1287         AC_DEFINE(SDL_VIDEO_DRIVER_XBIOS)
  1288         SOURCES="$SOURCES $srcdir/src/video/xbios/*.c"
  1289         have_video=yes
  1290     fi
  1291 }
  1292 
  1293 dnl Set up the Atari Gem driver
  1294 CheckAtariGemVideo()
  1295 {
  1296     AC_ARG_ENABLE(gem,
  1297 AC_HELP_STRING([--enable-video-gem], [use Atari Gem video driver [[default=yes]]]),
  1298                   , enable_video_gem=yes)
  1299     if test x$enable_video = xyes -a x$enable_video_gem = xyes; then
  1300         video_gem=no
  1301         AC_CHECK_HEADER(gem.h, have_gem_hdr=yes)
  1302         AC_CHECK_LIB(gem, appl_init, have_gem_lib=yes)
  1303         if test x$have_gem_hdr = xyes -a x$have_gem_lib = xyes; then
  1304             video_gem=yes
  1305             AC_DEFINE(SDL_VIDEO_DRIVER_GEM)
  1306             SOURCES="$SOURCES $srcdir/src/video/gem/*.c"
  1307             SDL_LIBS="$SDL_LIBS -lgem"
  1308             have_video=yes
  1309         fi
  1310     fi
  1311 }
  1312 
  1313 dnl rcg04172001 Set up the Null video driver.
  1314 CheckDummyVideo()
  1315 {
  1316     AC_ARG_ENABLE(video-dummy,
  1317 AC_HELP_STRING([--enable-video-dummy], [use dummy video driver [[default=yes]]]),
  1318                   , enable_video_dummy=yes)
  1319     if test x$enable_video_dummy = xyes; then
  1320         AC_DEFINE(SDL_VIDEO_DRIVER_DUMMY)
  1321         SOURCES="$SOURCES $srcdir/src/video/dummy/*.c"
  1322         have_video=yes
  1323     fi
  1324 }
  1325 
  1326 dnl Check to see if OpenGL support is desired
  1327 AC_ARG_ENABLE(video-opengl,
  1328 AC_HELP_STRING([--enable-video-opengl], [include OpenGL support [[default=yes]]]),
  1329               , enable_video_opengl=yes)
  1330 
  1331 dnl Find OpenGL
  1332 CheckOpenGLX11()
  1333 {
  1334     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1335         AC_MSG_CHECKING(for OpenGL (GLX) support)
  1336         video_opengl=no
  1337         AC_TRY_COMPILE([
  1338          #include <GL/gl.h>
  1339          #include <GL/glx.h>
  1340         ],[
  1341         ],[
  1342         video_opengl=yes
  1343         ])
  1344         AC_MSG_RESULT($video_opengl)
  1345         if test x$video_opengl = xyes; then
  1346             AC_DEFINE(SDL_VIDEO_OPENGL)
  1347             AC_DEFINE(SDL_VIDEO_OPENGL_GLX)
  1348             AC_DEFINE(SDL_VIDEO_RENDER_OGL)
  1349         fi
  1350     fi
  1351 }
  1352 
  1353 dnl Find QNX RtP OpenGL
  1354 CheckOpenGLQNX()
  1355 {
  1356     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1357         AC_MSG_CHECKING(for OpenGL (Photon) support)
  1358         video_opengl=no
  1359         AC_TRY_COMPILE([
  1360          #include <GL/gl.h>
  1361         ],[
  1362         ],[
  1363         video_opengl=yes
  1364         ])
  1365         AC_MSG_RESULT($video_opengl)
  1366         if test x$video_opengl = xyes; then
  1367             AC_DEFINE(SDL_VIDEO_OPENGL)
  1368             AC_DEFINE(SDL_VIDEO_RENDER_OGL)
  1369             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lGL"
  1370         fi
  1371     fi
  1372 }
  1373 
  1374 dnl Check for Win32 OpenGL
  1375 CheckWIN32GL()
  1376 {
  1377     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1378         AC_DEFINE(SDL_VIDEO_OPENGL)
  1379         AC_DEFINE(SDL_VIDEO_OPENGL_WGL)
  1380         AC_DEFINE(SDL_VIDEO_RENDER_OGL)
  1381     fi
  1382 }
  1383 
  1384 dnl Check for BeOS OpenGL
  1385 CheckBeGL()
  1386 {
  1387     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1388         AC_DEFINE(SDL_VIDEO_OPENGL)
  1389         AC_DEFINE(SDL_VIDEO_OPENGL_BGL)
  1390         AC_DEFINE(SDL_VIDEO_RENDER_OGL)
  1391         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lGL"
  1392     fi
  1393 }
  1394 
  1395 dnl Check for MacOS OpenGL
  1396 CheckMacGL()
  1397 {
  1398     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1399         AC_DEFINE(SDL_VIDEO_OPENGL)
  1400         AC_DEFINE(SDL_VIDEO_OPENGL_CGL)
  1401         AC_DEFINE(SDL_VIDEO_RENDER_OGL)
  1402         case "$host" in
  1403             *-*-darwin*)
  1404                 if test x$enable_video_cocoa = xyes; then
  1405                     EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,OpenGL"
  1406                 fi
  1407         esac
  1408     fi
  1409 }
  1410 
  1411 dnl Check for Mesa offscreen rendering
  1412 CheckAtariOSMesa()
  1413 {
  1414     if test "x$enable_video" = "xyes" -a "x$enable_video_opengl" = "xyes"; then
  1415         AC_CHECK_HEADER(GL/osmesa.h, have_osmesa_hdr=yes)
  1416         AC_CHECK_LIB(OSMesa, OSMesaCreateContext, have_osmesa_lib=yes, have_osmesa_lib=no, -lm)
  1417 
  1418         # Static linking to -lOSMesa
  1419         AC_PATH_PROG(OSMESA_CONFIG, osmesa-config, no)
  1420         if test "x$OSMESA_CONFIG" = "xno" -o "x$enable_atari_ldg" = "xno"; then
  1421             # -lOSMesa is really the static library
  1422             if test "x$have_osmesa_hdr" = "xyes" -a "x$have_osmesa_lib" = "xyes"; then
  1423                 OSMESA_LIBS="-lOSMesa"
  1424             fi
  1425         else
  1426             # -lOSMesa is a loader for OSMesa.ldg
  1427             OSMESA_CFLAGS=`$OSMESA_CONFIG --cflags`
  1428             OSMESA_LIBS=`$OSMESA_CONFIG --libs`
  1429         fi
  1430         AC_DEFINE(SDL_VIDEO_OPENGL)
  1431         AC_DEFINE(SDL_VIDEO_OPENGL_OSMESA)
  1432         AC_DEFINE(SDL_VIDEO_RENDER_OGL)
  1433         SDL_CFLAGS="$SDL_CFLAGS $OSMESA_CFLAGS"
  1434         SDL_LIBS="$SDL_LIBS $OSMESA_LIBS"
  1435 
  1436         AC_ARG_ENABLE(osmesa-shared,
  1437 AC_HELP_STRING([--enable-osmesa-shared], [dynamically load OSMesa OpenGL support [[default=yes]]]),
  1438                               , enable_osmesa_shared=yes)
  1439         if test "x$enable_osmesa_shared" = "xyes" -a "x$enable_atari_ldg" = "xyes"; then
  1440             # Dynamic linking
  1441             if test "x$have_osmesa_hdr" = "xyes"; then
  1442                 AC_DEFINE(SDL_VIDEO_OPENGL_OSMESA_DYNAMIC)
  1443             fi
  1444         fi
  1445     fi
  1446 }
  1447 
  1448 dnl See if we can use the new unified event interface in Linux 2.4
  1449 CheckInputEvents()
  1450 {
  1451     dnl Check for Linux 2.4 unified input event interface support
  1452     AC_ARG_ENABLE(input-events,
  1453 AC_HELP_STRING([--enable-input-events], [use Linux 2.4 unified input interface [[default=yes]]]),
  1454                   , enable_input_events=yes)
  1455     if test x$enable_input_events = xyes; then
  1456         AC_MSG_CHECKING(for Linux 2.4 unified input interface)
  1457         use_input_events=no
  1458         AC_TRY_COMPILE([
  1459           #include <linux/input.h>
  1460         ],[
  1461           #ifndef EVIOCGNAME
  1462           #error EVIOCGNAME() ioctl not available
  1463           #endif
  1464         ],[
  1465         use_input_events=yes
  1466         ])
  1467         AC_MSG_RESULT($use_input_events)
  1468         if test x$use_input_events = xyes; then
  1469             AC_DEFINE(SDL_INPUT_LINUXEV)
  1470         fi
  1471     fi
  1472 }
  1473 
  1474 dnl See if we can use the Touchscreen input library
  1475 CheckTslib()
  1476 {
  1477     AC_ARG_ENABLE(input-tslib,
  1478 AC_HELP_STRING([--enable-input-tslib], [use the Touchscreen library for input [[default=yes]]]),
  1479                   , enable_input_tslib=yes)
  1480     if test x$enable_input_tslib = xyes; then
  1481         AC_MSG_CHECKING(for Touchscreen library support)
  1482         enable_input_tslib=no
  1483         AC_TRY_COMPILE([
  1484           #include "tslib.h"
  1485         ],[
  1486         ],[
  1487         enable_input_tslib=yes
  1488         ])
  1489         AC_MSG_RESULT($enable_input_tslib)
  1490         if test x$enable_input_tslib = xyes; then
  1491             AC_DEFINE(SDL_INPUT_TSLIB)
  1492             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lts"
  1493         fi
  1494     fi
  1495 }
  1496 
  1497 dnl See if we can use GNU pth library for threads
  1498 CheckPTH()
  1499 {
  1500     dnl Check for pth support
  1501     AC_ARG_ENABLE(pth,
  1502 AC_HELP_STRING([--enable-pth], [use GNU pth library for multi-threading [[default=yes]]]),
  1503                   , enable_pth=yes)
  1504     if test x$enable_threads = xyes -a x$enable_pth = xyes; then
  1505         AC_PATH_PROG(PTH_CONFIG, pth-config, no)
  1506         if test "$PTH_CONFIG" = "no"; then
  1507             use_pth=no
  1508         else
  1509             use_pth=yes
  1510         fi
  1511         AC_MSG_CHECKING(pth)
  1512         AC_MSG_RESULT($use_pth)
  1513         if test "x$use_pth" = xyes; then
  1514             AC_DEFINE(SDL_THREAD_PTH)
  1515             SOURCES="$SOURCES $srcdir/src/thread/pth/*.c"
  1516             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syssem.c"
  1517             SDL_CFLAGS="$SDL_CFLAGS `$PTH_CONFIG --cflags`"
  1518             SDL_LIBS="$SDL_LIBS `$PTH_CONFIG --libs --all`"
  1519             have_threads=yes
  1520         fi
  1521     fi
  1522 }
  1523 
  1524 dnl See what type of thread model to use on Linux and Solaris
  1525 CheckPTHREAD()
  1526 {
  1527     dnl Check for pthread support
  1528     AC_ARG_ENABLE(pthreads,
  1529 AC_HELP_STRING([--enable-pthreads], [use POSIX threads for multi-threading [[default=yes]]]),
  1530                   , enable_pthreads=yes)
  1531     dnl This is used on Linux for glibc binary compatibility (Doh!)
  1532     AC_ARG_ENABLE(pthread-sem,
  1533 AC_HELP_STRING([--enable-pthread-sem], [use pthread semaphores [[default=yes]]]),
  1534                   , enable_pthread_sem=yes)
  1535     case "$host" in
  1536         *-*-linux*|*-*-uclinux*)
  1537             pthread_cflags="-D_REENTRANT"
  1538             pthread_lib="-lpthread"
  1539             ;;
  1540         *-*-bsdi*)
  1541             pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1542             pthread_lib=""
  1543             ;;
  1544         *-*-darwin*)
  1545             pthread_cflags="-D_THREAD_SAFE"
  1546 # causes Carbon.p complaints?
  1547 #            pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1548             ;;
  1549         *-*-freebsd*|*-*-dragonfly*)
  1550             pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1551             pthread_lib="-pthread"
  1552             ;;
  1553         *-*-netbsd*)
  1554             pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1555             pthread_lib="-L/usr/lib -lpthread"
  1556             ;;
  1557         *-*-openbsd*)
  1558             pthread_cflags="-D_REENTRANT"
  1559             pthread_lib="-pthread"
  1560             ;;
  1561         *-*-solaris*)
  1562             pthread_cflags="-D_REENTRANT"
  1563             pthread_lib="-lpthread -lposix4"
  1564             ;;
  1565         *-*-sysv5*)
  1566             pthread_cflags="-D_REENTRANT -Kthread"
  1567             pthread_lib=""
  1568             ;;
  1569         *-*-irix*)
  1570             pthread_cflags="-D_SGI_MP_SOURCE"
  1571             pthread_lib="-lpthread"
  1572             ;;
  1573         *-*-aix*)
  1574             pthread_cflags="-D_REENTRANT -mthreads"
  1575             pthread_lib="-lpthread"
  1576             ;;
  1577         *-*-hpux11*)
  1578             pthread_cflags="-D_REENTRANT"
  1579             pthread_lib="-L/usr/lib -lpthread"
  1580             ;;
  1581         *-*-qnx*)
  1582             pthread_cflags=""
  1583             pthread_lib=""
  1584             ;;
  1585         *-*-osf*)
  1586             pthread_cflags="-D_REENTRANT"
  1587             if test x$ac_cv_prog_gcc = xyes; then
  1588                 pthread_lib="-lpthread -lrt"
  1589             else
  1590                 pthread_lib="-lpthread -lexc -lrt"
  1591             fi
  1592             ;;
  1593         *)
  1594             pthread_cflags="-D_REENTRANT"
  1595             pthread_lib="-lpthread"
  1596             ;;
  1597     esac
  1598     if test x$enable_threads = xyes -a x$enable_pthreads = xyes -a x$enable_ipod != xyes; then
  1599         # Save the original compiler flags and libraries
  1600         ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
  1601         # Add the pthread compiler flags and libraries
  1602         CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
  1603         # Check to see if we have pthread support on this system
  1604         AC_MSG_CHECKING(for pthreads)
  1605         use_pthreads=no
  1606         AC_TRY_LINK([
  1607          #include <pthread.h>
  1608         ],[
  1609          pthread_attr_t type;
  1610          pthread_attr_init(&type);
  1611         ],[
  1612         use_pthreads=yes
  1613         ])
  1614         AC_MSG_RESULT($use_pthreads)
  1615         # Restore the compiler flags and libraries
  1616         CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
  1617 
  1618         # Do futher testing if we have pthread support...
  1619         if test x$use_pthreads = xyes; then
  1620             AC_DEFINE(SDL_THREAD_PTHREAD)
  1621             EXTRA_CFLAGS="$EXTRA_CFLAGS $pthread_cflags"
  1622             EXTRA_LDFLAGS="$EXTRA_LDFLAGS $pthread_lib"
  1623             SDL_CFLAGS="$SDL_CFLAGS $pthread_cflags"
  1624             SDL_LIBS="$SDL_LIBS $pthread_lib"
  1625 
  1626             # Save the original compiler flags and libraries
  1627             ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
  1628             # Add the pthread compiler flags and libraries
  1629             CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
  1630 
  1631             # Check to see if recursive mutexes are available
  1632             AC_MSG_CHECKING(for recursive mutexes)
  1633             has_recursive_mutexes=no
  1634             if test x$has_recursive_mutexes = xno; then
  1635                 AC_TRY_COMPILE([
  1636                   #include <pthread.h>
  1637                 ],[
  1638                   pthread_mutexattr_t attr;
  1639                   pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
  1640                 ],[
  1641                 has_recursive_mutexes=yes
  1642                 AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX)
  1643                 ])
  1644             fi
  1645             if test x$has_recursive_mutexes = xno; then
  1646                 AC_TRY_COMPILE([
  1647                   #include <pthread.h>
  1648                 ],[
  1649                   pthread_mutexattr_t attr;
  1650                   pthread_mutexattr_setkind_np(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
  1651                 ],[
  1652                 has_recursive_mutexes=yes
  1653                 AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP)
  1654                 ])
  1655             fi
  1656             AC_MSG_RESULT($has_recursive_mutexes)
  1657 
  1658             # Check to see if pthread semaphore support is missing
  1659             if test x$enable_pthread_sem = xyes; then
  1660                 AC_MSG_CHECKING(for pthread semaphores)
  1661                 have_pthread_sem=no
  1662                 AC_TRY_COMPILE([
  1663                   #include <pthread.h>
  1664                   #include <semaphore.h>
  1665                 ],[
  1666                 ],[
  1667                 have_pthread_sem=yes
  1668                 ])
  1669                 AC_MSG_RESULT($have_pthread_sem)
  1670             fi
  1671 
  1672             # Restore the compiler flags and libraries
  1673             CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
  1674 
  1675             # Basic thread creation functions
  1676             SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_systhread.c"
  1677 
  1678             # Semaphores
  1679             # We can fake these with mutexes and condition variables if necessary
  1680             if test x$have_pthread_sem = xyes; then
  1681                 SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syssem.c"
  1682             else
  1683                 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syssem.c"
  1684             fi
  1685 
  1686             # Mutexes
  1687             # We can fake these with semaphores if necessary
  1688             SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_sysmutex.c"
  1689 
  1690             # Condition variables
  1691             # We can fake these with semaphores and mutexes if necessary
  1692             SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syscond.c"
  1693 
  1694             have_threads=yes
  1695         else
  1696             CheckPTH
  1697         fi
  1698     fi
  1699 }
  1700 
  1701 dnl Determine whether the compiler can produce Win32 executables
  1702 CheckWIN32()
  1703 {
  1704     AC_MSG_CHECKING(Win32 compiler)
  1705     have_win32_gcc=no
  1706     AC_TRY_COMPILE([
  1707      #include <windows.h>
  1708     ],[
  1709     ],[
  1710     have_win32_gcc=yes
  1711     ])
  1712     AC_MSG_RESULT($have_win32_gcc)
  1713     if test x$have_win32_gcc != xyes; then
  1714        AC_MSG_ERROR([
  1715 *** Your compiler ($CC) does not produce Win32 executables!
  1716        ])
  1717     fi
  1718 
  1719     dnl See if the user wants to redirect standard output to files
  1720     AC_ARG_ENABLE(stdio-redirect,
  1721 AC_HELP_STRING([--enable-stdio-redirect], [Redirect STDIO to files on Win32 [[default=yes]]]),
  1722                   , enable_stdio_redirect=yes)
  1723     if test x$enable_stdio_redirect != xyes; then
  1724         EXTRA_CFLAGS="$EXTRA_CFLAGS -DNO_STDIO_REDIRECT"
  1725     fi
  1726 }
  1727 
  1728 dnl Find the DirectX includes and libraries
  1729 CheckDIRECTX()
  1730 {
  1731     AC_ARG_ENABLE(directx,
  1732 AC_HELP_STRING([--enable-directx], [use DirectX for Win32 audio/video [[default=yes]]]),
  1733                   , enable_directx=yes)
  1734     if test x$enable_directx = xyes; then
  1735         AC_CHECK_HEADER(d3d9.h, have_d3d=yes)
  1736         AC_CHECK_HEADER(dsound.h, have_dsound=yes)
  1737         AC_CHECK_HEADER(dinput.h, use_dinput=yes)
  1738     fi
  1739 }
  1740 
  1741 dnl Check for the dlfcn.h interface for dynamically loading objects
  1742 CheckDLOPEN()
  1743 {
  1744     AC_ARG_ENABLE(sdl-dlopen,
  1745 AC_HELP_STRING([--enable-sdl-dlopen], [use dlopen for shared object loading [[default=yes]]]),
  1746                   , enable_sdl_dlopen=yes)
  1747     if test x$enable_sdl_dlopen = xyes; then
  1748         AC_MSG_CHECKING(for dlopen)
  1749         have_dlopen=no
  1750         AC_TRY_COMPILE([
  1751          #include <dlfcn.h>
  1752         ],[
  1753          #if defined(MAC_OS_X_VERSION_MIN_REQUIRED) && MAC_OS_X_VERSION_MIN_REQUIRED <= 1020
  1754          #error Use dlcompat for Mac OS X 10.2 compatibility
  1755          #endif
  1756         ],[
  1757         have_dlopen=yes
  1758         ])
  1759         AC_MSG_RESULT($have_dlopen)
  1760 
  1761         if test x$have_dlopen = xyes; then
  1762             AC_CHECK_LIB(c, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS",
  1763                AC_CHECK_LIB(dl, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ldl",
  1764                   AC_CHECK_LIB(ltdl, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lltdl")))
  1765             AC_CHECK_LIB(dl, dlvsym, have_dlvsym=yes)
  1766             if test x$have_dlvsym = xyes; then
  1767                 AC_DEFINE(HAVE_DLVSYM)
  1768             fi
  1769             AC_DEFINE(SDL_LOADSO_DLOPEN)
  1770             SOURCES="$SOURCES $srcdir/src/loadso/dlopen/*.c"
  1771             have_loadso=yes
  1772         fi
  1773     fi
  1774 }
  1775 
  1776 dnl Set up the Atari LDG (shared object loader)
  1777 CheckAtariLdg()
  1778 {
  1779     AC_ARG_ENABLE(atari-ldg,
  1780 AC_HELP_STRING([--enable-atari-ldg], [use Atari LDG for shared object loading [[default=yes]]]),
  1781                   , enable_atari_ldg=yes)
  1782     if test x$video_gem = xyes -a x$enable_atari_ldg = xyes; then
  1783         AC_CHECK_HEADER(ldg.h, have_ldg_hdr=yes)
  1784         AC_CHECK_LIB(ldg, ldg_open, have_ldg_lib=yes, have_ldg_lib=no, -lgem)
  1785         if test x$have_ldg_hdr = xyes -a x$have_ldg_lib = xyes; then
  1786             AC_DEFINE(SDL_LOADSO_LDG)
  1787             SOURCES="$SOURCES $srcdir/src/loadso/mint/*.c"
  1788             SDL_LIBS="$SDL_LIBS -lldg -lgem"
  1789             have_loadso=yes
  1790         fi
  1791     fi
  1792 }
  1793 
  1794 dnl Check for the usbhid(3) library on *BSD
  1795 CheckUSBHID()
  1796 {
  1797     if test x$enable_joystick = xyes; then
  1798         AC_CHECK_LIB(usbhid, hid_init, have_libusbhid=yes)
  1799         if test x$have_libusbhid = xyes; then
  1800             AC_CHECK_HEADER(usbhid.h, [USB_CFLAGS="-DHAVE_USBHID_H"])
  1801             AC_CHECK_HEADER(libusbhid.h, [USB_CFLAGS="-DHAVE_LIBUSBHID_H"])
  1802             USB_LIBS="$USB_LIBS -lusbhid"
  1803         else
  1804             AC_CHECK_HEADER(usb.h, [USB_CFLAGS="-DHAVE_USB_H"])
  1805             AC_CHECK_HEADER(libusb.h, [USB_CFLAGS="-DHAVE_LIBUSB_H"])
  1806             AC_CHECK_LIB(usb, hid_init, [USB_LIBS="$USB_LIBS -lusb"])
  1807         fi
  1808             
  1809         save_CFLAGS="$CFLAGS"
  1810         CFLAGS="$CFLAGS $USB_CFLAGS"
  1811 
  1812         AC_MSG_CHECKING(for usbhid)
  1813         have_usbhid=no
  1814         AC_TRY_COMPILE([
  1815           #include <sys/types.h>
  1816           #if defined(HAVE_USB_H)
  1817           #include <usb.h>
  1818           #endif
  1819           #ifdef __DragonFly__
  1820           # include <bus/usb/usb.h>
  1821           # include <bus/usb/usbhid.h>
  1822           #else
  1823           # include <dev/usb/usb.h>
  1824           # include <dev/usb/usbhid.h>
  1825           #endif
  1826           #if defined(HAVE_USBHID_H)
  1827           #include <usbhid.h>
  1828           #elif defined(HAVE_LIBUSB_H)
  1829           #include <libusb.h>
  1830           #elif defined(HAVE_LIBUSBHID_H)
  1831           #include <libusbhid.h>
  1832           #endif
  1833         ],[
  1834           struct report_desc *repdesc;
  1835           struct usb_ctl_report *repbuf;
  1836           hid_kind_t hidkind;
  1837         ],[
  1838         have_usbhid=yes
  1839         ])
  1840         AC_MSG_RESULT($have_usbhid)
  1841 
  1842         if test x$have_usbhid = xyes; then
  1843             AC_MSG_CHECKING(for ucr_data member of usb_ctl_report)
  1844             have_usbhid_ucr_data=no
  1845             AC_TRY_COMPILE([
  1846               #include <sys/types.h>
  1847               #if defined(HAVE_USB_H)
  1848               #include <usb.h>
  1849               #endif
  1850               #ifdef __DragonFly__
  1851               # include <bus/usb/usb.h>
  1852               # include <bus/usb/usbhid.h>
  1853               #else
  1854               # include <dev/usb/usb.h>
  1855               # include <dev/usb/usbhid.h>
  1856               #endif
  1857               #if defined(HAVE_USBHID_H)
  1858               #include <usbhid.h>
  1859               #elif defined(HAVE_LIBUSB_H)
  1860               #include <libusb.h>
  1861               #elif defined(HAVE_LIBUSBHID_H)
  1862               #include <libusbhid.h>
  1863               #endif
  1864             ],[
  1865               struct usb_ctl_report buf;
  1866               if (buf.ucr_data) { }
  1867             ],[
  1868             have_usbhid_ucr_data=yes
  1869             ])
  1870             if test x$have_usbhid_ucr_data = xyes; then
  1871                 USB_CFLAGS="$USB_CFLAGS -DUSBHID_UCR_DATA"
  1872             fi
  1873             AC_MSG_RESULT($have_usbhid_ucr_data)
  1874             
  1875             AC_MSG_CHECKING(for new usbhid API)
  1876             have_usbhid_new=no
  1877             AC_TRY_COMPILE([
  1878               #include <sys/types.h>
  1879               #if defined(HAVE_USB_H)
  1880               #include <usb.h>
  1881               #endif
  1882               #include <dev/usb/usb.h>
  1883               #include <dev/usb/usbhid.h>
  1884               #if defined(HAVE_USBHID_H)
  1885               #include <usbhid.h>
  1886               #elif defined(HAVE_LIBUSB_H)
  1887               #include <libusb.h>
  1888               #elif defined(HAVE_LIBUSBHID_H)
  1889               #include <libusbhid.h>
  1890               #endif
  1891             ],[
  1892               report_desc_t d;
  1893               hid_start_parse(d, 1, 1);
  1894             ],[
  1895             have_usbhid_new=yes
  1896             ])
  1897             if test x$have_usbhid_new = xyes; then
  1898                 USB_CFLAGS="$USB_CFLAGS -DUSBHID_NEW"
  1899             fi
  1900             AC_MSG_RESULT($have_usbhid_new)
  1901 
  1902             AC_MSG_CHECKING(for struct joystick in machine/joystick.h)
  1903             have_machine_joystick=no
  1904             AC_TRY_COMPILE([
  1905               #include <machine/joystick.h>
  1906             ],[
  1907               struct joystick t;
  1908             ],[
  1909             have_machine_joystick=yes
  1910             ])
  1911             if test x$have_machine_joystick = xyes; then
  1912                 AC_DEFINE(SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H)
  1913             fi
  1914             AC_MSG_RESULT($have_machine_joystick)
  1915 
  1916             AC_DEFINE(SDL_JOYSTICK_USBHID)
  1917             SOURCES="$SOURCES $srcdir/src/joystick/bsd/*.c"
  1918             EXTRA_CFLAGS="$EXTRA_CFLAGS $USB_CFLAGS"
  1919             EXTRA_LDFLAGS="$EXTRA_LDFLAGS $USB_LIBS"
  1920             have_joystick=yes
  1921         fi
  1922         CFLAGS="$save_CFLAGS"
  1923     fi
  1924 }
  1925 
  1926 dnl Check for clock_gettime()
  1927 CheckClockGettime()
  1928 {
  1929     AC_ARG_ENABLE(clock_gettime,
  1930 AC_HELP_STRING([--enable-clock_gettime], [use clock_gettime() instead of gettimeofday() on UNIX [[default=no]]]),
  1931                   , enable_clock_gettime=no)
  1932     if test x$enable_clock_gettime = xyes; then
  1933         AC_CHECK_LIB(rt, clock_gettime, have_clock_gettime=yes)
  1934         if test x$have_clock_gettime = xyes; then
  1935             AC_DEFINE(HAVE_CLOCK_GETTIME)
  1936             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lrt"
  1937         fi
  1938     fi
  1939 }
  1940 
  1941 dnl Check for a valid linux/version.h
  1942 CheckLinuxVersion()
  1943 {
  1944     AC_CHECK_HEADER(linux/version.h, have_linux_version_h=yes)
  1945     if test x$have_linux_version_h = xyes; then
  1946         EXTRA_CFLAGS="$EXTRA_CFLAGS -DHAVE_LINUX_VERSION_H"
  1947     fi
  1948 }
  1949 
  1950 dnl Check if we want to use RPATH
  1951 CheckRPATH()
  1952 {
  1953     AC_ARG_ENABLE(rpath,
  1954 AC_HELP_STRING([--enable-rpath], [use an rpath when linking SDL [[default=yes]]]),
  1955                   , enable_rpath=yes)
  1956 }
  1957 
  1958 dnl Set up the configuration based on the host platform!
  1959 case "$host" in
  1960     arm-*-elf*) # FIXME: Can we get more specific for iPodLinux?
  1961         ARCH=linux
  1962         CheckDummyVideo
  1963         CheckIPod
  1964         # Set up files for the timer library
  1965         if test x$enable_timers = xyes; then
  1966             AC_DEFINE(SDL_TIMER_UNIX)
  1967             SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  1968             have_timers=yes
  1969         fi
  1970         ;;
  1971     *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-irix*|*-*-aix*|*-*-osf*)
  1972         case "$host" in
  1973             *-*-linux*)         ARCH=linux ;;
  1974             *-*-uclinux*)       ARCH=linux ;;
  1975             *-*-kfreebsd*-gnu)  ARCH=kfreebsd-gnu ;;
  1976             *-*-knetbsd*-gnu)   ARCH=knetbsd-gnu ;;
  1977             *-*-kopenbsd*-gnu)  ARCH=kopenbsd-gnu ;;
  1978             *-*-gnu*)           ARCH=gnu ;; # must be last of the gnu variants
  1979             *-*-bsdi*)          ARCH=bsdi ;;
  1980             *-*-freebsd*)       ARCH=freebsd ;;
  1981             *-*-dragonfly*)     ARCH=freebsd ;;
  1982             *-*-netbsd*)        ARCH=netbsd ;;
  1983             *-*-openbsd*)       ARCH=openbsd ;;
  1984             *-*-sysv5*)         ARCH=sysv5 ;;
  1985             *-*-solaris*)       ARCH=solaris ;;
  1986             *-*-hpux*)          ARCH=hpux ;;
  1987             *-*-irix*)          ARCH=irix ;;
  1988             *-*-aix*)           ARCH=aix ;;
  1989             *-*-osf*)           ARCH=osf ;;
  1990         esac
  1991         CheckVisibilityHidden
  1992         CheckDummyVideo
  1993         CheckDiskAudio
  1994         CheckDummyAudio
  1995         CheckDLOPEN
  1996         CheckNASM
  1997         CheckAltivec
  1998         CheckOSS
  1999         CheckDMEDIA
  2000         CheckMME
  2001         CheckALSA
  2002         CheckARTSC
  2003         CheckESD
  2004         CheckNAS
  2005         CheckX11
  2006         CheckNANOX
  2007         CheckFBCON
  2008         CheckDirectFB
  2009         CheckPS2GS
  2010         CheckGGI
  2011         CheckSVGA
  2012         CheckVGL
  2013         CheckWscons
  2014         CheckOpenGLX11
  2015         CheckInputEvents
  2016         CheckTslib
  2017         CheckUSBHID
  2018         CheckPTHREAD
  2019         CheckClockGettime
  2020         CheckLinuxVersion
  2021         CheckRPATH
  2022         # Set up files for the audio library
  2023         if test x$enable_audio = xyes; then
  2024           case $ARCH in
  2025             sysv5|solaris|hpux)
  2026                 AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO)
  2027                 SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
  2028                 have_audio=yes
  2029             ;;
  2030             netbsd|openbsd)
  2031                 AC_DEFINE(SDL_AUDIO_DRIVER_BSD)
  2032                 SOURCES="$SOURCES $srcdir/src/audio/bsd/*.c"
  2033                 have_audio=yes
  2034             ;;
  2035             aix)
  2036                 AC_DEFINE(SDL_AUDIO_DRIVER_PAUD)
  2037                 SOURCES="$SOURCES $srcdir/src/audio/paudio/*.c"
  2038                 have_audio=yes
  2039             ;;
  2040           esac
  2041         fi
  2042         # Set up files for the joystick library
  2043         if test x$enable_joystick = xyes; then
  2044           case $ARCH in
  2045             linux)
  2046                 AC_DEFINE(SDL_JOYSTICK_LINUX)
  2047                 SOURCES="$SOURCES $srcdir/src/joystick/linux/*.c"
  2048                 have_joystick=yes
  2049             ;;
  2050           esac
  2051         fi
  2052         # Set up files for the cdrom library
  2053         if test x$enable_cdrom = xyes; then
  2054           case $ARCH in
  2055             linux|solaris)
  2056                 AC_DEFINE(SDL_CDROM_LINUX)
  2057                 SOURCES="$SOURCES $srcdir/src/cdrom/linux/*.c"
  2058                 have_cdrom=yes
  2059             ;;
  2060             *freebsd*)
  2061                 AC_DEFINE(SDL_CDROM_FREEBSD)
  2062                 SOURCES="$SOURCES $srcdir/src/cdrom/freebsd/*.c"
  2063                 have_cdrom=yes
  2064             ;;
  2065             *openbsd*|*netbsd*)
  2066                 AC_DEFINE(SDL_CDROM_OPENBSD)
  2067                 SOURCES="$SOURCES $srcdir/src/cdrom/openbsd/*.c"
  2068                 have_cdrom=yes
  2069             ;;
  2070             bsdi)
  2071                 AC_DEFINE(SDL_CDROM_BSDI)
  2072                 SOURCES="$SOURCES $srcdir/src/cdrom/bsdi/*.c"
  2073                 have_cdrom=yes
  2074             ;;
  2075             aix)
  2076                 AC_DEFINE(SDL_CDROM_AIX)
  2077                 SOURCES="$SOURCES $srcdir/src/cdrom/aix/*.c"
  2078                 have_cdrom=yes
  2079             ;;
  2080             osf)
  2081                 AC_DEFINE(SDL_CDROM_OSF)
  2082                 SOURCES="$SOURCES $srcdir/src/cdrom/osf/*.c"
  2083                 have_cdrom=yes
  2084             ;;
  2085           esac
  2086         fi
  2087         # Set up files for the thread library
  2088         if test x$enable_threads = xyes -a x$use_pthreads != xyes -a x$use_pth != xyes -a x$ARCH = xirix; then
  2089             AC_DEFINE(SDL_THREAD_SPROC)
  2090             SOURCES="$SOURCES $srcdir/src/thread/irix/*.c"
  2091             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c"
  2092             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
  2093             have_threads=yes
  2094         fi
  2095         # Set up files for the timer library
  2096         if test x$enable_timers = xyes; then
  2097             AC_DEFINE(SDL_TIMER_UNIX)
  2098             SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  2099             have_timers=yes
  2100         fi
  2101         ;;
  2102     *-*-qnx*)
  2103         ARCH=qnx
  2104         CheckDummyVideo
  2105         CheckDiskAudio
  2106         CheckDummyAudio
  2107         # CheckNASM
  2108         CheckDLOPEN
  2109         CheckNAS
  2110         CheckPHOTON
  2111         CheckX11
  2112         CheckOpenGLX11
  2113         CheckPTHREAD
  2114         # Set up files for the audio library
  2115         if test x$enable_audio = xyes; then
  2116             AC_DEFINE(SDL_AUDIO_DRIVER_QNXNTO)
  2117             SOURCES="$SOURCES $srcdir/src/audio/nto/*.c"
  2118             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lasound"
  2119             have_audio=yes
  2120         fi
  2121         # Set up files for the cdrom library
  2122         if test x$enable_cdrom = xyes; then
  2123             AC_DEFINE(SDL_CDROM_QNX)
  2124             SOURCES="$SOURCES $srcdir/src/cdrom/qnx/*.c"
  2125             have_cdrom=yes
  2126         fi
  2127         # Set up files for the timer library
  2128         if test x$enable_timers = xyes; then
  2129             AC_DEFINE(SDL_TIMER_UNIX)
  2130             SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  2131             have_timers=yes
  2132         fi
  2133         ;;
  2134     *-*-cygwin* | *-*-mingw32*)
  2135         ARCH=win32
  2136         if test "$build" != "$host"; then # cross-compiling
  2137             # Default cross-compile location
  2138             ac_default_prefix=/usr/local/cross-tools/i386-mingw32msvc
  2139         else
  2140             # Look for the location of the tools and install there
  2141             if test "$BUILD_PREFIX" != ""; then
  2142                 ac_default_prefix=$BUILD_PREFIX
  2143             fi
  2144         fi
  2145         CheckDummyVideo
  2146         CheckDiskAudio
  2147         CheckDummyAudio
  2148         CheckWIN32
  2149         CheckWIN32GL
  2150         CheckDIRECTX
  2151         CheckNASM
  2152         # Set up files for the video library
  2153         if test x$enable_video = xyes; then
  2154             AC_DEFINE(SDL_VIDEO_DRIVER_WIN32)
  2155             SOURCES="$SOURCES $srcdir/src/video/win32/*.c"
  2156             have_video=yes
  2157             AC_ARG_ENABLE(render-gdi,
  2158 AC_HELP_STRING([--enable-render-gdi], [enable the GDI render driver [[default=yes]]]),
  2159                                 , enable_render_gdi=yes)
  2160             if test x$enable_render_gdi = xyes; then
  2161                 AC_DEFINE(SDL_VIDEO_RENDER_GDI)
  2162             fi
  2163             AC_ARG_ENABLE(render-d3d,
  2164 AC_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[default=yes]]]),
  2165                                 , enable_render_d3d=yes)
  2166             if test x$enable_render_d3d = xyes -a x$have_d3d = xyes; then
  2167                 AC_DEFINE(SDL_VIDEO_RENDER_D3D)
  2168             fi
  2169         fi
  2170         # Set up files for the audio library
  2171         if test x$enable_audio = xyes; then
  2172             AC_DEFINE(SDL_AUDIO_DRIVER_WAVEOUT)
  2173             SOURCES="$SOURCES $srcdir/src/audio/windib/*.c"
  2174             if test x$have_dsound = xyes; then
  2175                 AC_DEFINE(SDL_AUDIO_DRIVER_DSOUND)
  2176                 SOURCES="$SOURCES $srcdir/src/audio/windx5/*.c"
  2177             fi
  2178             have_audio=yes
  2179         fi
  2180         # Set up files for the joystick library
  2181         if test x$enable_joystick = xyes; then
  2182             if test x$have_dinput = xyes; then
  2183                 AC_DEFINE(SDL_JOYSTICK_DINPUT)
  2184                 SOURCES="$SOURCES $srcdir/src/joystick/win32/SDL_dxjoystick.c"
  2185             else
  2186                 AC_DEFINE(SDL_JOYSTICK_WINMM)
  2187                 SOURCES="$SOURCES $srcdir/src/joystick/win32/SDL_mmjoystick.c"
  2188             fi
  2189             have_joystick=yes
  2190         fi
  2191         # Set up files for the cdrom library
  2192         if test x$enable_cdrom = xyes; then
  2193             AC_DEFINE(SDL_CDROM_WIN32)
  2194             SOURCES="$SOURCES $srcdir/src/cdrom/win32/*.c"
  2195             have_cdrom=yes
  2196         fi
  2197         # Set up files for the thread library
  2198         if test x$enable_threads = xyes; then
  2199             AC_DEFINE(SDL_THREAD_WIN32)
  2200             SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_sysmutex.c"
  2201             SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_syssem.c"
  2202             SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_systhread.c"
  2203             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
  2204             have_threads=yes
  2205         fi
  2206         # Set up files for the timer library
  2207         if test x$enable_timers = xyes; then
  2208             AC_DEFINE(SDL_TIMER_WIN32)
  2209             SOURCES="$SOURCES $srcdir/src/timer/win32/*.c"
  2210             have_timers=yes
  2211         fi
  2212         # Set up files for the shared object loading library
  2213         if test x$enable_loadso = xyes; then
  2214             AC_DEFINE(SDL_LOADSO_WIN32)
  2215             SOURCES="$SOURCES $srcdir/src/loadso/win32/*.c"
  2216             have_loadso=yes
  2217         fi
  2218         # Set up the system libraries we need
  2219         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -luser32 -lgdi32 -lmsimg32 -lwinmm"
  2220         # The Win32 platform requires special setup
  2221         SDLMAIN_SOURCES="$srcdir/src/main/win32/*.c"
  2222         SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
  2223         SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows"
  2224         ;;
  2225     *-*-beos*)
  2226         ARCH=beos
  2227         ac_default_prefix=/boot/develop/tools/gnupro
  2228         CheckDummyVideo
  2229         CheckDiskAudio
  2230         CheckDummyAudio
  2231         CheckNASM
  2232         CheckBWINDOW
  2233         CheckBeGL
  2234         # Set up files for the audio library
  2235         if test x$enable_audio = xyes; then
  2236             AC_DEFINE(SDL_AUDIO_DRIVER_BAUDIO)
  2237             SOURCES="$SOURCES $srcdir/src/audio/baudio/*.cc"
  2238             have_audio=yes
  2239         fi
  2240         # Set up files for the joystick library
  2241         if test x$enable_joystick = xyes; then
  2242             AC_DEFINE(SDL_JOYSTICK_BEOS)
  2243             SOURCES="$SOURCES $srcdir/src/joystick/beos/*.cc"
  2244             have_joystick=yes
  2245         fi
  2246         # Set up files for the cdrom library
  2247         if test x$enable_cdrom = xyes; then
  2248             AC_DEFINE(SDL_CDROM_BEOS)
  2249             SOURCES="$SOURCES $srcdir/src/cdrom/beos/*.cc"
  2250             have_cdrom=yes
  2251         fi
  2252         # Set up files for the thread library
  2253         if test x$enable_threads = xyes; then
  2254             AC_DEFINE(SDL_THREAD_BEOS)
  2255             SOURCES="$SOURCES $srcdir/src/thread/beos/*.c"
  2256             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c"
  2257             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
  2258             have_threads=yes
  2259         fi
  2260         # Set up files for the timer library
  2261         if test x$enable_timers = xyes; then
  2262             AC_DEFINE(SDL_TIMER_BEOS)
  2263             SOURCES="$SOURCES $srcdir/src/timer/beos/*.c"
  2264             have_timers=yes
  2265         fi
  2266         # Set up files for the shared object loading library
  2267         if test x$enable_loadso = xyes; then
  2268             AC_DEFINE(SDL_LOADSO_BEOS)
  2269             SOURCES="$SOURCES $srcdir/src/loadso/beos/*.c"
  2270             have_loadso=yes
  2271         fi
  2272         # The BeOS platform requires special setup.
  2273         SOURCES="$srcdir/src/main/beos/*.cc $SOURCES"
  2274         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding"
  2275         ;;
  2276     *-*-darwin* )
  2277         # This could be either full "Mac OS X", or plain "Darwin" which is
  2278         # just the OS X kernel sans upper layers like Carbon and Cocoa.
  2279         # Next line is broken, and a few files below require Mac OS X (full)
  2280         ARCH=macosx
  2281 
  2282         # Mac OS X builds with both the Carbon and OSX APIs at the moment
  2283         EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_CARBON"
  2284         EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_OSX"
  2285 
  2286         # HACK: Reset EXTRA_LDFLAGS; the only thing it contains at this point
  2287         # is -lm which is not needed under Mac OS X. But for some reasons it
  2288         # also tends to contain spurious -L switches, which we don't want to
  2289         # use here or in sdl-config. Hence we reset it.
  2290         EXTRA_LDFLAGS=""
  2291 
  2292         CheckVisibilityHidden
  2293         CheckDummyVideo
  2294         CheckDiskAudio
  2295         CheckDummyAudio
  2296         CheckDLOPEN
  2297 
  2298         # Temporarily disabled:
  2299         # ld: mmxp2_32.o has external relocation entries in non-writable section (__TEXT,__text) for symbols: _mmxreturn
  2300         #CheckNASM
  2301 
  2302         # Set up files for the shared object loading library
  2303         # (this needs to be done before the dynamic X11 check)
  2304         if test x$enable_loadso = xyes -a x$have_dlopen != xyes; then
  2305             AC_DEFINE(SDL_LOADSO_DLCOMPAT)
  2306             SOURCES="$SOURCES $srcdir/src/loadso/macosx/*.c"
  2307             have_loadso=yes
  2308         fi
  2309 
  2310         CheckCOCOA
  2311         CheckX11
  2312         CheckMacGL
  2313         CheckOpenGLX11
  2314         CheckPTHREAD
  2315         CheckAltivec
  2316 
  2317         # Need this or things might misbuild on a G3.
  2318         EXTRA_CFLAGS="$EXTRA_CFLAGS -force_cpusubtype_ALL"
  2319 
  2320         # Set up files for the audio library
  2321         if test x$enable_audio = xyes; then
  2322             AC_DEFINE(SDL_AUDIO_DRIVER_COREAUDIO)
  2323             SOURCES="$SOURCES $srcdir/src/audio/macosx/*.c"
  2324             AC_DEFINE(SDL_AUDIO_DRIVER_SNDMGR)
  2325             SOURCES="$SOURCES $srcdir/src/audio/macrom/*.c"
  2326             have_audio=yes
  2327         fi
  2328         # Set up files for the joystick library
  2329         if test x$enable_joystick = xyes; then
  2330             AC_DEFINE(SDL_JOYSTICK_IOKIT)
  2331             SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c"
  2332             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit"
  2333             have_joystick=yes
  2334         fi
  2335         # Set up files for the cdrom library
  2336         if test x$enable_cdrom = xyes; then
  2337             AC_DEFINE(SDL_CDROM_MACOSX)
  2338             SOURCES="$SOURCES $srcdir/src/cdrom/macosx/*.c"
  2339             have_cdrom=yes
  2340         fi
  2341         # Set up files for the timer library
  2342         if test x$enable_timers = xyes; then
  2343             AC_DEFINE(SDL_TIMER_UNIX)
  2344             SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  2345             have_timers=yes
  2346         fi
  2347         # The Mac OS X platform requires special setup.
  2348         EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"
  2349         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Cocoa"
  2350         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Carbon"
  2351         # If either the audio or CD driver is used, add the AudioUnit framework
  2352         if test x$enable_audio = xyes -o x$enable_cdrom = xyes; then
  2353             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit"
  2354         fi
  2355         ;;
  2356     *-*-mint*)
  2357         ARCH=mint
  2358         CheckDummyVideo
  2359         CheckDiskAudio
  2360         CheckDummyAudio
  2361         CheckAtariBiosEvent
  2362         CheckAtariXbiosVideo
  2363         CheckAtariGemVideo
  2364         CheckAtariAudio
  2365         CheckAtariLdg
  2366         CheckAtariOSMesa
  2367         CheckPTH
  2368         # Set up files for the audio library
  2369         if test x$enable_threads = xyes -a x$enable_pth = xyes; then
  2370             if test x$enable_audio = xyes; then
  2371                 AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO)
  2372                 SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
  2373                 have_audio=yes
  2374             fi
  2375         fi
  2376         # Set up files for the joystick library
  2377         if test x$enable_joystick = xyes; then
  2378             AC_DEFINE(SDL_JOYSTICK_MINT)
  2379             SOURCES="$SOURCES $srcdir/src/joystick/mint/*.c"
  2380             have_joystick=yes
  2381         fi
  2382         # Set up files for the cdrom library
  2383         if test x$enable_cdrom = xyes; then
  2384             AC_DEFINE(SDL_CDROM_MINT)
  2385             SOURCES="$SOURCES $srcdir/src/cdrom/mint/*.c"
  2386             have_cdrom=yes
  2387         fi
  2388         # Set up files for the timer library
  2389         if test x$enable_timers = xyes; then
  2390             if test x$enable_threads = xyes -a x$enable_pth = xyes; then
  2391                 AC_DEFINE(SDL_TIMER_UNIX)
  2392                 SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  2393             else
  2394                 AC_DEFINE(SDL_TIMER_MINT)
  2395                 SOURCES="$SOURCES $srcdir/src/timer/mint/*.c"
  2396                 SOURCES="$SOURCES $srcdir/src/timer/mint/*.S"
  2397             fi
  2398             have_timers=yes
  2399         fi
  2400         ;;
  2401     *-riscos)
  2402         ARCH=riscos
  2403         CheckOSS
  2404         CheckPTHREAD
  2405         # Set up files for the video library
  2406         if test x$enable_video = xyes; then
  2407             AC_DEFINE(SDL_VIDEO_DRIVER_RISCOS)
  2408             SOURCES="$SOURCES $srcdir/src/video/riscos/*.c"
  2409             SOURCES="$SOURCES $srcdir/src/video/riscos/*.S"
  2410             have_video=yes
  2411         fi
  2412         # Set up files for the joystick library
  2413         if test x$enable_joystick = xyes; then
  2414             AC_DEFINE(SDL_JOYSTICK_RISCOS)
  2415             SOURCES="$SOURCES $srcdir/src/joystick/riscos/*.c"
  2416             have_joystick=yes
  2417         fi
  2418         # Set up files for the timer library
  2419         if test x$enable_timers = xyes; then
  2420             AC_DEFINE(SDL_TIMER_RISCOS)
  2421             SOURCES="$SOURCES $srcdir/src/timer/riscos/*.c"
  2422             have_timers=yes
  2423         fi
  2424         # The RISC OS platform requires special setup.
  2425         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ljpeg -ltiff -lpng -lz"
  2426         ;;
  2427     *)
  2428         AC_MSG_ERROR([
  2429 *** Unsupported host:  Please add to configure.in
  2430         ])
  2431         ;;
  2432 esac
  2433 
  2434 # Verify that we have all the platform specific files we need
  2435 if test x$have_joystick != xyes; then
  2436     if test x$enable_joystick = xyes; then
  2437         AC_DEFINE(SDL_JOYSTICK_DISABLED)
  2438     fi
  2439     SOURCES="$SOURCES $srcdir/src/joystick/dummy/*.c"
  2440 fi
  2441 if test x$have_cdrom != xyes; then
  2442     if test x$enable_cdrom = xyes; then
  2443         AC_DEFINE(SDL_CDROM_DISABLED)
  2444     fi
  2445     SOURCES="$SOURCES $srcdir/src/cdrom/dummy/*.c"
  2446 fi
  2447 if test x$have_threads != xyes; then
  2448     if test x$enable_threads = xyes; then
  2449         AC_DEFINE(SDL_THREADS_DISABLED)
  2450     fi
  2451     SOURCES="$SOURCES $srcdir/src/thread/generic/*.c"
  2452 fi
  2453 if test x$have_timers != xyes; then
  2454     if test x$enable_timers = xyes; then
  2455         AC_DEFINE(SDL_TIMERS_DISABLED)
  2456     fi
  2457     SOURCES="$SOURCES $srcdir/src/timer/dummy/*.c"
  2458 fi
  2459 if test x$have_loadso != xyes; then
  2460     if test x$enable_loadso = xyes; then
  2461         AC_DEFINE(SDL_LOADSO_DISABLED)
  2462     fi
  2463     SOURCES="$SOURCES $srcdir/src/loadso/dummy/*.c"
  2464 fi
  2465 if test x$SDLMAIN_SOURCES = x; then
  2466     SDLMAIN_SOURCES="$srcdir/src/main/dummy/*.c"
  2467 fi
  2468 
  2469 OBJECTS=`echo $SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.asm,$(objects)/\1.lo,g'`
  2470 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.lo,g'`
  2471 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.m,$(objects)/\1.lo,g'`
  2472 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
  2473 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.S,$(objects)/\1.lo,g'`
  2474 
  2475 SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.o,g'`
  2476 SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'`
  2477 
  2478 # Set runtime shared library paths as needed
  2479 
  2480 if test "x$enable_rpath" = "xyes"; then
  2481   if test $ARCH = bsdi -o $ARCH = freebsd -o $ARCH = irix -o $ARCH = linux -o $ARCH = netbsd; then
  2482     SDL_RLD_FLAGS="-Wl,-rpath,\${exec_prefix}/lib"
  2483   fi
  2484   if test $ARCH = solaris; then
  2485     SDL_RLD_FLAGS="-R\${exec_prefix}/lib"
  2486   fi
  2487 else
  2488   SDL_RLD_FLAGS=""
  2489 fi
  2490 
  2491 case "$ARCH" in
  2492   macosx)
  2493     # Evil hack to allow static linking on Mac OS X
  2494     SDL_STATIC_LIBS="\${exec_prefix}/lib/libSDL.a $EXTRA_LDFLAGS"
  2495     ;;
  2496   *)
  2497     SDL_STATIC_LIBS="$SDL_LIBS"
  2498     ;;
  2499 esac
  2500 
  2501 dnl Expand the cflags and libraries needed by apps using SDL
  2502 AC_SUBST(SDL_CFLAGS)
  2503 AC_SUBST(SDL_LIBS)
  2504 AC_SUBST(SDL_STATIC_LIBS)
  2505 AC_SUBST(SDL_RLD_FLAGS)
  2506 if test x$enable_shared = xyes; then
  2507     ENABLE_SHARED_TRUE=
  2508     ENABLE_SHARED_FALSE="#"
  2509 else
  2510     ENABLE_SHARED_TRUE="#"
  2511     ENABLE_SHARED_FALSE=
  2512 fi
  2513 if test x$enable_static = xyes; then
  2514     ENABLE_STATIC_TRUE=
  2515     ENABLE_STATIC_FALSE="#"
  2516 else
  2517     ENABLE_STATIC_TRUE="#"
  2518     ENABLE_STATIC_FALSE=
  2519 fi
  2520 AC_SUBST(ENABLE_SHARED_TRUE)
  2521 AC_SUBST(ENABLE_SHARED_FALSE)
  2522 AC_SUBST(ENABLE_STATIC_TRUE)
  2523 AC_SUBST(ENABLE_STATIC_FALSE)
  2524 
  2525 dnl Expand the sources and objects needed to build the library
  2526 AC_SUBST(ac_aux_dir)
  2527 AC_SUBST(INCLUDE)
  2528 AC_SUBST(SOURCES)
  2529 AC_SUBST(OBJECTS)
  2530 AC_SUBST(SDLMAIN_SOURCES)
  2531 AC_SUBST(SDLMAIN_OBJECTS)
  2532 AC_SUBST(BUILD_CFLAGS)
  2533 AC_SUBST(EXTRA_CFLAGS)
  2534 AC_SUBST(BUILD_LDFLAGS)
  2535 AC_SUBST(EXTRA_LDFLAGS)
  2536 
  2537 AC_OUTPUT([
  2538     Makefile sdl-config SDL.spec SDL.qpg sdl.pc
  2539 ], [
  2540     : >build-deps
  2541     if test x"$MAKE" = x; then MAKE=make; fi; $MAKE depend
  2542 ])