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