configure.in
author Ryan C. Gordon <icculus@icculus.org>
Thu, 13 Oct 2011 16:35:25 -0400
changeset 5989 cd688ba5b7d4
parent 5975 516c5c4e7bea
child 6086 45d22791e77c
permissions -rw-r--r--
Don't warn about multichar characters on BeOS/Haiku.

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