configure.in
author Ryan C. Gordon <icculus@icculus.org>
Fri, 29 Jul 2011 16:51:25 -0400
changeset 5582 1281a3f1f0a6
parent 5577 ced8a6788629
child 5586 7fe92c1dc1d9
permissions -rw-r--r--
Allow Android platforms to read from .apk files via the RWOPS interface.

Fixes Bugzilla #1261.

Thanks to Tim Angus for the patch!
     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 AC_CONFIG_AUX_DIRS($srcdir/build-scripts)
     6 AC_CONFIG_MACRO_DIR([acinclude])
     7 
     8 dnl Save the CFLAGS to see whether they were passed in or generated
     9 orig_CFLAGS="$CFLAGS"
    10 
    11 dnl Set various version strings - taken gratefully from the GTk sources
    12 #
    13 # Making releases:
    14 # Edit include/SDL/SDL_version.h and change the version, then:
    15 #   SDL_MICRO_VERSION += 1;
    16 #   SDL_INTERFACE_AGE += 1;
    17 #   SDL_BINARY_AGE += 1;
    18 # if any functions have been added, set SDL_INTERFACE_AGE to 0.
    19 # if backwards compatibility has been broken,
    20 # set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0.
    21 #
    22 SDL_MAJOR_VERSION=1
    23 SDL_MINOR_VERSION=3
    24 SDL_MICRO_VERSION=0
    25 SDL_INTERFACE_AGE=0
    26 SDL_BINARY_AGE=0
    27 SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
    28 
    29 AC_SUBST(SDL_MAJOR_VERSION)
    30 AC_SUBST(SDL_MINOR_VERSION)
    31 AC_SUBST(SDL_MICRO_VERSION)
    32 AC_SUBST(SDL_INTERFACE_AGE)
    33 AC_SUBST(SDL_BINARY_AGE)
    34 AC_SUBST(SDL_VERSION)
    35 
    36 # libtool versioning
    37 LT_INIT([win32-dll])
    38 
    39 LT_RELEASE=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION
    40 LT_CURRENT=`expr $SDL_MICRO_VERSION - $SDL_INTERFACE_AGE`
    41 LT_REVISION=$SDL_INTERFACE_AGE
    42 LT_AGE=`expr $SDL_BINARY_AGE - $SDL_INTERFACE_AGE`
    43 m4_pattern_allow([^LT_])
    44 
    45 AC_SUBST(LT_RELEASE)
    46 AC_SUBST(LT_CURRENT)
    47 AC_SUBST(LT_REVISION)
    48 AC_SUBST(LT_AGE)
    49 
    50 dnl Detect the canonical build and host environments
    51 dnl AC_CANONICAL_HOST
    52 
    53 dnl Check for tools
    54 AC_PROG_LIBTOOL
    55 AC_PROG_CC
    56 AC_PROG_CXX
    57 AC_PROG_INSTALL
    58 AC_PROG_MAKE_SET
    59 if test -z "$host_alias"; then
    60     hostaliaswindres=
    61 else
    62     hostaliaswindres="$host_alias-windres"
    63 fi
    64 AC_CHECK_PROGS(WINDRES, [windres $hostaliaswindres $host_os-windres])
    65 
    66 dnl Set up the compiler and linker flags
    67 INCLUDE="-I$srcdir/include"
    68 if test x$srcdir != x.; then
    69     # Remove SDL_config.h from the source directory, since it's the
    70     # default one, and we want to include the one that we generate.
    71     if test -f $srcdir/include/SDL_config.h; then
    72         rm $srcdir/include/SDL_config.h
    73     fi
    74     INCLUDE="-Iinclude $INCLUDE"
    75 fi
    76 case "$host" in
    77     *-*-cygwin*)
    78         # We build SDL on cygwin without the UNIX emulation layer
    79         BASE_CFLAGS="-I/usr/include/mingw -mno-cygwin"
    80         BASE_LDFLAGS="-mno-cygwin"
    81         ;;
    82     *)
    83         BASE_CFLAGS=""
    84         BASE_LDFLAGS=""
    85         ;;
    86 esac
    87 # Uncomment the following line if you want to force SDL and applications
    88 # built with it to be compiled for a particular architecture.
    89 #AX_GCC_ARCHFLAG([no], [BASE_CFLAGS="$BASE_CFLAGS $ax_cv_gcc_archflag]")
    90 BUILD_CFLAGS="$CFLAGS $CPPFLAGS"
    91 # The default optimization for SDL 1.3 is -O3 (Bug #31)
    92 if test x$orig_CFLAGS = x; then
    93     BUILD_CFLAGS=`echo $BUILD_CFLAGS | sed 's/-O2/-O3/'`
    94 fi
    95 EXTRA_CFLAGS="$INCLUDE $BASE_CFLAGS"
    96 BUILD_LDFLAGS="$LDFLAGS"
    97 EXTRA_LDFLAGS="$BASE_LDFLAGS"
    98 ## These are common directories to find software packages
    99 #for path in /usr/freeware /usr/pkg /usr/X11R6 /usr/local; do
   100 #    if test -d $path/include; then
   101 #        EXTRA_CFLAGS="$EXTRA_CFLAGS -I$path/include"
   102 #    fi
   103 #    if test -d $path/lib; then
   104 #        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -L$path/lib"
   105 #    fi
   106 #done
   107 SDL_CFLAGS="$BASE_CFLAGS"
   108 SDL_LIBS="-lSDL $BASE_LDFLAGS"
   109 CPPFLAGS="$CPPFLAGS $EXTRA_CFLAGS"
   110 CFLAGS="$CFLAGS $EXTRA_CFLAGS"
   111 LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS"
   112 
   113 dnl set this to use on systems that use lib64 instead of lib
   114 base_libdir=`echo \${libdir} | sed 's/.*\/\(.*\)/\1/; q'`
   115 
   116 dnl Function to find a library in the compiler search path
   117 find_lib()
   118 {
   119     gcc_bin_path=[`$CC -print-search-dirs 2>/dev/null | fgrep programs: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`]
   120     gcc_lib_path=[`$CC -print-search-dirs 2>/dev/null | fgrep libraries: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`]
   121     env_lib_path=[`echo $LIBS $LDFLAGS $* | sed 's/-L[ ]*//g'`]
   122     if test "$cross_compiling" = yes; then
   123         host_lib_path=""
   124     else
   125         host_lib_path="/usr/$base_libdir /usr/local/$base_libdir"
   126     fi
   127     for path in $gcc_bin_path $gcc_lib_path $env_lib_path $host_lib_path; do
   128         lib=[`ls -- $path/$1 2>/dev/null | sort | sed 's/.*\/\(.*\)/\1/; q'`]
   129         if test x$lib != x; then
   130             echo $lib
   131             return
   132         fi
   133     done
   134 }
   135 
   136 dnl Check for compiler characteristics
   137 AC_C_CONST
   138 AC_C_INLINE
   139 AC_C_VOLATILE
   140 
   141 dnl See whether we want assertions for debugging/sanity checking SDL itself.
   142 AC_ARG_ENABLE(assertions,
   143 AC_HELP_STRING([--enable-assertions],
   144                [Enable internal sanity checks (auto/disabled/release/enabled/paranoid) [[default=auto]]]),
   145               , enable_assertions=auto)
   146 case "$enable_assertions" in
   147     auto) # Use optimization settings to determine assertion level
   148         ;;
   149     disabled)
   150         AC_DEFINE(SDL_DEFAULT_ASSERT_LEVEL, 0, [ ])
   151         ;;
   152     release)
   153         AC_DEFINE(SDL_DEFAULT_ASSERT_LEVEL, 1, [ ])
   154         ;;
   155     enabled)
   156         AC_DEFINE(SDL_DEFAULT_ASSERT_LEVEL, 2, [ ])
   157         ;;
   158     paranoid)
   159         AC_DEFINE(SDL_DEFAULT_ASSERT_LEVEL, 3, [ ])
   160         ;;
   161     *)
   162         AC_MSG_ERROR([*** unknown assertion level. stop.])
   163         ;;
   164 esac
   165 
   166 dnl See whether we can use gcc style dependency tracking
   167 AC_ARG_ENABLE(dependency-tracking,
   168 AC_HELP_STRING([--enable-dependency-tracking],
   169                [Use gcc -MMD -MT dependency tracking [[default=yes]]]),
   170               , enable_dependency_tracking=yes)
   171 if test x$enable_dependency_tracking = xyes; then
   172     have_gcc_mmd_mt=no
   173     AC_MSG_CHECKING(for GCC -MMD -MT option)
   174     AC_TRY_COMPILE([
   175     #if !defined(__GNUC__) || __GNUC__ < 3
   176     #error Dependency tracking requires GCC 3.0 or newer
   177     #endif
   178     ],[
   179     ],[
   180     have_gcc_mmd_mt=yes
   181     ])
   182     AC_MSG_RESULT($have_gcc_mmd_mt)
   183 
   184     if test x$have_gcc_mmd_mt = xyes; then
   185         DEPENDENCY_TRACKING_OPTIONS="-MMD -MT \$@"
   186     fi
   187 fi
   188 
   189 dnl See whether we are allowed to use the system C library
   190 AC_ARG_ENABLE(libc,
   191 AC_HELP_STRING([--enable-libc], [Use the system C library [[default=yes]]]),
   192               , enable_libc=yes)
   193 if test x$enable_libc = xyes; then
   194     AC_DEFINE(HAVE_LIBC, 1, [ ])
   195 
   196     dnl Check for C library headers
   197     AC_HEADER_STDC
   198     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)
   199 
   200     dnl Check for typedefs, structures, etc.
   201     AC_TYPE_SIZE_T
   202 
   203     dnl Check for defines
   204     AC_CHECK_DEFINE(M_PI, math.h)
   205 
   206     dnl Checks for library functions.
   207     case "$host" in
   208     *-*-cygwin* | *-*-mingw32*)
   209         ;;
   210     *)
   211         AC_FUNC_ALLOCA
   212         ;;
   213     esac
   214 
   215     AC_FUNC_MEMCMP
   216     if test x$ac_cv_func_memcmp_working = xyes; then
   217         AC_DEFINE(HAVE_MEMCMP, 1, [ ])
   218     fi
   219     AC_FUNC_STRTOD
   220     if test x$ac_cv_func_strtod = xyes; then
   221         AC_DEFINE(HAVE_STRTOD, 1, [ ])
   222     fi
   223     AC_CHECK_FUNC(mprotect,
   224         AC_TRY_COMPILE([
   225           #include <sys/types.h>
   226           #include <sys/mman.h>
   227         ],[
   228         ],[
   229         AC_DEFINE(HAVE_MPROTECT, 1, [ ])
   230         ]),
   231     )
   232     AC_CHECK_FUNCS(malloc calloc realloc free getenv setenv 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 sigaction setjmp nanosleep sysconf sysctlbyname)
   233 
   234     AC_CHECK_LIB(m, pow, [LIBS="$LIBS -lm"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm"])
   235     AC_CHECK_FUNCS(atan atan2 ceil copysign cos cosf fabs floor log pow scalbn sin sinf sqrt)
   236 
   237     AC_CHECK_LIB(iconv, iconv_open, [LIBS="$LIBS -liconv"; EXTRA_LDFLAGS="$EXTRA_LDFLAGS -liconv"])
   238     AC_CHECK_FUNCS(iconv)
   239 
   240     AC_CHECK_MEMBER(struct sigaction.sa_sigaction,[AC_DEFINE(HAVE_SA_SIGACTION)], ,[#include <signal.h>])
   241 fi
   242 
   243 AC_CHECK_SIZEOF(void*)
   244 
   245 dnl See whether we can use gcc atomic operations on this architecture
   246 AC_ARG_ENABLE(gcc-atomics,
   247 AC_HELP_STRING([--enable-gcc-atomics],
   248                [Use gcc builtin atomics [[default=yes]]]),
   249               , enable_gcc_atomics=yes)
   250 if test x$enable_gcc_atomics = xyes; then
   251     have_gcc_atomics=no
   252     AC_MSG_CHECKING(for GCC builtin atomic operations)
   253     AC_TRY_LINK([
   254     ],[
   255     int a;
   256     void *x, *y, *z;
   257     __sync_lock_test_and_set(&a, 4);
   258     __sync_lock_test_and_set(&x, y);
   259     __sync_fetch_and_add(&a, 1);
   260     __sync_bool_compare_and_swap(&a, 5, 10);
   261     __sync_bool_compare_and_swap(&x, y, z);
   262     ],[
   263     have_gcc_atomics=yes
   264     ])
   265     AC_MSG_RESULT($have_gcc_atomics)
   266 
   267     if test x$have_gcc_atomics = xyes; then
   268         AC_DEFINE(HAVE_GCC_ATOMICS, 1, [ ])
   269     else
   270         # See if we have the minimum operation needed for GCC atomics
   271         AC_TRY_LINK([
   272         ],[
   273         int a;
   274         __sync_lock_test_and_set(&a, 1);
   275         __sync_lock_release(&a);
   276         ],[
   277         have_gcc_sync_lock_test_and_set=yes
   278         ])
   279         if test x$have_gcc_sync_lock_test_and_set = xyes; then
   280             AC_DEFINE(HAVE_GCC_SYNC_LOCK_TEST_AND_SET, 1, [ ])
   281         fi
   282     fi
   283 fi
   284 
   285 # Check for pthread implementation
   286 AC_MSG_CHECKING(for pthread spinlock)
   287 have_pthread_spinlock=no
   288 
   289 AC_TRY_LINK([
   290 #include <pthread.h>
   291 ],[
   292 pthread_spinlock_t a;
   293 pthread_spin_trylock(&a);
   294 pthread_spin_unlock(&a);
   295 ],[
   296 have_pthread_spinlock=yes
   297 ])
   298 AC_MSG_RESULT($have_pthread_spinlock)
   299 if test x$have_pthread_spinlock = xyes; then
   300     AC_DEFINE(HAVE_PTHREAD_SPINLOCK, 1, [ ])
   301 fi
   302 
   303 
   304 # Standard C sources
   305 SOURCES="$SOURCES $srcdir/src/*.c"
   306 SOURCES="$SOURCES $srcdir/src/atomic/*.c"
   307 SOURCES="$SOURCES $srcdir/src/audio/*.c"
   308 SOURCES="$SOURCES $srcdir/src/cpuinfo/*.c"
   309 SOURCES="$SOURCES $srcdir/src/events/*.c"
   310 SOURCES="$SOURCES $srcdir/src/file/*.c"
   311 SOURCES="$SOURCES $srcdir/src/render/*.c"
   312 SOURCES="$SOURCES $srcdir/src/render/*/*.c"
   313 SOURCES="$SOURCES $srcdir/src/stdlib/*.c"
   314 SOURCES="$SOURCES $srcdir/src/thread/*.c"
   315 SOURCES="$SOURCES $srcdir/src/timer/*.c"
   316 SOURCES="$SOURCES $srcdir/src/video/*.c"
   317 
   318 dnl Enable/disable various subsystems of the SDL library
   319 
   320 AC_ARG_ENABLE(atomic,
   321 AC_HELP_STRING([--enable-atomic], [Enable the atomic operations subsystem [[default=yes]]]),
   322               , enable_atomic=yes)
   323 if test x$enable_atomic != xyes; then
   324     AC_DEFINE(SDL_ATOMIC_DISABLED, 1, [ ])
   325 fi
   326 AC_ARG_ENABLE(audio,
   327 AC_HELP_STRING([--enable-audio], [Enable the audio subsystem [[default=yes]]]),
   328               , enable_audio=yes)
   329 if test x$enable_audio != xyes; then
   330     AC_DEFINE(SDL_AUDIO_DISABLED, 1, [ ])
   331 fi
   332 AC_ARG_ENABLE(video,
   333 AC_HELP_STRING([--enable-video], [Enable the video subsystem [[default=yes]]]),
   334               , enable_video=yes)
   335 if test x$enable_video != xyes; then
   336     AC_DEFINE(SDL_VIDEO_DISABLED, 1, [ ])
   337 fi
   338 AC_ARG_ENABLE(render,
   339 AC_HELP_STRING([--enable-render], [Enable the render subsystem [[default=yes]]]),
   340               , enable_render=yes)
   341 if test x$enable_render != xyes; then
   342     AC_DEFINE(SDL_RENDER_DISABLED, 1, [ ])
   343 fi
   344 AC_ARG_ENABLE(events,
   345 AC_HELP_STRING([--enable-events], [Enable the events subsystem [[default=yes]]]),
   346               , enable_events=yes)
   347 if test x$enable_events != xyes; then
   348     AC_DEFINE(SDL_EVENTS_DISABLED, 1, [ ])
   349 fi
   350 AC_ARG_ENABLE(joystick,
   351 AC_HELP_STRING([--enable-joystick], [Enable the joystick subsystem [[default=yes]]]),
   352               , enable_joystick=yes)
   353 if test x$enable_joystick != xyes; then
   354     AC_DEFINE(SDL_JOYSTICK_DISABLED, 1, [ ])
   355 else
   356     SOURCES="$SOURCES $srcdir/src/joystick/*.c"
   357 fi
   358 AC_ARG_ENABLE(haptic,
   359 AC_HELP_STRING([--enable-haptic], [Enable the haptic (force feedback) subsystem [[default=yes]]]),
   360               , enable_haptic=yes)
   361 if test x$enable_haptic != xyes; then
   362     AC_DEFINE(SDL_HAPTIC_DISABLED, 1, [ ])
   363 else
   364     SOURCES="$SOURCES $srcdir/src/haptic/*.c"
   365 fi
   366 AC_ARG_ENABLE(power,
   367 AC_HELP_STRING([--enable-power], [Enable the power subsystem [[default=yes]]]),
   368               , enable_power=yes)
   369 if test x$enable_power != xyes; then
   370     AC_DEFINE(SDL_POWER_DISABLED, 1, [ ])
   371 else
   372     SOURCES="$SOURCES $srcdir/src/power/*.c"
   373 fi
   374 AC_ARG_ENABLE(threads,
   375 AC_HELP_STRING([--enable-threads], [Enable the threading subsystem [[default=yes]]]),
   376               , enable_threads=yes)
   377 if test x$enable_threads != xyes; then
   378     AC_DEFINE(SDL_THREADS_DISABLED, 1, [ ])
   379 fi
   380 AC_ARG_ENABLE(timers,
   381 AC_HELP_STRING([--enable-timers], [Enable the timer subsystem [[default=yes]]]),
   382               , enable_timers=yes)
   383 if test x$enable_timers != xyes; then
   384     AC_DEFINE(SDL_TIMERS_DISABLED, 1, [ ])
   385 fi
   386 AC_ARG_ENABLE(file,
   387 AC_HELP_STRING([--enable-file], [Enable the file subsystem [[default=yes]]]),
   388               , enable_file=yes)
   389 if test x$enable_file != xyes; then
   390     AC_DEFINE(SDL_FILE_DISABLED, 1, [ ])
   391 fi
   392 AC_ARG_ENABLE(loadso,
   393 AC_HELP_STRING([--enable-loadso], [Enable the shared object loading subsystem [[default=yes]]]),
   394               , enable_loadso=yes)
   395 if test x$enable_loadso != xyes; then
   396     AC_DEFINE(SDL_LOADSO_DISABLED, 1, [ ])
   397 fi
   398 AC_ARG_ENABLE(cpuinfo,
   399 AC_HELP_STRING([--enable-cpuinfo], [Enable the cpuinfo subsystem [[default=yes]]]),
   400               , enable_cpuinfo=yes)
   401 if test x$enable_cpuinfo != xyes; then
   402     AC_DEFINE(SDL_CPUINFO_DISABLED, 1, [ ])
   403 fi
   404 AC_ARG_ENABLE(atomic,
   405 AC_HELP_STRING([--enable-atomic], [Enable the atomic operations [[default=yes]]]),
   406               , enable_atomic=yes)
   407 if test x$enable_atomic != xyes; then
   408     AC_DEFINE(SDL_ATOMIC_DISABLED, 1, [ ])
   409 fi
   410 AC_ARG_ENABLE(assembly,
   411 AC_HELP_STRING([--enable-assembly], [Enable assembly routines [[default=yes]]]),
   412               , enable_assembly=yes)
   413 if test x$enable_assembly = xyes; then
   414     AC_DEFINE(SDL_ASSEMBLY_ROUTINES, 1, [ ])
   415 
   416     # Make sure that we don't generate floating point code that would
   417     # cause illegal instruction exceptions on older processors
   418     case "$host" in
   419         *-*-darwin*)
   420             # Don't need to worry about Apple hardware, it's all SSE capable
   421             default_ssemath=yes
   422             ;;
   423         *64-*-*)
   424             # x86 64-bit architectures all have SSE instructions
   425             default_ssemath=yes
   426             ;;
   427         *)
   428             default_ssemath=no
   429             ;;
   430     esac
   431     AC_ARG_ENABLE(ssemath,
   432 AC_HELP_STRING([--enable-ssemath], [Allow GCC to use SSE floating point math [[default=no]]]),
   433                   , enable_ssemath=$default_ssemath)
   434     if test x$enable_ssemath = xno; then
   435         if test x$have_gcc_sse = xyes -o x$have_gcc_sse2 = xyes; then
   436             EXTRA_CFLAGS="$EXTRA_CFLAGS -mfpmath=387"
   437         fi
   438     fi
   439 
   440     dnl Check for various instruction support
   441     AC_ARG_ENABLE(mmx,
   442 AC_HELP_STRING([--enable-mmx], [use MMX assembly routines [[default=yes]]]),
   443                   , enable_mmx=yes)
   444     if test x$enable_mmx = xyes; then
   445         save_CFLAGS="$CFLAGS"
   446         have_gcc_mmx=no
   447         AC_MSG_CHECKING(for GCC -mmmx option)
   448         mmx_CFLAGS="-mmmx"
   449         CFLAGS="$save_CFLAGS $mmx_CFLAGS"
   450 
   451         AC_TRY_COMPILE([
   452         #ifdef __MINGW32__
   453         #include <_mingw.h>
   454         #ifdef __MINGW64_VERSION_MAJOR
   455         #include <intrin.h>
   456         #else
   457         #include <mmintrin.h>
   458         #endif
   459         #else
   460         #include <mmintrin.h>
   461         #endif
   462         #ifndef __MMX__
   463         #error Assembler CPP flag not enabled
   464         #endif
   465         ],[
   466         ],[
   467         have_gcc_mmx=yes
   468         ])
   469         AC_MSG_RESULT($have_gcc_mmx)
   470         CFLAGS="$save_CFLAGS"
   471 
   472         if test x$have_gcc_mmx = xyes; then
   473             EXTRA_CFLAGS="$EXTRA_CFLAGS $mmx_CFLAGS"
   474         fi
   475     fi
   476 
   477     AC_ARG_ENABLE(3dnow,
   478 AC_HELP_STRING([--enable-3dnow], [use MMX assembly routines [[default=yes]]]),
   479                   , enable_3dnow=yes)
   480     if test x$enable_3dnow = xyes; then
   481         save_CFLAGS="$CFLAGS"
   482         have_gcc_3dnow=no
   483         AC_MSG_CHECKING(for GCC -m3dnow option)
   484         amd3dnow_CFLAGS="-m3dnow"
   485         CFLAGS="$save_CFLAGS $amd3dnow_CFLAGS"
   486 
   487         AC_TRY_COMPILE([
   488         #include <mm3dnow.h>
   489         #ifndef __3dNOW__
   490         #error Assembler CPP flag not enabled
   491         #endif
   492         ],[
   493         ],[
   494         have_gcc_3dnow=yes
   495         ])
   496         AC_MSG_RESULT($have_gcc_3dnow)
   497         CFLAGS="$save_CFLAGS"
   498 
   499         if test x$have_gcc_3dnow = xyes; then
   500             EXTRA_CFLAGS="$EXTRA_CFLAGS $amd3dnow_CFLAGS"
   501         fi
   502     fi
   503 
   504     AC_ARG_ENABLE(sse,
   505 AC_HELP_STRING([--enable-sse], [use SSE assembly routines [[default=yes]]]),
   506                   , enable_sse=yes)
   507     if test x$enable_sse = xyes; then
   508         save_CFLAGS="$CFLAGS"
   509         have_gcc_sse=no
   510         AC_MSG_CHECKING(for GCC -msse option)
   511         sse_CFLAGS="-msse"
   512         CFLAGS="$save_CFLAGS $sse_CFLAGS"
   513 
   514         AC_TRY_COMPILE([
   515         #ifdef __MINGW32__
   516         #include <_mingw.h>
   517         #ifdef __MINGW64_VERSION_MAJOR
   518         #include <intrin.h>
   519         #else
   520         #include <xmmintrin.h>
   521         #endif
   522         #else
   523         #include <xmmintrin.h>
   524         #endif
   525         #ifndef __SSE__
   526         #error Assembler CPP flag not enabled
   527         #endif
   528         ],[
   529         ],[
   530         have_gcc_sse=yes
   531         ])
   532         AC_MSG_RESULT($have_gcc_sse)
   533         CFLAGS="$save_CFLAGS"
   534 
   535         if test x$have_gcc_sse = xyes; then
   536             EXTRA_CFLAGS="$EXTRA_CFLAGS $sse_CFLAGS"
   537         fi
   538     fi
   539 
   540     AC_ARG_ENABLE(sse2,
   541 AC_HELP_STRING([--enable-sse2], [use SSE2 assembly routines [[default=no]]]),
   542                   , enable_sse2=$default_ssemath)
   543     if test x$enable_sse2 = xyes; then
   544         save_CFLAGS="$CFLAGS"
   545         have_gcc_sse2=no
   546         AC_MSG_CHECKING(for GCC -msse2 option)
   547         sse2_CFLAGS="-msse2"
   548         CFLAGS="$save_CFLAGS $sse2_CFLAGS"
   549 
   550         AC_TRY_COMPILE([
   551         #ifdef __MINGW32__
   552         #include <_mingw.h>
   553         #ifdef __MINGW64_VERSION_MAJOR
   554         #include <intrin.h>
   555         #else
   556         #include <emmintrin.h>
   557         #endif
   558         #else
   559         #include <emmintrin.h>
   560         #endif
   561         #ifndef __SSE2__
   562         #error Assembler CPP flag not enabled
   563         #endif
   564         ],[
   565         ],[
   566         have_gcc_sse2=yes
   567         ])
   568         AC_MSG_RESULT($have_gcc_sse2)
   569         CFLAGS="$save_CFLAGS"
   570 
   571         if test x$have_gcc_sse2 = xyes; then
   572             EXTRA_CFLAGS="$EXTRA_CFLAGS $sse2_CFLAGS"
   573         fi
   574     fi
   575 
   576     AC_ARG_ENABLE(altivec,
   577 AC_HELP_STRING([--enable-altivec], [use Altivec assembly routines [[default=yes]]]),
   578                   , enable_altivec=yes)
   579     if test x$enable_altivec = xyes; then
   580         save_CFLAGS="$CFLAGS"
   581         have_gcc_altivec=no
   582         have_altivec_h_hdr=no
   583         altivec_CFLAGS="-maltivec"
   584         CFLAGS="$save_CFLAGS $altivec_CFLAGS"
   585 
   586         AC_MSG_CHECKING(for Altivec with GCC altivec.h and -maltivec option)
   587         AC_TRY_COMPILE([
   588         #include <altivec.h>
   589         vector unsigned int vzero() {
   590             return vec_splat_u32(0);
   591         }
   592         ],[
   593         ],[
   594         have_gcc_altivec=yes
   595         have_altivec_h_hdr=yes
   596         ])
   597         AC_MSG_RESULT($have_gcc_altivec)
   598 
   599         if test x$have_gcc_altivec = xno; then
   600             AC_MSG_CHECKING(for Altivec with GCC -maltivec option)
   601             AC_TRY_COMPILE([
   602             vector unsigned int vzero() {
   603                 return vec_splat_u32(0);
   604             }
   605             ],[
   606             ],[
   607             have_gcc_altivec=yes
   608             ])
   609             AC_MSG_RESULT($have_gcc_altivec)
   610         fi
   611 
   612         if test x$have_gcc_altivec = xno; then
   613             AC_MSG_CHECKING(for Altivec with GCC altivec.h and -faltivec option)
   614             altivec_CFLAGS="-faltivec"
   615             CFLAGS="$save_CFLAGS $altivec_CFLAGS"
   616             AC_TRY_COMPILE([
   617             #include <altivec.h>
   618             vector unsigned int vzero() {
   619                 return vec_splat_u32(0);
   620             }
   621             ],[
   622             ],[
   623             have_gcc_altivec=yes
   624             have_altivec_h_hdr=yes
   625             ])
   626             AC_MSG_RESULT($have_gcc_altivec)
   627         fi
   628 
   629         if test x$have_gcc_altivec = xno; then
   630             AC_MSG_CHECKING(for Altivec with GCC -faltivec option)
   631             AC_TRY_COMPILE([
   632             vector unsigned int vzero() {
   633                 return vec_splat_u32(0);
   634             }
   635             ],[
   636             ],[
   637             have_gcc_altivec=yes
   638             ])
   639             AC_MSG_RESULT($have_gcc_altivec)
   640         fi
   641         CFLAGS="$save_CFLAGS"
   642 
   643         if test x$have_gcc_altivec = xyes; then
   644             AC_DEFINE(SDL_ALTIVEC_BLITTERS, 1, [ ])
   645             if test x$have_altivec_h_hdr = xyes; then
   646               AC_DEFINE(HAVE_ALTIVEC_H, 1, [ ])
   647             fi
   648             EXTRA_CFLAGS="$EXTRA_CFLAGS $altivec_CFLAGS"
   649         fi
   650     fi
   651 fi
   652 
   653 dnl See if the OSS audio interface is supported
   654 CheckOSS()
   655 {
   656     AC_ARG_ENABLE(oss,
   657 AC_HELP_STRING([--enable-oss], [support the OSS audio API [[default=yes]]]),
   658                   , enable_oss=yes)
   659     if test x$enable_audio = xyes -a x$enable_oss = xyes; then
   660         AC_MSG_CHECKING(for OSS audio support)
   661         have_oss=no
   662         if test x$have_oss != xyes; then
   663             AC_TRY_COMPILE([
   664               #include <sys/soundcard.h>
   665             ],[
   666               int arg = SNDCTL_DSP_SETFRAGMENT;
   667             ],[
   668             have_oss=yes
   669             ])
   670         fi
   671         if test x$have_oss != xyes; then
   672             AC_TRY_COMPILE([
   673               #include <soundcard.h>
   674             ],[
   675               int arg = SNDCTL_DSP_SETFRAGMENT;
   676             ],[
   677             have_oss=yes
   678             AC_DEFINE(SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H, 1, [ ])
   679             ])
   680         fi
   681         AC_MSG_RESULT($have_oss)
   682         if test x$have_oss = xyes; then
   683             AC_DEFINE(SDL_AUDIO_DRIVER_OSS, 1, [ ])
   684             SOURCES="$SOURCES $srcdir/src/audio/dsp/*.c"
   685             SOURCES="$SOURCES $srcdir/src/audio/dma/*.c"
   686             have_audio=yes
   687 
   688             # We may need to link with ossaudio emulation library
   689             case "$host" in
   690                 *-*-openbsd*|*-*-netbsd*)
   691                     EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lossaudio";;
   692             esac
   693         fi
   694     fi
   695 }
   696 
   697 dnl See if the ALSA audio interface is supported
   698 CheckALSA()
   699 {
   700     AC_ARG_ENABLE(alsa,
   701 AC_HELP_STRING([--enable-alsa], [support the ALSA audio API [[default=yes]]]),
   702                   , enable_alsa=yes)
   703     if test x$enable_audio = xyes -a x$enable_alsa = xyes; then
   704         AM_PATH_ALSA(0.9.0, have_alsa=yes, have_alsa=no)
   705         # Restore all flags from before the ALSA detection runs
   706         CFLAGS="$alsa_save_CFLAGS"
   707         LDFLAGS="$alsa_save_LDFLAGS"
   708         LIBS="$alsa_save_LIBS"
   709         if test x$have_alsa = xyes; then
   710             AC_ARG_ENABLE(alsa-shared,
   711 AC_HELP_STRING([--enable-alsa-shared], [dynamically load ALSA audio support [[default=yes]]]),
   712                           , enable_alsa_shared=yes)
   713             alsa_lib=[`find_lib "libasound.so.*" "$ALSA_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`]
   714 
   715             AC_DEFINE(SDL_AUDIO_DRIVER_ALSA, 1, [ ])
   716             SOURCES="$SOURCES $srcdir/src/audio/alsa/*.c"
   717             EXTRA_CFLAGS="$EXTRA_CFLAGS $ALSA_CFLAGS"
   718             if test x$have_loadso != xyes && \
   719                test x$enable_alsa_shared = xyes; then
   720                 AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic ALSA loading])
   721             fi
   722             if test x$have_loadso = xyes && \
   723                test x$enable_alsa_shared = xyes && test x$alsa_lib != x; then
   724                 echo "-- dynamic libasound -> $alsa_lib"
   725                 AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ALSA_DYNAMIC, "$alsa_lib", [ ])
   726             else
   727                 EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ALSA_LIBS"
   728             fi
   729             have_audio=yes
   730         fi
   731     fi
   732 }
   733 
   734 dnl Find the ESD includes and libraries
   735 CheckESD()
   736 {
   737     AC_ARG_ENABLE(esd,
   738 AC_HELP_STRING([--enable-esd], [support the Enlightened Sound Daemon [[default=yes]]]),
   739                   , enable_esd=yes)
   740     if test x$enable_audio = xyes -a x$enable_esd = xyes; then
   741         AM_PATH_ESD(0.2.8, have_esd=yes, have_esd=no)
   742         if test x$have_esd = xyes; then
   743             AC_ARG_ENABLE(esd-shared,
   744 AC_HELP_STRING([--enable-esd-shared], [dynamically load ESD audio support [[default=yes]]]),
   745                           , enable_esd_shared=yes)
   746             esd_lib=[`find_lib "libesd.so.*" "$ESD_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`]
   747 
   748             AC_DEFINE(SDL_AUDIO_DRIVER_ESD, 1, [ ])
   749             SOURCES="$SOURCES $srcdir/src/audio/esd/*.c"
   750             EXTRA_CFLAGS="$EXTRA_CFLAGS $ESD_CFLAGS"
   751             if test x$have_loadso != xyes && \
   752                test x$enable_esd_shared = xyes; then
   753                 AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic ESD loading])
   754             fi
   755             if test x$have_loadso = xyes && \
   756                test x$enable_esd_shared = xyes && test x$esd_lib != x; then
   757                 echo "-- dynamic libesd -> $esd_lib"
   758                 AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ESD_DYNAMIC, "$esd_lib", [ ])
   759             else
   760                 EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ESD_LIBS"
   761             fi
   762             have_audio=yes
   763         fi
   764     fi
   765 }
   766 
   767 dnl Find PulseAudio
   768 CheckPulseAudio()
   769 {
   770     AC_ARG_ENABLE(pulseaudio,
   771 AC_HELP_STRING([--enable-pulseaudio], [use PulseAudio [[default=yes]]]),
   772                   , enable_pulseaudio=yes)
   773     if test x$enable_audio = xyes -a x$enable_pulseaudio = xyes; then
   774         audio_pulseaudio=no
   775 
   776         PULSEAUDIO_REQUIRED_VERSION=0.9
   777 
   778         AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
   779         AC_MSG_CHECKING(for PulseAudio $PULSEAUDIO_REQUIRED_VERSION support)
   780         if test x$PKG_CONFIG != xno; then
   781         if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $PULSEAUDIO_REQUIRED_VERSION libpulse-simple; then
   782                 PULSEAUDIO_CFLAGS=`$PKG_CONFIG --cflags libpulse-simple`
   783                 PULSEAUDIO_LIBS=`$PKG_CONFIG --libs libpulse-simple`
   784                 audio_pulseaudio=yes
   785             fi
   786         fi
   787         AC_MSG_RESULT($audio_pulseaudio)
   788 
   789         if test x$audio_pulseaudio = xyes; then
   790             AC_ARG_ENABLE(pulseaudio-shared,
   791 AC_HELP_STRING([--enable-pulseaudio-shared], [dynamically load PulseAudio support [[default=yes]]]),
   792                           , enable_pulseaudio_shared=yes)
   793             pulseaudio_lib=[`find_lib "libpulse-simple.so.*" "$PULSEAUDIO_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`]
   794 
   795             AC_DEFINE(SDL_AUDIO_DRIVER_PULSEAUDIO, 1, [ ])
   796             SOURCES="$SOURCES $srcdir/src/audio/pulseaudio/*.c"
   797             EXTRA_CFLAGS="$EXTRA_CFLAGS $PULSEAUDIO_CFLAGS"
   798             if test x$have_loadso != xyes && \
   799                test x$enable_pulseaudio_shared = xyes; then
   800                 AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic PulseAudio loading])
   801             fi
   802             if test x$have_loadso = xyes && \
   803                test x$enable_pulseaudio_shared = xyes && test x$pulseaudio_lib != x; then
   804                 echo "-- dynamic libpulse-simple -> $pulseaudio_lib"
   805                 AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC, "$pulseaudio_lib", [ ])
   806             else
   807                 EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PULSEAUDIO_LIBS"
   808             fi
   809             have_audio=yes
   810         fi
   811     fi
   812 }
   813 
   814 CheckARTSC()
   815 {
   816     AC_ARG_ENABLE(arts,
   817 AC_HELP_STRING([--enable-arts], [support the Analog Real Time Synthesizer [[default=yes]]]),
   818                   , enable_arts=yes)
   819     if test x$enable_audio = xyes -a x$enable_arts = xyes; then
   820         AC_PATH_PROG(ARTSCONFIG, artsc-config)
   821         if test x$ARTSCONFIG = x -o x$ARTSCONFIG = x'"$ARTSCONFIG"'; then
   822             : # arts isn't installed
   823         else
   824             ARTS_CFLAGS=`$ARTSCONFIG --cflags`
   825             ARTS_LIBS=`$ARTSCONFIG --libs`
   826             AC_MSG_CHECKING(for aRts development environment)
   827             audio_arts=no
   828             save_CFLAGS="$CFLAGS"
   829             CFLAGS="$CFLAGS $ARTS_CFLAGS"
   830             AC_TRY_COMPILE([
   831              #include <artsc.h>
   832             ],[
   833              arts_stream_t stream;
   834             ],[
   835             audio_arts=yes
   836             ])
   837             CFLAGS="$save_CFLAGS"
   838             AC_MSG_RESULT($audio_arts)
   839             if test x$audio_arts = xyes; then
   840                 AC_ARG_ENABLE(arts-shared,
   841 AC_HELP_STRING([--enable-arts-shared], [dynamically load aRts audio support [[default=yes]]]),
   842                               , enable_arts_shared=yes)
   843                 arts_lib=[`find_lib "libartsc.so.*" "$ARTS_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`]
   844 
   845                 AC_DEFINE(SDL_AUDIO_DRIVER_ARTS, 1, [ ])
   846                 SOURCES="$SOURCES $srcdir/src/audio/arts/*.c"
   847                 EXTRA_CFLAGS="$EXTRA_CFLAGS $ARTS_CFLAGS"
   848                 if test x$have_loadso != xyes && \
   849                    test x$enable_arts_shared = xyes; then
   850                     AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic ARTS loading])
   851                 fi
   852                 if test x$have_loadso = xyes && \
   853                    test x$enable_arts_shared = xyes && test x$arts_lib != x; then
   854                     echo "-- dynamic libartsc -> $arts_lib"
   855                     AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ARTS_DYNAMIC, "$arts_lib", [ ])
   856                 else
   857                     EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ARTS_LIBS"
   858                 fi
   859                 have_audio=yes
   860             fi
   861         fi
   862     fi
   863 }
   864 
   865 dnl See if the NAS audio interface is supported
   866 CheckNAS()
   867 {
   868     AC_ARG_ENABLE(nas,
   869 AC_HELP_STRING([--enable-nas], [support the NAS audio API [[default=yes]]]),
   870                   , enable_nas=yes)
   871     if test x$enable_audio = xyes -a x$enable_nas = xyes; then
   872         AC_CHECK_HEADER(audio/audiolib.h, have_nas_hdr=yes)
   873         AC_CHECK_LIB(audio, AuOpenServer, have_nas_lib=yes)
   874 
   875         AC_MSG_CHECKING(for NAS audio support)
   876         have_nas=no
   877 
   878         if test x$have_nas_hdr = xyes -a x$have_nas_lib = xyes; then
   879             have_nas=yes
   880             NAS_LIBS="-laudio"
   881 
   882         elif test -r /usr/X11R6/include/audio/audiolib.h; then
   883             have_nas=yes
   884             NAS_CFLAGS="-I/usr/X11R6/include/"
   885             NAS_LIBS="-L/usr/X11R6/lib -laudio -lXt"
   886 
   887         fi
   888 
   889         AC_MSG_RESULT($have_nas)
   890 
   891         if test x$have_nas = xyes; then
   892             AC_ARG_ENABLE(nas-shared,
   893 AC_HELP_STRING([--enable-nas-shared], [dynamically load NAS audio support [[default=yes]]]),
   894                           , enable_nas_shared=yes)
   895             nas_lib=[`find_lib "libaudio.so.*" "$NAS_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`]
   896 
   897             if test x$have_loadso != xyes && \
   898                test x$enable_nas_shared = xyes; then
   899                 AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic NAS loading])
   900             fi
   901             if test x$have_loadso = xyes && \
   902                test x$enable_nas_shared = xyes && test x$nas_lib != x; then
   903                 echo "-- dynamic libaudio -> $nas_lib"
   904                 AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_NAS_DYNAMIC, "$nas_lib", [ ])
   905             else
   906                 EXTRA_LDFLAGS="$EXTRA_LDFLAGS $NAS_LIBS"
   907             fi
   908 
   909             AC_DEFINE(SDL_AUDIO_DRIVER_NAS, 1, [ ])
   910             SOURCES="$SOURCES $srcdir/src/audio/nas/*.c"
   911             EXTRA_CFLAGS="$EXTRA_CFLAGS $NAS_CFLAGS"
   912             have_audio=yes
   913         fi
   914     fi
   915 }
   916 
   917 dnl rcg07142001 See if the user wants the disk writer audio driver...
   918 CheckDiskAudio()
   919 {
   920     AC_ARG_ENABLE(diskaudio,
   921 AC_HELP_STRING([--enable-diskaudio], [support the disk writer audio driver [[default=yes]]]),
   922                   , enable_diskaudio=yes)
   923     if test x$enable_audio = xyes -a x$enable_diskaudio = xyes; then
   924         AC_DEFINE(SDL_AUDIO_DRIVER_DISK, 1, [ ])
   925         SOURCES="$SOURCES $srcdir/src/audio/disk/*.c"
   926     fi
   927 }
   928 
   929 dnl rcg03142006 See if the user wants the dummy audio driver...
   930 CheckDummyAudio()
   931 {
   932     AC_ARG_ENABLE(dummyaudio,
   933 AC_HELP_STRING([--enable-dummyaudio], [support the dummy audio driver [[default=yes]]]),
   934                   , enable_dummyaudio=yes)
   935     if test x$enable_audio = xyes -a x$enable_dummyaudio = xyes; then
   936         AC_DEFINE(SDL_AUDIO_DRIVER_DUMMY, 1, [ ])
   937         SOURCES="$SOURCES $srcdir/src/audio/dummy/*.c"
   938     fi
   939 }
   940 
   941 dnl See if GCC's -fvisibility=hidden is supported (gcc4 and later, usually).
   942 dnl  Details of this flag are here: http://gcc.gnu.org/wiki/Visibility
   943 CheckVisibilityHidden()
   944 {
   945     AC_MSG_CHECKING(for GCC -fvisibility=hidden option)
   946     have_gcc_fvisibility=no
   947 
   948     visibility_CFLAGS="-fvisibility=hidden"
   949     save_CFLAGS="$CFLAGS"
   950     CFLAGS="$save_CFLAGS $visibility_CFLAGS -Werror"
   951     AC_TRY_COMPILE([
   952     #if !defined(__GNUC__) || __GNUC__ < 4
   953     #error SDL only uses visibility attributes in GCC 4 or newer
   954     #endif
   955     ],[
   956     ],[
   957     have_gcc_fvisibility=yes
   958     ])
   959     AC_MSG_RESULT($have_gcc_fvisibility)
   960     CFLAGS="$save_CFLAGS"
   961 
   962     if test x$have_gcc_fvisibility = xyes; then
   963         EXTRA_CFLAGS="$EXTRA_CFLAGS $visibility_CFLAGS"
   964     fi
   965 }
   966 
   967 
   968 dnl Find the X11 include and library directories
   969 CheckX11()
   970 {
   971 
   972 
   973     AC_ARG_ENABLE(video-x11,
   974 AC_HELP_STRING([--enable-video-x11], [use X11 video driver [[default=yes]]]),
   975                   , enable_video_x11=yes)
   976     if test x$enable_video = xyes -a x$enable_video_x11 = xyes; then
   977         case "$host" in
   978             *-*-darwin*)
   979                 # This isn't necessary for X11, but fixes GLX detection
   980                 if test "x$x_includes" = xNONE && test "x$x_libraries" = xNONE; then
   981                     x_includes="/usr/X11R6/include"
   982                     x_libraries="/usr/X11R6/lib"
   983                 fi
   984                 ;;
   985         esac
   986         AC_PATH_X
   987         AC_PATH_XTRA
   988         if test x$have_x = xyes; then
   989             # Only allow dynamically loaded X11 if the X11 function pointers
   990             # will not end up in the global namespace, which causes problems
   991             # with other libraries calling X11 functions.
   992             x11_symbols_private=$have_gcc_fvisibility
   993 
   994             AC_ARG_ENABLE(x11-shared,
   995 AC_HELP_STRING([--enable-x11-shared], [dynamically load X11 support [[default=maybe]]]),
   996                           , enable_x11_shared=maybe)
   997 
   998             case "$host" in
   999                 *-*-darwin*)
  1000                     x11_symbols_private=yes
  1001                     x11_lib='/usr/X11R6/lib/libX11.6.dylib'
  1002                     x11ext_lib='/usr/X11R6/lib/libXext.6.dylib'
  1003                     xcursor_lib='/usr/X11R6/lib/libXcursor.1.dylib'
  1004                     xinerama_lib='/usr/X11R6/lib/libXinerama.1.dylib'
  1005                     xinput_lib='/usr/X11R6/lib/libXi.6.dylib'
  1006                     xrandr_lib='/usr/X11R6/lib/libXrandr.2.dylib'
  1007                     xrender_lib='/usr/X11R6/lib/libXrender.1.dylib'
  1008                     xss_lib='/usr/X11R6/lib/libXss.1.dylib'
  1009                     xvidmode_lib='/usr/X11R6/lib/libXxf86vm.1.dylib'
  1010                     ;;
  1011                 *)
  1012                     x11_lib=[`find_lib "libX11.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`]
  1013                     x11ext_lib=[`find_lib "libXext.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`]
  1014                     xcursor_lib=[`find_lib "libXcursor.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`]
  1015                     xinerama_lib=[`find_lib "libXinerama.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`]
  1016                     xinput_lib=[`find_lib "libXi.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`]
  1017                     xrandr_lib=[`find_lib "libXrandr.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`]
  1018                     xrender_lib=[`find_lib "libXrender.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`]
  1019                     xss_lib=[`find_lib "libXss.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`]
  1020                     xvidmode_lib=[`find_lib "libXxf86vm.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`]
  1021                     ;;
  1022             esac
  1023 
  1024             if test x$ac_cv_func_shmat != xyes; then
  1025                 X_CFLAGS="$X_CFLAGS -DNO_SHARED_MEMORY"
  1026             fi
  1027             CFLAGS="$CFLAGS $X_CFLAGS"
  1028             LDFLAGS="$LDFLAGS $X_LIBS"
  1029 
  1030             AC_DEFINE(SDL_VIDEO_DRIVER_X11, 1, [ ])
  1031             SOURCES="$SOURCES $srcdir/src/video/x11/*.c"
  1032             EXTRA_CFLAGS="$EXTRA_CFLAGS $X_CFLAGS"
  1033 
  1034             if test x$enable_x11_shared = xmaybe; then
  1035                 enable_x11_shared=$x11_symbols_private
  1036             fi
  1037             if test x$have_loadso != xyes && \
  1038                test x$enable_x11_shared = xyes; then
  1039                 AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic X11 loading])
  1040                 enable_x11_shared=no
  1041             fi
  1042             if test x$x11_symbols_private != xyes && \
  1043                test x$enable_x11_shared = xyes; then
  1044                 AC_MSG_WARN([You must have gcc4 (-fvisibility=hidden) for dynamic X11 loading])
  1045                 enable_x11_shared=no
  1046             fi
  1047 
  1048             if test x$have_loadso = xyes && \
  1049                test x$enable_x11_shared = xyes && test x$x11_lib != x && test x$x11ext_lib != x; then
  1050                 echo "-- dynamic libX11 -> $x11_lib"
  1051                 echo "-- dynamic libX11ext -> $x11ext_lib"
  1052                 AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC, "$x11_lib", [ ])
  1053                 AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT, "$x11ext_lib", [ ])
  1054             else
  1055                 enable_x11_shared=no
  1056                 EXTRA_LDFLAGS="$EXTRA_LDFLAGS $X_LIBS -lX11 -lXext"
  1057             fi
  1058             have_video=yes
  1059 
  1060             AC_ARG_ENABLE(video-x11-xcursor,
  1061 AC_HELP_STRING([--enable-video-x11-xcursor], [enable X11 Xcursor support [[default=yes]]]),
  1062                             , enable_video_x11_xcursor=yes)
  1063             if test x$enable_video_x11_xcursor = xyes; then
  1064                 definitely_enable_video_x11_xcursor=no
  1065                 AC_CHECK_HEADER(X11/Xcursor/Xcursor.h,
  1066                                 have_xcursor_h_hdr=yes,
  1067                                 have_xcursor_h_hdr=no,
  1068                                 [#include <X11/Xlib.h>
  1069                                 ])
  1070                 if test x$have_xcursor_h_hdr = xyes; then
  1071                     if test x$enable_x11_shared = xyes && test x$xcursor_lib != x ; then
  1072                         echo "-- dynamic libXcursor -> $xcursor_lib"
  1073                         AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR, "$xcursor_lib", [ ])
  1074                         definitely_enable_video_x11_xcursor=yes
  1075                     else
  1076                         AC_CHECK_LIB(Xcursor, XcursorImageCreate, have_xcursor_lib=yes)
  1077                         if test x$have_xcursor_lib = xyes ; then
  1078                             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXcursor"
  1079                             definitely_enable_video_x11_xcursor=yes
  1080                         fi
  1081                     fi
  1082                 fi
  1083             fi
  1084             if test x$definitely_enable_video_x11_xcursor = xyes; then
  1085                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XCURSOR, 1, [ ])
  1086             fi
  1087             AC_ARG_ENABLE(video-x11-xinerama,
  1088 AC_HELP_STRING([--enable-video-x11-xinerama], [enable X11 Xinerama support [[default=yes]]]),
  1089                             , enable_video_x11_xinerama=yes)
  1090             if test x$enable_video_x11_xinerama = xyes; then
  1091                 definitely_enable_video_x11_xinerama=no
  1092                 AC_CHECK_HEADER(X11/extensions/Xinerama.h,
  1093                                 have_xinerama_h_hdr=yes,
  1094                                 have_xinerama_h_hdr=no,
  1095                                 [#include <X11/Xlib.h>
  1096                                 ])
  1097                 if test x$have_xinerama_h_hdr = xyes; then
  1098                     if test x$enable_x11_shared = xyes && test x$xinerama_lib != x ; then
  1099                         echo "-- dynamic libXinerama -> $xinerama_lib"
  1100                         AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA, "$xinerama_lib", [ ])
  1101                         definitely_enable_video_x11_xinerama=yes
  1102                     else
  1103                         AC_CHECK_LIB(Xinerama, XineramaQueryExtension, have_xinerama_lib=yes)
  1104                         if test x$have_xinerama_lib = xyes ; then
  1105                             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXinerama"
  1106                             definitely_enable_video_x11_xinerama=yes
  1107                         fi
  1108                     fi
  1109                 fi
  1110             fi
  1111             if test x$definitely_enable_video_x11_xinerama = xyes; then
  1112                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XINERAMA, 1, [ ])
  1113             fi
  1114             AC_ARG_ENABLE(video-x11-xinput,
  1115 AC_HELP_STRING([--enable-video-x11-xinput], [enable X11 XInput extension for manymouse, tablets, etc [[default=yes]]]),
  1116                             , enable_video_x11_xinput=yes)
  1117             if test x$enable_video_x11_xinput = xyes; then
  1118                 definitely_enable_video_x11_xinput=no
  1119                 AC_CHECK_HEADER(X11/extensions/XInput.h,
  1120                                 have_xinput_h_hdr=yes,
  1121                                 have_xinput_h_hdr=no,
  1122                                 [#include <X11/Xlib.h>
  1123                                 ])
  1124                 if test x$have_xinput_h_hdr = xyes; then
  1125                     if test x$enable_x11_shared = xyes && test x$xinput_lib != x ; then
  1126                         echo "-- dynamic libXi -> $xinput_lib"
  1127                         AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT, "$xinput_lib", [ ])
  1128                         definitely_enable_video_x11_xinput=yes
  1129                     else
  1130                         AC_CHECK_LIB(Xi, XOpenDevice, have_xinput_lib=yes)
  1131                         if test x$have_xinput_lib = xyes ; then
  1132                             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXi"
  1133                             definitely_enable_video_x11_xinput=yes
  1134                         fi
  1135                     fi
  1136                 fi
  1137             fi
  1138             if test x$definitely_enable_video_x11_xinput = xyes; then
  1139                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XINPUT, 1, [ ])
  1140             fi
  1141             AC_ARG_ENABLE(video-x11-xrandr,
  1142 AC_HELP_STRING([--enable-video-x11-xrandr], [enable X11 Xrandr extension for fullscreen [[default=yes]]]),
  1143                             , enable_video_x11_xrandr=yes)
  1144             if test x$enable_video_x11_xrandr = xyes; then
  1145                 definitely_enable_video_x11_xrandr=no
  1146                 AC_CHECK_HEADER(X11/extensions/Xrandr.h,
  1147                                 have_xrandr_h_hdr=yes,
  1148                                 have_xrandr_h_hdr=no,
  1149                                 [#include <X11/Xlib.h>
  1150                                 ])
  1151                 if test x$have_xrandr_h_hdr = xyes; then
  1152                     if test x$enable_x11_shared = xyes && test x$xrandr_lib != x ; then
  1153                         echo "-- dynamic libXrandr -> $xrandr_lib"
  1154                         AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR, "$xrandr_lib", [ ])
  1155                         definitely_enable_video_x11_xrandr=yes
  1156                     else
  1157                         AC_CHECK_LIB(Xrandr, XRRQueryExtension, have_xrandr_lib=yes)
  1158                         if test x$have_xrandr_lib = xyes ; then
  1159                             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXrandr"
  1160                             definitely_enable_video_x11_xrandr=yes
  1161                         fi
  1162                     fi
  1163                 fi
  1164             fi
  1165             if test x$definitely_enable_video_x11_xrandr = xyes; then
  1166                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XRANDR, 1, [ ])
  1167             fi
  1168             AC_ARG_ENABLE(video-x11-scrnsaver,
  1169 AC_HELP_STRING([--enable-video-x11-scrnsaver], [enable X11 screensaver extension [[default=yes]]]),
  1170                             , enable_video_x11_scrnsaver=yes)
  1171             if test x$enable_video_x11_scrnsaver = xyes; then
  1172                 AC_CHECK_HEADER(X11/extensions/scrnsaver.h,
  1173                                 have_scrnsaver_h_hdr=yes,
  1174                                 have_scrnsaver_h_hdr=no,
  1175                                 [#include <X11/Xlib.h>
  1176                                 ])
  1177                 if test x$have_scrnsaver_h_hdr = xyes; then
  1178                     if test x$enable_x11_shared = xyes && test x$xss_lib != x ; then
  1179                         echo "-- dynamic libXss -> $xss_lib"
  1180                         AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS, "$xss_lib", [ ])
  1181                         definitely_enable_video_x11_scrnsaver=yes
  1182                     else
  1183                         AC_CHECK_LIB(Xss, XScreenSaverSuspend, have_xss_lib=yes)
  1184                         if test x$have_xss_lib = xyes ; then
  1185                             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXss"
  1186                             definitely_enable_video_x11_scrnsaver=yes
  1187                         fi
  1188                     fi
  1189                 fi
  1190             fi
  1191             if test x$definitely_enable_video_x11_scrnsaver = xyes; then
  1192                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XSCRNSAVER, 1, [ ])
  1193             fi
  1194             AC_ARG_ENABLE(video-x11-xshape,
  1195 AC_HELP_STRING([--enable-video-x11-xshape], [enable X11 XShape support [[default=yes]]]),
  1196                             , enable_video_x11_xshape=yes)
  1197             if test x$enable_video_x11_xshape = xyes; then
  1198                 AC_CHECK_HEADER(X11/extensions/shape.h,
  1199                                 have_shape_h_hdr=yes,
  1200                                 have_shape_h_hdr=no,
  1201                                 [#include <X11/Xlib.h>
  1202                                 ])
  1203                 if test x$have_shape_h_hdr = xyes; then
  1204                     AC_DEFINE(SDL_VIDEO_DRIVER_X11_XSHAPE, 1, [ ])
  1205                 fi
  1206             fi
  1207             AC_ARG_ENABLE(video-x11-vm,
  1208 AC_HELP_STRING([--enable-video-x11-vm], [use X11 VM extension for fullscreen [[default=yes]]]),
  1209                             , enable_video_x11_vm=yes)
  1210             if test x$enable_video_x11_vm = xyes; then
  1211                 definitely_enable_video_x11_vm=no
  1212                 AC_CHECK_HEADER(X11/extensions/xf86vmode.h,
  1213                                 have_vm_h_hdr=yes,
  1214                                 have_vm_h_hdr=no,
  1215                                 [#include <X11/Xlib.h>
  1216                                 ])
  1217                 if test x$have_vm_h_hdr = xyes; then
  1218                     if test x$enable_x11_shared = xyes && test x$xvidmode_lib != x ; then
  1219                         echo "-- dynamic libXxf86vm -> $xvidmode_lib"
  1220                         AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE, "$xvidmode_lib", [ ])
  1221                         definitely_enable_video_x11_vm=yes
  1222                     else
  1223                         AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryVersion, have_vm_lib=yes)
  1224                         if test x$have_vm_lib = xyes ; then
  1225                             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXxf86vm"
  1226                             definitely_enable_video_x11_vm=yes
  1227                         fi
  1228                     fi
  1229                 fi
  1230             fi
  1231             if test x$definitely_enable_video_x11_vm = xyes; then
  1232                 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XVIDMODE, 1, [ ])
  1233             fi
  1234         fi
  1235     fi
  1236 }
  1237 
  1238 dnl Set up the BWindow video driver if enabled
  1239 CheckBWINDOW()
  1240 {
  1241     if test x$enable_video = xyes; then
  1242         AC_DEFINE(SDL_VIDEO_DRIVER_BWINDOW, 1, [ ])
  1243         SOURCES="$SOURCES $srcdir/src/video/bwindow/*.cc"
  1244         have_video=yes
  1245     fi
  1246 }
  1247 
  1248 dnl Set up the Cocoa video driver for Mac OS X (but not Darwin)
  1249 CheckCOCOA()
  1250 {
  1251     AC_ARG_ENABLE(video-cocoa,
  1252 AC_HELP_STRING([--enable-video-cocoa], [use Cocoa video driver [[default=yes]]]),
  1253                   , enable_video_cocoa=yes)
  1254     if test x$enable_video = xyes -a x$enable_video_cocoa = xyes; then
  1255         save_CFLAGS="$CFLAGS"
  1256         dnl work around that we don't have Objective-C support in autoconf
  1257         CFLAGS="$CFLAGS -x objective-c"
  1258         AC_MSG_CHECKING(for Cocoa framework)
  1259         have_cocoa=no
  1260         AC_TRY_COMPILE([
  1261           #import <Cocoa/Cocoa.h>
  1262         ],[
  1263         ],[
  1264         have_cocoa=yes
  1265         ])
  1266         AC_MSG_RESULT($have_cocoa)
  1267         CFLAGS="$save_CFLAGS"
  1268         if test x$have_cocoa = xyes; then
  1269             AC_DEFINE(SDL_VIDEO_DRIVER_COCOA, 1, [ ])
  1270             SOURCES="$SOURCES $srcdir/src/video/cocoa/*.m"
  1271             have_video=yes
  1272         fi
  1273     fi
  1274 }
  1275 
  1276 dnl Find DirectFB
  1277 CheckDirectFB()
  1278 {
  1279     AC_ARG_ENABLE(video-directfb,
  1280 AC_HELP_STRING([--enable-video-directfb], [use DirectFB video driver [[default=no]]]),
  1281                   , enable_video_directfb=no)
  1282     if test x$enable_video = xyes -a x$enable_video_directfb = xyes; then
  1283         video_directfb=no
  1284 
  1285         DIRECTFB_REQUIRED_VERSION=1.0.0
  1286         AC_PATH_PROGS(DIRECTFBCONFIG, directfb-config, no, [$prefix/bin:$PATH])
  1287         if test x$DIRECTFBCONFIG = xno; then
  1288             AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
  1289             if test x$PKG_CONFIG != xno; then
  1290                 if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb; then
  1291                     DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags directfb`
  1292                     DIRECTFB_LIBS=`$PKG_CONFIG --libs directfb`
  1293                     DIRECTFB_PREFIX=`$PKG_CONFIG --variable=prefix directfb`
  1294                     video_directfb=yes
  1295                 fi
  1296             fi
  1297         else
  1298             set -- `echo $DIRECTFB_REQUIRED_VERSION | sed 's/\./ /g'`
  1299             NEED_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3`
  1300             set -- `directfb-config --version | sed 's/\./ /g'`
  1301             HAVE_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3`
  1302             if test $HAVE_VERSION -ge $NEED_VERSION; then
  1303                 DIRECTFB_CFLAGS=`$DIRECTFBCONFIG --cflags`
  1304                 DIRECTFB_LIBS=`$DIRECTFBCONFIG --libs`
  1305                 DIRECTFB_PREFIX=`$DIRECTFBCONFIG --prefix`
  1306                 video_directfb=yes
  1307             fi
  1308         fi
  1309         if test x$video_directfb = xyes; then
  1310             # SuSE 11.1 installs directfb-config without directfb-devel
  1311             save_CPPFLAGS="$CPPFLAGS"
  1312             CPPFLAGS="$CPPFLAGS $DIRECTFB_CFLAGS"
  1313             AC_CHECK_HEADER(directfb.h, have_directfb_hdr=yes, have_directfb_hdr=no)
  1314             CPPFLAGS="$save_CPPFLAGS"
  1315             video_directfb=$have_directfb_hdr
  1316         fi
  1317         AC_MSG_CHECKING(for DirectFB $DIRECTFB_REQUIRED_VERSION support)
  1318         AC_MSG_RESULT($video_directfb)
  1319 
  1320         if test x$video_directfb = xyes; then
  1321             AC_ARG_ENABLE(directfb-shared,
  1322 AC_HELP_STRING([--enable-directfb-shared], [dynamically load directfb support [[default=yes]]]),
  1323                               , enable_directfb_shared=yes)
  1324 
  1325             AC_DEFINE(SDL_VIDEO_DRIVER_DIRECTFB, 1, [ ])
  1326             AC_DEFINE(SDL_VIDEO_RENDER_DIRECTFB, 1, [ ])
  1327             SOURCES="$SOURCES $srcdir/src/video/directfb/*.c"
  1328             EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS"
  1329 
  1330             AC_MSG_CHECKING(for directfb dynamic loading support)
  1331             directfb_shared=no
  1332             directfb_lib=[`find_lib "libdirectfb.so.*" "$DIRECTFB_LIBS"`]
  1333             # | sed 's/.*\/\(.*\)/\1/; q'`]
  1334 AC_MSG_WARN("directfb $directfb_lib")
  1335             if test x$have_loadso != xyes && \
  1336                test x$enable_directfb_shared = xyes; then
  1337                 AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic directfb loading])
  1338             fi
  1339             if test x$have_loadso = xyes && \
  1340                test x$enable_directfb_shared = xyes && test x$directfb_lib != x; then
  1341                 directfb_shared=yes
  1342                 echo "-- $directfb_lib_spec -> $directfb_lib"
  1343                 AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC, "$directfb_lib", [ ])
  1344             else
  1345                 EXTRA_LDFLAGS="$EXTRA_LDFLAGS $DIRECTFB_LIBS"
  1346             fi
  1347             AC_MSG_RESULT($directfb_shared)
  1348             have_video=yes
  1349         fi
  1350     fi
  1351 }
  1352 
  1353 dnl Find FusionSound
  1354 CheckFusionSound()
  1355 {
  1356     AC_ARG_ENABLE(fusionsound,
  1357 AC_HELP_STRING([--enable-fusionsound], [use FusionSound audio driver [[default=no]]]),
  1358                   , enable_fusionsound=no)
  1359     if test x$enable_audio = xyes -a x$enable_fusionsound = xyes; then
  1360         fusionsound=no
  1361 
  1362         FUSIONSOUND_REQUIRED_VERSION=1.1.1
  1363 
  1364         AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
  1365         AC_MSG_CHECKING(for FusionSound $FUSIONSOUND_REQUIRED_VERSION support)
  1366         if test x$PKG_CONFIG != xno; then
  1367             if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $FUSIONSOUND_REQUIRED_VERSION fusionsound; then
  1368                 FUSIONSOUND_CFLAGS=`$PKG_CONFIG --cflags fusionsound`
  1369                 FUSIONSOUND_LIBS=`$PKG_CONFIG --libs fusionsound`
  1370                 fusionsound=yes
  1371             fi
  1372         fi
  1373         AC_MSG_RESULT($fusionsound)
  1374 
  1375         if test x$fusionsound = xyes; then
  1376             AC_DEFINE(SDL_AUDIO_DRIVER_FUSIONSOUND, 1, [ ])
  1377             SOURCES="$SOURCES $srcdir/src/audio/fusionsound/*.c"
  1378             EXTRA_CFLAGS="$EXTRA_CFLAGS $FUSIONSOUND_CFLAGS"
  1379             
  1380             AC_ARG_ENABLE(fusionsound-shared,
  1381 AC_HELP_STRING([--enable-fusionsound-shared], [dynamically load fusionsound audio support [[default=yes]]]),
  1382                           , enable_fusionsound_shared=yes)
  1383             fusionsound_shared=no
  1384             AC_MSG_CHECKING(for FusionSound dynamic loading support)
  1385             if test x$have_loadso != xyes && \
  1386                test x$enable_fusionsound_shared = xyes; then
  1387                 AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic fusionsound loading])
  1388             fi
  1389             if test x$have_loadso = xyes && \
  1390                test x$enable_fusionsound_shared = xyes; then
  1391                 AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC, "libfusionsound.so", [ ])
  1392                 fusionsound_shared=yes
  1393             else
  1394                 EXTRA_LDFLAGS="$EXTRA_LDFLAGS $FUSIONSOUND_LIBS"
  1395             fi
  1396             AC_MSG_RESULT($fusionsound_shared)
  1397             
  1398             have_audio=yes
  1399         fi
  1400     fi
  1401 }
  1402 
  1403 dnl rcg04172001 Set up the Null video driver.
  1404 CheckDummyVideo()
  1405 {
  1406     AC_ARG_ENABLE(video-dummy,
  1407 AC_HELP_STRING([--enable-video-dummy], [use dummy video driver [[default=yes]]]),
  1408                   , enable_video_dummy=yes)
  1409     if test x$enable_video_dummy = xyes; then
  1410         AC_DEFINE(SDL_VIDEO_DRIVER_DUMMY, 1, [ ])
  1411         SOURCES="$SOURCES $srcdir/src/video/dummy/*.c"
  1412         have_video=yes
  1413     fi
  1414 }
  1415 
  1416 dnl Check to see if OpenGL support is desired
  1417 AC_ARG_ENABLE(video-opengl,
  1418 AC_HELP_STRING([--enable-video-opengl], [include OpenGL support [[default=yes]]]),
  1419               , enable_video_opengl=yes)
  1420 
  1421 dnl Find OpenGL
  1422 CheckOpenGLX11()
  1423 {
  1424     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1425         AC_MSG_CHECKING(for OpenGL (GLX) support)
  1426         video_opengl=no
  1427         AC_TRY_COMPILE([
  1428          #include <GL/gl.h>
  1429          #include <GL/glx.h>
  1430         ],[
  1431         ],[
  1432         video_opengl=yes
  1433         ])
  1434         AC_MSG_RESULT($video_opengl)
  1435         if test x$video_opengl = xyes; then
  1436             AC_DEFINE(SDL_VIDEO_OPENGL, 1, [ ])
  1437             AC_DEFINE(SDL_VIDEO_OPENGL_GLX, 1, [ ])
  1438             AC_DEFINE(SDL_VIDEO_RENDER_OGL, 1, [ ])
  1439         fi
  1440     fi
  1441 }
  1442 
  1443 dnl Check for Windows OpenGL
  1444 CheckWINDOWSGL()
  1445 {
  1446     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1447         AC_DEFINE(SDL_VIDEO_OPENGL, 1, [ ])
  1448         AC_DEFINE(SDL_VIDEO_OPENGL_WGL, 1, [ ])
  1449         AC_DEFINE(SDL_VIDEO_RENDER_OGL, 1, [ ])
  1450     fi
  1451 }
  1452 
  1453 dnl Check for BeOS OpenGL
  1454 CheckBeGL()
  1455 {
  1456     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1457         AC_DEFINE(SDL_VIDEO_OPENGL, 1, [ ])
  1458         AC_DEFINE(SDL_VIDEO_OPENGL_BGL, 1, [ ])
  1459         AC_DEFINE(SDL_VIDEO_RENDER_OGL, 1, [ ])
  1460         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lGL"
  1461     fi
  1462 }
  1463 
  1464 dnl Check for MacOS OpenGL
  1465 CheckMacGL()
  1466 {
  1467     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
  1468         AC_DEFINE(SDL_VIDEO_OPENGL, 1, [ ])
  1469         AC_DEFINE(SDL_VIDEO_OPENGL_CGL, 1, [ ])
  1470         AC_DEFINE(SDL_VIDEO_RENDER_OGL, 1, [ ])
  1471         case "$host" in
  1472             *-*-darwin*)
  1473                 if test x$enable_video_cocoa = xyes; then
  1474                     EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,OpenGL"
  1475                 fi
  1476         esac
  1477     fi
  1478 }
  1479 
  1480 dnl See if we can use the new unified event interface in Linux 2.4
  1481 CheckInputEvents()
  1482 {
  1483     dnl Check for Linux 2.4 unified input event interface support
  1484     AC_ARG_ENABLE(input-events,
  1485 AC_HELP_STRING([--enable-input-events], [use Linux 2.4 unified input interface [[default=yes]]]),
  1486                   , enable_input_events=yes)
  1487     if test x$enable_input_events = xyes; then
  1488         AC_MSG_CHECKING(for Linux 2.4 unified input interface)
  1489         use_input_events=no
  1490         AC_TRY_COMPILE([
  1491           #include <linux/input.h>
  1492         ],[
  1493           #ifndef EVIOCGNAME
  1494           #error EVIOCGNAME() ioctl not available
  1495           #endif
  1496         ],[
  1497         use_input_events=yes
  1498         ])
  1499         AC_MSG_RESULT($use_input_events)
  1500         if test x$use_input_events = xyes; then
  1501             AC_DEFINE(SDL_INPUT_LINUXEV, 1, [ ])
  1502         fi
  1503     fi
  1504 }
  1505 
  1506 dnl See if we can use the Touchscreen input library
  1507 CheckTslib()
  1508 {
  1509     AC_ARG_ENABLE(input-tslib,
  1510 AC_HELP_STRING([--enable-input-tslib], [use the Touchscreen library for input [[default=yes]]]),
  1511                   , enable_input_tslib=yes)
  1512     if test x$enable_input_tslib = xyes; then
  1513         AC_MSG_CHECKING(for Touchscreen library support)
  1514         enable_input_tslib=no
  1515         AC_TRY_COMPILE([
  1516           #include "tslib.h"
  1517         ],[
  1518         ],[
  1519         enable_input_tslib=yes
  1520         ])
  1521         AC_MSG_RESULT($enable_input_tslib)
  1522         if test x$enable_input_tslib = xyes; then
  1523             AC_DEFINE(SDL_INPUT_TSLIB, 1, [ ])
  1524             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lts"
  1525         fi
  1526     fi
  1527 }
  1528 
  1529 dnl See what type of thread model to use on Linux and Solaris
  1530 CheckPTHREAD()
  1531 {
  1532     dnl Check for pthread support
  1533     AC_ARG_ENABLE(pthreads,
  1534 AC_HELP_STRING([--enable-pthreads], [use POSIX threads for multi-threading [[default=yes]]]),
  1535                   , enable_pthreads=yes)
  1536     dnl This is used on Linux for glibc binary compatibility (Doh!)
  1537     AC_ARG_ENABLE(pthread-sem,
  1538 AC_HELP_STRING([--enable-pthread-sem], [use pthread semaphores [[default=yes]]]),
  1539                   , enable_pthread_sem=yes)
  1540     case "$host" in
  1541         *-*-linux*|*-*-uclinux*)
  1542             pthread_cflags="-D_REENTRANT"
  1543             pthread_lib="-lpthread"
  1544             ;;
  1545         *-*-bsdi*)
  1546             pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1547             pthread_lib=""
  1548             ;;
  1549         *-*-darwin*)
  1550             pthread_cflags="-D_THREAD_SAFE"
  1551 # causes Carbon.p complaints?
  1552 #            pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1553             ;;
  1554         *-*-freebsd*|*-*-dragonfly*)
  1555             pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1556             pthread_lib="-pthread"
  1557             ;;
  1558         *-*-netbsd*)
  1559             pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
  1560             pthread_lib="-lpthread"
  1561             ;;
  1562         *-*-openbsd*)
  1563             pthread_cflags="-D_REENTRANT"
  1564             pthread_lib="-pthread"
  1565             ;;
  1566         *-*-solaris*)
  1567             pthread_cflags="-D_REENTRANT"
  1568             pthread_lib="-lpthread -lposix4"
  1569             ;;
  1570         *-*-sysv5*)
  1571             pthread_cflags="-D_REENTRANT -Kthread"
  1572             pthread_lib=""
  1573             ;;
  1574         *-*-aix*)
  1575             pthread_cflags="-D_REENTRANT -mthreads"
  1576             pthread_lib="-lpthread"
  1577             ;;
  1578         *-*-hpux11*)
  1579             pthread_cflags="-D_REENTRANT"
  1580             pthread_lib="-L/usr/lib -lpthread"
  1581             ;;
  1582         *)
  1583             pthread_cflags="-D_REENTRANT"
  1584             pthread_lib="-lpthread"
  1585             ;;
  1586     esac
  1587     if test x$enable_threads = xyes -a x$enable_pthreads = xyes; then
  1588         # Save the original compiler flags and libraries
  1589         ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
  1590         # Add the pthread compiler flags and libraries
  1591         CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
  1592         # Check to see if we have pthread support on this system
  1593         AC_MSG_CHECKING(for pthreads)
  1594         use_pthreads=no
  1595         AC_TRY_LINK([
  1596          #include <pthread.h>
  1597         ],[
  1598          pthread_attr_t type;
  1599          pthread_attr_init(&type);
  1600         ],[
  1601         use_pthreads=yes
  1602         ])
  1603         AC_MSG_RESULT($use_pthreads)
  1604         # Restore the compiler flags and libraries
  1605         CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
  1606 
  1607         # Do futher testing if we have pthread support...
  1608         if test x$use_pthreads = xyes; then
  1609             AC_DEFINE(SDL_THREAD_PTHREAD, 1, [ ])
  1610             EXTRA_CFLAGS="$EXTRA_CFLAGS $pthread_cflags"
  1611             EXTRA_LDFLAGS="$EXTRA_LDFLAGS $pthread_lib"
  1612             SDL_CFLAGS="$SDL_CFLAGS $pthread_cflags"
  1613             SDL_LIBS="$SDL_LIBS $pthread_lib"
  1614 
  1615             # Save the original compiler flags and libraries
  1616             ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
  1617             # Add the pthread compiler flags and libraries
  1618             CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
  1619 
  1620             # Check to see if recursive mutexes are available
  1621             AC_MSG_CHECKING(for recursive mutexes)
  1622             has_recursive_mutexes=no
  1623             if test x$has_recursive_mutexes = xno; then
  1624                 AC_TRY_COMPILE([
  1625                   #include <pthread.h>
  1626                 ],[
  1627                   pthread_mutexattr_t attr;
  1628                   pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
  1629                 ],[
  1630                 has_recursive_mutexes=yes
  1631                 AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX, 1, [ ])
  1632                 ])
  1633             fi
  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_setkind_np(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
  1640                 ],[
  1641                 has_recursive_mutexes=yes
  1642                 AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP, 1, [ ])
  1643                 ])
  1644             fi
  1645             AC_MSG_RESULT($has_recursive_mutexes)
  1646 
  1647             # Check to see if pthread semaphore support is missing
  1648             if test x$enable_pthread_sem = xyes; then
  1649                 AC_MSG_CHECKING(for pthread semaphores)
  1650                 have_pthread_sem=no
  1651                 AC_TRY_COMPILE([
  1652                   #include <pthread.h>
  1653                   #include <semaphore.h>
  1654                 ],[
  1655                 ],[
  1656                 have_pthread_sem=yes
  1657                 ])
  1658                 AC_MSG_RESULT($have_pthread_sem)
  1659             fi
  1660 
  1661             # Restore the compiler flags and libraries
  1662             CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
  1663 
  1664             # Basic thread creation functions
  1665             SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_systhread.c"
  1666 
  1667             # Semaphores
  1668             # We can fake these with mutexes and condition variables if necessary
  1669             if test x$have_pthread_sem = xyes; then
  1670                 SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syssem.c"
  1671             else
  1672                 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syssem.c"
  1673             fi
  1674 
  1675             # Mutexes
  1676             # We can fake these with semaphores if necessary
  1677             SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_sysmutex.c"
  1678 
  1679             # Condition variables
  1680             # We can fake these with semaphores and mutexes if necessary
  1681             SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syscond.c"
  1682 
  1683             have_threads=yes
  1684         fi
  1685     fi
  1686 }
  1687 
  1688 dnl Determine whether the compiler can produce Windows executables
  1689 CheckWINDOWS()
  1690 {
  1691     AC_MSG_CHECKING(Windows compiler)
  1692     have_win32_gcc=no
  1693     AC_TRY_COMPILE([
  1694      #include <windows.h>
  1695     ],[
  1696     ],[
  1697     have_win32_gcc=yes
  1698     ])
  1699     AC_MSG_RESULT($have_win32_gcc)
  1700     if test x$have_win32_gcc != xyes; then
  1701        AC_MSG_ERROR([
  1702 *** Your compiler ($CC) does not produce Windows executables!
  1703        ])
  1704     fi
  1705 
  1706     AC_MSG_CHECKING(Windows CE)
  1707     have_wince=no
  1708     AC_TRY_COMPILE([
  1709 #if !defined(_WIN32_WCE) && !defined(__MINGW32CE__)
  1710 #error This is not Windows CE
  1711 #endif
  1712     ],[
  1713     ],[
  1714     have_wince=yes
  1715     ])
  1716     AC_MSG_RESULT($have_wince)
  1717 }
  1718 
  1719 dnl Find the DirectX includes and libraries
  1720 CheckDIRECTX()
  1721 {
  1722     AC_ARG_ENABLE(directx,
  1723 AC_HELP_STRING([--enable-directx], [use DirectX for Windows audio/video [[default=yes]]]),
  1724                   , enable_directx=yes)
  1725     if test x$enable_directx = xyes; then
  1726         AC_CHECK_HEADER(d3d9.h, have_d3d=yes)
  1727         AC_CHECK_HEADER(ddraw.h, have_ddraw=yes)
  1728         AC_CHECK_HEADER(dsound.h, have_dsound=yes)
  1729         AC_CHECK_HEADER(dinput.h, have_dinput=yes)
  1730     fi
  1731 }
  1732 
  1733 dnl Check for the dlfcn.h interface for dynamically loading objects
  1734 CheckDLOPEN()
  1735 {
  1736     AC_ARG_ENABLE(sdl-dlopen,
  1737 AC_HELP_STRING([--enable-sdl-dlopen], [use dlopen for shared object loading [[default=yes]]]),
  1738                   , enable_sdl_dlopen=yes)
  1739     if test x$enable_sdl_dlopen = xyes; then
  1740         AC_MSG_CHECKING(for dlopen)
  1741         have_dlopen=no
  1742         AC_TRY_COMPILE([
  1743          #include <dlfcn.h>
  1744         ],[
  1745          #if defined(MAC_OS_X_VERSION_MIN_REQUIRED) && MAC_OS_X_VERSION_MIN_REQUIRED <= 1020
  1746          #error Use dlcompat for Mac OS X 10.2 compatibility
  1747          #endif
  1748         ],[
  1749         have_dlopen=yes
  1750         ])
  1751         AC_MSG_RESULT($have_dlopen)
  1752 
  1753         if test x$have_dlopen = xyes; then
  1754             AC_CHECK_LIB(c, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS",
  1755                AC_CHECK_LIB(dl, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ldl",
  1756                   AC_CHECK_LIB(ltdl, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lltdl")))
  1757             AC_DEFINE(SDL_LOADSO_DLOPEN, 1, [ ])
  1758             SOURCES="$SOURCES $srcdir/src/loadso/dlopen/*.c"
  1759             have_loadso=yes
  1760         fi
  1761     fi
  1762 }
  1763 
  1764 dnl Check for the usbhid(3) library on *BSD
  1765 CheckUSBHID()
  1766 {
  1767     if test x$enable_joystick = xyes; then
  1768         AC_CHECK_LIB(usbhid, hid_init, have_libusbhid=yes)
  1769         if test x$have_libusbhid = xyes; then
  1770             AC_CHECK_HEADER(usbhid.h, [USB_CFLAGS="-DHAVE_USBHID_H"])
  1771             AC_CHECK_HEADER(libusbhid.h, [USB_CFLAGS="-DHAVE_LIBUSBHID_H"])
  1772             USB_LIBS="$USB_LIBS -lusbhid"
  1773         else
  1774             AC_CHECK_HEADER(usb.h, [USB_CFLAGS="-DHAVE_USB_H"])
  1775             AC_CHECK_HEADER(libusb.h, [USB_CFLAGS="-DHAVE_LIBUSB_H"])
  1776             AC_CHECK_LIB(usb, hid_init, [USB_LIBS="$USB_LIBS -lusb"])
  1777         fi
  1778             
  1779         save_CFLAGS="$CFLAGS"
  1780         CFLAGS="$CFLAGS $USB_CFLAGS"
  1781 
  1782         AC_MSG_CHECKING(for usbhid)
  1783         have_usbhid=no
  1784         AC_TRY_COMPILE([
  1785           #include <sys/types.h>
  1786           #if defined(HAVE_USB_H)
  1787           #include <usb.h>
  1788           #endif
  1789           #ifdef __DragonFly__
  1790           # include <bus/usb/usb.h>
  1791           # include <bus/usb/usbhid.h>
  1792           #else
  1793           # include <dev/usb/usb.h>
  1794           # include <dev/usb/usbhid.h>
  1795           #endif
  1796           #if defined(HAVE_USBHID_H)
  1797           #include <usbhid.h>
  1798           #elif defined(HAVE_LIBUSB_H)
  1799           #include <libusb.h>
  1800           #elif defined(HAVE_LIBUSBHID_H)
  1801           #include <libusbhid.h>
  1802           #endif
  1803         ],[
  1804           struct report_desc *repdesc;
  1805           struct usb_ctl_report *repbuf;
  1806           hid_kind_t hidkind;
  1807         ],[
  1808         have_usbhid=yes
  1809         ])
  1810         AC_MSG_RESULT($have_usbhid)
  1811 
  1812         if test x$have_usbhid = xyes; then
  1813             AC_MSG_CHECKING(for ucr_data member of usb_ctl_report)
  1814             have_usbhid_ucr_data=no
  1815             AC_TRY_COMPILE([
  1816               #include <sys/types.h>
  1817               #if defined(HAVE_USB_H)
  1818               #include <usb.h>
  1819               #endif
  1820               #ifdef __DragonFly__
  1821               # include <bus/usb/usb.h>
  1822               # include <bus/usb/usbhid.h>
  1823               #else
  1824               # include <dev/usb/usb.h>
  1825               # include <dev/usb/usbhid.h>
  1826               #endif
  1827               #if defined(HAVE_USBHID_H)
  1828               #include <usbhid.h>
  1829               #elif defined(HAVE_LIBUSB_H)
  1830               #include <libusb.h>
  1831               #elif defined(HAVE_LIBUSBHID_H)
  1832               #include <libusbhid.h>
  1833               #endif
  1834             ],[
  1835               struct usb_ctl_report buf;
  1836               if (buf.ucr_data) { }
  1837             ],[
  1838             have_usbhid_ucr_data=yes
  1839             ])
  1840             if test x$have_usbhid_ucr_data = xyes; then
  1841                 USB_CFLAGS="$USB_CFLAGS -DUSBHID_UCR_DATA"
  1842             fi
  1843             AC_MSG_RESULT($have_usbhid_ucr_data)
  1844             
  1845             AC_MSG_CHECKING(for new usbhid API)
  1846             have_usbhid_new=no
  1847             AC_TRY_COMPILE([
  1848               #include <sys/types.h>
  1849               #if defined(HAVE_USB_H)
  1850               #include <usb.h>
  1851               #endif
  1852               #ifdef __DragonFly__
  1853               #include <bus/usb/usb.h>
  1854               #include <bus/usb/usbhid.h>
  1855               #else
  1856               #include <dev/usb/usb.h>
  1857               #include <dev/usb/usbhid.h>
  1858               #endif
  1859               #if defined(HAVE_USBHID_H)
  1860               #include <usbhid.h>
  1861               #elif defined(HAVE_LIBUSB_H)
  1862               #include <libusb.h>
  1863               #elif defined(HAVE_LIBUSBHID_H)
  1864               #include <libusbhid.h>
  1865               #endif
  1866             ],[
  1867               report_desc_t d;
  1868               hid_start_parse(d, 1, 1);
  1869             ],[
  1870             have_usbhid_new=yes
  1871             ])
  1872             if test x$have_usbhid_new = xyes; then
  1873                 USB_CFLAGS="$USB_CFLAGS -DUSBHID_NEW"
  1874             fi
  1875             AC_MSG_RESULT($have_usbhid_new)
  1876 
  1877             AC_MSG_CHECKING(for struct joystick in machine/joystick.h)
  1878             have_machine_joystick=no
  1879             AC_TRY_COMPILE([
  1880               #include <machine/joystick.h>
  1881             ],[
  1882               struct joystick t;
  1883             ],[
  1884             have_machine_joystick=yes
  1885             ])
  1886             if test x$have_machine_joystick = xyes; then
  1887                 AC_DEFINE(SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H, 1, [ ])
  1888             fi
  1889             AC_MSG_RESULT($have_machine_joystick)
  1890 
  1891             AC_DEFINE(SDL_JOYSTICK_USBHID, 1, [ ])
  1892             SOURCES="$SOURCES $srcdir/src/joystick/bsd/*.c"
  1893             EXTRA_CFLAGS="$EXTRA_CFLAGS $USB_CFLAGS"
  1894             EXTRA_LDFLAGS="$EXTRA_LDFLAGS $USB_LIBS"
  1895             have_joystick=yes
  1896         fi
  1897         CFLAGS="$save_CFLAGS"
  1898     fi
  1899 }
  1900 
  1901 dnl Check for clock_gettime()
  1902 CheckClockGettime()
  1903 {
  1904     AC_ARG_ENABLE(clock_gettime,
  1905 AC_HELP_STRING([--enable-clock_gettime], [use clock_gettime() instead of gettimeofday() on UNIX [[default=no]]]),
  1906                   , enable_clock_gettime=no)
  1907     if test x$enable_clock_gettime = xyes; then
  1908         AC_CHECK_LIB(rt, clock_gettime, have_clock_gettime=yes)
  1909         if test x$have_clock_gettime = xyes; then
  1910             AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [ ])
  1911             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lrt"
  1912         else
  1913             AC_CHECK_LIB(c, clock_gettime, have_clock_gettime=yes)
  1914             if test x$have_clock_gettime = xyes; then
  1915                AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [ ])
  1916                EXTRA_LDFLAGS="$EXTRA_LDFLAGS"
  1917             fi
  1918         fi
  1919     fi
  1920 }
  1921 
  1922 dnl Check for a valid linux/version.h
  1923 CheckLinuxVersion()
  1924 {
  1925     AC_CHECK_HEADER(linux/version.h, have_linux_version_h=yes)
  1926     if test x$have_linux_version_h = xyes; then
  1927         EXTRA_CFLAGS="$EXTRA_CFLAGS -DHAVE_LINUX_VERSION_H"
  1928     fi
  1929 }
  1930 
  1931 dnl Check if we want to use RPATH
  1932 CheckRPATH()
  1933 {
  1934     AC_ARG_ENABLE(rpath,
  1935 AC_HELP_STRING([--enable-rpath], [use an rpath when linking SDL [[default=yes]]]),
  1936                   , enable_rpath=yes)
  1937 }
  1938 
  1939 dnl Set up the configuration based on the host platform!
  1940 case "$host" in
  1941     *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-aix*|*-*-minix*)
  1942         case "$host" in
  1943             *-*-linux*)         ARCH=linux ;;
  1944             *-*-uclinux*)       ARCH=linux ;;
  1945             *-*-kfreebsd*-gnu)  ARCH=kfreebsd-gnu ;;
  1946             *-*-knetbsd*-gnu)   ARCH=knetbsd-gnu ;;
  1947             *-*-kopenbsd*-gnu)  ARCH=kopenbsd-gnu ;;
  1948             *-*-gnu*)           ARCH=gnu ;; # must be last of the gnu variants
  1949             *-*-bsdi*)          ARCH=bsdi ;;
  1950             *-*-freebsd*)       ARCH=freebsd ;;
  1951             *-*-dragonfly*)     ARCH=freebsd ;;
  1952             *-*-netbsd*)        ARCH=netbsd ;;
  1953             *-*-openbsd*)       ARCH=openbsd ;;
  1954             *-*-sysv5*)         ARCH=sysv5 ;;
  1955             *-*-solaris*)       ARCH=solaris ;;
  1956             *-*-hpux*)          ARCH=hpux ;;
  1957             *-*-aix*)           ARCH=aix ;;
  1958             *-*-minix*)         ARCH=minix ;;
  1959         esac
  1960         CheckVisibilityHidden
  1961         CheckDummyVideo
  1962         CheckDiskAudio
  1963         CheckDummyAudio
  1964         CheckDLOPEN
  1965         CheckOSS
  1966         CheckALSA
  1967         CheckPulseAudio
  1968         CheckARTSC
  1969         CheckESD
  1970         CheckNAS
  1971         CheckX11
  1972         CheckDirectFB
  1973         CheckFusionSound
  1974         CheckOpenGLX11
  1975         CheckInputEvents
  1976         CheckTslib
  1977         CheckUSBHID
  1978         CheckPTHREAD
  1979         CheckClockGettime
  1980         CheckLinuxVersion
  1981         CheckRPATH
  1982         # Set up files for the audio library
  1983         if test x$enable_audio = xyes; then
  1984           case $ARCH in
  1985             sysv5|solaris|hpux)
  1986                 AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO, 1, [ ])
  1987                 SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
  1988                 have_audio=yes
  1989             ;;
  1990             netbsd|openbsd)
  1991                 AC_DEFINE(SDL_AUDIO_DRIVER_BSD, 1, [ ])
  1992                 SOURCES="$SOURCES $srcdir/src/audio/bsd/*.c"
  1993                 have_audio=yes
  1994             ;;
  1995             aix)
  1996                 AC_DEFINE(SDL_AUDIO_DRIVER_PAUDIO, 1, [ ])
  1997                 SOURCES="$SOURCES $srcdir/src/audio/paudio/*.c"
  1998                 have_audio=yes
  1999             ;;
  2000           esac
  2001         fi
  2002         # Set up files for the joystick library
  2003         if test x$enable_joystick = xyes; then
  2004           case $ARCH in
  2005             linux)
  2006                 AC_DEFINE(SDL_JOYSTICK_LINUX, 1, [ ])
  2007                 SOURCES="$SOURCES $srcdir/src/joystick/linux/*.c"
  2008                 have_joystick=yes
  2009             ;;
  2010           esac
  2011         fi
  2012         # Set up files for the haptic library
  2013         if test x$enable_haptic = xyes; then
  2014            if test x$use_input_events = xyes; then
  2015              case $ARCH in
  2016                linux)
  2017                    AC_DEFINE(SDL_HAPTIC_LINUX, 1, [ ])
  2018                    SOURCES="$SOURCES $srcdir/src/haptic/linux/*.c"
  2019                    have_haptic=yes
  2020                ;;
  2021              esac
  2022            fi
  2023         fi
  2024         # Set up files for the power library
  2025         if test x$enable_power = xyes; then
  2026              case $ARCH in
  2027                linux)
  2028                    AC_DEFINE(SDL_POWER_LINUX, 1, [ ])
  2029                    SOURCES="$SOURCES $srcdir/src/power/linux/*.c"
  2030                    have_power=yes
  2031                ;;
  2032              esac
  2033         fi
  2034         # Set up files for the timer library
  2035         if test x$enable_timers = xyes; then
  2036             AC_DEFINE(SDL_TIMER_UNIX, 1, [ ])
  2037             SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  2038             have_timers=yes
  2039         fi
  2040         ;;
  2041     *-wince* | *-mingw32ce)
  2042         ARCH=win32
  2043         CheckDummyVideo
  2044         CheckDiskAudio
  2045         CheckDummyAudio
  2046         CheckWINDOWS
  2047         if test x$enable_video = xyes; then
  2048             AC_DEFINE(SDL_VIDEO_DRIVER_WINDOWS, 1, [ ])
  2049             SOURCES="$SOURCES $srcdir/src/video/windows/*.c"
  2050             have_video=yes
  2051             AC_ARG_ENABLE(render-d3d,
  2052 AC_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[default=yes]]]),
  2053                                 , enable_render_d3d=yes)
  2054             enable_render_d3d=no
  2055             if test x$enable_render_d3d = xyes -a x$have_d3d = xyes; then
  2056                 AC_DEFINE(SDL_VIDEO_RENDER_D3D, 1, [ ])
  2057             fi
  2058         fi
  2059         # Set up files for the audio library
  2060         if test x$enable_audio = xyes; then
  2061             AC_DEFINE(SDL_AUDIO_DRIVER_WINWAVEOUT, 1, [ ])
  2062             SOURCES="$SOURCES $srcdir/src/audio/windib/*.c"
  2063             if test x$have_dsound = xyes; then
  2064                 AC_DEFINE(SDL_AUDIO_DRIVER_DSOUND, 1, [ ])
  2065                 SOURCES="$SOURCES $srcdir/src/audio/windx5/*.c"
  2066             fi
  2067             have_audio=yes
  2068         fi
  2069         # Set up dummy files for the joystick for now
  2070         if test x$enable_joystick = xyes; then
  2071             AC_DEFINE(SDL_JOYSTICK_DUMMY, 1, [ ])
  2072             SOURCES="$SOURCES $srcdir/src/joystick/dummy/*.c"
  2073             have_joystick=yes
  2074         fi
  2075         # Set up files for the thread library
  2076         if test x$enable_threads = xyes; then
  2077             AC_DEFINE(SDL_THREAD_WINDOWS, 1, [ ])
  2078             SOURCES="$SOURCES $srcdir/src/thread/windows/SDL_sysmutex.c"
  2079             SOURCES="$SOURCES $srcdir/src/thread/windows/SDL_syssem.c"
  2080             SOURCES="$SOURCES $srcdir/src/thread/windows/SDL_systhread.c"
  2081             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
  2082             have_threads=yes
  2083         fi
  2084         # Set up files for the timer library
  2085         if test x$enable_timers = xyes; then
  2086             AC_DEFINE(SDL_TIMER_WINCE, 1, [ ])
  2087             SOURCES="$SOURCES $srcdir/src/timer/wince/*.c"
  2088             have_timers=yes
  2089         fi
  2090         # Set up files for the shared object loading library
  2091         if test x$enable_loadso = xyes; then
  2092             AC_DEFINE(SDL_LOADSO_WINDOWS, 1, [ ])
  2093             SOURCES="$SOURCES $srcdir/src/loadso/windows/*.c"
  2094             have_loadso=yes
  2095         fi
  2096         # Set up the system libraries we need
  2097         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lcoredll -lcommctrl -lmmtimer"
  2098 
  2099 	# mingw32ce library
  2100 	case "$host" in
  2101     	    *-mingw32ce)
  2102     		EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lmingwex"
  2103     		;;
  2104     	    *)
  2105         	;;
  2106 	esac
  2107 
  2108         # The Windows platform requires special setup
  2109         SDLMAIN_SOURCES="$srcdir/src/main/windows/*.c"
  2110         EXTRA_CFLAGS="$EXTRA_CFLAGS -Dmain=SDL_main -D_WIN32_WCE=0x420"
  2111         EXTRA_LDFLAGS="-lSDLmain $EXTRA_LDFLAGS"
  2112         ;;
  2113     *-*-cygwin* | *-*-mingw32*)
  2114         ARCH=win32
  2115         if test "$build" != "$host"; then # cross-compiling
  2116             # Default cross-compile location
  2117             ac_default_prefix=/usr/local/cross-tools/$host
  2118         else
  2119             # Look for the location of the tools and install there
  2120             if test "$BUILD_PREFIX" != ""; then
  2121                 ac_default_prefix=$BUILD_PREFIX
  2122             fi
  2123         fi
  2124         CheckDummyVideo
  2125         CheckDiskAudio
  2126         CheckDummyAudio
  2127         CheckWINDOWS
  2128         CheckWINDOWSGL
  2129         CheckDIRECTX
  2130 
  2131         # Set up the core platform files
  2132         SOURCES="$SOURCES $srcdir/src/core/windows/*.c"
  2133 
  2134         # Set up files for the video library
  2135         if test x$enable_video = xyes; then
  2136             AC_DEFINE(SDL_VIDEO_DRIVER_WINDOWS, 1, [ ])
  2137             SOURCES="$SOURCES $srcdir/src/video/windows/*.c"
  2138             have_video=yes
  2139             AC_ARG_ENABLE(render-d3d,
  2140 AC_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[default=yes]]]),
  2141                                 , enable_render_d3d=yes)
  2142             if test x$enable_render_d3d = xyes -a x$have_d3d = xyes; then
  2143                 AC_DEFINE(SDL_VIDEO_RENDER_D3D, 1, [ ])
  2144             fi
  2145         fi
  2146         # Set up files for the audio library
  2147         if test x$enable_audio = xyes; then
  2148             AC_DEFINE(SDL_AUDIO_DRIVER_WINWAVEOUT, 1, [ ])
  2149             SOURCES="$SOURCES $srcdir/src/audio/windib/*.c"
  2150             if test x$have_dsound = xyes; then
  2151                 AC_DEFINE(SDL_AUDIO_DRIVER_DSOUND, 1, [ ])
  2152                 SOURCES="$SOURCES $srcdir/src/audio/windx5/*.c"
  2153             fi
  2154             have_audio=yes
  2155         fi
  2156         # Set up files for the joystick library
  2157         if test x$enable_joystick = xyes; then
  2158             if test x$have_dinput = xyes; then
  2159                 AC_DEFINE(SDL_JOYSTICK_DINPUT, 1, [ ])
  2160                 SOURCES="$SOURCES $srcdir/src/joystick/windows/SDL_dxjoystick.c"
  2161                 EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ldinput8 -ldxguid -ldxerr8"
  2162             else
  2163                 AC_DEFINE(SDL_JOYSTICK_WINMM, 1, [ ])
  2164                 SOURCES="$SOURCES $srcdir/src/joystick/windows/SDL_mmjoystick.c"
  2165             fi
  2166             have_joystick=yes
  2167         fi
  2168         if test x$enable_haptic = xyes; then
  2169             if test x$have_dinput = xyes; then
  2170                 AC_DEFINE(SDL_HAPTIC_DINPUT, 1, [ ])
  2171                 SOURCES="$SOURCES $srcdir/src/haptic/windows/SDL_syshaptic.c"
  2172                 have_haptic=yes
  2173             fi
  2174         fi
  2175         if test x$enable_power = xyes; then
  2176             AC_DEFINE(SDL_POWER_WINDOWS, 1, [ ])
  2177             SOURCES="$SOURCES $srcdir/src/power/windows/SDL_syspower.c"
  2178             have_power=yes
  2179         fi
  2180         # Set up files for the thread library
  2181         if test x$enable_threads = xyes; then
  2182             AC_DEFINE(SDL_THREAD_WINDOWS, 1, [ ])
  2183             SOURCES="$SOURCES $srcdir/src/thread/windows/SDL_sysmutex.c"
  2184             SOURCES="$SOURCES $srcdir/src/thread/windows/SDL_syssem.c"
  2185             SOURCES="$SOURCES $srcdir/src/thread/windows/SDL_systhread.c"
  2186             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
  2187             have_threads=yes
  2188         fi
  2189         # Set up files for the timer library
  2190         if test x$enable_timers = xyes; then
  2191             AC_DEFINE(SDL_TIMER_WINDOWS, 1, [ ])
  2192             SOURCES="$SOURCES $srcdir/src/timer/windows/*.c"
  2193             have_timers=yes
  2194         fi
  2195         # Set up files for the shared object loading library
  2196         if test x$enable_loadso = xyes; then
  2197             AC_DEFINE(SDL_LOADSO_WINDOWS, 1, [ ])
  2198             SOURCES="$SOURCES $srcdir/src/loadso/windows/*.c"
  2199             have_loadso=yes
  2200         fi
  2201         # Set up the system libraries we need
  2202         # SDL 1.3 is unicode, and unicows emulates this on Windows 98/ME
  2203         # You can get this here: http://libunicows.sourceforge.net/
  2204         #EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lunicows"
  2205         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lversion -luuid"
  2206         # The Windows platform requires special setup
  2207         VERSION_SOURCES="$srcdir/src/main/windows/*.rc"
  2208         SDLMAIN_SOURCES="$srcdir/src/main/windows/*.c"
  2209         SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
  2210         SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows"
  2211         ;;
  2212     *-*-beos* | *-*-haiku*)
  2213         ARCH=beos
  2214         ac_default_prefix=/boot/develop/tools/gnupro
  2215         CheckDummyVideo
  2216         CheckDiskAudio
  2217         CheckDummyAudio
  2218         CheckBWINDOW
  2219         CheckBeGL
  2220         # Set up files for the audio library
  2221         if test x$enable_audio = xyes; then
  2222             AC_DEFINE(SDL_AUDIO_DRIVER_BEOSAUDIO, 1, [ ])
  2223             SOURCES="$SOURCES $srcdir/src/audio/baudio/*.cc"
  2224             have_audio=yes
  2225         fi
  2226         # Set up files for the joystick library
  2227         if test x$enable_joystick = xyes; then
  2228             AC_DEFINE(SDL_JOYSTICK_BEOS, 1, [ ])
  2229             SOURCES="$SOURCES $srcdir/src/joystick/beos/*.cc"
  2230             have_joystick=yes
  2231         fi
  2232         # Set up files for the thread library
  2233         if test x$enable_threads = xyes; then
  2234             AC_DEFINE(SDL_THREAD_BEOS, 1, [ ])
  2235             SOURCES="$SOURCES $srcdir/src/thread/beos/*.c"
  2236             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c"
  2237             SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
  2238             have_threads=yes
  2239         fi
  2240         # Set up files for the timer library
  2241         if test x$enable_timers = xyes; then
  2242             AC_DEFINE(SDL_TIMER_BEOS, 1, [ ])
  2243             SOURCES="$SOURCES $srcdir/src/timer/beos/*.c"
  2244             have_timers=yes
  2245         fi
  2246         # Set up files for the shared object loading library
  2247         if test x$enable_loadso = xyes; then
  2248             AC_DEFINE(SDL_LOADSO_BEOS, 1, [ ])
  2249             SOURCES="$SOURCES $srcdir/src/loadso/beos/*.c"
  2250             have_loadso=yes
  2251         fi
  2252         # Set up files for the system power library
  2253         if test x$enable_power = xyes; then
  2254             AC_DEFINE(SDL_POWER_BEOS, 1, [ ])
  2255             SOURCES="$SOURCES $srcdir/src/power/beos/*.c"
  2256             have_power=yes
  2257         fi
  2258         # The BeOS platform requires special setup.
  2259         SOURCES="$srcdir/src/main/beos/*.cc $SOURCES"
  2260         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding"
  2261         ;;
  2262     *-*-darwin* )
  2263         # This could be either full "Mac OS X", or plain "Darwin" which is
  2264         # just the OS X kernel sans upper layers like Carbon and Cocoa.
  2265         # Next line is broken, and a few files below require Mac OS X (full)
  2266         ARCH=macosx
  2267 
  2268         # Mac OS X builds with both the Carbon and OSX APIs at the moment
  2269         EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_CARBON"
  2270         EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_OSX"
  2271 
  2272         CheckVisibilityHidden
  2273         CheckDummyVideo
  2274         CheckDiskAudio
  2275         CheckDummyAudio
  2276         CheckDLOPEN
  2277 
  2278         # Set up files for the shared object loading library
  2279         # (this needs to be done before the dynamic X11 check)
  2280         if test x$enable_loadso = xyes -a x$have_dlopen != xyes; then
  2281             AC_DEFINE(SDL_LOADSO_DLCOMPAT, 1, [ ])
  2282             SOURCES="$SOURCES $srcdir/src/loadso/macosx/*.c"
  2283             have_loadso=yes
  2284         fi
  2285 
  2286         CheckCOCOA
  2287         CheckX11
  2288         CheckMacGL
  2289         CheckOpenGLX11
  2290         CheckPTHREAD
  2291 
  2292         # Good optimization on Mac OS X, yes...
  2293         EXTRA_CFLAGS="$EXTRA_CFLAGS -falign-loops=16"
  2294 
  2295         # Need this or things might misbuild on a G3.
  2296         EXTRA_CFLAGS="$EXTRA_CFLAGS -force_cpusubtype_ALL"
  2297 
  2298         # Set up files for the audio library
  2299         if test x$enable_audio = xyes; then
  2300             AC_DEFINE(SDL_AUDIO_DRIVER_COREAUDIO, 1, [ ])
  2301             SOURCES="$SOURCES $srcdir/src/audio/macosx/*.c"
  2302             have_audio=yes
  2303         fi
  2304         # Set up files for the joystick library
  2305         if test x$enable_joystick = xyes; then
  2306             AC_DEFINE(SDL_JOYSTICK_IOKIT, 1, [ ])
  2307             SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c"
  2308             have_joystick=yes
  2309         fi
  2310         # Set up files for the haptic library
  2311         if test x$enable_haptic = xyes; then
  2312             AC_DEFINE(SDL_HAPTIC_IOKIT, 1, [ ])
  2313             SOURCES="$SOURCES $srcdir/src/haptic/darwin/*.c"
  2314             have_haptic=yes
  2315             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,ForceFeedback"
  2316         fi
  2317         # Set up files for the power library
  2318         if test x$enable_power = xyes; then
  2319             AC_DEFINE(SDL_POWER_MACOSX, 1, [ ])
  2320             SOURCES="$SOURCES $srcdir/src/power/macosx/*.c"
  2321             have_power=yes
  2322         fi
  2323         # Set up files for the timer library
  2324         if test x$enable_timers = xyes; then
  2325             AC_DEFINE(SDL_TIMER_UNIX, 1, [ ])
  2326             SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
  2327             have_timers=yes
  2328         fi
  2329         # Set up additional files for the file library
  2330         if test x$enable_file = xyes; then
  2331             SOURCES="$SOURCES $srcdir/src/file/cocoa/*.m"
  2332         fi
  2333         # The Mac OS X platform requires special setup.
  2334         EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"
  2335         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lobjc"
  2336         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Cocoa"
  2337         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Carbon"
  2338         EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit"
  2339         # If audio is used, add the AudioUnit framework
  2340         if test x$enable_audio = xyes; then
  2341             EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit"
  2342         fi
  2343         ;;
  2344     *)
  2345         AC_MSG_ERROR([
  2346 *** Unsupported host:  Please add to configure.in
  2347         ])
  2348         ;;
  2349 esac
  2350 
  2351 # Verify that we have all the platform specific files we need
  2352 
  2353 if test x$have_joystick != xyes; then
  2354     if test x$enable_joystick = xyes; then
  2355         AC_DEFINE(SDL_JOYSTICK_DISABLED, 1, [ ])
  2356     fi
  2357     SOURCES="$SOURCES $srcdir/src/joystick/dummy/*.c"
  2358 fi
  2359 if test x$have_haptic != xyes; then
  2360     if test x$enable_haptic = xyes; then
  2361         AC_DEFINE(SDL_HAPTIC_DISABLED, 1, [ ])
  2362     fi
  2363     SOURCES="$SOURCES $srcdir/src/haptic/dummy/*.c"
  2364 fi
  2365 if test x$have_threads != xyes; then
  2366     if test x$enable_threads = xyes; then
  2367         AC_DEFINE(SDL_THREADS_DISABLED, 1, [ ])
  2368     fi
  2369     SOURCES="$SOURCES $srcdir/src/thread/generic/*.c"
  2370 fi
  2371 if test x$have_timers != xyes; then
  2372     if test x$enable_timers = xyes; then
  2373         AC_DEFINE(SDL_TIMERS_DISABLED, 1, [ ])
  2374     fi
  2375     SOURCES="$SOURCES $srcdir/src/timer/dummy/*.c"
  2376 fi
  2377 if test x$have_loadso != xyes; then
  2378     if test x$enable_loadso = xyes; then
  2379         AC_DEFINE(SDL_LOADSO_DISABLED, 1, [ ])
  2380     fi
  2381     SOURCES="$SOURCES $srcdir/src/loadso/dummy/*.c"
  2382 fi
  2383 if test x$SDLMAIN_SOURCES = x; then
  2384     SDLMAIN_SOURCES="$srcdir/src/main/dummy/*.c"
  2385 fi
  2386 
  2387 OBJECTS=`echo $SOURCES`
  2388 DEPENDS=`echo $SOURCES | tr ' ' '\n'`
  2389 for EXT in asm cc m c S; do
  2390     OBJECTS=`echo "$OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.'$EXT',$(objects)/\1.lo,g'`
  2391     DEPENDS=`echo "$DEPENDS" | sed "s,^\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.$EXT\\$,\\\\
  2392 \\$(objects)/\\2.lo: \\1/\\2.$EXT\\\\
  2393 	\\$(LIBTOOL) --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
  2394 done
  2395 
  2396 VERSION_OBJECTS=`echo $VERSION_SOURCES`
  2397 VERSION_DEPENDS=`echo $VERSION_SOURCES`
  2398 VERSION_OBJECTS=`echo "$VERSION_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.rc,$(objects)/\1.o,g'`
  2399 VERSION_DEPENDS=`echo "$VERSION_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.rc,\\\\
  2400 \\$(objects)/\\2.o: \\1/\\2.rc\\\\
  2401 	\\$(WINDRES) \\$< \\$@,g"`
  2402 
  2403 SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES`
  2404 SDLMAIN_DEPENDS=`echo $SDLMAIN_SOURCES`
  2405 SDLMAIN_OBJECTS=`echo "$SDLMAIN_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'`
  2406 SDLMAIN_DEPENDS=`echo "$SDLMAIN_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.c,\\\\
  2407 \\$(objects)/\\2.o: \\1/\\2.c\\\\
  2408 	\\$(LIBTOOL) --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
  2409 
  2410 # Set runtime shared library paths as needed
  2411 
  2412 if test "x$enable_rpath" = "xyes"; then
  2413   if test $ARCH = bsdi -o $ARCH = freebsd -o $ARCH = linux -o $ARCH = netbsd; then
  2414     SDL_RLD_FLAGS="-Wl,-rpath,\${libdir}"
  2415   fi
  2416   if test $ARCH = solaris; then
  2417     SDL_RLD_FLAGS="-R\${libdir}"
  2418   fi
  2419 else
  2420   SDL_RLD_FLAGS=""
  2421 fi
  2422 
  2423 case "$ARCH" in
  2424   macosx)
  2425     # Evil hack to allow static linking on Mac OS X
  2426     SDL_STATIC_LIBS="\${libdir}/libSDL.a $EXTRA_LDFLAGS"
  2427     ;;
  2428   *)
  2429     SDL_STATIC_LIBS="$SDL_LIBS $EXTRA_LDFLAGS"
  2430     ;;
  2431 esac
  2432 
  2433 dnl Expand the cflags and libraries needed by apps using SDL
  2434 AC_SUBST(SDL_CFLAGS)
  2435 AC_SUBST(SDL_LIBS)
  2436 AC_SUBST(SDL_STATIC_LIBS)
  2437 AC_SUBST(SDL_RLD_FLAGS)
  2438 if test x$enable_shared = xyes; then
  2439     ENABLE_SHARED_TRUE=
  2440     ENABLE_SHARED_FALSE="#"
  2441 else
  2442     ENABLE_SHARED_TRUE="#"
  2443     ENABLE_SHARED_FALSE=
  2444 fi
  2445 if test x$enable_static = xyes; then
  2446     ENABLE_STATIC_TRUE=
  2447     ENABLE_STATIC_FALSE="#"
  2448 else
  2449     ENABLE_STATIC_TRUE="#"
  2450     ENABLE_STATIC_FALSE=
  2451 fi
  2452 AC_SUBST(ENABLE_SHARED_TRUE)
  2453 AC_SUBST(ENABLE_SHARED_FALSE)
  2454 AC_SUBST(ENABLE_STATIC_TRUE)
  2455 AC_SUBST(ENABLE_STATIC_FALSE)
  2456 
  2457 dnl Expand the sources and objects needed to build the library
  2458 AC_SUBST(ac_aux_dir)
  2459 AC_SUBST(INCLUDE)
  2460 AC_SUBST(OBJECTS)
  2461 AC_SUBST(VERSION_OBJECTS)
  2462 AC_SUBST(SDLMAIN_OBJECTS)
  2463 AC_SUBST(BUILD_CFLAGS)
  2464 AC_SUBST(EXTRA_CFLAGS)
  2465 AC_SUBST(BUILD_LDFLAGS)
  2466 AC_SUBST(EXTRA_LDFLAGS)
  2467 AC_SUBST(WINDRES)
  2468 
  2469 cat >Makefile.rules <<__EOF__
  2470 
  2471 # Build rules for objects
  2472 -include \$(OBJECTS:.lo=.d)
  2473 
  2474 # Special dependency for SDL.c, since it depends on SDL_revision.h
  2475 $srcdir/src/SDL.c: update-revision
  2476 $DEPENDS
  2477 $VERSION_DEPENDS
  2478 $SDLMAIN_DEPENDS
  2479 __EOF__
  2480 
  2481 AC_CONFIG_FILES([
  2482     Makefile:Makefile.in:Makefile.rules sdl-config SDL.spec sdl.pc
  2483 ])
  2484 AC_OUTPUT