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