configure.in
author Sam Lantinga <slouken@libsdl.org>
Sun, 07 Jun 2009 02:44:46 +0000
changeset 3168 6338b7f2d024
parent 3113 df2bb5735822
child 3170 b7a48f533966
permissions -rw-r--r--
Hi,

I have prepared a set of patches to readd WindowsCE support to SDL 1.3.
I've created a new GAPI/Rawframebuffer and a DirectDraw renderer.
Both renderers are work in progress and there are several unimplemented
cases. (Notably
RenderLine/RenderPoint/RenderFill/QueryTexturePixels/UpdateTexture and
texture blending )
Nevertheless I am successfully using these renderers together with the
SDL software renderer. (On most devices the SDL software renderer will
be much faster as there are only badly optimized vendor drivers available)

I send these patches now in this unpolished state because there seems to
be some interest in win ce and someone has to start supporting SDL 1.3

Now on to the patches:
wince_events_window_fixes.patch
fixes some wince incompatibilities and adds fullscreen support via
SHFullScreen. NOTE: This patch shouldn't have any side effects on
Windows, but I have NOT tested it on Windows, so please double-check.
This patch doesn't dependent on the following ones.

wince_renderers_system.patch
This patch does all necessary modifications to the SDL system.
- it adds the renderers to the configure system
- it adds the renderers to win32video

SDL_ceddrawrender.c
SDL_ceddrawrender.h
SDL_gapirender_c.h
SDL_gapirender.c
SDL_gapirender.h
these files add the new render drivers and should be placed in
src/video/win32

Some notes to people who want to test this:
- I have only compiled sdl with ming32ce, so the VisualC files are not
up to date
- As mingw32ce has no ddraw.h this file must be taken from the MS SDK
and modified to work with gcc
- I had to modify line 2611 in configure.in to
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lcoredll -lcommctrl -lmmtimer
-Wl,--image-base -Wl,0x10000"
otherwise GetCPinfo wouldn't link. If someone knows whats causing this
I'd be happy to hear about it.

It would be great if these patches could make their way into SVN as this
would make collaboration much much easier.

I'm out of office for the next week and therefore will be unavailable
via email.

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