configure.in
author Sam Lantinga <slouken@libsdl.org>
Tue, 03 Mar 2009 04:21:51 +0000
changeset 3083 0bc41e0361d3
parent 3082 1c85c44557de
child 3085 4800979de337
permissions -rw-r--r--
Date: Mon, 2 Mar 2009 16:27:42 +0200
From: "Mike Gorchak"
Subject: About QNX support in SDL 1.3

Right now I'm working on QNX SDL 1.3 drivers implementation and looks like a
lot of code must be completely reworked. But I'm ready for it :) Also I want
to add QNX Graphics Framework SDL driver, which is fullscreen graphics
framework, with support of hardware accelerated OpenGL ES implementations.
This Graphics Framework (called GF in QNX) could also use QNX Photon (window
manager GUI) as window manager.

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